@charset "UTF-8";
/*! destyle.css v1.0.15 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model */
/* ============================================ */
* {
  box-sizing: border-box;
}

::before,
::after {
  box-sizing: inherit;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

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

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

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 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;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 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;
}

/* Embedded content */
/* ============================================ */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
  vertical-align: bottom;
}

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

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

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 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] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

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

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

/**
 * 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 {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

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

/**
 * 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 outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * 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;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

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

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

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

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

/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */
/* ==========================================================================
   Remodal's default mobile first theme
   ========================================================================== */
/* Default theme styles for the background */
.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  filter: blur(3px);
}

/* Default theme styles of the overlay */
.remodal-overlay {
  background: rgba(43, 46, 56, 0.9);
}

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}

.remodal-overlay.remodal-is-opening {
  animation-name: remodal-overlay-opening-keyframes;
}

.remodal-overlay.remodal-is-closing {
  animation-name: remodal-overlay-closing-keyframes;
}

/* Default theme styles of the wrapper */
.remodal-wrapper {
  padding: 10px 10px 0;
}

/* Default theme styles of the modal dialog */
.remodal {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 10px;
  padding: 35px;
  transform: translate3d(0, 0, 0);
  color: #2b2e38;
  background: #fff;
}

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}

.remodal.remodal-is-opening {
  animation-name: remodal-opening-keyframes;
}

.remodal.remodal-is-closing {
  animation-name: remodal-closing-keyframes;
}

/* Vertical align of the modal dialog */
.remodal,
.remodal-wrapper:after {
  vertical-align: middle;
}

/* Close button */
.remodal-close {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  overflow: visible;
  width: 35px;
  height: 35px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  transition: color 0.2s;
  text-decoration: none;
  color: #95979c;
  border: 0;
  outline: 0;
  background: transparent;
}

.remodal-close:hover,
.remodal-close:focus {
  color: #2b2e38;
}

.remodal-close:before {
  font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
  font-size: 25px;
  line-height: 35px;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 35px;
  content: "×";
  text-align: center;
}

/* Dialog buttons */
.remodal-confirm,
.remodal-cancel {
  font: inherit;
  display: inline-block;
  overflow: visible;
  min-width: 110px;
  margin: 0;
  padding: 12px 0;
  cursor: pointer;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border: 0;
  outline: 0;
}

.remodal-confirm {
  color: #fff;
  background: #81c784;
}

.remodal-confirm:hover,
.remodal-confirm:focus {
  background: #66bb6a;
}

.remodal-cancel {
  color: #fff;
  background: #e57373;
}

.remodal-cancel:hover,
.remodal-cancel:focus {
  background: #ef5350;
}

/* Remove inner padding and border in Firefox 4+ for the button tag. */
.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/* Keyframes
   ========================================================================== */
@keyframes remodal-opening-keyframes {
  from {
    transform: scale(1.05);
    opacity: 0;
  }
  to {
    transform: none;
    opacity: 1;
    filter: blur(0);
  }
}
@keyframes remodal-closing-keyframes {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(0.95);
    opacity: 0;
    filter: blur(0);
  }
}
@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/* Media queries
   ========================================================================== */
@media only screen and (min-width: 641px) {
  .remodal {
    max-width: 700px;
  }
}
/* IE8
   ========================================================================== */
.lt-ie9 .remodal-overlay {
  background: #2b2e38;
}

.lt-ie9 .remodal {
  width: 700px;
}

a {
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s;
}
a:hover {
  color: #888;
}

html {
  scroll-behavior: smooth;
  overscroll-behavior: auto;
}

li {
  list-style-type: none;
}

/*Google Chrome、Safariへの対応*/
.contents_box::-webkit-scrollbar {
  display: none;
}

.sp__flame {
  position: fixed;
  top: 0px;
  left: auto;
  right: 15%;
  z-index: 2;
  width: 500px;
  margin: 0px auto 0px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  box-shadow: 2px 2px 10px rgba(91, 91, 91, 0.5215686275);
  border-bottom: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  height: 100%;
  background: #fff;
  /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
}
@media (max-width: 900px) {
  .sp__flame {
    left: 0%;
    right: 0%;
  }
}
@media (max-width: 501px) {
  .sp__flame {
    top: 0;
    left: 0;
    right: 0;
    width: 100vw;
    border-radius: 0;
    border: 0;
    padding-bottom: 0;
  }
}

#chamo-window .chamo-chatlog-wrapper {
  overscroll-behavior: auto;
}

main .container {
  max-width: 430px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 501px) {
  main .container {
    max-width: 86vw;
  }
}

.fixed {
  position: fixed;
  width: 100%;
  padding-bottom: 16px;
  background-color: #fff7f3;
  top: 0;
  z-index: 999;
}
@media (max-width: 1200px) {
  .fixed {
    padding-bottom: 1.3333333333vw;
  }
}

body {
  width: 100%;
  height: 100vh;
  background-position: top center;
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  font-weight: 400;
  background-size: cover;
  overflow-y: scroll;
  letter-spacing: 0 !important;
}

.main__bg {
  width: 100%;
  min-width: 100vw;
  height: 100vh;
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: #fff;
}
@media (max-width: 501px) {
  .main__bg {
    display: none;
  }
}
.main__bg-subscription {
  width: 60%;
}
@media (max-width: 1500px) {
  .main__bg-subscription {
    width: 50%;
  }
}
@media (max-width: 1150px) {
  .main__bg-subscription {
    width: 40%;
  }
}
@media (max-width: 900px) {
  .main__bg-subscription {
    display: none;
  }
}
.main__bg-subscription div {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
  max-width: 400px;
  height: 100vh;
  margin: 0 auto;
}
@media (max-width: 1150px) {
  .main__bg-subscription div {
    margin-left: 6.9565217391vw;
    align-items: flex-start;
  }
}
.main__bg-subscription img {
  width: 280px;
}
@media (max-width: 1500px) {
  .main__bg-subscription img {
    width: 18.6666666667vw;
  }
}
@media (max-width: 1150px) {
  .main__bg-subscription img {
    margin-left: 2.9565217391vw;
    width: 15.652173913vw;
  }
}
.main__bg-subscription a {
  width: 350px;
}
@media (max-width: 1500px) {
  .main__bg-subscription a {
    width: 23.3333333333vw;
  }
}
@media (max-width: 1150px) {
  .main__bg-subscription a {
    width: 20.8695652174vw;
    margin-left: 0;
  }
}
.main__bg-subscription a img {
  width: 350px;
}
@media (max-width: 1500px) {
  .main__bg-subscription a img {
    width: 23.3333333333vw;
  }
}
@media (max-width: 1150px) {
  .main__bg-subscription a img {
    width: 20.8695652174vw;
    margin-left: 0;
  }
}
.main__bg-slide {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  gap: 22px;
  align-items: center;
  width: 470px;
  height: 2500px;
  position: absolute;
  right: 0%;
  top: 0px;
  bottom: 0;
  transform: rotate(45deg);
  margin: auto;
  z-index: -2;
  pointer-events: none;
}
.main__bg-slide .inner {
  height: 2230px;
  overflow: hidden;
  width: 42%;
}
@media (max-width: 501px) {
  .main__bg-slide {
    transform: rotate(45deg);
  }
}
.main__bg .swiper-container1,
.main__bg .swiper-container2 {
  height: 100%;
  opacity: 0.3;
}
.main__bg .swiper-container1 .swiper-wrapper,
.main__bg .swiper-container2 .swiper-wrapper {
  transition-timing-function: linear;
  height: auto !important;
}

img {
  max-width: 100%;
}

.section-title {
  text-align: center;
}
.section-title h2 {
  font-size: 70px;
  font-weight: bolder;
  font-family: "Lilita One", sans-serif;
  color: #F7F7F7;
  letter-spacing: 0.05em;
}
@media (max-width: 501px) {
  .section-title h2 {
    font-size: 15vw;
  }
}
.section-title h3 {
  margin-bottom: 30px;
  margin-top: -26px;
  font-size: 28px;
  color: #5983f3;
  font-weight: bolder;
}
@media (max-width: 501px) {
  .section-title h3 {
    margin-bottom: 8vw;
    margin-top: -5.2vw;
    font-size: 6vw;
  }
}

.block {
  display: block !important;
}

.none {
  display: none !important;
}

.pc {
  display: block !important;
}
@media (max-width: 501px) {
  .pc {
    display: none !important;
  }
}

.tab {
  display: none !important;
}
@media (max-width: 501px) {
  .tab {
    display: block !important;
  }
}

@media (max-width: 501px) {
  .pc-words {
    display: none !important;
  }
}

.sp-words {
  display: none !important;
}
@media (max-width: 501px) {
  .sp-words {
    display: block !important;
  }
}

.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

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

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.flex-around {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
}

/* ボタンで表示・非表示JSで値操作 */
[data-display=hide] {
  display: none;
}

[data-display=show] {
  display: block;
}

.fadeUp {
  opacity: 0;
  transform: translateY(40px);
}

.fadeUp.show-fadeUp {
  animation: fadeUp 1.3s ease-in-out forwards;
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeIn1 {
  opacity: 0;
}

.fadeIn1.show-fadeIn1 {
  animation: fadeIn 0.4s ease-in-out forwards;
}

.fadeIn2 {
  opacity: 0;
}

.fadeIn2.show-fadeIn2 {
  animation: fadeIn 1.1s 0.6s ease-in-out forwards;
}

.fadeIn3 {
  opacity: 0;
}

.fadeIn3.show-fadeIn3 {
  animation: fadeIn 1.1s 1.1s ease-in-out forwards;
}

.fadeIn4 {
  opacity: 0;
}

.fadeIn4.show-fadeIn4 {
  animation: fadeIn 1.1s 1.7s ease-in-out forwards;
}

.fadeIn5 {
  opacity: 0;
}

.fadeIn5.show-fadeIn5 {
  animation: fadeIn 0.8s ease forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.bound1 {
  opacity: 0;
}

.bound1.show-bound1 {
  animation: bound 1s 0.3s linear forwards;
}

.bound2 {
  opacity: 0;
}

.bound2.show-bound2 {
  animation: bound 2s 1s linear forwards;
}

.bound3 {
  opacity: 0;
}

.bound3.show-bound3 {
  animation: bound 2s 1.6s linear forwards;
}

@keyframes bound {
  0% {
    transform: translate(0%, -48%);
    opacity: 0;
  }
  30% {
    transform: translate(0%, 0%) scale(0.95);
  }
  40% {
    transform: translate(0%, -12%);
    opacity: 1;
  }
  55% {
    transform: translate(0%, 0%) scale(0.95);
  }
  60% {
    transform: translate(0%, -6%);
  }
  70% {
    transform: translate(0%, 0%) scale(0.95);
  }
  75% {
    transform: translate(0%, -2.4%);
  }
  100% {
    transform: translate(0%, 0%);
    opacity: 1;
  }
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
@keyframes scrollAnime {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
/* 拡大 */
.zoomIn {
  opacity: 0;
}

.show-zoomIn {
  opacity: 1;
  animation-name: zoomInAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
  from {
    transform: scale(0.6);
  }
  to {
    transform: scale(1);
  }
}
/* 拡大 */
.zoomIn1 {
  opacity: 0;
}

.show-zoomIn1 {
  opacity: 1;
  animation-name: zoomInAnime1;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes zoomInAnime1 {
  from {
    transform: scale(0.6);
  }
  to {
    transform: scale(1);
  }
}
.other .header .logo {
  display: none;
}

main {
  position: relative;
}
main .fixed_bottom {
  display: none;
  z-index: 999;
  margin-left: 360px;
  width: 130px;
  height: 130px;
  position: fixed;
  bottom: 10px;
}
@media (max-width: 900px) {
  main .fixed_bottom {
    display: inline-block;
  }
}
@media (max-width: 501px) {
  main .fixed_bottom {
    margin-left: 72vw;
    width: 26vw;
    height: 26vw;
  }
}
main .fixed_bottom img {
  width: 130px;
  height: 130px;
}
@media (max-width: 501px) {
  main .fixed_bottom img {
    width: 26vw;
    height: 26vw;
  }
}
main .rotate {
  animation: 14s linear infinite rotation1;
}
@keyframes rotation1 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}

.hidden {
  display: none;
}

.header {
  position: relative;
  width: 500px;
  box-sizing: border-box;
  /*アクティブになったエリア*/
  /*========= ボタンのためのCSS ===============*/
  /*×に変化*/
}
@media (max-width: 501px) {
  .header {
    width: 100vw;
  }
}
.header .logo {
  position: absolute;
  width: 140px;
  top: 20px;
  left: 30px;
}
@media (max-width: 501px) {
  .header .logo {
    width: 140px;
    top: 4vw;
    left: 6vw;
  }
}
@media (max-width: 440px) {
  .header .logo {
    width: 31.8181818182vw;
  }
}
.header .menu-logo {
  position: absolute;
  display: none;
  width: 140px;
  top: 20px;
  left: 30px;
}
@media (max-width: 501px) {
  .header .menu-logo {
    width: 140px;
    top: 4vw;
    left: 6vw;
  }
}
@media (max-width: 440px) {
  .header .menu-logo {
    width: 31.8181818182vw;
  }
}
.header .menu-logo.active {
  z-index: 999;
  display: none;
  display: inline-block;
}
.header .openbtn1 {
  position: fixed;
  margin-left: 430px;
  z-index: 9999; /*ボタンを最前面に*/
  cursor: pointer;
  width: 70px;
  height: 60px;
  background: #FF7F63;
  border-top-right-radius: 12px;
  border-bottom-left-radius: 12px;
}
@media (max-width: 501px) {
  .header .openbtn1 {
    display: block;
    transition: transform 0.3s ease-out;
    margin-left: 0;
    border-top-right-radius: 0;
    right: 0;
  }
}
@media (max-width: 440px) {
  .header .openbtn1 {
    width: 15.9090909091vw;
    height: 13.6363636364vw;
  }
}
.header .openbtn1 span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 16px;
  height: 3px;
  border-radius: 2px;
  background-color: #fff;
  width: 56%;
}
@media (max-width: 440px) {
  .header .openbtn1 span {
    left: 3.6363636364vw;
    height: 0.6818181818vw;
    border-radius: 0.4vw;
  }
}
.header .openbtn1 span:nth-of-type(1) {
  top: 15px;
}
@media (max-width: 440px) {
  .header .openbtn1 span:nth-of-type(1) {
    top: 3.4090909091vw;
  }
}
.header .openbtn1 span:nth-of-type(2) {
  top: 27px;
}
@media (max-width: 440px) {
  .header .openbtn1 span:nth-of-type(2) {
    top: 6.1363636364vw;
  }
}
.header .openbtn1 span:nth-of-type(3) {
  top: 39px;
}
@media (max-width: 440px) {
  .header .openbtn1 span:nth-of-type(3) {
    top: 8.8636363636vw;
  }
}
.header .openbtn1.active span:nth-of-type(1) {
  top: 23px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 50%;
}
@media (max-width: 440px) {
  .header .openbtn1.active span:nth-of-type(1) {
    top: 5.2272727273vw;
    left: 4.0909090909vw;
  }
}
.header .openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}
.header .openbtn1.active span:nth-of-type(3) {
  top: 36px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 50%;
}
@media (max-width: 440px) {
  .header .openbtn1.active span:nth-of-type(3) {
    top: 8.1818181818vw;
    left: 4.0909090909vw;
  }
}

#g-nav {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 0;
  /*ナビのスタート位置と形状*/
  top: 0;
  right: auto;
  margin-left: 70px;
  width: 430px;
  height: 100vh; /*ナビの高さ*/
  background: transparent;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  /*動き*/
  transition: all 0.6s;
}
@media (max-width: 900px) {
  #g-nav {
    right: auto;
    margin-left: 70px;
  }
}
@media (max-width: 501px) {
  #g-nav {
    width: 86vw;
    border-radius: 0;
  }
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
  z-index: 999;
  right: auto;
  width: 500px;
  margin-left: 0px;
  background: #000C2F;
}
@media (max-width: 900px) {
  #g-nav.panelactive {
    right: auto;
    margin-left: 0;
  }
}
@media (max-width: 501px) {
  #g-nav.panelactive {
    width: 100vw;
  }
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 500px;
  height: 100vh; /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 501px) {
  #g-nav.panelactive #g-nav-list {
    width: 100vw;
  }
}

/*ナビゲーション*/
#g-nav ul {
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  z-index: 97;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 501px) {
  #g-nav ul {
    top: 360px;
  }
}
@media (max-width: 440px) {
  #g-nav ul {
    top: 74vw;
  }
}

/*リストのレイアウト設定*/
#g-nav li {
  list-style: none;
}

#g-nav li a {
  display: none;
  color: transparent;
  text-decoration: none;
  font-size: 25px;
  padding: 24px 30px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
}
@media (max-width: 501px) {
  #g-nav li a {
    padding: 24px 0 24px 30px;
    font-size: 22px;
  }
}
@media (max-width: 440px) {
  #g-nav li a {
    padding: 4.8vw 0 4.8vw 6vw;
    font-size: 4.4vw;
  }
}

#g-nav li .active {
  display: block;
  color: #fff !important;
}

.main__top {
  position: relative;
  height: 800px;
  z-index: 1;
}
@media (max-width: 1500px) {
  .main__top {
    height: 860px;
    max-height: 100vh;
  }
}
@media (max-width: 501px) {
  .main__top {
    height: 700px;
  }
}
.main__top-catch {
  position: absolute;
  color: #000C2F;
  top: 120px;
  left: 30px;
  font-size: 46px;
  letter-spacing: 0.05em;
  font-weight: bold;
  line-height: 1.6;
}
@media (max-width: 501px) {
  .main__top-catch {
    top: 100px;
    font-size: 46px;
    left: 30px;
  }
}
@media (max-width: 440px) {
  .main__top-catch {
    top: 100px;
    font-size: 43px;
  }
}
@media (max-width: 350px) {
  .main__top-catch {
    font-size: 40px;
  }
}
.main__top .main__bg-slide {
  z-index: 5;
  top: 440px;
}
@media (max-width: 501px) {
  .main__top .main__bg-slide {
    top: 360px;
    left: 0;
    justify-content: center;
    gap: 12px;
  }
}
.main__top .inner {
  height: 2230px;
  overflow: hidden;
  width: 42%;
}
@media (max-width: 501px) {
  .main__top .inner {
    height: 1840px;
    width: 31%;
  }
}
.main__top .swiper-container-sp1,
.main__top .swiper-container-sp2 {
  height: 100%;
}
.main__top .swiper-container-sp1 .swiper-wrapper,
.main__top .swiper-container-sp2 .swiper-wrapper {
  transition-timing-function: linear;
  height: auto !important;
}
.main__about {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #E2EAFF;
}
@media (max-width: 501px) {
  .main__about {
    width: 100vw;
  }
}
.main__about .section-title {
  padding-top: 40px;
}
@media (max-width: 501px) {
  .main__about .section-title {
    padding-top: 8vw;
  }
}
.main__about-text {
  margin-left: 25px;
  padding-bottom: 10px;
  color: #4270ED;
  text-align: center;
  line-height: 2;
  font-weight: bold;
  font-size: 17px;
}
@media (max-width: 501px) {
  .main__about-text {
    margin-left: 1.2vw;
    padding-bottom: 4vw;
    font-size: 3.6vw;
  }
}
.main__about-img {
  padding-bottom: 10px;
}
@media (max-width: 501px) {
  .main__about-img {
    padding-bottom: 2vw;
  }
}
.main__charm {
  position: sticky;
  z-index: 2;
  background: #fff;
  margin-top: -30px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  padding-top: 30px;
  padding-bottom: 1px;
}
@media (max-width: 501px) {
  .main__charm {
    margin-top: -6vw;
    padding-top: 6vw;
    padding-bottom: 0.2vw;
  }
}
.main__charm .section-title {
  padding-top: 40px;
}
@media (max-width: 501px) {
  .main__charm .section-title {
    padding-top: 8vw;
  }
}
.main__charm .section-title h2 {
  color: #FFE8E0;
}
.main__charm .section-title h3 {
  color: #FA6E50;
  margin-bottom: 80px;
}
@media (max-width: 501px) {
  .main__charm .section-title h3 {
    margin-bottom: 16vw;
  }
}
.main__charm-point {
  position: relative;
  margin: 66px auto;
  padding-top: 44px;
  padding-bottom: 34px;
  width: 440px;
  background: #FA6E50;
  border-radius: 20px;
  font-weight: bold;
  line-height: 1.6;
}
@media (max-width: 501px) {
  .main__charm-point {
    margin: 12vw auto;
    padding-top: 8.8vw;
    padding-bottom: 6.8vw;
    width: 88vw;
    border-radius: 4vw;
  }
}
.main__charm-point-ttl {
  position: absolute;
  top: -26px;
  right: 0;
  left: 0;
  margin: 0px auto 0px;
  padding: 6px;
  width: 300px;
  border-radius: 100px;
  border: 1.5px solid #FA6E50;
  background: #fff;
  color: #FA6E50;
  text-align: center;
  font-weight: bold;
  font-size: 24px;
}
@media (max-width: 501px) {
  .main__charm-point-ttl {
    top: -5.2vw;
    width: 64vw;
    border-radius: 20vw;
    font-size: 5.2vw;
  }
}
.main__charm-point-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: #fff;
}
@media (max-width: 501px) {
  .main__charm-point-content {
    gap: 3.6vw;
  }
}
.main__charm-point-content img {
  width: 80px;
}
@media (max-width: 501px) {
  .main__charm-point-content img {
    width: 16vw;
  }
}
.main__charm-point-content p {
  font-size: 16px;
  width: 300px;
}
@media (max-width: 501px) {
  .main__charm-point-content p {
    font-size: 3.6vw;
    width: 60vw;
  }
}
.main__support {
  position: relative;
  z-index: 2;
  background: #FFF8BD;
}
.main__support .space {
  height: 20px;
}
.main__support .section-title {
  padding-top: 50px;
}
.main__support .section-title h2 {
  color: #FAF1A6;
}
.main__support .section-title h3 {
  color: #FA6E50;
}
.main__support-flex {
  display: flex;
  align-items: flex-start;
  gap: 17px;
  margin: 40px 28px 46px;
}
@media (max-width: 501px) {
  .main__support-flex {
    gap: 3.4vw;
    margin: 8vw 5.6vw 9.2vw;
  }
}
.main__support-flex img {
  width: 200px;
}
@media (max-width: 501px) {
  .main__support-flex img {
    width: 40vw;
  }
}
.main__support-flex-txt h4 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  border: 2px solid #FF7F63;
  color: #FF7F63;
  background: #fff;
  border-radius: 20px;
  font-weight: 900;
  padding: 7px 2px;
  font-size: 18px;
}
@media (max-width: 501px) {
  .main__support-flex-txt h4 {
    margin-bottom: 2vw;
    border: 0.4vw solid #FF7F63;
    border-radius: 4vw;
    padding: 1.4vw 0.4vw;
    font-size: 3.4vw;
  }
}
.main__support-flex-txt p {
  color: #3B4B7B;
  font-size: 15px;
  line-height: 1.4;
}
@media (max-width: 501px) {
  .main__support-flex-txt p {
    font-size: 3vw;
  }
}
.main__support-interview {
  padding-bottom: 50px;
}
@media (max-width: 501px) {
  .main__support-interview {
    padding-bottom: 10vw;
  }
}
.main__support-interview h4 {
  margin-top: 60px;
  margin-bottom: 40px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  color: #3B4B7B;
}
@media (max-width: 501px) {
  .main__support-interview h4 {
    margin-top: 12vw;
    margin-bottom: 8vw;
    font-size: 4.8vw;
  }
}
.main__support-interview-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
@media (max-width: 501px) {
  .main__support-interview-link {
    gap: 2vw;
  }
}
.main__support-interview-link img {
  width: 220px;
  border-radius: 4px;
}
@media (max-width: 501px) {
  .main__support-interview-link img {
    width: 44vw;
    border-radius: 0.8vw;
  }
}
.main__data {
  position: relative;
  z-index: 2;
  background: #fff;
}
.main__data .section-title {
  padding-top: 50px;
}
.main__data .section-title h2 {
  color: #D9FBF6;
}
.main__data .section-title h3 {
  color: #06C755;
}
.main__data-img {
  padding-bottom: 50px;
  width: 450px;
  margin: 50px auto 0px;
}
@media (max-width: 501px) {
  .main__data-img {
    padding-bottom: 10vw;
    width: 90vw;
    margin: 10vw auto 0;
  }
}
.main__data-img-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 10px;
}
@media (max-width: 501px) {
  .main__data-img-flex {
    gap: 4vw;
    margin-bottom: 2vw;
  }
}
.main__data-img-flex div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
@media (max-width: 501px) {
  .main__data-img-flex div {
    gap: 2vw;
  }
}
.main__voice {
  position: relative;
  z-index: 2;
  background: #fff;
}
.main__voice .section-title {
  padding-top: 10px;
}
@media (max-width: 501px) {
  .main__voice .section-title {
    margin-bottom: 7.2vw;
    padding-top: 2vw;
  }
}
.main__voice .section-title h2 {
  color: #EEE9F9;
}
.main__voice .section-title h3 {
  color: #8556E3;
  margin-bottom: 10px;
}
@media (max-width: 501px) {
  .main__voice .section-title h3 {
    margin-bottom: 2vw;
  }
}
.main__voice-interview {
  position: relative;
  z-index: 2;
  align-items: center;
  gap: 30px;
  overflow-x: scroll;
  position: relative;
  padding-bottom: 50px;
}
@media (max-width: 501px) {
  .main__voice-interview {
    gap: 6vw;
    padding-bottom: 10vw;
  }
}
.main__voice-interview .swiper-wrapper {
  padding-top: 50px;
  transition-timing-function: linear;
}
@media (max-width: 501px) {
  .main__voice-interview .swiper-wrapper {
    padding-top: 10vw;
  }
}
.main__voice-interview-list {
  position: relative;
  display: flex !important;
  align-items: center;
  background: #F7F7F7;
  min-width: 310px;
  padding: 40px 16px 16px 20px;
  color: #3B4B7B;
  line-height: 1.5;
  font-weight: 500;
  min-height: 130px;
  border-radius: 16px;
}
@media (max-width: 501px) {
  .main__voice-interview-list {
    min-width: 74vw;
    padding: 8.8vw 2.4vw 3.4vw 6vw;
    min-height: 29.6vw;
    font-size: 3.4vw;
    border-radius: 3.2vw;
  }
}
.main__voice-interview-list .img {
  position: absolute;
  top: -36px;
  left: 10px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #4270ED;
  border: 2px solid #4270ED;
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 501px) {
  .main__voice-interview-list .img {
    top: -7.2vw;
    width: 14vw;
    height: 14vw;
  }
}
.main__voice-interview-list .img .int {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.main__voice-interview-list .name {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 240px;
  top: -18px;
  left: 96px;
  background: #FAF1A6;
  color: #4270ED;
  padding: 3px 14px 5px 26px;
  border-radius: 15px;
  font-weight: bold;
  font-size: 16px;
  background: url(../img/hukidasi_bg.png) no-repeat;
  background-size: contain;
}
@media (max-width: 501px) {
  .main__voice-interview-list .name {
    width: 48vw;
    font-size: 3.4vw;
    top: -3.6vw;
    left: 22vw;
    padding: 1.2vw 2.8vw 1.4vw 5.8vw;
    border-radius: 3vw;
  }
}
.main__voice-interview .space {
  min-width: 1px;
}
.main__profile {
  position: relative;
  z-index: 2;
  background: #D7E1FF;
}
.main__profile .section-title {
  margin-bottom: 50px;
}
@media (max-width: 501px) {
  .main__profile .section-title {
    margin-bottom: 10vw;
  }
}
.main__profile .section-title h2 {
  padding-top: 40px;
  color: #F0F4FF;
}
@media (max-width: 501px) {
  .main__profile .section-title h2 {
    padding-top: 8vw;
  }
}
.main__profile .section-title h3 {
  color: #4270ED;
  padding-bottom: 10px;
}
@media (max-width: 501px) {
  .main__profile .section-title h3 {
    padding-bottom: 2vw;
  }
}
.main__profile .container {
  overflow: hidden;
}
.main__profile .space {
  height: 30px;
}
@media (max-width: 501px) {
  .main__profile .space {
    height: 6vw;
  }
}
.main__profile-slide {
  position: relative;
  /* --------------------------------- */
  /* ここから矢印のデザインを変更するCSS */
  /* --------------------------------- */
  /* 矢印画像の高さと幅 */
  /* 矢印を消して画像に変更する */
  /* 前に戻る矢印の画像パス */
  /* 次に進む矢印の画像パス */
}
.main__profile-slide .container {
  position: relative;
  max-width: 450px;
}
@media (max-width: 501px) {
  .main__profile-slide .container {
    max-width: 90vw;
  }
}
.main__profile-slide .swiper1 {
  padding-top: 14px;
  padding-bottom: 134px;
}
@media (max-width: 501px) {
  .main__profile-slide .swiper1 {
    padding-top: 2.8vw;
    padding-bottom: 27.2vw;
  }
}
.main__profile-slide .swiper1 .swiper-wrapper {
  margin-left: 30px;
}
@media (max-width: 501px) {
  .main__profile-slide .swiper1 .swiper-wrapper {
    margin-left: 6vw;
  }
}
.main__profile-slide .swiper1 .swiper-wrapper .swiper-slide {
  position: relative;
  border-radius: 10px;
  width: 232px;
}
@media (max-width: 501px) {
  .main__profile-slide .swiper1 .swiper-wrapper .swiper-slide {
    border-radius: 2vw;
    width: 46.4vw;
  }
}
.main__profile-slide .swiper1 .swiper-wrapper .swiper-slide img {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  width: 232px;
}
@media (max-width: 501px) {
  .main__profile-slide .swiper1 .swiper-wrapper .swiper-slide img {
    border-top-left-radius: 2vw;
    border-top-right-radius: 2vw;
    width: 46.4vw;
  }
}
.main__profile-slide .swiper1 .swiper-wrapper .swiper-slide a {
  bottom: -29px;
  right: 0px;
  font-size: 15px;
  position: absolute;
  color: #fff;
  background: #000C2F;
  width: 100%;
  padding: 10px 18px 12px 20px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  text-align: right;
}
@media (max-width: 501px) {
  .main__profile-slide .swiper1 .swiper-wrapper .swiper-slide a {
    width: 46.4vw;
    bottom: -5.8vw !important;
    font-size: 3vw;
    bottom: 2.6vw;
    right: 0vw;
    width: 100%;
    padding: 2vw 3.6vw 2.4vw 4vw;
    border-bottom-left-radius: 3.2vw;
    border-bottom-right-radius: 3.2vw;
  }
}
.main__profile-slide .swiper1 .swiper-wrapper .swiper-slide a:hover {
  color: #c0d0ff;
}
.main__profile-slide .swiper1 .swiper-wrapper .swiper-slide a span {
  margin-left: 5px;
  font-size: 15px;
}
@media (max-width: 501px) {
  .main__profile-slide .swiper1 .swiper-wrapper .swiper-slide a span {
    font-size: 3vw;
    margin-left: 1vw;
  }
}
.main__profile-slide .swiper-button-prev,
.main__profile-slide .swiper-button-next {
  position: absolute;
  top: auto;
  bottom: 0px;
  height: 70px;
  width: 70px;
}
@media (max-width: 501px) {
  .main__profile-slide .swiper-button-prev,
  .main__profile-slide .swiper-button-next {
    height: 14vw;
    width: 14vw;
  }
}
.main__profile-slide .swiper-button-prev {
  left: 12px;
}
@media (max-width: 501px) {
  .main__profile-slide .swiper-button-prev {
    left: 2.4vw;
  }
}
.main__profile-slide .swiper-button-next {
  right: 12px;
}
@media (max-width: 501px) {
  .main__profile-slide .swiper-button-next {
    right: 2.4vw;
  }
}
.main__profile-slide .swiper-button-prev::after,
.main__profile-slide .swiper-button-next::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  height: 70px;
  width: 70px;
  margin: auto;
}
@media (max-width: 501px) {
  .main__profile-slide .swiper-button-prev::after,
  .main__profile-slide .swiper-button-next::after {
    height: 14vw;
    width: 14vw;
  }
}
.main__profile-slide .swiper-button-prev::after {
  background-image: url(../img/prev1.png);
}
.main__profile-slide .swiper-button-next::after {
  background-image: url(../img/next1.png);
}
.main__profile-slide .swiper-pagination {
  bottom: 28px !important;
}
@media (max-width: 501px) {
  .main__profile-slide .swiper-pagination {
    bottom: 5.6vw !important;
  }
}
.main__profile-slide .swiper-pagination-bullet {
  /*ドットのサイズを変更*/
  width: 15px;
  height: 15px;
  /*ドットの間隔を変更*/
  margin: 0 6px !important;
  /*ドットの色を変更*/
  background-color: #fff;
  opacity: 1 !important;
}
@media (max-width: 501px) {
  .main__profile-slide .swiper-pagination-bullet {
    width: 3vw;
    height: 3vw;
    margin: 0 1.2vw !important;
  }
}
.main__profile-slide .swiper-pagination-bullet-active {
  background: #000;
}
.main__news {
  position: relative;
  z-index: 2;
  background: #fff;
}
.main__news .section-title {
  padding-top: 60px;
  margin-bottom: 50px;
}
@media (max-width: 501px) {
  .main__news .section-title {
    padding-top: 12vw;
    margin-bottom: 10vw;
  }
}
.main__news .section-title h2 {
  color: #FFE8E0;
}
.main__news .section-title h3 {
  color: #FF7F63;
}
.main__news .newslist {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #FFE8E0;
  margin-bottom: 14px;
  padding-bottom: 14px;
  font-size: 18px;
}
@media (max-width: 1200px) {
  .main__news .newslist {
    gap: 2vw;
    margin-bottom: 2.8vw;
    padding-bottom: 2.8vw;
  }
}
.main__news .newslist .limit {
  max-width: 325px; /* 最大幅を指定 */
  white-space: nowrap; /* 1行で表示 */
  overflow: hidden; /* 溢れた部分を隠す */
  text-overflow: ellipsis;
  height: 24px;
}
@media (max-width: 768px) {
  .main__news .newslist .limit {
    max-width: 42.3177083333vw;
    height: 3.125vw;
  }
}
@media (max-width: 501px) {
  .main__news .newslist .limit {
    max-width: 68vw;
    height: 4.8vw;
  }
}
.main__news .newslist .date {
  color: #838383;
  font-weight: bold;
}
.main__news .newslist::after {
  content: "";
  width: 12px;
  height: 12px;
  border-top: solid 2px #FF7F63;
  border-right: solid 2px #FF7F63;
  position: absolute;
  right: 0px;
  top: 4px;
  transform: rotate(45deg);
}
@media (max-width: 501px) {
  .main__news .newslist {
    margin-bottom: 2.8vw;
    padding-bottom: 2.8vw;
    font-size: 3.8vw;
  }
}
.main__news .newslist div {
  display: flex;
  align-items: center;
  gap: 10px;
}
.main__news .newslist div .date {
  color: #CCCCCC;
  font-weight: bold;
}
.main__news .newslist div .ttl {
  color: #3B4B7B;
}
.main__news .event__link {
  margin-top: 20px;
  position: relative;
  text-align: right;
  padding-right: 30px;
  margin-right: 0px;
  padding-bottom: 5px;
  color: #3B4B7B;
}
.main__news .event__link :before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 2px #3B4B7B;
  border-right: solid 2px #3B4B7B;
  position: absolute;
  right: 0px;
  top: 4px;
  transform: rotate(45deg);
}
@media (max-width: 501px) {
  .main__news .event__link {
    margin-top: 6vw;
    padding-right: 6vw;
  }
}
.main__news .space {
  height: 10px;
}
@media (max-width: 501px) {
  .main__news .space {
    height: 2vw;
  }
}
.main__event {
  position: relative;
  z-index: 2;
  background: #fff;
  padding-top: 50px;
}
@media (max-width: 501px) {
  .main__event {
    padding-top: 10vw;
  }
}
.main__event .section-title h2 {
  color: #D9FBF6;
}
.main__event .section-title h3 {
  color: #20D6BE;
}
.main__event .event_list {
  position: relative;
  /* --------------------------------- */
  /* ここから矢印のデザインを変更するCSS */
  /* --------------------------------- */
  /* 矢印画像の高さと幅 */
  /* 矢印を消して画像に変更する */
  /* 前に戻る矢印の画像パス */
  /* 次に進む矢印の画像パス */
}
.main__event .event_list .container {
  position: relative;
  max-width: 450px;
}
@media (max-width: 501px) {
  .main__event .event_list .container {
    max-width: 90vw;
  }
}
.main__event .event_list .swiper2 {
  position: relative;
  overflow: hidden;
  padding-top: 26px;
  padding-bottom: 100px;
}
@media (max-width: 501px) {
  .main__event .event_list .swiper2 {
    padding-top: 6vw;
    padding-bottom: 20vw;
  }
}
.main__event .event_list .swiper2 .swiper-wrapper {
  width: 480px;
  margin-left: auto;
  margin-right: 0;
}
@media (max-width: 501px) {
  .main__event .event_list .swiper2 .swiper-wrapper {
    width: 94vw;
  }
}
.main__event .event_list .swiper-slide {
  border: 2px solid #20D6BE;
  overflow: hidden;
  border-radius: 18px;
  font-weight: bold;
  color: #3B4B7B;
  box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.088);
  height: 305px;
}
.main__event .event_list .swiper-slide img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 346px;
  height: 192px;
}
@media (max-width: 501px) {
  .main__event .event_list .swiper-slide img {
    width: 69.2vw;
    height: 38.4vw;
  }
}
@media (max-width: 501px) {
  .main__event .event_list .swiper-slide {
    height: 61vw;
    border: 0.4vw solid #20D6BE;
    border-radius: 3vw;
    box-shadow: 0.6vw 0.6vw 1.2vw 0 rgba(0, 0, 0, 0.088);
  }
}
.main__event .event_list .swiper-slide .event_content {
  padding: 16px 22px 20px;
}
@media (max-width: 501px) {
  .main__event .event_list .swiper-slide .event_content {
    font-size: 3.4vw;
    padding: 3.2vw 4.4vw 4vw;
  }
}
.main__event .event_list .swiper-slide .event_content .date {
  color: #CCCCCC;
  margin-bottom: 6px;
  font-size: 15px;
}
@media (max-width: 501px) {
  .main__event .event_list .swiper-slide .event_content .date {
    font-size: 3vw;
    margin-bottom: 1.2vw;
  }
}
.main__event .event_list .swiper-slide .event_ttl {
  display: flex;
  align-items: center;
  padding: 4px 0 8px;
  font-size: 19px;
  line-height: 1.5;
}
@media (max-width: 501px) {
  .main__event .event_list .swiper-slide .event_ttl {
    padding: 0.8vw 0 2vw;
    font-size: 3.8vw;
  }
}
.main__event .event_list .swiper-slide .event_txt {
  line-height: 1.6;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 任意の行数を指定 */
}
.main__event .event_list .event__link {
  margin-top: 20px;
  position: relative;
  text-align: right;
  padding-right: 30px;
  margin-right: 30px;
  padding-bottom: 5px;
  color: #3B4B7B;
}
.main__event .event_list .event__link :before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 2px #3B4B7B;
  border-right: solid 2px #3B4B7B;
  position: absolute;
  right: 10px;
  top: 4px;
  transform: rotate(45deg);
}
@media (max-width: 501px) {
  .main__event .event_list .event__link {
    margin-top: 6vw;
    padding-right: 6vw;
    margin-right: 6vw;
  }
}
.main__event .event_list .swiper-button-prev2,
.main__event .event_list .swiper-button-next2 {
  position: absolute;
  top: auto;
  bottom: 0px;
  height: 70px;
  width: 70px;
}
@media (max-width: 501px) {
  .main__event .event_list .swiper-button-prev2,
  .main__event .event_list .swiper-button-next2 {
    height: 14vw;
    width: 14vw;
  }
}
.main__event .event_list .swiper-button-prev2 {
  left: 12px;
}
@media (max-width: 501px) {
  .main__event .event_list .swiper-button-prev2 {
    left: 2.4vw;
  }
}
.main__event .event_list .swiper-button-next2 {
  right: 12px;
}
@media (max-width: 501px) {
  .main__event .event_list .swiper-button-next2 {
    right: 2.4vw;
  }
}
.main__event .event_list .swiper-button-prev2::after,
.main__event .event_list .swiper-button-next2::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  height: 70px;
  width: 70px;
  margin: auto;
  display: inline-block;
}
@media (max-width: 501px) {
  .main__event .event_list .swiper-button-prev2::after,
  .main__event .event_list .swiper-button-next2::after {
    height: 14vw;
    width: 14vw;
  }
}
.main__event .event_list .swiper-button-prev2::after {
  background-image: url(../img/prev.png);
}
.main__event .event_list .swiper-button-next2::after {
  background-image: url(../img/next.png);
}
.main__event .event_list .swiper-pagination2 {
  bottom: 28px !important;
  position: absolute;
  text-align: center;
}
@media (max-width: 501px) {
  .main__event .event_list .swiper-pagination2 {
    bottom: 5.6vw !important;
  }
}
.main__event .event_list .swiper-pagination-bullet {
  /*ドットのサイズを変更*/
  width: 15px;
  height: 15px;
  /*ドットの間隔を変更*/
  margin: 0 6px !important;
  /*ドットの色を変更*/
  background-color: #DEE7FF;
  opacity: 1 !important;
}
@media (max-width: 501px) {
  .main__event .event_list .swiper-pagination-bullet {
    width: 3vw;
    height: 3vw;
    margin: 0 1.2vw !important;
  }
}
.main__event .event_list .swiper-pagination-bullet-active {
  background: #000;
}
.main__faq {
  position: relative;
  z-index: 2;
  background: #fff;
  margin-top: -2px;
}
.main__faq .section-title {
  padding-top: 50px;
}
@media (max-width: 501px) {
  .main__faq .section-title {
    padding-top: 10vw;
  }
}
.main__faq .section-title h2 {
  color: #EEE9F9;
}
.main__faq .section-title h3 {
  color: #8556E3;
}
.main__faq-list {
  padding-bottom: 60px;
}
@media (max-width: 501px) {
  .main__faq-list {
    padding-bottom: 12vw;
  }
}
.main__faq-list .faq-item {
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 12px;
}
@media (max-width: 501px) {
  .main__faq-list .faq-item {
    margin-top: 1.2vw;
    border-radius: 2.4vw;
  }
}
.main__faq-list .faq-question__wrap {
  position: relative;
  padding: 12px 5px 12px 55px;
  cursor: pointer;
  color: #3B4B7B;
  border: 2px solid #4270ED;
  border-radius: 12px;
  box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.163);
}
@media (max-width: 501px) {
  .main__faq-list .faq-question__wrap {
    padding: 2.4vw 1vw 2.4vw 11vw;
    border: 0.4vw solid #4270ED;
    border-radius: 2.4vw;
    box-shadow: 0.4vw 0.4vw 1.2vw 0 rgba(0, 0, 0, 0.163);
  }
}
.main__faq-list .faq-question__wrap.active {
  border-radius: 0px;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  box-shadow: none;
}
@media (max-width: 501px) {
  .main__faq-list .faq-question__wrap.active {
    box-shadow: none;
    border-radius: 0;
    border-top-left-radius: 2.4vw;
    border-top-right-radius: 2.4vw;
  }
}
.main__faq-list .icon {
  position: absolute;
  background: #4270ED;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 501px) {
  .main__faq-list .icon {
    width: 5.2vw;
    height: 5.2vw;
    right: 4px;
  }
}
.main__faq-list .icon-active {
  background: #FF7F63 !important;
}
.main__faq-list .minus-icon {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  width: 17px;
  height: 2px;
  background: #fff;
  display: inline-block;
}
@media (max-width: 501px) {
  .main__faq-list .minus-icon {
    width: 3.4vw;
    height: 0.4vw;
  }
}
.main__faq-list .plus-icon {
  position: absolute;
  top: 3px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  display: inline-block;
  width: 17px;
  height: 2px;
  background: #fff;
  transform: translateY(-50%) rotate(90deg);
  transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
}
@media (max-width: 501px) {
  .main__faq-list .plus-icon {
    top: 0.6vw;
    width: 3.4vw;
    height: 0.4vw;
  }
}
.main__faq-list .plus-icon.active {
  transform: translateY(-50%);
}
.main__faq-list .faq-question__title {
  font-weight: bold;
  color: #3B4B7B;
  font-size: 17px;
  position: relative;
}
@media (max-width: 501px) {
  .main__faq-list .faq-question__title {
    font-size: 3.4vw;
  }
}
.main__faq-list .faq-question__title::before {
  position: absolute;
  color: #4270ED;
  content: "Q";
  font-size: 22px;
  top: 50%;
  left: -35px;
  transform: translateY(-50%);
}
@media (max-width: 501px) {
  .main__faq-list .faq-question__title::before {
    font-size: 4.4vw;
    left: -7vw;
  }
}
.main__faq-list .faq-answer__wrap {
  opacity: 0;
  padding: 12px 12px 16px 55px;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  transition: ease all 0.4s; /* 擬似要素のトランジションを追加 */
  border-left: 2px solid #FF7F63;
  border-right: 2px solid #FF7F63;
  border-bottom: 2px solid #FF7F63;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  height: 0px;
}
@media (max-width: 501px) {
  .main__faq-list .faq-answer__wrap {
    padding: 2.4vw 2.4vw 3.2vw 11vw;
    border-left: 0.4vw solid #FF7F63;
    border-right: 0.4vw solid #FF7F63;
    border-bottom: 0.4vw solid #FF7F63;
    border-bottom-left-radius: 2.4vw;
    border-bottom-right-radius: 2.4vw;
  }
}
.main__faq-list .faq-answer__wrap.active {
  opacity: 1;
  padding: 12px 12px 16px 55px;
  height: auto;
  box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.163);
}
@media (max-width: 501px) {
  .main__faq-list .faq-answer__wrap.active {
    margin-bottom: 4vw;
    padding: 2.4vw 2.4vw 3.2vw 11vw;
    box-shadow: 0.4vw 0.4vw 1.2vw 0 rgba(0, 0, 0, 0.163);
  }
}
.main__faq-list .faq-answer__wrap.active .faq-answer__title {
  position: relative;
  font-weight: bold;
  color: #FF7F63;
  font-size: 17px;
  line-height: 1.5;
}
@media (max-width: 501px) {
  .main__faq-list .faq-answer__wrap.active .faq-answer__title {
    font-size: 3.4vw;
  }
}
.main__faq-list .faq-answer__wrap.active .faq-answer__title::before {
  position: absolute;
  color: #F34E2B;
  content: "A";
  font-size: 22px;
  top: 14px;
  left: -36px;
  transform: translateY(-50%);
}
@media (max-width: 501px) {
  .main__faq-list .faq-answer__wrap.active .faq-answer__title::before {
    font-size: 4.4vw;
    top: 2.8vw;
    left: -7vw;
  }
}
.main__faq-list .faq-answer__wrap.active .faq-answer__text {
  margin-top: 5px;
}
@media (max-width: 501px) {
  .main__faq-list .faq-answer__wrap.active .faq-answer__text {
    margin-top: 1vw;
  }
}
.main__contact {
  position: relative;
  z-index: 2;
  color: #3B4B7B;
  background: #fff;
  padding-bottom: 100px;
}
@media (max-width: 501px) {
  .main__contact {
    padding-bottom: 16vw;
  }
}
.main__contact h2 {
  color: #FFE8E0;
}
.main__contact h3 {
  margin-bottom: 50px;
  color: #FE9B63;
}
@media (max-width: 501px) {
  .main__contact h3 {
    margin-bottom: 10vw;
  }
}
.main__contact-exp {
  margin-bottom: 30px;
  color: #3B4B7B;
  text-align: center;
  font-weight: bold;
  line-height: 1.7;
  font-size: 17px;
}
@media (max-width: 501px) {
  .main__contact-exp {
    margin-bottom: 6vw;
    font-size: 3.8vw;
  }
}
.main__contact label {
  font-weight: bold;
  font-size: 18px;
}
@media (max-width: 501px) {
  .main__contact label {
    font-size: 3.8vw;
  }
}
.main__contact label input {
  margin: 14px 0 20px;
  width: 100%;
  border: 2px solid #FE9B63;
  padding: 8px 14px;
  border-radius: 8px;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2078431373);
}
@media (max-width: 501px) {
  .main__contact label input {
    margin: 3.2vw 0 4vw;
    border: 0.4vw solid #FE9B63;
    padding: 1.6vw 2.8vw;
    border-radius: 1.6vw;
    box-shadow: 0.4vw 0.4vw 1.2vw rgba(0, 0, 0, 0.2078431373);
  }
}
.main__contact label textarea {
  margin: 14px 0 20px;
  width: 100%;
  border: 2px solid #FE9B63;
  padding: 8px 14px;
  border-radius: 8px;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2078431373);
}
@media (max-width: 501px) {
  .main__contact label textarea {
    margin: 3.2vw 0 4vw;
    border: 0.4vw solid #FE9B63;
    padding: 1.6vw 2.8vw;
    border-radius: 1.6vw;
    box-shadow: 0.4vw 0.4vw 1.2vw rgba(0, 0, 0, 0.2078431373);
  }
}
.main__contact input[type=submit] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 330px;
  padding: 16px;
  margin: 50px auto 20px;
  text-align: center;
  color: #fff;
  background: #FF7F63;
  border-radius: 40px;
  font-size: 19px;
  font-weight: bold;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2078431373);
}
@media (max-width: 501px) {
  .main__contact input[type=submit] {
    width: 66vw;
    padding: 3.2vw;
    margin: 10vw auto 4vw;
    border-radius: 8vw;
    font-size: 4vw;
    box-shadow: 0.4vw 0.4vw 1.2vw rgba(0, 0, 0, 0.2078431373);
  }
}
.main__contact .wpcf7 form .wpcf7-response-output {
  margin: 40px auto 0 !important;
  padding: 0 !important;
  border: none;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}
@media (max-width: 501px) {
  .main__contact .wpcf7 form .wpcf7-response-output {
    margin: 8vw auto 0 !important;
    font-size: 4vw;
  }
}
.main__contact .wpcf7 form.sent .wpcf7-response-output::after {
  content: ""; /*何も入れない*/
  display: inline-block;
  width: 340px; /*画像の幅*/
  height: 140px; /*画像の高さ*/
  background-image: url(../img/thanks.png);
  background-size: contain;
  vertical-align: middle;
  margin-top: 10px; /* 画像と元の要素との間隔を調整する場合に追加 */
}
@media (max-width: 501px) {
  .main__contact .wpcf7 form.sent .wpcf7-response-output::after {
    width: 68vw;
    height: 28vw;
    margin-top: 2.8vw;
  }
}

.page__ttl h2 {
  font-size: 64px;
  font-weight: bolder;
  font-family: "Lilita One", sans-serif;
  color: #d3dfff;
  letter-spacing: 0.05em;
}
@media (max-width: 501px) {
  .page__ttl h2 {
    font-size: 12.8vw;
  }
}
.page__ttl h3 {
  margin-top: 0px;
  margin-bottom: 90px;
  font-size: 28px;
  color: #5368A6;
  font-weight: bolder;
}
@media (max-width: 501px) {
  .page__ttl h3 {
    margin-bottom: 18vw;
    font-size: 5.6vw;
  }
}

.sub-container {
  max-width: 430px;
  margin: 0 auto;
  padding-top: 60px;
}
@media (max-width: 501px) {
  .sub-container {
    max-width: 86vw;
    padding-top: 12vw;
    margin: 0vw 7.2vw;
  }
}

.company {
  position: relative;
  z-index: 3;
  color: #3B4B7B;
}
.company ul {
  padding-bottom: 90px;
}
@media (max-width: 501px) {
  .company ul {
    padding-bottom: 18vw;
  }
}
.company ul li {
  color: #3B4B7B;
  margin-bottom: 20px;
}
@media (max-width: 501px) {
  .company ul li {
    margin-bottom: 4vw;
  }
}
.company ul li h4 {
  color: #3B4B7B;
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 22px;
}
@media (max-width: 501px) {
  .company ul li h4 {
    margin-bottom: 2vw;
    font-size: 4.4vw;
  }
}
.company ul li p {
  color: #3B4B7B;
  font-size: 20px;
  line-height: 1.6;
}
@media (max-width: 501px) {
  .company ul li p {
    font-size: 4vw;
  }
}

.privacy {
  position: relative;
  z-index: 3;
}
.privacy h2 {
  font-size: 46px;
  color: #ffcfbf;
}
@media (max-width: 501px) {
  .privacy h2 {
    font-size: 9.2vw;
  }
}
.privacy h3 {
  font-size: 24px;
  color: #FF8F6A;
}
@media (max-width: 501px) {
  .privacy h3 {
    font-size: 4.8vw;
  }
}
.privacy__list {
  padding-bottom: 100px;
}
@media (max-width: 501px) {
  .privacy__list {
    padding-bottom: 20vw;
  }
}
.privacy__list-main {
  padding-bottom: 40px;
  color: #3B4B7B;
}
@media (max-width: 501px) {
  .privacy__list-main {
    padding-bottom: 8vw;
  }
}
.privacy__list-main h4 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media (max-width: 501px) {
  .privacy__list-main h4 {
    font-size: 4.4vw;
    margin-bottom: 4vw;
  }
}
.privacy__list-main p {
  line-height: 1.7;
  font-size: 15px;
}
@media (max-width: 501px) {
  .privacy__list-main p {
    font-size: 3vw;
  }
}
.privacy__list-main li {
  line-height: 1.7;
  font-size: 15px;
  margin-left: 20px;
}
@media (max-width: 501px) {
  .privacy__list-main li {
    font-size: 3vw;
    margin-left: 4vw;
  }
}
.privacy__list-main .num {
  list-style: decimal;
}
.privacy__list-main .num .eng {
  list-style: lower-alpha;
}
.privacy__list-main .num .rom {
  list-style: lower-roman;
}

.event-info .event__ttl {
  text-align: center;
  font-size: 28px !important;
  font-weight: bold;
  margin-bottom: 0 !important;
}
@media (max-width: 501px) {
  .event-info .event__ttl {
    font-size: 5.6vw !important;
  }
}
.event-info .event__pireod {
  text-align: center;
  margin-top: -8px;
  font-size: 17px !important;
  margin-bottom: 30px !important;
}
@media (max-width: 501px) {
  .event-info .event__pireod {
    margin-bottom: -1.6vw;
    font-size: 3.4vw !important;
    margin-bottom: 6vw !important;
  }
}

.team_name {
  text-align: center;
  margin-bottom: 0px !important;
  font-weight: bold;
}

.team-event {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-left: -15px;
  width: 470px;
  margin-bottom: 60px;
}
@media (max-width: 501px) {
  .team-event {
    margin-bottom: 12vw;
    width: 94vw;
    margin-left: -3vw;
  }
}
.team-event .liver-rank-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 220px;
  border-bottom: 1px solid #000C2F;
  padding: 10px 0;
  gap: 10px;
}
@media (max-width: 501px) {
  .team-event .liver-rank-item {
    width: 44vw;
    padding: 2vw 0;
    gap: 2vw;
  }
}
.team-event .rank {
  font-size: 18px !important;
  margin-right: 5px;
  margin-bottom: 0 !important;
}
@media (max-width: 501px) {
  .team-event .rank {
    font-size: 3.6vw !important;
    margin-right: 1vw;
  }
}
.team-event .liver-icon {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 501px) {
  .team-event .liver-icon {
    width: 9vw;
    height: 9vw;
  }
}
.team-event .team_gift_total {
  text-align: center;
  font-size: 20px;
}
@media (max-width: 501px) {
  .team-event .team_gift_total {
    font-size: 4vw;
  }
}
.team-event .liver_info-dtl {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
}
.team-event .liver_info-dtl a {
  color: #000C2F !important;
  border-bottom: none !important;
  font-size: 13px;
  height: 20px;
}
@media (max-width: 501px) {
  .team-event .liver_info-dtl a {
    height: 4vw;
    font-size: 2.4vw;
  }
}
.team-event .liver_info-dtl img {
  width: 16px;
  margin-right: 4px;
}
@media (max-width: 501px) {
  .team-event .liver_info-dtl img {
    width: 3.2vw;
    margin-right: 0.8vw;
  }
}
.team-event .liver_info-dtl .gift-ttl {
  display: flex;
  align-items: center;
}
.team-event .liver_info-dtl p {
  margin-bottom: 0 !important;
  font-size: 15px !important;
}
@media (max-width: 501px) {
  .team-event .liver_info-dtl p {
    font-size: 3vw !important;
  }
}

.individual-ranking {
  margin-bottom: 60px;
}
@media (max-width: 501px) {
  .individual-ranking {
    margin-bottom: 12vw;
  }
}
.individual-ranking .liver-rank-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 440px;
  border-bottom: 1px solid #000C2F;
  padding: 8px 0;
  gap: 25px;
}
@media (max-width: 501px) {
  .individual-ranking .liver-rank-item {
    width: 88vw;
    padding: 1.6vw 0;
    gap: 5vw;
  }
}
.individual-ranking .rank {
  font-size: 24px !important;
  margin-right: 12px;
  margin-left: 6px;
  margin-bottom: 0 !important;
}
@media (max-width: 501px) {
  .individual-ranking .rank {
    font-size: 4.4vw !important;
    margin-right: 2.4vw;
    margin-left: 1.2vw;
  }
}
.individual-ranking .liver-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
}
@media (max-width: 501px) {
  .individual-ranking .liver-icon {
    width: 10vw;
    height: 10vw;
  }
}
.individual-ranking .liver_info-dtl {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
}
.individual-ranking .liver_info-dtl a {
  height: 24px;
  color: #000C2F !important;
  border-bottom: none !important;
  font-size: 18px;
}
@media (max-width: 501px) {
  .individual-ranking .liver_info-dtl a {
    height: 3.8vw;
    font-size: 3.2vw;
  }
}
.individual-ranking .liver_info-dtl img {
  width: 18px;
  margin-right: 6px;
}
@media (max-width: 501px) {
  .individual-ranking .liver_info-dtl img {
    width: 3.2vw;
    margin-right: 1.2vw;
  }
}
.individual-ranking .liver_info-dtl .gift-ttl {
  display: flex;
  align-items: center;
}
.individual-ranking .liver_info-dtl p {
  margin-bottom: 0 !important;
  font-size: 18px !important;
}
@media (max-width: 501px) {
  .individual-ranking .liver_info-dtl p {
    font-size: 3.2vw !important;
  }
}

/* ========================================
   3チーム以上（縦積みやグリッド表示など）
======================================== */
.team-event.more-than-two {
  gap: 30px;
  padding-left: 17px;
  padding-right: 20px;
  overflow-x: scroll;
}
@media (max-width: 501px) {
  .team-event.more-than-two {
    gap: 6vw;
    padding-left: 3.4vw;
    padding-right: 4vw;
  }
}

.team-ranking.more-than-two {
  gap: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.team-ranking.more-than-two .liver-rank-item {
  gap: 13px;
  width: 400px;
}
@media (max-width: 501px) {
  .team-ranking.more-than-two .liver-rank-item {
    gap: 2.6vw;
    width: 80vw;
  }
}
.team-ranking.more-than-two .liver-rank-item .liver-icon {
  width: 50px;
  height: 50px;
}
@media (max-width: 501px) {
  .team-ranking.more-than-two .liver-rank-item .liver-icon {
    height: 10vw;
    width: 10vw;
  }
}
.team-ranking.more-than-two .liver-rank-item .liver_info-dtl a {
  font-size: 16px;
  height: 24px;
}
@media (max-width: 501px) {
  .team-ranking.more-than-two .liver-rank-item .liver_info-dtl a {
    font-size: 3.2vw;
    height: 4.8vw;
  }
}
.team-ranking.more-than-two .liver-rank-item .rank {
  font-size: 22px !important;
  margin-right: 5px;
  margin-left: 2px;
}
@media (max-width: 501px) {
  .team-ranking.more-than-two .liver-rank-item .rank {
    font-size: 4.4vw !important;
    margin-right: 1vw;
    margin-left: 0.4vw;
  }
}

.team-event.more-than-two {
  position: relative; /* これが必須！ */
  padding: 40px 0;
  /* 親ボタンのスタイル */
  /* ページネーションの基本スタイル */
  /* ドットのデザイン */
}
@media (max-width: 501px) {
  .team-event.more-than-two {
    padding: 8vw 0;
  }
}
.team-event.more-than-two .swiper-button-next2,
.team-event.more-than-two .swiper-button-prev2 {
  position: absolute;
  top: 63%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  background-color: rgba(0, 0, 0, 0.5); /* ボタン背景 */
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
@media (max-width: 501px) {
  .team-event.more-than-two .swiper-button-next2,
  .team-event.more-than-two .swiper-button-prev2 {
    width: 8vw;
    heigh: 8vw;
  }
}
.team-event.more-than-two .swiper-button-next2 {
  right: 10px;
}
@media (max-width: 501px) {
  .team-event.more-than-two .swiper-button-next2 {
    right: 2vw;
  }
}
.team-event.more-than-two .swiper-button-next2::before {
  content: "›";
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  font-size: 34px;
  color: #fff;
  line-height: 1;
}
@media (max-width: 501px) {
  .team-event.more-than-two .swiper-button-next2::before {
    font-size: 6.8vw;
  }
}
.team-event.more-than-two .swiper-button-prev2 {
  display: none;
}
.team-event.more-than-two .team-event.more-than-two .swiper-button-next2,
.team-event.more-than-two .team-event.more-than-two .swiper-button-prev2 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  background-color: rgba(0, 0, 0, 0.5); /* 背景 */
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 501px) {
  .team-event.more-than-two .team-event.more-than-two .swiper-button-next2,
  .team-event.more-than-two .team-event.more-than-two .swiper-button-prev2 {
    width: 8vw;
    height: 8vw;
  }
}
.team-event.more-than-two .team-event.more-than-two .swiper-button-next2 {
  right: 10px;
}
@media (max-width: 501px) {
  .team-event.more-than-two .team-event.more-than-two .swiper-button-next2 {
    right: 2px;
  }
}
.team-event.more-than-two .swiper-pagination2 {
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  text-align: center;
}
@media (max-width: 501px) {
  .team-event.more-than-two .swiper-pagination2 {
    bottom: 0vw;
  }
}
.team-event.more-than-two .swiper-pagination2 .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: #ccc;
  opacity: 0.6;
  margin: 0 4px;
  border-radius: 50%;
  transition: all 0.3s;
}
@media (max-width: 501px) {
  .team-event.more-than-two .swiper-pagination2 .swiper-pagination-bullet {
    width: 2vw;
    height: 2vw;
  }
}
.team-event.more-than-two .swiper-pagination2 .swiper-pagination-bullet-active {
  background-color: #000;
  opacity: 1;
  transform: scale(1.2);
}

/* swiper親要素の横はみ出しも防ぐ */
.team-event.more-than-two {
  overflow: hidden;
  /* 念のためSwiper本体にも */
}
.team-event.more-than-two .swiper-rank,
.team-event.more-than-two .swiper {
  overflow: hidden;
}

.blog {
  /* ──────────────
  サイドバー全体
  ────────────── */
  /* ──────────────
     ウィジェット共通
     ────────────── */
  /* ──────────────
     ウィジェットタイトル
     ────────────── */
  /* ──────────────
     プロフィールカード
  ─────────────────*/
  /* ──────────────
     検索フォーム
     ────────────── */
  /* ──────────────
     タグ一覧（リンクをボタン調に）
     ────────────── */
}
.blog .container-blog {
  max-width: 1200px;
  margin: 40px auto 40px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  line-height: 1.7;
}
.blog .container-blog.with-sidebar {
  flex-direction: row !important;
}
@media (max-width: 1280px) {
  .blog .container-blog {
    max-width: 94.53125vw;
    margin: 3.125vw auto;
  }
}
@media (max-width: 768px) {
  .blog .container-blog {
    flex-wrap: wrap;
    max-width: 100vw;
    width: 100vw;
  }
  .blog .container-blog .blog-single {
    margin: 0 auto;
  }
}
.blog .container-blog .blog-single {
  margin-top: -20px;
  width: 840px;
  /* ────────────────
  日付ラベル (time.post-date)
  ──────────────── */
}
@media (max-width: 1280px) {
  .blog .container-blog .blog-single {
    margin-top: -1.5625vw;
    width: 65.625vw;
  }
}
@media (max-width: 768px) {
  .blog .container-blog .blog-single {
    width: 92.4479166667vw;
  }
}
.blog .container-blog .blog-single p {
  margin-bottom: 20px;
}
@media (max-width: 1280px) {
  .blog .container-blog .blog-single p {
    margin-bottom: 1.5625vw;
  }
}
@media (max-width: 768px) {
  .blog .container-blog .blog-single p {
    margin-bottom: 2.6041666667vw;
  }
}
@media (max-width: 501px) {
  .blog .container-blog .blog-single p {
    margin-bottom: 2.2727272727vw;
  }
}
.blog .container-blog .blog-single .post-date {
  display: inline-block; /* テキスト幅に合わせる */
  font-size: 0.9rem; /* 少し小さめ */
  font-weight: 500;
  color: #E65100; /* テーマカラー */
  background: #FFF4E1; /* 薄いオレンジ背景 */
  padding: 4px 10px; /* 上下小さく、左右広め */
  border-radius: 4px; /* 角丸 */
  margin-bottom: 24px; /* 見出し下との余白 */
  border-left: 4px solid #E65100; /* 左側に太いライン */
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
@media (max-width: 1280px) {
  .blog .container-blog .blog-single .post-date {
    font-size: 1.25vw;
    padding: 0.3125vw 0.78125vw;
    border-radius: 0.3125vw;
    margin-bottom: 1.875vw;
    border-left: 0.3125vw solid #E65100;
    box-shadow: 0 0.078125vw 0.234375vw rgba(0, 0, 0, 0.1);
  }
}
@media (max-width: 768px) {
  .blog .container-blog .blog-single .post-date {
    font-size: 2.2135416667vw;
    padding: 0.5208333333vw 1.3020833333vw;
    border-radius: 0.5208333333vw;
    margin-bottom: 3.125vw;
    border-left: 0.5208333333vw solid #E65100;
    box-shadow: 0 0.1302083333vw 0.390625vw rgba(0, 0, 0, 0.1);
  }
}
@media (max-width: 501px) {
  .blog .container-blog .blog-single .post-date {
    font-size: 2.7272727273vw;
    padding: 0.9090909091vw 1.8181818182vw;
    border-radius: 0.9090909091vw;
    margin-bottom: 4.0909090909vw;
    border-left: 0.9090909091vw solid #E65100;
    box-shadow: 0 0.2272727273vw 1.1363636364vw rgba(0, 0, 0, 0.1);
  }
}
.blog .container-blog .blog-single h2 {
  /* 背景＋外枠 */
  background-color: #FFF4E1; /* 薄いオレンジ塗り */
  border-radius: 6px; /* お好みで角丸 */
  /* 左グラデーション線 */
  border-left: 6px solid transparent;
  -o-border-image: linear-gradient(to bottom, #f83600 0%, #f9d423 100%) 1;
     border-image: linear-gradient(to bottom, #f83600 0%, #f9d423 100%) 1; /* slice:1 で全体に等比適用 */
  /* 内側余白と余白調整 */
  padding: 14px 10px;
  margin: 2em 0;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .blog .container-blog .blog-single h2 {
    border-left: 0.78125vw solid transparent;
    -o-border-image: linear-gradient(to bottom, #f83600 0%, #f9d423 100%) 1;
       border-image: linear-gradient(to bottom, #f83600 0%, #f9d423 100%) 1; /* slice:1 で全体に等比適用 */
    padding: 1.8229166667vw 1.3020833333vw;
    margin: 3.90625vw 0;
    font-size: 2.8645833333vw;
  }
}
@media (max-width: 501px) {
  .blog .container-blog .blog-single h2 {
    border-left: 0.9090909091vw solid transparent;
    -o-border-image: linear-gradient(to bottom, #f83600 0%, #f9d423 100%) 1;
       border-image: linear-gradient(to bottom, #f83600 0%, #f9d423 100%) 1; /* slice:1 で全体に等比適用 */
    padding: 2.2727272727vw 1.8181818182vw;
    margin: 5.4545454545vw 0;
    font-size: 4.5454545455vw;
  }
}
.blog .container-blog .blog-single h3 {
  display: flex;
  align-items: center;
  margin: 1.8em 0 1.5em;
  font-size: 1.2em;
  font-weight: 600;
  color: #333;
}
@media (max-width: 1280px) {
  .blog .container-blog .blog-single h3 {
    margin: 2.1875vw 0 1.875vw;
    font-size: 1.640625vw;
  }
}
@media (max-width: 768px) {
  .blog .container-blog .blog-single h3 {
    margin: 3.6458333333vw 0 2.34375vw;
    font-size: 2.734375vw;
  }
}
@media (max-width: 501px) {
  .blog .container-blog .blog-single h3 {
    margin: 5vw 0 3.4090909091vw;
    font-size: 4.0909090909vw;
  }
}
.blog .container-blog .blog-single h3::before {
  content: "";
  display: block;
  width: 3em; /* バーの長さ */
  height: 3px; /* バーの太さ */
  background: linear-gradient(to right, #f83600 0%, #f9d423 100%);
  margin-right: 0.75em;
}
@media (max-width: 1280px) {
  .blog .container-blog .blog-single h3::before {
    width: 3.515625vw;
    height: 0.234375vw;
    margin-right: 1.015625vw;
  }
}
@media (max-width: 768px) {
  .blog .container-blog .blog-single h3::before {
    width: 5.859375vw;
    height: 0.390625vw;
    margin-right: 1.6927083333vw;
  }
}
@media (max-width: 501px) {
  .blog .container-blog .blog-single h3::before {
    width: 6.8181818182vw;
    height: 0.4545454545vw;
    margin-right: 1.5909090909vw;
  }
}
.blog .container-blog .blog-single h3::after {
  content: "";
  flex-grow: 1;
  height: 1px;
  background: #ddd;
  margin-left: 0.75em;
}
@media (max-width: 1280px) {
  .blog .container-blog .blog-single h3::after {
    height: 0.078125vw;
    margin-left: 1.015625vw;
  }
}
@media (max-width: 768px) {
  .blog .container-blog .blog-single h3::after {
    height: 0.1302083333vw;
    margin-left: 1.6927083333vw;
  }
}
@media (max-width: 501px) {
  .blog .container-blog .blog-single h3::after {
    height: 0.2272727273vw;
    margin-left: 1.3636363636vw;
  }
}
.blog .container-blog .blog-single span {
  background: linear-gradient(transparent 60%, #ffff86 60%);
  font-weight: bold;
}
.blog .container-blog .blog-single p {
  line-height: 1.7;
}
@media (max-width: 1280px) {
  .blog .container-blog .blog-single p {
    font-size: 1.25vw;
  }
}
@media (max-width: 768px) {
  .blog .container-blog .blog-single p {
    font-size: 2.34375vw;
  }
}
@media (max-width: 501px) {
  .blog .container-blog .blog-single p {
    font-size: 3.4090909091vw;
  }
}
.blog .container-blog .blog-single ul {
  line-height: 1.7;
}
.blog .container-blog .blog-single li {
  line-height: 1.7;
}
@media (max-width: 1280px) {
  .blog .container-blog .blog-single li {
    font-size: 1.328125vw;
  }
}
@media (max-width: 768px) {
  .blog .container-blog .blog-single li {
    font-size: 2.2135416667vw;
  }
}
@media (max-width: 501px) {
  .blog .container-blog .blog-single li {
    font-size: 3.4090909091vw;
  }
}
.blog .container-blog h1 {
  display: block;
  position: relative;
  margin: 20px auto 10px;
  font-size: 30px;
  font-weight: bold;
}
@media (max-width: 1280px) {
  .blog .container-blog h1 {
    margin: 1.5625vw auto 0.78125vw;
    font-size: 2.34375vw;
  }
}
@media (max-width: 768px) {
  .blog .container-blog h1 {
    margin: 2.6041666667vw auto 1.3020833333vw;
    font-size: 3.90625vw;
  }
}
.blog .sidebar {
  height: 100%;
}
.blog .sidebar {
  width: 330px; /* お好みで調整 */
  margin-left: 8px;
  padding-left: 8px;
  box-sizing: border-box;
}
@media (max-width: 1280px) {
  .blog .sidebar {
    width: 25.78125vw;
    margin-left: 0.625vw;
    padding-left: 0.625vw;
  }
}
@media (max-width: 768px) {
  .blog .sidebar {
    width: 100%;
    margin-top: 2.6041666667vw;
    margin-left: 0;
    padding-left: 0;
  }
}
.blog .container-blog-list .sidebar {
  width: 330px; /* お好みで調整 */
  margin-left: 8px;
  padding-left: 8px;
  box-sizing: border-box;
}
@media (max-width: 1280px) {
  .blog .container-blog-list .sidebar {
    width: 25.78125vw;
    margin-left: 0.625vw;
    padding-left: 0.625vw;
  }
}
@media (max-width: 768px) {
  .blog .container-blog-list .sidebar {
    width: 100%;
    margin-left: 0;
    padding-left: 0;
  }
}
.blog .container-blog-list .sidebar input[type=text] {
  background: #fff;
  border: 1px solid #b9b9b9;
  width: 170px;
}
@media (max-width: 1280px) {
  .blog .container-blog-list .sidebar input[type=text] {
    border: 0.078125vw solid #b9b9b9;
    width: 13.28125vw;
    font-size: 1.25vw;
  }
}
@media (max-width: 768px) {
  .blog .container-blog-list .sidebar input[type=text] {
    width: 82.03125vw;
    font-size: 2.34375vw;
    border: 0.1302083333vw solid #b9b9b9;
    padding: 0.2604166667vw;
  }
}
.blog .sidebar-widget {
  margin-bottom: 40px;
  padding: 16px;
  background: #fafafa;
  border-radius: 6px;
}
@media (max-width: 1280px) {
  .blog .sidebar-widget {
    margin-bottom: 3.125vw;
    padding: 1.25vw;
    border-radius: 0.46875vw;
  }
}
@media (max-width: 768px) {
  .blog .sidebar-widget {
    padding: 1.953125vw;
  }
}
@media (max-width: 501px) {
  .blog .sidebar-widget {
    padding: 2.7272727273vw;
  }
}
.blog .sidebar-widget input[type=text] {
  background: #fff;
  border: 1px solid #b9b9b9;
  width: 230px;
}
@media (max-width: 1280px) {
  .blog .sidebar-widget input[type=text] {
    border: 0.078125vw solid #b9b9b9;
    width: 17.96875vw;
    font-size: 1.25vw;
  }
}
@media (max-width: 768px) {
  .blog .sidebar-widget input[type=text] {
    border: 0.1302083333vw solid #b9b9b9;
    width: 82.03125vw;
    font-size: 2.34375vw;
    padding: 0.2604166667vw;
  }
}
@media (max-width: 501px) {
  .blog .sidebar-widget input[type=text] {
    font-size: 2.9545454545vw;
  }
}
@media (max-width: 1280px) {
  .blog .sidebar-widget input[type=submit] {
    font-size: 1.25vw;
  }
}
@media (max-width: 768px) {
  .blog .sidebar-widget input[type=submit] {
    font-size: 2.6041666667vw;
    margin-left: 1.3020833333vw;
  }
}
@media (max-width: 501px) {
  .blog .sidebar-widget input[type=submit] {
    font-size: 3.4090909091vw;
  }
}
.blog .sidebar-widget:last-child {
  margin-bottom: 0;
}
.blog .sidebar-widget h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #2e2e2e;
  margin: 0 0 12px;
  /* 下線用の透明ボーダーを指定 */
  border-bottom: 2px solid transparent;
  padding-bottom: 0.5em; /* テキストとの余白調整 */
  -o-border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1;
     border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1; /* slice が 1 で全体に伸ばす */
  padding-bottom: 4px;
}
@media (max-width: 1280px) {
  .blog .sidebar-widget h4 {
    font-size: 1.40625vw;
    margin: 0 0 0.9375vw;
    border-bottom: 0.15625vw solid #073d58;
    padding-bottom: 0.3125vw;
  }
}
@media (max-width: 768px) {
  .blog .sidebar-widget h4 {
    font-size: 2.6041666667vw;
    border-bottom: 0.2604166667vw solid #073d58;
    padding-bottom: 0.5208333333vw;
    margin: 0 0 1.6927083333vw;
  }
}
@media (max-width: 501px) {
  .blog .sidebar-widget h4 {
    font-size: 3.8636363636vw;
    border-bottom: 0.4545454545vw solid #073d58;
    padding-bottom: 0.6818181818vw;
    margin: 0 0 2.2727272727vw;
  }
}
.blog .profile-widget .profile-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 0px 24px 24px 24px;
  text-align: center;
}
@media (max-width: 1280px) {
  .blog .profile-widget .profile-card {
    border-radius: 0.625vw;
    padding: 0 1.875vw 1.875vw 1.875vw;
  }
}
@media (max-width: 768px) {
  .blog .profile-widget .profile-card {
    border-radius: 1.0416666667vw;
    padding: 0 3.125vw 3.125vw 3.125vw;
  }
}
@media (max-width: 501px) {
  .blog .profile-widget .profile-card {
    border-radius: 1.8181818182vw;
    padding: 0 3.6363636364vw 4.5454545455vw 3.6363636364vw;
  }
}
.blog .profile-widget .profile-avatar {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1280px) {
  .blog .profile-widget .profile-avatar {
    width: 10.15625vw;
    height: 10.15625vw;
  }
}
@media (max-width: 768px) {
  .blog .profile-widget .profile-avatar {
    width: 18.2291666667vw;
    height: 18.2291666667vw;
  }
}
@media (max-width: 501px) {
  .blog .profile-widget .profile-avatar {
    width: 22.7272727273vw;
    height: 22.7272727273vw;
  }
}
.blog .profile-widget .profile-name {
  font-size: 18px;
  margin: 0 0 4px;
}
@media (max-width: 1200px) {
  .blog .profile-widget .profile-name {
    font-size: 1.40625vw;
    margin: 0 0 0.3125vw;
  }
}
@media (max-width: 768px) {
  .blog .profile-widget .profile-name {
    font-size: 2.6041666667vw;
    margin: 0 0 0.78125vw;
  }
}
@media (max-width: 501px) {
  .blog .profile-widget .profile-name {
    font-size: 4.0909090909vw;
    margin: 0 0 0.9090909091vw;
  }
}
.blog .profile-widget .profile-role {
  font-size: 14px;
  color: #666;
  margin: 0 0 16px;
}
@media (max-width: 1280px) {
  .blog .profile-widget .profile-role {
    font-size: 1.09375vw;
    margin: 0 0 1.25vw;
  }
}
@media (max-width: 768px) {
  .blog .profile-widget .profile-role {
    font-size: 2.0833333333vw;
    margin: 0 0 2.0833333333vw;
  }
}
@media (max-width: 501px) {
  .blog .profile-widget .profile-role {
    font-size: 3.1818181818vw;
    margin: 0 0 3.4090909091vw;
  }
}
.blog .profile-widget .profile-desc {
  font-size: 14px;
  color: #333;
  line-height: 1.6;
}
@media (max-width: 1280px) {
  .blog .profile-widget .profile-desc {
    font-size: 1.09375vw;
  }
}
@media (max-width: 768px) {
  .blog .profile-widget .profile-desc {
    font-size: 2.0833333333vw;
  }
}
@media (max-width: 501px) {
  .blog .profile-widget .profile-desc {
    font-size: 2.9545454545vw;
  }
}
.blog .sidebar .search-form {
  display: flex;
  flex-direction: column;
}
.blog .sidebar .search-form input[type=search] {
  width: 100%;
  padding: 8px 12px;
  font-size: 0.9rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-bottom: 8px;
  box-sizing: border-box;
}
@media (max-width: 1280px) {
  .blog .sidebar .search-form input[type=search] {
    padding: 0.625vw 0.9375vw;
    font-size: 1.25vw;
    border-radius: 0.3125vw;
    margin-bottom: 0.625vw;
  }
}
.blog .sidebar .search-form button {
  align-self: flex-end;
  padding: 6px 12px;
  font-size: 0.9rem;
  background: #073d58;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
@media (max-width: 1280px) {
  .blog .sidebar .search-form button {
    padding: 0.46875vw 0.9375vw;
    font-size: 1.25vw;
    border-radius: 0.3125vw;
  }
}
.blog .sidebar .search-form button:hover {
  background: #05506c;
}

.page_blog .header .openbtn1 {
  display: none;
  background: #f0f0f0;
}

/* 検索フォームをわかりやすく */
.sidebar-widget .search-form {
  display: block;
}

.sidebar-widget .search-form label {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 4px;
  color: #333;
}
@media (max-width: 1280px) {
  .sidebar-widget .search-form label {
    font-size: 1.25vw;
    margin-bottom: 0.3125vw;
  }
}

.sidebar-widget .search-form input[type=text] {
  width: 100%;
  padding: 10px 14px;
  font-size: 0.95rem;
  border: 2px solid #ccc;
  border-radius: 6px;
  background: #fff !important; /* ここで白背景 */
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}
@media (max-width: 1280px) {
  .sidebar-widget .search-form input[type=text] {
    padding: 0.78125vw 1.09375vw;
    font-size: 1.328125vw;
    border: 0.15625vw solid #ccc;
    border-radius: 0.46875vw;
    width: 13.28125vw;
  }
}

.sidebar-widget .search-form input[type=text]::-moz-placeholder {
  color: #aaa;
}

.sidebar-widget .search-form input[type=text]::placeholder {
  color: #aaa;
}

.sidebar-widget .search-form input[type=text]:focus {
  border-color: #073d58;
  box-shadow: 0 0 4px rgba(7, 61, 88, 0.3);
  outline: none;
}
@media (max-width: 1280px) {
  .sidebar-widget .search-form input[type=text]:focus {
    box-shadow: 0 0 0.3125vw rgba(7, 61, 88, 0.3);
  }
}

.sidebar-widget .search-form button {
  margin-top: 8px;
  padding: 8px 16px;
  font-size: 0.9rem;
  background: #073d58;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
}
@media (max-width: 1280px) {
  .sidebar-widget .search-form button {
    margin-top: 0.625vw;
    padding: 0.625vw 1.25vw;
    font-size: 1.25vw;
    border-radius: 0.3125vw;
  }
}

.sidebar-widget .search-form button:hover {
  background: #05506c;
}

/* style.css */
.highlight-text {
  background: #fffae6;
  padding: 0.2em 0.5em;
}
@media (max-width: 1280px) {
  .highlight-text {
    padding: 0.3125vw 0.625vw;
  }
}

.event {
  /* レスポンシブ対応 */
}
.event .page-numbers {
  margin: 40px 0;
  text-align: center;
}
.event .page-numbers ul {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.event .page-numbers li {
  display: inline-block;
  margin: 0 5px;
}
.event .page-numbers a,
.event .page-numbers span {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  background-color: #f8f8f8;
  color: #333;
  border: 1px solid #ddd;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.event .page-numbers a:hover {
  background-color: #ff6b35;
  color: white;
  border-color: #ff6b35;
}
.event .page-numbers .current {
  background-color: #ff6b35;
  color: white;
  border-color: #ff6b35;
}
.event .page-numbers .prev,
.event .page-numbers .next {
  font-weight: bold;
}
@media (max-width: 768px) {
  .event .page-numbers a,
  .event .page-numbers span {
    padding: 8px 12px;
    font-size: 14px;
  }
  .event .page-numbers li {
    margin: 0 2px;
  }
}

.blog .recommended-posts {
  margin-top: 15px;
}
.blog .recommended-post-item {
  display: flex;
  margin-bottom: 4px;
  padding-bottom: 4px;
  border-bottom: 1px solid #eee;
}
.blog .recommended-post-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.blog .post-thumbnail {
  flex-shrink: 0;
  margin-right: 12px;
}
.blog .recommended-img {
  width: 120px;
  height: 65px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.blog .post-content {
  flex: 1;
  min-width: 0;
}
.blog .post-title {
  margin: 0 0 5px 0;
  font-size: 14px;
  line-height: 1.4;
}
.blog .post-title a {
  color: #333;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog .post-title a:hover {
  color: #007cba;
}
.blog .post-date {
  font-size: 12px;
  color: #666;
}
.blog .recommended-img {
  width: 120px;
  height: 65px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
.blog .no-image {
  width: 120px;
  height: 65px;
  background-color: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: #999;
  text-align: center;
}

.flow {
  position: relative;
  z-index: 3;
}
.flow h2 {
  color: #9CEBBD;
}
.flow h3 {
  color: #06C756;
}
.flow .sub-container {
  padding-bottom: 60px;
}
@media (max-width: 501px) {
  .flow .sub-container {
    padding-bottom: 12vw;
  }
}
.flow__line-ttl {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 18px;
  margin-bottom: 16px;
}
@media (max-width: 501px) {
  .flow__line-ttl {
    gap: 4vw;
    margin-top: 3.6vw;
    margin-bottom: 3.2vw;
  }
}
.flow__line-ttl .num {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 2px;
  padding-right: 2px;
  border: 2px solid #06C756;
  border-radius: 50%;
  font-family: "Lilita One", sans-serif;
  width: 50px;
  height: 50px;
  font-size: 30px;
  color: #06C756;
}
@media (max-width: 501px) {
  .flow__line-ttl .num {
    padding-top: 0.4vw;
    padding-right: 0.4vw;
    width: 10vw;
    height: 10vw;
    font-size: 6vw;
  }
}
.flow__line-ttl .ttl {
  font-size: 20px;
  font-weight: bold;
  color: #3B4B7B;
}
@media (max-width: 501px) {
  .flow__line-ttl .ttl {
    font-size: 4.2vw;
  }
}
.flow__line .first .green {
  height: 260px;
}
@media (max-width: 501px) {
  .flow__line .first .green {
    height: 54vw;
  }
}
.flow__line-content {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media (max-width: 501px) {
  .flow__line-content {
    gap: 4.4vw;
  }
}
.flow__line-content-outer {
  margin-bottom: 16px;
  width: 320px;
}
@media (max-width: 501px) {
  .flow__line-content-outer {
    margin-bottom: 3.4vw;
    width: 68vw;
  }
}
.flow__line-content .green {
  margin-left: 26px;
  margin-right: 26px;
  width: 3px;
  height: 300px;
  background: #06C756;
}
@media (max-width: 501px) {
  .flow__line-content .green {
    margin-left: 5.2vw;
    margin-right: 5.2vw;
    width: 0.6vw;
    height: 60vw;
  }
}
.flow__line-content .main h4 {
  font-family: "Lilita One", sans-serif;
  color: #06C756;
  font-size: 32px;
  font-weight: bold;
}
@media (max-width: 501px) {
  .flow__line-content .main h4 {
    font-size: 6.4vw;
  }
}
.flow__line-content .main h4 span {
  letter-spacing: 0.1em;
}
.flow__line-content .txt {
  margin-top: 14px;
  color: #3B4B7B;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.75;
}
@media (max-width: 501px) {
  .flow__line-content .txt {
    margin-top: 2.8vw;
    font-size: 3.2vw;
  }
}
.flow__line-content .link {
  background: #06C756;
  color: #fff;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  font-weight: bold;
  font-size: 18px;
  width: 300px;
  margin: 26px auto 0px;
  box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.1411764706);
}
@media (max-width: 501px) {
  .flow__line-content .link {
    border-radius: 6vw;
    padding: 1.2vw;
    font-size: 3.6vw;
    width: 60vw;
    margin: 5.2vw auto 0;
  }
}
.flow__line-content .link img {
  width: 40px;
}
@media (max-width: 501px) {
  .flow__line-content .link img {
    width: 8vw;
  }
}
.flow__link {
  display: inline-block;
  display: flex;
  justify-content: center;
  text-align: center;
  margin: 30px auto 100px;
}
@media (max-width: 501px) {
  .flow__link {
    margin: 6vw auto 20vw;
  }
}
.flow__link .link {
  background: #06C756;
  color: #fff;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  font-weight: bold;
  font-size: 18px;
  width: 340px;
  margin: 26px auto 0px;
  box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.1411764706);
}
@media (max-width: 501px) {
  .flow__link .link {
    border-radius: 6vw;
    padding: 1.2vw;
    font-size: 3.6vw;
    width: 68vw;
    margin: 5.2vw auto 0;
  }
}
.flow__link .link img {
  width: 40px;
}
@media (max-width: 501px) {
  .flow__link .link img {
    width: 8vw;
  }
}

footer {
  position: relative;
  z-index: 3;
  background: #000C2F;
  color: #fff;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  text-align: center;
  padding-top: 60px;
}
@media (max-width: 501px) {
  footer {
    border-top-left-radius: 4.4vw;
    border-top-right-radius: 4.4vw;
    padding-top: 14vw;
  }
}
footer .container {
  margin: 0 auto;
}

.footer__logo {
  margin: 0 auto;
  text-align: center;
}
.footer__logo img {
  width: 200px;
}
@media (max-width: 501px) {
  .footer__logo img {
    width: 40vw;
  }
}
.footer__sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin-top: 40px;
}
@media (max-width: 501px) {
  .footer__sns {
    gap: 6vw;
    margin-top: 8vw;
  }
}
.footer__sns img {
  width: 70px;
}
@media (max-width: 501px) {
  .footer__sns img {
    width: 14vw;
  }
}
.footer__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 26px;
  margin-bottom: 40px;
}
@media (max-width: 501px) {
  .footer__link {
    gap: 4.8vw;
    margin-top: 6.8vw;
    margin-bottom: 8vw;
  }
}
.footer .space {
  height: 50px;
}
@media (max-width: 501px) {
  .footer .space {
    height: 10vw;
  }
}
@media (max-width: 501px) {
  .footer small {
    font-size: 3.2vw;
  }
}

.glsr-toggle-switch {
  display: none !important;
}

.message {
  position: relative;
  z-index: 3;
}
.message .page__ttl h2 {
  color: #FFE8E0;
}
.message .page__ttl h3 {
  color: #FF7F63;
  margin-bottom: 30px;
}
@media (max-width: 501px) {
  .message .page__ttl h3 {
    margin-bottom: 6vw;
  }
}
.message .page__ttl p {
  margin-bottom: 56px;
  font-size: 16px;
  line-height: 1.6;
  color: #3B4B7B;
}
@media (max-width: 501px) {
  .message .page__ttl p {
    margin-bottom: 11.2vw;
    font-size: 3.2vw;
  }
}
.message h4 {
  margin-bottom: 40px;
  font-size: 30px;
  text-align: center;
  font-weight: bold;
  color: #3B4B7B;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1019607843);
}
@media (max-width: 501px) {
  .message h4 {
    margin-bottom: 8vw;
    font-size: 6vw;
  }
}
.message .glsr-label {
  position: relative;
  padding-left: 54px !important;
  padding-bottom: 4px !important;
  color: #3B4B7B;
  font-size: 18px !important;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1019607843);
}
@media (max-width: 501px) {
  .message .glsr-label {
    padding-left: 10.8vw !important;
    padding-bottom: 0.8vw !important;
    font-size: 3.6vw !important;
  }
}
.message .glsr-label::before {
  margin-top: 2px;
  position: absolute;
  content: "必須";
  left: 0;
  color: #fff;
  background: #F34E2B;
  border-radius: 4px;
  font-weight: 200;
  font-size: 16px !important;
  padding: 0 6px 2px;
}
@media (max-width: 501px) {
  .message .glsr-label::before {
    margin-top: 0.4vw;
    border-radius: 0.8vw;
    font-size: 3.2vw !important;
    padding: 0 1.2vw 0.4vw;
  }
}
.message .glsr-field {
  margin-bottom: 14px !important;
}
@media (max-width: 501px) {
  .message .glsr-field {
    margin-bottom: 2.8vw !important;
  }
}
.message input {
  box-shadow: 2px 3px 4px rgba(0, 0, 0, 0.1019607843);
}
.message textarea {
  box-shadow: 2px 3px 4px rgba(0, 0, 0, 0.1019607843);
}
.message .glsr-toggle label {
  width: 420px !important;
  color: #3B4B7B;
  font-weight: 300;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1019607843);
  font-size: 18px !important;
}
@media (max-width: 501px) {
  .message .glsr-toggle label {
    width: 84vw !important;
    font-size: 3.8vw !important;
  }
}
.message .wp-block-button {
  margin-top: 30px;
  padding-bottom: 220px;
  text-align: center;
}
@media (max-width: 501px) {
  .message .wp-block-button {
    margin-top: 6vw;
    padding-bottom: 44vw;
  }
}
.message .wp-block-button button {
  text-align: center;
  margin: 0 auto;
  width: 320px;
  background: #FF7F63;
  box-shadow: 2px 3px 4px rgba(0, 0, 0, 0.1019607843);
  font-size: 19px !important;
}
@media (max-width: 501px) {
  .message .wp-block-button button {
    width: 64vw;
    font-size: 3.8vw !important;
  }
}
.message .glsr-default button.glsr-button {
  justify-content: center;
}
.message .glsr-form-wrap {
  position: relative;
}
.message .glsr-form-wrap .glsr-form-message {
  position: absolute;
  bottom: 180px;
  left: 0;
  right: 0;
  text-align: center;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1019607843);
  font-size: 18px !important;
}
@media (max-width: 501px) {
  .message .glsr-form-wrap .glsr-form-message {
    bottom: 36vw;
    font-size: 3.6vw !important;
  }
}
.message .glsr-form-wrap .glsr-form-success::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 260px;
  height: 108px;
  background: url(../img/thanks.png) no-repeat;
  background-size: contain;
  top: 60px;
  margin: 0 auto;
  left: 0;
  right: 0;
}
@media (max-width: 501px) {
  .message .glsr-form-wrap .glsr-form-success::after {
    width: 52vw;
    height: 21.6vw;
    top: 12vw;
  }
}
@media (max-width: 501px) {
  .message input[type=text] {
    font-size: 4vw !important;
  }
}
@media (max-width: 501px) {
  .message textarea {
    font-size: 4vw !important;
  }
}

.message-list {
  position: relative;
  z-index: 3;
  padding-bottom: 90px;
}
@media (max-width: 501px) {
  .message-list {
    padding-bottom: 18vw;
  }
}
.message-list h3 {
  margin-bottom: 30px;
}
@media (max-width: 501px) {
  .message-list h3 {
    margin-bottom: 6vw;
  }
}
.message-list p {
  margin-bottom: 0 !important;
  font-size: 16px;
  line-height: 1.6;
  color: #3B4B7B;
}
@media (max-width: 501px) {
  .message-list p {
    margin-bottom: 11.2vw;
    font-size: 3.2vw;
  }
}
.message-list .glsr-review {
  position: relative;
  background: url(../img/message-card.png);
  background-size: contain;
  width: 430px;
  height: 325px;
  padding: 10px 30px 10px 34px;
  gap: 0 !important;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 501px) {
  .message-list .glsr-review {
    width: 86vw;
    height: 65vw;
    padding: 2vw 6vw 2vw 6.8vw;
  }
}
.message-list .glsr-review-title h4 {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 72px;
  font-size: 18px;
  height: 63px;
}
@media (max-width: 501px) {
  .message-list .glsr-review-title h4 {
    padding-left: 14.4vw;
    font-size: 3.6vw;
    height: 12.6vw;
  }
}
.message-list .glsr-review-title h4::before {
  content: "";
  left: 10px;
  position: absolute;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-image: var(--bg-image); /* Use the custom property */
}
@media (max-width: 501px) {
  .message-list .glsr-review-title h4::before {
    left: 2vw;
    width: 10vw;
    height: 10vw;
  }
}
.message-list .glsr-review-date {
  display: none !important;
  position: absolute;
  right: 20px !important;
  height: 63px;
  font-size: 14px;
  color: #3f3f3f;
  right: 0;
}
@media (max-width: 501px) {
  .message-list .glsr-review-date {
    right: 4vw !important;
    height: 12.6vw;
    font-size: 2.8vw;
  }
}
.message-list .glsr-review-content {
  padding-top: 16px;
  height: 202px;
}
@media (max-width: 501px) {
  .message-list .glsr-review-content {
    padding-top: 3.2vw;
    height: 40.4vw;
  }
}
.message-list .glsr-review-author {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  color: #676767;
  padding-top: 6px;
  width: 360px !important;
}
@media (max-width: 501px) {
  .message-list .glsr-review-author {
    padding-top: 1.2vw;
    width: 72vw !important;
    font-size: 3.2vw;
  }
}
.message-list .char-counter {
  font-size: 15px;
  color: gray;
}
@media (max-width: 501px) {
  .message-list .char-counter {
    font-size: 12px;
  }
}
.message-list .nav-links {
  width: 430px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #3B4B7B;
  font-size: 16px;
}
@media (max-width: 501px) {
  .message-list .nav-links {
    width: 86.3636363636vw;
  }
}
.message-list .nav-links a {
  border-radius: 4px;
  padding: 3px 6px;
  border: 2px solid #3B4B7B;
  font-weight: bold;
}
@media (max-width: 501px) {
  .message-list .nav-links a {
    padding: 0.6818181818vw 1.3636363636vw;
    border: 0.4545454545vw solid #3B4B7B;
    font-size: 3.6363636364vw;
    width: 6.8181818182vw;
    height: 6.8181818182vw;
  }
}
@media (max-width: 501px) {
  .message-list .nav-links .prev {
    width: 6.8181818182vw;
    height: 6.8181818182vw;
  }
}
.message-list .nav-links .current {
  padding: 0.6818181818vw 1.3636363636vw;
  border: 0.4545454545vw solid #3B4B7B;
  font-size: 3.6363636364vw;
  width: 6.8181818182vw;
  height: 6.8181818182vw;
}
.message-list .nav-links span {
  border-radius: 4px;
  padding: 3px 6px;
  border: 2px solid #3B4B7B;
  background: #3B4B7B;
  color: #fff;
  font-weight: bold;
}
@media (max-width: 501px) {
  .message-list .nav-links span {
    padding: 0.6818181818vw 1.3636363636vw;
    border: 0.4545454545vw solid #3B4B7B;
    font-size: 3.6363636364vw;
    width: 6.8181818182vw;
    height: 6.8181818182vw;
  }
}

.event .page__ttl h2 {
  color: #EEE9F9;
}
.event .page__ttl h3 {
  color: #8556E3;
}

.interview h1 {
  display: none;
}
.interview .page__ttl h3 {
  color: #5368A6;
  line-height: 1.7;
  margin-bottom: 70px;
}
@media (max-width: 501px) {
  .interview .page__ttl h3 {
    margin-bottom: 14vw;
  }
}
.interview .page__ttl h3 span {
  font-size: 32px;
  color: #5368A6;
}
@media (max-width: 501px) {
  .interview .page__ttl h3 span {
    font-size: 6.4vw;
  }
}
.interview .page__ttl h2 {
  color: #d3dfff;
}
.interview .page__ttl .orange {
  color: #FA6E50 !important;
}
.interview .page__ttl a {
  color: #000C2F;
  font-size: 20px;
}
@media (max-width: 501px) {
  .interview .page__ttl a {
    font-size: 4vw;
  }
}
.interview .page__ttl a span {
  color: #000C2F;
  font-size: 20px;
  margin-left: 3px;
}
@media (max-width: 501px) {
  .interview .page__ttl a span {
    font-size: 4vw;
    margin-left: 0.6vw;
  }
}
.interview .news-item {
  border-radius: 10px;
}

.news .page__ttl h2 {
  color: #fff7ae;
}
.news .page__ttl h3 {
  color: #ffe100;
}

.blog .page__ttl h2 {
  color: #FFE8E0;
}
.blog .page__ttl h3 {
  color: #fc6262;
}

.article-archive {
  width: 460px;
  margin: 40px auto;
}
.article-main-img {
  margin-top: -20px;
  width: 500px;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  margin-bottom: 30px;
}
.article-single .sub-container {
  padding-top: 0;
}
.article-single .sub-container h1 {
  font-weight: 600;
  color: #000C2F;
}
.article-single .sub-container .date {
  color: #838383;
  margin-top: 16px;
  font-weight: 600;
  margin-bottom: 40px;
}

.news-item {
  width: 430px;
  margin-bottom: 60px;
  border: 1.5px solid #C3C3C3;
  border-radius: 20px;
  overflow: hidden;
}
@media (max-width: 501px) {
  .news-item {
    width: 86vw;
    border-radius: 2vw;
    margin-bottom: 12vw;
    border-radius: 4vw;
  }
}
.news-item img {
  width: 430px;
  height: 240px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 501px) {
  .news-item img {
    width: 86vw;
    height: 48vw;
  }
}
.news-item-txt {
  padding: 18px 22px;
  font-size: 18px;
  font-weight: 600;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  border-top: 0;
}
@media (max-width: 501px) {
  .news-item-txt {
    width: 86vw;
    padding: 3.6vw 4.4vw;
    font-size: 3.8vw;
  }
}
.news-item-txt h2 {
  color: #000C2F;
}
.news-item-txt .date {
  color: #838383;
  margin-bottom: 12px;
}
@media (max-width: 501px) {
  .news-item-txt .date {
    margin-bottom: 2.4vw;
  }
}
.news-item-txt .detail {
  margin-top: 12px;
  color: #838383;
  text-align: right;
}
@media (max-width: 501px) {
  .news-item-txt .detail {
    margin-top: 2.4vw;
  }
}
@media (max-width: 501px) {
  .news-item-txt {
    border-bottom-left-radius: 2vw;
    border-bottom-right-radius: 2vw;
  }
}

.back-to-archive {
  display: block;
  text-align: center;
  width: 270px;
  margin: 60px auto 110px;
  border: 2px solid #000C2F;
  color: #000C2F;
  font-size: 22px;
  padding: 13px;
  border-radius: 40px;
}
@media (max-width: 501px) {
  .back-to-archive {
    width: 54vw;
    margin: 12vw auto 22vw;
    font-size: 4.4vw;
    padding: 2.8vw;
  }
}

.goto-live {
  margin: 60px auto 60px !important;
}
@media (max-width: 501px) {
  .goto-live {
    margin: 12vw auto 12vw !important;
  }
}

.sub-container {
  max-width: 444px;
  color: #000C2F;
  /* アニメーションの定義 */
}
@media (max-width: 501px) {
  .sub-container {
    max-width: 88.8vw;
    margin: 0vw 5.6vw;
  }
}
.sub-container h1 {
  font-size: 32px;
  color: #000C2F;
  margin-bottom: 30px;
  line-height: 1.7;
}
@media (max-width: 501px) {
  .sub-container h1 {
    font-size: 6.4vw;
    margin-bottom: 6vw;
  }
}
.sub-container .highlight {
  position: relative;
  background: none;
  overflow: hidden;
  display: inline-block;
}
.sub-container .highlight::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: rgba(250, 227, 54, 0.7764705882);
  z-index: -1; /* テキストより後ろに配置 */
  transition: left 1s ease-out; /* アニメーションの速度と効果 */
}
.sub-container .highlight.animate::before {
  left: 0;
}
@keyframes highlight {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
.sub-container .content {
  line-height: 1.9 !important;
}
.sub-container .content .caution {
  font-size: 14px;
}
@media (max-width: 501px) {
  .sub-container .content .caution {
    font-size: 2.8vw;
  }
}
.sub-container .content ul,
.sub-container .content ol,
.sub-container .content li {
  list-style: auto;
  font-size: 18px;
}
@media (max-width: 501px) {
  .sub-container .content ul,
  .sub-container .content ol,
  .sub-container .content li {
    font-size: 3.6vw;
  }
}
.sub-container .content ul, .sub-container .content ol {
  margin-bottom: 18px;
}
@media (max-width: 501px) {
  .sub-container .content ul, .sub-container .content ol {
    margin-bottom: 3.6vw;
  }
}
.sub-container .content li {
  margin-left: 19px;
}
@media (max-width: 501px) {
  .sub-container .content li {
    margin-left: 3.8vw;
  }
}
.sub-container .content a {
  color: #0693e3;
  border-bottom: 1px solid #0693e3;
}
.sub-container .content p {
  margin-bottom: 18px;
  font-size: 20px;
}
@media (max-width: 501px) {
  .sub-container .content p {
    font-size: 4vw;
    margin-bottom: 3.6vw;
  }
}
.sub-container .content h2 {
  position: relative;
  font-weight: bold;
  font-size: 28px;
  padding-left: 18px;
  line-height: 1.7;
  margin: 24px 0;
}
@media (max-width: 501px) {
  .sub-container .content h2 {
    font-size: 5.6vw;
    padding-left: 3.6vw;
    margin: 4.8vw 0;
  }
}
.sub-container .content h2:after {
  content: "";
  position: absolute;
  top: 54%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  left: 0;
  height: 96%;
  width: 5px;
  border-radius: 4px;
  background: rgb(66, 112, 237);
  background: rgb(66, 112, 237);
  background: linear-gradient(180deg, rgb(66, 112, 237) 0%, rgb(164, 227, 223) 47%, rgb(255, 240, 105) 83%, rgb(255, 127, 99) 100%);
}
@media (max-width: 501px) {
  .sub-container .content h2:after {
    width: 1vw;
  }
}
.sub-container .content h3 {
  position: relative;
  font-weight: bold;
  font-size: 23px;
  margin: 34px auto 26px;
  padding-bottom: 10px;
  line-height: 1.7;
}
@media (max-width: 501px) {
  .sub-container .content h3 {
    font-size: 4.6vw;
    margin: 6.8vw auto 5.2vw;
    padding-bottom: 2vw;
  }
}
.sub-container .content h3::after {
  content: "";
  position: absolute;
  background: rgb(66, 112, 237);
  background: linear-gradient(90deg, rgb(66, 112, 237) 0%, rgb(164, 227, 223) 7%, rgb(255, 240, 105) 14%, rgb(255, 127, 99) 20%, rgb(226, 234, 255) 22%, rgb(226, 234, 255) 100%);
  height: 3px;
  width: 100%;
  bottom: 0;
  left: 0;
}
@media (max-width: 501px) {
  .sub-container .content h3::after {
    height: 0.6vw;
  }
}
.sub-container .content sub {
  font-size: 17px;
}
@media (max-width: 501px) {
  .sub-container .content sub {
    font-size: 3.4vw;
  }
}
.sub-container .content .wp-block-table td, .sub-container .content .wp-block-table th {
  border: 1px solid #B9B9B9 !important;
}
.sub-container .content .wp-block-table table {
  font-size: 13px;
  font-weight: 600;
}
@media (max-width: 501px) {
  .sub-container .content .wp-block-table table {
    font-size: 2.4vw;
  }
}
.sub-container .content .wp-block-table table tr {
  height: 42px;
  text-align: center;
}
@media (max-width: 501px) {
  .sub-container .content .wp-block-table table tr {
    height: 8.4vw;
  }
}
.sub-container .content .wp-block-table table tr:first-of-type {
  background: #FFE8E0;
  font-weight: bold;
  height: 50px;
}
.sub-container .content .wp-block-table table tr:first-of-type td {
  font-size: 13px !important;
}
@media (max-width: 501px) {
  .sub-container .content .wp-block-table table tr:first-of-type td {
    font-size: 2.6vw !important;
  }
}
@media (max-width: 501px) {
  .sub-container .content .wp-block-table table tr:first-of-type {
    height: 10vw;
  }
}
.sub-container .content .wp-block-table table tr td {
  vertical-align: middle;
}
.sub-container .content .wp-block-table table tr td:first-of-type {
  text-align: left;
  width: 180px;
  background: #FFE8E0;
  font-size: 14px;
  font-weight: bold;
}
@media (max-width: 501px) {
  .sub-container .content .wp-block-table table tr td:first-of-type {
    font-size: 2.8vw;
  }
}
@media (max-width: 501px) {
  .sub-container .content .wp-block-table table tr td:first-of-type {
    width: 38vw;
  }
}

.blog-all {
  /* ダミー要素は非表示時は高さ 0、表示時は JS でヘッダー高さに */
}
.blog-all .header-placeholder {
  display: block;
  width: 100%;
  height: 0;
}

/* ================================================
   上部アナウンスバー
   ================================================ */
.announcement-bar {
  background-image: linear-gradient(to right, rgba(253, 96, 23, 0.9529411765) 0%, #e8cc70 100%);
  color: #ffffff;
  font-size: 14px;
  line-height: 1.5;
}
@media (max-width: 1280px) {
  .announcement-bar {
    font-size: 1.09375vw;
  }
}
@media (max-width: 768px) {
  .announcement-bar {
    display: none !important;
  }
}

.announcement-bar .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3px 0px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1280px) {
  .announcement-bar .inner {
    max-width: 93.75vw;
  }
}

.announcement-bar p {
  margin: 0;
}

.announcement-bar .tools {
  display: flex;
  align-items: center;
}

/* RSSアイコン */
.announcement-bar .tools .icon.rss {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("path/to/rss-icon.svg") no-repeat center center;
  background-size: contain;
  margin-left: 12px;
}
@media (max-width: 1280px) {
  .announcement-bar .tools .icon.rss {
    width: 1.5625vw;
    height: 1.5625vw;
    margin-left: 0.9375vw;
  }
}

/* 検索フォーム */
.announcement-bar .tools .search-form {
  display: flex;
  align-items: center;
  margin: 0;
}

.announcement-bar .tools .search-form input[type=search] {
  border: none;
  border-radius: 3px;
  padding: 4px 8px;
  font-size: 14px;
}
@media (max-width: 1280px) {
  .announcement-bar .tools .search-form input[type=search] {
    border-radius: 0.234375vw;
    padding: 0.3125vw 0.625vw;
    font-size: 1.09375vw;
  }
}

.announcement-bar .tools .search-form button {
  border: none;
  background: transparent;
  cursor: pointer;
  margin-left: 6px;
  font-size: 14px;
  color: #fff;
}
@media (max-width: 1280px) {
  .announcement-bar .tools .search-form button {
    margin-left: 0.46875vw;
    font-size: 1.09375vw;
  }
}

/* ================================================
   メインヘッダー
   ================================================ */
.site-header {
  background-color: #ffffff;
  border-bottom: 1px solid #e5e5e5;
}
@media (max-width: 1280px) {
  .site-header {
    border-bottom: 0.078125vw solid #e5e5e5;
  }
}
@media (max-width: 768px) {
  .site-header {
    z-index: 9999;
    position: relative;
  }
}

.site-header .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 0px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1280px) {
  .site-header .inner {
    max-width: 93.75vw;
    padding: 1.5625vw 0;
  }
}
@media (max-width: 768px) {
  .site-header .inner {
    padding: 1.3020833333vw 0 1.3020833333vw;
  }
}

.blog-all .fixed {
  padding-bottom: 0 !important;
  position: fixed !important;
}

/* ロゴ */
.site-logo a,
.site-logo img {
  max-height: 40px;
  font-weight: 500;
  font-size: 22px;
  letter-spacing: 0.05em;
}
@media (max-width: 1280px) {
  .site-logo a,
  .site-logo img {
    max-height: 3.125vw;
    font-size: 1.71875vw;
  }
}
@media (max-width: 768px) {
  .site-logo a,
  .site-logo img {
    font-size: 4.1666666667vw;
    max-height: 11.71875vw;
    height: 7.8125vw;
    padding-top: 0vw;
  }
}

/* ヘッダー検索フォーム */
.header-search-form {
  flex: 1;
  max-width: 200px;
  margin: 0 20px;
}
@media (max-width: 1280px) {
  .header-search-form {
    max-width: 15.625vw;
    margin: 0 1.5625vw;
  }
}
@media (max-width: 768px) {
  .header-search-form {
    display: none; /* タブレット以下では非表示 */
  }
}

.header-search-form .search-form {
  position: relative;
  width: 100%;
}

.header-search-form .search-form-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.header-search-form .search-field {
  width: 100%;
  padding: 10px 70px 10px 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.3s;
  background-color: #fff;
  color: #333;
}
.header-search-form .search-field::-webkit-search-decoration, .header-search-form .search-field::-webkit-search-cancel-button, .header-search-form .search-field::-webkit-search-results-button, .header-search-form .search-field::-webkit-search-results-decoration {
  display: none;
  -webkit-appearance: none;
}
@media (max-width: 1280px) {
  .header-search-form .search-field {
    padding: 0.78125vw 5.46875vw 0.78125vw 1.171875vw;
    border-radius: 0.3125vw;
    font-size: 1.09375vw;
  }
}

.header-search-form .search-field::-moz-placeholder {
  color: #999;
}

.header-search-form .search-field::placeholder {
  color: #999;
}

.header-search-form .search-field:focus {
  border-color: #999;
}

.header-search-form .search-clear {
  position: absolute;
  right: 45px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: #999;
  cursor: pointer;
  padding: 0;
  font-size: 20px;
  line-height: 1;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1280px) {
  .header-search-form .search-clear {
    right: 3.515625vw;
    font-size: 1.5625vw;
    width: 1.5625vw;
    height: 1.5625vw;
  }
}

.header-search-form .search-clear:hover {
  color: #333;
}

.header-search-form .search-submit {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 5px;
  font-size: 16px;
}
@media (max-width: 1280px) {
  .header-search-form .search-submit {
    right: 0.78125vw;
    padding: 0.390625vw;
    font-size: 1.25vw;
  }
}

.header-search-form .search-submit:hover {
  color: #333;
}

/* グローバルナビ */
.global-nav .menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}

.global-nav .menu li {
  margin-left: 24px;
}
@media (max-width: 1280px) {
  .global-nav .menu li {
    margin-left: 1.875vw;
  }
}

.global-nav .menu li:first-child {
  margin-left: 0;
}

.global-nav .menu li a {
  text-decoration: none;
  color: #333333;
  font-weight: 500;
  transition: color 0.2s;
}

.global-nav .menu li a:hover {
  color: #073d58;
}

/* ================================================
   レスポンシブ
   ================================================ */
@media (max-width: 768px) {
  .announcement-bar .inner,
  .site-header .inner {
    text-align: center;
    padding: 3.6458333333vw 0;
  }
  .announcement-bar .tools {
    margin-top: 1.0416666667vw;
  }
  .global-nav .menu {
    flex-direction: column;
    margin-top: 1.5625vw;
  }
  .global-nav .menu li {
    margin: 1.0416666667vw 0;
  }
}
/* ----------------------------------------------
 全画面検索オーバーレイ
 ---------------------------------------------- */
.search-overlay {
  display: none; /* 非表示がデフォルト */
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.search-overlay.open {
  display: flex;
}

.search-overlay .overlay-inner {
  background: #fff;
  padding: 24px;
  max-width: 600px;
  width: 90%;
  position: relative;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.search-close {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: none;
  font-size: 16px;
  cursor: pointer;
}

.overlay-search-form {
  display: flex;
  margin-top: 16px;
}

.overlay-search-form input[type=search] {
  flex: 1;
  padding: 12px 16px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 4px 0 0 4px;
}

.overlay-search-form button[type=submit] {
  padding: 0 16px;
  background: #073d58;
  border: none;
  border-radius: 0 4px 4px 0;
  color: #fff;
  cursor: pointer;
}

/* オーバーレイ非表示/表示 */
.search-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.search-overlay.open {
  display: flex;
}

.overlay-inner {
  background: #fff;
  padding: 24px;
  border-radius: 4px;
  max-width: 600px;
  width: 90%;
  position: relative;
}

.search-close {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
}

.overlay-search-form {
  display: flex;
  margin-top: 16px;
}

.overlay-search-form input {
  flex: 1;
  padding: 12px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 4px 0 0 4px;
}

.overlay-search-form button {
  padding: 0 16px;
  border: none;
  background: #073d58;
  color: #fff;
  border-radius: 0 4px 4px 0;
  cursor: pointer;
}

/* アナウンスバー内のボタン調整 */
.announcement-bar .tools .search-toggle {
  background: none;
  border: none;
  color: #fff;
  font-size: 18px;
  margin-left: 12px;
  cursor: pointer;
}

.announcement-bar .tools .search-toggle:hover {
  color: #ffeb3b;
}

#ez-toc-container .ez-toc-js-icon-con, #ez-toc-container .ez-toc-toggle label, .ez-toc-cssicon {
  border: 1px solid #ffffff !important;
}

/* SVG 本体に inline style があっても強制的に白に */
svg.list-377408 path,
svg.arrow-unsorted-368013 path {
  fill: #fff !important;
}

/* もし SVG 側で fill="currentColor" を使っているなら、color を上書きしてもOK */
svg.list-377408,
svg.arrow-unsorted-368013 {
  color: #fff !important;
}

/* ─────────────────────────────────────
   1→2 デザイン切り替え：ビジュアルリンクプレビュー
───────────────────────────────────── */
/* ブロック全体をフラットなカード風に */
.wp-block-visual-link-preview-link.vlp-layout-basic {
  background: #fff; /* 白背景 */
  border: none !important; /* 標準のグレー枠を消す */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border-radius: 6px;
  display: flex !important;
  padding: 16px 20px !important;
  align-items: center;
}
@media (max-width: 1280px) {
  .wp-block-visual-link-preview-link.vlp-layout-basic {
    box-shadow: 0 0.3125vw 0.9375vw rgba(0, 0, 0, 0.08);
    border-radius: 0.46875vw;
    padding: 1.25vw 1.5625vw !important;
  }
}

/* 画像エリア */
.wp-block-visual-link-preview-link .vlp-layout-zone-side {
  flex: 0 0 140px; /* 幅固定 */
  margin-right: 20px;
}
@media (max-width: 1280px) {
  .wp-block-visual-link-preview-link .vlp-layout-zone-side {
    flex: 0 0 10.9375vw;
    margin-right: 1.5625vw;
  }
}

.wp-block-visual-link-preview-link .vlp-layout-zone-side img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
@media (max-width: 1280px) {
  .wp-block-visual-link-preview-link .vlp-layout-zone-side img {
    border-radius: 0.3125vw;
  }
}

/* 矢印（三角）エリアを非表示 */
.wp-block-visual-link-preview-link .vlp-layout-zone-arrow {
  display: none !important;
}

/* テキスト側 */
.wp-block-visual-link-preview-link .vlp-layout-zone-main {
  flex: 1;
  padding: 0 !important;
}

.wp-block-visual-link-preview-link .vlp-layout-zone-main h4 {
  margin: 0 0 8px;
  font-size: 18px;
  color: #073d58;
  line-height: 1.3;
  font-weight: 300;
}
@media (max-width: 1280px) {
  .wp-block-visual-link-preview-link .vlp-layout-zone-main h4 {
    margin: 0 0 0.625vw;
    font-size: 1.40625vw;
  }
}

.wp-block-visual-link-preview-link .vlp-layout-zone-main p {
  margin: 0;
  color: #555;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 300;
}
@media (max-width: 1280px) {
  .wp-block-visual-link-preview-link .vlp-layout-zone-main p {
    font-size: 1.09375vw;
  }
}

.vlp-block-0 {
  font-weight: normal !important;
  font-size: 18px !important;
}
@media (max-width: 1280px) {
  .vlp-block-0 {
    font-size: 1.40625vw !important;
  }
}

.vlp-link-summary {
  font-weight: 300 !important;
  font-size: 14px !important;
}
@media (max-width: 1280px) {
  .vlp-link-summary {
    font-size: 1.09375vw !important;
  }
}

/* フッターの「参考：〜」部分 */
.wp-block-visual-link-preview-link .vlp-layout-zone-footer {
  margin-top: 12px !important;
}
@media (max-width: 1280px) {
  .wp-block-visual-link-preview-link .vlp-layout-zone-footer {
    margin-top: 0.9375vw;
  }
}

.wp-block-visual-link-preview-link .vlp-layout-zone-footer .vlp-layout-zone-footer-inner {
  font-size: 12px;
  color: #888;
}
@media (max-width: 1280px) {
  .wp-block-visual-link-preview-link .vlp-layout-zone-footer .vlp-layout-zone-footer-inner {
    font-size: 0.9375vw;
  }
}

/* Visual Link Preview の「参考：～」部分 */
.vlp-reference {
  font-size: 12px;
  color: #888;
  margin-top: 8px;
  line-height: 1.4;
  text-align: right;
}
@media (max-width: 1280px) {
  .vlp-reference {
    font-size: 0.9375vw;
    margin-top: 0.625vw;
  }
}

.vlp-reference a {
  color: #073d58;
  text-decoration: none;
}

.vlp-reference a:hover {
  text-decoration: underline;
}

/* === ナビ基本 === */
.mega-menu .menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 1280px) {
  .mega-menu .menu {
    font-size: 1.25vw;
  }
}
@media (max-width: 768px) {
  .mega-menu .menu {
    font-size: 2.34375vw;
  }
}

.mega-menu .menu-item {
  position: relative;
  margin-left: 24px;
}
@media (max-width: 1280px) {
  .mega-menu .menu-item {
    margin-left: 1.875vw;
  }
}

.mega-menu .menu-item:first-child {
  margin-left: 0;
}

/* ① 通常リンク */
.mega-menu .menu-item > a {
  text-decoration: none;
  color: #333;
  font-weight: 500;
  padding: 8px 12px;
  display: block;
}
@media (max-width: 1280px) {
  .mega-menu .menu-item > a {
    padding: 0.625vw 0.9375vw;
  }
}

/* ② ホバーでは下線だけ */
.mega-menu .menu-item > a:hover {
  text-decoration: underline;
  background: none;
  color: #333;
}

/* === アプリ用ドロップダウン（メガメニュー）=== */
.menu-apps .apps-dropdown {
  position: absolute;
  top: 100%;
  left: -2%;
  width: 200px; /* お好みで */
  background: #fff;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  display: none;
  z-index: 1000;
}
@media (max-width: 1280px) {
  .menu-apps .apps-dropdown {
    width: 15.625vw;
    padding: 1.5625vw;
    box-shadow: 0 0.3125vw 0.9375vw rgba(0, 0, 0, 0.1);
  }
}
@media (max-width: 768px) {
  .menu-apps .apps-dropdown {
    width: 15.625vw;
  }
}

/* ホバーで展開 */
.menu-apps:hover .apps-dropdown {
  display: block;
}

.app-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1280px) {
  .app-list {
    gap: 1.25vw;
  }
}
@media (max-width: 768px) {
  .app-list {
    justify-items: start;
  }
}

.app-list li img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}
@media (max-width: 1280px) {
  .app-list li img {
    border-radius: 0.3125vw;
  }
}

.app-list li span {
  display: block;
  text-align: center;
  margin-top: 8px;
  color: #073d58;
  font-size: 16px;
}
@media (max-width: 1280px) {
  .app-list li span {
    margin-top: 0.625vw;
    font-size: 1.25vw;
  }
}

/* === 選択中アイテムだけ背景色／文字色反転 === */
.mega-menu .menu-item.current > a {
  background: #073d58;
  color: #fff;
  border-radius: 4px;
  text-decoration: none;
  border-radius: 0.3125vw;
}

/* === お問い合わせは常時グリーンに、ホバーで下線 === */
.menu-item.menu-contact > a {
  color: #95c11f;
  text-decoration: none;
}

.menu-item.menu-contact > a:hover {
  text-decoration: underline;
  color: #95c11f;
}

/* ───────────────────────
   「ライブ配信アプリ」ドロップダウンの縦並び化
──────────────────────── */
.menu-apps .apps-dropdown .app-list {
  display: block; /* グリッドを解除して縦リストに */
  margin: 0;
  padding: 0;
  list-style: none;
}

.menu-apps .apps-dropdown .app-list li {
  margin-bottom: 8px; /* アイテム間の余白 */
}
@media (max-width: 1280px) {
  .menu-apps .apps-dropdown .app-list li {
    margin-bottom: 0.625vw;
  }
}

.menu-apps .apps-dropdown .app-list li:last-child {
  margin-bottom: 0;
}

.menu-apps .apps-dropdown .app-list li a {
  display: inline-block;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background 0.2s, color 0.2s;
}
@media (max-width: 1280px) {
  .menu-apps .apps-dropdown .app-list li a {
    font-size: 1.09375vw;
    padding: 0.3125vw 0.625vw;
    border-radius: 0.3125vw;
  }
}

.menu-apps .apps-dropdown .app-list li a:hover {
  background: #073d58;
  color: #fff;
}

/* ──────────────
   タグアーカイブ ヘッダー装飾
──────────────── */
/* 見出し全体 */
.archive-header {
  border-radius: 8px; /* 角丸 */
  padding: 16px 0px; /* 内側余白 */
  width: 1200px;
  margin: 30px auto; /* 下との余白 */
}
@media (max-width: 1280px) {
  .archive-header {
    border-radius: 0.625vw;
    padding: 1.25vw 0;
    width: 93.75vw;
    margin: 2.34375vw auto;
  }
}
@media (max-width: 768px) {
  .archive-header {
    width: 92.96875vw;
    margin: 2.6041666667vw auto 0;
  }
}

/* タイトル「タグ: ○○」 */
.archive-header .archive-title {
  font-size: 24px;
  font-weight: 700;
  color: #073d58; /* テーマカラー */
  margin: 0;
  position: relative;
  padding-left: 4px;
  border-left: 6px solid #073d58; /* 左アクセントライン */
}
@media (max-width: 1280px) {
  .archive-header .archive-title {
    font-size: 1.875vw;
    padding-left: 0.3125vw;
    border-left: 0.46875vw solid #073d58;
  }
}
@media (max-width: 768px) {
  .archive-header .archive-title {
    font-size: 3.125vw;
  }
}

/* 説明文「○○関連記事」 */
.archive-header .archive-desc {
  font-size: 16px;
  color: #555;
  margin-top: 6px;
  padding-left: 8px;
  border-left: 3px solid #a0e7f5; /* 細めのサブライン */
  line-height: 1.4;
}
@media (max-width: 1280px) {
  .archive-header .archive-desc {
    font-size: 1.25vw;
    margin-top: 0.46875vw;
    padding-left: 0.625vw;
    border-left: 0.234375vw solid #a0e7f5;
  }
}

.site-footer {
  background: transparent; /* 背景色を透明に */
  padding: 24px 0; /* 上下余白 */
  text-align: center;
  font-size: 0.9rem;
  color: #666; /* 薄いグレー */
  border-top: 1px solid #e0e0e0; /* 上部境界線 */
}
@media (max-width: 1280px) {
  .site-footer {
    padding: 1.875vw 0;
    font-size: 1.40625vw;
    border-top: 0.078125vw solid #e0e0e0;
  }
}

.site-footer .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px; /* 左右余白 */
}
@media (max-width: 1280px) {
  .site-footer .inner {
    max-width: 93.75vw;
    padding: 0 1.25vw;
  }
}

.site-footer p {
  margin: 0;
}

/* ─────────────────────
   ページ上部へ戻るボタン
───────────────────── */
/* コンテナ */
#scroll-top {
  position: fixed;
  right: 30px;
  bottom: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-end; /* 右寄せ */
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}
@media (max-width: 768px) {
  #scroll-top {
    right: 3.90625vw;
    bottom: 3.90625vw;
  }
}

#scroll-top.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* ── 矢印部分 ── */
#scroll-top .arrow {
  width: 20px;
  height: 2px;
  /* ←→ 方向にグラデを作ってから */
  background: linear-gradient(to right, #f83600, #f9d423);
  /* 右端を頂点にして上向き斜めに回転 */
  transform-origin: right center;
  transform: rotate(-45deg);
  margin-bottom: 0px;
  transition: transform 0.3s ease;
}
@media (max-width: 501px) {
  #scroll-top .arrow {
    width: 4.5454545455vw;
    height: 0.4545454545vw;
  }
}

/* ── 縦ライン ── */
#scroll-top .line {
  width: 2px;
  height: 60px;
  background: linear-gradient(to bottom, #f83600, #f9d423);
  transition: height 0.3s ease;
}
@media (max-width: 501px) {
  #scroll-top .line {
    width: 0.4545454545vw;
    height: 13.6363636364vw;
  }
}

/* ── 縦書きTOP ── */
#scroll-top .text {
  writing-mode: sideways-rl;
  text-orientation: upright;
  margin-top: -30px;
  margin-right: 8px; /* 線から左にオフセット */
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 600;
  /* テキストをグラデで塗る */
  background: linear-gradient(to bottom, #f83600, #f9d423);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  transition: letter-spacing 0.3s ease;
}
@media (max-width: 501px) {
  #scroll-top .text {
    margin-top: -6.8181818182vw;
    margin-right: 1.8181818182vw;
    font-size: 2.7272727273vw;
    letter-spacing: 0.2604166667vw;
  }
}

/* ── ホバーで動きを追加 ── */
#scroll-top:hover .arrow {
  /* 少し上に動く */
  transform: translateY(-2px) rotate(-45deg);
}

#scroll-top:hover .line {
  height: 70px; /* 線を伸ばす */
}
@media (max-width: 501px) {
  #scroll-top:hover .line {
    height: 14.5454545455vw;
  }
}

#scroll-top:hover .text {
  letter-spacing: 4px; /* 文字間を広げる */
}
@media (max-width: 501px) {
  #scroll-top:hover .text {
    letter-spacing: 0.4545454545vw;
  }
}

/* ── クリックで沈み込み ── */
#scroll-top:active {
  transform: translateY(4px);
}

#scroll-top.show {
  display: flex;
  opacity: 1;
}

#scroll-top.hide {
  opacity: 0;
}

.blog {
  /* ────────────
     関連記事
  ──────────── */
  /* 関連記事 セクションを中央 1200px に */
  /* テーブル全体 */
  /* モバイル（768px 以下など）では固定を外して通常フローに */
}
.blog-archive {
  display: flex;
  align-items: start;
  justify-content: flex-start;
  gap: 0px;
  flex-wrap: wrap;
  width: 900px;
}
@media (max-width: 1280px) {
  .blog-archive {
    gap: 0vw;
    width: 70.3125vw;
  }
}
@media (max-width: 768px) {
  .blog-archive {
    justify-content: space-between;
    width: 95.0520833333vw;
    margin-top: 1.3020833333vw;
    gap: 2.34375vw;
  }
}
@media (max-width: 768px) {
  .blog-archive .article-item-txt {
    width: 100%;
  }
}
.blog-archive .article-item {
  width: 300px;
  border-radius: 0;
  border: none;
  position: relative;
  margin-top: 10px;
  margin-bottom: 10px;
}
@media (max-width: 1280px) {
  .blog-archive .article-item {
    width: 23.4375vw;
  }
  .blog-archive .article-item h2 {
    font-size: 1.40625vw;
  }
}
@media (max-width: 768px) {
  .blog-archive .article-item {
    width: 46.2239583333vw;
  }
  .blog-archive .article-item h2 {
    font-size: 2.34375vw;
  }
}
@media (max-width: 501px) {
  .blog-archive .article-item h2 {
    font-size: 3.6363636364vw;
  }
}
.blog-archive .article-item .post-tags {
  position: absolute;
  top: 0;
  right: 10px;
  z-index: 99;
  font-size: 12px;
  background: #2a2a2a;
  color: rgb(255, 255, 255);
  padding: 2px 4px 2px 6px;
}
@media (max-width: 1280px) {
  .blog-archive .article-item .post-tags {
    right: 0.78125vw;
    font-size: 0.9375vw;
    padding: 0.15625vw 0.3125vw 0.15625vw 0.46875vw;
  }
}
@media (max-width: 768px) {
  .blog-archive .article-item .post-tags {
    font-size: 1.953125vw;
    padding: 0.2604166667vw 0.78125vw 0.5208333333vw 1.171875vw;
  }
}
.blog-archive .article-item .post-tags i {
  color: #888;
  font-size: 12px;
  vertical-align: middle;
}
@media (max-width: 1280px) {
  .blog-archive .article-item .post-tags i {
    font-size: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .blog-archive .article-item .post-tags i {
    font-size: 2.34375vw;
  }
}
.blog-archive .article-item img {
  height: auto;
}
.blog-archive .article-item h2 {
  font-size: 18px;
  line-height: 1.3;
  margin-bottom: 10px;
  margin-top: 10px;
}
@media (max-width: 1280px) {
  .blog-archive .article-item h2 {
    font-size: 1.40625vw;
    margin-bottom: 0.78125vw;
    margin-top: 0.78125vw;
  }
}
@media (max-width: 768px) {
  .blog-archive .article-item h2 {
    font-size: 2.6041666667vw;
  }
}
@media (max-width: 501px) {
  .blog-archive .article-item h2 {
    font-size: 2.7272727273vw;
  }
}
.blog-archive .article-item-txt {
  padding: 0px;
  line-height: 1.5;
}
.blog-archive .article-item-txt .date {
  font-size: 12px;
  font-weight: 200;
}
@media (max-width: 1280px) {
  .blog-archive .article-item-txt .date {
    font-size: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .blog-archive .article-item-txt .date {
    font-size: 2.34375vw;
  }
}
.blog-archive .blog-top-txt {
  font-size: 14px;
  font-weight: 400;
}
@media (max-width: 1280px) {
  .blog-archive .blog-top-txt {
    font-size: 1.09375vw;
  }
}
.blog .share-area {
  text-align: center;
  margin: 60px 0 40px;
  /* クリップボードコピー */
}
@media (max-width: 1280px) {
  .blog .share-area {
    margin: 4.6875vw 0 3.125vw;
  }
}
.blog .share-area .share-label {
  font-size: 1rem;
  color: #073d58;
  margin-bottom: 12px;
}
@media (max-width: 1280px) {
  .blog .share-area .share-label {
    font-size: 1.40625vw;
    margin-bottom: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .blog .share-area .share-label {
    font-size: 2.34375vw;
    margin-bottom: 1.5625vw;
  }
}
@media (max-width: 501px) {
  .blog .share-area .share-label {
    font-size: 3.1818181818vw;
    margin-bottom: 2.7272727273vw;
  }
}
.blog .share-area .share-buttons {
  display: inline-flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 1280px) {
  .blog .share-area .share-buttons {
    gap: 0.625vw;
  }
}
.blog .share-area .share-buttons li {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.blog .share-area .share-buttons li::marker {
  display: none;
  content: "";
}
.blog .share-area .share-buttons li::before {
  display: none;
  content: "";
}
.blog .share-area .share-buttons li a,
.blog .share-area .share-buttons li button {
  display: block;
  width: 48px;
  height: 48px;
  background: #eee;
  border-radius: 4px;
  line-height: 48px;
  font-size: 1.2rem;
  color: #333;
}
@media (max-width: 1280px) {
  .blog .share-area .share-buttons li a,
  .blog .share-area .share-buttons li button {
    width: 3.75vw;
    height: 3.75vw;
    border-radius: 0.3125vw;
    line-height: 3.75vw;
    font-size: 1.5625vw;
  }
}
@media (max-width: 768px) {
  .blog .share-area .share-buttons li a,
  .blog .share-area .share-buttons li button {
    width: 5.2083333333vw;
    height: 5.2083333333vw;
    border-radius: 0.5208333333vw;
    line-height: 5.2083333333vw;
    font-size: 2.34375vw;
  }
}
@media (max-width: 501px) {
  .blog .share-area .share-buttons li a,
  .blog .share-area .share-buttons li button {
    width: 5.9090909091vw;
    height: 5.9090909091vw;
    border-radius: 0.9090909091vw;
    line-height: 5.9090909091vw;
    font-size: 3.1818181818vw;
  }
}
.blog .share-area .share-buttons li a:hover,
.blog .share-area .share-buttons li button:hover {
  background: #ddd;
}
.blog .share-area .copy-link {
  border: none;
  background: none;
  cursor: pointer;
}
.blog .related-posts {
  max-width: 1200px;
  margin: 0 auto 60px; /* 上マージンはお好みで */
  padding: 0 16px; /* スマホ時に左右の余白を少しだけ */
  z-index: 10;
}
@media (max-width: 1280px) {
  .blog .related-posts {
    max-width: 94.53125vw;
    margin: 0 auto 4.6875vw;
    padding: 0 1.25vw;
  }
}
.blog .related-title {
  position: relative;
  font-size: 1.25rem;
  color: #073d58;
  margin-bottom: 24px;
  padding-left: 6px;
}
@media (max-width: 1280px) {
  .blog .related-title {
    font-size: 1.796875vw;
    margin-bottom: 1.875vw;
    padding-left: 0.46875vw;
  }
}
.blog .related-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
  z-index: 10;
}
@media (max-width: 1280px) {
  .blog .related-list {
    gap: 1.5625vw;
  }
}
@media (max-width: 768px) {
  .blog .related-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.6041666667vw;
  }
}
.blog .related-item {
  display: block;
  background: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s;
  z-index: 10;
}
@media (max-width: 1280px) {
  .blog .related-item {
    box-shadow: 0 0.3125vw 0.625vw rgba(0, 0, 0, 0.05);
    border-radius: 0.46875vw;
  }
}
.blog .related-item:hover {
  transform: translateY(-4px);
}
.blog .related-item img {
  width: 100%;
  height: auto;
  display: block;
}
.blog .related-item-txt {
  padding: 12px;
}
@media (max-width: 1280px) {
  .blog .related-item-txt {
    padding: 0.9375vw;
  }
}
.blog .related-item-txt h3 {
  font-size: 1rem;
  margin: 0 0 6px;
}
@media (max-width: 1280px) {
  .blog .related-item-txt h3 {
    font-size: 1.40625vw;
    margin: 0 0 0.46875vw;
  }
}
@media (max-width: 768px) {
  .blog .related-item-txt h3 {
    font-size: 2.34375vw;
  }
}
@media (max-width: 501px) {
  .blog .related-item-txt h3 {
    font-size: 3.1818181818vw;
  }
}
.blog .related-item-txt time {
  font-size: 0.85rem;
  color: #888;
}
@media (max-width: 1280px) {
  .blog .related-item-txt time {
    font-size: 1.484375vw;
  }
}
.blog .recommend-item:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #49a;
  font-weight: bold;
}
.blog .article-item-link {
  display: block;
  color: inherit;
  text-decoration: none;
  padding: 0 10px;
}
@media (max-width: 1280px) {
  .blog .article-item-link {
    padding: 0 0.78125vw;
  }
}
.blog .article-thumb-wrap {
  overflow: hidden;
}
.blog .article-thumb {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.3s ease;
}
.blog .article-item-link:hover .article-thumb {
  transform: scale(1.1);
}
.blog .article-thumb-wrap {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 4px 4px -4px rgba(0, 0, 0, 0.1);
}
@media (max-width: 1280px) {
  .blog .article-thumb-wrap {
    box-shadow: 0 0.15625vw 0.625vw rgba(0, 0, 0, 0.1), 0 0.3125vw 0.3125vw -0.3125vw rgba(0, 0, 0, 0.1);
  }
}
.blog .blog .post-body {
  margin-top: 40px;
}
@media (max-width: 1280px) {
  .blog .blog .post-body {
    margin-top: 3.125vw;
  }
}
.blog .blog .post-body figure img {
  margin-bottom: 10px;
}
@media (max-width: 1280px) {
  .blog .blog .post-body figure img {
    margin-bottom: 0.78125vw;
  }
}
@media (max-width: 768px) {
  .blog .blog .post-body figure img {
    margin-bottom: 1.3020833333vw;
  }
}
.blog .blog .post-image {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.192), 0 4px 4px -8px rgba(0, 0, 0, 0.166);
}
@media (max-width: 1280px) {
  .blog .blog .post-image {
    box-shadow: 0 0.3125vw 0.78125vw rgba(0, 0, 0, 0.192), 0 0.3125vw 0.3125vw -0.625vw rgba(0, 0, 0, 0.1);
  }
}
.blog .js-sticky-sidebar {
  /* Safari 対応 */
  position: sticky;
  /* 上から何pxスクロールしたら固定を開始するか */
  top: 110px;
  /* 横幅を狭くしない */
  flex: 0 0 auto;
}
@media (max-width: 1280px) {
  .blog .js-sticky-sidebar {
    top: 8.59375vw;
  }
}
@media (max-width: 768px) {
  .blog .js-sticky-sidebar {
    position: static;
    top: auto;
  }
}

/* アーカイブページ専用: blog-archiveの幅を100%に */
.archive_b .blog-archive {
  width: 100% !important;
}

/* ========================================
   共通ボタンコンポーネント
   ======================================== */
/* ボタンラッパー（単体ボタン用） */
.entry-button-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
@media (max-width: 1280px) {
  .entry-button-wrapper {
    margin-top: 3.125vw;
  }
}
@media (max-width: 768px) {
  .entry-button-wrapper {
    margin-top: 4.5572916667vw;
  }
}
@media (max-width: 501px) {
  .entry-button-wrapper {
    margin-top: 6.8181818182vw;
  }
}

/* ボタンラッパー（複数ボタン用） */
.entry-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1280px) {
  .entry-buttons {
    gap: 1.5625vw;
  }
}
@media (max-width: 768px) {
  .entry-buttons {
    flex-direction: column;
    gap: 15px;
  }
}
@media (max-width: 501px) {
  .entry-buttons {
    gap: 3.4090909091vw;
  }
}

/* ボタン基本スタイル */
.entry-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 200px;
  padding: 16px 35px;
  font-size: 17px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 50px;
  transition: all 0.3s ease;
  position: relative;
}
@media (max-width: 1280px) {
  .entry-btn {
    gap: 0.625vw;
    min-width: 15.625vw;
    padding: 1.25vw 2.734375vw;
    font-size: 1.328125vw;
  }
}
@media (max-width: 768px) {
  .entry-btn {
    width: 100%;
    max-width: 300px;
    padding: 14px 30px;
    font-size: 16px;
  }
}
@media (max-width: 501px) {
  .entry-btn {
    padding: 2.7272727273vw 6.3636363636vw;
    font-size: 3.4090909091vw;
  }
}

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

/* プライマリボタン（グラデーション） */
.btn-primary {
  background: linear-gradient(135deg, #ff6b6b 0%, #ff8e53 100%);
  color: #ffffff;
  box-shadow: 0 6px 20px rgba(255, 107, 107, 0.3);
}
.btn-primary:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 10px 30px rgba(255, 107, 107, 0.4);
}
.btn-primary:active {
  transform: translateY(-1px) scale(1);
}

/* セカンダリボタン（白背景） */
.btn-secondary {
  background: #ffffff;
  color: #ff6b6b;
  border: 2px solid #ff6b6b;
  box-shadow: 0 4px 15px rgba(255, 107, 107, 0.15);
}
@media (max-width: 1280px) {
  .btn-secondary {
    border: 0.15625vw solid #ff6b6b;
  }
}
@media (max-width: 768px) {
  .btn-secondary {
    border: 0.2604166667vw solid #ff6b6b;
  }
}
.btn-secondary:hover {
  background: #fff5f5;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 8px 25px rgba(255, 107, 107, 0.25);
}
.btn-secondary:active {
  transform: translateY(-1px) scale(1);
}

/* ========================================
   LINE ENTRY SECTION (可愛いデザイン)
   ======================================== */
.line-entry-section {
  margin: 60px 0;
  padding: 0 20px;
}
@media (max-width: 1280px) {
  .line-entry-section {
    margin: 4.6875vw 0;
    padding: 0 1.5625vw;
  }
}
@media (max-width: 768px) {
  .line-entry-section {
    margin: 40px 0;
    padding: 0 15px;
  }
}
@media (max-width: 501px) {
  .line-entry-section {
    margin: 9.0909090909vw 0;
    padding: 0 3.4090909091vw;
  }
}

.line-entry-container {
  max-width: 1200px;
  margin: 0 auto;
  background: linear-gradient(135deg, #fff5f5 0%, #fff8e1 100%);
  border-radius: 24px;
  padding: 50px 40px;
  position: relative;
  box-shadow: 0 8px 30px rgba(248, 54, 0, 0.08);
  border: 3px dashed #ffccbc;
}
@media (max-width: 1280px) {
  .line-entry-container {
    max-width: 93.75vw;
    border-radius: 1.875vw;
    padding: 3.90625vw 3.125vw;
    box-shadow: 0 0.625vw 2.34375vw rgba(248, 54, 0, 0.08);
    border: 0.234375vw dashed #ffccbc;
  }
}
@media (max-width: 768px) {
  .line-entry-container {
    padding: 35px 25px;
    border-radius: 20px;
    border-width: 2px;
  }
}
@media (max-width: 501px) {
  .line-entry-container {
    padding: 7.9545454545vw 5.6818181818vw;
    border-radius: 4.5454545455vw;
    border-width: 0.4545454545vw;
  }
}

/* 上部の装飾（丸） */
.entry-decoration-top {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 20px;
}
@media (max-width: 1280px) {
  .entry-decoration-top {
    gap: 0.9375vw;
    margin-bottom: 1.5625vw;
  }
}
@media (max-width: 768px) {
  .entry-decoration-top {
    gap: 1.5625vw;
    margin-bottom: 2.6041666667vw;
  }
}

.decoration-circle {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff9a9e 0%, #fad0c4 100%);
  animation: bounce 2s infinite;
}
@media (max-width: 1280px) {
  .decoration-circle {
    width: 0.9375vw;
    height: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .decoration-circle {
    width: 1.5625vw;
    height: 1.5625vw;
  }
}
.decoration-circle:nth-child(2) {
  animation-delay: 0.2s;
  background: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);
}
.decoration-circle:nth-child(3) {
  animation-delay: 0.4s;
  background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}
@keyframes twinkle {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.2);
  }
}
@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
.entry-content {
  text-align: center;
}

/* タイトル */
.entry-title {
  font-size: 26px;
  font-weight: 700;
  color: #333;
  margin-bottom: 12px;
  line-height: 1.6;
}
@media (max-width: 1280px) {
  .entry-title {
    font-size: 2.03125vw;
    margin-bottom: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .entry-title {
    font-size: 20px;
    margin-bottom: 10px;
  }
}
@media (max-width: 501px) {
  .entry-title {
    font-size: 4.5454545455vw;
    margin-bottom: 2.2727272727vw;
  }
}

.entry-subtitle {
  display: block;
  font-size: 16px;
  font-weight: 500;
  color: #ff6b6b;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
@media (max-width: 1280px) {
  .entry-subtitle {
    font-size: 1.25vw;
    margin-bottom: 0.625vw;
  }
}
@media (max-width: 768px) {
  .entry-subtitle {
    font-size: 14px;
  }
}
@media (max-width: 501px) {
  .entry-subtitle {
    font-size: 3.1818181818vw;
  }
}

/* 説明文 */
.entry-description {
  font-size: 16px;
  color: #666;
  margin-bottom: 30px;
}
@media (max-width: 1280px) {
  .entry-description {
    font-size: 1.25vw;
    margin-bottom: 2.34375vw;
  }
}
@media (max-width: 768px) {
  .entry-description {
    font-size: 14px;
    margin-bottom: 25px;
  }
}
@media (max-width: 501px) {
  .entry-description {
    font-size: 3.1818181818vw;
    margin-bottom: 5.6818181818vw;
  }
}

.sp-only {
  display: none;
}
@media (max-width: 768px) {
  .sp-only {
    display: inline;
  }
}

/* ========================================
   タグリストコンポーネント
   ======================================== */
/* 共通スタイル：メインコンテンツ & サイドバー両方に適用 */
.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  list-style: none !important;
  margin: 0;
  padding: 0;
}
@media (max-width: 1280px) {
  .tag-list {
    gap: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .tag-list {
    gap: 1.3020833333vw;
  }
}
@media (max-width: 501px) {
  .tag-list {
    gap: 1.8181818182vw;
  }
}
.tag-list li {
  margin: 0;
  padding-left: 0;
  list-style: none !important;
  list-style-type: none !important;
  /* ::marker を完全に消す */
}
.tag-list li::marker {
  display: none !important;
  content: "" !important;
}
.tag-list li::before {
  display: none !important;
  content: "" !important;
}
.tag-list li a {
  display: inline-block;
  padding: 8px 16px;
  background-color: #f5f5f5;
  color: #333;
  text-decoration: none;
  border-radius: 20px;
  font-size: 14px;
  border: 1px solid #e0e0e0;
  transition: all 0.3s ease;
}
@media (max-width: 1280px) {
  .tag-list li a {
    padding: 0.625vw 1.25vw;
    border-radius: 1.5625vw;
    font-size: 1.09375vw;
    border: 0.078125vw solid #e0e0e0;
  }
}
@media (max-width: 768px) {
  .tag-list li a {
    padding: 0.9114583333vw 1.8229166667vw;
    font-size: 1.6927083333vw;
  }
}
@media (max-width: 501px) {
  .tag-list li a {
    padding: 1.3636363636vw 2.7272727273vw;
    font-size: 2.7272727273vw;
  }
}
.tag-list li a:hover {
  background-color: #ff6b6b;
  color: #fff;
  border-color: #ff6b6b;
  transform: translateY(-2px);
}

.blog {
  /* SVG 本体に inline style があっても強制的に白に */
  /* もし SVG 側で fill="currentColor" を使っているなら、color を上書きしてもOK */
}
.blog #ez-toc-container {
  margin-top: 30px !important;
  border-radius: 0px;
  padding: 0;
  border: 1px solid #fa6914;
}
@media (max-width: 1280px) {
  .blog #ez-toc-container {
    margin-top: 2.34375vw !important;
    border: 0.078125vw solid #fa6914;
  }
}
@media (max-width: 768px) {
  .blog #ez-toc-container {
    margin-top: 3.90625vw !important;
    margin-bottom: 4.5572916667vw !important;
  }
}
@media (max-width: 768px) {
  .blog #ez-toc-container .ez-toc-icon-toggle-span {
    width: 5.9895833333vw;
    height: 5.2083333333vw;
  }
}
@media (max-width: 768px) {
  .blog #ez-toc-container .ez-toc-title-toggle .ez-toc-js-icon-con {
    width: 6.5104166667vw !important;
  }
}
@media (max-width: 768px) {
  .blog #ez-toc-container .ez-toc-pull-right {
    margin-left: 0;
  }
}
.blog #ez-toc-container .ez-toc-title-container {
  position: relative;
  background: #fa6914;
  padding: 10px 0 14px 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1280px) {
  .blog #ez-toc-container .ez-toc-title-container {
    padding: 0.78125vw 0 1.09375vw 0;
  }
}
.blog #ez-toc-container .ez-toc-title-container .ez-toc-title {
  color: #fff !important;
}
@media (max-width: 768px) {
  .blog #ez-toc-container .ez-toc-title-container .ez-toc-title {
    font-size: 2.34375vw;
  }
}
@media (max-width: 501px) {
  .blog #ez-toc-container .ez-toc-title-container .ez-toc-title {
    font-size: 4.5454545455vw;
  }
}
.blog #ez-toc-container .ez-toc-title-container span {
  background: none;
}
.blog #ez-toc-container nav {
  padding: 10px 20px;
}
@media (max-width: 1280px) {
  .blog #ez-toc-container nav {
    padding: 0.78125vw 1.5625vw;
    font-size: 1.5625vw;
  }
}
@media (max-width: 768px) {
  .blog #ez-toc-container nav {
    padding: 1.3020833333vw 2.6041666667vw;
    font-size: 2.6041666667vw;
  }
}
@media (max-width: 501px) {
  .blog #ez-toc-container nav {
    font-size: 3.8636363636vw;
  }
}
.blog .ez-toc-title-toggle svg.list-377408 {
  width: 40px;
  height: 40px;
}
.blog #ez-toc-container .ez-toc-js-icon-con,
.blog #ez-toc-container .ez-toc-toggle label,
.blog .ez-toc-cssicon {
  border: 1px solid #ffffff !important;
}
.blog svg.list-377408 path,
.blog svg.arrow-unsorted-368013 path {
  fill: #fff !important;
}
.blog svg.list-377408,
.blog svg.arrow-unsorted-368013 {
  color: #fff !important;
}

.page_blog.archive_b {
  background: radial-gradient(circle at 85% 85%, rgba(255, 182, 193, 0.12) 0%, transparent 45%), radial-gradient(circle at 15% 20%, rgba(173, 216, 230, 0.12) 0%, transparent 45%), radial-gradient(circle at 70% 30%, rgba(221, 160, 221, 0.12) 0%, transparent 45%), radial-gradient(circle at 30% 70%, rgba(255, 218, 185, 0.1) 0%, transparent 45%), #ffffff;
}

.blog .section-subtitle {
  font-size: 28px;
  font-weight: bold;
  color: #073d58;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 2px solid #fa6914;
}
@media (max-width: 1280px) {
  .blog .section-subtitle {
    font-size: 2.1875vw;
    margin-bottom: 2.34375vw;
    padding-bottom: 0.78125vw;
    border-bottom: 0.15625vw solid #fa6914;
  }
}
@media (max-width: 768px) {
  .blog .section-subtitle {
    font-size: 3.125vw;
    margin-bottom: 3.2552083333vw;
    padding-bottom: 1.0416666667vw;
  }
}
@media (max-width: 501px) {
  .blog .section-subtitle {
    font-size: 5vw;
    margin-bottom: 4.5454545455vw;
  }
}
.blog .container-blog-list {
  max-width: 1200px !important;
  margin-top: 40px;
  flex-direction: column !important;
}
@media (max-width: 1280px) {
  .blog .container-blog-list {
    max-width: 95.3125vw !important;
    margin-top: 3.125vw;
  }
}
@media (max-width: 768px) {
  .blog .container-blog-list {
    max-width: 95.0520833333vw !important;
  }
}

.blog-mv-section {
  width: 100%;
  padding: 0 0 40px 0;
}
.blog-mv-section .blog-mv-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
}
.blog-mv-section .blog-mv-content {
  position: absolute;
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
  z-index: 2;
  max-width: 450px;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 8px;
}
.blog-mv-section .blog-mv-content .blog-mv-title {
  font-size: 2rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 16px;
  line-height: 1.4;
  opacity: 0;
  animation: fadeInUp 0.8s ease-out 0.2s forwards;
}
.blog-mv-section .blog-mv-content .blog-mv-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  margin-top: 12px;
  border-radius: 2px;
  animation: slideIn 0.6s ease-out 0.8s forwards;
  transform: scaleX(0);
  transform-origin: left;
}
.blog-mv-section .blog-mv-content .blog-mv-description {
  font-size: 1rem;
  color: #666;
  line-height: 1.8;
  opacity: 0;
  animation: fadeInUp 0.8s ease-out 0.6s forwards;
}
.blog-mv-section .liver-channel-banner {
  display: flex;
  justify-content: flex-end;
}
.blog-mv-section .liver-channel-banner img {
  width: 80%;
  height: auto;
  display: block;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .blog-mv-section {
    padding: 0 0 20px 0;
  }
  .blog-mv-section .blog-mv-content {
    left: 20px;
    max-width: 45%;
  }
  .blog-mv-section .blog-mv-content .blog-mv-title {
    font-size: 1.3rem;
    margin-bottom: 12px;
  }
  .blog-mv-section .blog-mv-content .blog-mv-description {
    font-size: 0.8rem;
    line-height: 1.6;
  }
  .blog-mv-section .liver-channel-banner img {
    width: 90%;
  }
}
@media (max-width: 480px) {
  .blog-mv-section {
    padding: 0 0 10px 0;
  }
  .blog-mv-section .blog-mv-content {
    left: 10px;
    max-width: 65%;
    padding: 10px;
  }
  .blog-mv-section .blog-mv-content .blog-mv-title {
    font-size: 1rem;
    margin-bottom: 8px;
  }
  .blog-mv-section .blog-mv-content .blog-mv-title::after {
    width: 40px;
    height: 3px;
    margin-top: 8px;
  }
  .blog-mv-section .blog-mv-content .blog-mv-description {
    font-size: 0.65rem;
    line-height: 1.5;
  }
  .blog-mv-section .liver-channel-banner img {
    width: 95%;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideIn {
  to {
    transform: scaleX(1);
  }
}
.archive-section {
  display: flex;
  flex-direction: column;
  margin-bottom: 60px;
}
@media (max-width: 1280px) {
  .archive-section {
    margin-bottom: 4.6875vw;
  }
}
@media (max-width: 768px) {
  .archive-section {
    margin-bottom: 6.5104166667vw;
  }
}
@media (max-width: 501px) {
  .archive-section {
    margin-bottom: 9.0909090909vw;
  }
}

.recommended-section {
  margin-bottom: 60px;
}
@media (max-width: 1280px) {
  .recommended-section {
    margin-bottom: 4.6875vw;
  }
}
@media (max-width: 768px) {
  .recommended-section {
    margin-bottom: 6.5104166667vw;
  }
}
@media (max-width: 501px) {
  .recommended-section {
    margin-bottom: 9.0909090909vw;
  }
}

/* ================================================
   ブログ本文内のリスト（ul, ol, li）スタイル
   ================================================ */
.blog ul:not(.tag-list),
.blog ol {
  margin: 20px 0; /* リスト上下の余白 */
  padding-left: 20px; /* インデント幅 */
}
@media (max-width: 1280px) {
  .blog ul:not(.tag-list),
  .blog ol {
    margin: 1.5625vw 0;
    padding-left: 1.5625vw;
  }
}
@media (max-width: 768px) {
  .blog ul:not(.tag-list),
  .blog ol {
    margin: 2.6041666667vw 0;
    padding-left: 3.6458333333vw;
  }
}
@media (max-width: 501px) {
  .blog ul:not(.tag-list),
  .blog ol {
    margin: 4.5454545455vw 0;
  }
}

.blog ul:not(.tag-list) {
  list-style-type: disc; /* 丸いドット */
}

.blog ol {
  list-style-type: decimal; /* 数字リスト */
}
@media (max-width: 768px) {
  .blog ol {
    padding-left: 4.9479166667vw;
  }
}

/* マーカー（ドット／数字）の色や太さを調整 */
.blog ul:not(.tag-list) li::marker {
  color: #073d58;
  font-size: 16px;
}
@media (max-width: 1280px) {
  .blog ul:not(.tag-list) li::marker {
    font-size: 1.25vw;
  }
}

.blog ol li::marker {
  color: #073d58;
  font-weight: bold;
}

/* 各リストアイテム の行間と間隔 */
.blog li:not(.tag-list li) {
  margin-bottom: 12px;
  line-height: 1.7;
}
@media (max-width: 1280px) {
  .blog li:not(.tag-list li) {
    margin-bottom: 0.9375vw;
  }
}

/* ネストされたリストは別のスタイルに */
.blog ul:not(.tag-list) ul {
  list-style-type: circle !important;
}
.blog ul:not(.tag-list) li {
  list-style-type: disc !important;
}

.blog ol ol {
  list-style-type: lower-alpha !important;
}
.blog ol li {
  list-style-type: auto !important;
}

/* 強調文字（strongタグ）に下からマーカー風ハイライトを付ける */
.blog .post-body h4 {
  /* 下線や他の境界線を消しておく */
  border: none;
  /* 左だけ幅を確保して透明に */
  border-left: 4px solid transparent;
  padding-left: 10px; /* 線とテキストの間隔 */
  margin: 30px auto;
  font-weight: 19px;
  font-weight: bold;
  /* グラデーションを border-image で当てる */
  -o-border-image: linear-gradient(to bottom, #f83600 0%, #f9d423 100%) 1;
     border-image: linear-gradient(to bottom, #f83600 0%, #f9d423 100%) 1; /* slice:1 で全体に適用 */
}

/* 色だけ変えたいときはこの部分を好きな色に */
.blog strong {
  /* 例：淡いオレンジにしたいなら */
  /* background-image: linear-gradient(to top, #fff 60%, #ffd180 0); */
}

h3 strong {
  background-image: none !important;
}

.blog .appreach {
  text-align: left;
  padding: 10px;
  border: 1px solid #7C7C7C;
  overflow: hidden;
}
@media (max-width: 1280px) {
  .blog .appreach {
    padding: 0.78125vw;
    border: 0.078125vw solid #7C7C7C;
  }
}
.blog .appreach:after {
  content: "";
  display: block;
  clear: both;
}
.blog .appreach p {
  margin: 0;
}
.blog .appreach a:after {
  display: none;
}
.blog .appreach__icon {
  float: left;
  border-radius: 10%;
  overflow: hidden;
  margin: 0 3% 0 0 !important;
  width: 25% !important;
  height: auto !important;
  max-width: 120px !important;
}
@media (max-width: 1280px) {
  .blog .appreach__icon {
    max-width: 9.375vw !important;
  }
}
.blog .appreach__detail {
  display: inline-block;
  font-size: 20px;
  line-height: 1.5;
  width: 72%;
  max-width: 72%;
}
@media (max-width: 1280px) {
  .blog .appreach__detail {
    font-size: 1.5625vw;
  }
}
.blog .appreach__detail:after {
  content: "";
  display: block;
  clear: both;
}
.blog .appreach__name {
  font-size: 16px;
  line-height: 24px !important;
  max-height: 48px;
  overflow: hidden;
}
@media (max-width: 1280px) {
  .blog .appreach__name {
    font-size: 1.25vw;
    line-height: 1.875vw !important;
    max-height: 3.75vw;
  }
}
.blog .appreach__info {
  font-size: 12px !important;
}
@media (max-width: 1280px) {
  .blog .appreach__info {
    font-size: 0.9375vw !important;
  }
}
.blog .appreach__developper, .blog .appreach__price {
  margin-right: 8px;
}
@media (max-width: 1280px) {
  .blog .appreach__developper, .blog .appreach__price {
    margin-right: 0.625vw;
  }
}
.blog .appreach__posted a {
  margin-left: 8px;
}
@media (max-width: 1280px) {
  .blog .appreach__posted a {
    margin-left: 0.625vw;
  }
}
.blog .appreach__links {
  float: left;
  height: 40px;
  margin-top: 8px;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .blog .appreach__links {
    height: 3.125vw;
    margin-top: 0.625vw;
  }
}
.blog .appreach__aslink img {
  margin-right: 10px;
  height: 40px;
  width: 135px;
}
@media (max-width: 1280px) {
  .blog .appreach__aslink img {
    margin-right: 0.78125vw;
    height: 3.125vw;
    width: 10.546875vw;
  }
}
.blog .appreach__gplink img {
  height: 40px;
  width: 134.5px;
}
@media (max-width: 1280px) {
  .blog .appreach__gplink img {
    height: 3.125vw;
    width: 8.9666666667vw;
  }
}
.blog .appreach__star {
  position: relative;
  font-size: 14px !important;
  height: 24px;
  width: 90px;
}
@media (max-width: 1280px) {
  .blog .appreach__star {
    font-size: 1.09375vw !important;
    height: 1.875vw;
    width: 7.03125vw;
  }
}
.blog .appreach__star__base {
  position: absolute;
  color: #737373;
}
.blog .appreach__star__evaluate {
  position: absolute;
  color: #ffc107;
  overflow: hidden;
  white-space: nowrap;
}

/* テーブルA */
.custom-table-a table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px auto;
  text-align: center !important;
}
@media (max-width: 1280px) {
  .custom-table-a table {
    margin: 2.34375vw auto;
  }
}
@media (max-width: 768px) {
  .custom-table-a table {
    margin: 3.90625vw auto;
    width: -moz-max-content !important;
    width: max-content !important; /* 中身の最大幅まで自動拡張 */
    min-width: 100%;
    table-layout: fixed; /* 幅制御を自動から固定に寄せる */
    border-collapse: collapse;
  }
}
@media (max-width: 501px) {
  .custom-table-a table {
    font-size: 2.9545454545vw !important;
  }
}

.custom-table-a th {
  background: #fa6914;
  color: #fff;
  padding: 12px;
  text-align: center !important;
  vertical-align: middle; /* 縦方向の中央揃え */
}
@media (max-width: 1280px) {
  .custom-table-a th {
    padding: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .custom-table-a th {
    padding: 1.5625vw;
    white-space: nowrap; /* 折り返し禁止 */
  }
}

.custom-table-a td {
  border-top: 1px solid #fa6914;
  padding: 12px;
  vertical-align: middle;
}
@media (max-width: 1280px) {
  .custom-table-a td {
    border-top: 0.078125vw solid #fa6914;
    padding: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .custom-table-a td {
    padding: 1.5625vw;
    white-space: nowrap; /* 折り返し禁止 */
  }
}

/* 3列目（リンク列）の a にだけ適用 */
.custom-table-a tbody tr td:last-child a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 20px;
  margin: 6px auto;
  min-width: 160px;
  background: linear-gradient(45deg, #4a78e2, #6b9efa);
  color: #fff;
  font-weight: 600;
  border-radius: 24px;
  /* デフォルトは軽く浮かせて見せる */
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
@media (max-width: 1280px) {
  .custom-table-a tbody tr td:last-child a {
    padding: 0.3125vw 1.5625vw;
    margin: 0.46875vw auto;
    min-width: 12.5vw;
    border-radius: 1.875vw;
    box-shadow: 0 0.46875vw 0.9375vw rgba(0, 0, 0, 0.2);
  }
}
@media (max-width: 768px) {
  .custom-table-a tbody tr td:last-child a {
    padding: 0.5208333333vw 2.6041666667vw;
    margin: 0.78125vw auto;
    min-width: 20.8333333333vw;
    border-radius: 3.125vw;
    box-shadow: 0 0.78125vw 1.5625vw rgba(0, 0, 0, 0.2);
  }
}

/* ホバーで2px 下に移動し、シャドウを小さくして沈み込み感 */
.custom-table-a tbody tr td:last-child a:hover {
  transform: translateY(2px);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}
@media (max-width: 1280px) {
  .custom-table-a tbody tr td:last-child a:hover {
    box-shadow: 0 0.234375vw 0.46875vw rgba(0, 0, 0, 0.15);
  }
}
@media (max-width: 768px) {
  .custom-table-a tbody tr td:last-child a:hover {
    box-shadow: 0 0.390625vw 1.3636363636vw rgba(0, 0, 0, 0.15);
  }
}

/* クリック時はさらに深く沈み込む */
.custom-table-a tbody tr td:last-child a:active {
  transform: translateY(4px);
  /* inset 影で押し込み感をプラス */
  box-shadow: inset 0 4px 8px rgba(0, 0, 0, 0.25);
}
@media (max-width: 1280px) {
  .custom-table-a tbody tr td:last-child a:active {
    box-shadow: inset 0 0.3125vw 0.625vw rgba(0, 0, 0, 0.25);
  }
}
@media (max-width: 768px) {
  .custom-table-a tbody tr td:last-child a:active {
    box-shadow: inset 0 0.5208333333vw 1.8181818182vw rgba(0, 0, 0, 0.25);
  }
}

/* —— パターンB：行の交互に背景色 —— */
/* ※奇数行を薄いグレー、偶数行を白に */
.custom-table-b tbody tr:nth-child(odd) {
  background-color: #f9f9f9;
}

.custom-table-b tbody tr:nth-child(even) {
  background-color: #ffffff;
}

/* 必要に応じて th も交互に色を変えたい場合 */
/* .custom-table-b thead tr th:nth-child(odd) { background: #ececec; } */
/* --- パターンB：比較表 --- */
.custom-table-b table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px auto;
  text-align: center !important;
}
.custom-table-b table .thead {
  border-bottom: none !important;
}
@media (max-width: 1280px) {
  .custom-table-b table {
    margin: 2.34375vw auto;
  }
}
@media (max-width: 768px) {
  .custom-table-b table {
    margin: 3.90625vw auto;
    width: -moz-max-content !important;
    width: max-content !important; /* 中身の最大幅まで自動拡張 */
    min-width: 100%;
    table-layout: fixed; /* 幅制御を自動から固定に寄せる */
    border-collapse: collapse;
  }
}
@media (max-width: 501px) {
  .custom-table-b table {
    font-size: 2.9545454545vw !important;
  }
}

.custom-table-b th {
  background: #fa6914;
  color: #fff;
  padding: 12px;
  border: none !important;
  text-align: center !important;
  vertical-align: middle; /* 縦方向の中央揃え */
}
@media (max-width: 1280px) {
  .custom-table-b th {
    padding: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .custom-table-b th {
    padding: 1.5625vw;
    white-space: nowrap;
  }
}

.custom-table-b td {
  border: none !important;
  padding: 12px;
  vertical-align: middle; /* 縦方向の中央揃え */
}
@media (max-width: 1280px) {
  .custom-table-b td {
    padding: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .custom-table-b td {
    padding: 1.5625vw;
    white-space: nowrap;
  }
}

/* --- パターンC：会社情報 --- */
.custom-table-c table {
  width: 100%;
  margin: 30px auto;
  border-collapse: collapse;
}
@media (max-width: 1280px) {
  .custom-table-c table {
    margin: 2.34375vw auto;
  }
}
@media (max-width: 768px) {
  .custom-table-c table {
    margin: 3.90625vw auto;
    font-size: 2.6041666667vw !important;
    border: 0.1302083333vw solid #7b7b7b;
  }
}
@media (max-width: 501px) {
  .custom-table-c table {
    font-size: 3.4090909091vw !important;
    border: 0.2272727273vw solid #7b7b7b;
  }
}

@media (max-width: 768px) {
  .custom-table-c tr {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
}

.custom-table-c td:first-child {
  background: #FFF4E1;
  font-weight: bold;
}

.custom-table-c th {
  width: 30%;
  background: #FFF4E1;
  padding: 12px;
  text-align: left;
  vertical-align: top;
}
@media (max-width: 1280px) {
  .custom-table-c th {
    padding: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .custom-table-c th {
    width: 100%;
    padding: 1.5625vw;
    border: none !important;
  }
}

.custom-table-c td {
  border-top: 1px solid #ccc;
  padding: 12px;
}
@media (max-width: 1280px) {
  .custom-table-c td {
    border-top: 0.078125vw solid #ccc;
    padding: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .custom-table-c td {
    width: 100%;
    border-top: none;
    padding: 1.5625vw;
    border: none !important;
  }
}

.custom-table-c a {
  color: #0066cc;
  text-decoration: underline;
}

/* ==========================================================================
   パターンD：Q&A ブロック（丸アイコン＋テキスト完全トレース）
   ========================================================================== */
/* ─────────────────────────────────────────────
   パターンD：Q&A ブロック
   ───────────────────────────────────────────── */
.custom-qa {
  background-color: #f6f6f6;
  border-radius: 4px;
  margin: 30px auto;
}
@media (max-width: 1280px) {
  .custom-qa {
    border-radius: 0.3125vw;
    margin: 2.34375vw auto;
  }
}
@media (max-width: 768px) {
  .custom-qa {
    border-radius: 0.5208333333vw;
    margin: 3.90625vw auto;
  }
}

.custom-qa .qa-q,
.custom-qa .qa-a {
  display: flex;
  align-items: center;
  padding: 16px 30px;
}
@media (max-width: 1280px) {
  .custom-qa .qa-q,
  .custom-qa .qa-a {
    padding: 1.25vw 2.34375vw;
  }
}
@media (max-width: 768px) {
  .custom-qa .qa-q,
  .custom-qa .qa-a {
    padding: 2.0833333333vw 3.90625vw;
  }
}

.custom-qa .qa-q {
  margin-bottom: 0 !important;
}

.custom-qa .qa-a {
  background-color: #fefeeb;
}

/* ---- 共通：アイコン本体 ---- */
.custom-qa .qa-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px; /* アイコン円の直径 */
  height: 32px;
  font-weight: bold;
  font-size: 1rem;
  color: #fff; /* 文字色 */
  border-radius: 50%;
  margin-right: 12px;
  flex-shrink: 0;
  background: transparent; /* デフォルト透過 */
}
@media (max-width: 1280px) {
  .custom-qa .qa-icon {
    width: 2.5vw;
    height: 2.5vw;
    font-size: 1.25vw;
    margin-right: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .custom-qa .qa-icon {
    width: 4.1666666667vw;
    height: 4.1666666667vw;
    font-size: 2.0833333333vw;
    margin-right: 1.5625vw;
  }
}

/* ---- Q: 丸塗り ---- */
.custom-qa .qa-q .qa-icon {
  background-color: #d9534f;
}

/* Qは半円疑似要素を消す */
.custom-qa .qa-q .qa-icon::before {
  display: none;
}

/* ─────────────────────────────────────────────
 Q&A パターン内の span 背景グラデーションを消す
 ───────────────────────────────────────────── */
.custom-qa .qa-icon,
.custom-qa .qa-text {
  background: none !important;
}

/* もし qa-text 内のリンクにも当たってしまう場合はこちらも */
.custom-qa .qa-text a {
  background: none !important;
}

/* Qアイコン：丸背景を入れる */
.custom-qa .qa-q .qa-icon {
  background-color: #d9534f !important; /* Qの丸色 */
  color: #fff !important; /* Q文字色 */
}

/* Aアイコン本体は透過のまま文字色だけ確保 */
.custom-qa .qa-a .qa-icon {
  background: none !important;
  color: #fff !important; /* A文字は白のまま */
}

/* Aアイコンの下半分背景色 */
.custom-qa .qa-a .qa-icon::before {
  background-color: #86fff1 !important; /* 新しいAの半円色 */
}

/* ───────────────────────────────────────────
   Q&A：アイコンを完全な丸にする
   ─────────────────────────────────────────── */
/* アイコン共通リセット */
.custom-qa .qa-icon {
  background: none !important; /* 既存の半円背景を消す */
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px; /* 丸の直径 */
  height: 36px;
  border-radius: 50%;
  color: #fff; /* 文字色 */
  font-size: 1rem; /* アイコン内文字サイズ */
  font-weight: bold;
  margin-right: 12px;
  flex-shrink: 0;
}
@media (max-width: 1280px) {
  .custom-qa .qa-icon {
    width: 2.8125vw;
    height: 2.8125vw;
    font-size: 1.25vw;
    margin-right: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .custom-qa .qa-icon {
    width: 4.6875vw;
    height: 4.6875vw;
    font-size: 2.0833333333vw;
    margin-right: 1.5625vw;
  }
}

/* Qアイコン＝赤丸 */
.custom-qa .qa-q .qa-icon {
  background-color: #d9534f !important;
  padding-bottom: 2px;
}
@media (max-width: 1280px) {
  .custom-qa .qa-q .qa-icon {
    padding-bottom: 0.15625vw;
  }
}
@media (max-width: 768px) {
  .custom-qa .qa-q .qa-icon {
    padding-bottom: 0.2604166667vw;
  }
}

/* Aアイコン＝水色丸 */
.custom-qa .qa-a .qa-icon {
  background-color: #5bc0de !important;
  padding-bottom: 1px;
}
@media (max-width: 1280px) {
  .custom-qa .qa-a .qa-icon {
    padding-bottom: 0.078125vw;
  }
}
@media (max-width: 768px) {
  .custom-qa .qa-a .qa-icon {
    padding-bottom: 0.1302083333vw;
  }
}

/* 擬似要素は完全に消す */
.custom-qa .qa-icon::before {
  display: none !important;
}

/* ==========================================================================
   パターンE：引用ブロック
   ========================================================================== */
.custom-quote {
  background-color: #fafafa;
  padding: 20px;
  border-left: 4px solid #ccc;
  margin: 30px auto;
}
@media (max-width: 1280px) {
  .custom-quote {
    padding: 1.5625vw;
    border-left: 0.3125vw solid #ccc;
    margin: 2.34375vw auto;
  }
}
@media (max-width: 768px) {
  .custom-quote {
    padding: 2.6041666667vw;
    border-left: 0.5208333333vw solid #ccc;
    margin: 3.90625vw auto;
  }
}
.custom-quote p {
  margin-bottom: 0 !important;
}

.custom-quote blockquote {
  margin: 0;
  padding-left: 16px;
  font-style: normal;
}
@media (max-width: 1280px) {
  .custom-quote blockquote {
    padding-left: 1.25vw;
  }
}
@media (max-width: 768px) {
  .custom-quote blockquote {
    padding-left: 2.0833333333vw;
  }
}

.custom-quote cite {
  display: block;
  margin-top: 0.8em;
  font-size: 11px;
  color: #666;
  font-style: italic;
}
@media (max-width: 1280px) {
  .custom-quote cite {
    margin-top: 0.8666666667vw;
    font-size: 0.7333333333vw;
  }
}
@media (max-width: 768px) {
  .custom-quote cite {
    margin-top: 1.6927083333vw;
    font-size: 1.5625vw;
  }
}

/* ==========================================================================
   パターンF：おすすめの点（青） ── アイコン置換＆タイトル浮かせ
   ========================================================================== */
.custom-recommend-blue {
  position: relative;
  /* 枠線の太さだけ確保して透明に */
  border: 2px solid transparent;
  /* グラデーションを枠線に適用 */
  -o-border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1;
     border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1; /* slice=1 で等比適用 */
  padding: 35px 24px 24px 24px;
  margin: 40px auto 30px;
}
@media (max-width: 1280px) {
  .custom-recommend-blue {
    border: 0.15625vw solid transparent;
    -o-border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1;
       border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1; /* slice=1 で等比適用 */
    padding: 2.734375vw 1.875vw 1.875vw 1.875vw;
    margin: 3.125vw auto 2.34375vw;
  }
}
@media (max-width: 768px) {
  .custom-recommend-blue {
    border: 0.2604166667vw solid transparent;
    -o-border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1;
       border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1; /* slice=1 で等比適用 */
    padding: 4.5572916667vw 3.125vw 3.125vw 1.875vw;
    margin: 5.2083333333vw auto 3.90625vw;
  }
}

/* ── パターンF：おすすめの点（青）のチェックマークをSVGに置換 ── */
.custom-recommend-blue::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 34px;
  width: 40px;
  height: 40px;
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='36'%20height='36'%3E%3Cdefs%3E%3ClinearGradient%20id='grad'%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='0%25'%3E%3Cstop%20offset='0%25'%20stop-color='%23f83600'/%3E%3Cstop%20offset='100%25'%20stop-color='%23f9d423'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle%20cx='18'%20cy='18'%20r='18'%20fill='url(%23grad)'/%3E%3Cpath%20d='M12%2018%20L16%2022%20L24%2014'%20stroke='%23fff'%20stroke-width='3'%20stroke-linecap='round'%20stroke-linejoin='round'%20fill='none'/%3E%3C/svg%3E");
  background-size: cover;
  z-index: 999;
}
@media (max-width: 1280px) {
  .custom-recommend-blue::before {
    top: -1.5625vw;
    left: 2.65625vw;
    width: 3.125vw;
    height: 3.125vw;
  }
}
@media (max-width: 768px) {
  .custom-recommend-blue::before {
    top: -2.6041666667vw;
    left: 4.4270833333vw;
    width: 5.2083333333vw;
    height: 5.2083333333vw;
  }
}

.custom-recommend-blue .recommend-title,
.custom-recommend-blue h5 {
  position: absolute;
  top: -17px; /* 枠線上に浮かせる */
  left: 64px; /* アイコン右あたり */
  background: #fff;
  padding: 0 13px 0 19px;
  margin: 0;
  font-size: 1.2rem !important;
  font-weight: bold;
}
@media (max-width: 1280px) {
  .custom-recommend-blue .recommend-title,
  .custom-recommend-blue h5 {
    top: -1.328125vw;
    left: 5vw;
    padding: 0 1.015625vw 0 1.484375vw;
    font-size: 1.40625vw !important;
  }
}
@media (max-width: 768px) {
  .custom-recommend-blue .recommend-title,
  .custom-recommend-blue h5 {
    top: -2.2135416667vw;
    left: 8.3333333333vw;
    padding: 0 1.6927083333vw 0 2.4739583333vw;
    font-size: 2.6041666667vw !important;
  }
}

.custom-recommend-blue ul {
  margin: 0 0 0 1.4em;
}
@media (max-width: 768px) {
  .custom-recommend-blue ul {
    margin: 0 0 0 1.640625vw;
  }
}

.custom-recommend-blue li {
  margin-bottom: 0.6em;
}
@media (max-width: 1280px) {
  .custom-recommend-blue li {
    margin-bottom: 0.78125vw;
  }
}

/* ==========================================================================
   パターンG：チェックリスト（緑） ── アイコン置換＆タイトル浮かせ
   ========================================================================== */
.custom-checklist-green {
  position: relative;
  border: 2px solid #6cc24a;
  padding: 36px 24px 24px 24px;
  margin: 40px auto 30px;
}
@media (max-width: 1280px) {
  .custom-checklist-green {
    border: 0.15625vw solid #6cc24a;
    padding: 2.8125vw 1.875vw 1.875vw 1.875vw;
    margin: 3.125vw auto 2.34375vw;
  }
}
@media (max-width: 768px) {
  .custom-checklist-green {
    border: 0.2604166667vw solid #6cc24a;
    padding: 4.6875vw 3.125vw 3.125vw 3.125vw;
    margin: 5.2083333333vw auto 3.90625vw;
  }
}
.custom-checklist-green ul {
  margin: 0 0 0 1.4em;
}
@media (max-width: 1280px) {
  .custom-checklist-green ul {
    margin: 0 0 0 1.71875vw;
  }
}
@media (max-width: 768px) {
  .custom-checklist-green ul {
    margin: 0 0 0 0vw;
  }
}

/* ── パターンG：チェックリスト（緑）のチェックマークをSVGに置換 ── */
.custom-checklist-green::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 26px;
  width: 40px;
  height: 40px;
  z-index: 99;
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='40'%20height='40'%3E%3Ccircle%20cx='20'%20cy='20'%20r='20'%20fill='%236cc24a'/%3E%3Cpath%20d='M14%2020%20L18%2024%20L26%2016'%20stroke='%23fff'%20stroke-width='3'%20stroke-linecap='round'%20stroke-linejoin='round'%20fill='none'/%3E%3C/svg%3E");
  background-size: cover;
}
@media (max-width: 1280px) {
  .custom-checklist-green::before {
    top: -1.5625vw;
    left: 2.03125vw;
    width: 3.125vw;
    height: 3.125vw;
  }
}
@media (max-width: 768px) {
  .custom-checklist-green::before {
    top: -2.6041666667vw;
    left: 3.3854166667vw;
    width: 5.2083333333vw;
    height: 5.2083333333vw;
  }
}

.custom-checklist-green .checklist-title {
  position: absolute;
  top: -16px; /* 枠線上に浮かせる */
  left: 64px; /* アイコン右あたり */
  background: #fff;
  padding: 0 8px;
  margin: 0;
  font-size: 1.2rem;
  font-weight: bold;
}
@media (max-width: 1280px) {
  .custom-checklist-green .checklist-title {
    top: -1.25vw;
    left: 5vw;
    padding: 0 0.625vw;
    font-size: 1.484375vw;
  }
}
@media (max-width: 768px) {
  .custom-checklist-green .checklist-title {
    top: -2.0833333333vw;
    left: 8.3333333333vw;
    padding: 0 1.0416666667vw;
    font-size: 2.4739583333vw;
  }
}

.custom-checklist-green .checklist-items {
  margin: 0 0 0 1.4em;
}
@media (max-width: 1280px) {
  .custom-checklist-green .checklist-items {
    margin: 0 0 0 1.71875vw;
  }
}
@media (max-width: 768px) {
  .custom-checklist-green .checklist-items {
    margin: 0 0 0 2.8645833333vw;
  }
}

.custom-checklist-green .checklist-items li {
  position: relative;
  margin-bottom: 0.6em;
  padding-left: 28px;
}
@media (max-width: 1280px) {
  .custom-checklist-green .checklist-items li {
    margin-bottom: 0.78125vw;
    padding-left: 2.1875vw;
  }
}
@media (max-width: 768px) {
  .custom-checklist-green .checklist-items li {
    margin-bottom: 1.3020833333vw;
    padding-left: 3.6458333333vw;
  }
}

.custom-checklist-green .checklist-items li::before {
  content: "✔";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.2rem; /* マークサイズを大きく */
  color: #6cc24a;
}
@media (max-width: 1280px) {
  .custom-checklist-green .checklist-items li::before {
    font-size: 1.484375vw;
  }
}
@media (max-width: 768px) {
  .custom-checklist-green .checklist-items li::before {
    font-size: 2.4739583333vw;
  }
}

/* ==========================================================================
   パターンH：所属までのフロー
   ========================================================================== */
.custom-flow {
  position: relative;
  border: 2px solid transparent;
  -o-border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1;
     border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1; /* slice=1 で等比適用 */
  padding: 32px 24px 24px 24px;
  border-radius: 4px;
  margin: 40px auto 30px;
}
@media (max-width: 1280px) {
  .custom-flow {
    border: 0.15625vw solid transparent;
    -o-border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1;
       border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1; /* slice=1 で等比適用 */
    padding: 2.5vw 1.875vw 1.875vw 1.875vw;
    border-radius: 0.3125vw;
    margin: 3.125vw auto 2.34375vw;
  }
}
@media (max-width: 768px) {
  .custom-flow {
    border: 0.2604166667vw solid transparent;
    -o-border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1;
       border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%) 1; /* slice=1 で等比適用 */
    padding: 4.1666666667vw 3.125vw 3.125vw 3.125vw;
    border-radius: 0.5208333333vw;
    margin: 5.2083333333vw auto 3.90625vw;
  }
}
.custom-flow ol {
  margin: 0 0 0 1.4em;
}
@media (max-width: 1280px) {
  .custom-flow ol {
    margin: 0 0 0 1.71875vw;
  }
}
@media (max-width: 768px) {
  .custom-flow ol {
    margin: 0 0 0 2.8645833333vw;
  }
}

.custom-flow .flow-label {
  position: absolute;
  top: -22px;
  left: 20px;
  background-color: #fff;
  padding: 4px 14px 4px 36px;
  font-size: 19px; /* 必要に応じて調整 */
  font-weight: bold;
  border: 1px solid #333;
  border-radius: 12px;
}
@media (max-width: 1280px) {
  .custom-flow .flow-label {
    top: -1.71875vw;
    left: 1.5625vw;
    padding: 0.3125vw 1.09375vw 0.3125vw 2.8125vw;
    font-size: 1.484375vw;
    border: 0.078125vw solid #333;
    border-radius: 0.9375vw;
  }
}
@media (max-width: 768px) {
  .custom-flow .flow-label {
    top: -2.8645833333vw;
    left: 2.6041666667vw;
    padding: 0.5208333333vw 1.8229166667vw 0.5208333333vw 4.6875vw;
    font-size: 2.4739583333vw;
    border: 0.1302083333vw solid #333;
    border-radius: 1.5625vw;
  }
}

.custom-flow .flow-icon {
  position: absolute;
  top: -22px;
  left: 28px;
  font-size: 24px;
  color: #6cc24a;
  margin-bottom: 0.6em;
}
@media (max-width: 1280px) {
  .custom-flow .flow-icon {
    top: -1.71875vw;
    left: 2.1875vw;
    font-size: 1.875vw;
    margin-bottom: 0.78125vw;
  }
}
@media (max-width: 768px) {
  .custom-flow .flow-icon {
    top: -2.8645833333vw;
    left: 3.6458333333vw;
    font-size: 3.125vw;
    margin-bottom: 1.3020833333vw;
  }
}

.custom-flow .flow-items {
  margin: 0 0 0 1.2em;
}
@media (max-width: 1280px) {
  .custom-flow .flow-items {
    margin: 0 0 0 1.484375vw;
  }
}
@media (max-width: 768px) {
  .custom-flow .flow-items {
    margin: 0 0 0 2.4739583333vw;
  }
}

.custom-flow .flow-items li {
  margin-bottom: 0.6em;
}
@media (max-width: 1280px) {
  .custom-flow .flow-items li {
    margin-bottom: 0.78125vw;
  }
}
@media (max-width: 768px) {
  .custom-flow .flow-items li {
    margin-bottom: 1.3020833333vw;
  }
}

.custom-flow .flow-items li a {
  color: #0066cc;
  text-decoration: underline;
}

/* ─────────────────────────────────────────────
 パターン：LINE追加はこちらボタン
 ───────────────────────────────────────────── */
/* ==============================================
   .line-add-btn .wp-block-button__link：上下ライン＋左右ライン（box-shadow）
   ホバーで全ラインをスライドして消す
   ============================================== */
/* リセット＆基本スタイル */
.line-add-btn .wp-block-button__link {
  display: inline-block;
  position: relative;
  overflow: hidden;
  padding: 0 36px;
  min-height: 50px;
  line-height: 50px;
  background: transparent;
  color: #222222;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
@media (max-width: 1280px) {
  .line-add-btn .wp-block-button__link {
    padding: 0 2.8125vw;
    min-height: 3.90625vw;
    line-height: 3.90625vw;
    font-size: 1.25vw;
  }
}
@media (max-width: 768px) {
  .line-add-btn .wp-block-button__link {
    padding: 0 4.6875vw;
    min-height: 6.5104166667vw;
    line-height: 6.5104166667vw;
    font-size: 2.0833333333vw;
  }
}

/* 縦ラインを box-shadow で描画 */
.line-add-btn .wp-block-button__link {
  box-shadow: inset 1.5px 0 0 0 #222222, inset -1.5px 0 0 0 #222222; /* 右縦 */
}
@media (max-width: 1280px) {
  .line-add-btn .wp-block-button__link {
    box-shadow: inset 0.1171875vw 0 0 0 #222222, inset 0.1171875vw 0 0 0 #222222; /* 右縦 */
  }
}
@media (max-width: 768px) {
  .line-add-btn .wp-block-button__link {
    box-shadow: inset 0.1953125vw 0 0 0 #222222, inset 0.1953125vw 0 0 0 #222222; /* 右縦 */
  }
}
.line-add-btn .wp-block-button__link .btn-text {
  background: none !important;
  font-weight: 400 !important;
}
@media (max-width: 768px) {
  .line-add-btn .wp-block-button__link .btn-text {
    font-size: 2.0833333333vw;
    padding: 1.3020833333vw 0;
  }
}
@media (max-width: 501px) {
  .line-add-btn .wp-block-button__link .btn-text {
    font-size: 3.1818181818vw;
    padding: 1.3636363636vw 0;
  }
}
.line-add-btn .wp-block-button__link .btn-arrow {
  background: none !important;
}

/* 上下ライン */
.line-add-btn .wp-block-button__link::before,
.line-add-btn .wp-block-button__link::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1.5px;
  background-color: #222222;
  transition: transform 0.3s ease;
}
@media (max-width: 1280px) {
  .line-add-btn .wp-block-button__link::before,
  .line-add-btn .wp-block-button__link::after {
    width: 0.1171875vw;
  }
}
@media (max-width: 768px) {
  .line-add-btn .wp-block-button__link::before,
  .line-add-btn .wp-block-button__link::after {
    width: 0.2604166667vw;
  }
}

.line-add-btn .wp-block-button__link::before {
  top: 0;
}

.line-add-btn .wp-block-button__link::after {
  bottom: 0;
}

/* ホバーで背景をほんのりカラー */
.line-add-btn .wp-block-button__link:hover {
  background-color: rgba(0, 0, 0, 0.05);
  /* 縦ラインを透明に */
  box-shadow: inset 1.5px 0 0 0 transparent, inset -1.5px 0 0 0 transparent;
}
@media (max-width: 1280px) {
  .line-add-btn .wp-block-button__link:hover {
    box-shadow: inset 0.1171875vw 0 0 0 #222222, inset 0.1171875vw 0 0 0 #222222; /* 右縦 */
  }
}
@media (max-width: 768px) {
  .line-add-btn .wp-block-button__link:hover {
    box-shadow: inset 0.1953125vw 0 0 0 #222222, inset 0.1953125vw 0 0 0 #222222; /* 右縦 */
  }
}

/* ホバーで上下ラインをスライドアウト */
.line-add-btn .wp-block-button__link:hover::before {
  transform: translateX(-100%);
}

.line-add-btn .wp-block-button__link:hover::after {
  transform: translateX(100%);
}

/* ホバー時の文字色切り替え */
.line-add-btn .wp-block-button__link {
  /* 既存のスタイルのまま */
  margin: 20px 0;
  transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease; /* 文字色にも transition を追加 */
  color: #222222; /* 通常時の文字色 */
}
@media (max-width: 1280px) {
  .line-add-btn .wp-block-button__link {
    margin: 2.34375vw 0;
  }
}
@media (max-width: 768px) {
  .line-add-btn .wp-block-button__link {
    margin: 3.90625vw 0;
  }
}

.line-add-btn .wp-block-button__link:hover {
  color: #00B900; /* ホバー時の文字色 */
}

/* 矢印用の span を動かす */
.line-add-btn .wp-block-button__link .btn-arrow {
  display: inline-block;
  margin-left: 8px;
  transition: transform 0.3s ease;
}
@media (max-width: 1280px) {
  .line-add-btn .wp-block-button__link .btn-arrow {
    margin-left: 0.625vw;
  }
}
@media (max-width: 768px) {
  .line-add-btn .wp-block-button__link .btn-arrow {
    margin-left: 1.0416666667vw;
  }
}

.line-add-btn .wp-block-button__link:hover .btn-arrow {
  transform: translateX(4px);
}
@media (max-width: 1280px) {
  .line-add-btn .wp-block-button__link:hover .btn-arrow {
    transform: translateX(0.3125vw);
  }
}
@media (max-width: 768px) {
  .line-add-btn .wp-block-button__link:hover .btn-arrow {
    transform: translateX(0.5208333333vw);
  }
}

/* ───── テーブルD 線を細くする修正版 ───── */
.custom-table-d table {
  border-collapse: collapse; /* 線を 1 本化 */
  width: 100%;
  font-size: 14px;
  line-height: 1.4;
}
@media (max-width: 1280px) {
  .custom-table-d table {
    font-size: 1.09375vw;
  }
}
@media (max-width: 768px) {
  .custom-table-d table {
    font-size: 1.8229166667vw;
    margin: 3.90625vw auto;
    width: -moz-max-content !important;
    width: max-content !important; /* 中身の最大幅まで自動拡張 */
    min-width: 100%;
    table-layout: fixed; /* 幅制御を自動から固定に寄せる */
    border-collapse: collapse;
  }
}
@media (max-width: 501px) {
  .custom-table-d table {
    font-size: 3.1818181818vw !important;
  }
}

/* すべての枠線を 1px に揃える */
.custom-table-d th,
.custom-table-d td {
  border: 1px solid #dcdcdc; /* ← ここを 1px & 薄グレー */
  padding: 10px 12px;
  vertical-align: middle;
}
@media (max-width: 1280px) {
  .custom-table-d th,
  .custom-table-d td {
    border: 0.078125vw solid #dcdcdc;
    padding: 0.78125vw 0.9375vw;
  }
}
@media (max-width: 768px) {
  .custom-table-d th,
  .custom-table-d td {
    border: 0.1302083333vw solid #dcdcdc;
    padding: 1.3020833333vw 1.5625vw;
    white-space: nowrap; /* 折り返し禁止 */
  }
}

/* 列ヘッダー（上段） */
.custom-table-d thead th {
  background: #f5f5f5;
  font-weight: 700;
  text-align: center;
}

/* 行ヘッダー（左端列） */
.custom-table-d tbody th {
  background: #f9f9f9;
  font-weight: 600;
  text-align: left;
}

/* 左上の空セルも合わせておく */
.custom-table-d thead th:first-child {
  background: #f5f5f5;
}

/* ───── テーブルD 画像完全コピー用 ───── */
.custom-table-d table {
  border-collapse: collapse; /* グリッド線を 1 本化 */
  width: 100%;
  font-size: 14px; /* 画像に合わせ小さめ */
  line-height: 1.4;
}
@media (max-width: 1280px) {
  .custom-table-d table {
    font-size: 1.09375vw;
  }
}
@media (max-width: 768px) {
  .custom-table-d table {
    font-size: 1.8229166667vw;
  }
}

.custom-table-d th,
.custom-table-d td {
  border: 1px solid #dcdcdc; /* 線を細く & 薄く */
  padding: 10px 12px; /* 画像比の余白 */
  vertical-align: middle;
}
@media (max-width: 1280px) {
  .custom-table-d th,
  .custom-table-d td {
    border: 0.078125vw solid #dcdcdc;
    padding: 0.78125vw 0.9375vw;
  }
}
@media (max-width: 768px) {
  .custom-table-d th,
  .custom-table-d td {
    border: 0.1302083333vw solid #dcdcdc;
    padding: 1.3020833333vw 1.5625vw;
  }
}

/* 列ヘッダー（最上段） */
.custom-table-d thead th {
  background: #f5f5f5; /* やや濃いグレー */
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}

/* 行ヘッダー（最左列） */
.custom-table-d tbody th {
  background: #f9f9f9; /* 少し明るいグレー */
  font-weight: 600;
  text-align: left;
  white-space: nowrap;
}

/* 先頭の空セル（左上）の背景も統一 */
.custom-table-d thead th:first-child {
  background: #f5f5f5;
}

.custom-table-d thead {
  border-bottom: 1px solid #dcdcdc !important; /* 1px に固定 */
}

/* ── テーブルD：枠線カラーをさらに薄く ── */
.custom-table-d th,
.custom-table-d td,
.custom-table-d thead { /* ← thead も対象にしておくと確実 */
  border-color: #e0e0e0 !important; /* ここを好きな薄グレーに */
}

/* ───── テーブルD：外枠と行グループ線も薄グレーに統一 ───── */
.custom-table-d,
.custom-table-d table,
.custom-table-d thead,
.custom-table-d tbody,
.custom-table-d th,
.custom-table-d td {
  border: 0.75px solid #e0e0e0 !important; /* 好みで #efefef などに調整 */
}

/* 不要なら行グループ線（thead の下線など）を消しても OK
.custom-table-d thead,
.custom-table-d tbody { border: 0 !important; }
*/
.blog .custom-table-a th {
  border: 1px solid #000 !important;
}

/* ── ライター紹介ボックス ───────────────── */
.author-card.dotted-border {
  border: 2px dashed #fa6914; /* ① 一旦透明に */
  padding: 30px 20px;
  border-radius: 8px;
  gap: 24px; /* 画像と本文の間隔 */
  margin: 40px auto;
}

/* ② Font Awesome アイコンの色を統一 ---------- */
.author-header i,
.author-name i,
.author-role i {
  color: #fa6914;
}

.author-card img {
  border-radius: 4px; /* 角を少し丸める（任意） */
}

.author-card .author-name {
  margin-top: 0;
  margin-bottom: 8px;
  font-weight: 700;
  letter-spacing: 0.03em;
}
@media (max-width: 768px) {
  .author-card .author-name {
    font-size: 2.8645833333vw;
  }
}
@media (max-width: 501px) {
  .author-card .author-name {
    font-size: 5.6818181818vw !important;
  }
}

.author-card .author-role {
  font-size: 14px;
}
@media (max-width: 768px) {
  .author-card .author-role {
    font-size: 2.34375vw !important;
  }
}
@media (max-width: 501px) {
  .author-card .author-role {
    font-size: 4.0909090909vw !important;
  }
}

/* ── 1. カード横並びを「高さストレッチ」に ── */
.author-card {
  display: flex; /* すでに flex ならそのまま */
  align-items: stretch; /* ✨ 子要素の高さ＝カードの高さ */
  gap: 24px;
}
@media (max-width: 768px) {
  .author-card {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* ── 2. figure を親の高さいっぱいに ── */
.author-card figure {
  margin: 0;
  height: 100%; /* 親（カード）の高さを継承 */
  flex: 0 0 auto; /* 幅は中身任せ／縮ませない */
  overflow: hidden; /* はみ出す所はトリミング */
}

/* ── 3. 画像は高さ 100％・幅は比率に合わせて自動 ── */
.author-card figure img {
  height: 160px;
  width: 160px; /* 縦横比を維持して自動計算 */
  -o-object-fit: cover;
     object-fit: cover; /* 余った所をトリミングしつつ埋める */
  border-radius: 4px; /* 角丸が必要なら残す */
}
@media (max-width: 768px) {
  .author-card figure img {
    margin: 0 auto !important;
  }
}
@media (max-width: 501px) {
  .author-card figure img {
    width: 40.9090909091vw;
    height: 40.9090909091vw;
  }
}

/* ── 4. 末尾段落の下余白ゼロ（既存） ── */
.author-card p:last-child {
  margin-bottom: 0;
}

/* ② figure 自体の下マージンを消す */
.author-card figure {
  margin: 0 !important;
}
.author-card figure img {
  margin: 0 !important;
}

/* ③ カード内の最後の段落だけ下マージンをゼロ */
.author-card p:last-child {
  margin-bottom: 0 !important;
}

/* ③ カード内の最後の段落だけ下マージンをゼロ */
.author-card p {
  margin-bottom: 14px !important;
}
@media (max-width: 768px) {
  .author-card p {
    text-align: center;
  }
}

.author-card .author-name {
  margin-bottom: 0 !important;
}
.author-card .author-header {
  margin-bottom: 14px !important;
}
@media (max-width: 768px) {
  .author-card .author-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

.nav-links {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 10px auto 20px;
  flex-wrap: wrap;
  width: 932px;
}
@media (max-width: 1280px) {
  .nav-links {
    gap: 0.78125vw;
    margin: 0.78125vw auto 1.5625vw;
    width: 72.8125vw;
  }
}
@media (max-width: 768px) {
  .nav-links {
    width: 96.3541666667vw;
    gap: 1.3020833333vw;
    margin: 1.3020833333vw auto 5.2083333333vw;
  }
}

.nav-links .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 4px;
  background-color: #e0e0e0;
  color: #333;
  transition: all 0.2s ease;
}
@media (max-width: 1280px) {
  .nav-links .page-numbers {
    width: 3.125vw;
    height: 3.125vw;
    font-size: 1.25vw;
    border-radius: 0.3125vw;
  }
}
@media (max-width: 768px) {
  .nav-links .page-numbers {
    width: 5.2083333333vw;
    height: 5.2083333333vw;
    font-size: 2.0833333333vw;
    border-radius: 0.5208333333vw;
  }
}

.nav-links .page-numbers:hover {
  background-color: #999;
  color: #fff;
}

.blog .nav-links .page-numbers.current {
  background: linear-gradient(45deg, #f83600, #f9d423);
  color: #fff;
  border: none !important;
}
.blog .nav-links .page-numbers {
  color: #f83600;
  background-color: #fff;
  border: 1px solid transparent;
  /* ■ 二重背景でグラデボーダー + 背景グラデ ■ */
  background: linear-gradient(45deg, #fff, white) padding-box, linear-gradient(45deg, #f83600, #f9d423) border-box;
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
}

.nav-links .page-numbers.prev,
.nav-links .page-numbers.next {
  width: auto;
  padding: 0 12px;
}

.blog {
  /* data-default-table デザイン */
}
.blog .wp-block-table.default-table table {
  width: 100%;
  border-collapse: collapse;
  border: none !important;
}
.blog .wp-block-table.default-table table thead {
  border-bottom: 2px solid #ffffff !important;
}
.blog .wp-block-table.default-table th {
  background-color: #fa6914;
  color: #fff;
  padding: 12px;
  text-align: center;
  border: 1px solid #ffffff;
  vertical-align: middle;
}
.blog .wp-block-table.default-table td {
  padding: 12px;
  text-align: center;
  border: none !important;
}
.blog .wp-block-table.default-table tbody tr:nth-child(odd) {
  background-color: #f9f9f9;
}
.blog .wp-block-table.default-table tbody tr:last-child td {
  border-bottom: none;
}

/*───────────────────────
  Base Styles
───────────────────────*/
.site-header .inner {
  position: relative;
  overflow: visible; /* ドロップダウンをはみ出して見せる */
}

/* モバイル要素はデフォルトで隠す */
.mobile-controls,
.mobile-menu,
.mobile-menu-overlay {
  display: none;
}

/* メニュー開時に背景スクロールを止める */
body.no-scroll {
  overflow: hidden;
  height: 100vh;
}

/*───────────────────────
  Mobile (～768px)
───────────────────────*/
@media (max-width: 768px) {
  /* デスクトップ用メニューを隠す */
  .mega-menu {
    display: none;
  }
  /* ── コントロール（ハンバーガー＋検索） ── */
  .mobile-controls {
    display: flex;
    margin-left: auto;
    align-items: center;
    gap: 1em;
    z-index: 1100;
  }
  /* ハンバーガーアイコン */
  .hamburger {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
  }
  .hamburger span {
    display: block;
    height: 2px !important;
    width: 24px;
    background: #333 !important;
    border-radius: 1px;
    transition: transform 0.3s, opacity 0.3s;
  }
  .hamburger[aria-expanded=true] span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  .hamburger[aria-expanded=true] span:nth-child(2) {
    opacity: 0;
  }
  .hamburger[aria-expanded=true] span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
  /* 検索ボタン */
  .search-toggle {
    background: none;
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
    color: #333;
  }
  /* ── 背景オーバーレイ ── */
  .mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 0.3s;
    z-index: 1000;
    display: block;
  }
  .mobile-menu-overlay.active {
    opacity: 1;
  }
  /* ── サイドメニュー本体 ── */
  .mobile-menu {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    right: 0;
    width: 90%;
    height: 100vh;
    padding-top: 13.0208333333vw; /* ヘッダー分の余白 */
    background: #fff;
    box-shadow: -2px 0 8px rgba(0, 0, 0, 0.2);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    z-index: 1100;
  }
  .mobile-menu.open {
    transform: translateX(0);
  }
  /* ── メニュー ヘッダー部 ── */
  .mobile-menu-header {
    display: flex;
    align-items: center;
    padding: 0.75em 1em;
    border-bottom: 1px solid #eee;
  }
  .close-menu {
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    margin-right: 0.5em;
  }
  /* 内部検索フォーム */
  .mobile-search-form {
    flex: 1;
    display: flex;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
  }
  .mobile-search-form input {
    flex: 1;
    border: none;
    padding: 0.5em;
    font-size: 0.95rem;
  }
  .mobile-search-form button {
    background: none;
    border: none;
    padding: 0 0.75em;
    font-size: 1.1rem;
    cursor: pointer;
    color: #333;
  }
  /* ── メニューリスト ── */
  .mobile-menu-list {
    flex: 1;
    list-style: none;
    margin: 0;
    padding: 0.5em 0;
    overflow-y: auto;
  }
  .mobile-menu-list li + li {
    border-top: 1px solid #eee;
  }
  .mobile-menu-list a {
    display: block;
    padding: 1em;
    text-decoration: none;
    color: #333;
    font-size: 0.95rem;
  }
}
@media only screen and (max-width: 768px) {
  .mobile-menu-overlay {
    /* デフォルトは非表示 */
    display: none !important;
    /* aria-hidden が "false" (= 開いてるとき) のみ表示 */
  }
  .mobile-menu-overlay[aria-hidden=false] {
    display: block !important;
    /* もし背景を暗くしたいなら以下も */
    /* background: rgba(0, 0, 0, 0.5); */
  }
}
@media (max-width: 768px) {
  .blog table {
    font-size: 2.0833333333vw;
    overflow: scroll;
  }
}
@media (max-width: 501px) {
  .blog table {
    font-size: 2.5vw;
  }
}

@media (max-width: 768px) {
  .blog .vlp-layout-zone-side {
    max-width: 28.6458333333vw;
    width: 28.6458333333vw;
    min-width: 28.6458333333vw;
    padding-right: 1.8229166667vw !important;
  }
}
@media (max-width: 768px) {
  .blog .vlp-link-img {
    max-width: 27.34375vw;
    width: 27.34375vw;
    min-width: 27.34375vw;
  }
}
@media (max-width: 768px) {
  .blog .vlp-link-img img {
    max-width: 27.34375vw;
    width: 27.34375vw;
    min-width: 27.34375vw;
  }
}
@media (max-width: 768px) {
  .blog .vlp-layout-zone-main {
    width: 59.8958333333vw;
    min-width: 59.8958333333vw;
    max-width: 59.8958333333vw;
  }
}
@media (max-width: 768px) {
  .blog .vlp-link-summary {
    display: none;
  }
}
@media (max-width: 768px) {
  .blog .vlp-link-title {
    font-weight: bold !important;
    font-size: 2.6041666667vw !important;
  }
}

.site-footer {
  z-index: 999;
}

.blog table thead {
  border-bottom: none !important;
}
.blog .post-body a {
  color: #0066cc;
}

.custom-app-table {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 2em;
  border-collapse: collapse;
}
@media (max-width: 1280px) {
  .custom-app-table {
    max-width: 78.125vw;
    margin: 0 auto 3.125vw;
  }
}

.custom-app-table th {
  background: #0d3442;
  color: #fff;
  padding: 0.75em;
}
@media (max-width: 1280px) {
  .custom-app-table th {
    padding: 1.25vw;
  }
}

.custom-app-table td {
  border: 1px solid #ddd;
  padding: 0.75em;
}
@media (max-width: 1280px) {
  .custom-app-table td {
    border: 0.078125vw solid #ddd;
    padding: 1.25vw;
  }
}

/* FAQ セクション */
.faq-section {
  margin: 2em 0;
}
@media (max-width: 1280px) {
  .faq-section {
    margin: 2.34375vw 0;
  }
}

.faq-q {
  background: #f5f5f5;
  padding: 1em;
  border-left: 4px solid #e44;
}
@media (max-width: 1280px) {
  .faq-q {
    padding: 1.40625vw;
    border-left: 0.3125vw solid #e44;
  }
}

.faq-a {
  margin-bottom: 1.5em;
  padding: 1em;
  border-left: 4px solid #49a;
  background: #fafafa;
}
@media (max-width: 1280px) {
  .faq-a {
    margin-bottom: 2.03125vw;
    padding: 1.40625vw;
    border-left: 0.3125vw solid #49a;
  }
}

/* ✔ リスト */
.recommend-box {
  border: 2px solid #49a;
  padding: 1em;
  margin-bottom: 2em;
}
@media (max-width: 1280px) {
  .recommend-box {
    border: 0.15625vw solid #49a;
    padding: 1.40625vw;
    margin-bottom: 2.34375vw;
  }
}

.recommend-item {
  list-style: none;
  position: relative;
  padding-left: 2em;
  margin-bottom: 0.5em;
}
@media (max-width: 1280px) {
  .recommend-item {
    padding-left: 2.34375vw;
    margin-bottom: 0.78125vw;
  }
}

.recommend-item:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #49a;
  font-weight: bold;
}

.blog .post-body {
  margin-top: 40px;
}
@media (max-width: 1280px) {
  .blog .post-body {
    margin-top: 3.125vw;
  }
}
.blog .post-body figure img {
  margin-bottom: 10px;
}
@media (max-width: 1280px) {
  .blog .post-body figure img {
    margin-bottom: 0.78125vw;
  }
}
@media (max-width: 768px) {
  .blog .post-body figure img {
    margin-bottom: 1.3020833333vw;
  }
}
.blog .post-image {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.192), 0 4px 4px -8px rgba(0, 0, 0, 0.166);
}
@media (max-width: 1280px) {
  .blog .post-image {
    box-shadow: 0 0.3125vw 0.78125vw rgba(0, 0, 0, 0.192), 0 0.3125vw 0.3125vw -0.625vw rgba(0, 0, 0, 0.1);
  }
}

.js-sticky-sidebar {
  /* Safari 対応 */
  position: sticky;
  /* 上から何pxスクロールしたら固定を開始するか */
  top: 110px;
  /* 横幅を狭くしない */
  flex: 0 0 auto;
}
@media (max-width: 1280px) {
  .js-sticky-sidebar {
    top: 8.59375vw;
  }
}

/* モバイル（768px 以下など）では固定を外して通常フローに */
@media (max-width: 768px) {
  .js-sticky-sidebar {
    position: static;
    top: auto;
  }
}
body {
  color: #000;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.container {
  max-width: 460px;
}

.gothic {
  font-family: "Yu Gothic", YuGothic, sans-serif;
}

.wrapper {
  width: 100%;
  margin: 0 auto;
  background-color: #ffffff;
}

.header {
  margin: 0 auto;
  transition: all 1s ease;
}

/* ─────────────────────────────────
   Breadcrumb デザイン調整
───────────────────────────────── */
.my_breadcrumbs-outer {
  background-color: #f9f9f9; /* 背景色 */
  border-top: 1px solid #e5e5e5; /* 上罫線 */
  border-bottom: 1px solid #e5e5e5; /* 下罫線 */
  padding: 8px; /* 上下 8px、左右 16px */
  margin-bottom: 24px; /* メインコンテンツとの間隔 */
}
@media (max-width: 1280px) {
  .my_breadcrumbs-outer {
    border-top: 0.078125vw solid #e5e5e5;
    border-bottom: 0.078125vw solid #e5e5e5;
    padding: 0.625vw;
    margin-bottom: 1.875vw;
  }
}
@media (max-width: 768px) {
  .my_breadcrumbs-outer {
    border-top: 0.1302083333vw solid #e5e5e5;
    border-bottom: 0.1302083333vw solid #e5e5e5;
    padding: 1.0416666667vw;
    margin-bottom: 3.125vw;
  }
}

.breadcrumbs {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1280px) {
  .breadcrumbs {
    width: 93.75vw;
    font-size: 1.09375vw;
  }
}
@media (max-width: 768px) {
  .breadcrumbs {
    width: 93.75vw;
    font-size: 1.8229166667vw;
  }
}

.breadcrumbs a {
  color: #f83600; /* リンク色 */
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.breadcrumbs a:hover {
  text-decoration: underline;
}

.breadcrumbs .bc-home i {
  font-size: 16px; /* アイコンサイズ */
  margin-right: 6px; /* アイコンとテキストの隙間 */
  color: #f83600;
}
@media (max-width: 1280px) {
  .breadcrumbs .bc-home i {
    font-size: 1.25vw;
    margin-right: 0.46875vw;
  }
}
@media (max-width: 768px) {
  .breadcrumbs .bc-home i {
    font-size: 2.0833333333vw;
    margin-right: 0.78125vw;
  }
}

.breadcrumbs .bc-sep {
  margin: 0 8px; /* 前後の隙間 */
  color: #888; /* セパレーター色 */
}
@media (max-width: 1280px) {
  .breadcrumbs .bc-sep {
    margin: 0 0.625vw;
  }
}
@media (max-width: 768px) {
  .breadcrumbs .bc-sep {
    margin: 0 1.0416666667vw;
  }
}

.breadcrumbs .bc-current {
  color: #333; /* 現在地テキスト色 */
  font-weight: 500;
}

@media (max-width: 768px) {
  .archive_b .breadcrumbs {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */