@charset "UTF-8";
/*!
Theme Name: furanobus_Theme
Theme URI: https://www.sohokkai.co.jp
Author: 株式会社 総北海
Author URI: http://webziing.jp/
Description: ふらのバス様 テンプレート
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: review_renewal
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  -o-tab-size: 4;
  tab-size: 4;
  word-break: normal;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -moz-tab-size: 4;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

::before,
::after {
  vertical-align: inherit;
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
}

* {
  margin: 0;
  padding: 0; /* Reset `padding` and `margin` of all elements */
}

/* # =================================================================
     # General elements
     # ================================================================= */
hr {
  height: 0; /* Add the correct box sizing in Firefox */
  overflow: visible; /* Show the overflow in Edge and IE */
  color: inherit; /* Correct border color in Firefox. */
}

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

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

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

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

abbr[title] {
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  border-bottom: none; /* Remove the bottom border in Chrome 57 */
}

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

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

pre {
  font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

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

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */
  border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */
}

/* # =================================================================
     # Forms
     # ================================================================= */
input {
  border-radius: 0;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  outline-offset: -2px; /* Correct the outline style in Safari */
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  color: inherit;
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  border-style: none;
  background-color: transparent;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
legend {
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
}

::-webkit-file-upload-button {
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
  color: inherit;
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
}

/* # =================================================================
     # Specify media element style
     # ================================================================= */
img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

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

/* # =================================================================
     # Accessibility
     # ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled=true] {
  cursor: default;
}

html {
  font-size: 100%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  /*font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Noto Sans JP",
    Meiryo,
    sans-serif;*/
  font-weight: 400;
  font-style: normal;
  line-height: 1.8;
  color: #454545;
  font-size: 15px;
  font-size: 0.9375rem;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
  color: #774b9f;
}
a:hover {
  text-decoration: underline;
}
a.remove-class {
  cursor: pointer;
}

.wp-block-file__button {
  text-decoration: none;
  padding: 3px 10px;
}
.wp-block-file__button:hover {
  text-decoration: none;
}

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

::-moz-selection {
  color: #fff;
  background-color: #774b9f;
}

::selection {
  color: #fff;
  background-color: #774b9f;
}

.material-symbols-outlined {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle;
}

/*.video {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}*/
/*fade*/
.u-fadein {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: all 1s;
  transition: all 1s;
}

.u-fadein-display {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

.u-fadein-right-to-left {
  opacity: 0;
  -webkit-transform: translateX(25px);
          transform: translateX(25px);
  -webkit-transition: all 2.5s;
  transition: all 2.5s;
}

.u-fadein-right-to-left-display {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}

@-webkit-keyframes scrollDownLine {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
@keyframes scrollDownLine {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
.l-container {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.l-header {
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
}

.translated-ltr .l-header {
  top: 38px;
}

.l-header.is-scrolled {
  background-color: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px); /* for Safari */
}

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 80px;
}

.l-header__logo {
  line-height: 1;
}

.l-header__logoImage {
  width: 221px;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .l-header__logoImage {
    width: 160px;
  }
}

.l-header__nav-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.l-footer {
  padding: 150px 0 50px 0;
  background: url("assets/img/common/bg-footer01.jpg") no-repeat 50% 100%;
  background-size: 100% auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding: 50px 0 50px 0;
  }
}
.l-footer__company dt img {
  width: 325px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .l-footer__company dt img {
    width: 250px;
  }
}
.l-footer__company dd {
  margin: 10px 0 0 0;
  font-weight: bold;
  font-size: 20px;
  font-size: 1.25rem;
}
.l-footer__address {
  margin: 10px 0 0 0;
  font-size: 16px;
  font-size: 1rem;
}
.l-footer__tel {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  color: #774b9f;
  font-size: 30px;
  font-size: 1.875rem;
}
.l-footer__no {
  font-size: 50px;
  font-size: 3.125rem;
}
@media screen and (max-width: 768px) {
  .l-footer__no {
    font-size: 30px;
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__contact {
    margin-top: 20px;
  }
}
.l-footer__contact .c-btn {
  max-width: 250px;
  border-radius: 40px;
  background-color: #43b177;
  padding-top: 7px;
}
.l-footer__contact .c-btn svg {
  vertical-align: middle;
  position: relative;
  top: -3px;
}
.l-footer__sns {
  margin: 70px 0 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .l-footer__sns {
    margin: 40px 0 0 0;
  }
}
.l-footer__sns li {
  width: 44px;
  list-style: none;
  margin: 0 2%;
}
.l-footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 70px 0 0 0;
}
@media screen and (max-width: 768px) {
  .l-footer__nav {
    margin: 40px 0 0 0;
  }
}
.l-footer__nav li {
  list-style: none;
  padding: 0 5px;
  line-height: 1.4;
}
.l-footer__nav li:first-child {
  border-right: 1px solid #454545;
}
.l-footer__nav li a {
  color: #454545;
  text-decoration: underline;
}
.l-footer__copyright {
  margin-top: 200px;
  color: #FFF;
  font-weight: normal;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
  font-size: 14px;
  font-size: 0.875rem;
}
@media screen and (max-width: 768px) {
  .l-footer__copyright {
    text-align: left;
    margin: 100px 0 0 0;
    font-size: 13px;
    font-size: 0.8125rem;
  }
}

.l-contents {
  margin-top: 80px;
  padding-bottom: 80px;
}
.l-gnav {
  position: fixed;
  z-index: 999;
  top: 0;
  right: -120%;
  width: 640px;
  height: 100vh;
  background-color: #774b9f;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  padding: 100px;
}
@media screen and (max-width: 768px) {
  .l-gnav {
    width: 100%;
    padding: 80px 40px 40px 40px;
  }
}
.l-gnav.is-active {
  right: 0;
}
.l-gnav__logo {
  display: block;
  margin: 0 auto 100px auto;
  max-width: 212px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l-gnav__logo {
    width: 180px;
    margin: 0 auto 50px auto;
  }
}
.l-gnav__item {
  margin-top: 40px;
  list-style: none;
}
.l-gnav__link {
  color: #fff;
  font-weight: bold;
  font-size: 30px;
  font-size: 1.875rem;
}
.l-gnav__link:hover {
  text-decoration: none;
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .l-gnav__link {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.l-gnav__childList {
  margin-left: 1em;
}
.l-gnav__childItem {
  list-style: none;
  margin-top: 15px;
}
.l-gnav__childLink {
  color: #fff;
  font-size: 22px;
  font-size: 1.375rem;
}
.l-gnav__childLink:hover {
  text-decoration: none;
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .l-gnav__childLink {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.l-gnav__subList {
  margin-top: 40px;
  border-top: 1px solid #fff;
  padding-top: 30px;
}
.l-gnav__subItem {
  list-style: none;
  margin-top: 15px;
}
.l-gnav__subLink {
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .l-gnav__subLink {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.l-gnav__subLink:hover {
  text-decoration: none;
  opacity: 0.8;
}

/*@use "inner";
@use "introduce";
@use "section";
@use "sideBar";
@use "lead";
@use "bg";
@use "bg-origami";
@use "pc-2col";
*/
.c-bgcolor {
  padding: 45px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-bgcolor {
    padding: 25px 0;
  }
}
.c-bgcolor--main {
  background-color: #faf5ff;
}
.c-bgcolor--narrow {
  padding: 15px;
}
.c-bgcolor--topics {
  margin: 120px 0 0 0;
  background-color: #faf5ff;
}
@media screen and (max-width: 768px) {
  .c-bgcolor--topics {
    margin: 80px 0 0 0;
  }
}

.c-breadcrumb {
  padding: 10px 0;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb {
    margin-bottom: 25px;
  }
}
.c-breadcrumb .l-inner {
  padding: 0;
}
.c-breadcrumb ol {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.c-breadcrumb ol li {
  float: left;
  list-style: none;
  color: #666;
  font-size: 12px;
  font-size: 0.75rem;
}
.c-breadcrumb ol li:after {
  content: ">";
  padding: 0 5px;
}
.c-breadcrumb ol li:last-of-type:after {
  content: "";
}
.c-breadcrumb ol li a {
  color: #666;
  text-decoration: none;
}
.c-breadcrumb ol li a:hover {
  opacity: 0.8;
  text-decoration: none;
}

.c-btn {
  position: relative;
  line-height: 1.4;
  display: inline-block;
  width: 100%;
  min-width: 190px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-align: center;
  text-decoration: none;
  color: #FFF;
  border-radius: 16px;
  background-color: #774b9f;
  font-size: 16px;
  font-size: 1rem;
  padding: 5px 15px;
}
.c-btn span {
  position: relative;
  top: -1px;
  font-size: 14px;
  font-size: 0.875rem;
}
.c-btn a {
  display: block;
  color: #FFF;
  padding: 13px 10px;
}
.c-btn a:hover {
  text-decoration: none;
}
.c-btn:hover {
  opacity: 0.8;
  text-decoration: none;
}
.c-btn--application {
  background-color: #43b177;
  width: auto;
}
.c-btn--application svg {
  position: relative;
  top: -1px;
  vertical-align: middle;
}

button.c-btn {
  padding: 13px 10px;
}

.c-dropdown {
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-dropdown {
    display: none;
  }
}

.c-dropdown__button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #774b9f;
  color: #fff;
  padding: 0.25rem 1rem;
  border-radius: 0.25rem;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}

.c-dropdown__button:hover {
  background-color: #834fb3;
}

.c-dropdown__button-icon {
  margin-left: 0.5rem;
  width: 1rem;
  height: 1rem;
  fill: currentColor;
}

.c-dropdown__menu {
  display: none;
  position: absolute;
  right: 0;
  margin-top: 0.5rem;
  width: 10rem;
  background-color: #fff;
  border-radius: 0.375rem;
  -webkit-box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
          box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  z-index: 20;
}

.c-dropdown__menu.is-open {
  display: block;
}

.c-dropdown__item {
  list-style: none;
}

.c-dropdown__item a {
  display: block;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  color: #374151;
}

.c-dropdown__item a:hover {
  background-color: #f3f4f6;
}

/* Hamburger & Close Buttons */
.c-hamburger {
  padding: 0.5rem;
  border-radius: 0.375rem;
  color: #6b7280;
  margin-left: 0.5rem;
}

.c-hamburger:hover {
  color: #374151;
  background-color: #f3f4f6;
}

.c-hamburger__icon {
  width: 1.5rem;
  height: 1.5rem;
}

.c-close-button {
  padding: 0.5rem;
  color: #fff; /* 閉じるボタンの色を白に */
}

.c-close-button__icon {
  width: 2rem; /* 32px */
  height: 2rem;
}

@media (min-width: 768px) {
  .c-hamburger {
    display: none;
  }
}
.c-form {
  /* CF7チェックボックスとラジオボタンを縦並びに */
}
.c-form__item:not(:last-child) {
  margin-bottom: 30px;
}
.c-form__title {
  font-weight: bold;
  display: block;
  margin-bottom: 5px;
}
.c-form__note {
  font-weight: normal;
  margin-left: 5px;
  font-size: 12px;
  font-size: 0.75rem;
}
.c-form__require {
  display: inline-block;
  margin-left: 20px;
  color: #e50012;
  border: 1px solid #e50012;
  border-radius: 4px;
  background-color: #f33914;
  color: #FFF;
  line-height: 1;
  padding: 2px 5px;
}
.c-form__require--label {
  padding: 0 15px;
  color: red;
  background: #FFF;
}
.c-form__require--right {
  position: absolute;
  top: 11px;
  right: 10px;
}
@media screen and (max-width: 768px) {
  .c-form__require--right {
    top: 11px;
  }
}
.c-form__require--black {
  border: 1px solid #595757;
  color: #595757;
}
@media screen and (max-width: 768px) {
  .c-form__radio {
    display: block;
  }
}
.c-form__radio:not(:last-child) {
  margin-right: 35px;
}
@media screen and (max-width: 768px) {
  .c-form__radio:not(:last-child) {
    margin-right: 0;
    margin-bottom: 5px;
  }
}
.c-form input[type=radio] {
  margin-right: 5px;
  border: 1px solid #333;
  border-radius: 50%;
  vertical-align: middle;
}
.c-form input[type=checkbox] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  vertical-align: middle;
  background-color: #FFF;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.c-form .mwform-checkbox-field {
  display: block;
  margin-top: 10px;
}
.c-form .mwform-checkbox-field-text {
  position: relative;
  top: 4px;
}
.c-form input[type=checkbox]:checked:before {
  position: absolute;
  top: 2px;
  left: 5px;
  -webkit-transform: rotate(50deg);
          transform: rotate(50deg);
  width: 4px;
  height: 8px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: "";
}
.c-form__input {
  width: 300px;
  max-width: 100%;
  margin: 5px 0;
  padding: 5px 8px;
  border: solid 1px #aaa;
  border-radius: 5px;
  background-color: #fff;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .c-form__input {
    width: 100%;
  }
}
.c-form__input--w100 {
  width: 100%;
}
.c-form__select {
  width: 300px;
  max-width: 100%;
  margin: 5px 0;
  padding: 10px 8px;
  border: solid 1px #aaa;
  border-radius: 5px;
  background-color: #fff;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .c-form__select {
    width: 100%;
  }
}
.c-form__select--w100 {
  width: 100%;
}
.c-form .mwform-zip-field input {
  padding: 8px;
  border: solid 1px #aaa;
  border-radius: 5px;
  background-color: #fff;
}
.c-form input[type=tel] {
  width: 200px;
}
@media screen and (max-width: 768px) {
  .c-form input[type=tel] {
    width: 100%;
  }
}
.c-form__textarea {
  min-width: 600px;
  padding: 8px;
  resize: both;
  border: solid 1px #aaa;
  border-radius: 5px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .c-form__textarea {
    width: 100%;
    min-width: 100%;
  }
}
.c-form__textarea--w100 {
  width: 100%;
}
.c-form__btn {
  margin-top: 50px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-form__btn {
    margin-top: 25px;
  }
}
.c-form__btn .c-btn {
  max-width: 410px;
}
.c-form span.wpcf7-list-item {
  margin-top: 5px;
  display: block;
}

.c-heading-multi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: center;
}
.c-heading-multi__main {
  width: 100%;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  font-size: 20px;
  font-size: 1.25rem;
}
.c-heading-multi__sub {
  font-size: 80px;
  font-size: 5rem;
  width: 100%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  color: #774b9f;
  line-height: 1;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
}
@media screen and (max-width: 768px) {
  .c-heading-multi__sub {
    font-size: 40px;
    font-size: 2.5rem;
  }
}

.c-heading-primary,
h2.wp-block-heading {
  margin: 0;
  border-left: 3px solid #774b9f;
  line-height: 1.2;
  padding: 0 0 0 10px;
  font-size: 26px;
  font-size: 1.625rem;
}
@media screen and (max-width: 768px) {
  .c-heading-primary,
  h2.wp-block-heading {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.c-heading-primary--green,
h2.wp-block-heading--green {
  border-left: 3px solid #8fbc62;
}
.c-heading-primary--small,
h2.wp-block-heading--small {
  font-size: 20px;
  font-size: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-heading-primary--small,
  h2.wp-block-heading--small {
    font-size: 17px;
    font-size: 1.0625rem;
  }
}

h2.wp-block-heading:first-of-type {
  margin-top: 10px;
}

h2.wp-block-heading:not(:first-of-type) {
  margin-top: 40px;
}

.c-heading-secondary {
  display: inline-block;
  min-width: 330px;
  text-align: center;
  background-color: #774b9f;
  color: #FFF;
  padding: 0 15px;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: normal;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .c-heading-secondary {
    font-size: 16px;
    font-size: 1rem;
    min-width: auto;
  }
}
.c-heading-secondary--p01 {
  background-color: #774b9f;
}
.c-heading-secondary--p02 {
  background-color: #8fbc62;
}
.c-heading-secondary--p03 {
  background-color: #C53164;
}

.c-heading-waku {
  display: inline-block;
  border: 2px solid #ddd;
  line-height: 1.4;
  padding: 7px 15px;
  margin: 0 0 20px 0;
  font-size: 20px;
  font-size: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-heading-waku {
    display: block;
    font-size: 17px;
    font-size: 1.0625rem;
  }
}

.c-heading-tertiary {
  font-weight: normal;
  color: #774b9f;
  line-height: 1.1;
  font-size: 28px;
  font-size: 1.75rem;
}
@media screen and (max-width: 768px) {
  .c-heading-tertiary {
    font-weight: bold;
    font-size: 17px;
    font-size: 1.0625rem;
  }
}
.c-heading-tertiary img {
  vertical-align: middle;
  width: 45px;
  height: 45px;
  margin-left: 80px;
}
@media screen and (max-width: 768px) {
  .c-heading-tertiary img {
    width: 25px;
    height: 25px;
    margin-left: 40px;
  }
}

.c-heading-quaternary {
  margin: 0 0 10px 0;
  font-size: 16px;
  font-size: 1rem;
}
.c-heading-quaternary:before {
  content: "■";
}

.c-heading-school {
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  z-index: 0;
  text-align: center;
  margin-bottom: 30px;
}

.c-heading-school::after {
  background: -webkit-gradient(linear, left bottom, right top, from(#e63c74), color-stop(#e3618c), to(#fc90b4));
  background: linear-gradient(to right top, #e63c74, #e3618c, #fc90b4);
  border-radius: 8px;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: skewY(-2deg);
          transform: skewY(-2deg);
  -webkit-transform-origin: top left;
          transform-origin: top left;
}

.c-heading-school__inner {
  color: #fff;
  font-size: 24px;
  line-height: 34px;
  padding: 27px 24px 40px;
  position: relative;
  z-index: 1;
  letter-spacing: 0.15em;
}

h3.wp-block-heading {
  margin: 20px 0 10px 0;
  color: #774b9f;
  font-size: 20px;
  font-size: 1.25rem;
}

.c-hero {
  position: relative;
  width: 95%;
  margin: 70px auto 0 auto;
  height: 60vh;
  min-height: 400px;
  max-height: 700px;
  overflow: hidden;
  border-radius: 74px;
}

.c-hero__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  -webkit-transition: opacity 1.5s ease-in-out;
  transition: opacity 1.5s ease-in-out;
  z-index: 1;
}

.c-hero__slide.is-active {
  opacity: 1;
}

.c-hero__overlay {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding: 20px; /* 画像の周囲に余白を持たせる */
}

/* ▼▼▼【変更点 2/2】見出し画像のスタイルを追加 ▼▼▼ */
.c-hero__text-image {
  width: 80%; /* コンテナの幅に対して80% */
  max-width: 613px; /* 画像の最大幅を指定 */
  height: auto; /* 縦横比を維持 */
}

.c-info__body {
  background-color: #FFF;
  border-radius: 10px;
  padding: 10px 20px;
  line-height: 1.5;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .c-info__body {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.c-info__name {
  font-size: 18px;
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .c-info__name {
    font-size: 17px;
    font-size: 1.0625rem;
  }
}
.c-info__name svg {
  width: 178px;
  height: auto;
  vertical-align: middle;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .c-info__name svg {
    width: 140px;
  }
}
.c-info__text {
  font-size: 14px;
  font-size: 0.875rem;
}
.c-info__contact {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  line-height: 1.2;
}
.c-info__tel {
  list-style: none;
  font-size: 28px;
  font-size: 1.75rem;
  color: #774b9f;
}
@media screen and (max-width: 768px) {
  .c-info__tel {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.c-info__telNo {
  font-size: 40px;
  font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-info__telNo {
    font-size: 30px;
    font-size: 1.875rem;
  }
}
.c-info__fax {
  list-style: none;
  margin-top: 5px;
  font-size: 22px;
  font-size: 1.375rem;
}
@media screen and (max-width: 768px) {
  .c-info__fax {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.c-info__btn {
  text-align: center;
}
.c-info__btn .c-btn {
  max-width: 320px;
}

.c-jobCard__title {
  color: #774b9f;
  font-size: 26px;
  font-size: 1.625rem;
}
.c-jobCard__label {
  position: relative;
  top: -3px;
  background-color: #8fbc62;
  font-size: 18px;
  font-size: 1.125rem;
  color: #FFF;
  padding: 8px 15px;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .c-jobCard__body {
    margin-top: 20px;
  }
}
.c-jobCard__lead {
  margin: 15px 0 0 0;
  font-weight: bold;
  font-size: 21px;
  font-size: 1.3125rem;
  line-height: 1.6;
}
.c-jobCard__description {
  margin: 15px 0 0 0;
  line-height: 1.6;
}
.c-jobCard__btn {
  margin: 15px 0 0 0;
}
@media screen and (max-width: 768px) {
  .c-jobCard__btn {
    margin: 25px 0 0 0;
    text-align: center;
  }
}
.c-jobCard__btn .c-btn {
  max-width: 250px;
}
.c-jobCard--hr {
  border-bottom: 1px solid #DDD;
}

.c-joboffers {
  background-color: #efefef;
  padding: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .c-joboffers {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.c-joboffers__body {
  padding: 30px 20px;
}
.c-joboffers__title {
  color: #774b9f;
  font-size: 60px;
  font-size: 3.75rem;
  line-height: 1.2;
}
.c-joboffers__sub {
  font-size: 20px;
  font-size: 1.25rem;
}
.c-joboffers__text {
  margin: 15px 0 0 0;
}
.c-joboffers__btn {
  margin: 25px 0 0 0;
}
@media screen and (max-width: 768px) {
  .c-joboffers__btn {
    text-align: center;
  }
}
.c-joboffers__btn .c-btn {
  width: 250px;
}
@media screen and (max-width: 768px) {
  .c-joboffers__image {
    padding: 20px;
  }
}

.c-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-label__labelItem {
  list-style: none;
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
  color: #666;
  border: 1px solid #56b783;
  line-height: 1;
  margin: 0 7px 0 0;
  padding: 2px 6px;
  border-radius: 3px;
  font-weight: bold;
}
.c-label__labelItem--important {
  color: #ff0000;
  border: 1px solid #ff0000;
}

.c-label-category {
  font-weight: bold;
  display: inline-block;
  min-width: 129px;
  padding: 4px 10px;
  margin-right: 15px;
  text-align: center;
  color: #FFF;
  border-radius: 5px;
  background-color: #774b9f;
  line-height: 1.1;
  font-size: 20px;
  font-size: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-label-category {
    min-width: 90px;
    margin-right: 10px;
    padding: 5px 8px;
    font-size: 14px;
    font-size: 0.875rem;
  }
}

.c-list li {
  list-style: none;
  margin-top: 15px;
  color: #454545;
}
.c-list li a {
  text-decoration: underline;
  color: #454545;
}

.c-noribaNav .c-heading-primary {
  border-left-color: #8fbc62;
}
.c-noribaNav__link {
  display: block;
  border: 2px solid #8fbc62;
  text-align: center;
  border-radius: 10px;
  background: #8fbc62;
  color: #FFF;
  font-size: 20px;
  font-size: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-noribaNav__link {
    font-size: 16px;
    font-size: 1rem;
  }
}
.c-noribaNav__link:hover {
  text-decoration: none;
  opacity: 0.8;
}

.c-notice {
  border: 2px solid #ff0006;
  border-radius: 10px;
}
.c-notice__heading {
  text-align: center;
  color: #FFF;
  background-color: #ff0006;
  font-size: 24px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .c-notice__heading {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.c-notice__body {
  padding: 15px;
}
.c-notice__body dl {
  line-height: 1.4;
  font-size: 15px;
  font-size: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .c-notice__body dl {
    font-size: 13px;
    font-size: 0.8125rem;
  }
}
.c-notice__body dt {
  margin-top: 15px;
}
.c-notice__body dt:first-of-type {
  margin-top: 0;
}
.c-notice__body dd a {
  color: #454545;
  text-decoration: underline;
}
.c-notice__body dd a:hover {
  opacity: 0.8;
}

.c-page-title {
  position: relative; /* 疑似要素によるオーバーレイの基準点 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 280px; /* 高さを確保 */
  padding: 2rem;
  color: #fff;
  width: 95%;
  /* 背景画像の設定 */
  background-size: cover;
  background-position: center;
  /* 画像の角を丸める */
  border-radius: 74px;
  overflow: hidden; /* 角丸の外側を隠す */
  margin: 70px auto 0 auto;
}
@media screen and (max-width: 768px) {
  .c-page-title {
    min-height: 160px;
    border-radius: 16px;
  }
}

/* テキストの視認性を高めるための黒いオーバーレイ */
.c-page-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1; /* テキストより下に配置 */
}

.c-page-title__heading {
  position: relative; /* オーバーレイより上に配置 */
  z-index: 2;
  margin: 0;
  font-weight: bold;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); /* 文字に影をつけて読みやすくする */
  font-size: 40px;
  font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-page-title__heading {
    font-size: 25px;
    font-size: 1.5625rem;
    text-align: center;
  }
}

.c-page-top {
  position: absolute;
  top: 0;
  right: 0;
}
.c-page-top__link {
  background: #774b9f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 2;
  height: 50px;
  width: 50px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  border-radius: 50%;
}
.c-page-top__link--school {
  background: #fc90b4;
}
.c-page-top__link:hover {
  opacity: 0.8;
}
.c-page-top__arrow {
  height: 10px;
  width: 10px;
  border-top: 3px solid #FFF;
  border-right: 3px solid #FFF;
  -webkit-transform: translateY(20%) rotate(-45deg);
          transform: translateY(20%) rotate(-45deg);
}

.c-rosenBtn__link {
  display: block;
  border: 2px solid #DDD;
  text-align: center;
  border-radius: 10px;
  background: #FFF;
  color: #454545;
  font-size: 20px;
  font-size: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-rosenBtn__link {
    padding: 4px 0;
    font-size: 16px;
    font-size: 1rem;
  }
}
.c-rosenBtn__link--l {
  border-color: #774b9f;
}
.c-rosenBtn__link--n {
  border-color: #d83f15;
}
.c-rosenBtn__link--r {
  border-color: #ec6618;
}
.c-rosenBtn__link--g {
  border-color: #2f87c9;
}
.c-rosenBtn__link--a {
  border-color: #0c8841;
}
.c-rosenBtn__link:hover {
  text-decoration: none;
  color: #FFF;
}
.c-rosenBtn__link:hover.c-rosenBtn__link--l {
  background-color: #774b9f;
}
.c-rosenBtn__link:hover.c-rosenBtn__link--n {
  background-color: #d83f15;
}
.c-rosenBtn__link:hover.c-rosenBtn__link--r {
  background-color: #ec6618;
}
.c-rosenBtn__link:hover.c-rosenBtn__link--g {
  background-color: #2f87c9;
}
.c-rosenBtn__link:hover.c-rosenBtn__link--a {
  background-color: #0c8841;
}
.c-rosenBtn__label {
  position: relative;
  top: -1px;
  display: inline-block;
  width: 29px;
  text-align: center;
  background-color: #DDD;
  margin-right: 4px;
  padding: 2px 5px;
  color: #FFF;
  line-height: 25px;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .c-rosenBtn__label {
    padding: 4px 5px;
  }
}
.c-rosenBtn__label--l {
  background-color: #774b9f;
}
.c-rosenBtn__label--n {
  background-color: #d83f15;
}
.c-rosenBtn__label--r {
  background-color: #ec6618;
}
.c-rosenBtn__label--g {
  background-color: #2f87c9;
}
.c-rosenBtn__label--a {
  background-color: #0c8841;
}

.c-service__link {
  display: block;
}
.c-service__link:hover {
  text-decoration: none;
  opacity: 0.8;
}
.c-service__visual {
  position: relative;
}
.c-service__image, .c-service__image img {
  border-radius: 10px;
}
.c-service__arrow {
  position: absolute;
  right: 15px;
  bottom: 15px;
  width: 43px;
  height: 43px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.c-service__definition {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 15px 0 0 0;
}
.c-service__definition dt {
  width: 100%;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  color: #774b9f;
  font-weight: bold;
  font-size: 24px;
  font-size: 1.5rem;
}
.c-service__definition dd {
  width: 100%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  color: #454545;
  line-height: 1;
  font-weight: bold;
}
.c-service__text {
  margin-top: 5px;
  color: #454545;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
}

.c-service:hover .c-service__arrow {
  right: 10px;
}

.c-slider .slick-list {
  margin: 0 -10px;
}
@media screen and (max-width: 768px) {
  .c-slider .slick-list {
    margin: 0 -5px;
  }
}
.c-slider .slick-slide {
  margin: 0 10px;
}
@media screen and (max-width: 768px) {
  .c-slider .slick-slide {
    margin: 0 5px;
  }
}

.c-table01 {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  border: solid 1px #666;
}
@media screen and (max-width: 768px) {
  .c-table01 {
    border: none;
  }
}
.c-table01 caption {
  text-align: left;
  margin-bottom: 5px;
  font-weight: 700;
  font-size: 15px;
  font-size: 0.9375rem;
}
.c-table01 tr {
  border: solid 1px #666;
}
@media screen and (max-width: 768px) {
  .c-table01 tr {
    border: none;
  }
}
.c-table01 th,
.c-table01 td {
  padding: 10px 15px;
  text-align: left;
  font-weight: normal;
  border: solid 1px #666;
  font-size: 14px;
  font-size: 0.875rem;
}
@media screen and (max-width: 768px) {
  .c-table01 th,
  .c-table01 td {
    font-size: 13px;
    font-size: 0.8125rem;
    display: block;
    padding: 10px;
  }
}
.c-table01 th {
  position: relative;
  min-width: 260px;
  width: 23%;
  background-color: #efefef;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .c-table01 th {
    min-width: 100%;
    width: 100%;
    border: none;
    border-top: solid 1px #dddddd;
    text-align: left;
    font-weight: bold;
  }
}
.c-table01 th.c-table01__thHospital {
  min-width: 250px;
  text-align: left;
}
.c-table01 td {
  background-color: rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 768px) {
  .c-table01 td {
    margin-bottom: 10px;
    border: none;
  }
}
.c-table01 p:not(:last-child) {
  margin-bottom: 5px;
}

.c-table02 {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  border: solid 1px #666;
}
.c-table02 caption {
  text-align: left;
  margin-bottom: 5px;
  font-weight: 700;
  font-size: 15px;
  font-size: 0.9375rem;
}
.c-table02 caption:before {
  content: "■";
  color: #ff86ab;
}
.c-table02 tr {
  border: solid 1px #666;
}
.c-table02 th,
.c-table02 td {
  padding: 5px 15px;
  font-weight: normal;
  border: solid 1px #666;
  line-height: 1.4;
  color: #000;
  font-size: 14px;
  font-size: 0.875rem;
}
@media screen and (max-width: 768px) {
  .c-table02 th,
  .c-table02 td {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.c-table02 th {
  position: relative;
  background-color: #efefef;
  text-align: left;
  white-space: nowrap;
  width: 20%;
}
.c-table02 th dl dd {
  font-size: 13px;
  font-size: 0.8125rem;
}
@media screen and (max-width: 768px) {
  .c-table02 th dl dd {
    font-size: 11px;
    font-size: 0.6875rem;
  }
}
.c-table02 td {
  text-align: center;
}
.c-table02--pd01 th, .c-table02--pd01 td {
  padding: 15px;
}

.c-table03 {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  border: solid 1px #dddddd;
}
.c-table03 caption {
  text-align: right;
  margin-bottom: 5px;
  font-size: 15px;
  font-size: 0.9375rem;
}
.c-table03 tr {
  border-bottom: solid 1px #dddddd;
}
.c-table03 th,
.c-table03 td {
  padding: 5px 15px;
  text-align: left;
  font-weight: normal;
  border: solid 1px #dddddd;
}
.c-table03 th {
  position: relative;
  min-width: 240px;
  width: 20%;
  background-color: #efefef;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .c-table03 th {
    min-width: 180px;
  }
}
.c-table03 th.c-table02__kind {
  text-align: center;
  width: auto;
  min-width: 120px;
}
.c-table03 th.c-table02__kind--01 {
  background-color: #ffff00;
}
.c-table03 th.c-table02__kind--02 {
  background-color: #00adef;
}
.c-table03 th.c-table02__kind--03 {
  background-color: #ff99ff;
}
.c-table03 td {
  text-align: center;
}
.c-table03 p:not(:last-child) {
  margin-bottom: 5px;
}

.c-table04 {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .c-table04 {
    margin-top: 25px;
  }
}
.c-table04:first-child {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .c-table04 {
    border-top: none;
  }
}
.c-table04 caption {
  text-align: left;
  margin-bottom: 10px;
  font-weight: normal;
  font-size: 36px;
  font-size: 2.25rem;
}
@media screen and (max-width: 768px) {
  .c-table04 caption {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.c-table04 th,
.c-table04 td {
  font-size: 28px;
  font-size: 1.75rem;
  padding: 10px 0;
  text-align: left;
  font-weight: normal;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .c-table04 th,
  .c-table04 td {
    font-size: 17px;
    font-size: 1.0625rem;
    display: block;
    padding: 3px 10px;
  }
}
.c-table04 th {
  position: relative;
  min-width: 235px;
  width: 30%;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .c-table04 th {
    min-width: 100%;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .c-table04 td {
    margin-bottom: 20px;
  }
}
.c-table04 p:not(:last-child) {
  margin-bottom: 10px;
}
.c-table04 ul {
  margin-left: 20px;
}
.c-table04--db th,
.c-table04--db td {
  display: block;
  padding: 3px 10px;
}
.c-table04--db th {
  min-width: 100%;
  width: 100%;
}
.c-table04--db td {
  margin-bottom: 20px;
}

.c-tour {
  border: 2px solid #dbdbdb;
  border-radius: 10px;
  padding: 18px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-tour__heading {
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.5;
}
.c-tour__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .c-tour__body {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.c-tour__detail {
  width: 60%;
}
@media screen and (max-width: 768px) {
  .c-tour__detail {
    max-width: 100%;
    width: 100%;
  }
}
.c-tour__image {
  width: 38%;
}
@media screen and (max-width: 768px) {
  .c-tour__image {
    max-width: 100%;
    width: 100%;
    margin-top: 15px;
    margin-left: 0;
  }
}
.c-tour__image img {
  width: 100%;
}
.c-tour__detail {
  line-height: 1.5;
  font-size: 14px;
  font-size: 0.875rem;
}
.c-tour__detail > * {
  margin-top: 5px;
}
.c-tour__definition {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 15px 0 0 0;
}
.c-tour__definition dt {
  width: 100%;
  font-weight: bold;
  color: #774b9f;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.2;
}
.c-tour__kind {
  font-size: 16px;
  font-size: 1rem;
}
.c-tour__price {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: bold;
  margin-right: 20px;
}
.c-tour__btn {
  margin: 15px 0 0 0;
}
.c-tour__link {
  display: block;
  background-color: #43b177;
  color: #FFF;
  text-align: center;
  line-height: 1;
  padding: 10px 10px;
  font-size: 18px;
  font-size: 1.125rem;
}
.c-tour__link:hover {
  text-decoration: none;
  opacity: 0.8;
}

.c-wideInfo {
  text-align: center;
  background-repeat: no-repeat;
  background-position: 0 50%;
  background-size: cover;
  padding: 40px 20px 410px 20px;
}
@media screen and (max-width: 768px) {
  .c-wideInfo {
    padding: 40px 20px 120px 20px;
  }
}
.c-wideInfo dl {
  color: #FFF;
}
.c-wideInfo dl dt {
  font-size: 29px;
  font-size: 1.8125rem;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-wideInfo dl dt {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.c-wideInfo dl dd {
  font-size: 16px;
  font-size: 1rem;
  max-width: 715px;
  margin: 10px auto 0 auto;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 768px) {
  .c-wideInfo dl dd {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.c-wideInfo--recruit {
  background-image: url("assets/img/lower/bg-recruit01.jpg");
}

.grecaptcha-badge {
  bottom: 80px !important;
}

.wp-block-image .aligncenter > figcaption {
  text-align: center;
}

.wp-block-file:not(.wp-element-button) {
  font-size: 1em;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

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

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

.pagenation {
  text-align: center;
  margin: 80px 0 50px 0;
}
@media screen and (max-width: 768px) {
  .pagenation {
    margin: 50px 0 30px 0;
  }
}

.pagenation span,
.pagenation a {
  display: inline-block;
  margin: 0 5px;
  width: 46px;
  height: 46px;
  line-height: 46px;
  border-radius: 23px;
  font-size: 20px;
  font-size: 1.25rem;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .pagenation span,
  .pagenation a {
    width: 38px;
    height: 38px;
    line-height: 38px;
    border-radius: 19px;
    font-size: 16px;
    font-size: 1rem;
  }
}

.pagenation span.current {
  background: #774b9f;
  color: #FFF;
}

.pagenation a {
  text-decoration: none;
  color: #454545;
  border: 1px solid #774b9f;
}

.pagenation a:hover {
  background: #774b9f;
  color: #fff !important;
  text-decoration: none;
}

.pagenation a.prev,
.pagenation a.next {
  color: #898989;
}

.pagenation a.prev:before {
  content: "＜";
}

.pagenation a.next:before {
  content: "＞";
}

.edit-link {
  width: 125px;
  background: rgb(227, 148, 0);
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 9999;
  color: #FFF;
  text-align: center;
}

.edit-link a {
  padding: 5px 0;
  display: block;
  color: #FFF;
  text-decoration: none;
}

.edit-link a:link,
.edit-link a:visited {
  color: #FFF;
}

.edit-link a:hover {
  opacity: 0.8;
  color: #FFF;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

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

/* SP */
@media screen and (max-width: 768px) {
  .alignleft {
    display: block;
    float: none;
    margin: 10px auto;
  }
  .alignright {
    display: block;
    float: none;
    margin: 10px auto;
  }
}
/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  margin: 0 0 1.5em;
  /* Make sure select elements fit in widgets. */
}

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

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

.hentry {
  margin: 0;
}

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

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

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

.wp-block-file {
  margin: 15px 0;
}

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

.bypostauthor {
  display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

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

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

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

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

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

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

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

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

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

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

.p-company__title {
  color: #774b9f;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-company__title {
    margin-top: 20px;
  }
}
.p-company__body {
  line-height: 1.5;
}
.p-company__body > * {
  margin-top: 10px;
}
.p-company__image img {
  border-radius: 10px;
}
.p-company__history dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-company__history dt {
  margin: 20px 0 0 0;
  text-align: center;
  padding: 10px;
  width: 260px;
  background-color: #EFEFEF;
}
@media screen and (max-width: 768px) {
  .p-company__history dt {
    width: 100%;
    text-align: left;
  }
}
.p-company__history dd {
  margin: 20px 0 0 0;
  padding: 10px 40px;
  width: calc(100% - 260px);
}
@media screen and (max-width: 768px) {
  .p-company__history dd {
    width: 100%;
    margin: 0;
    padding: 10px;
  }
}
.p-company__note {
  margin-top: 20px;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
}

.p-contents__heading {
  padding: 0 20px 20px 20px;
  margin-bottom: 40px;
  border-bottom: 1px solid #ededed;
}
@media screen and (max-width: 768px) {
  .p-contents__heading {
    margin-bottom: 20px;
  }
}
.p-contents__headingInner {
  border-left: 3px solid #774b9f;
  padding: 0 0 0 15px;
}
.p-contents__title {
  font-size: 21px;
  font-size: 1.3125rem;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-contents__title {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.p-contents__time {
  color: #774b9f;
  line-height: 1.1;
}
.p-contents__time span {
  position: relative;
  top: -2px;
  color: #000;
  font-size: 1em;
  margin-right: 4px;
}
.p-contents__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-contents__meta li {
  list-style: none;
}
.p-contents__body > * {
  margin-top: 1em;
  text-align: justify;
}
.p-contents__body a:not(.wp-element-button) {
  text-decoration: underline;
}
.p-contents__body a:not(.wp-element-button):hover {
  opacity: 0.8;
}
.p-contents__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-top: 1px solid #DDD;
  margin-top: 40px;
  padding: 20px 0 0 0;
}
.p-contents__nav li {
  list-style: none;
}
.p-contents__nav li a {
  text-decoration: underline;
  color: #000;
}
.p-contents__nav li a:hover {
  opacity: 0.8;
}
.p-contents__nav li span {
  font-size: 13px;
  font-size: 0.8125rem;
}

.p-kashikiri__title {
  color: #774b9f;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-kashikiri__title {
    margin-top: 20px;
  }
}
.p-kashikiri__body {
  line-height: 1.5;
}
.p-kashikiri__body > * {
  margin-top: 10px;
}
.p-kashikiri__image img {
  border-radius: 10px;
}
.p-kashikiri__car {
  font-size: 24px;
  font-size: 1.5rem;
  border-bottom: 3px solid #dbdbdb;
  color: #774b9f;
}
@media screen and (max-width: 768px) {
  .p-kashikiri__car {
    margin-top: 15px;
  }
}
.p-kashikiri__sub {
  color: #454545;
}
.p-kashikiri__list li {
  list-style: none;
  font-size: 14px;
  font-size: 0.875rem;
}
.p-kashikiri__list li figcaption {
  margin-top: 5px;
}
.p-kashikiri__hr {
  border-bottom: 1px solid #DDD;
}

/* Mobile Navigation (Fullscreen Overlay) */
.p-mobile-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #7e48a4; /* 背景色を変更 */
  z-index: 100;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  visibility: hidden;
  -webkit-transition: visibility 0s 0.4s, -webkit-transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: visibility 0s 0.4s, -webkit-transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), visibility 0s 0.4s;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), visibility 0s 0.4s, -webkit-transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.p-mobile-nav.is-open {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  visibility: visible;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.p-mobile-nav__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 80px;
  padding: 0 1rem;
}

.p-mobile-nav__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: calc(100% - 80px);
}

.p-mobile-nav__logo {
  font-family: "serif";
  font-weight: bold;
  color: #fff;
  font-size: 2.5rem; /* 40px */
  margin-bottom: 3rem; /* 48px */
}

.p-mobile-nav__logoImage {
  width: 200px;
}

.p-mobile-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  gap: 1.5rem; /* ボタン間の余白 */
}

.p-mobile-nav__item {
  width: 80%;
  max-width: 350px;
  list-style: none;
}

.p-mobile-nav__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  background-color: #fff; /* ボタンの背景色を白に */
  font-size: 1.25rem;
  font-weight: 600;
  color: #374151;
  padding: 1rem;
  border-radius: 0.5rem;
  -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
          box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  -webkit-transition: -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
  transition: -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
  transition: transform 0.2s, box-shadow 0.2s;
  transition: transform 0.2s, box-shadow 0.2s, -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
}
.p-mobile-nav__link svg {
  margin-right: 5px;
}

.p-mobile-nav__link:hover {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
  -webkit-box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
          box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  text-decoration: none;
}

.p-mobile-nav__icon {
  width: 1.5rem; /* 24px */
  height: 1.5rem;
  margin-right: 0.75rem; /* 12px */
  color: #7e48a4; /* アイコンの色 */
}

.p-mobile-nav__socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem; /* アイコン間の余白 */
  margin-top: 3rem; /* メニューボタンとの余白 */
}

.p-mobile-nav__social-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50px;
  height: 50px;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  -webkit-transition: background-color 0.2s, -webkit-transform 0.2s;
  transition: background-color 0.2s, -webkit-transform 0.2s;
  transition: background-color 0.2s, transform 0.2s;
  transition: background-color 0.2s, transform 0.2s, -webkit-transform 0.2s;
}

.p-mobile-nav__social-link:hover {
  background-color: rgba(255, 255, 255, 0.1);
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.p-mobile-nav__social-icon {
  width: 1.5rem; /* 24px */
  height: 1.5rem;
  fill: currentColor;
}

.p-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* デスクトップで表示 */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 1rem;
}
@media screen and (max-width: 768px) {
  .p-nav {
    display: none;
  }
}

.p-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  list-style: none;
}

.p-nav__item {
  width: 190px;
}
@media screen and (max-width: 1110px) {
  .p-nav__item {
    width: 150px;
  }
}
@media screen and (max-width: 960px) {
  .p-nav__item {
    width: 110px;
  }
}

.p-nav__link {
  display: block;
  width: 100%;
  text-align: center;
  color: #454545;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 600;
  padding: 0.75rem 0;
  border-radius: 0.25rem;
  background: linear-gradient(135deg, #d9e7ff, #f5faff);
  background-size: 200% 200%;
  background-position: left center; /* または 0% 50% */
  -webkit-transition: background-position 0.5s ease-in-out;
  transition: background-position 0.5s ease-in-out;
}

.p-nav__link:hover {
  background-color: #c7d2fe;
  text-decoration: none;
  background-position: right center; /* または 100% 50% */
}

.p-rosen__title {
  font-size: 26px;
  font-size: 1.625rem;
  border-bottom: 3px solid #DDD;
  background-color: rgb(255, 255, 255);
  /* 見出しを固定するための設定 */
  position: sticky;
  z-index: 1;
  position: -webkit-sticky; /* Safari用の記述 */
  top: 80px; /* 画面の上端から0pxの位置で固定 */
  padding: 0 3px;
}
@media screen and (max-width: 768px) {
  .p-rosen__title {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.p-rosen__title--l {
  color: #774b9f;
  border-bottom-color: #774b9f;
}
.p-rosen__title--n {
  color: #d83f15;
  border-bottom-color: #d83f15;
}
.p-rosen__title--r {
  color: #ec6618;
  border-bottom-color: #ec6618;
}
.p-rosen__title--g {
  color: #2f87c9;
  border-bottom-color: #2f87c9;
}
.p-rosen__title--a {
  color: #0c8841;
  border-bottom-color: #0c8841;
}
.p-rosen__title--sub {
  color: #8fbc62;
  border-bottom-color: #8fbc62;
}
.p-rosen__subTitle {
  color: #454545;
}
.p-rosen__label {
  position: relative;
  top: -3px;
  background-color: #DDD;
  padding: 1px 5px;
  color: #FFF;
  width: 29px;
  display: inline-block;
  text-align: center;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .p-rosen__label {
    position: relative;
    top: -2px;
  }
}
.p-rosen__label--l {
  background-color: #774b9f;
}
.p-rosen__label--n {
  background-color: #d83f15;
}
.p-rosen__label--r {
  background-color: #ec6618;
}
.p-rosen__label--g {
  background-color: #2f87c9;
}
.p-rosen__label--a {
  background-color: #0c8841;
}
.p-rosen__image {
  border-radius: 10px;
}
.p-rosen__catch {
  color: #774b9f;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-rosen__catch {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.p-rosen__text {
  margin: 15px 0 0 0;
  font-size: 17px;
  font-size: 1.0625rem;
}
@media screen and (max-width: 768px) {
  .p-rosen__text {
    font-size: 16px;
    font-size: 1rem;
  }
}
.p-rosen__note {
  font-size: 17px;
  font-size: 1.0625rem;
  margin: 5px 0 0 0;
}
@media screen and (max-width: 768px) {
  .p-rosen__note {
    font-size: 16px;
    font-size: 1rem;
  }
}
.p-rosen__note li {
  list-style: none;
  color: #ff0000;
}
.p-rosen__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .p-rosen__heading {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.p-rosen__heading .c-heading-primary,
.p-rosen__heading .c-heading-secondary {
  margin-right: 15px;
}
.p-rosen__all a {
  color: #454545;
  text-decoration: underline;
}
.p-rosen__all a:hover {
  opacity: 0.8;
  text-decoration: none;
}
.p-rosen__all .material-symbols-outlined {
  position: relative;
  top: -1px;
  left: -2px;
}
.p-rosen__sankautable {
  text-align: center;
}
.p-rosen__btn {
  padding: 15px 0;
  text-align: center;
}
.p-rosen__btn .c-btn {
  max-width: 230px;
}
.p-rosen__image {
  margin: 15px 0 0 0;
}
.p-rosen__image img {
  width: 100%;
  height: auto;
}
.p-rosen__caption {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.4;
  margin: 10px 0 0 0;
  text-align: justify;
}
.p-rosen__list {
  border-top: 1px solid #DDD;
}

.p-subContent__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-subContent__headingMain {
  width: 100%;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  font-size: 20px;
  font-size: 1.25rem;
}
.p-subContent__headingSub {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  font-size: 60px;
  font-size: 3.75rem;
  width: 100%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  color: #774b9f;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-subContent__headingSub {
    font-size: 40px;
    font-size: 2.5rem;
  }
}
.p-subContent__text {
  margin: 15px 0 0 0;
  font-size: 14px;
  font-size: 0.875rem;
}
.p-subContent__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-subContent__listItem {
  margin: 15px 0 0 0;
  width: 48%;
  list-style: none;
}
.p-subContent__listItem .c-btn {
  min-width: 100%;
}
@media screen and (max-width: 768px) {
  .p-subContent__listItem {
    width: 200%;
    padding: 0 10%;
  }
}

.p-topicsList__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -90px;
}
@media screen and (max-width: 768px) {
  .p-topicsList__heading {
    margin-top: -50px;
  }
}
.p-topicsList__headingMain {
  width: 100%;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  font-size: 20px;
  font-size: 1.25rem;
}
.p-topicsList__headingSub {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  font-size: 80px;
  font-size: 5rem;
  width: 100%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  color: #774b9f;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-topicsList__headingSub {
    font-size: 40px;
    font-size: 2.5rem;
  }
}
.p-topicsList__body {
  background-color: #FFF;
  margin: 20px 0 0 0;
  padding: 20px 30px;
}
.p-topicsList__body--archive {
  margin: 0;
  padding: 0;
}
.p-topicsList__item {
  list-style: none;
}
.p-topicsList__link {
  display: block;
  border-bottom: 1px dotted #DDD;
  padding: 8px 5px;
}
.p-topicsList__link:hover {
  text-decoration: none;
  opacity: 0.8;
}
.p-topicsList__definition dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 15px;
  font-size: 0.9375rem;
}
.p-topicsList__definition dt time {
  color: #56b783;
  margin-right: 7px;
}
.p-topicsList__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-topicsList__labelItem {
  list-style: none;
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
  color: #666;
  border: 1px solid #56b783;
  line-height: 1;
  margin: 0 0 0 7px;
  padding: 2px 6px;
  border-radius: 3px;
  font-weight: bold;
}
.p-topicsList__labelItem--important {
  color: #ff0000;
  border: 1px solid #ff0000;
}
.p-topicsList__title {
  color: #454545;
}
.p-topicsList__title--important {
  color: #ff0000;
}
.p-topicsList__btn {
  margin: 20px 0 0 0;
  text-align: right;
}
.p-topicsList__btn .c-btn {
  width: auto;
}

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

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

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

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

.u-text-big {
  font-size: 1.5em;
}

.u-indent-1em {
  margin-left: 1em;
}

.u-indent-2em {
  margin-left: 2em;
}

.u-indent-3em {
  margin-left: 3em;
}

.u-pc-only {
  display: block !important;
}
@media screen and (max-width: 768px) {
  .u-pc-only {
    display: none !important;
  }
}

.u-sp-only {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u-sp-only {
    display: block !important;
  }
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.u-no-scroll {
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .u-overflow-x-scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

/*
This .scss loop will create "margin helpers" and "padding helpers" for use in your web projects.
It will generate several classes such as:
.m-r-10 which gives margin-right 10 pixels.
.m-r-15 gives MARGIN to the RIGHT 15 pixels.
.m-t-15 gives MARGIN to the TOP 15 pixels and so on.
.p-b-5 gives PADDING to the BOTTOM of 5 pixels
.p-l-40 gives PADDING to the LEFT of 40 pixels
The first letter is "m" or "p" for MARGIN or PADDING
Second letter is "t", "b", "l", or "r" for TOP, BOTTOM, LEFT, or RIGHT
Third letter is the number of spacing in pixels. Adjust the amounts generated by editing the $spaceamounts variable below.
*/
.u-mt0 {
  margin-top: 0px !important;
}

.u-pt0 {
  padding-top: 0px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-ml0 {
  margin-left: 0px !important;
}

.u-pl0 {
  padding-left: 0px !important;
}

.u-mr0 {
  margin-right: 0px !important;
}

.u-pr0 {
  padding-right: 0px !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

.u-mt75 {
  margin-top: 75px !important;
}

.u-pt75 {
  padding-top: 75px !important;
}

.u-mb75 {
  margin-bottom: 75px !important;
}

.u-pb75 {
  padding-bottom: 75px !important;
}

.u-ml75 {
  margin-left: 75px !important;
}

.u-pl75 {
  padding-left: 75px !important;
}

.u-mr75 {
  margin-right: 75px !important;
}

.u-pr75 {
  padding-right: 75px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-pb100 {
  padding-bottom: 100px !important;
}

.u-ml100 {
  margin-left: 100px !important;
}

.u-pl100 {
  padding-left: 100px !important;
}

.u-mr100 {
  margin-right: 100px !important;
}

.u-pr100 {
  padding-right: 100px !important;
}

/*
  RUN GULP to generate the classes. Now you can use these helpers to customize spacing on HTML elements.
*/
@-webkit-keyframes animate-panel {
  0% {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
  }
  49% {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  50% {
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  100% {
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
  }
}
@keyframes animate-panel {
  0% {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
  }
  49% {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  50% {
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  100% {
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
  }
}
@-webkit-keyframes animate-content {
  0% {
    visibility: hidden;
  }
  49% {
    visibility: hidden;
  }
  50% {
    visibility: visible;
  }
  100% {
    visibility: visible;
  }
}
@keyframes animate-content {
  0% {
    visibility: hidden;
  }
  49% {
    visibility: hidden;
  }
  50% {
    visibility: visible;
  }
  100% {
    visibility: visible;
  }
}
.mask_wrap {
  display: inline-block;
}
.mask_wrap .mask_inner {
  position: relative;
  visibility: hidden;
}
.mask_wrap .mask_inner::after {
  content: "";
  background: #000;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  visibility: visible;
}
.mask_wrap .mask_inner.start {
  -webkit-animation-name: animate-content;
          animation-name: animate-content;
  -webkit-animation-duration: 0.7s;
          animation-duration: 0.7s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.mask_wrap .mask_inner.start::after {
  -webkit-animation-name: animate-panel;
          animation-name: animate-panel;
  -webkit-animation-duration: 0.7s;
          animation-duration: 0.7s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
/*# sourceMappingURL=style.css.map */