@charset "UTF-8";
/* Sanitize
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
@import url('https://fonts.googleapis.com/css2?family=Ephesis&family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Ubuntu+Condensed&display=swap');

html {
  box-sizing: border-box;
}

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

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit;
  /* 1 */
  vertical-align: inherit;
  /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *		IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  cursor: default;
  /* 1 */
  line-height: 1.5;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
  tab-size: 4;
  /* 3 */
  -webkit-tap-highlight-color: transparent;
  /* 4 */
  -ms-text-size-adjust: 100%;
  /* 5 */
  -webkit-text-size-adjust: 100%;
  /* 5 */
  word-break: break-word;
  /* 6 */
}

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

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

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

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

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

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

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

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

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

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

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
img {
  max-width: 100%;
  height: auto;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: top;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none;
}

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

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
  border-collapse: collapse;
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible;
  /* 1 */
  text-transform: none;
  /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
  border: 1px solid #a0a0a0;
  /* 1 */
  padding: 0.35em 0.75em 0.625em;
  /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  white-space: normal;
  /* 1 */
  color: inherit;
  /* 2 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
  margin: 0;
  /* 1 */
  overflow: auto;
  /* 2 */
  resize: vertical;
  /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  padding: 0;
}

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

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

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

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

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

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
      in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  /* 1 */
  touch-action: manipulation;
  /* 2 */
}

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

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/**
 * Add
 */
dl dd {
  margin-left: 0;
}

figure {
  margin: 0;
}

table {
  table-layout: fixed;
}

menu {
  padding: 0;
}

a[rel=home] {
  position: relative;
  display: inline-block;
  /* 必要に応じて */
}

/* もしフェードなどのアニメーションをつけたい場合は以下のように transition を追加 */
a[rel=home] img {
  transition: opacity 0.5s ease-in-out;
}

a[rel=home] .first-view,
a[rel=home] .content-view {
  position: absolute;
  /* 画像同士が重なるように配置 */
  top: 15px;
  left: 15px;
  width: auto;
  /* 必要に応じてサイズを調整 */
  transition: opacity 0.5s ease-in-out;
}

/* 初期状態：白いロゴを表示、黒いロゴは透明にしておく */
a[rel=home] .first-view {
  opacity: 1;
  z-index: 2;
}

a[rel=home] .content-view {
  opacity: 0;
  z-index: 1;
}

/* スクロール後（.scrolled クラス付与時）に切り替え */
a[rel=home].scrolled .first-view {
  opacity: 0;
}

a[rel=home].scrolled .content-view {
  opacity: 1;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  line-height: 1.8;
  letter-spacing: 0.05em;
  scroll-behavior: smooth;
}

body {
  line-height: inherit;
  font-weight: 400;
  color: #6B4C32;
  font-optical-sizing: auto;
  font-style: normal;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* mouseover
--------------------------------------------------*/
label {
  cursor: pointer;
}

/* link
--------------------------------------------------*/
a {
  color: inherit;
  transition: all 0.4s;
}

a:link,
a:active,
a:visited,
a:hover {
  text-decoration: none;
}

a:hover,
a:focus {}

header {
  width: 100%;
  background-color: rgb(255, 255, 255);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  height: 100px;
}

header .header_inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 0 clamp(15px, 2.2222222222vw, 32px);
}

header .logo_block {
  width: 210px;
  margin-right: auto;
}

header .scroll_area {
  display: flex;
}

header .textlinks ul {
  display: flex;
  gap: 62px;
}

header .textlinks ul li a {
  display: inline-block;
  font-size: min(1.0416666667vw, 15px);
  font-weight: 600;
  letter-spacing: 0.05em;
  padding-top: min(2.5vw, 36px);
  transition: all 0.5s;
}

header .textlinks ul li a:hover {
  text-decoration: none;
  color: #F2B43F;
}

header .btnlinks {
  margin-left: min(2.7777777778vw, 40px);
}

header .btnlinks ul {
  display: flex;
  position: relative;
  gap: min(0.4347826087vw, 10px);
}

header .btnlinks ul li a {
  display: block;
  transform: translateY(-13px);
}

header .btnlinks ul li a:hover {
  transform: translate(0);
}

header .btnlinks ul .btn_recruit {
  width: min(12.8472222222vw, 185px);
}

header .btnlinks ul .btn_partner {
  width: min(16.25vw, 235px);
}

header .hum_block {
  width: 60px;
  aspect-ratio: 1/1;
  border-left: none;
}

header .hum_block .hum_open {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
}

header .hum_block .hum_open span {
  display: inline-block;
  width: 32px;
  height: 2px;
  border-radius: 5px;
  background-color: #6B4C32;
}

main {
  padding-top: 80px;
  overflow-x: clip;
}

main.subpage {
}

footer {
  margin-top: min(5.5555555556vw, 80px);
}

footer .upper_block {
  max-width: 1200px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 44% 56%;
  grid-template-rows: auto auto;
}

footer .site_title {
  grid-column: span 2/span 2;
  font-size: min(1.3888888889vw, 20px);
  font-weight: 500;
  margin-bottom: min(1.6666666667vw, 24px);
}

footer .access_block {
  grid-row-start: 2;
  width: 100%;
  position: relative;
}

footer .access_block::after {
  content: "";
  display: block;
  width: min(15.1388888889vw, 218px);
  aspect-ratio: 218/70;
  background: url(../img/ico_access_decoation01.svg) no-repeat top center/100% auto;
  position: absolute;
  right: -20px;
  top: 0;
  transform: translateY(-85%);
}

footer .map_wrapper {
  width: 100%;
  height: 100%;
  filter: grayscale(100%);
  display: inline-block;
  overflow: hidden;
}

footer .map_wrapper iframe {
  height: 100%;
}

footer .sitemap_block {
  width: 100%;
  grid-row-start: 2;
  padding-left: min(3.8888888889vw, 64px);
}

footer .sitemap_block * {
  font-size: 14px;
}

footer .sitemap_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px min(2.5vw, 40px);
}

footer .sitemap_list a {
  display: inline-block;
}

footer .sitemap_list .parent_link {
  width: -moz-fit-content;
  width: fit-content;
}

footer .sitemap_list .parent_link a {
  font-weight: 600;
  padding: min(1.6666666667vw, 24px) 0;
}

footer .sitemap_list .child_link a {
  font-weight: 400;
  padding: min(0.5555555556vw, 8px) 0 min(0.5555555556vw, 8px) 17px;
  position: relative;
  z-index: 0;
  transition: all 0.5s;
}

footer .sitemap_list .child_link a:hover {
  text-decoration: none;
  color: #EC6B38;
}

footer .sitemap_list .child_link a::before {
  content: "";
  display: block;
  width: 6px;
  height: 1.5px;
  border-radius: 2px;
  background-color: #EC6B38;
  position: absolute;
  top: calc((100% - 1px) / 2);
  left: 0;
}

footer .bottom_block {
  background-color: #8B786B;
  padding: min(8.6805555556vw, 125px) min(3.125vw, 60px) min(5.2083333333vw, 75px);
  margin-top: min(13.0555555556vw, 188px);
  position: relative;
}

footer .bottom_block::before {
  content: "";
  display: block;
  width: min(20.2173913043vw, 465px);
  aspect-ratio: 465/110;
  background: url(../img/img_footer_illustration01.png) no-repeat center/100% auto;
  position: absolute;
  top: 0;
  left: min(25.2173913043vw, 660px);
  z-index: 1;
  transform: translateY(-82%);
}

footer .bottom_block::after {
  content: "";
  display: block;
  width: min(10vw, 230px);
  aspect-ratio: 230/218;
  background: url(../img/img_footer_illustration02.png) no-repeat center/100% auto;
  position: absolute;
  top: 0;
  right: min(22.8260869565vw, 525px);
  z-index: 1;
  transform: translateY(-65%);
}

footer .bottom_block .return_page {
  position: absolute;
  top: 0;
  right: min(10.0694444444vw, 160px);
  transform: translateY(calc(-100% + 8px));
}

footer .bottom_block .return_page a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  background-color: #8B786B;
  border-radius: 8px;
  width: 188px;
  height: 45px;
}

footer .bottom_block .return_page a::before {
  content: "";
  display: block;
  width: 10px;
  aspect-ratio: 5/10;
  background: url(../img/ico_arrow_white.svg) no-repeat center/100% auto;
  transform: rotate(-90deg);
  margin-right: 8px;
}

footer .bottom_block p {
  font-size: 12px;
  color: #fff;
  text-align: center;
}

.c-fv {
  width: 100%;
  height: 800px;
  position: relative;
  display: flex;
  overflow: hidden;
}

.c-fv .c-fv__left,
.c-fv .c-fv__right {
  width: 50%;
  position: relative;
}

.c-fv .c-fv__left img,
.c-fv .c-fv__right img {
  width: calc(100% + 1px);
  height: calc(100% + 1px);
}

.c-fv__title {
  width: 362px;
  height: 400px;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #e1e05b;
  padding: 101px 37px 45px;
  margin-top: -13px;
}

.c-fv__enTitle {
  font-size: 3.9rem;
  letter-spacing: 0.02em;
  text-align: center;
  margin: 0;
}

.c-fv__jaTitle {
  font-size: 2rem;
  letter-spacing: 0.04em;
  text-align: center;
  margin: 56px 0 0;
}

.c-fv__text {
  font-size: 1.3rem;
  line-height: 1.9;
  letter-spacing: 0.02em;
  margin: 37px 0 0;
}

.l-contents {
  overflow: hidden;
}

.c-trial {
  height: 550px;
}

.c-trial a {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/common/bg_trial.jpg) no-repeat right bottom/cover;
}

.c-trial a:hover {
  text-decoration: none;
}

.c-trial__textArea {
  padding: 73px 140px 50px;
}

.c-trial__enTitle {
  font-size: 6rem;
  line-height: 1.4;
  letter-spacing: 0.03em;
  margin: 0;
}

.c-trial__jaTitle {
  font-size: 2.6rem;
  line-height: 1.2;
  letter-spacing: 0.04em;
  margin: 17px 0 0 5px;
}

.c-trial__text {
  display: inline-block;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  padding: 0.7em 1em;
  background: #fff;
  margin: 21px 0 0;
}

.c-trial__note {
  list-style: none;
  margin: 8px 0 0;
  padding: 0 0 0 5px;
  font-size: 1.4rem;
  line-height: 2.1;
  letter-spacing: 0.03em;
}

.c-trial__button {
  margin-top: 38px;
}

.c-contact {
  background: #e0e05a url(../img/common/bg_contact.jpg) no-repeat right center;
  padding: 83px 0 80px 140px;
}

.c-contact__enTitle {
  font-size: 6rem;
  letter-spacing: 0.02em;
  margin: 0;
}

.c-contact__jaTitle {
  font-size: 2.6rem;
  letter-spacing: 0.04em;
  margin: 21px 0 0;
}

.c-contact__tel {
  font-size: 3rem;
  letter-spacing: 0.02em;
  margin: 37px 0 0;
  font-weight: bold;
}

.c-contact__tel a {
  font-size: 4.2rem;
}

.c-contact__tel a:hover {
  text-decoration: none;
}

.c-contact__text {
  width: 430px;
  margin: 20px 0 0;
}

.c-contact__flexBox {
  display: flex;
  align-items: flex-end;
  margin-top: -48px;
}

.c-contact__button {
  padding-bottom: 10px;
}

.c-contact__qr {
  margin-left: 205px;
}

.c-contactArea__flexBox {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
  flex-wrap: wrap;
  margin-top: 50px;
}

.c-contactArea__flexBox>* {
  width: calc((99.9% - 50px) / 2);
  margin-right: 50px;
}

.c-contactArea__flexBox>*:nth-child(2n) {
  margin-right: 0;
}

.c-contactArea__flexBox>*:nth-child(n+3) {
  margin-top: 0px;
}

.c-contactArea__flexBox>*:last-child {
  margin-right: 0;
}

.c-line {
  background: #59b43d url(../img/common/bg_line.jpg) no-repeat left 60px;
  padding: 22px 46px 20px 116px;
  color: #fff;
}

.c-line__title {
  font-size: 4.6rem;
  letter-spacing: 0.04em;
  margin: 0;
  font-weight: 300;
}

.c-line__enTitle {
  font-size: 6rem;
  margin-right: 0.2em;
  display: inline-block;
  transform: translateY(3px);
  font-weight: 400;
}

.c-line__lead {
  font-size: 2.6rem;
  letter-spacing: 0.04em;
  margin: 17px 0 0;
}

.c-line__flexBox {
  display: flex;
  margin: 30px 0 0;
}

.c-line__text {
  width: calc(100% - 168px);
  margin: 0;
  font-weight: 500;
}

.c-line__qr {
  width: 140px;
  margin-left: 28px;
}

.c-reservation a {
  width: 100%;
  height: 100%;
  display: block;
  background: #595757 url(../img/common/bg_reservation.jpg) no-repeat left center;
  padding: 25px 47px 20px 278px;
  color: #fff;
  text-decoration: none;
}

.c-reservation a:hover {
  text-decoration: none;
}

.c-reservation__title {
  font-size: 4.6rem;
  letter-spacing: 0.04em;
  margin: 0;
  font-weight: 300;
}

.c-reservation__enTitle {
  font-size: 6rem;
  margin-right: 0.2em;
  display: inline-block;
  transform: translateY(3px);
  font-weight: 400;
}

.c-reservation__lead {
  font-size: 2.6rem;
  letter-spacing: 0.04em;
  line-height: 1.8;
  margin: 6px 0 0;
}

.c-reservation__text {
  margin: 8px 0 0;
  font-weight: 500;
}

.c-reservation__link {
  font-size: 1.8rem;
  width: 68px;
  height: 20px;
  background: url(../img/common/arw_white.png) no-repeat right bottom/contain;
  text-decoration: none;
  padding-left: 10px;
  letter-spacing: 0.02em;
  margin: 20px 0 0;
}

.c-titleJaEn span {
  display: block;
}

.c-titleJaEn .c-titleJaEn__ja {
  font-size: 5rem;
  line-height: 1.3;
  letter-spacing: 0.01em;
  font-weight: 300;
  margin-left: -0.1em;
}

.c-titleJaEn .c-titleJaEn__en {
  font-size: 2.8rem;
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-family: "Bellota Text";
  margin-top: 14px;
}

.c-titleLine {
  border-left: 40px solid #e0e05a;
}

.c-leadJaTitle {
  font-size: 6rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  margin: 0 0 0 10px;
  line-height: 1.75;
}

.c-leadEnTitle {
  font-size: 2.7rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.5em 0.6em 0.4em;
  background-color: #e1e05b;
  display: inline-block;
  margin: 0;
  font-family: "Bellota Text";
}

.c-iconTitle {
  position: relative;
  padding: 127px 0 0;
}

.c-iconTitle:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 90px;
  height: 90px;
}

.c-iconTitle.-check:before {
  background: url(../img/concept/icon_title_check.svg) no-repeat center center/contain;
}

.c-iconTitle.-circle:before {
  background: url(../img/concept/icon_title_circle.svg) no-repeat center center/contain;
}

.c-iconTitle.-plus:before {
  background: url(../img/concept/icon_title_puls.svg) no-repeat center center/contain;
}

.c-iconTitle__jaTitle {
  font-size: 5rem;
  font-weight: 300;
  text-align: center;
  line-height: 1.86;
  letter-spacing: 0.03em;
  margin: 0;
}

.c-iconTitle__enTitle {
  font-size: 2.8rem;
  text-align: center;
  letter-spacing: 0.04em;
  line-height: 1.8;
  margin: 15px 0 0;
}

.mode_renewal .c-leadJaTitle {
  border-left: 20px solid #e1e05b;
  font-size: 4.5rem;
  line-height: 1.4;
  padding: 10px 0 10px 20px;
}

.mode_renewal .p-trainingSec2Box1__type,
.mode_renewal .p-trainingSec2__enTitle u-bellota {
  font-weight: 700;
}

.mode_renewal .p-trainingSec2__jaTitle {
  margin-top: 0;
}

.mode_renewal .c-yellowButton {
  padding: 10px 27px 19px;
  line-height: 1;
}

.mode_renewal .p-conceptSec3Box1__jaTitle,
.mode_renewal .p-choiceTitleArea__number,
.mode_renewal .p-conceptSec3Box1__enTitle,
.mode_renewal .p-conceptSec2Box1__approach {
  line-height: 1;
}

.c-leadEn {
  font-size: 1.4rem;
  font-family: "Bellota Text";
  line-height: 1.7;
  letter-spacing: 0.02em;
  margin: 18px 0 0;
}

.c-text14 {
  font-size: 1.4rem;
  line-height: 2.1;
  letter-spacing: 0.04em;
}

.c-viewmoreButton {
  font-size: 1.6rem;
  display: inline-block;
  font-family: "Bellota Text";
  width: 140px;
  height: 20px;
  background: url(../img/common/arw_black.png) no-repeat right bottom/contain;
  text-decoration: none !important;
  padding-left: 10px;
  letter-spacing: 0.02em;
}

.c-viewmoreButton:hover {
  text-decoration: none;
}

.c-yellowButton {
  position: relative;
  background-color: #e1e05b;
  width: 337px;
  height: 67px;
  padding: 19px 27px;
  display: block;
  margin-left: -10px;
  text-decoration: none !important;
}

.c-yellowButton .c-yellowButton__enText {
  font-family: "Bellota Text";
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.02em;
}

.c-yellowButton .c-yellowButton__jaText {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-left: 0.4em;
}

.c-yellowButton:before {
  content: "";
  position: absolute;
  bottom: 17px;
  left: 17px;
  width: 289px;
  height: 13px;
  background: url(../img/common/arw_black2.png) no-repeat center center/contain;
}

.c-categoryButton a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: auto;
  padding: 0.4em 2em 0.3em;
  border-radius: 100vh;
  border: 1px solid #040000;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  font-family: "Bellota Text";
  text-decoration: none !important;
  transition: all 0.3s;
  line-height: 1.2;
}

.c-categoryButton a:hover,
.c-categoryButton.-current a {
  background-color: #e1e05b;
  border: 1px solid #e0e05a;
}

.c-underPage.u-wrap {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
  flex-wrap: wrap;
  margin: 204px auto 0;
}

.c-underPage.u-wrap>* {
  width: calc((99.9% - 148px) / 3);
  margin-right: 74px;
}

.c-underPage.u-wrap>*:nth-child(3n) {
  margin-right: 0;
}

.c-underPage.u-wrap>*:nth-child(n+4) {
  margin-top: 0px;
}

.c-underPage.u-wrap>*:last-child {
  margin-right: 0;
}

.c-underPage a {
  display: block;
}

.c-underPage a:hover {
  text-decoration: none;
}

.c-underPage__titleArea {
  padding: 24px 0 18px 27px;
}

.c-underPage__enTitle {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  font-family: "Bellota Text";
  margin: 0;
}

.c-underPage__jaTitle {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  margin: 10px 0 0;
}

.c-underPage__button {
  margin: 28px 0 0;
}

.c-iconMust {
  color: #e0e05a;
  font-size: 1.4rem;
  padding-left: 0.2em;
}

.c-form input,
.c-form button,
.c-form textarea,
.c-form select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
}

.c-form select::-ms-expand {
  display: none;
}

.c-form__box {
  display: flex;
  flex-wrap: wrap;
  width: 800px;
  margin: 0 auto;
}

.c-form__box dt {
  width: 210px;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  padding: 10px 0 0 0.5em;
}

.c-form__box dd {
  width: calc(100% - 210px);
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}

.c-form__inputRadio {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 7px;
}

.c-form__inputRadio+label {
  display: inline-block;
  position: relative;
  padding-left: 33px;
  cursor: pointer;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
}

.c-form__inputRadio+label:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -2px;
  left: 0;
  width: 22px;
  height: 22px;
  border: 1px solid #323333;
  border-radius: 50%;
  background: #fff;
}

.c-form__inputRadio+label:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 2px;
  left: 4px;
  width: 14px;
  height: 14px;
  background: #323333;
  border-radius: 50%;
  opacity: 0;
}

.c-form__inputRadio:checked+label:after {
  opacity: 1;
}

.c-form input[type=text],
.c-form input[type=email],
.c-form textarea {
  border: 1px solid #040000;
  padding: 0.5em 1em;
  height: 36px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
}

.ie11 .c-form input[type=text],
.ie11 .c-form input[type=email],
.ie11 .c-form textarea {
  padding: 0.3em 1em 0.6em 1em;
}

.c-form__input {
  width: 550px;
}

.c-form input[type=email] {
  width: 550px;
}

.c-form textarea {
  border: 1px solid #040000;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.4;
  padding: 0.5em 1em;
  width: 550px;
  height: 156px;
}

.c-form__radioArea1 {
  display: flex;
  padding-left: 5px;
}

.c-form__radioArea1 .c-form__radioItem+.c-form__radioItem {
  margin-left: 52px;
}

.c-form__radioArea2 {
  padding-left: 5px;
}

.c-form__radioArea2 .c-form__radioItem+.c-form__radioItem {
  margin-top: 25px;
}

.c-form__scheduleArea {
  display: flex;
}

.c-form__inputYear {
  width: 100px;
}

.c-form__inputMonth,
.c-form__inputDay {
  width: 70px;
}

.c-form__scheduleText {
  padding: 0 0.5em 0 0.3em;
}

.c-form__inputName {
  width: 498px;
}

.c-form__nameText {
  padding-left: 1em;
}

.c-form__postArea {
  display: flex;
  align-items: center;
}

.c-form__inputPost1 {
  width: 80px;
}

.c-form__inputPost2 {
  width: 120px;
}

.c-form__postItem {
  display: inline-block;
  position: relative;
  width: 13px;
  height: 36px;
  margin: 0 13px;
}

.c-form__postItem:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 100%;
  height: 2px;
  background: #040000;
}

.c-form select.c-form__selectPrefectures {
  width: 272px;
  height: 36px;
  border: 1px solid #040000;
  padding: 0.1em 40px 0.2em 1em;
  background: url(../img/common/icon_select.png) no-repeat right center/contain;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  cursor: pointer;
}

.c-form__submitArea {
  width: 800px;
  margin: 64px auto 0;
}

.c-form input[type=submit].c-form__submitButton {
  margin: 0 40px 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  background-color: #e1e05b;
  width: 550px;
  height: 80px;
  cursor: pointer;
}

.c-fadeIn {
  transform: translateY(50px);
  opacity: 0;
  transition: all 0.5s ease;
}

.c-fadeIn.js-animeOn {
  transform: translateY(0);
  opacity: 1;
}

.c-thanks.u-wrap {
  margin: 200px auto;
}

.c-thanks__title {
  font-size: 5rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  margin: 0;
}

.c-thanks__text {
  margin: 50px 0 0;
}

.c-thanks__link {
  margin: 30px 0 0;
}

.c-thanks__link .c-yellowButton {
  font-size: 1.6rem;
}

.mode_renewal .page_ttl .container {
  position: relative;
  height: 320px;
}

.mode_renewal .page_ttl .img {
  width: 1920px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.mode_renewal .page_ttl img {
  width: 100%;
  height: 100%;
}

.mode_renewal .page_ttl .ttl_txt {
  font-size: 4.4rem;
  font-weight: bold;
  position: absolute;
  bottom: 100px;
  left: 0;
}

.subpage p {
  margin: 0;
  font-size: 16px;
  padding-bottom: 20px;
}

.subpage.company p {
  padding-bottom: 0px;
}

.subpage p.return_service {
  padding-bottom: 0;
}

.subpage a {
  text-decoration: none;
  line-height: 1.025;
}

.center {
  text-align: center;
}

.f_16 {
  font-size: clamp(14px, 1.1111111111vw, 16px);
  margin: 0.65em 0;
}

.lead {
  font-size: clamp(14px, 1.1111111111vw, 17px);
  line-height: 1.6;
}

.lead._small {
  font-size: clamp(12px, 0.9027777778vw, 14px);
  line-height: 1.6;
}

/* ページ下部：recruit */
.recruit_block {
  background-color: #FFF7E3;
  margin-top: min(15.2777777778vw, 220px);
}

.recruit_block .recruit_inner {
  display: flex;
  justify-content: space-between;
  gap: min(6.25vw, 90px);
}

.recruit_block .left_column {
    width: 38%;
    padding-top: min(6.9444444444vw, 100px);
    padding-bottom: min(6.9444444444vw, 100px);
    display: flex;
    flex-direction: column;
    padding-left: min(21.944444vw, 25%);
}

.recruit_block .right_column {
  width: 50%;
  overflow: hidden;
}

.recruit_block .right_column img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ページ下部：cta */
.cta_block {
  padding: min(5.5555555556vw, 80px);
  background-color: #fff;
}

.cta_block .cta_contents {
  max-width: 1200px;
  margin-inline: auto;
  padding: min(2.5vw, 36px) min(3.4722222222vw, 50px);
  border: solid 1px #6B4C32;
  border-radius: 10px;
}

.cta_block .title {
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: min(1.3888888889vw, 20px);
  font-weight: 700;
  position: relative;
}

.cta_block .title::after {
  content: "";
  display: block;
  width: min(6.3888888889vw, 91px);
  aspect-ratio: 92/46;
  background: url(../img/ico_cta_mail.svg) no-repeat center/100% auto;
  position: relative;
  margin-left: -12px;
}

.cta_block .action_column {
  font-size: min(1.1111111111vw, 16px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: min(1.6666666667vw, 24px);
}

.cta_block .left_column {
  width: -moz-fit-content;
  width: fit-content;
}

.cta_block p:not(.s_letter, .title) {
  padding-left: min(3.125vw, 45px);
}

.cta_block .tel {
  display: block;
  font-size: 51px;
  font-weight: 700;
  padding-left: min(3.125vw, 45px);
  position: relative;
  z-index: 0;
  margin-top: 10px;
}

.cta_block .tel::before {
  content: "";
  display: block;
  width: min(2.5vw, 36px);
  aspect-ratio: 1/1;
  background: url(../img/ico_tel_brown.svg) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.cta_block .s_letter {
  font-size: 17px;
  margin-top: 16px;
}

.cta_block .right_column {
  width: calc((100% - 10px) / 2);
}

.cta_block .right_column .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  min-height: 45px;
  padding: 20px 8px;
  background-color: #F2B43F;
  font-weight: 700;
  border-radius: 10px;
  transition: all 0.5s;
}

.cta_block .right_column .btn:hover {
  background-color: #6B4C32;
  color: #fff;
  text-decoration: none;
}

.cta_block .right_column .btn::before {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 24/19;
  background: url(../img/ico_mail_brown.svg) no-repeat center/100% auto;
  margin-right: min(1.9444444444vw, 32px);
  transition: all 0.5s;
}

.cta_block .right_column .btn:hover::before {
  background: url(../img/ico_mail_white.svg) no-repeat center/100% auto;
}

.cta_block .right_column .btn::after {
  content: "";
  display: block;
  width: 10px;
  aspect-ratio: 1/2;
  background: url(../img/ico_arrow_brown.svg) no-repeat center/100% auto;
  margin-left: min(2.5vw, 42px);
  transition: all 0.5s;
}

.cta_block .right_column .btn:hover::after {
  background: url(../img/ico_arrow_white.svg) no-repeat center/100% auto;
}

/* ページタイトル */
.subpage .pagetitle_block {
  width: 100%;
  position: relative;
}

.subpage .pagetitle_block .bg_title {
  width: 100%;
  aspect-ratio: 2300/460;
}

.subpage .pagetitle_block .bg_title img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.subpage .pagetitle_block .main_title_block {
  width: clamp(280px, 70.8695652174%, 1630px);
  margin: auto;
  position: absolute;
  bottom: -1px;
  left: 50%;
  background-color: #fff;
  border-radius: 20px 20px 0 0;
  padding: clamp(42px, 4.1666666667vw, 95px) 0 0;
  transform: translateX(-50%);
}

/* モーション付きタイトル */
.main_title_block {
  opacity: 1;
}

.main_title_block .main_title {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}

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

.main_title_block .main_title span {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
  color: #EC6B38;
  font-size: min(1.6666666667vw, 24px);
  letter-spacing: 0.0125em;
  margin: 0 -0.125em;
}

.main_title_block .main_title span.icon_house {
  display: inline-block;
  line-height: 1;
  margin-left: 4px;
  width: clamp(16px, 1.875vw, 27px);
  aspect-ratio: 27/21;
}

.main_title_block.is_in .main_title span {
  opacity: 1;
  transform: translateY(0);
  font-family: "Ubuntu Condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size:17px;
  letter-spacing:1px;
}

.main_title_block .ja_title {
  font-size: min(2.2222222222vw, 32px);
  font-weight: 500;
  color: #6B4C32;
  margin-top: 12px;
}

.main_title_block .subtitle {
  font-size: min(1.6666666667vw, 24px);
  margin-top: 24px;
}

.main_title_block .lead {
  font-size: min(0.9722222222vw, 15px);
  line-height: 1.8;
  margin-top: 40px;
}

/* セクションタイトル */
.section_title {
  font-size: clamp(24px, 1.9444444444vw, 28px);
  letter-spacing: 0.21em;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: clamp(24px, 2.5vw, 36px);
}

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

/* セクションタイトル｜No.つき */
.section_title_width_num h2 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.section_title_width_num .num {
  font-family: "Ubuntu Condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(28px, 2.7777777778vw, 40px);
  color: #EC6B38;
  line-height: 1;
  margin-right: 15px;
  position: relative;
  top: 6px;
}

.section_title_width_num .title {
  font-size: clamp(24px, 1.9444444444vw, 28px);
  letter-spacing: 0.21em;
  font-weight: 500;
  line-height: 1.6;
}

.section_title_width_num .lead {
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
  margin-top: clamp(24px, 3.3333333333vw, 48px);
}

.section_title_width_num .fullwide {
  width: clamp(280px, 69.4444444444vw, 1000px);
  margin: 32px auto 0;
}

.section_title._with_border::after {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  background-color: #6B4C32;
  margin-top: 18px;
  margin-inline: auto;
}

.section_title._with_border+.lead {
  font-size: clamp(14px, 1.25vw, 18px);
}

.philosophy_block {
  background-color: #F0EDEB;
  padding: 60px;
  max-width: 1000px;
  margin: 0 auto;
  margin-top: 50px;
  border-radius: 10px;
}

.philosophy_block .dotted_list {
  margin: 35px auto;
}

.philosophy_block .dotted_list li {
  padding-bottom: 15px;
  ;
}

/* 中央下線付きタイトル */
.title_underline {
  position: relative;
  font-size: clamp(20px, 1.3888888889vw, 24px);
  font-weight: 500;
}

.title_underline::after {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  background-color: #6B4C32;
  margin-top: 10px;
}

.title_underline.center::after {
  margin-inline: auto;
}

/* mv下リードテキスト */
.top_msg_block {
  max-width: 1080px;
  margin-inline: auto;
  margin-top: 30px;
}

.top_msg_block h3 {
  font-size: 24px;
  text-align: center;
  line-height: 1.6;
}

.top_msg_block .subtitle {
  font-size: min(1.6666666667vw, 24px);
}

.top_msg_block p {
  font-size: 16px;
  line-height: 1.8;
  margin: 1em auto 0;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 900px;
  margin-inline: auto;
}

.top_msg_block figure {
  margin-top: clamp(32px, 3.75vw, 72px);
  max-width: 960px;
  margin-inline: auto;
}

/* パララックス */
.parallax_block {
  position: relative;
  overflow: hidden;
}

.parallax_section {
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 200px);
  z-index: -1;
}

.parallax_section img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ボタン周り */
.btn_wrap {
  margin: min(2.5vw, 36px) auto;
}

.btn_wrap .btn {
  display: inline-block;
  width: clamp(280px, 21.25vw, 500px);
  padding: min(1.6666666667vw, 24px) min(3.3333333333vw, 48px);
  border-radius: 10px;
  background-color: #6B4C32;
  color: #fff;
  font-size: 15px;
  line-height: 1.08;
  text-align: center;
  position: relative;
  z-index: 0;
  max-width: 320px;
  transition: all 0.5s;
}

.recruit_inner .btn_wrap .btn {
  max-width: 100%;

}

.btn_wrap .btn:hover {
  background-color: #F2B43F;
  color: #6B4C32;
  text-decoration: none;
}

.btn_wrap .btn::after {
  content: "";
  display: block;
  width: 5px;
  aspect-ratio: 5/10;
  background: url(../img/ico_arrow_white.svg) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  right:25px;
  transform: translateY(-50%);
  transition: all 0.5s;
}

.btn_wrap .btn:hover::after {
  background: url(../img/ico_arrow_brown.svg) no-repeat center/100% auto;
}

.btn_wrap .btn._yellow {
  background-color: #F2B43F;
}

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

/* テキストリンク　アイコン付き */
.textlink_block._right {
  text-align: right;
}

.textlink_block .text_link {
  display: inline-flex;
  align-items: center;
  padding: 10px 5px;
  position: relative;
  font-size: 14px;
}

.textlink_block .text_link::after {
  content: "";
  display: inline-block;
  width: min(1.8055555556vw, 26px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: solid 1px #6B4C32;
  background: url(../img/ico_arrow_brown.svg) no-repeat center/18% auto;
  margin-left: 8px;
}

/* フリーダイヤル　アイコン */
.subpage p.store_freedial a {
  display: inline-flex !important;
  align-items: center;
  line-height: 1;
  font-weight: 600;
  margin-top: 0.8em;

}



.company .store_freedial a {
  margin-top: 6px;
} 

.store_freedial a::before {
  content: "";
  display: inline-block;
  width: 26px;
  aspect-ratio: 26/18;
  background: url(../img/ico_freedial.svg) no-repeat center/100% auto;
  margin-right: 8px;
}

.store_freedial a.l_letter {
  font-size: min(4.1666666667vw, 60px);
}

.store_freedial a.l_letter::before {
  width: min(3.3333333333vw, 48px);
}

/* 画像付き2列カラム */
.flex_with_image {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 24px min(4.5138888889vw, 65px);
}

.flex_with_image.right_image {
  flex-direction: row-reverse;
}

.flex_with_image .imagebox {
  flex: 1;
  border-radius: 10px;
  overflow: hidden;
}

.flex_with_image .imagebox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.flex_with_image .imagebox:has(iframe) {
  aspect-ratio: 522/222;
  border-radius: 0;
}

.flex_with_image .textbox {
  flex: 1;
}
.company .flex_with_image .textbox {
  display: flex;
  gap: 20px;
}
.flex_with_image .textbox p {
  font-size: 16px;
}

.flex_with_image .textbox._flex {
  display: flex;
  align-items: center;
  gap: 20px clamp(24px, 3.125vw, 45px);
}

.flex_with_image .textbox._flex * {
  line-height: 1.25;
}

.flex_with_image+.flex_with_image {
  border-top: dotted 1px #6B4C32;
  margin-top: 40px;
  padding-top: 40px;
}

/* ２列カラム */
.flex_column2_block {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: min(3.4722222222vw, 50px) min(2.2222222222vw, 32px);
  max-width: 1000px;
  margin: min(8.1944444444vw, 118px) auto 0;
}

.flex_column2_block li {
  width: calc((100% - min(2.2222222222vw, 32px) * 1) / 2);
}

.flex_column2_block li .title {
  font-size: min(1.3888888889vw, 20px);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  margin-top: min(1.6666666667vw, 24px);
}

/* !マーク付き吹き出しレイアウト */
.comment_layout_block {
  background-color: #F0EDEB;
  border-radius: 10px;
  position: relative;
  padding: min(2.7777777778vw, 40px) min(5.5555555556vw, 80px) min(4.8611111111vw, 70px);
  width: min(69.4444444444vw, 1000px);
  margin: min(5.9027777778vw, 85px) auto min(3.4722222222vw, 50px);
}

.comment_layout_block::after {
  content: "";
  display: block;
  width: min(3.9583333333vw, 57px);
  aspect-ratio: 57/50;
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: #F0EDEB;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
}

.comment_layout_block ul {
  display: flex;
  gap: min(2.2222222222vw, 32px);
}

.comment_layout_block .comment_frame {
  padding: min(2.5vw, 36px) 10px;
  background-color: #fff;
  border-radius: 10px;
  position: relative;
  width: calc((100% - min(2.2222222222vw, 32px) * 2) / 3);
}

.comment_layout_block .comment_frame::before {
  content: "";
  display: block;
  width: 28px;
  aspect-ratio: 1/1;
  background: url(../img/ico_voice_brown.svg) no-repeat center/100% auto;
  margin: 0 auto 16px;
}

.comment_layout_block .comment_frame::after {
  content: "";
  display: block;
  width: 27px;
  height: 38px;
  background-color: #fff;
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
}

.comment_layout_block .comment_text {
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
}

/* グレードットのリスト */
.dotted_list {
  width: -moz-fit-content;
  width: fit-content;
  margin: 1em auto;
}

.dotted_list li {
  font-size: 18px;
  line-height: 1.8;
  padding-left: 14px;
  position: relative;
  z-index: 0;
}

.dotted_list li::before {
  content: "";
  display: block;
  width: 8px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #D9D9D9;
  position: absolute;
  top: 12px;
  left: 0;
}

/* 偶数行がグレーのtable */
.table_block._with_bgcolor {
  width: min(69.4444444444vw, 1000px);
  margin: 100px auto;
}

.table_block._with_bgcolor .row_twotone_table {
  max-width: 1000px;
  border-collapse: collapse;
  margin-top: clamp(24px, 2.5vw, 40px);
}

.table_block._with_bgcolor .row_twotone_table tr {
  display: block;
  border-radius: 10px;
}

.table_block._with_bgcolor .row_twotone_table tr:nth-child(2n) {
  background-color: #F0EDEB;
}

.table_block._with_bgcolor .row_twotone_table th,
.table_block._with_bgcolor .row_twotone_table td {
  font-size: clamp(16px, 1.25vw, 18px);
  letter-spacing: initial;
  line-height: 1.8;
  font-weight: 400;
  padding-top: 30px;
  padding-bottom: 30px;
}

.table_block._with_bgcolor .row_twotone_table .title {
  padding-left: clamp(24px, 5.9722222222vw, 86px);
  padding-right: clamp(24px, 5.9722222222vw, 86px);
}

.table_block._with_bgcolor .row_twotone_table .content {
  padding-left: clamp(24px, 5.9722222222vw, 86px);
  padding-right: clamp(24px, 2.7777777778vw, 40px);
}

.table_block._with_bgcolor .row_twotone_table .date {
  padding-left: clamp(24px, 4.0277777778vw, 58px);
  padding-right: clamp(24px, 4.0277777778vw, 58px);
}

.table_block._with_bgcolor .row_twotone_table ul li {
  font-size: clamp(14px, 1.1111111111vw, 16px);
  line-height: 1.8;
  padding-left: 10px;
  position: relative;
  z-index: 0;
}

.table_block._with_bgcolor .row_twotone_table ul li::before {
  content: "";
  display: block;
  width: 4px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #6B4C32;
  position: absolute;
  top: 12px;
  left: 0;
}

/* ベージュ背景ブロック */
.bg_beige_block {
  width: min(69.4444444444vw, 1000px);
  margin: min(3.4722222222vw, 50px) auto 0;
  background-color: #F0EDEB;
  border-radius: 10px;
  padding: min(4.0277777778vw, 58px) min(6.9444444444vw, 100px);
}

/* アコーディオン要素 */
.acd_content {
  width: 100%;
}

.acd_content .summary {
  width: 100%;
  display: flex;
  align-items: center;
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.33;
  border-radius: 10px;
  padding: min(2.0833333333vw, 30px) min(5.5555555556vw, 80px);
  position: relative;
}

.acd_content._bg_brown .summary {
  background-color: #8B786B;
  color: #fff;
  margin-bottom: 10px;
  min-height: 90px;;
}

.acd_content._bg_brown .summary::after {
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1/1;
  background-color: #fff;
  -webkit-clip-path: polygon(0 40%, 40% 39%, 40% 0, 60% 0, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0 60%);
  clip-path: polygon(0 40%, 40% 39%, 40% 0, 60% 0, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0 60%);
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

.acd_content._bg_brown .summary .category {
  width: min(23.6111111111vw, 340px);
}

.acd_content._bg_brown .summary .cate_name {
  width: calc(100% - min(23.6111111111vw, 340px));
}

.acd_content+.acd_content {
  /*margin-top: clamp(40px, 4.1666666667vw, 60px);*/
}

.acd_contents .row_twotone_table .title {
  width: min(23.6111111111vw, 340px);
}

.acd_contents .row_twotone_table .content {
  width: calc(100% - min(23.6111111111vw, 340px));
}

/* フォーム枠 */
.smkyform_wrap {
  width: min(100%, 820px);
  margin: 80px auto 0;
  padding: 0 20px;
}

.smkyform_wrap .smf-form * {
  font-size: 16px;
}

.smkyform_wrap .icon_must .smf-item__label__text::after {
  content: "必須";
  font-size: 10px;
  line-height: 1;
  display: inline-block;
  color: #fff;
  background-color: #FF9B9B;
  border-radius: 5px;
  padding: 6px 10px;
  margin-left: 8px;
}

.smkyform_wrap .icon_any .smf-item__label__text::after {
  content: "任意";
  font-size: 10px;
  line-height: 1;
  display: inline-block;
  color: #fff;
  background-color: #B4B4B4;
  border-radius: 5px;
  padding: 6px 10px;
  margin-left: 8px;
}

.smkyform_wrap .smf-item__controls {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.smkyform_wrap .smf-radio-buttons-control__control {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

.smkyform_wrap .smf-form .smf-text-control__control {
  width: 100%;
}

.smkyform_wrap .smf-action .smf-button-control__control {
  width: min(100%, 420px);
  position: relative;
  background: transparent;
  background-color: #F2B43F;
  color: #6B4C32;
  border: 0;
  padding: 20px 32px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 10px;
  margin: 40px auto 0;
}

.smkyform_wrap .smf-action button[data-action="back"] {
  background-color: #6e6765;
  color: #fff;
}


.title_l_letter {
  font-size: 28px;
  font-weight: 500;
}

.title_l_letter .large_letter {
  font-size: 40px;
}

.title_l_letter .wh {
  color: #fff;
}

.title_l_letter .pink {
  color: #FF7D7D;
}

.point_block {
  background-color: #F2B43F;
  padding: min(3.125vw, 60px);
  /*margin-top: min(4.6875vw, 90px);*/
}

.point_block .point_cntlist {
  margin-top: min(2.0833333333vw, 40px);
  margin-right: auto;
  margin-left: auto;
  max-width: 1080px;
}

.point_block .point_cntlist ul {
  display: flex;
  justify-content: flex-start;
  gap: min(1.8229166667vw, 35px);
  flex-wrap: wrap;
  max-width: 1400px;
  margin-inline: auto;
}

.point_block .point_cntlist li {
  flex: 1;
  position: relative;
  background-color: #fff;
  padding: min(2.1875vw, 42px);
  border-radius: 10px;
  ;
}

.point_block .point_cntlist .number {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: clamp(32px, 3.8020833333vw, 65px);
  padding-bottom: 0;
  font-size: 28px;
  color: #fff;
  font-weight: 500;
  background-color: #EC6B38;
  position: absolute;
  left: 0;
  top: 0;
  translate: -20% -20%;
}

.point_block .point_cntlist .title {
  font-size: 23px;
  line-height: 1.2;
  font-weight: 900;
  color: #EC6B38;
}

.point_block .point_cntlist .lead {
  text-align: left;
}

.index-top {
  background-color: #FFF7E3;
  position: relative;
  z-index: 0;
}

.index-top::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 2300/540;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

.index-top .mv_block {
  position: relative;
}

.index-top .mv_block h1 {
  width: min(46.9565217391vw, 1080px);
  font-size: min(3.6111111111vw, 52px);
  font-weight: 500;
  letter-spacing: 0.12em;
  margin: 0;
  line-height: 1.25;
  position: absolute;
  left: 50%;
  top: 13%;
  transform: translateX(-50%);
}

.index-top .mv_block h1 span {
  display: inline-block;
  color: #EC6B38;
  transform: rotate(10deg);
}

.index-top .mv_block .slider-container {
  width: 100%;
  /* 4枚表示にしたいサイズ。画像の横幅に合わせて調整 */
  margin: 20px auto;
  /* 中央寄せ */
  overflow: hidden;
  /* 枠からはみ出た部分を隠す */
  position: relative;
  /* スライダー内部を横並びにする */
}

.index-top .mv_block .slider-container .slider-track {
  display: flex;
  padding: 250px 0 0;
  transition: scale 0.8s cubic-bezier(0.33, 1, 0.68, 1);
  /* 初期状態では translateX(0) のまま */
  /* 各スライド */
}

.index-top .mv_block .slider-container .slider-track .slide {
  /* 4枚並べるため、コンテナ幅の25% */
  flex: 0 0 auto;
  box-sizing: border-box;
  text-align: center;
  transition: all 0.3s;
  position: relative;
  scale: 1;
  margin: 0 20px;
  padding: 0 10px;
  width: 25%;

}

.index-top .mv_block .slider-container .slider-track .slide img {
  width: 100%;
  height: auto;
  display: block;
}

.index-top .mv_block .slider-container .slider-track .slide.scale {
  transform: scale(1.3);
  transform-origin: center bottom;
  z-index: 2;
  margin: 0 95px;
}

.index-top .mv_block .slider-container::after {
  content: "";
  display: block;
  width: 70vw;
  aspect-ratio: 556 / 590;
  background: url(../img/top/top_mv_slider_decoration03.svg) no-repeat center / 100% auto;
  position: absolute;
  bottom: -6%;
  left: 6%;
  top: 0;
  margin: auto;
  right: 0;
  max-width: 1663px;
  z-index: 100;
}

.index-top .mv_block .top_mv_block {
  max-width: 2038px;
  margin: auto;
  overflow: hidden;
  padding: min(10.4166666667vw, 150px) 0 0;
}

.index-top .mv_block .top_mv_wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0 1.9627085378%;
  /* 
  transition: transform 0.5s ease-in-out; */
}

.index-top .mv_block .top_mv_slide {
  width: 21.3935230618%;
  opacity: 1;
  transition: transform 0.25s ease-in;
}

.index-top .mv_block .top_mv_slide:nth-child(1) {
  position: relative;
}

.index-top .mv_block .top_mv_slide:nth-child(1)::after {
  content: "";
  display: block;
  width: min(10.5555555556vw, 152px);
  aspect-ratio: 1/1;
  background: url(../img/top/top_mv_slider_decoration01.svg) no-repeat center/100% auto;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(33%) translateY(-47%);
}

.index-top .mv_block .top_mv_slide:nth-child(3) {
  width: 29.8822374877%;
  position: relative;
}

.index-top .mv_block .top_mv_slide:nth-child(3)::after {
  content: "";
  display: block;
  width: min(95.2380952381%, 580px);
  aspect-ratio: 580/460;
  background: url(../img/top/top_mv_slider_decoration02.svg) no-repeat center/100% auto;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(10px) translateY(min(-5.2545155993%, -32px));
}

.index-top .news_block {
  position: relative;
  z-index: 1;
  background-color: #fff;
  width: 1080px;
  border-radius: 10px 10px 0 0;
  padding: 40px 65px;
  display: flex;
  align-self: center;
  margin: 38px auto 0;
}

.index-top .news_block .title {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 24px;
  padding-right: min(3.4782608696vw, 80px);
  margin-right: min(3.4782608696vw, 80px);
  border-right: solid 1px #6B4C32;
}

.index-top .news_block .title span {
  font-size: 12px;
}

.index-top .news_block .news_meta {
  flex: 1;
  display: flex;
  align-items: center;
}

.index-top .news_block .news_meta .date {
  font-family: "Ubuntu Condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 21px;
  margin-right: 20px;
  color: #EC6B38;
}

.index-top .news_block .news_meta .post_title {
  flex: 1;
  position: relative;
}

.index-top .news_block .news_meta .post_title a {
  font-size: min(0.9722222222vw, 15px);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding-right: 44px;
}

.index-top .news_block .news_meta .post_title a::after {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 1/1;
  background: url(../img/ico_arrow_circle_brown.svg) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: all 0.4s linear;
}

.index-top .news_block .news_meta .post_title a:hover {
  text-decoration: none;
}

.index-top .news_block .news_meta .post_title a:hover::after {
  background: url(../img/ico_arrow_circle_white.svg) no-repeat center/100% auto;
}

.index-top .concept_block {
  background-color: #fff;
  padding-top: min(10.9027777778vw, 105px);
  padding-bottom: min(5.1388888889vw, 75px);
}

.index-top .concept_block .concept_image {
  width: min(35.7142857143vw, 560px);
  margin: min(3.2142857143vw, 45px) auto 0;
}

.index-top .infomation_block {
  padding: min(7.6388888889vw, 110px) min(4.1666666667vw, 60px) min(5.9722222222vw, 86px);
  background-color: #FFF7E3;
}

.index-top .infomation_block .post_list_block {
  background-color: #fff;
  border-radius: 10px;
  padding: min(4.7222222222vw, 68px) min(4.4444444444vw, 64px);
  margin: 20px auto;
  position: relative;
  max-width: 1200px;
}

.index-top .infomation_block .post_list_block::after {
  content: "";
  display: block;
  width: min(18.3333333333vw, 264px);
  aspect-ratio: 264/75;
  background: url(../img/top/img_infomation.svg) no-repeat center/100% auto;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(-10%) translateY(-42%);
}

.index-top .infomation_block li {
  padding: min(1.8055555556vw, 26px) 0;
  border-bottom: solid 1px #6B4C32;
}

.index-top .infomation_block li:last-child {
  border: none;
}

.index-top .infomation_block li *:not(.meta) {
  display: inline-block;
}

.index-top .infomation_block li .date {
  font-size: min(1.3888888889vw, 20px);
  color: #EC6B38;
  font-family: "Ubuntu Condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
}

.index-top .infomation_block li .category {
  font-size: min(0.8333333333vw, 13px);
  border: solid 1px #6B4C32;
  padding: 0px 8px;
  border-radius: 5px;
  position: relative;
  top: -2px;
  left: 6px;
}

.index-top .infomation_block li .link {
  width: calc(100% - min(6.25vw, 90px));
  font-size: min(0.9722222222vw, 15px);
  margin-top: min(1.1111111111vw, 20px);
  padding-right: 44px;
  position: relative;
}

.index-top .infomation_block li .link::after {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 1/1;
  background: url(../img/ico_arrow_circle_brown.svg) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: all 0.4s linear;
}

.index-top .infomation_block li .link:hover {
  text-decoration: none;
}

.index-top .infomation_block li .link:hover::after {
  background: url(../img/ico_arrow_circle_white.svg) no-repeat center/100% auto;
}

.index-top .service_block {
  position: relative;
  overflow: hidden;
  padding: 80px;
}

.index-top .service_block .service_inner {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 10px;
  padding: min(7.6388888889vw, 110px) min(4.1666666667vw, 60px);
  overflow-x: hidden;
  width: 100%;
  margin: 0 auto;
  max-width: 1500px;
}

.index-top .service_block .service_content_swiper {
  width: 100%;
  max-width: 1500px;
  margin: min(4.5138888889vw, 65px) auto;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.index-top .service_block .swiper-slide figure {
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 5px;
  transition: all 0.5s;
}

.index-top .service_block .swiper-slide figure:hover {
  opacity: 0.8;
}

.index-top .service_block .swiper-slide .title {
  margin-top: 24px;
}

.index-top .service_block .swiper-slide .title .en_title {
  display: block;
  width: auto;
  font-family: "Ephesis", cursive;
  height: min(1.6666666667vw, 32px);
  font-size: 29px;
  color: #aa9797;
}

.index-top .service_block .swiper-slide a:hover figure .title .en_title {
  text-decoration: none;
}

.index-top .service_block .swiper-slide .title .en_title img {
  width: auto;
  height: 100%;
}

.index-top .service_block .swiper-slide .title .ja_title {
  display: inline-block;
  width: 100%;
  font-size: min(0.8695652174vw, 20px);
  font-weight: 700;
  color: #6B4C32;
  position: relative;
  padding: 16px 21px 16px 0;
}

.index-top .service_block .swiper-slide .title .ja_title::before {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: width 0.3s linear;
}

.index-top .service_block .swiper-slide .title .ja_title::after {
  content: "";
  display: block;
  width: 5px;
  aspect-ratio: 5/10;
  background: url(../img/ico_arrow_white.svg) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.index-top .service_block .swiper-slide a:hover .title .ja_title::before {
  width: 100%;
}

.index-top .service_block .swiper-slide a:hover .title .ja_title::after {
  transform: translateY(-50%) scale(1.25);
}

.index-top .service_block .service01::before {
  content: "";
  display: block;
  width: min(10.9027777778vw, 157px);
  aspect-ratio: 1/1;
  background: url(../img/top/img_service0102.png) no-repeat center/100% auto;
  position: absolute;
  bottom: 0;
  right: 20px;
  transform: translateY(-25%);
  z-index: 3;
}

.index-top .service_block .service02::before {
  content: "";
  display: block;
  width: min(6.8055555556vw, 104px);
  aspect-ratio: 104/158;
  background: url(../img/top/img_service0202.png) no-repeat center/100% auto;
  position: absolute;
  bottom: 0;
  right: 20px;
  transform: translateY(-30%);
  z-index: 3;
}

.index-top .service_block .service03::before {
  content: "";
  display: block;
  width: min(11.9444444444vw, 172px);
  aspect-ratio: 172/82;
  background: url(../img/top/img_service0302.png) no-repeat center/100% auto;
  position: absolute;
  bottom: 0;
  right: 20px;
  transform: translateY(-55%);
  z-index: 3;
}

.index-top .service_block .btnbox {
  display: block;
  width: 70vw;
  height: 77px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-100%);
  z-index: 1;
  max-width: 1500px;
  right: 0;
  margin: auto;

}


.index-top .service_block .btnbox .swiper-button-next:after,
.index-top .service_block .btnbox .swiper-button-prev::after {
  content: "";
  display: block;
  width: 72px;
  aspect-ratio: 1/1;
  background: url(../img/ico_swiper_arrow.svg) no-repeat center/100% auto;
  transition: all 0.5s;
}

.index-top .service_block .btnbox .swiper-button-next:hover:after,
.index-top .service_block .btnbox .swiper-button-prev:hover:after {
  transform: scale(1.1);
}

.index-top .service_block .btnbox .swiper-button-next {
  width: min(5.3472222222vw, 77px);
  left: auto;
  right: 0;
  transform: scale(-1) translateX(-50%);
}

.index-top .service_block .btnbox .swiper-button-prev {
  width: min(5.3472222222vw, 77px);
  left: 0;
  right: auto;
  transform: translateX(-50%);
}

.index-top .service_block .linebox {
  position: relative;
  width: 100%;
  height: 5px;
  margin-top: 32px;
}

.index-top .service_block .linebox .swiper-pagination {
  position: initial;
  text-align: left;
}

.index-top .service_block .linebox .swiper-pagination-bullet {
  width: 32px;
  height: 5px;
  background-color: #9B9B9B;
  border-radius: 0;
  opacity: 1;
}

.index-top .service_block .linebox .swiper-pagination-bullet-active {
  background-color: #F2B43F;
}

.index-top .company_block {
  margin-top: min(5.5555555556vw, 80px);
  padding: min(4.4444444444vw, 64px) min(3.125vw, 60px) min(7.2916666667vw, 105px);
  background-color: #fff;
}

.index-top .company_block .company_upperbox {
  display: flex;
  justify-content: center;
  align-items: center;
}

.index-top .company_block .company_image {
  width: min(53.2258064516%, 660px);
  aspect-ratio: 660/512;
}

.index-top .company_block .main_title_block {
  width: min(41.2903225806%, 560px);
  position: relative;
}

.index-top .company_block .main_title_block .subtitle {
  line-height: 1.8;
}

.index-top .company_block .main_title_block .lead {
  width: 88.275862069%;
}

.index-top .company_block .company_menu {
  max-width: 1240px;
  margin: min(1.6666666667vw, 24px) auto 0;
}

.index-top .company_block .company_menu ul {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  gap: min(2.7777777778vw, 42px);
}

.index-top .company_block .company_menu ul li {
  width: calc((100% - min(2.7777777778vw, 42px) * 3) / 4);
}

.index-top .company_block .company_menu ul li a {
  display: block;
  border-bottom: solid 1px rgba(107, 76, 50, 0.75);
  padding-bottom: min(1.1111111111vw, 20px);
  position: relative;
  text-decoration: none;
}

.index-top .company_block .company_menu ul li a::after {
  content: "";
  display: block;
  width: 0;
  height: 2px;
  background-color: #6B4C32;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: all 0.3s linear;
}

.index-top .company_block .company_menu ul li a:hover::after {
  width: 100%;
}

.index-top .company_block .company_menu ul .linkbox {
  margin-top: min(1.6666666667vw, 24px);
  display: flex;
  align-items: center;
}

.index-top .company_block .company_menu ul .linkbox .num {
  color: #EC6B38;
  font-family: "Ubuntu Condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(2.7777777778vw, 40px);
  margin-right: 10px;
  line-height: 1;
}

.index-top .company_block .company_menu ul .linkbox .title {
  display: inline-flex;
  flex: 1;
  font-size: min(1.3888888889vw, 21px);
  font-weight: 500;
  padding-right: 21px;
  position: relative;
  line-height: 1.025;
}

.index-top .company_block .company_menu ul .linkbox .title::after {
  content: "";
  display: block;
  width: 5px;
  aspect-ratio: 5/10;
  background: url(../img/ico_arrow_brown.svg) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.index-top .recruit_block {
  margin-top: 0;
}

.service.top .childlinks_block {
  padding: 0 20px;
  margin-top: clamp(40px, 3.75vw, 72px);
}

.service.top .flex_subgrid_block {
  max-width: 1440px;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  gap: min(6.7708333333vw, 130px) min(5.7291666667vw, 110px);
}

.service.top .flex_content {
  width: calc((100% - min(5.7291666667vw, 110px)) / 2);
  display: flex;
  flex-direction: column;
  gap: 0;
}

.service.top .flex_content .subtitle {
  font-size: 12px;
  text-align: center;
  padding: 0 40px;
  position: relative;
  aspect-ratio: 693/54;
  height: 30px;
  width: 374px;
  margin: 0 auto;
}

.service.top .flex_content .subtitle::before,
.service.top .flex_content .subtitle::after {
  content: "";
  display: block;
  width: 34px;
  aspect-ratio: 36/42;
  background: url(../img/service/top/icon_title.svg) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}

.service.top .flex_content .subtitle::before {
  scale: -1 1;
}

.service.top .flex_content .subtitle::after {
  left: auto;
  right: 0;
}

.service.top .flex_content .maintitle {
  text-align: center;
  margin-top: clamp(20px, 2.2916666667vw, 33px);
  aspect-ratio: 693/83;
}

.service.top .flex_content .maintitle .number {
  background-color: #6B4C32;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  display: inline-block;
  line-height: 1;
  padding: 10px 18px;
  border-radius: 5px;
  margin-right: 12px;
}

.service.top .flex_content .maintitle .title {
  font-size: clamp(16px, 1.4583333333vw, 28px);
  font-weight: 500;
  line-height: 1.025;
}

.service.top .flex_content .maintitle .title_contents {
  display: block;
  font-size: 60%;
  margin-top: 12px;

}

.service.top .flex_content .lead {
  font-size: 16px;
  margin-top: 24px;
}

.service.top .flex_content .btn_wrap {
  width: min(21.71875vw, 420px);
  margin: 0 auto;
  margin-top: clamp(20px, 3.125vw, 45px);
}

.service.top .flex_content .btn_wrap a {
  width: 100%;
  color: #6B4C32;
  background-color: #F2B43F;
  padding: 20px;
  line-height: 1;
  transition: all 0.5s;
  max-width: 100%;
}

.service.top .flex_content .btn_wrap a:hover {
  background-color: #6B4C32;
  color: #fff;
}

.service_group {
  /* タブ切り替え */
}

.service_group .service_main_contents {
  position: relative;
  z-index: 0;
}

.service_group .service_sidenav {
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
  padding-left: clamp(20px, 2.7777777778vw, 40px);
  position: absolute;
  z-index: 2;
  top: clamp(36px, 4.4444444444vw, 64px);
  left: 0;
}

.service_group .service_sidenav .openbtn {
  display: none;
}

.service_group .service_sidenav .links_block {
  position: sticky;
  top: 100px;
  width: 300px;
}

.service_group .service_sidenav .upper_links {
  border: solid 1px #D2D2D2;
  border-radius: 15px;
  overflow: hidden;
  background-color: #fff;
}

.service_group .service_sidenav .return_service a {
  display: block;
  line-height: 1;
  background-color: #F3F0E3;
  font-size: clamp(14px, 1.1111111111vw, 16px);
  font-weight: 600;
  padding: clamp(16px, 1.7361111111vw, 25px) clamp(55px, 4.4444444444vw, 64px) clamp(16px, 1.7361111111vw, 25px) clamp(16px, 1.6666666667vw, 24px);
  position: relative;
  z-index: 0;
}

.service_group .service_sidenav .return_service a::after {
  content: "";
  display: block;
  width: clamp(16px, 1.8055555556vw, 25px);
  aspect-ratio: 1/1;
  background: url(../img/service/icon_return.svg) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  right: clamp(8px, 1.9444444444vw, 28px);
  translate: 0 -50%;
}

.service_group .service_sidenav .subpage_links {
  border-top: solid 1px #D2D2D2;
  padding: 10px 30px;
  display: flex;
  flex-direction: column;
  gap: 12px;
    border-bottom: solid 1px #D2D2D2;
}

.service_group .service_sidenav .subpage_links li {
  list-style: none;
  padding: 15px 0;
}

.service_group .service_sidenav .subpage_links a {
  display: block;
  width: 100%;
  position: relative;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  padding-left: calc(clamp(8px, 0.9027777778vw, 13px) + 10px);
}

.service_group .service_sidenav .subpage_links a::before {
  content: "";
  display: block;
  width: clamp(8px, 0.9027777778vw, 13px);
  aspect-ratio: 1/1;
  background-color: #6B4C32;
  border-radius: 50%;
  position: absolute;
  top: 4px;
  left: 0;
}

.service_group .service_sidenav .acd_details .acd_summary {
  list-style: none;
  padding: 15px;
  position: relative;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
}

.service_group .service_sidenav .acd_details .acd_summary::after {
  content: "";
  display: flex;
  width: clamp(55px, 4.4444444444vw, 64px);
  height: 100%;
  background: url(../img/ico_arrow_brown.svg) no-repeat center/auto 30%;
  position: absolute;
  top: 0;
  right: 0;
  rotate: 90deg;
}

.service_group .service_sidenav .acd_details .sidenav_acd {
  background-color: #F3F0E3;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-out;
  transition-delay: 0.15s;
}

.service_group .service_sidenav .acd_details .sidenav_acd ul {
  padding: clamp(15px, 1.5277777778vw, 24px) clamp(12px, 1.6666666667vw, 24px);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.service_group .service_sidenav .acd_details .sidenav_acd a {
  display: block;
  width: 100%;
  position: relative;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  padding: 15px;
}

.service_group .service_sidenav .acd_details .sidenav_acd a::before {
  content: "";
  display: block;
  width: clamp(8px, 0.7638888889vw, 11px);
  height: 1px;
  background-color: #6B4C32;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
}

.service_group .service_sidenav .cta_link {
  margin-top: 12px;
}

.service_group .service_sidenav .cta_link a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(4px, 0.5555555556vw, 8px);
  line-height: 1;
  font-size: clamp(12px, 0.9722222222vw, 14px);
  font-weight: 600;
  color: #fff;
  background-color: #3DCD68;
  border-radius: 10px;
  overflow: hidden;
  padding: clamp(15px, 1.25vw, 22px);
}

.service_group .service_sidenav .cta_link a::before {
  content: "";
  display: block;
  width: clamp(16px, 1.9444444444vw, 28px);
  aspect-ratio: 1/1;
  background: url(../img/service/icon_cta_btn.svg) no-repeat center/100% auto;
}

.service_group .service_sidenav .cta_link a::after {
  content: "";
  display: block;
  width: clamp(6px, 0.5555555556vw, 8px);
  aspect-ratio: 1/1;
  background: url(../img/ico_arrow_white.svg) no-repeat center/100% auto;
}

.service_group .detail_contents {
  position: relative;
  z-index: 1;
}

.service_group .sub_menu {
  margin-top: min(8.3333333333vw, 120px);
}

.service_group .section_title_width_num .lead {
  max-width: 627px;
  margin-inline: auto;
}

.service_group .parallax_block {
  padding: min(5.9027777778vw, 85px);
  margin-top: calc(42px + min(3.9583333333vw, 57px));
}

.service_group .optional_inner {
  width: min(69.4444444444%, 1000px);
  margin: auto;
  padding: min(3.4722222222vw, 50px) min(4.4444444444vw, 68px);
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 10px;
  position: relative;
  z-index: 0;
}

.service_group .optional_inner .subtitle {
  background-color: #8DC442;
  color: #fff;
  font-size: clamp(16px, 1.1979166667vw, 23px);
  font-weight: 500;
  width: -moz-fit-content;
  width: fit-content;
  padding: clamp(6px, 1.25vw, 14px) 20px;
  border-radius: 100px;
  line-height: 1;
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% -50%;
}

.service_group .optional_inner .optional_dl {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.service_group .optional_inner .optional_dl dl {
  display: flex;
  gap: 8px;
}

.service_group .optional_inner .optional_dl dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  padding: clamp(12px, 1.25vw, 24px);
  background-color: #6B4C32;
  color: #fff;
  border-radius: 5px;
  min-width: 125px;
  font-size: 16px;
  width: 190px;
  line-height: 1.6;
}

.service_group .optional_inner .optional_dl dd {
  flex: 1;
  background-color: #FFEEE0;
  padding: clamp(12px, 1.25vw, 24px);
  border-radius: 5px;
}

.service_group .optional_inner .optional_dl .disclist li {
  position: relative;
  padding-left: 1em;
  font-size: 16px;
  

}

.service_group .optional_inner .optional_dl .disclist li::before {
  content: "";
  display: block;
  width: 4px;
  aspect-ratio: 1/1;
  background-color: #6B4C32;
  border-radius: 50%;
  position: absolute;
  top: 6px;
  left: 0;
  translate: 0 150%;
}

.service_group .optional_inner .btn_wrap ._ylw {
  background-color: #F2B43F;
  color: #6B4C32;
}

.service_group .service_subpage_links {
  background-color: #F0EDEB;
  padding: 60px 0 80px;
}

.service_group .service_subpage_links .main_title {
  font-size: clamp(20px, 1.4583333333vw, 28px);
  font-weight: 500;
}

.service_group .service_subpage_links .links_block {
  margin-top: clamp(32px, 3.3854166667vw, 65px);
  max-width: 960px;
  margin-inline: auto;
}

.service_group .service_subpage_links .linkbox {
  display: flex;
  justify-content: center;
  gap: clamp(8px, 1.0416666667vw, 20px);
}

.service_group .service_subpage_links .linkbox a {
  display: block;
  text-align: center;
}

.service_group .service_subpage_links .linkbox a p {
  font-size: clamp(14px, 1.0416666667vw, 20px);
  line-height: 1.25;
  margin-top: 14px;
}

.service_group .recruit_block {
  margin-top: 0;
}

.service_group .tab_block {
  margin-top: clamp(24px, 2.0833333333vw, 40px);
  max-width: 960px;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 15px 30px;
}

.service_group .tab_block a.tab_btn {
  width: calc((100% - 30px) / 2);
  border: 0;
  background-color: #6B4C32;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  padding: clamp(12px, 1.25vw, 24px) 56px clamp(12px, 1.25vw, 24px) clamp(12px, 1.25vw, 24px);
  border-radius: 5px;
  position: relative;
}

.service_group .tab_block a.tab_btn::after {
  content: "";
  display: block;
  width: 10px;
  aspect-ratio: 1/1;
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: #fff;
  position: absolute;
  right: 35px;
  top: 50%;
  translate: 0 -50%;
}

.service_group .tab_block a.current {
  background-color: #F2B43F;
  color: #6B4C32;
}

.service_group .tab_block a.current::after {
  background-color: #6B4C32;
}

.service_group .merit_block {
  margin-top: 32px;
}

.service_group .merit_block ul {
  display: flex;
  justify-content: center;
  gap: clamp(8px, 0.9375vw, 18px);
}

.service_group .merit_block ul li {
  flex: 1;
  max-width: 180px;
  background-color: #6B4C32;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 20px;
}

.service_group .merit_block ul li p {
  font-size: clamp(14px, 0.8333333333vw, 16px);
  color: #fff;
  text-align: center;
  padding: 0 clamp(12px, 1.0416666667vw, 20px);
  margin: 0;
  line-height: 1.6;
}

.service_group .merit_block ul li figure {
  width: 100%;
  aspect-ratio: 168/90;
  display: flex;
  justify-content: center;
  align-items: center;
}

.service_group .merit_block ul li img {
  display: block;
}

.service_group .merit_block .tab01_icon01 img {
  width: clamp(60px, 6.25vw, 90px);
}

.service_group .merit_block .tab01_icon02 img {
  width: clamp(68px, 7.2916666667vw, 105px);
}

.service_group .merit_block .tab01_icon03 img {
  width: clamp(32px, 3.4027777778vw, 50px);
}

.service_group .merit_block .tab01_icon04 img {
  width: clamp(40px, 5.4166666667vw, 80px);
}

.service_group .merit_block .tab01_icon05 img {
  width: clamp(40px, 4.375vw, 65px);
}

.service_group .merit_block .tab02_icon01 img {
  width: clamp(60px, 6.25vw, 90px);
}

.service_group .merit_block .tab02_icon02 img {
  width: clamp(88px, 7.2222222222vw, 104px);
}

.service_group .merit_block .tab02_icon03 img {
  width: clamp(32px, 4.1666666667vw, 60px);
}

.service_group .merit_block .tab03_icon01 img {
  width: clamp(68px, 7.2222222222vw, 104px);
}

.service_group .merit_block .tab03_icon02 img {
  width: clamp(58px, 6.1111111111vw, 88px);
}

.service_group .merit_block .tab03_icon03 img {
  width: clamp(52px, 5.4166666667vw, 78px);
}

.service_group .merit_block .tab04_icon01 img {
  width: clamp(62px, 6.25vw, 90px);
}

.service_group .merit_block .tab04_icon02 img {
  width: clamp(72px, 7.2222222222vw, 104px);
}

.service_group .merit_block .tab04_icon03 img {
  width: clamp(32px, 3.4027777778vw, 49px);
}

.service_group .merit_block .tab04_icon04 img {
  width: clamp(62px, 6.25vw, 90px);
}

.service_group .merit_block .tab04_icon05 img {
  width: clamp(60px, 6.25vw, 90px);
}

.service_group .voice_block {
  background-color: #FFFACE;
  border-radius: 10px;
  padding: clamp(40px, 4.8148148148%, 52px) clamp(20px, 4.4444444444%, 48px);
  margin-top: clamp(40px, 3.2291666667vw, 62px);
  max-width: 1080px;
  margin-inline: auto;
}

.service_group .voice_block .voice_inner {
  background-color: #fff;
  padding: clamp(32px, 5.4347826087%, 50px) clamp(20px, 2.6086956522%, 32px);
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(8px, 3.9130434783%, 40px);
  max-width: 920px;
  margin-inline: auto;
}

.service_group .voice_block .voice_image {
  width: clamp(260px, 28.8043478261%, 265px);
}

.service_group .voice_block .voice_image img {
  width: 100%;
}

.service_group .voice_block .voice_image figcaption {
  text-align: center;
  font-size: 14px;
}

.service_group .voice_block .voice_icon {
  width: clamp(125px, 18.4782608696%, 180px);
}

.service_group .voice_block .voice_icon img {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
}

.service_group .voice_block .voice_icon figcaption {
  font-size: 14px;
  text-align: center;
}

.service_group .voice_block .lead {
  flex: 1;
  font-size: clamp(15px, 0.8333333333vw, 17px);
}

.service_group .transition_block {
  background-color: #F0EDEB;
  border-radius: 10px;
  padding: clamp(40px, 4.8148148148%, 52px) clamp(20px, 4.4444444444%, 48px);
  max-width: 1080px;
  margin: clamp(40px, 3.2291666667vw, 62px) auto clamp(80px, 5vw, 96px);
}

.service_group .transition_block .transition_inner {
  margin-top: clamp(16px, 2.2222222222vw, 36px);
}

.service_group .transition_block .transition_flex {
  display: flex;
  gap: clamp(20px, 4.8611111111vw, 70px);
}

.service_group .transition_block .transition_content._before {
  position: relative;
  z-index: 0;
}

.service_group .transition_block .transition_content._before::before {
  content: "";
  display: block;
  width: clamp(75px, 7.2916666667vw, 105px);
  aspect-ratio: 1/1;
  background: url(../img/service/service02/icon_tab03_before.png) no-repeat center/100% auto;
  position: absolute;
  top: 0;
  left: 0;
  translate: 0 -50%;
}

.service_group .transition_block .transition_content._after {
  position: relative;
  z-index: 0;
}

.service_group .transition_block .transition_content._after::before {
  content: "";
  display: block;
  width: clamp(75px, 7.2916666667vw, 105px);
  aspect-ratio: 1/1;
  background: url(../img/service/service02/icon_tab03_after.png) no-repeat center/100% auto;
  position: absolute;
  top: 0;
  right: 0;
  translate: 0 -50%;
}

.service_group .transition_block .b_image {
  width: 84.7058823529%;
  aspect-ratio: 360/260;
  margin-left: auto;
}

.service_group .transition_block .a_image {
  width: 84.7058823529%;
  aspect-ratio: 360/260;
  margin-right: auto;
}

.service_group .transition_block img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.service_group .transition_block ._detail {
  background-color: #fff;
  padding: clamp(20px, 2.5vw, 40px);
  margin-top: 32px;
  border-radius: 10px;
}

.service_group .price_block {
  background-color: #FFE8BE;
  padding: 54px clamp(20px, 4.1666666667vw, 60px);
  position: relative;
  z-index: 0;
}

.service_group .price_block .price_inner {
  max-width: 1000px;
  margin-inline: auto;
}

.service_group .price_block .subtitle {
  background-color: #8DC442;
  color: #fff;
  font-size: clamp(16px, 1.1979166667vw, 23px);
  font-weight: 500;
  width: -moz-fit-content;
  width: fit-content;
  padding: clamp(6px, 1.25vw, 14px) clamp(32px, 4.1666666667vw, 80px);
  border-radius: 100px;
  line-height: 1;
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% -50%;
}

.service_group .price_block .price_table {
  margin-top: 24px;
}

.service_group .price_block .price_table .title {
  background-color: #FFA700;
  border-radius: 10px;
  padding: 25px 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.service_group .price_block .price_table .title p {
  line-height: 1;
  font-size: clamp(16px, 1.25vw, 18px);
  text-align: center;
  flex: 1;
  color: #fff;

  padding-bottom: 0px;
}

.service_group .price_block .price_table .detail {
  background-color: #fff;
  border-radius: 10px;
  padding: 25px 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 5px;
}

.service_group .price_block .price_table .detail p {
  line-height: 1;
  font-size: clamp(16px, 1.25vw, 18px);
  text-align: center;
  flex: 1;

  padding-bottom: 0px;
}

.service_group .faq_block {
  background-color: #F0EDEB;
  border-radius: 10px;
  padding: clamp(40px, 4.8148148148%, 52px) clamp(20px, 4.4444444444%, 48px);
  max-width: 1080px;
  margin: clamp(40px, 3.2291666667vw, 62px) auto clamp(80px, 5vw, 96px);
}

.service_group .faq_block .faq_inner {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}

.service_group .faq_block .acd_content .summary {
  background-color: #fff;
  font-size: clamp(15px, 0.8333333333vw, 17px);
  line-height: 1.6;
  border-radius: 5px;
  padding: 18px 51px 18px 62px;
  list-style: none;
  position: relative;
  z-index: 0;
}

.service_group .faq_block .acd_content .summary::before {
  content: "Q";
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  font-weight: 500;
  position: absolute;
  top: 11px;
  left: 32px;
  translate: 0 62%;
}

.service_group .faq_block .acd_content .summary::after {
  content: "";
  display: block;
  width: 20px;
  aspect-ratio: 1/1;
  background: url(../img/ico_acd_open.svg) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  right: 20px;
  translate: 0 -50%;
  transition: background 0.2s linear;
}

.service_group .faq_block .acd_content .summary.opened::after {
  background: url(../img/ico_acd_close.svg) no-repeat center/100% auto;
}

.service_group .faq_block .acd_content .answer_content {
  background-color: #8B786B;
  color: #fff;
  font-size: clamp(15px, 0.8333333333vw, 17px);
  line-height: 1.6;
  border-radius: 5px;
  list-style: none;
  position: relative;
  z-index: 0;
  margin-top: 5px;
}

.service_group .faq_block .acd_content .answer_content p {
  padding: 20px 20px 20px 62px;
}

.service_group .faq_block .acd_content .answer_content::before {
  content: "A";
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  font-weight: 500;
  color: #fff;
  position: absolute;
  top: 20px;
  left: 32px;
  translate: 0 15%;
}

.company .pagetitle_block .main_title_block::after {
  content: "";
  display: block;
  width: min(44.0972222222vw, 635px);
  aspect-ratio: 360/162;
  background: url(../img/company/img_pegetitle_decoration.png) no-repeat center/100% auto;
  position: absolute;
  right: min(4.1666666667vw, 100px);
  top: 0;
  transform: translateY(min(-43.1034482759%, -125px));
}

.company .company_content {
  margin-top: clamp(60px, 12.5vw, 180px);
}

.company .store_inner {
  max-width: 1000px;
  margin: clamp(24px, 7.2916666667vw, 105px) auto 0;
}

.recruit .recruit_content .flex_with_image {
  margin-top: clamp(24px, 2.2222222222vw, 40px);
}

.recruit .table_block:has(.job_details_list) {
  margin-top: clamp(60px, 6.1111111111vw, 90px);
}

.recruit .job_details_list {
  margin-top: clamp(36px, 5.5555555556vw, 80px);
}

.subpage.alliance .lead {
  margin-top: 0;
  font-size: 16px;
  text-align: center;
}

.subpage.alliance .alliance_msg {
  margin-top: min(3.125vw, 60px);
}

.subpage.alliance .alliance_msg .msg_title {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 13px min(2.8125vw, 54px);
  border-radius: 100px;
  background-color: #F4E8DC;
  font-size: 20px;
  letter-spacing: 0.05em;
  font-weight: 600;
}

.subpage.alliance .alliance_msg img {
  display: block;
  width: clamp(280px, 37.5vw, 680px);
  margin: min(2.6041666667vw, 50px) auto 0;
  padding: 0;
}

.subpage.alliance .infomation_tel {
  position: relative;
  z-index: 0;
  margin-top: min(6.5104166667vw, 125px);
}

.subpage.alliance .infomation_tel .cta_illustration {
  width: min(41.09375vw, 790px);
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -88%;
}

.subpage.alliance .alliance_service {
  margin-top: min(6.5104166667vw, 125px);
  padding: min(3.125vw, 60px);
}

.subpage.alliance .alliance_service .title {
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  margin-block: 20px;
}

.subpage.alliance .alliance_service .btnbox {
  text-align: center;
  margin-top: 24px;
}

.subpage.alliance .alliance_service .btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 16px min(1.875vw, 36px);
  border-radius: 10px;
  background-color: #F2B43F;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}

.subpage.alliance .alliance_service .btn::after {
  content: "";
  display: block;
  width: 8px;
  aspect-ratio: 4/11;
  background: url(../img/ico_arrow_white.svg) no-repeat center/100% auto;
}

.subpage.alliance .alliance_service .alliance_cntlist {
  margin-top: 50px;
  max-width: 1500px;
  margin-inline: auto;
}

.subpage.alliance .alliance_point {
  background-color: #F2B43F;
  padding: min(3.125vw, 60px);
  margin-top: min(4.6875vw, 90px);
}

.subpage.alliance .alliance_point .alliance_cntlist {
  margin-top: min(2.0833333333vw, 40px);
}

.subpage.alliance .alliance_point .alliance_cntlist li {
  background-color: #fff;
  padding: 55px;
}

.subpage.alliance .alliance_merit {
  background-color: #D3F3DD;
  padding: min(3.125vw, 60px);
}

.subpage.alliance .alliance_merit .alliance_cntlist {
  margin-top: min(2.0833333333vw, 40px);
}

.subpage.alliance .alliance_merit .alliance_cntlist li {
  background-color: #fff;
  padding: min(2.1875vw, 42px);
}

.subpage.alliance .alliance_merit .alliance_cntlist .number {
  background-color: #3DCD68;
}

.subpage.alliance .alliance_merit .alliance_cntlist .title {
  color: #3DCD68;
}

.subpage.alliance .alliance_partner {
  margin-top: min(6.7708333333vw, 130px);
}

.subpage.alliance .alliance_partner .partner_image {
  width: min(58.3333333333vw, 1120px);
  margin-inline: auto;
  margin-top: min(3.6458333333vw, 70px);
}

.subpage.alliance .alliance_partner .partner_case {
  background-color: #C0E6CB;
  width: min(63.5416666667vw, 1220px);
  margin: min(3.8541666667vw, 74px) auto 0;
  border-radius: 10px;
  padding: min(3.6458333333vw, 70px) min(4.6875vw, 90px);
}

.subpage.alliance .alliance_partner .case_block {
  display: flex;
  gap: min(1.5625vw, 30px);
  background-color: #fff;
  padding: min(1.5625vw, 30px);
  margin-top: 20px;
}

.subpage.alliance .alliance_partner .case_block .imagebox {
  width: 24.154589372%;
}

.subpage.alliance .alliance_partner .case_block .textbox {
  flex: 1;
  font-size: 16px;
}

.subpage.alliance .alliance_partner .case_block .category {
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  padding: 12px 20px;
  background-color: #00B636;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  color: #fff;
  border-radius: 5px;
}

.subpage.alliance .alliance_partner .case_block .text {
  margin-top: 20px;
}

.subpage.alliance .alliance_info {
  margin-top: min(8.3333333333vw, 160px);
}

.subpage.alliance .alliance_info .info_image_box {
  width: min(45.5729166667vw, 960px);
  margin: min(2.0833333333vw, 40px) auto 0;
}

.subpage.alliance .alliance_flow {
  margin-top: min(9.6354166667vw, 185px);
  padding: min(3.125vw, 60px);
}

.subpage.alliance .alliance_flow .alliance_cnt_imagelist {
  max-width: 1500px;
  margin-inline: auto;
  margin-top: min(2.8645833333vw, 55px);
}

.subpage.alliance .alliance_flow .alliance_cnt_imagelist ul {
  display: flex;
  gap: min(1.3020833333vw, 25px);
}

.subpage.alliance .alliance_flow .alliance_cnt_imagelist li {
  flex: 1;
}

.subpage.alliance .alliance_flow .alliance_cnt_imagelist li+li .imagebox {
  position: relative;
}

.subpage.alliance .alliance_flow .alliance_cnt_imagelist li+li .imagebox::before {
  content: "";
  display: block;
  width: clamp(12px, 1.1979166667vw, 23px);
  aspect-ratio: 19/33;
  background: url(../img/ico_arrow_brown.svg) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  left: 0;
  translate: -96% -50%;
}

.subpage.alliance .alliance_flow .alliance_cnt_imagelist .imagebox {
  width: 100%;
  aspect-ratio: 375/255;
}

.subpage.alliance .alliance_flow .alliance_cnt_imagelist .imagebox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.subpage.alliance .alliance_flow .alliance_cnt_imagelist .textbox {
  display: flex;
  flex-wrap: wrap;
  margin-top: 16px;
  width: 65%;
}

.subpage.alliance .alliance_flow .alliance_cnt_imagelist .textbox .number {
  width: 50px;
  aspect-ratio: 1/1;
  font-size: 40px;
  line-height: 1;
  color: #EC6B38;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: min(2.34375vw, 60px) 15px;
}

.subpage.alliance .alliance_flow .alliance_cnt_imagelist .textbox .title {
  font-size: clamp(16px, 1.0416666667vw, 20px);
  font-weight: 500;
}

.subpage.alliance .alliance_flow .alliance_cnt_imagelist .textbox .lead {
  text-align: left;
}

.subpage.alliance .alliance_form {
  margin-top: min(7.5520833333vw, 145px);
  padding: clamp(60px, 6.25vw, 120px) clamp(20px, 3.125vw, 60px);
  position: relative;
  background-color: #EDE5DD;
}

.subpage.alliance .alliance_form::after {
  content: "";
  display: block;
  width: clamp(200px, 13.0208333333vw, 250px);
  aspect-ratio: 200/80;
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
}

.subpage.alliance .alliance_form .bg_beige_block {
  background-color: transparent;
  padding-block: 0;
}

.subpage.alliance .alliance_form .form_item_block .title {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.subpage.alliance .alliance_cntlist ul {
  display: flex;
  justify-content: flex-start;
  gap: min(1.8229166667vw, 35px);
  flex-wrap: wrap;
  max-width: 1400px;
  margin-inline: auto;
}

.subpage.alliance .alliance_cntlist li {
  flex: 1;
  position: relative;
}

.subpage.alliance .alliance_cntlist .number {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: clamp(32px, 3.8020833333vw, 72px);
  font-size: 28px;
  color: #fff;
  font-weight: 500;
  background-color: #EC6B38;
  position: absolute;
  left: 0;
  top: 0;
  translate: -20% -20%;
}

.subpage.alliance .alliance_cntlist .title {
  font-size: 23px;
  font-weight: 900;
  color: #EC6B38;
}

.subpage.alliance .alliance_cntlist .lead {
  text-align: left;
}

.subpage.alliance .title_l_letter {
  font-size: 28px;
  font-weight: 500;
}

.subpage.alliance .title_l_letter .large_letter {
  font-size: 40px;
}

.subpage.alliance .title_l_letter .wh {
  color: #fff;
}

.subpage.alliance .title_l_letter .pink {
  color: #FF7D7D;
}

/* --------------------------------------------------
  display
-------------------------------------------------- */
/* --------------------------------------------------
  cleafix
-------------------------------------------------- */
.u-clearfix:after {
  display: block;
  clear: both;
  content: "";
}

/* --------------------------------------------------
  align
-------------------------------------------------- */
.u-alignL {
  text-align: left;
}

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

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

/* --------------------------------------------------
  margin
-------------------------------------------------- */
.u-margin.-short {
  margin-bottom: 16px;
}

.u-margin.-middle {
  margin-bottom: 32px;
}

.u-margin.-large {
  margin-bottom: 64px;
}

/* --------------------------------------------------
  padding
-------------------------------------------------- */
.-ratio16-9 {
  padding-top: 56.25%;
}

.-ratio4-3 {
  padding-top: 75%;
}

/* --------------------------------------------------
  u-preload
-------------------------------------------------- */
/* --------------------------------------------------
  u-bellota
-------------------------------------------------- */
.u-bellota {
  font-family: "Bellota Text";
}

/* --------------------------------------------------
  u-wrap
-------------------------------------------------- */
.u-wrap {
  position: relative;
  width: 1200px;
  margin: 0 auto;
}

/* --------------------------------------------------
  container & basic setting
-------------------------------------------------- */
.container {
  max-width: 1240px;
  width: 100%;
  padding: 0 20px;
  margin: 0 auto;
}

.container.mode_l {
  max-width: 1440px;
}

.sec_item {
  padding-top: 140px;
  padding-bottom: 140px;
}

.sec_mt {
  margin-top: 140px;
}

.cont_item {
  margin-top: 60px;
}

.inner_item {
  padding-top: 100px;
  padding-bottom: 70px;
}

.mode_renewal {
  line-height: 1.8;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
}

.txt_box>p:not(:first-child) {
  margin-top: 24px;
}

/* --------------------------------------------------
  animation
-------------------------------------------------- */
@keyframes dot_jump {
  0% {
    transform: translateY(0);
  }

  5% {
    transform: translateY(-6px);
  }

  10% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes purun {
  0% {
    transform: scale(1.025, 1) translate(0%, 0%);
  }

  4% {
    transform: scale(1.05, 0.9) translate(0%, 0%);
  }

  8% {
    transform: scale(0.9, 1.1) translate(0%, 0%);
  }

  12% {
    transform: scale(1.025, 0.95) translate(0%, 0%);
  }

  16% {
    transform: scale(1, 1) translate(0%, 0%);
  }
}

/* --------------------------------------------------
  u-ofi
-------------------------------------------------- */
.u-ofi {
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

/* --------------------------------------------------
  u-spWidth100__sp
-------------------------------------------------- */
/* --------------------------------------------------
  u-font180
-------------------------------------------------- */
.u-font180 {
  font-size: 180%;
}

/* --------------------------------------------------
  ttl
-------------------------------------------------- */
.ttl01 {
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 60px;
}

.ttl01 .deco_txt {
  color: #e27a28;
  font-size: 2rem;
  font-weight: bold;
}

.ttl01 .deco_txt.mode_baloon::before {
  content: "＼";
  font-size: 1.2rem;
  margin-right: 16px;
}

.ttl01 .deco_txt.mode_baloon::after {
  content: "／";
  font-size: 1.2rem;
  margin-left: 16px;
}

.ttl01 .tag_li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 22px;
}

.ttl01 .tag_li li {
  width: 170px;
  background: #4bc500;
  color: #fff;
  box-sizing: border-box;
  font-size: 2.2rem;
  text-align: center;
  padding: 2px 20px;
  border-radius: 100vw;
}

.ttl01 .ttl_txt {
  font-weight: bold;
  margin-top: 16px;
}

.ttl01 .ttl_txt .fs {
  color: #e27a28;
  font-size: 3.8rem;
}

.ttl02 {
  text-align: center;
  position: relative;
  padding-top: 80px;
  padding-bottom: 50px;
}

.ttl02::after {
  width: 70px;
  height: 100%;
  background: #e1e05b;
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 35px);
  top: 0;
}

.ttl02 .en {
  position: relative;
  z-index: 2;
}

.ttl02 .en img {
  height: 40px;
}

.ttl02 .ja {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.6;
  position: relative;
  z-index: 2;
  margin-top: 30px;
}

.ttl02.mode02 {
  margin-bottom: 60px;
}

.ttl02.mode02 .ja {
  display: inline-block;
  background: #e1e05b;
  line-height: 2;
  padding: 0 40px;
  margin-top: -30px;
}

.ttl03 {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.6;
  border-left: 8px solid #e1e05b;
  padding-left: 16px;
  margin: 0 0 40px;
}

/* --------------------------------------------------
  multiple
-------------------------------------------------- */
.annotation {
  padding-left: 1em;
  text-indent: -1em;
}

.btn_mt {
  margin-top: 70px;
}

.btn_mt .btn01 {
  width: -moz-fit-content;
  width: fit-content;
  background: #6e6765;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
  color: #fff;
  display: block;
  font-size: 2rem;
  transition: 0.3s ease all;
  padding: 14px 120px;
  border: 1px solid #fff;
  border-radius: 100vw;
  margin: 0 auto;
}

.btn_mt .btn01:hover {
  text-decoration: none;
  box-shadow: 0px 0px 0 rgba(0, 0, 0, 0.2);
  opacity: 0.7;
}

.btn_mt .btn01.mode_line {
  background: #5fb330;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 1.6rem;
  padding: 25px 80px;
  position: relative;
}

.btn_mt .btn01.mode_line::before {
  content: "";
  position: absolute;
  left: 40px;
  top: 50%;
  transform: translateY(-50%);
  background-image: url(../img/common/ic_free.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
}

.btn_mt .btn01.mode_line::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  background-image: url(../img/common/ic_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
}

.btn_mt .btn01.mode_line .txt_inner {
  text-align: center;
  display: inline-block;
  margin: 0 auto;
}

.btn_mt .btn01.mode_line .ico {
  width: 30px;
  height: 30px;
  margin-right: 10px;
}

.btn_mt .btn01.mode_line .fs {
  font-size: 2.6rem;
  margin-right: 5px;
}

.btn_mt .btn02 {
  width: -moz-fit-content;
  width: fit-content;
  background: url(../img/common/ico_btn02.svg) right center/12px auto no-repeat;
  display: block;
  box-sizing: border-box;
  transition: 0.3s ease all;
  padding: 4px 20px 4px 0;
}

.dot {
  position: relative;
}

.dot::before {
  width: 6px;
  height: 6px;
  background: #e1e05b;
  content: "";
  display: block;
  position: absolute;
  top: -10px;
  left: calc(50% - 3px);
  border-radius: 100vw;
}

.indent_li>li {
  padding-left: 1em;
  text-indent: -1em;
}

.info_dl {
  max-width: 1000px;
  margin-top: 80px;
  margin-right: auto;
  margin-left: auto;
}

.info_dl>dt {
  font-size: 3rem;
  text-align: center;
}

.info_dl>dd {
  background: #edf0f2;
  overflow-x: hidden;
  padding: 70px 20px 60px;
  border-radius: 16px;
  margin-top: -26px;
}

.info_dl+.info_dl {
  margin-top: 40px;
}

.info_dl.mode02>dd {
  background: #f6f6cd;
}

.layout01 {
  max-width: 1200px;
  padding-right: 50px;
  padding-left: 50px;
}

.layout01>.img_box {
  width: calc(100% + 100px);
  margin-left: -50px;
  margin-bottom: 70px;
}

.reason_box {
  margin-top: 140px;
}

.reason_box .item {
  position: relative;
  display: flex;
  gap: 40px;
}

.reason_box .item:nth-child(even) {
  flex-direction: row-reverse;
}

.reason_box .item:nth-child(even) .num {
  left: auto;
  right: 50px;
}

.reason_box .item:nth-child(even) .img {
  border-radius: 46px 0 46px 0;
}

.reason_box .item:first-child {
  margin-left: -50px;
}

.reason_box .item:first-child .img {
  border-radius: 0 46px 0 0;
}

.reason_box .item:last-child {
  margin-right: -50px;
}

.reason_box .item:last-child .img {
  border-radius: 46px 0 0 0;
}

.reason_box .item+.item {
  margin-top: 50px;
}

.reason_box .item .num {
  width: 70px;
  height: 70px;
  background: #e1e05b;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.6rem;
  box-shadow: 4px 4px 0 #fff;
  position: absolute;
  left: 50px;
  top: -35px;
  z-index: 2;
}

.reason_box .item .img {
  overflow: hidden;
  border-radius: 0 46px 0 46px;
}

.reason_box .item .txt_box {
  width: 52.5%;
  display: flex;
  align-items: center;
}

.reason_box .item .txt_box p {
  font-size: 2.2rem;
  font-weight: bold;
}

.reason_box .item .txt_box .txt1 {
  font-size: 1.4rem;
  font-weight: normal;
  margin-top: 10px;
}

/* rwd_class
================================================== */
.rw_ox,
.rw_xo {
  display: none !important;
}

/* --------------------------------------------------
  animation
-------------------------------------------------- */
.load_item,
.scroll_item {
  transition: 0.7s ease all;
}

.fade_left {
  opacity: 0;
  transform: translateX(-40px);
}

.fade_left.active {
  opacity: 1;
  transform: translateX(0px);
}

.fade_right {
  opacity: 0;
  transform: translateX(40px);
}

.fade_right.active {
  opacity: 1;
  transform: translateX(0px);
}

.scroll_item.fade_up.active {
  opacity: 1;
  transform: translateY(0);
}

.scroll_item.fade_in.active {
  opacity: 1;
  transform: scale(1);
}

/* delayScrollAnime
================================================== */
.box {
  opacity: 0;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(40px);
  }

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

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

.alignleft {
  float: left;
  margin: 0 1.5em 0 0;
}

.alignright {
  float: right;
  margin: 0 0 0 1.5em;
}

.wp-caption {
  max-width: 100%;
}

.scroll-hidden {
  opacity: 0;
  transform: translateY(40px);
}

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

  .pc {
    display: none;
  }
  header {
    height: 80px;
  }
header .hum_block {
  width: 80px;
  aspect-ratio: 1/1;
  border-left: none;
}
  header .logo_block {
    width:250px;
    margin-right: auto;
            top: -5px;
        position: relative;
        z-index: 10000;
  }

  header .nav_block {
    width: 100vw;
    height: 100vh;
    background-color: #FFF9F3;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0;
    transform: translateX(100vw);
    transition: transform 0.35s linear;
  }

  header .nav_block.hum_open {
    transform: translateX(0);
    z-index: 0;
  }

  header .hum_close {
    width: 60px;
    height: auto;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    border-left: solid 1px rgba(0, 0, 0, 0.15);
  }

  header .hum_close span {
    display: inline-block;
    width: 32px;
    height: 2px;
    border-radius: 5px;
    background-color: #6B4C32;
  }

  header .hum_close span:nth-child(1) {
    transform: rotate(45deg);
  }

  header .hum_close span:nth-child(2) {
    transform: rotate(-45deg);
    position: absolute;
  }

  header .scroll_area {
    flex-direction: column;
  }

  header .textlinks ul {
    flex-direction: column;
    gap: 0;
  }

  header .textlinks ul li a {
    display: block;
    font-size: min(3.8461538462vw, 15px);
    padding: 26px 20px;
    border-top: solid 1px rgba(0, 0, 0, 0.15);
  }

  header .textlinks ul li a:hover {
    text-decoration: none;
    color: #F2B43F;
  }

  header .btnlinks {
    margin: 0;
  }

  header .btnlinks ul {
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0 20px;
  }
 header .btnlinks ul li {
  width: 100%;
 }
  header .btnlinks ul li a {
    transform: translateY(0);
    border-radius: 10px;
    overflow: hidden;
    border: solid 1px #6B4C32;
  }

  header .btnlinks ul li a img {
    transform: scale(1.08);
    transform-origin: center;
  }




  header .hum_block {
    display: block;
  }

  

  footer {
    margin-top: 60px;
  }

  footer .upper_block {
    display: block;
    padding: 0 min(5.7142857143vw, 40px);
  }

  footer .site_title {
    font-size: 24px;
    margin-bottom: 32px;
    padding: 0 20px;
  }

  footer .access_block {
    width: 100%;
  }

  footer .access_block::after {
    width: min(37.1794871795vw, 145px);
    right: 5px;
  }

  footer .map_wrapper {
    aspect-ratio: 615/350;
    overflow: hidden;
  }

  footer .sitemap_block {
    margin: 32px 0 48px;
    width: 100%;
    padding: 0;
  }

  footer .sitemap_block * {
    font-size: 13px;
  }

  footer .sitemap_list {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  footer .sitemap_list .parent_link {
    width: 100%;
  }

  footer .sitemap_list .parent_link+.mt_narrow {
    margin-top: 8px;
  }

  footer .sitemap_list .parent_link a:not(.child_link a) {
    background-color: #8E7964;
    color: #fff;
    padding: min(6.4285714286vw, 45px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 10px 10px 0 0;
  }

  footer .sitemap_list .parent_link a:not(.child_link a)::after {
    content: "";
    display: block;
    width: 5px;
    aspect-ratio: 5/10;
    background: url(../img/ico_arrow_white.svg) no-repeat center/100% auto;
  }

  footer .sitemap_list .sitemap_sub_link {
    padding: 0 20px;
  }

  footer .sitemap_list .child_link a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: min(4.8571428571vw, 36px) 0 min(4.8571428571vw, 36px) min(4.8571428571vw, 36px);
    border-bottom: solid 1px #6B4C32;
  }

  footer .sitemap_list .child_link a::before {
    background-color: #6B4C32;
  }

  footer .sitemap_list .child_link a::after {
    content: "";
    display: block;
    width: 5px;
    aspect-ratio: 5/10;
    background: url(../img/ico_arrow_brown.svg) no-repeat center/100% auto;
    position: relative;
  }

  footer .sitemap_list .child_link:last-child a {
    border-bottom: 0;
  }

  footer .bottom_block {
    padding: min(7.1428571429vw, 50px) min(30vw, 210px) min(7.1428571429vw, 50px) min(4.5714285714vw, 32px);
    margin-top: min(30vw, 210px);
  z-index: 0;
  }

  footer .bottom_block::before {
    width: min(45%, 240px);
    left: 10px;
  }

  footer .bottom_block::after {
    width: min(20%, 180px);
  }

  footer .bottom_block .return_page {
    position: absolute;
    top: 0;
    right: 0;
    transform: translateY(0);
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  footer .bottom_block .return_page a {
    flex-direction: column;
    justify-content: center;
    width: min(16.8571428571vw, 118px);
    height: 100%;
    font-size: 10px;
    background-color: #6B4C32;
    border-radius: 0;
  }

  footer .bottom_block .return_page a span {
    display: none;
  }

  footer .bottom_block .return_page a::before {
    margin-right: 0;
  }

  footer .bottom_block .return_page a::after {
    content: "TOP";
    font-size: 10px;
    color: #fff;
    margin-top: 4px;
  }

  footer .bottom_block p {
    text-align: left;
    font-size: min(2.2857142857vw, 16px);
  }

  .center {
    text-align: center;
  }

  .lead {
    font-size: clamp(13px, 3.8461538462vw, 16px);
  }

  .lead._small {
    font-size: clamp(11px, 3.3333333333vw, 14px);
  }

  /* ページ下部：recruit */
  .recruit_block .recruit_inner {
    flex-direction: column;
    gap: 0;
  }

  .recruit_block .left_column {
    width: 100%;
    flex-direction: column;
    padding: 57px 20px 32px;
  }

  .recruit_block .right_column {
    width: 100%;
    aspect-ratio: 390/300;
  }

  /* ページ下部：cta */
  .cta_block {
    padding: 40px 20px;
  }

  .cta_block .cta_contents {
    padding: 32px 20px;
  }

  .cta_block .title {
    width: 100%;
    justify-content: flex-start;
    font-size: 18px;
    font-weight: 500;
    line-height:1.6;
  }

  .cta_block .title::after {
    position: absolute;
    top: 0;
    right: -12px;
    width: min(14.2857142857vw, 100px);
    margin-left: 0;
  }

  .cta_block .action_column {
    font-size: 14px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    margin-top: 32px;
  }

  .cta_block .left_column {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .cta_block p:not(.s_letter, .title) {
    padding-left: 0;
    font-size: 17px;
  }

  .cta_block .tel {
    font-size:10vw;
    padding-left: 32px;
    margin-top: 10px;
  }

  .cta_block .tel::before {
    width: 28px;
    top: 59%;
  }
.cta_block .s_letter {
  font-size: 12px;
}
  .cta_block .right_column {
    width: 100%;
  }

  .cta_block .right_column .btn {
    min-height: 45px;
  }

  /* ページタイトル */
  .subpage .pagetitle_block .bg_title {
    width: 100%;
    aspect-ratio: 840/340;
  }

  /* モーション付きタイトル */
  .main_title_block {
    opacity: 1;
    width: 90% !important;
    margin: 10px auto;
  }

  .main_title_block .main_title span {
    font-size: 32px;
    margin: 0;
  }

  .main_title_block.is_in .main_title span {
    opacity: 1;
    transform: translateY(0);
    font-family: "Ubuntu Condensed", sans-serif;
    font-weight: 400;
    font-style: normal;
  }

  .main_title_block .ja_title {
    font-size: 18px;
  }

  .main_title_block .subtitle {
    
    text-align: center !important;
    font-weight: bold;
  }

  .main_title_block .lead.center {
    font-size: 14px;
    text-align: center !important;
    margin-top: 22px;
  }

  .main_title_block .lead.center br {
    display: none;
  }

  /* セクションタイトル｜No.つき */
  .section_title_width_num h2 {
    padding: 0 20px;
    align-items: center;
  }

  .section_title_width_num .num {
    font-size: clamp(20px, 8.2051282051vw, 32px);
    margin-right: 5px;
    word-break: keep-all;
    top: 0px;
  }

  .section_title_width_num .title {
    font-size: clamp(18px, 6.1538461538vw, 24px);
    line-height: 1.6;
  }

  .section_title_width_num .lead {
    font-size: 14px;
    text-align: left;
    margin-top: 20px;
  }

  .section_title_width_num .fullwide {
    width: clamp(280px, 100%, 1000px);
    padding: 0 20px;
  }

  .section_title {
    font-size: clamp(24px, 1.9444444444vw, 28px);
    letter-spacing: 0.21em;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: clamp(24px, 2.5vw, 36px);
  }

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

  /* mv下リードテキスト */
  .top_msg_block {
    padding: 0 40px;
  }

  .top_msg_block .subtitle {
    font-size: 20px;
  }

  .top_msg_block p {
    font-size: 14px;
    text-align: left;
    padding: 0 0px;
  }

  /* パララックス */
  .parallax_block {
    position: relative;
    overflow: hidden;
  }

  .parallax_section {
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 200px);
    z-index: -1;
  }

  .parallax_section img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  /* ボタン周り */
  .btn_wrap {
    margin: 10px 0 30px 0px;
  }

  .btn_wrap .btn {
    width: 100%;
    padding: min(5.1282051282vw, 24px) min(8.2051282051vw, 36px);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.18em;

  }

  .btn_wrap .btn::after {
    width: 8px;
  }

  /* フリーダイヤル　アイコン */
  .store_freedial a.l_letter {
    font-size: min(8.2051282051vw, 36px);
  }

  .store_freedial a.l_letter::before {
    width: min(6.1538461538vw, 32px);
  }

  /* 画像付き2列カラム */
  .flex_with_image {
    flex-direction: column;
    gap: 24px;
  }

  .flex_with_image.right_image {
    flex-direction: column-reverse;
  }

  .flex_with_image .imagebox {
    flex: 1;
    border-radius: 10px;
    overflow: hidden;
  }

  .flex_with_image .imagebox img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .flex_with_image .textbox {
    flex: 1;
  }

  .flex_with_image .textbox p {
    font-size: 16px;
    line-height: 1.8;
  }

  /* ２列カラム */
  .flex_column2_block {
    gap: min(6.1538461538vw, 24px);
    margin: 80px 0 0;
  }

  .flex_column2_block li {
    width: 100%;
  }

  .flex_column2_block li .title {
    font-size: 16px;
    margin-top: 12px;
  }

  /* !マーク付き吹き出しレイアウト */
  .comment_layout_block {
    padding: 40px 20px 32px;
    width: min(100% - 40px, 1000px);
    margin: 32px auto min(6.1538461538vw, 24px);
  }

  .comment_layout_block::after {
    content: "";
    display: block;
    width: min(6.1538461538vw, 24px);
  }

  .comment_layout_block ul {
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px;
  }

  .comment_layout_block .comment_frame {
    padding: 20px 12px;
    width: clamp(240px, 100%, 420px);
  }

  .comment_layout_block .comment_frame::before {
    width: 20px;
  }

  .comment_layout_block .comment_frame::after {
    width: 16px;
    aspect-ratio: 27/38;
    height: auto;
  }

  .comment_layout_block .comment_text {
    font-size: 14px;
    line-height: 1.8;
    text-align: center;
  }

  /* 偶数行がグレーのtable */
  .table_block._with_bgcolor {
    width: min(100%, 960px);
  }

  .table_block._with_bgcolor .row_twotone_table th,
  .table_block._with_bgcolor .row_twotone_table td {
    font-size: 14px;
  }

  .table_block._with_bgcolor .row_twotone_table .title {
    padding-left: clamp(12px, 4.1025641026vw, 32px);
    padding-right: 0;
    min-width: 90px;
  }

  .table_block._with_bgcolor .row_twotone_table .content {
    padding-left: clamp(12px, 4.1025641026vw, 32px);
    padding-right: clamp(12px, 4.1025641026vw, 32px);
  }

  .table_block._with_bgcolor .row_twotone_table .date {
    padding-left: clamp(12px, 4.1025641026vw, 32px);
    padding-right: 0;
    min-width: 90px;
  }

  .table_block._with_bgcolor .row_twotone_table .event {
    padding-left: clamp(12px, 4.1025641026vw, 32px);
    padding-right: clamp(12px, 4.1025641026vw, 32px);
  }

  .table_block._with_bgcolor .row_twotone_table ul li {
    font-size: clamp(14px, 1.1111111111vw, 16px);
    line-height: 1.8;
    padding-left: 10px;
    position: relative;
    z-index: 0;
  }

  .table_block._with_bgcolor .row_twotone_table ul li::before {
    content: "";
    display: block;
    width: 4px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: #6B4C32;
    position: absolute;
    top: 12px;
    left: 0;
  }

  /* ベージュ背景ブロック */
  .bg_beige_block {
    width: 90%;
    margin: 24px auto 0;
           padding: 41px;
           line-height: 1.6;
  }

  /* アコーディオン要素 */
  .acd_content summary {
    padding: min(4.1025641026vw, 30px) min(8.2051282051vw, 32px) min(4.1025641026vw, 30px) min(4.1025641026vw, 16px);
  }

  .acd_content._bg_brown summary::after {
    width: 10px;
    right: 10px;
  }

  .acd_content._bg_brown summary .category {
    width: min(25.641025641vw, 100px);
  }

  .acd_content._bg_brown summary .cate_name {
    width: calc(100% - min(25.641025641vw, 100px));
  }

  .acd_contents .row_twotone_table .title {
    width: min(25.641025641vw, 100px);
  }

  .acd_contents .row_twotone_table .content {
    width: calc(100% - min(25.641025641vw, 100px));
  }

  /* フォーム枠 */
  .form_wrap {
    padding: 0 20px;
  }

  .form_wrap .form_item_block {
    flex-direction: column;
    align-items: flex-start;
  }

  .form_wrap .form_item_block .title {
    font-size: 16px;
    width: 100%;
  }

  .form_wrap .form_item_block .must,
  .form_wrap .form_item_block .any {
    font-size: min(3.0769230769vw, 13px);
  }

  .form_wrap .form_item_block .form_content {
    width: 100%;
    margin-top: 12px;
  }

  .form_wrap .submit_block input[type=submit] {
    font-size: min(4.6153846154vw, 20px);
  }

  .form_wrap .form_item_block+.form_item_block {
    margin-top: 24px;
  }

  .title_l_letter {
    font-size: 22px;
  }

  .title_l_letter .large_letter {
    font-size: 32px;
  }

  .title_l_letter+.lead {
    margin-top: 20px;
  }

  .point_block {
    background-color: #F2B43F;
    padding: 40px 20px 50px;
  }

  .point_block .point_cntlist {
    padding: 0;
    margin-top: 60px;
  }

  .point_block .point_cntlist ul {
    flex-direction: column;
    gap: 45px;
  }

  .point_block .point_cntlist ul li {
    padding: 32px 20px;
  }

  .point_block .point_cntlist .number {
    width: 50px;
    height: 50px;
    font-size: 18px;
    ;
    left: 50%;
    top: 0;

    padding: 0;
    translate: -50% -65%;
  }

  .point_block .point_cntlist .title {
    font-size: min(4.5714285714vw, 32px);
    text-align: left;
  }

  .point_block .point_cntlist .lead {
    text-align: left;
    margin-top: 12px;
    line-height: 1.6;
    margin-bottom: 15px;
  }

  .index-top::after {
    aspect-ratio: 2300/540;
    top: -250px;
  }

  .index-top .mv_block {
    position: relative;
  }

  .index-top .mv_block h1 {
    width: -moz-fit-content;
    width: fit-content;
    font-size: min(9.2307692308vw, 48px);
    top: min(14.5714285714vw, 102px);
    left: 13.7142857143vw;
    transform: translateX(0);
    z-index: 1;
  }



  .index-top .news_block {
    width: calc(100% - 40px);
    padding: 24px 40px;
    margin: 38px auto 0;
    flex-direction: column;
    top: 50px;;
  }

  .index-top .news_block .title {
    font-size: 19px;
    padding-right: 0;
    margin-right: 0;
    border-right: 0;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }

  .index-top .news_block .title span {
    font-size: 13px;
  }

  .index-top .news_block .news_meta {
          flex-direction: initial;
        align-items: flex-start;
        margin-top: 16px;
        gap: 21px;
  }

  .index-top .news_block .news_meta .date {
    font-size: 14px;
    margin: 0;
  }

  .index-top .news_block .news_meta .post_title {
    margin-top: -2px;
  }

  .index-top .news_block .news_meta .post_title a {
    font-size: 15px;
    padding-right: 26px;
  }

  .index-top .news_block .news_meta .post_title a::after {
    width: 16px;
  }

  .index-top .concept_block {
    padding: 75px 20px 40px;
  }

  .index-top .concept_block .concept_image {
    width: min(80%, 560px);
    margin: 24px auto 0;
  }

  .index-top .concept_block .subtitle.center,
  .index-top .concept_block .lead.center {
    text-align: left;
  }

  .index-top .infomation_block {
    padding: 32px 20px 40px;
  }

  .index-top .infomation_block .post_list_block {
    border-radius: 10px;
    padding: 32px 20px;
    margin-top: 36px;
  }

  .index-top .infomation_block .post_list_block::after {
    width: min(55.7142857143vw, 320px);
    right: -30px;
    top: -12px;
  }

  .index-top .infomation_block li {
    padding: 16px 0;
  }

  .index-top .infomation_block li .date {
    font-size: 13px;
  }

  .index-top .infomation_block li .category {
    font-size: 10px;
    padding: 4px 8px;
  }

  .index-top .infomation_block li .link {
    width: 100%;
    font-size: 15px;
    line-height: 1.6;
    margin-top: 10px;
    padding-right: 26px;
  }

  .index-top .infomation_block li .link::after {
    width: 16px;
  }

  .index-top .infomation_block li .link:hover {
    text-decoration: none;
  }

  .index-top .infomation_block li .link:hover::after {
    background: url(../img/ico_arrow_circle_white.svg) no-repeat center/100% auto;
  }

  .index-top .service_block {
    padding: 80px 32px;
  }

  .index-top .service_block .parallax_section {
    /* padding: 160px 20px 100px; */
  }

  .index-top .service_block .service_inner {
    border-radius: 10px;
    padding: min(10vw, 70px) min(8.2857142857vw, 58px) min(8.2857142857vw, 58px);
    overflow-x: hidden;
  }

  .index-top .service_block .service_content_swiper {
    margin-top: 32px;
  }

  .index-top .service_block .swiper-wrapper {
    overflow-x: clip;
  }

  .index-top .service_block .swiper-slide figure {
    border-radius: 16px;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 5px;
  }

  .index-top .service_block .swiper-slide figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .index-top .service_block .swiper-slide .title {
    margin-top: 24px;
  }

  .index-top .service_block .swiper-slide .title .en_title {
    display: block;
    width: auto;
    height: 24px;
  }

  .index-top .service_block .swiper-slide .title .ja_title {
    font-size: 16px;
  }

  .index-top .service_block .btnbox .swiper-button-next:after,
  .index-top .service_block .btnbox .swiper-button-prev::after {
    width: min(8.5714285714vw, 60px);
  }

  .index-top .service_block .btnbox .swiper-button-next {
    width: min(8.5714285714vw, 60px);
    transform: translateX(50%) scale(-1);
  }

  .index-top .service_block .btnbox .swiper-button-prev {
    width: min(8.5714285714vw, 60px);
    transform: translateX(-50%);
  }

  .index-top .service_block .linebox {
    display: none;
  }

  .index-top .company_block {
    margin-top: 40px;
    padding: 40px 20px;
  }

  .index-top .company_block .company_upperbox {
    position: relative;
    z-index: 0;
  }

  .index-top .company_block .company_image {
    width: min(80%, 560px);
    margin-top: 0;
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    translate: 19.8275862069% 32%;
  }

  .index-top .company_block .main_title_block {
    width: calc(100% - 40px);
    margin-inline: auto;
    position: relative;
  }

  .index-top .company_block .main_title_block .main_title {
    justify-content: center;
  }

  .index-top .company_block .main_title_block .ja_title {
    text-align: center;
  }

  .index-top .company_block .main_title_block .subtitle {
    line-height: 1.8;
    padding-top: min(24.2857142857vw, 170px);
    margin-top: 0;
    text-align: left;
  }

  .index-top .company_block .main_title_block .lead {
    width: 100%;
  }

  .index-top .company_block .company_menu {
    width: 100%;
    margin: 32px auto 0;
  }

  .index-top .company_block .company_menu ul {
    display: block;
  }

  .index-top .company_block .company_menu ul li {
    display: block;
    width: 100%;
  }

  .index-top .company_block .company_menu ul li a {
    display: flex;
    align-items: center;
    gap: min(5.7142857143vw, 40px);
    padding-bottom: min(5.4285714286vw, 36px);
  }

  .index-top .company_block .company_menu ul li a figure {
    width: min(14vw, 105px);
  }

  .index-top .company_block .company_menu ul li+li {
    margin-top: min(6vw, 44px);
  }

  .index-top .company_block .company_menu ul .linkbox {
    width: calc(100% - min(14vw, 105px));
    margin-top: 0;
  }

  .index-top .company_block .company_menu ul .linkbox .num {
    font-size: min(6.1538461538vw, 28px);
  }

  .index-top .company_block .company_menu ul .linkbox .title {
    font-size: 14px;
  }

  .index-top .recruit_block .main_title_block .main_title {
    justify-content: center;
  }

  .index-top .recruit_block .main_title_block .ja_title {
    text-align: center;
  }

  .index-top .recruit_block .btn_wrap {
    text-align: center;
  }

  .service .recruit_block {
    margin-top: min(15.2777777778vw, 220px);
  }

  .service.top .childlinks_block {
    padding: 0 20px;
  }

  .service_group {
    /* タブ切り替え */
  }

  .service_group .section_title_width_num .lead {
    padding: 0 40px;
  }

  .service_group .tab_block {
    gap: 10px;
    padding: 0 20px;
    margin-top: 50px;
  }

  .service_group .tab_block a:hover {
    text-decoration: none;
  }

  .service_group .tab_block a.tab_btn {
    width: calc((100% - 10px) / 2);
    font-size: 13px;
    padding: 12px 19px 12px 8px;
  }

  .service_group .tab_block a.tab_btn::after {
    width: 6px;
    right: 8px;
  }

  .service_group .tab_block a.current {
    background-color: #F2B43F;
    color: #6B4C32;
    text-decoration: none;
  }

  .service_group .tab_block a.current::after {
    background-color: #6B4C32;
  }

  .service_group .merit_block {
    margin-top: 32px;
  }

  .service_group .merit_block ul {
    flex-wrap: wrap;
    gap: 15px;
  }

  .service_group .merit_block ul li {
    flex: initial;
    width: calc((100% - 15px) / 2);
  }

  .service_group .voice_block {
    padding-bottom: 65px;
  }

  .service_group .voice_block .voice_inner {
    flex-direction: column;
    gap: 15px;
    position: relative;
    z-index: 0;
    padding-bottom: 35px;
  }

  .service_group .voice_block .voice_image {
    width: 100%;
  }

  .service_group .voice_block .voice_image figcaption {
    margin-top: 12px;
  }

  .service_group .voice_block .voice_icon {
    width: clamp(75px, 19.2307692308%, 160px);
    position: absolute;
    right: 0;
    bottom: 0;
    translate: 15px 50%;
  }

  .service_group .voice_block .voice_icon figcaption {
    font-size: 10px;
  }

  .service_group .voice_block .lead {
    flex: initial;
    width: 100%;
    line-height: 1.6;
  }

  .service_group .transition_block {
    background-color: #F0EDEB;
    border-radius: 10px;
    padding: clamp(40px, 4.8148148148%, 52px) clamp(20px, 4.4444444444%, 48px);
    max-width: 1080px;
    margin: clamp(40px, 3.2291666667vw, 62px) auto clamp(80px, 5vw, 96px);
  }

  .service_group .transition_block .transition_inner {
    margin-top: clamp(16px, 2.2222222222vw, 36px);
  }

  .service_group .transition_block .transition_flex {
    display: flex;
    gap: clamp(20px, 4.8611111111vw, 70px);
  }

  .service_group .transition_block .transition_content._before {
    position: relative;
    z-index: 0;
  }

  .service_group .transition_block .transition_content._before::before {
    content: "";
    display: block;
    width: clamp(75px, 7.2916666667vw, 105px);
    aspect-ratio: 1/1;
    background: url(../img/service/service02/icon_tab03_before.png) no-repeat center/100% auto;
    position: absolute;
    top: 0;
    left: 0;
    translate: 0 -50%;
  }

  .service_group .transition_block .transition_content._after {
    position: relative;
    z-index: 0;
  }

  .service_group .transition_block .transition_content._after::before {
    content: "";
    display: block;
    width: clamp(75px, 7.2916666667vw, 105px);
    aspect-ratio: 1/1;
    background: url(../img/service/service02/icon_tab03_after.png) no-repeat center/100% auto;
    position: absolute;
    top: 0;
    right: 0;
    translate: 0 -50%;
  }

  .service_group .transition_block .b_image {
    width: 84.7058823529%;
    aspect-ratio: 360/260;
    margin-left: auto;
  }

  .service_group .transition_block .a_image {
    width: 84.7058823529%;
    aspect-ratio: 360/260;
    margin-right: auto;
  }

  .service_group .transition_block img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .service_group .transition_block ._detail {
    background-color: #fff;
    padding: clamp(20px, 2.5vw, 40px);
    margin-top: 32px;
    border-radius: 10px;
  }

  .service_group .price_block .price_table {
    margin-top: 24px;
    overflow-x: auto;
  }

  .service_group .price_block .price_table .title {
    min-width: 480px;
    gap: 12px;
  }

  .service_group .price_block .price_table .title p {
    font-size: clamp(13px, 3.8461538462vw, 15px);
  }

  .service_group .price_block .price_table .detail {
    min-width: 480px;
    gap: 12px;
  }

  .service_group .price_block .price_table .detail p {
    font-size: clamp(13px, 3.8461538462vw, 15px);
  }

  .service_group .faq_block {
    border-radius: 0;
  }

  .service_group .faq_block .acd_content .summary {
    font-size: clamp(14px, 3.8461538462vw, 16px);
    padding: 10px 29px;
  }

  .service_group .faq_block .acd_content .summary::before {
    font-size: 14px;
    top: 50%;
    left: 10px;
    translate: 0 -50%;
  }

  .service_group .faq_block .acd_content .summary::after {
    width: 13px;
    right: 8px;
  }

  .service_group .faq_block .acd_content .answer_content {
    font-size: clamp(14px, 3.8461538462vw, 16px);
    overflow: hidden;
    transition: max-height 0.3s ease;
  }

  .service_group .faq_block .acd_content .answer_content p {
    padding: 10px 10px 10px 29px;
  }

  .service_group .faq_block .acd_content .answer_content::before {
    font-size: 14px;
    left: 10px;
  }

  .service_group .parallax_block {
    padding: 60px 30px;
    margin-top: 60px;
  }

  .service_group .optional_inner {
    width: 100%;
    padding: 40px 20px;
  }

  .service_group .optional_inner .section_title {
    font-size: clamp(20px, 5.1282051282vw, 24px);
    padding: 0;
    letter-spacing: 0.025em;
    line-height:1.6;
  }

  .service_group .optional_inner .optional_dl {
    gap: 20px;
  }

  .service_group .optional_inner .optional_dl dl {
    flex-direction: column;
    gap: 2px;
  }

  .service_group .optional_inner .optional_dl dt {
    border-radius: 5px 5px 0 0;
    font-size: clamp(15px, 4.358974359vw, 18px);
    width: 100%;
  }

  .service_group .optional_inner .optional_dl dd {
    flex: 1;
    background-color: #FFEEE0;
    padding: 30px;
   border-radius: 0px 0px 5px 5px;
        top: -2px;
        position: relative;
  }

  .service_group .optional_inner .optional_dl .disclist {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .service_group .optional_inner .optional_dl p + .disclist {
    margin-top: 25px;
  }

  .service_group .optional_inner .optional_dl .disclist li {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0.025em;
  }

  .service_group .optional_inner .optional_dl .disclist li::before {
    translate: 0 200%;
  }

  .service_group .service_subpage_links .main_title {
    font-size: clamp(20px, 1.4583333333vw, 28px);
    font-weight: 500;
  }

  .service_group .service_subpage_links .linkbox {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 24px 8px;
    margin: 20px;
  }

  .service_group .service_subpage_links .linkbox li {
    width: calc((100% - clamp(8px, 1.0416666667vw, 20px) * 1) / 2);
  }

  .service_group .service_subpage_links .linkbox li a p {
    font-size: 12px;
    margin-top: 8px;
  }

  .service_group .recruit_block {
    margin-top: 0;
  }

  .company .company_content {
    padding: 0 20px;
  }

  .company .store_inner {
    max-width: 1000px;
    margin: clamp(24px, 7.2916666667vw, 105px) auto 0;
  }

  .recruit .recruit_content {
    padding: 0 20px;
  }

  .subpage.alliance .lead {
    margin-top: clamp(20px, 1.6666666667vw, 32px);
    font-size: 16px;
    text-align: center;
  }

  .subpage.alliance .alliance_msg {
    margin-top: min(17.1428571429vw, 120px);
    padding: 0 20px;
  }

  .subpage.alliance .alliance_msg .msg_title {
    padding: 13px min(9.1428571429vw, 80px);
  font-size: 22px;
        text-align: center;
        line-height: 1.6;
  }

  .subpage.alliance .alliance_msg img {
    width: clamp(280px, 88.5714285714vw, 620px);
    margin: 60px auto 0;
  }

  .subpage.alliance .infomation_tel {
    position: relative;
    z-index: 0;
    margin-top: min(45.7142857143vw, 320px);
    padding: 0 20px;
  }

  .subpage.alliance .infomation_tel .cta_illustration {
    width: min(87.4285714286vw, 700px);
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% -88%;
  }

  .subpage.alliance .alliance_service {
    margin-top: min(17.1428571429vw, 120px);
    padding: 0 20px;
  }

  .subpage.alliance .alliance_service .title {
    font-size: min(3.7142857143vw, 26px) !important;
  }

  .subpage.alliance .alliance_service .alliance_cntlist {
    margin-top: 50px;
    max-width: 1080px;
    margin-inline: auto;
  }

  .subpage.alliance .alliance_point {
    background-color: #F2B43F;
    padding: min(13.1428571429vw, 92px) min(5.7142857143vw, 40px);
    margin-top: min(17.1428571429vw, 120px);
  }

  .subpage.alliance .alliance_point .alliance_cntlist {
    margin-top: min(14.2857142857vw, 100px);
  }

  .subpage.alliance .alliance_point .alliance_cntlist li {
    background-color: #fff;
    padding: min(6.8571428571vw, 48px);
  }

  .subpage.alliance .alliance_merit {
    background-color: #D3F3DD;
    padding: min(13.1428571429vw, 92px) min(5.7142857143vw, 40px);
  }

  .subpage.alliance .alliance_merit .alliance_cntlist {
    margin-top: min(14.2857142857vw, 100px);
  }

  .subpage.alliance .alliance_merit .alliance_cntlist li {
    background-color: #fff;
    padding: min(6.8571428571vw, 48px);
  }

  .subpage.alliance .alliance_partner {
    margin-top: min(17.1428571429vw, 120px);
    padding: 0 20px;
  }

  .subpage.alliance .alliance_partner .partner_image {
    width: 100%;
    margin-top: min(11.4285714286vw, 80px);
  }

  .subpage.alliance .alliance_partner .partner_case {
    width: 100%;
    margin: min(17.1428571429vw, 120px) auto 0;
    padding: min(11.4285714286vw, 80px) min(5.7142857143vw, 40px);
  }

  .subpage.alliance .alliance_partner .partner_case .title_l_letter {
    text-align: center;
  }

  .subpage.alliance .alliance_partner .case_block {
    flex-direction: column;
    gap: min(5.7142857143vw, 40px);
    background-color: #fff;
    padding: min(7.1428571429vw, 50px);
  }

  .subpage.alliance .alliance_partner .case_block .imagebox {
    width: 100%;
  }

  .subpage.alliance .alliance_partner .case_block .textbox {
    flex: 1;
  }

  .subpage.alliance .alliance_partner .case_block .category {
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
    padding: 12px 20px;
    background-color: #00B636;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    color: #fff;
    border-radius: 5px;
  }

  .subpage.alliance .alliance_partner .case_block .text {
    margin-top: 20px;
    font-size: clamp(14px, 2.2857142857vw, 16px);
    line-height: 1.6;
  }

  .subpage.alliance .alliance_info {
    margin-top: min(17.1428571429vw, 120px);
    padding: 0 20px;
  }

  .subpage.alliance .alliance_info .info_image_box {
    width: 100%;
    max-width: 640px;
    margin: min(14.2857142857vw, 100px) auto 0;
  }

  .subpage.alliance .alliance_flow {
    margin-top: min(17.1428571429vw, 120px);
    padding: 0 20px;
  }

  .subpage.alliance .alliance_flow .alliance_cnt_imagelist {
    margin-top: min(10.8571428571vw, 76px);
  }

  .subpage.alliance .alliance_flow .alliance_cnt_imagelist ul {
    flex-direction: column;
    gap: min(21.4285714286vw, 150px);
  }

  .subpage.alliance .alliance_flow .alliance_cnt_imagelist li {
    flex: 1;
    position: relative;
    display: flex;
  }

  .subpage.alliance .alliance_flow .alliance_cnt_imagelist li+li .imagebox {
    position: absolute;
  }

  .subpage.alliance .alliance_flow .alliance_cnt_imagelist li+li .imagebox::before {
    width: clamp(20px, 4.2857142857vw, 30px);
    aspect-ratio: 30/60;
    background: url(../img/ico_arrow_brown.svg) no-repeat center/100% auto;
    position: absolute;
    top: 0;
    left: 0;
    translate: -50% -125%;
    rotate: 90deg;
  }

  .subpage.alliance .alliance_flow .alliance_cnt_imagelist .imagebox {
    width: 50%;
    position: absolute;
    top: 0;
    right: 0;
  }

  .subpage.alliance .alliance_flow .alliance_cnt_imagelist .textbox {
    display: flex;
    flex-wrap: wrap;
    margin-top: 16px;
    width: 50%;
  }

  .subpage.alliance .alliance_flow .alliance_cnt_imagelist .textbox .number {
    width: -moz-fit-content;
    width: fit-content;
    font-size: min(6.5714285714vw, 46px);
    margin-inline: 0 8px;
    line-height: 1.6;
    position: relative;
        top: -10px;
  }

  .subpage.alliance .alliance_flow .alliance_cnt_imagelist .textbox .title {
    font-size: clamp(16px, 3.7142857143vw, 26px);

    line-height: 1.6
  }

  .subpage.alliance .alliance_flow .alliance_cnt_imagelist .textbox .lead {
    margin-top: min(8vw, 68px);
    line-height: 1.6;
  }

  .subpage.alliance .alliance_form {
    margin-top: min(7.5520833333vw, 145px);
    padding: clamp(60px, 6.25vw, 120px) clamp(20px, 3.125vw, 60px);
    position: relative;
    background-color: #EDE5DD;
  }

  .subpage.alliance .alliance_form::after {
    content: "";
    display: block;
    width: clamp(200px, 13.0208333333vw, 250px);
    aspect-ratio: 200/80;
    -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
  }

  .subpage.alliance .alliance_form .bg_beige_block {
    background-color: transparent;
    padding-block: 0;
    line-height: 1.6;
  }

  .subpage.alliance .alliance_form .form_wrap {
    padding: 0;
  }

  .subpage.alliance .alliance_form .form_item_block .title {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .subpage.alliance .alliance_cntlist ul {
    flex-direction: column;
    gap: min(17.1428571429vw, 120px);
  }

  .subpage.alliance .alliance_cntlist .number {
    width: clamp(25px, 11.4285714286vw, 80px);
    font-size: min(5.7142857143vw, 40px);
    left: 50%;
    top: 0;
    translate: -50% -65%;
  }

  .subpage.alliance .alliance_cntlist .title {
    font-size: 22px;
    line-height: 1.6;
  }

  .subpage.alliance .alliance_service .btn {
    width: 100%;
  }

  .subpage p {
    padding-bottom: 0;
    line-height: 1.6;
  }

  .subpage.alliance .alliance_cntlist .lead {
    text-align: left;
  }

  .subpage.alliance .title_l_letter {
    font-size: min(5.1428571429vw, 36px);
  }
}
@media screen and  (min-width: 820px) and (max-width: 1024px) {

  .index-top .mv_block .slider-container::after {
    content: "";
    display: block;
    width: 100vw;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }


}

@media screen and (max-width:1024px) {
.company_image img {
  display: none;
}
.index-top .company_block .main_title_block .subtitle {
  padding-top: 20px;;
}
}

@media screen and (max-width: 767px) {
  .company .pagetitle_block .main_title_block::after {
    top: 84px;;
  }
  .company .flex_with_image .textbox {
    flex-wrap: wrap;
    gap: 10px;
  }
  header .header_inner {
    padding-right: 0;
  }
 .index-top::after {
    aspect-ratio: 390/500;
    top: -250px;
  }
      .main_title_block .subtitle {
        font-size: 4.9vw;
        font-weight: bold;
    }
     .main_title_block .lead {
        font-size: 3.8vw;
        margin-top: 0;
     }

    .index-top .mv_block .slider-container::after {
      content: "";
    display: block;
    width: 90vw;
    max-width: 420px;
    aspect-ratio: 556/120;
    background: url(../img/top/top_mv_slider_decoration02_sp.svg) no-repeat center/contain;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    }
  header {
    height: auto;
  }
  .main_title_block .main_title span {
    letter-spacing: 0.01em;
    margin: 0 -0.08em;
  }
  /* TOPページ ヒーロービュー レスポンシブ調整 */
  .index-top .mv_block {
    padding: 0 0 18vw 0;
    min-height: 60vw;
  }
  .index-top .mv_block h1 {
    width: 90vw;
    font-size: 7vw;
    left: 32%;
    top: 5vw;
    transform: translateX(-50%);
    position: relative;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 4vw;
  }
  .index-top .mv_block .slider-container {
    margin: 4vw auto 0 auto;
    padding: 0;
    width: 100vw;
    max-width: 100vw;
    min-width: 0;
  }
  .index-top .mv_block .slider-container .slider-track {
    flex-wrap: nowrap;
    padding: 8vw 0 0 0;
    gap: 0;
  }
  .index-top .mv_block .slider-container {
    overflow:visible;
    top: 125px;
  }
  .index-top .mv_block .slider-container .slider-track {
    justify-content: center;
    left: 160vw;
    position: relative;
  }
  .index-top .mv_block .slider-container .slider-track .slide {
    width: 80vw;
    min-width: 80vw;
    margin: 0 0vw;
    scale: 0.8;
    transition: scale 0.4s, z-index 0.4s;
    z-index: 1;
  }
  .index-top .mv_block .slider-container .slider-track .slide.scale {
    scale: 1.1;
    z-index: 2;
  }
  .index-top .mv_block .slider-container .slider-track .slide img {
    width: 100%;
    height: auto;
    border-radius: 2vw;
    display: block;
  }
  /* すべての break‑point で共通に */
.index-top .mv_block .slider-container .slider-track{
    display:flex;
    gap:40px;        /* ← スライド間の余白を gap で管理 */
    padding:0 40px;  /* ← 左右にも同じ値を入れると完全対称 */
}

.index-top .mv_block .slider-container .slider-track .slide,
.index-top .mv_block .slider-container .slider-track .slide.scale{
    margin:0;        /* ← margin はもう不要 */
}
  .index-top .mv_block .slider-container::after {
    width: 90vw;

    max-width: none;
    top: auto;
    bottom: -1vw;
    aspect-ratio: 556 / 590;
    background-size: 100% 100%;
  }
  .index-top .mv_block .top_mv_block {
    max-width: 100vw;
    padding: 8vw 0 0 0;
  }
  .index-top .mv_block .top_mv_wrapper {
    flex-direction: column;
    gap: 4vw 0;
    align-items: center;
  }
  .index-top .mv_block .top_mv_slide {
    width: 80vw;
    margin: 0 auto 4vw auto;
  }
  .index-top .mv_block .top_mv_slide:nth-child(1)::after,
  .index-top .mv_block .top_mv_slide:nth-child(3)::after {
    display: none;
  }
  html {
    font-size: 2.4vw;
  }

  body {
    line-height: 1;
    min-width: 1%;
    overflow-x: hidden;
    position: relative;
  }

  a[href^="tel:"],
  a[href^="https://line"] {
    text-decoration: none !important;
  }

  .c-fv {
    height: auto;
    flex-wrap: wrap;
  }

  .c-fv .c-fv__left,
  .c-fv .c-fv__right {
    height: 250px;
  }

  .c-fv__title {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    width: 100%;
    height: auto;
    padding: 7vw 5vw 6vw;
    margin-top: 0;
  }

  .c-fv__enTitle {
    font-size: 7vw;
  }

  .c-fv__jaTitle {
    margin: 5vw 0 0;
  }

  .c-fv__text {
    margin: 4vw 0 0;
  }

  .c-trial {
    position: relative;
    height: auto;
  }

  .c-trial a {
    background: none;
  }

  .c-trial a:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: url(../img/common/bg_trial.jpg) no-repeat right 25% bottom/cover;
    opacity: 0.5;
  }

  .c-trial__textArea {
    position: relative;
    z-index: 2;
    padding: 12vw 5vw;
  }

  .c-trial__enTitle {
    font-size: 8vw;
  }

  .c-trial__jaTitle {
    font-size: 4.2vw;
    margin: 4vw 0 0;
  }

  .c-trial__text {
    line-height: 1.5;
    margin: 5vw 0 0;
  }

  .c-trial__note {
    margin: 2vw 0 0;
  }

  .c-trial__button {
    margin-top: 4vw;
  }

  .c-contactArea__flexBox>* {
    width: 100%;
    margin-right: 0;
  }

  .c-contactArea__flexBox>*:nth-child(n+2) {
    margin-top: 7vw;
  }

  .c-contact {
    position: relative;
    background-color: #e1e05b;
    background-image: none;
    padding: 7vw 5vw;
  }

  .c-contact:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: url(../img/common/bg_contact.jpg) no-repeat right top/80% auto;
    opacity: 0.7;
    z-index: 1;
  }

  .c-contact>* {
    position: relative;
    z-index: 2;
  }

  .c-contact__enTitle {
    font-size: 7.8vw;
  }

  .c-contact__jaTitle {
    font-size: 4.2vw;
    margin: 4vw 0 0;
  }

  .c-contact__tel {
    font-size: 4.8vw;
    margin: 6vw 0 0;
  }

  .c-contact__tel a {
    font-size: 6.5vw;
  }

  .c-contact__text {
    width: 100%;
    margin: 6vw 0 0;
  }

  .c-contact__flexBox {
    margin-top: 0;
  }

  .c-contact__button {
    padding-bottom: 2vw;
  }

  .c-contact__qr {
    width: 30vw;
    margin-left: auto;
    text-align: right;
  }

  .c-contactArea__flexBox {
    margin-top: 7vw;
  }

  .c-line {
    background: #59b43d url(../img/common/bg_line.jpg) no-repeat left top 1vw/17vw auto;
    padding: 7vw 5vw;
  }

  .c-line__title {
    font-size: 6.2vw;
    padding-left: 15vw;
  }

  .c-line__enTitle {
    font-size: 7.8vw;
    transform: translateY(0.5vw);
  }

  .c-line__lead {
    font-size: 4.4vw;
    margin: 4vw 0 0;
    padding-left: 15vw;
  }

  .c-line__flexBox {
    margin: 6vw 0 0;
  }

  .c-line__text {
    width: calc(100% - 25vw);
  }

  .c-line__qr {
    width: 20vw;
    margin-left: 5vw;
  }

  .c-reservation a {
    padding: 7vw 5vw;
  }

  .c-reservation__title {
    font-size: 6.2vw;
  }

  .c-reservation__enTitle {
    font-size: 7.8vw;
    transform: translateY(0.5vw);
  }

  .c-reservation__lead {
    font-size: 4.4vw;
    margin: 4vw 0 0;
  }

  .c-reservation__text {
    margin: 1.6vw 0 0;
  }

  .c-reservation__link {
    width: 21vw;
    height: 6.5vw;
    padding-left: 2vw;
    margin: 4vw 0 0;
  }

  .c-titleJaEn span {
    display: block;
  }

  .c-titleJaEn .c-titleJaEn__ja {
    font-size: 7vw;
  }

  .c-titleJaEn .c-titleJaEn__en {
    font-size: 4vw;
    margin-top: 2vw;
  }

  .c-titleLine {
    border-left: 6vw solid #e0e05a;
  }

  .c-leadJaTitle {
    font-size: 6vw;
    margin: 0;
    line-height: 1.5;
  }

  .c-leadEnTitle {
    font-size: 4vw;
    line-height: 1.3;
  }

  .c-iconTitle {
    padding: 15vw 0 0;
  }

  .c-iconTitle:before {
    width: 13vw;
    height: 13vw;
  }

  .c-iconTitle__jaTitle {
    font-size: 7vw;
    text-align: left;
    line-height: 1.4;
  }

  .c-iconTitle__enTitle {
    font-size: 4.1vw;
    text-align: left;
    margin: 3vw 0 0;
  }

  .mode_renewal .c-leadJaTitle {
    border-left: 2vw solid #e1e05b;
    font-size: 6vw;
    padding: 2vw 0 2vw 4vw;
  }

  .mode_renewal .c-yellowButton {
    padding: 3vw 4vw 4vw;
  }

  .c-leadEn {
    margin: 3vw 0 0;
  }

  .c-viewmoreButton {
    width: 36vw;
    height: 5.5vw;
    padding-left: 2vw;
  }

  .c-yellowButton {
    width: 50vw;
    height: 12vw;
    padding: 4vw;
    margin-left: 0;
  }

  .c-yellowButton .c-yellowButton__enText {
    font-size: 4vw;
  }

  .c-yellowButton:before {
    bottom: 1vw;
    left: 3vw;
    width: 43vw;
    height: 5vw;
    background: url(../img/common/arw_black2.png) no-repeat center center/contain;
  }

  .c-categoryButton {
    width: 48%;
  }

  .c-categoryButton a {
    min-width: inherit;
    width: 100%;
    height: auto;
    padding: 0.4em 2em 0.3em;
  }

  .c-categoryButton:nth-of-type(odd) {
    margin-right: 2%;
  }

  .c-underPage.u-wrap>* {
    width: 100%;
    margin-right: 0;
  }

  .c-underPage.u-wrap>*:nth-child(n+2) {
    margin-top: 7vw;
  }

  .c-underPage.u-wrap {
    margin: 15vw auto 0;
  }

  .c-underPage__image {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 50%;
    overflow: hidden;
  }

  .c-underPage__image img {
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
  }

  .c-underPage__image.-training img {
    -o-object-position: center bottom;
    object-position: center bottom;
  }

  .c-underPage__image.-choice img {
    -o-object-position: center 40%;
    object-position: center 40%;
  }

  .c-underPage__titleArea {
    padding: 5vw 4vw;
  }

  .c-underPage__enTitle {
    font-size: 4.5vw;
  }

  .c-underPage__jaTitle {
    margin: 3vw 0 0;
  }

  .c-underPage__button {
    margin: 5vw 0 0;
  }

  .c-form__box {
    width: 100%;
  }

  .c-form__box dt {
    width: 100%;
    padding: 0;
  }

  .c-form__box dd {
    width: 100%;
    margin-top: 4vw;
  }

  .c-form__box dt:nth-of-type(n+2) {
    margin-top: 8vw;
  }

  .c-form__inputRadio+label {
    padding-left: 9vw;
  }

  .c-form__inputRadio+label:before {
    top: -1.5vw;
    width: 7vw;
    height: 7vw;
  }

  .c-form__inputRadio+label:after {
    top: -1px;
    left: 1.25vw;
    width: 4.5vw;
    height: 4.5vw;
  }

  .c-form input[type=text],
  .c-form input[type=email],
  .c-form textarea {
    height: 11vw;
    font-size: 5vw;
  }

  .c-form__input {
    width: 100%;
  }

  .c-form input[type=email] {
    width: 100%;
  }

  .c-form textarea {
    width: 100%;
    height: 70vw;
  }

  .c-form__radioArea1 {
    padding-left: 0;
    flex-direction: column;
  }

  .c-form__radioArea1 .c-form__radioItem+.c-form__radioItem {
    margin: 5vw 0 0;
  }

  .c-form__inputYear {
    width: 22vw;
  }

  .c-form__inputMonth,
  .c-form__inputDay {
    width: 17vw;
  }

  .c-form__inputName {
    width: calc(100% - 3em);
  }

  .c-form__inputPost1 {
    width: 30vw;
  }

  .c-form__inputPost2 {
    width: 20vw;
  }

  .c-form__postItem {
    height: 11vw;
    margin: 0 2vw;
  }

  .c-form select.c-form__selectPrefectures {
    width: 100%;
    height: 11vw;
  }

  .c-form__submitArea {
    width: 100%;
    margin: 7vw auto 0;
  }

  .c-form input[type=submit].c-form__submitButton {
    margin: 0;
    font-size: 4.6vw;
    width: 100%;
    height: 15vw;
  }

  .c-thanks.u-wrap {
    margin: 30vw auto 12vw;
  }

  .c-thanks__title {
    font-size: 6vw;
    line-height: 1.4;
  }

  .c-thanks__text {
    margin: 5vw 0 0;
  }

  .c-thanks__link {
    margin: 3vw 0 0;
  }

  .mode_renewal .page_ttl .container {
    height: 63.984vw;
    padding: 0vw 5.332vw 0vw 5.332vw;
  }

  .mode_renewal .page_ttl .img {
    width: 100%;
    height: 100%;
  }

  .mode_renewal .page_ttl .ttl_txt {
    font-size: 9.0644vw;
    line-height: 1.4;
    bottom: 15.996vw;
    left: 5.332vw;
  }

  .u-pc {
    display: none;
  }

  .u-wrap {
    width: 90vw;
  }

  .container {
    padding-left: 3.999vw;
    padding-right: 3.999vw;
  }

  .sec_item {
    padding: 21.328vw 0vw 21.328vw 0vw;
  }

  .sec_mt {
    margin: 21.328vw 0vw 0vw 0vw;
  }

  .cont_item {
    margin: 10.664vw 0vw 0vw 0vw;
  }

  .inner_item {
    padding-top: 10.664vw;
    padding-bottom: 10.664vw;
  }

  .mode_renewal {
    font-size: 4.2656vw;
  }

  .u-spWidth100 {
    max-width: inherit;
    width: 100%;
  }

  .ttl01 {
    font-size: 5.332vw;
    margin-bottom: 10.664vw;
  }

  .ttl01 .deco_txt {
    font-size: 4.2656vw;
  }

  .ttl01 .deco_txt.mode_baloon::before {
    font-size: 2.666vw;
    margin-right: 4.2656vw;
  }

  .ttl01 .deco_txt.mode_baloon::after {
    font-size: 2.666vw;
    margin-left: 4.2656vw;
  }

  .ttl01 .tag_li {
    gap: 3.1992vw;
    margin-top: 2.1328vw;
  }

  .ttl01 .tag_li li {
    width: 26.66vw;
    font-size: 4.2656vw;
    font-size: 0.5332vw 2.666vw 0.5332vw 2.666vw;
  }

  .ttl01 .ttl_txt {
    line-height: 1.7;
    margin-top: 4.2656vw;
  }

  .ttl01 .ttl_txt .fs {
    font-size: 7.4648vw;
  }

  .ttl02 {
    padding-top: 17.329vw;
    padding-bottom: 7.998vw;
  }

  .ttl02::after {
    width: 13.33vw;
    left: calc(50% - 6.665vw);
  }

  .ttl02 .en img {
    height: 8.5312vw;
  }

  .ttl02 .ja {
    font-size: 7.4648vw;
    margin-top: 3.7324vw;
  }

  .ttl02.mode02::after {
    top: 2vw;
  }

  .ttl03 {
    font-size: 6.9316vw;
    line-height: 1.4;
    padding-left: 4.2656vw;
    margin: 0vw 0vw 10.664vw 0vw;
  }

  .annotation {
    font-size: 3.1992vw;
  }

  .btn_mt {
    margin-top: 13.33vw;
  }

  .btn_mt .btn01 {
    font-size: 4.2656vw;
    padding: 3.7324vw 10.664vw 3.7324vw 10.664vw;
  }

  .btn_mt .btn01.mode_line {
    font-size: 3.7324vw;
    width: 100%;
    padding: 6.665vw 0vw 6.665vw 0vw;
  }

  .btn_mt .btn01.mode_line .ico {
    width: 5.8652vw;
    height: 5.8652vw;
    margin-right: 2.666vw;
  }

  .btn_mt .btn01.mode_line .fs {
    font-size: 5.8652vw;
    margin-right: 1.333vw;
  }

  .btn_mt .btn02 {
    background: url(../img/common/ico_btn02.svg) right center/2.6vw auto no-repeat;
    padding: 0.5332vw 4.2656vw 1.0664vw 0vw;
  }

  .info_dl {
    margin-top: 13.33vw;
  }

  .info_dl>dt {
    font-size: 5.8652vw;
  }

  .info_dl>dd {
    padding: 10.664vw 5.332vw 10.664vw 5.332vw;
    margin-top: -4.2656vw;
  }

  .info_dl+.info_dl {
    margin-top: 10.664vw;
  }

  .layout01 {
    padding-right: 5.332vw;
    padding-left: 5.332vw;
  }

  .layout01>.img_box {
    width: calc(100% + 10.664vw);
    margin-left: -5.332vw;
    margin-bottom: 10.664vw;
  }

  .reason_box {
    margin-top: 18.662vw;
  }

  .reason_box .item {
    display: block;
    gap: 10.664vw;
  }

  .reason_box .item:nth-child(even) .num {
    right: 5.332vw;
  }

  .reason_box .item:nth-child(even) .img {
    border-radius: 5.8652vw 0vw 5.8652vw 0vw;
  }

  .reason_box .item:first-child {
    margin-left: -5.332vw;
  }

  .reason_box .item:first-child .img {
    border-radius: 0vw 5.8652vw 0vw 0vw;
  }

  .reason_box .item:first-child .txt_box {
    padding-left: 5.332vw;
  }

  .reason_box .item:last-child {
    margin-right: -5.332vw;
  }

  .reason_box .item:last-child .img {
    border-radius: 5.8652vw 0vw 0vw 0vw;
  }

  .reason_box .item:last-child .txt_box {
    padding-right: 5.332vw;
  }

  .reason_box .item+.item {
    margin-top: 10.664vw;
  }

  .reason_box .item .num {
    width: 13.8632vw;
    height: 13.8632vw;
    font-size: 6.9316vw;
    left: 5.332vw;
    top: -6.9316vw;
  }

  .reason_box .item .img {
    border-radius: 0vw 5.8652vw 0vw 5.8652vw;
  }

  .reason_box .item .txt_box {
    width: 100%;
    display: block;
    padding-top: 5.332vw;
  }

  .reason_box .item .txt_box p {
    font-size: 4.2656vw;
  }

  .reason_box .item .txt_box .txt1 {
    font-size: 3.1992vw;
  }

  .rw_ox {
    display: block !important;
  }

  
}

@media screen and (min-width: 768px) {
  .over {
    text-decoration: none !important;
  }

  .over:hover {
    opacity: 0.6;
    transition: opacity 0.3s;
  }

  a[href^="tel:"],
  a[href^="https://line"] {
    display: inline-block;
    pointer-events: none;
  }

  .c-form__box dt:nth-of-type(n+2),
  .c-form__box dd:nth-of-type(n+2) {
    margin-top: 34px;
  }

  .c-delay1 {
    transition: all 0.5s ease 0.3s;
  }

  .c-delay2 {
    transition: all 0.5s ease 0.6s;
  }

  .c-delay3 {
    transition: all 0.5s ease 0.9s;
  }

  .c-delay4 {
    transition: all 0.5s ease 1.2s;
  }

  .u-sp {
    display: none;
  }

  .rw_xo {
    display: block !important;
  }
}

@media screen and (min-width: 1080px) {
  header .hum_block {
    display: none;
  }
}

@media screen and (max-width: 480px) {
  .service.top .flex_subgrid_block {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }

  .service.top .flex_content {
    display: block;
    width: 100%;
  }

  .service.top .flex_content+.flex_content {
    margin-top: 40px;
  }

  .service.top .flex_content .subtitle {
    padding: 0 32px;
    position: relative;
 
 line-height: 1.6; }

  .service.top .flex_content .subtitle::before,
  .service.top .flex_content .subtitle::after {
    width: 28px;
  }

  .service.top .flex_content .maintitle {
    margin-top: 20px;
  }

  .service.top .flex_content .maintitle .number {
    font-size: 14px;
  }

  .service.top .flex_content .maintitle .title {
    font-size:20px;
    font-weight: 500;
  }

  .service.top .flex_content .service_image {
    margin-top: 16px;
  }

  .service.top .flex_content .lead {
    font-size: 13px;
    line-height: 1.8;
    margin-top: 24px;
  }

  .service.top .flex_content .btn_wrap {
    width:100%;
    margin: 0 auto;
    margin-top: 16px;
  }
}

@media screen and (max-width: 1579px) {
  .service_group .service_main_contents {
    z-index: 1;
  }

  .service_group .service_sidenav {
    width: 100%;
    height: -moz-fit-content;
    height: fit-content;
    padding: 0;
    position: fixed;
    top: -100%;
  }

  .service_group .service_sidenav .openbtn {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background-color: #F3F0E3;
    position: fixed;
    top:80px;
    z-index: 1;
  }

  .service_group .service_sidenav .openbtn .open_text {
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.075em;
    line-height: 1;
  }

  .service_group .service_sidenav .openbtn .open_icon {
    display: block;
    width: 8px;
    aspect-ratio: 1/1;
    background: url(../img/ico_arrow_brown.svg) no-repeat center/100% auto;
    rotate: -90deg;
  }

  .service_group .service_sidenav .links_block {
    position: initial;
    width: 100%;
    transition: translate 0.3s linear;
    overflow: hidden;
    translate: 0 calc(-100% - 38px);
  }

  .service_group .service_sidenav .upper_links {
    border-radius: 0;
    border: none;
      border-top: solid 1px #D2D2D2;
  }

  .service_group .service_sidenav .cta_link {
    margin-top: 0;
    padding: 15px;
    background: white;
  }

  .service_group .service_sidenav .cta_link a {
    border-radius: 10px;
  }

  .service_group .service_sidenav.showup {
    top: calc(clamp(60px, 5.5555555556vw, 80px) + 38px);
  }

  .service_group .service_sidenav.showup .openbtn .open_icon {
    rotate: 90deg;
  }

  .service_group .service_sidenav.showup .links_block {
    translate: 0;
    margin-top: 20px;
  }
}

/* 20250629_追加CSS */
.archive_body {
  padding: 0 20px;
  margin-top: 40px;
}

.archive_body .article_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 32px;
  width: fit-content;
  margin-inline: auto;
}

.archive_body .article_list li {
  width:85%;
  max-width: 360px;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 25px;
}

.archive_body .article_list li a {}

.archive_body .article_list .thumbnails {
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 5px;
}

.archive_body .article_list .thumbnails img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.archive_body .article_list .article_summary {
  margin-top: 12px;
}

.archive_body .article_list .article_summary .category {
  font-size: 12px;
}

.archive_body .article_list .article_summary .date {
  font-size: 16px;
  text-align: right;
  margin-top: 8px;
}

.archive_body .article_list .article_summary .title {
  font-size: 14px;
  letter-spacing: 0.025em;
  font-weight: 600;
  line-height: 1.25;
  margin-top: 12px;
}

/* 一覧のページャー */
.pagination {
  margin-top: 60px;
}

.pagination .screen-reader-text {
  display: none;
}

.pagination .nav-links {
  text-align: center;
}

.pagination .page-numbers {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  aspect-ratio: 1/1;
  border: solid 1px #6e6765;
  color: #6e6765;
  font-size: 12px;
  line-height: 1;
  border-radius: 500px;
}

.pagination .page-numbers.current,
.pagination .page-numbers.next,
.pagination .page-numbers.prev {
  background-color: #6e6765;
  color: #fff;
  font-weight: 600;
}

.pagination .page-numbers.prev img {
  width: 25%;
  scale: -1;
}

.pagination .page-numbers.next img {
  width: 25%;
}

/* 投稿ページのレイアウト */
.singlepage {
  padding: clamp(40px, calc(80/1600*100vw), 100px) clamp(20px, calc(60/1600*100vw), 100px);
  max-width: 960px;
  margin-inline: auto;
}

.singlepage .post_head h1 {
  font-size: 27px;
  letter-spacing: 0.05em;
  line-height: 1.25;
}

.singlepage .post_head .post_summary {
  margin-top: 24px;
}

.singlepage .post_head .post-categories {
  display: flex;
  gap: 12px;
  font-size: 12px;
}

.singlepage .post_head .post-categories a {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 3px;
  background-color: #FFEEE0;
  font-size: 12px;
}

.singlepage .post_head .date {
  font-size: 16px;
  text-align: right;
  margin-top: 16px;
}

.singlepage .post_body {}

.singlepage .post_body * {
  margin: .5em auto;
  padding: 0;
  font-size: 14px;
  line-height: calc(24/14);
  letter-spacing: 0.005em;
}

.singlepage .post_body h1 {
  font-size: 27px;
  letter-spacing: 0.05em;
  line-height: 1.25;
}

.singlepage .post_body h2 {
  font-size: 24px;
  padding-bottom: .65em;
  border-bottom: solid 1px #6e6765;
  font-weight: 500;
}

.singlepage .post_body h3 {
  font-size: 21px;
  padding-left: .65em;
  border-left: solid 4px #6e6765;
  font-weight: 500;

}

.singlepage .post_body h4 {
  font-size: 18px;
  letter-spacing: 0.055em;
  font-weight: 600;
  position: relative;
  padding-left: 1em;
}

.singlepage .post_body h4::before {
  content: "";
  display: block;
  width: 8px;
  aspect-ratio: 1/1;
  background-color: #FFA700;
  border-radius: 50%;
  position: absolute;
  top: 12px;
  left: 0;
}

.singlepage .post_body h5 {
  font-size: 16px;
  font-weight: 600;
}

.singlepage .post_body ul.wp-block-list li {
  position: relative;
  padding-left: 1em;
}

.singlepage .post_body ul.wp-block-list li::before {
  content: "";
  display: block;
  width: 5px;
  aspect-ratio: 1/1;
  background-color: #6e6765;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 0;
}

.singlepage .post_body ol.wp-block-list {
  counter-reset: item;
}

.singlepage .post_body ol.wp-block-list li {
  counter-increment: item;
  padding-left: 2em;
  position: relative;
}

.singlepage .post_body ol.wp-block-list li::before {
  content: "0" counter(item) ". ";
  font-size: 82%;
  position: absolute;
  top: 2px;
  left: 0;
  font-weight: bold;
  color: #8B786B;
}

@media only screen and (min-width: 400px) {
  .archive_body {
    margin:40px auto 0;

  }

  .archive_body .article_list {
    gap: 32px 16px;
  }

  .archive_body .article_list li {
   /* width: calc((100% - (16px*1))/2);*/
  }

  .archive_body .article_list .article_summary {
    margin-top: 16px;
  }

  .pagination {
    margin-top: 80px;
  }
}


@media only screen and (min-width: 1640px) {
  .archive_body .article_list {
    gap: 40px;
    max-width: 1160px;
  }

  .archive_body .article_list li {
   /* width: calc((100% - (40px*3))/4);*/
  }

  .singlepage {
    padding-inline: 0;
  }
}

/* サービス詳細ページ用スタイル */
.service-detail {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
}

.service-detail .page-head h1 {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
}

.service-detail .page-content h2 {
  font-size: 1.6rem;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  font-weight: 700;
}

.service-detail .page-content h3 {
  font-size: 1.3rem;
  margin-top: 1.3em;
  margin-bottom: 0.4em;
  font-weight: 700;
}

.service-detail .page-content p {
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 1em;
}

.service-detail .page-content ul {
  padding-left: 1.5em;
  margin-bottom: 1em;
}

.service-detail .page-content ul li {
  list-style: disc;
  margin-bottom: 0.5em;
}

.service-detail-links {

  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
  align-items: center;


}

.service-detail-wrapper {
  max-width: 1080px;
  margin: 4.5em auto 0;
  background: #F0EDEB;
  padding: 30px;
  border-radius:10px;
}

.service-detail-links .btn {
  display: inline-block;
  padding: 0.7em 1.5em;
  border-radius: 25px;
  font-size: 1rem;
  text-align: center;
}

/* モーダル共通スタイル */
.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  font-family: "Noto Sans JP", sans-serif;
}

.c-modal.is-active {
  display: flex;
}

.c-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: opacity .3s ease;
}

.c-modal.is-active .c-modal__overlay {
  opacity: 1;
}

.c-modal__content {
  position: relative;
  background: #fff;
  padding: 30px;
  border-radius: 8px;
  max-width: 960px;
  max-height: 80%;
  width: 90%;
  overflow-y: auto;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity .3s ease, transform .3s ease;
  color: #333;
}

.c-modal.is-active .c-modal__content {
  opacity: 1;
  transform: translateY(0);
}

.c-modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  border: none;
  font-size: 24px;
  line-height: 1;
  color: #666;
  cursor: pointer;
}

/* 記事内のレイアウト微調整 */
.ct_contents {
  font-size: 1rem;
  line-height: 1.7;
}

.ct_contents h2,
.ct_contents h3,
.ct_contents h4,
.ct_contents h5 {
  font-weight: 700;
  margin-top: 1.2em;
  margin-bottom: 0.5em;
}

.ct_contents ol {
  padding-left: 1.5em;
  margin-bottom: 1em;
}

.ct_contents ol li {
  list-style: decimal;
  margin-bottom: 0.3em;
}

/*30年保証についてのスタイル*/
/* =========================================================
 *  Modal Warranty – style v2
 *  2025‑07‑18
 *  ---------------------------------------------------------
 *  改良点
 *    1) フォントサイズを全体的に +2〜4pt 拡大
 *    2) h2/h3/h4/h5 を既存サイトと揃え、余白も調整
 *    3) モーダル内スクロールを安定化
 * ======================================================= */

/* ------------------------------
 *  共通ボタン
 * -------------------------- */
a.btn._ylw {
  display: inline-block;
  padding: 30px 0px;
  background: #FFA700;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  border-radius: 10px;
  text-decoration: none;
  transition: all .3s, box-shadow .3s;
  width: 100%;
  text-align: center;
}

.service-detail-links a.btn._ylw {
  width: auto;
  min-width: 300px;
  background: #6B4C32;
}

a.btn._ylw:hover,
a.btn._ylw:focus {
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .15);
  background: #e28700;
}

/* ------------------------------
 *  モーダル外枠
 * -------------------------- */
.c-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  visibility: hidden;
  pointer-events: none;
}

/* オーバーレイ */
.c-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .65);
  opacity: 0;
  transition: opacity .4s;
}

/* コンテンツ */
.c-modal__content {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(960px, 92vw);
  max-height: 90vh;
  transform: translate(-50%, -50%) scale(.95);
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .25);
  padding: clamp(2rem, 3vw, 3rem);
  opacity: 0;
  transition: opacity .4s, transform .4s;

  /* スクロール改善 */
  overflow-y: auto;
  overscroll-behavior: contain;
  /* iOS で背面スクロール防止 */
  -webkit-overflow-scrolling: touch;
  /* iOS 慣性スクロール */
}

/* クローズボタン */
.c-modal__close {
  position: sticky;
  top: 1.5rem;
  left: 100%;
  width: 3rem;
  height: 3rem;
  font-size: 2.2rem;
  /* × を見やすく */
  line-height: 1;
  color: #999;
  background: none;
  border: none;
  cursor: pointer;
  transition: color .3s, transform .3s;
}

.c-modal__close:hover,
.c-modal__close:focus {
  color: #333;
  transform: rotate(90deg);
}

/* ------------------------------
 *  表示状態
 * -------------------------- */
.c-modal.is-active {
  visibility: visible;
  pointer-events: auto;
}

.c-modal.is-active .c-modal__overlay {
  opacity: 1;
}

.c-modal.is-active .c-modal__content {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* ---------------------------------------------------------
 *  記事部分
 * ------------------------------------------------------ */
.ct_contents {
  font-size: 1.6rem;
  /* ＝16px 相当 */
  line-height: 1.8;
  color: #6B4C32;
}

.ct_contents img.mobile_adjust_full,
.ct_contents img.mobile_adjust_full+hr {
  width: 100%;
  height: auto;
}

/* 見出し */
.ct_contents h2.title_main_txt2r {
  font-size: 2.4rem;
  /* 24px */
  font-weight: 800;
  line-height: 1.4;
  margin: 0 0 2rem;
  text-align: center;
}

.ct_contents h2.title_main_txt2r span {
  display: block;
  font-size: 1.6rem;
  color: #F2B43F;
  margin-bottom: .5em;
}

.ct_contents h3.title_s_500 {
  font-size: 2rem;
  /* 20px */
  margin: 2.5rem 0 1rem;
  border-left: 8px solid #F2B43F;
  padding-left: .8em;
}

.ct_contents h4 img,
.ct_contents h5 {
  max-width: 100%;
}

.ct_contents h5 {
  font-size: 1.8rem;
  /* 18px */
  font-weight: 700;
  margin: 1.5rem 0 .5rem;
}

/* テキスト */
.ct_contents p,
.ct_contents li {
  font-size: 1.6rem;
  /* 16px */
}

.ct_contents .text_b {
  text-align: justify;
}

.ct_contents ol {
  margin: 1rem 0 1rem 1.5em;
  padding-left: .5em;
}

.ct_contents ol li {
  margin-bottom: .6em;
}

.ct_contents hr {
  border: none;
  border-top: 1px solid #e5e5e5;
  margin: 2.4rem 0;
}

/* スクロールバー美化（任意） */
.c-modal__content::-webkit-scrollbar {
  width: 8px;
}

.c-modal__content::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, .25);
  border-radius: 4px;
}



/* ------------------------------
 *  レスポンシブ
 * -------------------------- */
@media(max-width:600px) {
  .c-modal__content {
    padding: 1.6rem;
  }

  .c-modal__close {
    top: 1rem;
    right: 1rem;
  }

  .ct_contents h2.title_main_txt2r {
    font-size: 2rem;
  }

  .ct_contents h3.title_s_500 {
    font-size: 1.8rem;
  }

  .ct_contents h5 {
    font-size: 1.6rem;
  }

  .ct_contents p,
  .ct_contents li {
    font-size: 1.5rem;
  }
}

/* 画像→テキスト見出し */
.heading-img {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.4;
  /* background: #F2B43F; */
  /* color: #fff; */
  padding: 0.5em 1.2em;
  /* border-radius: 8px; */
  display: inline-block;
  margin-bottom: -5px;
  border-left: 8px solid #F2B43F
}

/* 汎用テーブル */
.table_test {
  width: 100%;
  border-collapse: collapse;
  margin: 1.2rem 0 2.4rem;
  font-size: 1.5rem;
}

.table_test thead th {
  background: #8B786B;
  color: #fff;
  padding: 1rem .8rem;
  font-weight: 600;
  border: 1px solid #e5e5e5;
  text-align: center;
}

.table_test tbody th,
.table_test tbody td {
  padding: 1.2rem .8rem;
  border: 1px solid #e5e5e5;
  vertical-align: top;
}

.table_test tbody tr:nth-child(even) {
  background: #F9F7F5;
}

.table_test span {
  display: block;
  font-size: 1.3rem;
  color: #EC6B38;
  margin-top: .3em;
}

/* モバイル調整 */
@media(max-width:600px) {
  .heading-img {
    font-size: 1.6rem;
  }

  .table_test {
    font-size: 1.4rem;
  }
}

/* フッター側閉じるボタン */
.c-modal__close--footer {
  position: static;
  transform: none;
  font-size: 1.6rem;
  margin-top: 2rem;
}

.title_s_850 {
  background: #745c3c;
  text-align: center;
  padding: 10px;
  color: white;
}

.ct_forMobile {
  background: #fff4e1;
  text-align: center;
  padding: 20px;
  margin-bottom: 22px;
}

/* ───────────────────────────
   モーダル固有
───────────────────────────*/
.flow-contents {
  max-width: 900px;
  margin: 0 auto;
  padding: 3rem 2rem 5rem;
  font-size: 1.5rem;
  line-height: 1.8;
}

/* ---------------------------------
   各ステップ(大見出し)
----------------------------------*/


.flow-section__title {
  font-size: 2.0rem;
  font-weight: 700;
  margin-bottom: 2.4rem;
  margin-top: 50px;
}

.flow-section:first-child .flow-section__title {
  margin-top: 0px;
}

.badge-step {
  display: inline-block;
  /* background: #F2B43F; */
  /* color: #fff; */
  /* border-radius: 4px; */
  padding: .15em .6em;
  margin-right: .5em;
  font-size: 1.9rem;
  vertical-align: middle;
  border-left: 10px solid #F2B43F;
  background: #fff7d9;
}

/* ---------------------------------
   小ステップ
----------------------------------*/
.flow-step {
  padding-bottom: 2.8rem;
}

.flow-step:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.flow-step__title {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

.badge-sub {
  display: inline-block;
  background: #EC6B38;
  color: #fff;
  border-radius: 4px;
  padding: .1em .6em;
  margin-right: .4em;
  font-size: 1.4rem;
  vertical-align: middle;
}

/* 本文 */
.flow-step__body {
  /*display: flex;*/
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
  padding: 25px;
  background: #F0EDEB;
}

.flow-step__text {
  flex: 1 1 350px;
  min-width: 260px;
}

.flow-step__note {
  font-size: 1.3rem;
  color: #666;
  margin: 1rem 0 0;
}

.flow-step__body img {
  width: 320px;
  max-width: 100%;
  height: auto;
  flex: 0 0 320px;
  border-radius: 6px;
}

/* サブタイトル & リスト */
.flow-step__subTitle {
  font-weight: 700;
  font-size: 1.5rem;
  margin: 1.8rem 0 .8rem;
  position: relative;
  padding-left: 1.2em;
}

.flow-step__subTitle::before {
  content: "●";
  position: absolute;
  left: 0;
  top: .05em;
  font-size: 1em;
  color: #EC6B38;
}

.flow-list {
  margin: 20px 0 1.5rem 1.2em;
  padding: 0;
  list-style: square;
}

/* 注記 */
.flow-note {
  font-size: 1.35rem;
  color: #666;
  margin-top: 2rem;
  padding-left: 1.5rem;
}

/* フッター側の閉じるボタン */
.flow-footer {
  text-align: center;
  margin-top: 4rem;
}

.c-modal__close--footer {
  position: static;
  transform: none;
  font-size: 1.6rem;
  margin-top: 0;
}

/* ---------------------------------
   レスポンシブ
----------------------------------*/
@media(max-width:600px) {
  .flow-contents {
    padding: 2rem 1.2rem;
  }

  .flow-section__title {
    font-size: 1.8rem;
  }

  .flow-step__title {
    font-size: 1.6rem;
  }

  .badge-step {
    font-size: 1.4rem;
  }

  .badge-sub {
    font-size: 1.3rem;
  }

  .flow-step__body {
    flex-direction: column;
  }

  .flow-step__body img {
    flex: 1 1 auto;
  }

  .flow-step__text {
    flex: 1 1 0px;
  }
}


/* ======================================================
   Construction（施工箇所）モーダル
======================================================*/
.construction-contents {
  max-width: 800px;
  margin: 0 auto;
  padding: 3rem 2rem 5rem;
  font-size: 1.5rem;
  line-height: 1.8;
}

.badge-area {
  display: inline-block;
  background: #8B786B;
  color: #fff;
  border-radius: 4px;
  padding: .15em .6em;
  margin-right: .5em;
  font-size: 1.4rem;
  vertical-align: middle;
}

.construction-title {
  font-size: 1.9rem;
  font-weight: 700;
  margin-bottom: 2rem;
  text-align: center;
}

.construction-hero img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.construction-note {
  text-align: center;
  margin: 1.8rem 0 2.2rem;
}

.construction-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  list-style: none;
  padding: 0;
  margin: 0 auto 3rem;
  max-width: 600px;
}

.construction-list li {
  width: calc(50% - 1rem);
  position: relative;
  padding-left: 1.6em;
}

.construction-list li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: .15em;
  font-size: .9em;
  color: #EC6B38;
}

@media(max-width:600px) {
  .construction-list li {
    width: 100%;
  }

  .construction-title {
    font-size: 1.7rem;
  }
}

/* ボタン横にエリア名を付ける */
.service-detail-links {
  margin: .8rem 0 1.8rem;
}

.service-area-label {
  font-weight: 700;
  margin-right: .8rem;
  font-size: 20px;
  width: 100px;
  text-align: center;
}

/* ────────────────────────────────
   施工箇所モーダル内・サブブロック
──────────────────────────────── */
.construction-sub {
  margin: 3rem 0;
}

.construction-sub__head {
  font-size: 1.7rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  padding-left: 20px;
  ;
  border-left: 10px solid #F2B43F;
}

.construction-sub__body {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
}

.construction-sub__body img {
  width: 425px;
  max-width: 100%;
  height: auto;
  flex: 0 0 425px;
  border-radius: 6px;
}

.construction-sub__list {
  flex: 1 1 260px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.construction-sub__list li {
  position: relative;
  padding-left: 1.4em;
  margin-bottom: .6em;
}

.construction-sub__list li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: .1em;
  font-size: .8em;
  color: #EC6B38;
}

/* ここがポイント！写真横並び */
.construction-point__head {
  font-weight: 700;
  font-size: 1.6rem;
  margin: 3rem 0 1.5rem;
  text-align: center;
}

.construction-point__body {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}

.construction-point__body figure {
  margin: 0;
}

.construction-point__body img {
  width: 340px;
  max-width: 100%;
  height: auto;
  border-radius: 6px;
}

/* レスポンシブ */
@media(max-width:600px) {
  .construction-sub__body {
    flex-direction: column;
  }

  .construction-sub__body img {
    flex: 1 1 auto;
  }
}


.text_annotation {
  padding: 20px;
  background: #F0EDEB;
  margin: 10px 0;
  border-radius: 8px;
}

/* ───────────────────────────
   「水回りバリア」ラインナップ
───────────────────────────*/
.water-lineup {
  margin: 4rem auto 5rem;
  max-width: 1080px;
  width: 90%;
}

.water-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.5rem;
  line-height: 1.7;
}

.water-table th,
.water-table td {
  border: 1px solid #e0e0e0;
  padding: 1.2rem .8rem;
  vertical-align: top;
  width: 20%;
}

.water-table__head {
  background: #8B786B;
  color: #fff;
  font-weight: 600;
  text-align: center;
}

.water-table__head.water-table__task {
  width: 50%;
}

.water-table__icon {
  width: 40px;
  background: #F9F7F5;
}

/* 行の交互色 */
.water-table tbody tr:nth-child(even) {
  background: #F9F7F5;
}

/* バッジ */
.badge-set,
.badge-item {
  display: inline-block;
  border-radius: 4px;
  color: #fff;
  padding: .15em .6em;
  font-weight: 700;
}

.badge-set {
  background: #F2B43F;
}

.badge-item {
  background: #EC6B38;
}

/* ─── モバイル調整 ───*/
@media(max-width:600px) {
  .water-table {
    font-size: 1.4rem;
  }

  /* 作業内容列を折りたたむ */
  .water-table__task.ct_forPC {
 
  }

  .water-table__head.water-table__task {

  }

  /* アイコン列を非表示にして幅確保 */
  .water-table__icon {
 
  }
}

/* ===============================
   採用情報 / パートナー企業様へ ボタン
   =============================== */

/* 共通レイアウト */
header .btnlinks ul li a{
  display:flex;                 /* アイコンと文字を横並び */
  align-items:center;
  justify-content:center;
  gap:16px;                     /* アイコンと文字の間隔 */
  padding:24px 8px;
  font-size:14px;
  font-weight:700;
  border:1px solid #111;        /* 黒フチ */
  border-radius:0 0 10px 10px;
  line-height:1;
  transition:transform .3s, box-shadow .3s;
}

header .btnlinks ul li a:hover{
  transform:translateY(-2px);
  text-decoration:none;
}

/* ---------- 採用情報ボタン ---------- */
.btn_recruit{
  background:#E9B244;           /* 黄土色 (画像に近い値) */
  color:#6B4C32;
}
.btn_recruit::before{
  content:'';
  width:32px;
  aspect-ratio:1/1;
  background:url("../img/ic-recruit.svg") center/90% no-repeat;
}

/* ---------- パートナーボタン ---------- */
.btn_partner{
  background:#2DC464;           /* 鮮やかなグリーン */
  color:#fff;
}
.btn_partner::before{
  content:'';
  width:32px;
  aspect-ratio:1/1;
   background:url("../img/ic-partner.svg") center/90% no-repeat;
}

/* ---------- レスポンシブ (任意) ---------- */
@media (max-width: 520px){
  header .btnlinks ul li a{
    padding:18px 32px;
  font-size:14px;
    gap:12px;
  }
  header .btnlinks ul li a::before{
    width:26px;
  }

  .smkyform_wrap .smf-radio-buttons-control__control {
    margin: 15px;;
  }
}

@media(max-width:1040px) {
.archive_body .article_list li {
  margin: 0 auto;
}
  .subpage .pagetitle_block .main_title_block {
 
  }
  header .btnlinks {
    margin-top: 30px;;
  }
header .btnlinks ul li {
  width: 100%;
}
header .btnlinks ul li a{
  border-radius: 10px;
  width: 100%;
}

header .btnlinks ul .btn_recruit,
header .btnlinks ul .btn_partner {
  width: 100%;
}
}

.subpage p.store_freedial {
  margin-bottom: 15px;
}




/* ▼ モバイル幅（例 768px 以下）でのみ追加 */
@media (max-width: 768px) {
  .service_group .service_sidenav .links_block {
    /* sticky の top:100px を差し引いて計算 */
    max-height: calc(100vh - 100px);
    overflow-y: auto;                   /* 縦スクロールを許可 */
    -webkit-overflow-scrolling: touch;  /* iOS で慣性スクロール */
  }
}


/*プラポリ追加*/

.column-1-cont.privacy table th {
    width: 100%;
    display: block;
    font-weight: bold;
    font-size: 18px;
}

.column-1-cont.privacy table td {
    display: block;
    padding-bottom: 45px;
    font-size: 18px;
}

.column-1-cont table td {
    padding: 10px;
}

a.line1 {
	line-height:1.7;
}