@charset "UTF-8";
/**
スダンダートページ用
2025ホームのボタンデザインなど
**/
@keyframes hide {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes clipPath {
  100% {
    clip-path: inset(0);
  }
}
/**
スダンダートページ用
2025ホームのボタンデザインなど
**/
/*
A modern CSS reset 2023 / 9 / 18
https://github.com/Andy-set-studio/modern-css-reset
*/
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
}

body {
  min-height: 100vh;
  line-height: 1.5;
}

h1, h2, h3, h4, button, input, label {
  line-height: 1.1;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

img, picture {
  max-width: 100%;
  display: block;
}

input, button, textarea, select, option {
  font: inherit;
}

textarea:not([rows]) {
  min-height: 10em;
}

:target {
  scroll-margin-block: 5ex;
}

/**  base  **/
p,
ul,
ol,
h1,
h2,
h3,
figure,
dl,
dd,
button,
pre,
input,
form,
hr {
  margin: 0;
  padding: 0;
}

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

ul,
ol {
  list-style: none;
}

select {
  cursor: pointer;
}

input {
  border: none;
  outline: none;
  font-size: inherit;
}
input:focus::placeholder {
  color: transparent;
}

img,
video {
  max-width: 100%;
  vertical-align: bottom;
  line-height: 1;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
  color: currentColor;
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  button:hover {
    opacity: 0.5;
  }
}

a {
  color: currentColor;
  text-decoration: none;
  transition: opacity 0.2s ease-in-out;
}
@media (hover: hover) {
  a:hover {
    opacity: 0.5;
  }
}

[x-cloak],
[v-cloak] {
  display: none !important;
}

*:focus {
  outline: none;
}

/**
スダンダートページ用
2025ホームのボタンデザインなど
**/
.pc_space {
  display: none;
}
@media (min-width: 600px) {
  .pc_space {
    display: inline-block;
  }
}

@media (min-width: 600px) {
  .device-sp {
    display: none;
  }
}

.device-pc {
  display: none;
}
@media (min-width: 600px) {
  .device-pc {
    display: block;
  }
}

br {
  display: none;
}
@media (min-width: 600px) {
  br {
    display: block;
  }
}
br.br {
  display: block;
  margin-bottom: 1em;
}

a[target=_blank]::after {
  margin: 0 3px 0 1px;
  font-family: "Hobonichi-Icons";
  content: "\e914";
  font-size: 85%;
  position: relative;
  top: -3px;
}

html {
  scroll-behavior: smooth;
  font-size: 62.5%;
}

body {
  font-size: 1.5rem;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 400;
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
  color: #3e3e3e;
  background-color: #fff;
}
body.scroll-rock {
  overflow: hidden;
}
@media (min-width: 992px) {
  body {
    font-size: 1.6rem;
  }
}

/**
スダンダートページ用
2025ホームのボタンデザインなど
**/
.btn {
  border: 1px solid #D9D9D9;
  border-radius: 4em;
  padding: 0.5em 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
}

.btn-more {
  color: #939393;
  width: min(72%, 24rem);
  font-size: 1.8rem;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 992px) {
  .btn-more {
    font-size: 1.2rem;
    width: fit-content;
    margin-right: initial;
    margin-left: initial;
    padding-left: 3em;
    padding-right: 3em;
  }
}
@media (min-width: 992px) {
  .btn-more {
    display: none;
  }
}

.btn-arrow {
  padding: 0.4em 0.8em;
  border-radius: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  font-weight: 600;
}
.btn-arrow::after {
  content: "";
  background-color: #005588;
  display: block;
  width: 1em;
  height: 1em;
  mask: url("../images/icons/arrow-tail.svg");
  mask-size: cover;
}

.btn-apply {
  background-color: #837373;
  color: #fff;
  padding: 0.6rem;
  box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.25) inset;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  font-size: 1.5rem;
  font-weight: 700;
  height: 4.2rem;
  border-radius: 0 0.8rem 0.8rem 0;
  padding: 0.6rem 2.4rem;
}

.btn-icon {
  background-color: #837373;
  color: #fff;
  padding: 0.6rem;
  box-shadow: 0px -2px 0px 0px rgba(0, 0, 0, 0.25) inset;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  font-size: 1.5rem;
  font-weight: 700;
}
.btn-icon:after, .btn-icon:before {
  display: block;
  width: 2em;
  height: 2em;
  background-size: cover;
}
.btn-icon-list {
  padding: 0.6rem 0.8rem 0.6rem 1.6rem;
  border-radius: 4em;
}
.btn-icon-list:after {
  content: "";
  background-image: url(../images/icons/circle-list.svg);
}
.btn-icon-prev {
  padding: 0.6rem 1.6rem 0.6rem 0.8rem;
  border-radius: 4em 0 0 4em;
}
.btn-icon-prev:before {
  content: "";
  background-image: url(../images/icons/circle-arrow.svg);
  transform: rotate(180deg);
}
@media (min-width: 600px) {
  .btn-icon-prev {
    border-radius: 4em;
  }
}
.btn-icon-next {
  padding: 0.6rem 0.8rem 0.6rem 1.6rem;
  border-radius: 0 4em 4em 0;
}
.btn-icon-next:after {
  content: "";
  background-image: url(../images/icons/circle-arrow.svg);
}
@media (min-width: 600px) {
  .btn-icon-next {
    border-radius: 4em;
  }
}
.btn-icon-disabled {
  background-color: #D9D9D9;
  pointer-events: none;
}

/**
スダンダートページ用
2025ホームのボタンデザインなど
**/
input {
  position: relative;
}
input::-webkit-search-cancel-button {
  appearance: none;
  height: 1em;
  width: 1em;
  background-image: url("../images/icons/cross.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: 0.5;
  position: relative;
  left: 0.8rem;
}

.search-input-wrapper {
  position: relative;
}
.search-input-wrapper input[type=search] {
  padding: 0.8rem 1.6rem 0.8rem 4rem;
  border-radius: 3em;
}

/**
スダンダートページ用
2025ホームのボタンデザインなど
**/
.link-arrow {
  display: flex;
  align-items: center;
  line-height: 1;
}
.link-arrow::after {
  font-family: "Hobonichi-Icons";
  content: "\e917";
  font-size: 1.6em;
  display: block;
  position: relative;
}
@media (min-width: 992px) {
  .link-arrow::after {
    top: 1px;
  }
}

.link-arrow-tail {
  padding: 0.4em 0.8em;
  border-radius: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  width: fit-content;
}
@media (min-width: 992px) {
  .link-arrow-tail {
    font-size: 1.4rem;
  }
}
.link-arrow-tail::after {
  content: "";
  background-color: currentColor;
  display: block;
  width: 1em;
  height: 1em;
  mask: url("../images/icons/arrow-tail.svg");
  mask-size: cover;
  vertical-align: middle;
}

.link-arrow-tail-prev {
  padding: 0.4em 0.8em;
  border-radius: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  width: fit-content;
}
@media (min-width: 992px) {
  .link-arrow-tail-prev {
    font-size: 1.4rem;
  }
}
.link-arrow-tail-prev::before {
  content: "";
  background-color: currentColor;
  display: block;
  width: 1em;
  height: 1em;
  mask: url("../images/icons/arrow-tail.svg");
  mask-size: cover;
  vertical-align: middle;
  transform: rotate(180deg);
}

/**
スダンダートページ用
2025ホームのボタンデザインなど
**/
.section {
  display: grid;
  gap: 0.8rem;
  width: min(calc(100% - 1.6rem * 2), 114rem);
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 600px) {
  .section {
    width: min(calc(100% - 4rem * 2), 114rem);
  }
}
@media (min-width: 992px) {
  .section {
    gap: 1.6rem;
  }
}

.section-full {
  display: grid;
  gap: 0.8rem;
  width: 100%;
  max-width: 100vw;
}
@media (min-width: 992px) {
  .section-full {
    gap: 1.6rem;
  }
}
.section-full .section-inner {
  width: min(calc(100% - 1.6rem * 2), 114rem);
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 600px) {
  .section-full .section-inner {
    width: min(calc(100% - 4rem * 2), 114rem);
  }
}

.section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 600;
  padding-bottom: 0.8rem;
}
@media (min-width: 992px) {
  .section-title {
    padding-bottom: 1.6rem;
  }
}
.home .section-title, .yomumiru .section-title {
  border-bottom: 1px solid #D9D9D9;
}
.section-title h2 {
  font-size: 2rem;
  font-weight: 600;
}
.section-title .btn-arrow {
  background-color: #DBF2FF;
  color: #005588;
  font-size: 1rem;
}
@media (min-width: 992px) {
  .section-title .btn-arrow {
    font-size: 1.4rem;
  }
}
.section-title .btn-arrow::after {
  background-color: #005588;
}
.section-title.has-icon h2 {
  display: flex;
  align-items: center;
  gap: 0.2em;
}
.section-title.has-icon h2:before {
  content: "";
  width: 1.25em;
  height: 1.25em;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.section-title.has-icon svg {
  width: 3.2rem;
  height: 3.2rem;
}
@media (min-width: 992px) {
  .section-title.has-icon svg {
    width: 4rem;
    height: 4rem;
  }
}

.section-search-wrapper {
  display: flex;
  flex-direction: column;
}
@media (min-width: 600px) {
  .section-search-wrapper {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 2.4rem;
    margin-bottom: 2.4rem;
  }
}
.section-search-wrapper .section-title {
  padding-bottom: 1.6rem;
}
@media (min-width: 600px) {
  .section-search-wrapper .section-title {
    padding-bottom: 0;
  }
}

/**
スダンダートページ用
2025ホームのボタンデザインなど
**/
.select-wrapper {
  position: relative;
  border: 1px solid #D9D9D9;
  background-color: #fff;
  border-radius: 0.4rem;
  width: fit-content;
}
.select-wrapper select {
  width: 100%;
  border: 0;
  appearance: none;
  background: url("../images/icons/search-sort.svg") no-repeat right 0.5em center;
  background-size: 1em;
  padding: 0.5em;
  padding-right: 2em;
  color: currentColor;
}

/**
スダンダートページ用
2025ホームのボタンデザインなど
**/
.standard {
  background-color: #FFFDE2;
}
.standard .section {
  background-color: #fff;
  margin-top: 10rem;
  width: min(calc(100% - 0px * 2), 98rem);
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 600px) {
  .standard .section {
    width: min(calc(100% - 4rem * 2), 98rem);
  }
}
.standard .section-hero img {
  width: 100%;
}
.standard .section-main {
  width: calc(100% - 2em);
  max-width: fit-content;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 2rem;
}
@media (min-width: 600px) {
  .standard .section-main {
    margin-bottom: 6rem;
    margin-top: 2rem;
  }
}
.standard .section-inner {
  max-width: 50rem;
  margin-right: auto;
  margin-left: auto;
}
.standard p {
  margin-bottom: 1em;
}
.standard a:not(.btn) {
  color: #1979B9;
  text-decoration: underline;
}
.standard .btn {
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
}
.standard .bottom-wrapper {
  margin-top: 2em;
  margin-bottom: 2em;
}
.standard ol {
  list-style: decimal;
  margin-left: 1em;
}
.standard ol li {
  margin-bottom: 1em;
}
.standard .text-right {
  text-align: right;
}
.standard .m-left-auto {
  margin-left: auto;
  width: fit-content;
}

.standard-title {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1em;
  margin-top: 2em;
}

.standard-title-small {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 1em;
  margin-top: 2em;
}