@charset "UTF-8";

/*
 * 公開サイト（www）の CSS の入口。モックと同じく reset → style の順に読み、追加分の additions.css をその後に置く。
 * reset.css と style.css はモックのまま（画像の url() だけ相対パスを /images/ に置き換えた）。
 * jQuery 系の部品（slick・jQuery UI・modaal）の CSS は、それを使う JS（resources/js/front/*.js）で読み込む。
 * レイアウトでは @vite の front.css を front.js より先に書くので、部品の CSS はモックと同じく style.css より後に来る。
 */

/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
  box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

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

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

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

/* # =================================================================
   # General elements
   # ================================================================= */

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

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

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

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

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

abbr[title] {
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

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

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

b,
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */

input {
  border-radius: 0;
}

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

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

[type="number"] {
  width: auto; /* Firefox 36+ */
}

[type="search"] {
  -webkit-appearance: textfield; /* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; /* Safari 8 */
}

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

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

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

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

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

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

button,
html [type="button"], /* Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

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

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

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

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

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

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

/* # =================================================================
   # Specify media element style
   # ================================================================= */

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

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

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */

/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

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

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

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

/* # =================================================================
   # Selection
   # ================================================================= */

/* Specify text selection background color and omit drop shadow */

::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

html {
  scroll-behavior: smooth;
}

html,
body {
  font-size: 62.5%;
  width: 100%;
  margin: 0;
  padding: 0;
}

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

* {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}

body {
  background-color: #f5f5f5;
  color: #151515;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-x: hidden;
}

ul,
li {
  list-style-type: none;
}

a {
  text-decoration: none;
  cursor: pointer;
  color: #151515;
  transition: .3s;
}

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

.en {
  font-family: "Montserrat", sans-serif;
}

.wrapper {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  min-height: 100vh;
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-color: #fff;
}

/* header --------------------------------------------*/
.header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
  background-color: #fff;
  height: 77px;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}

.page-width {
  margin: 0 auto;
  padding: 0 2rem;
}

.header-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 77px;
}

.header-logo {
  max-width: 80px;
  width: 100%;
  z-index: 999;
}

.header-logo a {
  display: block;
}

.header-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.header-info {
  display: flex;
  align-items: center;
  gap: 2rem;
  z-index: 999;
}

.header-login a {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.login-txt {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
}

.icon-login {
  width: 30px;
}

.icon-login img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hamburger {
  display: block;
  position: relative;
  width: 41px;
  height: 28px;
  z-index: 999;
}

.hamburger span {
  position: absolute;
  right: 0;
  transition: 0.3s;
}

.hamburger span:nth-child(1),
.hamburger span:nth-child(2) {
  height: 1px;
  background: #151515;
}

.hamburger span:nth-child(1) {
  top: 0;
  width: 34px;
}

.hamburger span:nth-child(2) {
  top: 10px;
  width: 40px;
}

.hamburger span:nth-child(3) {
  bottom: 0;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  display: inline-block;
}

.hamburger.active span:nth-child(1) {
  transform: rotate(20deg);
  top: 4px;
  width: 40px;
}

.hamburger.active span:nth-child(2) {
  transform: rotate(-20deg);
  top: 4px;
}

.header-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  transition: 0.3s;
  z-index: 10;
  opacity: 0;
  padding: 13rem 20px 5rem;
  display: none;
}

.header-nav.active {
  opacity: 1;
  display: block;
}

.nav-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 4rem 0;
}

.nav-item {
  width: 50%;
}

.nav-link {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.nav-btn {
  margin-top: 7rem;
}

.btn {
  background-color: #094B95;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 58px;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  position: relative;
  text-align: center;
  z-index: 1;
}

.btn:before {
  content: "";
  display: inline-block;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  right: 0;

}

.detail-btn:before {
  width: 104px;
  height: 67px;
  background-image: url('/images/btn-search.png');
}

.btn span {
  z-index: 1;
}

.nav-policy {
  margin-top: 4rem;
  display: flex;
  gap: 4rem;
}

.nav-policy a {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
}

.main {
  margin: 10rem 0 5rem;
}

/*  search-------------------------------------------------*/
.search-input {
  position: relative;
}

.search-input::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 17px;
  height: 17px;
  background: url(/images/icon-search.svg) no-repeat center / contain;
  pointer-events: none;
}

.search-input input {
  box-sizing: border-box;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  background: none;
  padding: 1.5rem 2rem 1.5rem 4.5rem;
  -webkit-appearance: none;
  margin: 0;
  border: 1px solid #cecece;
  border-radius: 999px;
  width: 100%;
}

.search-input input::placeholder {
  color: #cecece;
}

.search-category {
  margin-top: 1.6rem;
}

.btn-flex {
  margin-top: 0.8rem;
  display: flex;
  gap: 0.8rem;
}

.btn-flex .btn {
  width: calc((100% - 1.6rem)/3);
}

.near-btn {
  background-color: #01AB99;
}

.area-btn {
  background-color: #DC4B22;
}

.date-btn {
  background-color: #094B95;
}

.category-btn {
  background-color: #02722E;
}

.search-category .btn {
  align-items: flex-start;
  justify-content: flex-start;
  padding: 1rem 0 0 0.7rem;
  font-size: 1.4rem;
}

.near-btn:before {
  width: 132px;
  height: 66px;
  background-image: url('/images/btn-near.png');
}

.area-btn:before {
  width: 67px;
  height: 67px;
  background-image: url('/images/btn-area.png');
}

.date-btn:before {
  width: 67px;
  height: 67px;
  background-image: url('/images/btn-day.png');
}

.category-btn:before {
  width: 67px;
  height: 67px;
  background-image: url('/images/btn-category.png');
}

/*  top-near-------------------------------------------------*/
.section {
  margin-top: 3rem;
}

.section-ttl {
  margin-bottom: 1.6rem;
}
.section-ttl h1,
.section-ttl h2,
.section-ttl h3 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
}

.section-ttl p {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.3;
  margin-top: 0.5rem;
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1rem 0.8rem;
}

.tag-slider .tag-item {
  margin-right: 0.8rem;
}

.tag-slider .slick-list {
  overflow: visible;
}

.tag-item a,
.tag-item span {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  padding: 0.6rem 1.4rem 0.6rem 3.4rem;
  border: 1px solid #b1b1b1;
  border-radius: 999px;
  position: relative;
  background: #fff;
}

.tag-item a:before,
.tag-item span:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #b1b1b1;
  width: 20px;
  height: 20px;
  left: 10px;
}

.tag-umi a:before,
.tag-umi span:before {
  -webkit-mask-image: url(/images/icon-umi.svg);
  mask-image: url(/images/icon-umi.svg);
}

.tag-yama a:before,
.tag-yama span:before {
  -webkit-mask-image: url(/images/icon-yama.svg);
  mask-image: url(/images/icon-yama.svg);
}

.tag-kawa a:before,
.tag-kawa span:before {
  -webkit-mask-image: url(/images/icon-kawa.svg);
  mask-image: url(/images/icon-kawa.svg);
}

.tag-sora a:before,
.tag-sora span:before {
  -webkit-mask-image: url(/images/icon-sora.svg);
  mask-image: url(/images/icon-sora.svg);
}

.tag-snow a:before,
.tag-snow span:before {
  -webkit-mask-image: url(/images/icon-snow.svg);
  mask-image: url(/images/icon-snow.svg);
}

.tag-tour a:before,
.tag-tour span:before {
  -webkit-mask-image: url(/images/icon-tour.svg);
  mask-image: url(/images/icon-tour.svg);
}

.tag-cycling a:before,
.tag-cycling span:before {
  -webkit-mask-image: url(/images/icon-cycling.svg);
  mask-image: url(/images/icon-cycling.svg);
}

.tag-tsuri a:before,
.tag-tsuri span:before {
  -webkit-mask-image: url(/images/icon-tsuri.svg);
  mask-image: url(/images/icon-tsuri.svg);
}

.tag-music a:before,
.tag-music span:before {
  -webkit-mask-image: url(/images/icon-music.svg);
  mask-image: url(/images/icon-music.svg);
}

.tag-relax a:before,
.tag-relax span:before {
  -webkit-mask-image: url(/images/icon-relax.svg);
  mask-image: url(/images/icon-relax.svg);
}

.tag-golf a:before,
.tag-golf span:before {
  -webkit-mask-image: url(/images/icon-golf.svg);
  mask-image: url(/images/icon-golf.svg);
}

.tag-gourmet a:before,
.tag-gourmet span:before {
  -webkit-mask-image: url(/images/icon-gourmet.svg);
  mask-image: url(/images/icon-gourmet.svg);
}

.tag-hotel a:before,
.tag-hotel span:before {
  -webkit-mask-image: url(/images/icon-hotel.svg);
  mask-image: url(/images/icon-hotel.svg);
}

.card-list {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}

.top-near .card-list {
  margin-top: 2.6rem;
}

.card-slider .card-item {
  margin-right: 2rem;
}

.card-slider .slick-list {
  overflow: visible;
}

.card-item {
  width: calc((100% - 3rem)/2);
}

.card-item a {
  display: block;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}

.card-img {
  position: relative;
}

.card-img img {
  aspect-ratio: 1 / 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-area {
  position: absolute;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  background-color: #04AB99;
  bottom: 0.7rem;
  left: 0.7rem;
  padding: 0.4rem 0.5rem;
  border-radius: 3px;
}

.card-info {
  padding: 0.6rem 1.1rem 1.5rem;
}

.card-ttl {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.42;
  margin-bottom: 0.5rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

.card-price {
  text-align: right;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.42;
}

.prev-arrow,
.next-arrow {
  display: block;
  width: 23px;
  height: 23px;
  background: #04AB99;
  border: 1px solid #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.prev-arrow {
  left: -12px;
}

.next-arrow {
  right: -12px;
}

.prev-arrow::before,
.next-arrow::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  top: 0;
  bottom: 0;
  margin: auto;

}

.prev-arrow::before {
  border-left: 2px solid #FFF;
  border-top: 2px solid #FFF;
  transform: rotate(-45deg);
  left: 8px;
}

.next-arrow::before {
  border-right: 2px solid #FFF;
  border-top: 2px solid #FFF;
  transform: rotate(45deg);
  right: 8px;
}

.all-btn {
  margin-top: 2.3rem;
  text-align: right;
}

.all-btn a,
.all-btn span {
  background-color: #fff;
  border-radius: 999px;
  display: inline-block;
  padding: 0.6rem 1.6rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  border: 1px solid #b1b1b1;
  position: relative;
  text-align: center;
  z-index: 1;
  margin: 0 0 0 auto;
}

/*  top-editor-------------------------------------------------*/
.top-section {
  border-top: 1px solid #cecece;
  padding-top: 3rem;
}

.banner-slider .slick-list {
  overflow: visible;
}

.banner-slider .slick-list {
  margin: 0 -10px;
}

.banner-slider .slick-slide {
  margin: 0 10px;
}

.banner-item a {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
}

.banner-item a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 140 / 89;
}

.banner-slider .prev-arrow,
.banner-slider .next-arrow,
.furusato-slider .prev-arrow,
.furusato-slider .next-arrow {
  width: 40px;
  height: 40px;
}

.banner-slider .prev-arrow,
.furusato-slider .prev-arrow {
  left: -11px;
}

.banner-slider .next-arrow,
.furusato-slider .next-arrow {
  right: -11px;
}

.banner-slider .prev-arrow::before,
.banner-slider .next-arrow::before,
.furusato-slider .prev-arrow::before,
.furusato-slider .next-arrow::before {
  width: 10px;
  height: 10px;
}

.banner-slider .prev-arrow::before,
.furusato-slider .prev-arrow::before {
  left: 16px;
}

.banner-slider .next-arrow::before,
.furusato-slider .next-arrow::before {
  right: 16px;
}

/*  top-furusato-------------------------------------------------*/
.furusato-slider .slick-track {
  display: flex!important;
}

.furusato-slider .slick-slide {
  height: auto!important;
}
.furusato-item{
  display: flex;
  flex-direction: column;
}
.furusato-item a {
    height: 100%;
}
.furusato-img img {
  aspect-ratio: 83 / 68;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.furusato-info {
  padding: 3.7rem 1.1rem 1.5rem;
  position: relative;
  flex-grow: 1;
}

.furusato-circle {
  position: absolute;
  width: 104px;
  height: 104px;
  background-color: #fff;
  border-radius: 999px;
  top: -52px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  padding-bottom: 0.5rem;
}

.furusato-circle .num {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  color: #DC4B22;
}

.furusato-circle .txt {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  color: #DC4B22;
}

.furusato-ttl {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.42;
  margin-bottom: 0.6rem;
  z-index: 1;
  position: relative;
  text-align: center;
}

.furusato-txt {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  z-index: 1;
  position: relative;
  flex-grow: 1;
}

.bottom-btn {
  margin-top: 3.7rem;
}

/*  bottom-sheet-------------------------------------------------*/

.bottom-sheet {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .4);
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  z-index: 999;
}

body.is-fixed {
  overflow: hidden;
  height: 100dvh;
  touch-action: none;
}

.bottom-sheet-inner {
  position: absolute;
  left: 50%;
  right: 0;
  bottom: 0;
  width: calc(100% + 4px);
  background: #fff;
  border-radius: 40px 40px 0 0;
  transform:translateX(-50%) translateY(100%);
  transition: transform .3s;
  border-top: 2px solid #04AB99;
  border-right: 2px solid #04AB99;
  border-left: 2px solid #04AB99;
  display: flex;
  flex-direction: column;
  max-height: 85dvh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 500px;
}

.bottom-sheet.active {
  opacity: 1;
  visibility: visible;
}

.bottom-sheet.active .bottom-sheet-inner {
  transform: translateX(-50%) translateY(0);
}

.sheet-header {
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 10;
}

.sheet-header-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 0;
}

.sheet-ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.sheet-close {
  width: 39px;
  height: 39px;
  border-radius: 999px;
  background-color: #01AB99;
  position: relative;
  display: block;
}

.sheet-close::before,
.sheet-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 18px;
  background: #fff;
}

.sheet-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.sheet-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.sheet-main {
  padding: 1rem 0 3.4rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.select-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 1.3rem;
  margin-top: 1.2rem;
}

.select-item {
  position: relative;
  width: calc((100% - 1.3rem)/2);
}

.select-icon {
  position: absolute;
  display: block;
  width: 17px;
  height: 8px;
  top: 50%;
  right: 16px;
  transform: translate3d(0, -50%, 0);
  pointer-events: none;
}
.date-icon{
  width: 23px;
  height: 23px;
  right: 10px;
}
.select-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.select-area,
.select-date {
  width: 100%;
  border-radius: 10px;
  border: 1px solid #b1b1b1;
  font-size: 1.4rem;
  font-weight: 400;
  padding: 0.9rem 1.6rem;
  background-color: #fff;
}

.select-date::placeholder {
  color: #151515;
}

.sheet-block {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #cecece;
}

.category-check {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 3rem;
}

.checkbox {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: 400;
}

.checkbox input {
  display: none;
}

.checkbox span {
  width: 21px;
  height: 21px;
  border: 1px solid #b1b1b1;
  border-radius: 5px;
  background: #fff;
  transition: .2s;
  position: relative;
  flex-shrink: 0;
}

.checkbox input:checked+span {
  background: #04AB99;
  border-color: #04AB99;
}

.checkbox input:checked+span::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 4px;
  width: 6px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.tag-item input {
  display: none;
}

.tag-item input:checked+span {
  background: #04AB99;
  color: #fff;
  border: 1px solid #04AB99;
}

.tag-item input:checked+span:before {
  background-color: #fff;
}

.main-btn {
  background-color: #04AB99;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 62px;
  width: 100%;
  max-width: 248px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  position: relative;
  text-align: center;
  z-index: 1;
  border: 2px solid #fff;
  margin: 0 auto;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.16);
}

/*  area-------------------------------------------------*/
.area-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1rem 0.9rem;
  margin-bottom: 2.4rem;
}

.area-item {
  width: calc((100% - 1.8rem)/3);
}

.area-item a {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  position:relative;
}

.area-item a img {
  width: 100%;
  height: 100%;
  aspect-ratio: 57 / 29;
  object-fit: cover;
}
.area-item a:before{
  content: "";
  position: absolute;
  top: 0;  bottom: 0;
  left: 0;  right: 0;
  background: #000;
  opacity:0.4;
}
.area-txt{
  position: absolute;
  top:0.6rem;
  left: 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  color:#fff;
}
.b-none{
  border: none;
}
.bottom-sheet-date .select-item-date{
  margin:0 auto;
}
/*  result-------------------------------------------------*/
.result-flex{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap:2rem;
  margin-bottom: 3rem;
}
.result-txt{
  font-size: 1.2rem;
  font-weight: 400;
}
.select-sort{
    font-size: 1.2rem;
  font-weight: 400;
  width: fit-content;
  text-align: left;
}
/*  area-------------------------------------------------*/
.area-header .furusato-img img {
    aspect-ratio: 402 / 227;
}
.area-header .furusato-info {
    padding: 0.5rem 0 0 0;
}
.favorite-flex{
  display: flex;
  gap: 0.3rem;
  align-items: center;
  justify-content: flex-end;
}
.favorite-txt{
  font-size: 1rem;
  font-weight: 700;
}
.favorite-icon{
  vertical-align: text-bottom;
}
.favorite-icon path {
  fill: #fff;
  stroke: #B1B1B1;
  transition: .2s;
}

.favorite-btn.is-active .favorite-icon path {
  fill: #04AB99;
  stroke: #04AB99;
}
.area-header .furusato-ttl {
    font-size: 2rem;
    margin:1rem 0;
}
.area-header .furusato-txt {
    font-size: 1.4rem;
    line-height: 1.7;
    padding:0 2.4rem;
}
.tab-result{
  margin-top: 2.3rem;
}
.tabs{
  display: flex;
  margin-bottom: 2.8rem;
}
.tab-btn{
  width: calc(100% / 3);
  font-size: 1.6rem;
  font-weight: 700;
  color: #CECECE;
  text-align: center;
  border-bottom: 4px solid #CECECE;
  padding-bottom: 0.9rem;
}
.tab-content {
  display: none;
}

.tab-content.is-active {
  display: block;
}

.tab-btn.is-active {
  color: #04AB99;
  border-bottom: 4px solid #04AB99;
}
.tab-sort{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2.8rem;
}
.tab-sort .all-btn,
.tab-sort .result-flex{
  margin: 0;
}
.map .result-flex {
    margin-bottom: 1.3rem;
}
.map-area iframe{
  width: 100%;
  height: 100%;
  aspect-ratio: 67 / 112;
}
/*  editor-------------------------------------------------*/
.article-item{
  border-top: 1px solid #CECECE;
  padding-top: 2.4rem;
  margin-bottom: 2.4rem;
}
.article-item:last-child{
border-bottom: 1px solid #CECECE;
padding-bottom: 2.4rem;
}
.eyecatch{
  margin-bottom: 3rem;
}
.eyecatch img{
  width: 100%;
  height: 100%;
}
.editor .card-list{
  margin-top: 2.7rem;
}
/*  activity-------------------------------------------------*/
.activity-info{
  width: calc(100% + 4px);
  border-radius: 40px 40px 0 0;
  border-top: 2px solid #04AB99;
  border-right: 2px solid #04AB99;
  border-left: 2px solid #04AB99;
  margin-left: -2px;
  margin-right: -2px;
}
.activity .sheet-header-flex{
  padding:2rem 0 1rem;
}
.activity-area{
  font-size: 1.4rem;
  font-weight: 500;
  background-color: #04AB99;
  color:#fff;
  border-radius: 5px;
  padding:0.3rem 1rem;
}
.activity-ttl{
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1.4rem;
}
.thumbnail-img img{
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.sub-slider{
  margin-top: 0.9rem;
}
.sub-slider .slick-list {
  margin: 0 -5px;
}
.sub-slider .slick-slide {
  margin: 0 5px;
}
.review-price{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin:1.5rem 0 2.4rem;
}
.activity-review,
.activity-review a{
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.review-star{
  display: flex;
  gap: 0.2rem;
}
.star-icon{
  width: 14px;
  height: 14px;
}
.star-icon svg{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.star-icon.gray  path{
  fill:#cecece;
}
.review-num{
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}
.activity-price{
  display: flex;
  align-items: center;
  gap:0.5rem;
}
.activity-price .txt{
  font-size: 1.4rem;
  font-weight: 500;
  color: #b1b1b1;
  line-height: 1;
}
.activity-price .price{
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}
.activity-btn{
  display: flex;
  justify-content: center;
  gap: 3rem;
}
.activity-btn a{
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap:1rem;
  height: 44px;
  width: calc((100% - 3rem)/2);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  position: relative;
  text-align: center;
  z-index: 1;
}
.cart-btn{
  background-color: #04AB99;
}
.buy-btn{
  background-color: #DC4B22;
}
.mail-btn{
  background-color: #6C9FBF;
}
.faq-btn{
  background-color: #4F93CF;
}
.activity .tab-btn{
  width: calc(100% / 2);
}
.info-img{
  margin: 2rem 0;
}
.info-img img{
  width: 100%;
  height: 100%;
}
.info-block{
  padding-bottom: 2.4rem;
  margin-bottom: 2.4rem;
  border-bottom: 1px solid #cecece;
}
.info-table{
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.info-table tr{
  display: flex;
  gap:1rem;
  padding: 1rem 0 1rem 1rem;
  border-bottom: 1px solid #04AB99;
  text-align: left;
}
.info-table tr:first-child{
   border-top: 1px solid #04AB99;
}
.info-table th{
  font-size: 1.4rem;
  font-weight: 400;
  color: #04AB99;
  width: 9rem;
}
.info-table td{
  font-size: 1.4rem;
  font-weight: 400;
  width: calc(100% - 10rem);
}
.tab-review-head{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.tab-review-head .section-ttl{
  margin: 0;
}
.star-head{
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  color: #b1b1b1;
}
.review-list{
  margin: 2rem 0 3.6rem;
  border-bottom: 1px solid #cecece;
}
.review-item{
  padding: 1.8rem 2rem 1.8rem 0;
  border-top: 1px solid #cecece;
}
.review-user{
  margin-bottom: 0.5rem;
}
.user-link{
  display: flex;
  align-items: center;
  gap:1rem;
}
.user-icon{
  width: 43px;
  height: 43px;
  border-radius: 999px;
  overflow: hidden;
}
.user-icon img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.user-info .name{
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
}
.user-tag{
    margin-top: 0.3rem;
  display: flex;
  gap: 0.6rem;
}
.user-tag li{
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  border-radius: 5px;
  padding: 0.4rem 1.6rem;
  color:#fff;
  position:relative;
}
.user-tag .nintei{
  background-color: #04AB99;
  padding: 0.4rem 0.6rem 0.4rem 2.7rem;
}
.user-tag .nintei:before{
  content: "";
  position: absolute;
  left: 9px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background: url(/images/icon-nintei.svg) no-repeat center / contain;
}
.user-tag .bronze{
  background-color: #D08B4F;
}
.user-tag .silver{
  background-color: #acacac;
}
.user-tag .gold{
  background-color: #E0B32B;
}
.review-day{
  font-size: 1.2rem;
  font-weight: 400;
  color: #b1b1b1;
}
.review-txt{
  position:relative;
   margin-bottom: 1rem;
}
.review-txt:before{
  content: "";
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 13px;
  height: 13px;
  background: url(/images/arrow-right.svg) no-repeat center / contain;
}
.review-txt p{
    font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}
.review-img{
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.review-img .modaal{
  width: calc((100% - 4.2rem)/7);
  border-radius: 5px;
  display: block;
  overflow:hidden ;
}
.review-img .modaal img{
  width: 100%;
  height: 100%;
  aspect-ratio: 1 /1;
  object-fit: cover;
}
.good-flex{
  margin-top: 1.6rem;
  display: flex;
  gap: 1.1rem;
  align-items: center;
}
.good-btn{
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  border-radius: 999px;
  border:1px solid #151515;
  padding: 0.5rem 1rem;
  background-color: #fff;
  transition: .2s;
}
.good-btn.is-active{
  background-color: #04AB99;
   border:1px solid #04AB99;
   color: #fff;
   transition: .2s;
}
.count{
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  padding-left: 22px;
  position:relative;
  transition: .2s;
}
.count:before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 17px;
  height: 17px;
  background: url(/images/icon-good.svg) no-repeat center / contain;
}
.activity-recommend{
  margin-top: 7rem;
  border-top: 2px solid #04AB99;
  padding-top: 5rem;
}
/*  review-form-------------------------------------------------*/
.back-btn{
  margin-bottom: 2.4rem;
}
.back-btn a{
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  color:#707070;
}

.review-label {
  display: block;
  margin:2.4rem 0 0.7rem;
  font-size: 1.6rem;
  font-weight: 400;
}

textarea {
  width: 100%;
  height: 234px;
  padding: 1.5rem;
  border: 1px solid #b1b1b1;
  border-radius: 10px;
  resize: vertical;
  font-family: inherit;
  outline: none;
}
.upload-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.upload-box {
  position: relative;
  width: calc((100% - 3rem)/4);
  height: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 5px;
  background: #eeeeee;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}
.upload-box:before {
  content: "";
  position: absolute;
  right: -5px;
  bottom:-5px;
  width: 22px;
  height: 22px;
  background: url(/images/icon-plus.svg) no-repeat center / contain;
}
.upload-icon{
  width: 42px;
}
.upload-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.form-btn{
  margin-top: 5rem;
}
.review-area{
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  background-color: #DC4B22;
  border-radius: 5px;
  padding: 0.4rem 0.5rem;
}
.tab-review-head .area-day{
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.good-flex .txt{
  font-size: 1.2rem;
  font-weight: 400;
}
.review-ttl{
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.4;
  margin:1.6rem 0;
}
.review-slider{
  margin-top: 1.6rem;
}
.review-slider .slick-list {
  margin: 0 -11px;
}
.review-slider .slick-slide {
  margin: 0 11px;
}
.user-head{
  display: flex;
  align-items: center;
  gap:1.6rem;
  margin-bottom: 2.6rem;
}
.user-head .user-icon {
    width: 9.7rem;
    height: 9.7rem;
}
.user-head .user-info{
  width: calc(100% - 11.3rem);
}
.user-head .user-tag {
    margin-top: 0.6rem;
}
.user-head .good-flex {
    margin-top: 0.8rem;
}
/*  mypage-------------------------------------------------*/
.qrpay-price{
  background-color: #04AB99;
  border-radius: 10px;
  padding:0.7rem 1rem 0.8rem 1.2rem;
}
.qrpay-price-head{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.qrpay-price-ttl{
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
}
.qrpay-price-link{
  display: block;
  background-color: #03786B;
  border-radius: 4px;
  padding: 0.1rem 1.5rem 0.1rem 0.9rem;
  font-size: 1rem;
  font-weight: 500;
  color:#fff;
  position:relative;
}
.qrpay-price-link:before {
  content: '';
  width: 5px;
  height: 5px;
  border: 0;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 7px;
  bottom: 0;
  margin: auto;
}
.limit-price{
  display: flex;
  gap:3.8rem;
  justify-content: flex-end;
  align-items: center;
  margin-top: 0.4rem;
}
.now-price{
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  color:#fff;
  position:relative;
}
.now-price:before {
  position: absolute;
  display: inline-block;
  content: "";
  background: #82D5CC;
  width: 1px;
  height: 32px;
  right: -20px;
  top: 0;
  bottom: 0;
  transform: rotate(30deg);
}
.now-price .small{
  font-size: 1.2rem;
}
.meyasu-head{
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  color: #82D5CC;
}
.meyasu{
  display: flex;
  flex-direction: column;
  gap:0.5rem;
}
.meyasu-price{
    font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #82D5CC;
}
.meyasu-price .small{
    font-size: 1.3rem;
}
.limit-att{
  font-size: 1rem;
  font-weight: 400;
  text-align: right;
  color: #CECECE;
  margin-top: 0.5rem;
}
.mypage-menu{
  margin-top: 2.3rem;
}
.mypage-item a{
  padding: 1.1rem 0;
  display: block;
  font-size: 1.8rem;
  font-weight: 400;
  border-top: 1px solid #cecece;
  position:relative;
}
.mypage-item:last-child a{
  border-bottom: 1px solid #cecece;
}
.mypage-item a:before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 13px;
  background: url(/images/arrow-right.svg) no-repeat center / contain;
}
.mypage-form{
  margin-top: 3.2rem;
}
.mypage-form-block{
  margin-bottom: 1.5rem;
}
.mypage-form-ttl{
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 0.8rem;
}
.mypage-form .select-flex{
  margin: 0;
}
.simulation-result{
  background-color: #04AB99;
  border-radius: 10px;
  padding:3rem 2rem 0;
  margin:8rem 0;
}
.result-ttl{
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  color:#fff;
  margin-bottom: 0.5rem;
}
.result-price{
    font-size: 5rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color:#fff;
}
.result-price .small{
    font-size: 2.2rem;
}
.result-img img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.favorite-list{
  margin-top: 5rem;
}
.favorite-item{
  padding: 1.1rem 0 1.1rem 0.8rem;
  border-top: 1px solid #cecece;
  position:relative;
  display: flex;
  align-items: center;
  gap:1rem;
}
.favorite-item:last-child{
  border-bottom: 1px solid #cecece;
}
.favorite-name{
  font-size: 1.6rem;
  font-weight: 400;
  width: calc(100% - 21rem);
}
.favorite-right{
  display: flex;
  gap: 1.2rem;
  width: 20rem;
}
.delete-btn{
  border: 1px solid #151515;
  border-radius: 999px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  padding:0.5rem 1.3rem 0.5rem 2.8rem;
  position:relative;
  display: block;
  background-color: #fff;
}
.delete-btn:before{
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 13px;
  height: 13px;
  background: url(/images/icon-delete.svg) no-repeat center / contain;
}
.favorite-link{
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  color: #b1b1b1;
  padding-right: 1.5rem;
  position:relative;
}
.favorite-link:before{
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 13px;
  background: url(/images/arrow-right.svg) no-repeat center / contain;
}
.account-list{
  margin-top: 5rem;
}
.account-item{
  padding: 1.2rem 0 1.2rem 0.8rem;
  border-top: 1px solid #cecece;
  position:relative;
  display: flex;
  align-items: center;
  gap:1rem;
}
.account-item:last-child{
 border-bottom: 1px solid #cecece;
}
.account-ttl{
    font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  color: #b1b1b1;
  width: 10.6rem;
}
.account-main{
  width: calc(100% - 11.6rem);
  font-size: 1.6rem;
  font-weight: 400;
}
.account-main .unset{
  background-color: #C80000;
  border-radius: 5px;
  color: #fff;
  font-size: 1rem;
  padding: 0.3rem 0.6rem;
}
.flex-btn{
  display: flex;
  margin-top: 5rem;
  gap: 1.5rem;
}
.flex-btn .main-btn{
  width: calc((100% - 1.5rem)/2);
    height: 45px;
}
.flex-btn .cancel-btn{
  background-color: #707070;
}
.input-ttl{
  margin-top: 3rem;
  font-size: 1.6rem;
  font-weight: 400;
  border-bottom: 1px solid #dedede;
  padding-bottom: 1rem;
}
.input-ttl span,
.input-label span{
  font-size: 1.2rem;
  font-weight: 400;
  padding-left: 0.7rem;
}
.input-ttl .red{
  color: #D50000;
}
.input-label .blue{
  color: #069ACB;
}
.input-flex{
  display: flex;
  gap:1.8rem;
}
.input-flex .account-input{
   width: calc((100% - 1.8rem)/2);
}
.account-input{
  border-bottom: 1px solid #dedede;
  padding: 1.6rem 2.4rem 1.6rem 0;
  display: flex;
  align-items: center;
  position:relative;
}
.account-input:before{
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background: url(/images/icon-input.svg) no-repeat center / contain;
}

.account-input span{
  font-size: 1.2rem;
  font-weight: 400;
  color: #b1b1b1;
  width: 4rem;
  display: block;
}
.input-flex .flex-input{
  width: calc(100% - 4rem);
}
.account-input input{
  width: 100%;
}
.input-label{
  font-size: 1.6rem;
  font-weight: 400;
  color: #707070;
  margin-top: 3rem;
}
.toggle-password svg {
  display: none;
}
.toggle-password svg.is-active {
  display: block;
}
.profile-flex{
  display: flex;
  gap: 2rem;
  align-items: center;
  margin: 3rem 0 1rem;
}
.profile-img{
  width:10.6rem;
  height: 10.6rem;
  border-radius: 999px;
  overflow: hidden;
}
.profile-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.profile-name{
  width: calc(100% - 12.6rem);
}
.profile-name-head{
  font-size: 1.2rem;
  font-weight: 400;
  color: #b1b1b1;
}
.profile-name-main{
  font-size: 2.2rem;
  font-weight: 400;
}
.profile-att{
    font-size: 1.2rem;
  font-weight: 400;
  color: #b1b1b1;
}
.profile-detail{
  margin-top: 3rem;
}
.profile-upload{
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}
.profile-upload .upload-box{
  width: 150px;
  height: 150px;
  border-radius: 999px;
}
.profile-upload .upload-box:before {
    right: 0;
    bottom: 0;
    width: 33px;
    height: 33px;
}
.profile-detail .account-list {
    margin-top: 1rem;
}
.tag-area{
  border-radius: 10px;
  border:1px solid #b1b1b1;
  padding: 1rem;
  margin: 0.7rem 0 2.4rem;
}
.m-top16{
  margin-top: 1.6rem;
}
.message-item:first-child .message-link{
  border-top: 1px solid #cecece;
}
.message-link{
  padding:1.6rem 2.8rem 1.6rem 0;
  border-bottom: 1px solid #cecece;
  display: block;
  position:relative;
}
.message-link:before{
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 13px;
  background: url(/images/arrow-right.svg) no-repeat center / contain;
}
.message-head{
  display: flex;
  gap:1.2rem;
  align-items: center;
   margin-bottom: 0.5rem;
}
.message-head .from{
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  border-radius: 5px;
  color: #fff;
  min-width:83px ;
  text-align: center;
  padding:0.4rem 1rem;
}
.message-head .from.unei{
  background-color: #04AB99;
}
.message-head .from.local{
  background-color: #DC4B22;
}
.message-head .date{
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  color: #b1b1b1;
}
.message-ttl{
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
    display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.message-tab .result-flex{
  margin-bottom: 2rem;
}
.content-ttl{
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 2.4rem;
}
.content h2{
  font-size: 1.8rem;
  font-weight: 700;
  margin: 2rem 0;
}
.content h3{
  font-size: 1.6rem;
  font-weight: 700;
  margin: 1.5rem 0;
}
.content ul{
  list-style-type: disc;
  padding-left: 1em;
  margin:1.5rem 0 ;
}
.content ul li{
  list-style-type: disc;
}
.history-ttl{
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
}
.history-tag{
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 0.8rem;
}
.history-tag li{
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  border-radius: 999px;
  background-color: #fff;
  border:1px solid #b1b1b1;
  padding: 0.5rem 1.3rem;
}
.history-tag .full{
  color:#fff;
  background-color: #DC4B22;
  border:1px solid #DC4B22;
}
.history-price{
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 0.3rem;
  text-align: right;
}
.delete-img{
  position: relative;
}
.delete-img .delete-btn{
  position:absolute;
  bottom: -5px;
  right:-5px;
}
.delete-img .upload-box:before {
  content: none;
}
.delete-img img{
  border-radius: 5px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/*  login-------------------------------------------------*/
.login-logo{
  width: 224px;
  margin:0 auto;
  margin-bottom: 7rem;
}
.login-logo img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.login-link{
  margin-top: 5rem;
  display:flex;
  flex-direction: column;
  gap:2.4rem;
}
.login-link a{
  display: block;
}
.login-link a span{
  padding: 0 1.4rem 0 3rem ;
  position: relative;
    font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
}
.login-link a span:before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
}
.login-link .forget span:before{
    background: url(/images/icon-forget.svg) no-repeat center / contain;
}
.login-link .new span:before{
    background: url(/images/icon-new.svg) no-repeat center / contain;
}
.login-link a span:after{
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 1px #151515;
  border-right: solid 1px #151515;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.m-b1{
  margin-bottom:1rem ;
}
.new-wrapper{
  background: url(/images/back-new.jpg) no-repeat center / cover;
  width: 100%;
  height: 100vh;
}
.new-inner{
  background: linear-gradient(rgba(225,232,242,1)0%,rgba(255,255,255,0)30%,rgba(0,0,0,0)55%,rgba(0,0,0,1)100%);
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    position: relative;
    margin: 0 auto;
}
.new-att{
  position:absolute;
  top:8%;
  left: 0;
  right: 0;
}
.new-btn{
  position: absolute;
  bottom:10%;
  left: 0;
  right: 0;
}
.code-block{
  margin-top: 8rem;
}
.code-flex{
  display: flex;
  gap: 1rem;
  margin-top: 5rem;
}
.code-input{
  border: 1px solid #d1d1d1;
  border-radius: 8px;
  width: calc((100% - 4rem)/5);
  aspect-ratio: 1/1;
}
.code-input input{
  width: 100%;
  height: 100%;
  text-align: center;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;
}
.success-inner{
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
}
.success-block{
  width: 100%;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.16);
  padding: 5rem;
}
.success-img{
  width: 103px;
  margin:0 auto;
}
.success-img img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.success-txt{
  text-align: center;
  font-size: 2rem;
  font-weight: 400;
  margin:3.2rem auto;
}
.tutorial-slider .slick-track{
  display: flex!important;
}
.tutorial-slider .slick-slide {
  height: auto !important;
}
.tutorial-block{
  display: flex!important;
  flex-direction: column;
}
.tutorial-img img{
  width: 100%;
  height: 100%;
  aspect-ratio: 134 / 115;
  object-fit: cover;
}
.tutorial-info{
  padding:0 2rem;
  flex-grow: 1;
}
.tutorial-ttl{
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.5;
  margin:4.2rem 0 1rem;
}
.tutorial-txt{
    font-size: 2rem;
  font-weight: 500;
  line-height: 1.65;
}
.tutorial-btn{
  margin-top:5rem;
}

.tutorial-next{
  margin: auto auto 0 auto;
  display: block;
  width: 62px;
  height: 62px;
  background: #04AB99;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.16);
  position:relative;
}

.tutorial-next::before {
  position: absolute;
  content: "";
  width: 25px;
  height: 25px;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background: url(/images/arrow-tutorial.svg) no-repeat center / contain;
}

#loading {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #fff;
  display: none; 
  align-items: center;
  justify-content: center;
}

.loading-logo {
  width: 240px;
}
.loading-logo img{
  width: 100%;
  height: 100%;
}
.page-ttl{
margin-bottom: 1.2rem;
}
.page-ttl h1{
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.5;
}
/*
 * モックの CSS（reset.css・style.css）への追加・修正はここ（とここから読み込む additions/ 以下）に書く。
 * reset.css と style.css は原則として編集しない（CLAUDE.md）。
 * このファイルは style.css の後、jQuery 系の部品（slick・jQuery UI・modaal）の CSS の前に読み込まれる。
 * 部品の見た目を直すときは、部品の CSS より強いセレクタにする（例: #ui-datepicker-div .ui-state-default）。
 * 見た目を変えたら、モックと画面を撮り比べる。
 *
 * 担当ごとにファイルを分けてある（Phase 1 の並行作業で同じファイルを取り合わないため。引き継ぎ書 7）。
 * 書く場所は、その画面を持つ担当のファイル。@import はほかの規則より前に置く決まりなので、ここには規則を書かない。
 */
/*
 * 全画面に共通の追加（レイアウト・PC で見たときの背景など。運用の担当）
 */
/*
 * 公開サイトのフォント（Noto Sans JP・Montserrat）を自分のサイトから配信する @font-face。持ち主は D2
 * scripts/fonts/fetch-google-fonts.mjs が作る。手で直さない（版が上がったときの取り直し方は、スクリプトの先頭）
 * 出所: Google Fonts の配布（Noto Sans JP v56・Montserrat v31）。woff2 は変換も間引きもせずに resources/fonts に置いた
 * ライセンス: SIL Open Font License 1.1（resources/fonts/noto-sans-jp/OFL.txt・resources/fonts/montserrat/OFL.txt）
 *   Noto Sans JP: Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'
 *   Noto Sans JP: Copyright Holder. This restriction only applies to the primary font name as
 *   Noto Sans JP: Copyright Holder(s) and the Author(s) or with their explicit written
 *   Montserrat: Copyright 2024 The Montserrat.Git Project Authors (https://github.com/JulietaUla/Montserrat.git)
 *   Montserrat: Copyright Holder. This restriction only applies to the primary font name as
 *   Montserrat: Copyright Holder(s) and the Author(s) or with their explicit written
 * 並びと unicode-range は Google の CSS のまま（範囲が重なる字は、後に書いた面が使われるため）。
 * font-weight は使う太さの範囲（400 700）だけを宣言する。範囲の外の太さと斜体は使わない（tests/Feature/Front/SelfHostedFontsTest.php）
 */
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/montserrat-v31-cyrillic-ext-CG0v8orw.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/montserrat-v31-cyrillic-p6IpLZeA.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/montserrat-v31-vietnamese-BeNAS_4P.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/montserrat-v31-latin-ext-D0hf-lZB.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/montserrat-v31-latin-Dk9Pm7OY.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* [0] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-0-CsxYRjZA.woff2') format('woff2');
  unicode-range: U+25ee8, U+25f23, U+25f5c, U+25fd4, U+25fe0, U+25ffb, U+2600c, U+26017, U+26060, U+260ed, U+26222, U+2626a, U+26270, U+26286, U+2634c, U+26402, U+2667e, U+266b0, U+2671d, U+268dd, U+268ea, U+26951, U+2696f, U+26999, U+269dd, U+26a1e, U+26a58, U+26a8c, U+26ab7, U+26aff, U+26c29, U+26c73, U+26c9e, U+26cdd, U+26e40, U+26e65, U+26f94, U+26ff6-26ff8, U+270f4, U+2710d, U+27139, U+273da-273db, U+273fe, U+27410, U+27449, U+27614-27615, U+27631, U+27684, U+27693, U+2770e, U+27723, U+27752, U+278b2, U+27985, U+279b4, U+27a84, U+27bb3, U+27bbe, U+27bc7, U+27c3c, U+27cb8, U+27d73, U+27da0, U+27e10, U+27eaf, U+27fb7, U+2808a, U+280bb, U+28277, U+28282, U+282f3, U+283cd, U+2840c, U+28455, U+284dc, U+2856b, U+285c8-285c9, U+286d7, U+286fa, U+28946, U+28949, U+2896b, U+28987-28988, U+289ba-289bb, U+28a1e, U+28a29, U+28a43, U+28a71, U+28a99, U+28acd, U+28add, U+28ae4, U+28bc1, U+28bef, U+28cdd, U+28d10, U+28d71, U+28dfb, U+28e0f, U+28e17, U+28e1f, U+28e36, U+28e89, U+28eeb, U+28ef6, U+28f32, U+28ff8, U+292a0, U+292b1, U+29490, U+295cf, U+2967f, U+296f0, U+29719, U+29750, U+29810, U+298c6, U+29a72, U+29d4b, U+29ddb, U+29e15, U+29e3d, U+29e49, U+29e8a, U+29ec4, U+29edb, U+29ee9, U+29fce, U+29fd7, U+2a01a, U+2a02f, U+2a082, U+2a0f9, U+2a190, U+2a2b2, U+2a38c, U+2a437, U+2a5f1, U+2a602, U+2a61a, U+2a6b2, U+2a9e6, U+2b746, U+2b751, U+2b753, U+2b75a, U+2b75c, U+2b765, U+2b776-2b777, U+2b77c, U+2b782, U+2b789, U+2b78b, U+2b78e, U+2b794, U+2b7ac, U+2b7af, U+2b7bd, U+2b7c9, U+2b7cf, U+2b7d2, U+2b7d8, U+2b7f0, U+2b80d, U+2b817, U+2b81a, U+2d544, U+2e278, U+2e569, U+2e6ea, U+2f804, U+2f80f, U+2f815, U+2f818, U+2f81a, U+2f822, U+2f828, U+2f82c, U+2f833, U+2f83f, U+2f846, U+2f852, U+2f862, U+2f86d, U+2f873, U+2f877, U+2f884, U+2f899-2f89a, U+2f8a6, U+2f8ac, U+2f8b2, U+2f8b6, U+2f8d3, U+2f8db-2f8dc, U+2f8e1, U+2f8e5, U+2f8ea, U+2f8ed, U+2f8fc, U+2f903, U+2f90b, U+2f90f, U+2f91a, U+2f920-2f921, U+2f945, U+2f947, U+2f96c, U+2f995, U+2f9d0, U+2f9de-2f9df, U+2f9f4;
}
/* [1] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-1-kE7TLC7B.woff2') format('woff2');
  unicode-range: U+1f235-1f23b, U+1f240-1f248, U+1f250-1f251, U+2000b, U+20089-2008a, U+200a2, U+200a4, U+200b0, U+200f5, U+20158, U+201a2, U+20213, U+2032b, U+20371, U+20381, U+203f9, U+2044a, U+20509, U+2053f, U+205b1, U+205d6, U+20611, U+20628, U+206ec, U+2074f, U+207c8, U+20807, U+2083a, U+208b9, U+2090e, U+2097c, U+20984, U+2099d, U+20a64, U+20ad3, U+20b1d, U+20b9f, U+20bb7, U+20d45, U+20d58, U+20de1, U+20e64, U+20e6d, U+20e95, U+20f5f, U+21201, U+2123d, U+21255, U+21274, U+2127b, U+212d7, U+212e4, U+212fd, U+2131b, U+21336, U+21344, U+213c4, U+2146d-2146e, U+215d7, U+21647, U+216b4, U+21706, U+21742, U+218bd, U+219c3, U+21a1a, U+21c56, U+21d2d, U+21d45, U+21d62, U+21d78, U+21d92, U+21d9c, U+21da1, U+21db7, U+21de0, U+21e33-21e34, U+21f1e, U+21f76, U+21ffa, U+2217b, U+22218, U+2231e, U+223ad, U+22609, U+226f3, U+2285b, U+228ab, U+2298f, U+22ab8, U+22b46, U+22b4f-22b50, U+22ba6, U+22c1d, U+22c24, U+22de1, U+22e42, U+22feb, U+231b6, U+231c3-231c4, U+231f5, U+23372, U+233cc, U+233d0, U+233d2-233d3, U+233d5, U+233da, U+233df, U+233e4, U+233fe, U+2344a-2344b, U+23451, U+23465, U+234e4, U+2355a, U+23594, U+235c4, U+23638-2363a, U+23647, U+2370c, U+2371c, U+2373f, U+23763-23764, U+237e7, U+237f1, U+237ff, U+23824, U+2383d, U+23a98, U+23c7f, U+23cbe, U+23cfe, U+23d00, U+23d0e, U+23d40, U+23dd3, U+23df9-23dfa, U+23f7e, U+2404b, U+24096, U+24103, U+241c6, U+241fe, U+242ee, U+243bc, U+243d0, U+24629, U+246a5, U+247f1, U+24896, U+248e9, U+24a4d, U+24b56, U+24b6f, U+24c16, U+24d14, U+24e04, U+24e0e, U+24e37, U+24e6a, U+24e8b, U+24ff2, U+2504a, U+25055, U+25122, U+251a9, U+251cd, U+251e5, U+2521e, U+2524c, U+2542e, U+2548e, U+254d9, U+2550e, U+255a7, U+2567f, U+25771, U+257a9, U+257b4, U+25874, U+259c4, U+259cc, U+259d4, U+25ad7, U+25ae3-25ae4, U+25af1, U+25bb2, U+25c4b, U+25c64, U+25da1, U+25e2e, U+25e56, U+25e62, U+25e65, U+25ec2, U+25ed8;
}
/* [2] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-2-qhfd--9D.woff2') format('woff2');
  unicode-range: U+ffd7, U+ffda-ffdc, U+ffe0-ffe2, U+ffe4, U+ffe6, U+ffe8-ffee, U+1f100-1f10c, U+1f110-1f16c, U+1f170-1f1ac, U+1f200-1f202, U+1f210-1f234;
}
/* [3] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-3-C1uFDlJo.woff2') format('woff2');
  unicode-range: U+fa10, U+fa12-fa6d, U+fb00-fb04, U+fe10-fe19, U+fe30-fe42, U+fe44-fe52, U+fe54-fe66, U+fe68-fe6b, U+ff02, U+ff04, U+ff07, U+ff51, U+ff5b, U+ff5d, U+ff5f-ff60, U+ff66, U+ff69, U+ff87, U+ffa1-ffbe, U+ffc2-ffc7, U+ffca-ffcf, U+ffd2-ffd6;
}
/* [4] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-4-C1coN051.woff2') format('woff2');
  unicode-range: U+f92d-f959, U+f95b-f9f2, U+f9f4-fa0b, U+fa0e-fa0f;
}
/* [5] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-5-BoZvklrr.woff2') format('woff2');
  unicode-range: U+9e8b-9e8c, U+9e8e-9e8f, U+9e91-9e92, U+9e95-9e96, U+9e98, U+9e9b, U+9e9d-9e9e, U+9ea4-9ea5, U+9ea8-9eaa, U+9eac-9eb0, U+9eb3-9eb5, U+9eb8, U+9ebc-9ebf, U+9ec3, U+9ec6, U+9ec8, U+9ecb-9ecd, U+9ecf-9ed1, U+9ed4-9ed5, U+9ed8, U+9edb-9ee0, U+9ee4-9ee5, U+9ee7-9ee8, U+9eec-9ef2, U+9ef4-9ef9, U+9efb-9eff, U+9f02-9f03, U+9f07-9f09, U+9f0e-9f12, U+9f14-9f17, U+9f19-9f1b, U+9f1f-9f22, U+9f26, U+9f2a-9f2c, U+9f2f, U+9f31-9f32, U+9f34, U+9f37, U+9f39-9f3a, U+9f3c-9f3f, U+9f41, U+9f43-9f47, U+9f4a, U+9f4e-9f50, U+9f52-9f58, U+9f5a, U+9f5d-9f61, U+9f63, U+9f66-9f6a, U+9f6c-9f73, U+9f75-9f77, U+9f7a, U+9f7d, U+9f7f, U+9f8f-9f92, U+9f94-9f97, U+9f99, U+9f9c-9fa3, U+9fa5, U+9fb4, U+9fbc-9fc2, U+9fc4, U+9fc6, U+9fcc, U+f900-f92c;
}
/* [6] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-6-DxgA5CVh.woff2') format('woff2');
  unicode-range: U+9c3e, U+9c41, U+9c43-9c4a, U+9c4e-9c50, U+9c52-9c54, U+9c56, U+9c58, U+9c5a-9c61, U+9c63, U+9c65, U+9c67-9c6b, U+9c6d-9c6e, U+9c70, U+9c72, U+9c75-9c78, U+9c7a-9c7c, U+9ce6-9ce7, U+9ceb-9cec, U+9cf0, U+9cf2, U+9cf6-9cf7, U+9cf9, U+9d02-9d03, U+9d06-9d09, U+9d0b, U+9d0e, U+9d11-9d12, U+9d15, U+9d17-9d18, U+9d1b-9d1f, U+9d23, U+9d26, U+9d2a-9d2c, U+9d2f-9d30, U+9d32-9d34, U+9d3a, U+9d3c-9d3f, U+9d41-9d48, U+9d4a, U+9d50-9d54, U+9d59, U+9d5d-9d65, U+9d69-9d6c, U+9d6f-9d70, U+9d72-9d73, U+9d76-9d77, U+9d7a-9d7c, U+9d7e, U+9d83-9d84, U+9d86-9d87, U+9d89-9d8a, U+9d8d-9d8e, U+9d92-9d93, U+9d95-9d9a, U+9da1, U+9da4, U+9da9-9dac, U+9dae, U+9db1-9db2, U+9db5, U+9db8-9dbd, U+9dbf-9dc4, U+9dc6-9dc7, U+9dc9-9dca, U+9dcf, U+9dd3-9dd7, U+9dd9-9dda, U+9dde-9de0, U+9de3, U+9de5-9de7, U+9de9, U+9deb, U+9ded-9df0, U+9df3-9df4, U+9df8, U+9dfd-9dfe, U+9e02, U+9e07, U+9e0a, U+9e0d-9e0e, U+9e10-9e12, U+9e15-9e16, U+9e19-9e1f, U+9e75, U+9e79-9e7d, U+9e80-9e85, U+9e87-9e88;
}
/* [7] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-7-uRwmB6x8.woff2') format('woff2');
  unicode-range: U+9ae5-9ae7, U+9ae9, U+9aeb-9aec, U+9aee-9aef, U+9af1-9af5, U+9af7, U+9af9-9afb, U+9afd, U+9aff-9b06, U+9b08-9b09, U+9b0b-9b0e, U+9b10, U+9b12, U+9b16, U+9b18-9b1d, U+9b1f-9b20, U+9b22-9b23, U+9b25-9b2f, U+9b32-9b35, U+9b37, U+9b39-9b3b, U+9b3d, U+9b43-9b44, U+9b48, U+9b4b-9b4f, U+9b51, U+9b55-9b58, U+9b5b, U+9b5e, U+9b61, U+9b63, U+9b65-9b66, U+9b68, U+9b6a-9b6f, U+9b72-9b79, U+9b7f-9b80, U+9b83-9b87, U+9b89-9b8b, U+9b8d, U+9b8f-9b94, U+9b96-9b97, U+9b9a, U+9b9d-9ba0, U+9ba6-9ba7, U+9ba9-9baa, U+9bac, U+9bb0-9bb2, U+9bb4, U+9bb7-9bb9, U+9bbb-9bbc, U+9bbe-9bc1, U+9bc6-9bc8, U+9bca, U+9bce-9bd2, U+9bd4, U+9bd7-9bd8, U+9bdd, U+9bdf, U+9be1-9be5, U+9be7, U+9bea-9beb, U+9bee-9bf3, U+9bf5, U+9bf7-9bfa, U+9bfd, U+9bff-9c00, U+9c02, U+9c04, U+9c06, U+9c08-9c0d, U+9c0f-9c16, U+9c18-9c1e, U+9c21-9c2a, U+9c2d-9c32, U+9c35-9c37, U+9c39-9c3a, U+9c3d;
}
/* [8] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-8-B90O4ED7.woff2') format('woff2');
  unicode-range: U+98eb, U+98ed-98ee, U+98f0-98f1, U+98f3, U+98f6, U+9902, U+9907-9909, U+9911-9912, U+9914-9918, U+991a-9922, U+9924, U+9926-9927, U+992b-992c, U+992e, U+9931-9935, U+9939-993e, U+9940-9942, U+9945-9949, U+994b-994e, U+9950-9952, U+9954-9955, U+9958-9959, U+995b-995c, U+995e-9960, U+9963, U+9997-9998, U+999b, U+999d-999f, U+99a3, U+99a5-99a6, U+99a8, U+99ad-99ae, U+99b0-99b2, U+99b5, U+99b9-99ba, U+99bc-99bd, U+99bf, U+99c1, U+99c3, U+99c8-99c9, U+99d1, U+99d3-99d5, U+99d8-99df, U+99e1-99e2, U+99e7, U+99ea-99ee, U+99f0-99f2, U+99f4-99f5, U+99f8-99f9, U+99fb-99fe, U+9a01-9a05, U+9a08, U+9a0a-9a0c, U+9a0f-9a11, U+9a16, U+9a1a, U+9a1e, U+9a20, U+9a22-9a24, U+9a27, U+9a2b, U+9a2d-9a2e, U+9a31, U+9a33, U+9a35-9a38, U+9a3e, U+9a40-9a45, U+9a47, U+9a4a-9a4e, U+9a51-9a52, U+9a54-9a58, U+9a5b, U+9a5d, U+9a5f, U+9a62, U+9a64-9a65, U+9a69-9a6c, U+9aaa, U+9aac-9ab0, U+9ab2, U+9ab4-9ab7, U+9ab9, U+9abb-9ac1, U+9ac3, U+9ac6, U+9ac8, U+9ace-9ad3, U+9ad5-9ad7, U+9adb-9adc, U+9ade-9ae0, U+9ae2-9ae4;
}
/* [9] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-9-Cy2kQwfu.woff2') format('woff2');
  unicode-range: U+971d, U+9721-9724, U+9728, U+972a, U+9730-9731, U+9733, U+9736, U+9738-9739, U+973b, U+973d-973e, U+9741-9744, U+9746-974a, U+974d-974f, U+9751, U+9755, U+9757-9758, U+975a-975c, U+9760-9761, U+9763-9764, U+9766-9768, U+976a-976b, U+976e, U+9771, U+9773, U+9776-977d, U+977f-9781, U+9785-9786, U+9789, U+978b, U+978f-9790, U+9795-9797, U+9799-979a, U+979c, U+979e-97a0, U+97a2-97a3, U+97a6, U+97a8, U+97ab-97ac, U+97ae, U+97b1-97b6, U+97b8-97ba, U+97bc, U+97be-97bf, U+97c1, U+97c3-97ce, U+97d0-97d1, U+97d4, U+97d7-97d9, U+97db-97de, U+97e0-97e1, U+97e4, U+97e6, U+97ed-97ef, U+97f1-97f2, U+97f4-97f8, U+97fa, U+9804, U+9807, U+980a, U+980c-980f, U+9814, U+9816-9817, U+9819-981a, U+981c, U+981e, U+9820-9821, U+9823-9826, U+982b, U+982e-9830, U+9832-9835, U+9837, U+9839, U+983d-983e, U+9844, U+9846-9847, U+984a-984b, U+984f, U+9851-9853, U+9856-9857, U+9859-985b, U+9862-9863, U+9865-9866, U+986a-986c, U+986f-9871, U+9873-9875, U+98aa-98ab, U+98ad-98ae, U+98b0-98b1, U+98b4, U+98b6-98b8, U+98ba-98bc, U+98bf, U+98c2-98c8, U+98cb-98cc, U+98ce, U+98dc, U+98de, U+98e0-98e1, U+98e3, U+98e5-98e7, U+98e9-98ea;
}
/* [10] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-10--EQ2snDW.woff2') format('woff2');
  unicode-range: U+944a, U+944c, U+9452-9453, U+9455, U+9459-945c, U+945e-9463, U+9468, U+946a-946b, U+946d-9472, U+9475, U+9477, U+947c-947f, U+9481, U+9483-9485, U+9578-9579, U+957e-957f, U+9582, U+9584, U+9586-9588, U+958a, U+958c-958f, U+9592, U+9594, U+9596, U+9598-9599, U+959d-95a1, U+95a4, U+95a6-95a9, U+95ab-95ad, U+95b1, U+95b4, U+95b6, U+95b9-95bf, U+95c3, U+95c6, U+95c8-95cd, U+95d0-95d6, U+95d9-95da, U+95dc-95e2, U+95e4-95e6, U+95e8, U+961d-961e, U+9621-9622, U+9624-9626, U+9628, U+962c, U+962e-962f, U+9631, U+9633-9634, U+9637-963a, U+963c-963d, U+9641-9642, U+964b-964c, U+964f, U+9652, U+9654, U+9656-9658, U+965c-965f, U+9661, U+9666, U+966a, U+966c, U+966e, U+9672, U+9674, U+9677, U+967b-967c, U+967e-967f, U+9681-9684, U+9689, U+968b, U+968d, U+9691, U+9695-9698, U+969a, U+969d, U+969f, U+96a4-96aa, U+96ae-96b4, U+96b6, U+96b8-96bb, U+96bd, U+96c1, U+96c9-96cb, U+96cd-96ce, U+96d2, U+96d5-96d6, U+96d8-96da, U+96dc-96df, U+96e9, U+96ef, U+96f1, U+96f9-96fa, U+9702-9706, U+9708-9709, U+970d-970f, U+9711, U+9713-9714, U+9716, U+9719-971b;
}
/* [11] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-11-DTE_5_p2.woff2') format('woff2');
  unicode-range: U+92bc-92bd, U+92bf-92c3, U+92c5-92c8, U+92cb-92d0, U+92d2-92d3, U+92d5, U+92d7-92d9, U+92dc-92dd, U+92df-92e1, U+92e3-92e5, U+92e7-92ea, U+92ec, U+92ee, U+92f0, U+92f2, U+92f7-92fb, U+92ff-9300, U+9302, U+9304, U+9308, U+930d, U+930f-9311, U+9314-9315, U+9318-931a, U+931c-931f, U+9321-9325, U+9327-932b, U+932e, U+9333-9337, U+933a-933b, U+9344, U+9347-934a, U+934d, U+9350-9352, U+9354-9358, U+935a, U+935c, U+935e, U+9360, U+9364-9365, U+9367, U+9369-936d, U+936f-9371, U+9373-9374, U+9376, U+937a, U+937d-9382, U+9388, U+938a-938b, U+938d, U+938f, U+9392, U+9394-9395, U+9397-9398, U+939a-939b, U+939e, U+93a1, U+93a3-93a4, U+93a6, U+93a8-93a9, U+93ab-93ad, U+93b0, U+93b4-93b6, U+93b9-93bb, U+93c1, U+93c3-93cd, U+93d0-93d1, U+93d3, U+93d6-93d9, U+93dc-93df, U+93e2, U+93e4-93e8, U+93f1, U+93f5, U+93f7-93fb, U+93fd, U+9401-9404, U+9407-9409, U+940d-9410, U+9413-9417, U+9419-941a, U+941f, U+9421, U+942b, U+942e-942f, U+9431-9434, U+9436, U+9438, U+943a-943b, U+943d, U+943f, U+9441, U+9443-9445, U+9448;
}
/* [12] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-12-Bjde00pU.woff2') format('woff2');
  unicode-range: U+9143, U+9146-914c, U+914f, U+9153, U+9156-915b, U+9161, U+9163-9165, U+9167, U+9169, U+916d, U+9172-9174, U+9179-917b, U+9181-9183, U+9185-9187, U+9189-918b, U+918e, U+9191, U+9193-9195, U+9197-9198, U+919e, U+91a1-91a2, U+91a6, U+91a8, U+91aa-91b6, U+91ba-91bd, U+91bf-91c6, U+91c9, U+91cb, U+91d0, U+91d3-91d4, U+91d6-91d7, U+91d9-91db, U+91de-91df, U+91e1, U+91e4-91e6, U+91e9-91ea, U+91ec-91f1, U+91f5-91f7, U+91f9, U+91fb-91fd, U+91ff-9201, U+9204-9207, U+9209-920a, U+920c, U+920e, U+9210-9218, U+921c-921e, U+9223-9226, U+9228-9229, U+922c, U+922e-9230, U+9233, U+9235-923a, U+923c, U+923e-9240, U+9242-9243, U+9245-924b, U+924d-9251, U+9256-925a, U+925c-925e, U+9260-9261, U+9264-9269, U+926e-9270, U+9275-9279, U+927b-927f, U+9288-928a, U+928d-928e, U+9291-9293, U+9295-9297, U+9299, U+929b-929c, U+929f-92a0, U+92a4-92a5, U+92a7-92a8, U+92ab, U+92af, U+92b2-92b3, U+92b6-92bb;
}
/* [13] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-13-DbXCi8Pw.woff2') format('woff2');
  unicode-range: U+8f52-8f55, U+8f57-8f58, U+8f5c-8f5e, U+8f61-8f66, U+8f9c-8f9d, U+8f9f-8fa2, U+8fa4-8fa8, U+8fad-8faf, U+8fb4-8fb8, U+8fbe, U+8fc0-8fc2, U+8fc6, U+8fc8, U+8fca-8fcb, U+8fcd, U+8fd0, U+8fd2-8fd3, U+8fd5, U+8fda, U+8fe0, U+8fe2-8fe5, U+8fe8-8fea, U+8fed-8fef, U+8ff1, U+8ff4-8ff6, U+8ff8-8ffb, U+8ffe, U+9002, U+9004-9005, U+9008, U+900b-900e, U+9011, U+9013, U+9015-9016, U+9018, U+901b, U+901e, U+9021, U+9027-902a, U+902c-902d, U+902f, U+9033-9037, U+9039, U+903c, U+903e-903f, U+9041, U+9043-9044, U+9049, U+904c, U+904f-9052, U+9056, U+9058, U+905b-905e, U+9062, U+9066-9068, U+906c, U+906f-9070, U+9072, U+9074, U+9076, U+9079, U+9080-9083, U+9085, U+9087-9088, U+908b-908c, U+908e-9090, U+9095, U+9097-9099, U+909b, U+90a0-90a2, U+90a5, U+90a8, U+90af-90b6, U+90bd-90be, U+90c3-90c5, U+90c7-90c9, U+90cc, U+90d2, U+90d5, U+90d7-90d9, U+90db-90df, U+90e2, U+90e4-90e5, U+90eb, U+90ef-90f0, U+90f2, U+90f4, U+90f6, U+90fe-9100, U+9102, U+9104-9106, U+9108, U+910d, U+9110, U+9112, U+9114-911a, U+911c, U+911e, U+9120, U+9122-9123, U+9125, U+9127, U+9129, U+912d-9132, U+9134, U+9136-9137, U+9139-913a, U+913c-913d;
}
/* [14] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-14-BKdDn01m.woff2') format('woff2');
  unicode-range: U+8dc0, U+8dc2, U+8dc5-8dc8, U+8dca-8dcc, U+8dce-8dcf, U+8dd1, U+8dd4-8dd7, U+8dd9-8ddb, U+8ddf, U+8de3-8de5, U+8de7, U+8dea-8dec, U+8df0-8df2, U+8df4, U+8dfc-8dfd, U+8dff, U+8e01, U+8e04-8e06, U+8e08-8e09, U+8e0b-8e0c, U+8e10-8e11, U+8e14, U+8e16, U+8e1d-8e23, U+8e26-8e27, U+8e30-8e31, U+8e33-8e39, U+8e3d, U+8e40-8e42, U+8e44, U+8e47-8e50, U+8e54-8e55, U+8e59, U+8e5b-8e64, U+8e69, U+8e6c-8e6d, U+8e6f-8e72, U+8e75-8e77, U+8e79-8e7c, U+8e81-8e85, U+8e89, U+8e8b, U+8e90-8e95, U+8e98-8e9b, U+8e9d-8e9e, U+8ea1-8ea2, U+8ea7, U+8ea9-8eaa, U+8eac-8eb1, U+8eb3, U+8eb5-8eb6, U+8eba-8ebb, U+8ebe, U+8ec0-8ec1, U+8ec3-8ec8, U+8ecb, U+8ecf, U+8ed1, U+8ed4, U+8edb-8edc, U+8ee3, U+8ee8, U+8eeb, U+8eed-8eee, U+8ef0-8ef1, U+8ef7, U+8ef9-8efc, U+8efe, U+8f00, U+8f02, U+8f05, U+8f07-8f08, U+8f0a, U+8f0f-8f10, U+8f12-8f13, U+8f15-8f19, U+8f1b-8f1c, U+8f1e-8f21, U+8f23, U+8f25-8f28, U+8f2b-8f2f, U+8f33-8f37, U+8f39-8f3b, U+8f3e, U+8f40-8f43, U+8f45-8f47, U+8f49-8f4a, U+8f4c-8f4f, U+8f51;
}
/* [15] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-15-C8AgB8Lq.woff2') format('woff2');
  unicode-range: U+8b2d, U+8b30, U+8b37, U+8b3c, U+8b3e, U+8b41-8b46, U+8b48-8b49, U+8b4c-8b4f, U+8b51-8b54, U+8b56, U+8b59, U+8b5b, U+8b5e-8b5f, U+8b63, U+8b69, U+8b6b-8b6d, U+8b6f, U+8b71, U+8b74, U+8b76, U+8b78-8b79, U+8b7c-8b81, U+8b84-8b85, U+8b8a-8b8f, U+8b92-8b96, U+8b99-8b9a, U+8b9c-8ba0, U+8c38-8c3a, U+8c3d-8c3f, U+8c41, U+8c45, U+8c47-8c49, U+8c4b-8c4c, U+8c4e-8c51, U+8c53-8c55, U+8c57-8c59, U+8c5b, U+8c5d, U+8c62-8c64, U+8c66, U+8c68-8c69, U+8c6b-8c6d, U+8c73, U+8c75-8c76, U+8c78, U+8c7a-8c7c, U+8c7e, U+8c82, U+8c85-8c87, U+8c89-8c8b, U+8c8d-8c8e, U+8c90, U+8c92-8c94, U+8c98-8c99, U+8c9b-8c9c, U+8c9f, U+8ca4, U+8cad-8cae, U+8cb2-8cb3, U+8cb6, U+8cb9-8cba, U+8cbd, U+8cc1-8cc2, U+8cc4-8cc6, U+8cc8-8cc9, U+8ccb, U+8ccd-8ccf, U+8cd2, U+8cd5-8cd6, U+8cd9-8cda, U+8cdd, U+8ce1, U+8ce3-8ce4, U+8ce6, U+8ce8, U+8cec, U+8cef-8cf2, U+8cf4-8cf5, U+8cf7-8cf8, U+8cfa-8cfb, U+8cfd-8cff, U+8d01, U+8d03-8d04, U+8d07, U+8d09-8d0b, U+8d0d-8d10, U+8d12-8d14, U+8d16-8d17, U+8d1b-8d1d, U+8d65, U+8d67, U+8d69, U+8d6b-8d6e, U+8d71, U+8d73, U+8d76, U+8d7f, U+8d81-8d82, U+8d84, U+8d88, U+8d8d, U+8d90-8d91, U+8d95, U+8d99, U+8d9e-8da0, U+8da6, U+8da8, U+8dab-8dac, U+8daf, U+8db2, U+8db5, U+8db7, U+8db9-8dbc, U+8dbe;
}
/* [16] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-16-BsY0Gn0H.woff2') format('woff2');
  unicode-range: U+8973-8975, U+8977, U+897a-897e, U+8980, U+8983, U+8988-898a, U+898d, U+8990, U+8993-8995, U+8998, U+899b-899c, U+899f-89a1, U+89a5-89a6, U+89a9, U+89ac, U+89af-89b0, U+89b2, U+89b4-89b7, U+89ba, U+89bc-89bd, U+89bf-89c1, U+89d4-89d8, U+89da, U+89dc-89dd, U+89e5, U+89e7, U+89e9, U+89eb, U+89ed, U+89f1, U+89f3-89f4, U+89f6, U+89f8-89f9, U+89fd, U+89ff, U+8a01, U+8a04-8a05, U+8a07, U+8a0c, U+8a0f-8a12, U+8a14-8a16, U+8a1b, U+8a1d-8a1e, U+8a20-8a22, U+8a24-8a26, U+8a2b-8a2c, U+8a2f, U+8a35-8a37, U+8a3b, U+8a3d-8a3e, U+8a40-8a41, U+8a43, U+8a45-8a49, U+8a4d-8a4e, U+8a51-8a54, U+8a56-8a58, U+8a5b-8a5d, U+8a61-8a62, U+8a65, U+8a67, U+8a6c-8a6d, U+8a75-8a77, U+8a79-8a7c, U+8a7e-8a80, U+8a82-8a86, U+8a8b, U+8a8f-8a92, U+8a96-8a97, U+8a99-8a9a, U+8a9f, U+8aa1, U+8aa3, U+8aa5-8aaa, U+8aae-8aaf, U+8ab3, U+8ab6-8ab7, U+8abb-8abc, U+8abe, U+8ac2-8ac4, U+8ac6, U+8ac8-8aca, U+8acc-8acd, U+8ad0-8ad1, U+8ad3-8ad5, U+8ad7, U+8ada-8ae2, U+8ae4, U+8ae7, U+8aeb-8aec, U+8aee, U+8af0-8af1, U+8af3-8af7, U+8afa, U+8afc, U+8aff, U+8b01-8b02, U+8b04-8b07, U+8b0a-8b0d, U+8b0f-8b11, U+8b14, U+8b16, U+8b1a, U+8b1c, U+8b1e-8b20, U+8b26, U+8b28, U+8b2b-8b2c;
}
/* [17] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-17-D2i3DvA9.woff2') format('woff2');
  unicode-range: U+87e2-87e6, U+87ea-87ed, U+87ef, U+87f1, U+87f3, U+87f5-87f8, U+87fa-87fb, U+87fe-87ff, U+8801, U+8803, U+8805-8807, U+8809-880b, U+880d-8816, U+8818-881c, U+881e-881f, U+8821-8822, U+8827-8828, U+882d-882e, U+8830-8832, U+8835-8836, U+8839-883c, U+8841-8845, U+8848-884b, U+884d-884e, U+8851-8852, U+8855-8856, U+8858-885a, U+885c, U+885e-8860, U+8862, U+8864, U+8869, U+886b, U+886e-886f, U+8871-8872, U+8875, U+8877, U+8879, U+887b, U+887d-887e, U+8880-8882, U+8888, U+888d, U+8892, U+8897-889c, U+889e-88a0, U+88a2, U+88a4, U+88a8, U+88aa, U+88ae, U+88b0-88b1, U+88b5, U+88b7, U+88ba, U+88bc-88c0, U+88c3-88c4, U+88c6, U+88ca-88ce, U+88d1-88d4, U+88d8-88d9, U+88db, U+88dd-88e1, U+88e7-88e8, U+88ef-88f2, U+88f4-88f5, U+88f7, U+88f9, U+88fc, U+8901-8902, U+8904, U+8906, U+890a, U+890c-890f, U+8913, U+8915-8916, U+8918-891a, U+891c-891e, U+8920, U+8925-8928, U+892a-892b, U+8930-8932, U+8935-893b, U+893e, U+8940-8946, U+8949, U+894c-894d, U+894f, U+8952, U+8956-8957, U+895a-895c, U+895e, U+8960-8964, U+8966, U+896a-896b, U+896d-8970;
}
/* [18] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-18-CMq1ZffM.woff2') format('woff2');
  unicode-range: U+8655-8659, U+865b, U+865d-8664, U+8667, U+8669, U+866c, U+866f, U+8671, U+8675-8677, U+867a-867b, U+867d, U+8687-8689, U+868b-868d, U+8691, U+8693, U+8695-8696, U+8698, U+869a, U+869c-869d, U+86a1, U+86a3-86a4, U+86a6-86ab, U+86ad, U+86af-86b1, U+86b3-86b9, U+86bf-86c1, U+86c3-86c6, U+86c9, U+86cb, U+86ce, U+86d1-86d2, U+86d4-86d5, U+86d7, U+86da, U+86dc, U+86de-86e0, U+86e3-86e7, U+86e9, U+86ec-86ed, U+86ef, U+86f8-86fe, U+8700, U+8703-870b, U+870d-8714, U+8719-871a, U+871e-871f, U+8721-8723, U+8725, U+8728-8729, U+872e-872f, U+8731-8732, U+8734, U+8737, U+8739-8740, U+8743, U+8745, U+8749, U+874b-874e, U+8751, U+8753, U+8755, U+8757-8759, U+875d, U+875f-8761, U+8763-8766, U+8768, U+876a, U+876e-876f, U+8771-8772, U+8774, U+8778, U+877b-877c, U+877f, U+8782-8789, U+878b-878c, U+878e, U+8790, U+8793, U+8795, U+8797-8799, U+879e-87a0, U+87a2-87a3, U+87a7, U+87ab-87af, U+87b1, U+87b3, U+87b5, U+87bb, U+87bd-87c1, U+87c4, U+87c6-87cb, U+87ce, U+87d0, U+87d2, U+87d5-87d6, U+87d9-87da, U+87dc, U+87df-87e0;
}
/* [19] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-19-Cjbd0yLE.woff2') format('woff2');
  unicode-range: U+84b4, U+84b9-84bb, U+84bd-84c2, U+84c6-84ca, U+84cc-84d1, U+84d3, U+84d6, U+84d9-84da, U+84dc, U+84e7, U+84ea, U+84ec, U+84ef-84f2, U+84f4, U+84f7, U+84fa-84fd, U+84ff-8500, U+8502-8503, U+8506-8507, U+850c, U+850e, U+8510, U+8514-8515, U+8517-8518, U+851a-851c, U+851e-851f, U+8521-8525, U+8527, U+852a-852c, U+852f, U+8532-8534, U+8536, U+853e-8541, U+8543, U+8546, U+8548, U+854a-854b, U+854f-8553, U+8555-855a, U+855c-8564, U+8569-856b, U+856d, U+856f, U+8577, U+8579-857b, U+857d-8581, U+8585-8586, U+8588-858c, U+858f-8591, U+8593, U+8597-8598, U+859b-859d, U+859f-85a0, U+85a2, U+85a4-85a5, U+85a7-85a8, U+85ad-85b0, U+85b4, U+85b6-85ba, U+85bc-85bf, U+85c1-85c2, U+85c7, U+85c9-85cb, U+85ce-85d0, U+85d5, U+85d8-85da, U+85dc, U+85df-85e1, U+85e5-85e6, U+85e8, U+85ed, U+85f3-85f4, U+85f6-85f7, U+85f9-85fa, U+85fc, U+85fe-8600, U+8602, U+8604-8606, U+860a-860b, U+860d-860e, U+8610-8613, U+8616-861b, U+861e, U+8621-8622, U+8624, U+8627, U+8629, U+862f-8630, U+8636, U+8638-863a, U+863c-863d, U+863f-8642, U+8646, U+864d, U+8652-8654;
}
/* [20] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-20-BiHMG8MD.woff2') format('woff2');
  unicode-range: U+82e8, U+82ea, U+82ed, U+82ef, U+82f3-82f4, U+82f6-82f7, U+82f9, U+82fb, U+82fd-82fe, U+8300-8301, U+8303, U+8306-8308, U+830a-830c, U+8316-8318, U+831b, U+831d-831f, U+8321-8323, U+832b-8335, U+8337, U+833a, U+833c-833d, U+8340, U+8342-8347, U+834a, U+834d-8351, U+8353-8357, U+835a, U+8362-8363, U+8370, U+8373, U+8375, U+8378, U+837c-837d, U+837f-8380, U+8382, U+8384-8387, U+838a, U+838d-838e, U+8392-8396, U+8398-83a0, U+83a2, U+83a6-83ad, U+83b1, U+83b5, U+83bd-83c1, U+83c7, U+83c9, U+83ce-83d1, U+83d4, U+83d6, U+83d8, U+83dd, U+83df-83e1, U+83e5, U+83e8, U+83ea-83eb, U+83f0, U+83f2, U+83f4, U+83f6-83f9, U+83fb-83fd, U+8401, U+8403-8404, U+8406-8407, U+840a-840b, U+840d, U+840f, U+8411, U+8413, U+8415, U+8417, U+8419, U+8420, U+8422, U+842a, U+842f, U+8431, U+8435, U+8438-8439, U+843c, U+8445-8448, U+844a, U+844d-844f, U+8451-8452, U+8456, U+8458-845a, U+845c, U+845f-8462, U+8464-8467, U+8469-846b, U+846d-8470, U+8473-8474, U+8476-847a, U+847c-847d, U+8481-8482, U+8484-8485, U+848b, U+8490, U+8492-8493, U+8495, U+8497, U+849c, U+849e-849f, U+84a1, U+84a6, U+84a8-84aa, U+84ad, U+84af, U+84b1;
}
/* [21] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-21-Cf9F1bmW.woff2') format('woff2');
  unicode-range: U+814a, U+814c, U+8151-8153, U+8157, U+815f-8161, U+8165-8169, U+816d-816f, U+8171, U+8173-8174, U+8177, U+8180-8186, U+8188, U+818a-818b, U+818e, U+8190, U+8193, U+8195-8196, U+8198, U+819b, U+819e, U+81a0, U+81a2, U+81a4, U+81a9, U+81ae, U+81b0, U+81b2, U+81b4-81b5, U+81b8, U+81ba-81bb, U+81bd-81be, U+81c0-81c3, U+81c5-81c6, U+81c8-81cb, U+81cd-81cf, U+81d1, U+81d5-81db, U+81dd-81e1, U+81e4-81e5, U+81e7, U+81eb-81ec, U+81ef-81f2, U+81f5-81f6, U+81f8-81fb, U+81fd-8205, U+8209-820b, U+820d, U+820f, U+8212-8214, U+8216, U+8219-821d, U+8221-8222, U+8228-8229, U+822b, U+822e, U+8232-8235, U+8237-8238, U+823a, U+823c, U+8240, U+8243-8246, U+8249, U+824b, U+824e-824f, U+8251, U+8256-825a, U+825c-825d, U+825f-8260, U+8262-8264, U+8267-8268, U+826a-826b, U+826d-826e, U+8271, U+8274, U+8277, U+8279, U+827b, U+827d-8281, U+8283-8284, U+8287, U+8289-828a, U+828d-828e, U+8291-8294, U+8296, U+8298-829b, U+829f-82a1, U+82a3-82a4, U+82a7-82ac, U+82ae, U+82b0, U+82b2, U+82b4, U+82b7, U+82ba-82bc, U+82be-82bf, U+82c5-82c6, U+82d0, U+82d2-82d3, U+82d5, U+82d9-82da, U+82dc, U+82de-82e4, U+82e7;
}
/* [22] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-22-ZQos2DRj.woff2') format('woff2');
  unicode-range: U+7f77-7f79, U+7f7d-7f80, U+7f82-7f83, U+7f86-7f88, U+7f8b-7f8d, U+7f8f-7f91, U+7f94, U+7f96-7f97, U+7f9a, U+7f9c-7f9d, U+7fa1-7fa3, U+7fa6, U+7faa, U+7fad-7faf, U+7fb2, U+7fb4, U+7fb6, U+7fb8-7fb9, U+7fbc, U+7fbf-7fc0, U+7fc3, U+7fc5-7fc6, U+7fc8, U+7fca, U+7fce-7fcf, U+7fd5, U+7fdb, U+7fdf, U+7fe1, U+7fe3, U+7fe5-7fe6, U+7fe8-7fe9, U+7feb-7fec, U+7fee-7ff0, U+7ff2-7ff3, U+7ff9-7ffa, U+7ffd-7fff, U+8002, U+8004, U+8006-8008, U+800a-800f, U+8011-8014, U+8016, U+8018-8019, U+801c-8021, U+8024, U+8026, U+8028, U+802c, U+802e, U+8030, U+8034-8035, U+8037, U+8039-8040, U+8043-8044, U+8046, U+804a, U+8052, U+8058, U+805a, U+805f-8060, U+8062, U+8064, U+8066, U+8068, U+806d, U+806f-8073, U+8075-8076, U+8079, U+807b, U+807d-8081, U+8084-8088, U+808b, U+808e, U+8093, U+8099-809a, U+809c, U+809e, U+80a4, U+80a6-80a7, U+80ab-80ad, U+80b1, U+80b8-80b9, U+80c4-80c5, U+80c8, U+80ca, U+80cd, U+80cf, U+80d2, U+80d4-80db, U+80dd, U+80e0, U+80e4-80e6, U+80ed-80f3, U+80f5-80f7, U+80f9-80fc, U+80fe, U+8101, U+8103, U+8109, U+810b, U+810d, U+8116-8118, U+811b-811c, U+811e, U+8120, U+8123-8124, U+8127, U+8129, U+812b-812c, U+812f-8130, U+8135, U+8139-813a, U+813c-813e, U+8141, U+8145-8147;
}
/* [23] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-23-C2WeKgO2.woff2') format('woff2');
  unicode-range: U+7d57, U+7d59-7d5d, U+7d63, U+7d65, U+7d67, U+7d6a, U+7d6e, U+7d70, U+7d72-7d73, U+7d78, U+7d7a-7d7b, U+7d7d, U+7d7f, U+7d81-7d83, U+7d85-7d86, U+7d88-7d89, U+7d8b-7d8d, U+7d8f, U+7d91, U+7d93, U+7d96-7d97, U+7d9b-7da0, U+7da2-7da3, U+7da6-7da7, U+7daa-7dac, U+7dae-7db0, U+7db3, U+7db5-7db9, U+7dbd, U+7dc0, U+7dc2-7dc7, U+7dcc-7dce, U+7dd0, U+7dd5-7dd9, U+7ddc-7dde, U+7de1-7de6, U+7dea-7ded, U+7df1-7df2, U+7df5-7df6, U+7df9-7dfa, U+7e00, U+7e05, U+7e08-7e0b, U+7e10-7e12, U+7e15, U+7e17, U+7e1c-7e1d, U+7e1f-7e23, U+7e27-7e28, U+7e2c-7e2d, U+7e2f, U+7e31-7e33, U+7e35-7e37, U+7e39-7e3b, U+7e3d, U+7e3f, U+7e43-7e48, U+7e4e, U+7e50, U+7e52, U+7e56, U+7e58-7e5a, U+7e5d-7e5f, U+7e61-7e62, U+7e65-7e67, U+7e69-7e6b, U+7e6d-7e6f, U+7e73, U+7e75, U+7e78-7e79, U+7e7b-7e7f, U+7e81-7e83, U+7e86-7e8a, U+7e8c-7e8e, U+7e90-7e96, U+7e98, U+7e9a-7e9f, U+7f38, U+7f3a-7f3f, U+7f43-7f45, U+7f47, U+7f4c-7f50, U+7f52-7f55, U+7f58, U+7f5b-7f5d, U+7f5f, U+7f61, U+7f63-7f69, U+7f6b, U+7f6d, U+7f71;
}
/* [24] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-24-BIK1l9kl.woff2') format('woff2');
  unicode-range: U+7bc8, U+7bca-7bcc, U+7bcf, U+7bd4, U+7bd6-7bd7, U+7bd9-7bdb, U+7bdd, U+7be5-7be6, U+7be8-7bea, U+7bf0, U+7bf2-7bfa, U+7bfc, U+7bfe, U+7c00-7c04, U+7c06-7c07, U+7c09, U+7c0b-7c0f, U+7c11-7c14, U+7c17, U+7c19, U+7c1b, U+7c1e-7c20, U+7c23, U+7c25-7c28, U+7c2a-7c2c, U+7c2f, U+7c31, U+7c33-7c34, U+7c36-7c3a, U+7c3d-7c3e, U+7c40, U+7c42-7c43, U+7c45-7c46, U+7c4a, U+7c4c, U+7c4f-7c5f, U+7c61, U+7c63-7c65, U+7c67, U+7c69, U+7c6c-7c70, U+7c72, U+7c75, U+7c79, U+7c7b-7c7e, U+7c81-7c83, U+7c86-7c87, U+7c8d, U+7c8f-7c90, U+7c94, U+7c9e, U+7ca0-7ca2, U+7ca4-7ca6, U+7ca8, U+7cab, U+7cad-7cae, U+7cb0-7cb3, U+7cb6-7cb7, U+7cb9-7cbd, U+7cbf-7cc0, U+7cc2, U+7cc4-7cc5, U+7cc7-7cca, U+7ccd-7ccf, U+7cd2-7cd5, U+7cd7-7cda, U+7cdc-7cdd, U+7cdf-7ce0, U+7ce2, U+7ce6, U+7ce9, U+7ceb, U+7cef, U+7cf2, U+7cf4-7cf6, U+7cf9-7cfa, U+7cfe, U+7d02-7d03, U+7d06-7d0a, U+7d0f, U+7d11-7d13, U+7d15-7d16, U+7d1c-7d1e, U+7d23, U+7d26, U+7d2a, U+7d2c-7d2e, U+7d31-7d32, U+7d35, U+7d3c-7d41, U+7d43, U+7d45, U+7d47-7d48, U+7d4b, U+7d4d-7d4f, U+7d51, U+7d53, U+7d55-7d56;
}
/* [25] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-25-Yn_SuXnW.woff2') format('woff2');
  unicode-range: U+7a17-7a19, U+7a1b, U+7a1e-7a21, U+7a27, U+7a2b, U+7a2d, U+7a2f-7a31, U+7a34-7a35, U+7a37-7a3b, U+7a3e, U+7a43-7a49, U+7a4c, U+7a4e, U+7a50, U+7a55-7a57, U+7a59, U+7a5c-7a5d, U+7a5f-7a63, U+7a65, U+7a67, U+7a69-7a6a, U+7a6d, U+7a70, U+7a75, U+7a78-7a79, U+7a7d-7a7e, U+7a80, U+7a82, U+7a84-7a86, U+7a88, U+7a8a-7a8b, U+7a90-7a91, U+7a94-7a98, U+7a9e, U+7aa0, U+7aa3, U+7aa9, U+7aac, U+7ab0, U+7ab3, U+7ab5-7ab6, U+7ab9-7abf, U+7ac3, U+7ac5-7aca, U+7acc-7acf, U+7ad1-7ad3, U+7ad5, U+7ada-7adb, U+7add, U+7adf, U+7ae1-7ae2, U+7ae6-7aed, U+7af0-7af1, U+7af4, U+7af8, U+7afa-7afb, U+7afd-7afe, U+7b02, U+7b04, U+7b06-7b08, U+7b0a-7b0b, U+7b0f, U+7b12, U+7b14, U+7b18-7b19, U+7b1e-7b1f, U+7b23, U+7b25, U+7b27-7b2b, U+7b2d-7b31, U+7b33-7b36, U+7b3b, U+7b3d, U+7b3f-7b41, U+7b45, U+7b47, U+7b4c-7b50, U+7b53, U+7b55, U+7b5d, U+7b60, U+7b64-7b66, U+7b69-7b6a, U+7b6c-7b75, U+7b77, U+7b79-7b7a, U+7b7f, U+7b84, U+7b86, U+7b89, U+7b8d-7b92, U+7b96, U+7b98-7ba0, U+7ba5, U+7bac-7bad, U+7baf-7bb0, U+7bb2, U+7bb4-7bb6, U+7bba-7bbd, U+7bc1-7bc2, U+7bc5-7bc6;
}
/* [26] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-26-DvhHYk-k.woff2') format('woff2');
  unicode-range: U+7851-7852, U+785c, U+785e, U+7860-7861, U+7863-7864, U+7868, U+786a, U+786e-786f, U+7872, U+7874, U+787a, U+787c, U+787e, U+7886-7887, U+788a, U+788c-788f, U+7893-7895, U+7898, U+789a, U+789d-789f, U+78a1, U+78a3-78a4, U+78a8-78aa, U+78ac-78ad, U+78af-78b3, U+78b5, U+78bb-78bf, U+78c5-78cc, U+78ce, U+78d1-78d6, U+78da-78db, U+78df-78e1, U+78e4, U+78e6-78e7, U+78ea, U+78ec, U+78f2-78f4, U+78f6-78f7, U+78f9-78fb, U+78fd-7901, U+7906-7907, U+790c, U+7910-7912, U+7919-791c, U+791e-7920, U+7925-792e, U+7930-7931, U+7934-7935, U+793b, U+793d, U+793f, U+7941-7942, U+7944-7946, U+794a-794b, U+794f, U+7951, U+7954-7955, U+7957-7958, U+795a-795c, U+795f-7960, U+7962, U+7967, U+7969, U+796b, U+7972, U+7977, U+7979-797c, U+797e-7980, U+798a-798e, U+7991, U+7993-7996, U+7998, U+799b-799d, U+79a1, U+79a6-79ab, U+79ae-79b1, U+79b3-79b4, U+79b8-79bb, U+79bd-79be, U+79c2, U+79c4, U+79c7-79ca, U+79cc-79cd, U+79cf, U+79d4-79d6, U+79da, U+79dd-79e3, U+79e5, U+79e7, U+79ea-79ed, U+79f1, U+79f8, U+79fc, U+7a02-7a03, U+7a05, U+7a07-7a0a, U+7a0c-7a0d, U+7a11, U+7a15;
}
/* [27] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-27-C-hOl6tz.woff2') format('woff2');
  unicode-range: U+768c-768e, U+7690, U+7693, U+7695-7696, U+7699-76a8, U+76aa, U+76ad, U+76af-76b0, U+76b4, U+76b6-76ba, U+76bd, U+76c1-76c3, U+76c5, U+76c8-76c9, U+76cb-76ce, U+76d2, U+76d4, U+76d6, U+76d9, U+76dc, U+76de, U+76e0-76e1, U+76e5-76e8, U+76ea-76ec, U+76f0-76f1, U+76f6, U+76f9, U+76fb-76fc, U+7700, U+7704, U+7706-7708, U+770a, U+770e, U+7712, U+7714-7715, U+7717, U+7719-771c, U+7722, U+7724-7726, U+7728, U+772d-772f, U+7734-7739, U+773d-773e, U+7742, U+7745-7747, U+774a, U+774d-774f, U+7752, U+7756-7758, U+775a-775c, U+775e-7760, U+7762, U+7764-7765, U+7767, U+776a-776c, U+7770, U+7772-7774, U+7779-777a, U+777c-7780, U+7784, U+778b-778e, U+7794-7796, U+779a, U+779e-77a0, U+77a2, U+77a4-77a5, U+77a7, U+77a9-77aa, U+77ae-77b1, U+77b5-77b7, U+77b9, U+77bb-77bf, U+77c3, U+77c7, U+77c9, U+77cd, U+77d1-77d2, U+77d5, U+77d7, U+77d9-77da, U+77dc, U+77de-77e0, U+77e3-77e4, U+77e6-77e7, U+77e9-77ea, U+77ec, U+77ee, U+77f0-77f1, U+77f4, U+77f8, U+77fb-77fc, U+7805-7806, U+7809, U+780c-780e, U+7811-7812, U+7819, U+781d, U+7820-7823, U+7826-7827, U+782c-782e, U+7830, U+7835, U+7837, U+783a, U+783f, U+7843-7845, U+7847-7848, U+784c, U+784e-784f;
}
/* [28] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-28-Cdk1beHg.woff2') format('woff2');
  unicode-range: U+7511-7513, U+7515-7517, U+751c, U+751e, U+7520-7522, U+7524, U+7526-7527, U+7529-752c, U+752f, U+7536, U+7538-7539, U+753c-7540, U+7543-7544, U+7546-754b, U+754d-7550, U+7552, U+7557, U+755a-755b, U+755d-755f, U+7561-7562, U+7564, U+7566-7567, U+7569, U+756b-756d, U+756f, U+7571-7572, U+7574-757e, U+7581-7582, U+7585-7587, U+7589-758c, U+758f-7590, U+7592-7595, U+7599-759a, U+759c-759d, U+75a2-75a5, U+75b0-75b1, U+75b3-75b5, U+75b7-75b8, U+75ba, U+75bd, U+75bf-75c4, U+75c6, U+75ca, U+75cc-75cf, U+75d3-75d4, U+75d7-75d8, U+75dc-75e1, U+75e3-75e4, U+75e7, U+75ec, U+75ee-75f3, U+75f9, U+75fc, U+75fe-7604, U+7607-760c, U+760f, U+7612-7613, U+7615-7616, U+7618-7619, U+761b-7629, U+762d, U+7630, U+7632-7635, U+7638-763c, U+7640-7641, U+7643-764b, U+764e, U+7655, U+7658-7659, U+765c, U+765f, U+7661-7662, U+7664-7665, U+7667-766a, U+766c-7672, U+7674, U+7676, U+7678, U+7680-7683, U+7685, U+7688, U+768b;
}
/* [29] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-29-3PeXnD9P.woff2') format('woff2');
  unicode-range: U+736c, U+736e-7371, U+7375, U+7377-737c, U+7380-7381, U+7383, U+7385-7386, U+738a, U+738e, U+7390, U+7393-7398, U+739c, U+739e-73a0, U+73a2, U+73a5-73a6, U+73a8, U+73aa-73ab, U+73ad, U+73b3, U+73b5, U+73b7, U+73b9-73bd, U+73bf, U+73c5-73c6, U+73c9-73cc, U+73ce-73cf, U+73d2-73d3, U+73d6, U+73d9, U+73dd-73de, U+73e1, U+73e3-73e7, U+73e9-73ea, U+73ee, U+73f1, U+73f4-73f5, U+73f7-73fb, U+73fd, U+73ff-7401, U+7404-7405, U+7407, U+740a, U+7411, U+7413, U+741a-741b, U+7421, U+7424, U+7426, U+7428-7431, U+7433, U+7439-743a, U+743f-7441, U+7443-7444, U+7446-7447, U+744b, U+744d, U+7451-7453, U+7455, U+7457, U+7459-745a, U+745c-745d, U+745f, U+7462-7464, U+7466-746b, U+746d-7473, U+7476, U+747e, U+7480-7481, U+7485-7489, U+748b, U+748f-7492, U+7497-749a, U+749c, U+749e-74a3, U+74a5-74a6, U+74a8-74ab, U+74ae-74af, U+74b1-74b2, U+74b5, U+74b9-74bb, U+74bd, U+74bf, U+74c8-74ca, U+74cc, U+74cf-74d0, U+74d3-74d4, U+74d6, U+74d8, U+74da-74db, U+74de-74e0, U+74e3-74e4, U+74e7-74eb, U+74ee-74f2, U+74f4, U+74f7-74f8, U+74fa-74fc, U+74ff, U+7501, U+7503-7506, U+750c-750e;
}
/* [30] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-30-E6glQKld.woff2') format('woff2');
  unicode-range: U+7166, U+7168, U+716c, U+7179, U+7180, U+7184-7185, U+7187-7188, U+718c, U+718f, U+7192, U+7194-7196, U+7199-719b, U+71a0, U+71a2, U+71a8, U+71ac, U+71ae-71b0, U+71b2-71b3, U+71b9-71ba, U+71be-71c1, U+71c4, U+71c9, U+71cb-71cc, U+71ce, U+71d0, U+71d2-71d4, U+71d6-71d7, U+71d9-71da, U+71dc, U+71df-71e0, U+71e6-71e7, U+71ec-71ee, U+71f4-71f5, U+71f8-71f9, U+71fc, U+71fe-7200, U+7207-7209, U+720d, U+7210, U+7213, U+7215, U+7217, U+721a, U+721d, U+721f, U+7224, U+7228, U+722b, U+722d, U+722f-7230, U+7232, U+7234, U+7238-7239, U+723b-723c, U+723e-7243, U+7245-7246, U+724b, U+724e-7250, U+7252-7253, U+7255-7258, U+725a, U+725c, U+725e, U+7260, U+7263, U+7268, U+726b, U+726e-726f, U+7271, U+7274, U+7277-7278, U+727b-727c, U+727e-7282, U+7284, U+7287, U+7289, U+728d-728e, U+7292-7293, U+7296, U+729b, U+72a2, U+72a7-72a8, U+72ad-72ae, U+72b0-72b2, U+72b4, U+72b9, U+72be, U+72c0-72c1, U+72c3-72c4, U+72c6-72c7, U+72c9, U+72cc, U+72ce, U+72d2, U+72d5-72d6, U+72d8, U+72df-72e2, U+72e5, U+72f3-72f4, U+72f7, U+72f9-72fb, U+72fd-72fe, U+7302, U+7304-7305, U+7307, U+730a-730b, U+730d, U+7312-7313, U+7316-7319, U+731c-731e, U+7322, U+7324, U+7327-7329, U+732c, U+732f, U+7331-7337, U+7339-733b, U+733d-733e, U+7343, U+734d-7350, U+7352, U+7356-7358, U+735d-7360, U+7366-736b;
}
/* [31] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-31-CqKsyk4l.woff2') format('woff2');
  unicode-range: U+6f58-6f5b, U+6f5d-6f5e, U+6f60-6f62, U+6f66, U+6f68, U+6f6c-6f6d, U+6f6f, U+6f74, U+6f78, U+6f7a, U+6f7c-6f7e, U+6f80, U+6f82-6f83, U+6f86-6f88, U+6f8b-6f8e, U+6f90-6f94, U+6f96-6f98, U+6f9a, U+6f9d, U+6f9f-6fa1, U+6fa3, U+6fa5-6fa8, U+6fae-6fb1, U+6fb3, U+6fb5-6fb7, U+6fb9, U+6fbc, U+6fbe, U+6fc2, U+6fc5-6fca, U+6fd4-6fd5, U+6fd8, U+6fda-6fdb, U+6fde-6fe0, U+6fe4, U+6fe8-6fe9, U+6feb-6fec, U+6fee, U+6ff0, U+6ff3, U+6ff5-6ff6, U+6ff9-6ffa, U+6ffc-6ffe, U+7000-7001, U+7005-7007, U+7009-700b, U+700d, U+700f, U+7011, U+7015, U+7017-7018, U+701a-701b, U+701d-7020, U+7023, U+7026, U+7028, U+702f-7030, U+7032, U+7034, U+7037, U+7039-703a, U+703c, U+703e, U+7043-7044, U+7047-704c, U+704e, U+7051, U+7054-7055, U+705d-705e, U+7064-7065, U+7069, U+706c, U+706e, U+7075-7076, U+707e, U+7081, U+7085-7086, U+7094-7098, U+709b, U+709f, U+70a4, U+70ab-70ac, U+70ae-70b1, U+70b3-70b4, U+70b7, U+70bb, U+70ca-70cb, U+70d1, U+70d3-70d6, U+70d8-70d9, U+70dc-70dd, U+70df, U+70e4, U+70ec, U+70f1, U+70fa, U+70fd, U+7103-7108, U+710b-710c, U+710f, U+7114, U+7119, U+711c, U+711e, U+7120, U+712b, U+712d-7131, U+7138, U+7141, U+7145-7147, U+7149-714b, U+7150-7153, U+7155-7157, U+715a, U+715c, U+715e, U+7160, U+7162, U+7164-7165;
}
/* [32] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-32-BP0VLHkA.woff2') format('woff2');
  unicode-range: U+6d7c, U+6d80-6d82, U+6d85, U+6d87, U+6d89-6d8a, U+6d8c-6d8e, U+6d91-6d98, U+6d9c, U+6daa-6dac, U+6dae, U+6db4-6db5, U+6db7-6db9, U+6dbd, U+6dbf, U+6dc2, U+6dc4-6dc8, U+6dca, U+6dcc, U+6dce-6dd0, U+6dd2, U+6dd5-6dd6, U+6dd8-6ddb, U+6ddd-6de0, U+6de2, U+6de4-6de6, U+6de8-6dea, U+6dec, U+6dee-6df0, U+6df2, U+6df4, U+6df6, U+6df8-6dfa, U+6dfc, U+6e00, U+6e04, U+6e0a, U+6e17, U+6e19, U+6e1d-6e20, U+6e22-6e25, U+6e27, U+6e2b, U+6e2d-6e2e, U+6e32, U+6e34, U+6e36, U+6e38-6e3c, U+6e42-6e45, U+6e48-6e49, U+6e4b-6e4f, U+6e51-6e54, U+6e57, U+6e5b-6e5f, U+6e62-6e63, U+6e68, U+6e6b, U+6e6e, U+6e72-6e73, U+6e76, U+6e7b, U+6e7d, U+6e82, U+6e89, U+6e8c-6e8d, U+6e8f, U+6e93, U+6e98-6e99, U+6e9f-6ea0, U+6ea5, U+6ea7, U+6eaa-6eab, U+6ead-6eaf, U+6eb1-6eb4, U+6eb7, U+6ebb-6ebd, U+6ebf-6ec4, U+6ec7-6eca, U+6ecc-6ecf, U+6ed3-6ed5, U+6ed9-6edb, U+6ee6, U+6eeb-6eef, U+6ef7-6ef9, U+6efb, U+6efd-6eff, U+6f04, U+6f08-6f0a, U+6f0c-6f0d, U+6f10-6f11, U+6f13, U+6f15-6f16, U+6f18, U+6f1a-6f1b, U+6f25-6f26, U+6f29-6f2a, U+6f2d, U+6f2f-6f33, U+6f35-6f36, U+6f38, U+6f3b-6f3c, U+6f3e-6f3f, U+6f41, U+6f45, U+6f4f, U+6f51-6f53, U+6f57;
}
/* [33] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-33-oOodNVOa.woff2') format('woff2');
  unicode-range: U+6b85, U+6b89, U+6b8d, U+6b95, U+6b97-6b98, U+6b9b, U+6b9e-6ba0, U+6ba2-6ba4, U+6ba8-6bb3, U+6bb7-6bb9, U+6bbc-6bbe, U+6bc0, U+6bc3-6bc4, U+6bc6-6bc9, U+6bcb-6bcc, U+6bcf, U+6bd3, U+6bd6-6bd8, U+6bda, U+6bdf, U+6be1, U+6be3, U+6be6-6be7, U+6beb-6bec, U+6bee, U+6bf1, U+6bf3, U+6bf7, U+6bf9, U+6bff, U+6c02, U+6c04-6c05, U+6c08-6c0a, U+6c0d-6c0e, U+6c10, U+6c12-6c14, U+6c19, U+6c1b, U+6c1f, U+6c24, U+6c26-6c28, U+6c2c, U+6c2e, U+6c33, U+6c35-6c36, U+6c3a-6c3b, U+6c3e-6c40, U+6c4a-6c4b, U+6c4d, U+6c4f, U+6c52, U+6c54-6c55, U+6c59, U+6c5b-6c5e, U+6c62, U+6c67-6c68, U+6c6a-6c6b, U+6c6d, U+6c6f, U+6c73-6c74, U+6c76, U+6c78-6c79, U+6c7b, U+6c7e, U+6c81-6c87, U+6c89, U+6c8c-6c8d, U+6c90, U+6c92-6c95, U+6c97-6c98, U+6c9a-6c9c, U+6c9f, U+6caa-6cae, U+6cb0-6cb2, U+6cb4, U+6cba, U+6cbd-6cbe, U+6cc2, U+6cc5-6cc6, U+6ccd, U+6ccf-6cd4, U+6cd6-6cd7, U+6cd9-6cdd, U+6ce0, U+6ce7, U+6ce9-6cef, U+6cf1-6cf2, U+6cf4, U+6cfb, U+6d00-6d01, U+6d04, U+6d07, U+6d0a, U+6d0c, U+6d0e-6d0f, U+6d11, U+6d13, U+6d19-6d1a, U+6d1f, U+6d24, U+6d26-6d28, U+6d2b, U+6d2e-6d2f, U+6d31, U+6d33-6d36, U+6d38-6d39, U+6d3c-6d3d, U+6d3f, U+6d57-6d5b, U+6d5e-6d61, U+6d64-6d65, U+6d67, U+6d6c, U+6d6f-6d70, U+6d79;
}
/* [34] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-34-BMrT-UzU.woff2') format('woff2');
  unicode-range: U+69dd-69de, U+69e2-69e3, U+69e5, U+69e7-69eb, U+69ed-69ef, U+69f1-69f6, U+69f9, U+69fe-6a01, U+6a03, U+6a05, U+6a0a, U+6a0c, U+6a0f, U+6a11-6a15, U+6a17, U+6a1a-6a1b, U+6a1d-6a20, U+6a22-6a24, U+6a28, U+6a2e, U+6a30, U+6a32-6a38, U+6a3b, U+6a3e-6a3f, U+6a44-6a4a, U+6a4e, U+6a50-6a52, U+6a54-6a56, U+6a5b, U+6a61-6a62, U+6a64, U+6a66-6a67, U+6a6a-6a6b, U+6a71-6a73, U+6a78, U+6a7a, U+6a7e-6a7f, U+6a81, U+6a83-6a84, U+6a86-6a87, U+6a89, U+6a8b, U+6a8d, U+6a90-6a91, U+6a94, U+6a97, U+6a9b, U+6a9d-6aa3, U+6aa5, U+6aaa-6aac, U+6aae-6ab1, U+6ab3-6ab4, U+6ab8, U+6abb, U+6abd-6abf, U+6ac1-6ac3, U+6ac6, U+6ac8-6ac9, U+6acc, U+6ad0-6ad1, U+6ad3-6ad6, U+6ada-6adf, U+6ae2, U+6ae4, U+6ae7-6ae8, U+6aea, U+6aec, U+6af0-6af3, U+6af8, U+6afa, U+6afc-6afd, U+6b02-6b03, U+6b06-6b07, U+6b09-6b0b, U+6b0f-6b12, U+6b16-6b17, U+6b1b, U+6b1d-6b1f, U+6b23-6b24, U+6b28, U+6b2b-6b2c, U+6b2f, U+6b35-6b39, U+6b3b, U+6b3d, U+6b3f, U+6b43, U+6b46-6b47, U+6b49-6b4a, U+6b4d-6b4e, U+6b50, U+6b52, U+6b54, U+6b56, U+6b58-6b59, U+6b5b, U+6b5d, U+6b5f-6b61, U+6b65, U+6b67, U+6b6b-6b6c, U+6b6e, U+6b70, U+6b72, U+6b75, U+6b77-6b7a, U+6b7d-6b84;
}
/* [35] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-35-DDpEu_kq.woff2') format('woff2');
  unicode-range: U+6855, U+6857-6859, U+685b, U+685d, U+685f, U+6863, U+6867, U+686b, U+686e-6872, U+6874-6875, U+6877, U+6879-687c, U+687e-687f, U+6882-6884, U+6886, U+6888, U+688d-6890, U+6894, U+6896, U+6898-689c, U+689f-68a3, U+68a5-68a7, U+68a9-68ab, U+68ad-68af, U+68b2-68b5, U+68b9-68bc, U+68c3, U+68c5-68c6, U+68c8-68ca, U+68cc-68cd, U+68cf-68d1, U+68d3-68d9, U+68dc-68dd, U+68e0-68e1, U+68e3-68e5, U+68e7-68e8, U+68ea-68ed, U+68ef-68f1, U+68f5-68f7, U+68f9, U+68fb-68fd, U+6900-6901, U+6903-6904, U+6906-690c, U+690f-6911, U+6913, U+6916-6917, U+6919-691b, U+6921-6923, U+6925-6926, U+6928, U+692a, U+6930-6931, U+6933-6936, U+6938-6939, U+693b, U+693d, U+6942, U+6945-6946, U+6949, U+694e, U+6954, U+6957, U+6959, U+695b-695e, U+6961-6966, U+6968-696c, U+696e-6974, U+6977-697b, U+697e-6981, U+6986, U+698d, U+6991-6992, U+6994-6996, U+6998, U+699c, U+69a0-69a1, U+69a5-69a8, U+69ab, U+69ad, U+69af-69b2, U+69b4, U+69b7-69b8, U+69ba-69bc, U+69be-69c1, U+69c3, U+69c5, U+69c7-69c8, U+69ca, U+69ce-69d1, U+69d3, U+69d6-69d7, U+69d9;
}
/* [36] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-36-iOBIBBSb.woff2') format('woff2');
  unicode-range: U+667e-6680, U+6683-6684, U+6688, U+668b-668e, U+6690, U+6692, U+6698-669d, U+669f-66a0, U+66a2, U+66a4, U+66ad, U+66b1-66b3, U+66b5, U+66b8-66b9, U+66bb-66bc, U+66be-66c4, U+66c6, U+66c8-66c9, U+66cc, U+66ce-66cf, U+66d4, U+66da-66db, U+66dd, U+66df-66e0, U+66e6, U+66e8-66e9, U+66eb-66ec, U+66ee, U+66f5, U+66f7, U+66fa-66fc, U+6701, U+6705, U+6707, U+670c, U+670e-6710, U+6712-6716, U+6719, U+671c, U+671e, U+6720, U+6722, U+6725-6726, U+672e, U+6733, U+6735-6738, U+673e-673f, U+6741, U+6743, U+6745-6748, U+674c-674d, U+6753-6755, U+6759, U+675d-675e, U+6760, U+6762-6764, U+6766, U+676a, U+676c, U+676e, U+6770, U+6772-6774, U+6776-6777, U+677b-677c, U+6780-6781, U+6784-6785, U+6787, U+6789, U+678b-678c, U+678e-678f, U+6791-6793, U+6796, U+6798-6799, U+679b, U+67a1, U+67a4, U+67a6, U+67a9, U+67b0-67b5, U+67b7-67b9, U+67bb-67be, U+67c0-67c3, U+67c5-67c6, U+67c8-67c9, U+67ce, U+67d2, U+67d7-67d9, U+67db-67de, U+67e1-67e2, U+67e4, U+67e6-67e7, U+67e9, U+67ec, U+67ee-67f0, U+67f2, U+67f6-67f7, U+67f9-67fa, U+67fc, U+67fe, U+6801-6802, U+6805, U+6810, U+6814, U+6818-6819, U+681d, U+681f, U+6822, U+6827-6829, U+682b-682d, U+682f-6834, U+683b, U+683e-6840, U+6844-6846, U+6849-684a, U+684c-684e, U+6852-6854;
}
/* [37] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-37-IJp8kkQX.woff2') format('woff2');
  unicode-range: U+64d2, U+64d4-64d5, U+64d7-64d8, U+64da, U+64e0-64e1, U+64e3-64e5, U+64e7, U+64e9-64ea, U+64ed, U+64ef-64f2, U+64f4-64f7, U+64fa-64fb, U+64fd-6501, U+6504-6505, U+6508-650a, U+650f, U+6513-6514, U+6516, U+6518-6519, U+651b-651f, U+6522, U+6524, U+6526, U+6529-652c, U+652e, U+6531-6532, U+6534-6538, U+653a, U+653c-653d, U+6543-6544, U+6547-6549, U+654d-654e, U+6550, U+6552, U+6554-6556, U+6558, U+655d-6560, U+6567, U+656b, U+6572, U+6578, U+657a, U+657d, U+6581-6585, U+6588, U+658a, U+658c, U+6592, U+6595, U+6598, U+659b, U+659d, U+659f-65a1, U+65a3-65a6, U+65ab, U+65ae, U+65b2-65b5, U+65b7-65b8, U+65be-65bf, U+65c1-65c4, U+65c6, U+65c8-65c9, U+65cc, U+65ce, U+65d0, U+65d2, U+65d4, U+65d6, U+65d8-65d9, U+65db, U+65df-65e1, U+65e3, U+65f0-65f2, U+65f4-65f5, U+65f9, U+65fb-65fc, U+65fe-6600, U+6603-6604, U+6608-660a, U+660d, U+6611-6612, U+6615-6616, U+661c-661e, U+6621-6624, U+6626, U+6629-662c, U+662e, U+6630-6631, U+6633-6637, U+6639-663b, U+663f-6641, U+6644-6646, U+6648-664a, U+664c, U+664e-664f, U+6651, U+6657-6665, U+6667-6668, U+666a-666d, U+6670, U+6673, U+6675, U+6677-6679, U+667b-667c;
}
/* [38] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-38-CFVxXm7Z.woff2') format('woff2');
  unicode-range: U+62cf, U+62d1, U+62d4-62d6, U+62da, U+62dc, U+62ea, U+62ee-62ef, U+62f1-62f2, U+62f4-62f5, U+62fc-62fd, U+62ff, U+6302-6304, U+6308-630d, U+6310, U+6313, U+6316, U+6318, U+631b, U+6327, U+6329-632a, U+632d, U+6332, U+6335-6336, U+6339-633c, U+633e, U+6341-6344, U+6346, U+634a-634e, U+6350, U+6352-6354, U+6358-6359, U+635b, U+6365-6366, U+6369, U+636b-636d, U+6371-6372, U+6374-6378, U+637a, U+637c-637d, U+637f-6380, U+6382, U+6384, U+6387, U+6389-638a, U+638e-6390, U+6394-6396, U+6399-639a, U+639e, U+63a0, U+63a3-63a4, U+63a6, U+63a9, U+63ab-63af, U+63b5, U+63bd-63be, U+63c0-63c1, U+63c4-63c6, U+63c8, U+63ce, U+63d1-63d6, U+63dc, U+63e0, U+63e3, U+63e5, U+63e9-63ed, U+63f2-63f3, U+63f5-63f9, U+6406, U+6409-640a, U+640f-6410, U+6412-6414, U+6416-6418, U+641e, U+6420, U+6422, U+6424-6426, U+6428-642a, U+642f-6430, U+6434-6436, U+643d, U+643f, U+644b, U+644e-644f, U+6451-6454, U+645a-645d, U+645f-6461, U+6463, U+6467, U+646d, U+6473-6474, U+6476, U+6478-6479, U+647b, U+647d, U+6485, U+6487-6488, U+648f-6491, U+6493, U+6495, U+6498-649b, U+649d-649f, U+64a1, U+64a3, U+64a6, U+64a8-64a9, U+64ac, U+64b3, U+64bb-64bf, U+64c2, U+64c4-64c5, U+64c7, U+64c9-64cc, U+64ce, U+64d0-64d1;
}
/* [39] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-39-CAp5siRQ.woff2') format('woff2');
  unicode-range: U+6117, U+6119, U+611c, U+611e, U+6120-6122, U+6127-6128, U+612a-612c, U+6130-6131, U+6134-6137, U+6139-613a, U+613c-613f, U+6141-6142, U+6144-6147, U+6149-614a, U+614d, U+6153, U+6158-615a, U+615d-6160, U+6164-6165, U+616b-616c, U+616f, U+6171-6175, U+6177-6178, U+617b-6181, U+6183-6184, U+6187, U+618a-618b, U+618d, U+6192-6194, U+6196-619a, U+619c-619d, U+619f-61a0, U+61a5, U+61a8, U+61aa-61ae, U+61b8-61ba, U+61bc, U+61be, U+61c0-61c3, U+61c6, U+61c8, U+61ca-61cf, U+61d5, U+61dc-61df, U+61e1-61e3, U+61e5-61e9, U+61ec-61ed, U+61ef, U+61f4-61f7, U+61fa, U+61fc-6201, U+6203-6204, U+6207-620a, U+620d-620e, U+6213-6215, U+621b-621e, U+6220-6223, U+6227, U+6229-622b, U+622e, U+6230-6233, U+6236, U+6239, U+623d-623e, U+6241-6244, U+6246, U+6248, U+624c, U+624e, U+6250-6252, U+6254, U+6256, U+6258, U+625a-625c, U+625e, U+6260-6261, U+6263-6264, U+6268, U+626d, U+626f, U+6273, U+627a-627e, U+6282-6283, U+6285, U+6289, U+628d-6290, U+6292-6294, U+6296, U+6299, U+629b, U+62a6, U+62a8, U+62ac, U+62b3, U+62b6-62b7, U+62ba-62bb, U+62be-62bf, U+62c2, U+62c4, U+62c6-62c8, U+62ca, U+62ce;
}
/* [40] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-40-DQb2YPQA.woff2') format('woff2');
  unicode-range: U+5f6c-5f6d, U+5f6f, U+5f72-5f75, U+5f78, U+5f7a, U+5f7d-5f7f, U+5f82-5f83, U+5f87-5f89, U+5f8d, U+5f8f, U+5f91, U+5f96, U+5f99, U+5f9c-5f9d, U+5fa0, U+5fa2, U+5fa4, U+5fa7-5fa8, U+5fab-5fad, U+5faf-5fb1, U+5fb5, U+5fb7-5fb8, U+5fbc-5fbd, U+5fc4, U+5fc7-5fc9, U+5fcb, U+5fd0-5fd4, U+5fdd-5fde, U+5fe1-5fe2, U+5fe4, U+5fe8-5fea, U+5fec-5ff3, U+5ff6, U+5ff8, U+5ffa-5ffd, U+5fff, U+6007, U+600a, U+600d-6010, U+6013-6015, U+6017-601b, U+601f, U+6021-6022, U+6024, U+6026, U+6029, U+602b, U+602d, U+6031, U+6033, U+6035, U+603a, U+6040-6043, U+6046-604a, U+604c-604d, U+6051, U+6054-6057, U+6059-605a, U+605d, U+605f-6064, U+6067, U+606a-606c, U+6070-6071, U+6077, U+607e-607f, U+6081-6086, U+6088-608e, U+6091-6093, U+6095-6098, U+609a-609b, U+609d-609e, U+60a2, U+60a4-60a5, U+60a7-60a8, U+60b0-60b1, U+60b3-60b5, U+60b7-60b8, U+60bb, U+60bd-60be, U+60c2, U+60c4, U+60c6-60cb, U+60ce-60cf, U+60d3-60d5, U+60d8-60d9, U+60db, U+60dd-60df, U+60e1-60e2, U+60e5, U+60ee, U+60f0-60f2, U+60f4-60f8, U+60fa-60fd, U+6100, U+6102-6103, U+6106-6108, U+610a, U+610c-610e, U+6110-6114, U+6116;
}
/* [41] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-41-DyvpwvNC.woff2') format('woff2');
  unicode-range: U+5d9b, U+5d9d, U+5d9f-5da0, U+5da2, U+5da4, U+5da7, U+5dab-5dac, U+5dae, U+5db0, U+5db2, U+5db4, U+5db7-5db9, U+5dbc-5dbd, U+5dc3, U+5dc7, U+5dc9, U+5dcb-5dce, U+5dd0-5dd3, U+5dd6-5dd9, U+5ddb, U+5de0, U+5de2, U+5de4, U+5de9, U+5df2, U+5df5, U+5df8-5df9, U+5dfd, U+5dff-5e00, U+5e07, U+5e0b, U+5e0d, U+5e11-5e12, U+5e14-5e15, U+5e18-5e1b, U+5e1f-5e20, U+5e25, U+5e28, U+5e2e, U+5e32, U+5e35-5e37, U+5e3e, U+5e40, U+5e43-5e44, U+5e47, U+5e49, U+5e4b, U+5e4e, U+5e50-5e51, U+5e54, U+5e56-5e58, U+5e5b-5e5c, U+5e5e-5e5f, U+5e62, U+5e64, U+5e68, U+5e6a-5e6e, U+5e70, U+5e75-5e77, U+5e7a, U+5e7f-5e80, U+5e87, U+5e8b, U+5e8e, U+5e96, U+5e99-5e9a, U+5ea0, U+5ea2, U+5ea4-5ea5, U+5ea8, U+5eaa, U+5eac, U+5eb1, U+5eb3, U+5eb8-5eb9, U+5ebd-5ebf, U+5ec1-5ec2, U+5ec6, U+5ec8, U+5ecb-5ecc, U+5ece-5ed6, U+5ed9-5ee2, U+5ee5, U+5ee8-5ee9, U+5eeb-5eec, U+5ef0-5ef1, U+5ef3-5ef4, U+5ef8-5ef9, U+5efc-5f00, U+5f02-5f03, U+5f06-5f09, U+5f0b-5f0e, U+5f11, U+5f16-5f17, U+5f19, U+5f1b-5f1e, U+5f21-5f24, U+5f27-5f29, U+5f2b-5f30, U+5f34, U+5f36, U+5f38, U+5f3a-5f3d, U+5f3f-5f41, U+5f44-5f45, U+5f47-5f48, U+5f4a, U+5f4c-5f4e, U+5f50-5f51, U+5f54, U+5f56-5f58, U+5f5b-5f5d, U+5f60, U+5f63-5f65, U+5f67, U+5f6a;
}
/* [42] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-42-BF4bMety.woff2') format('woff2');
  unicode-range: U+5bbc, U+5bc0-5bc1, U+5bc3, U+5bc7, U+5bc9, U+5bcd-5bd0, U+5bd3-5bd4, U+5bd6-5bda, U+5bde, U+5be0-5be2, U+5be4-5be6, U+5be8, U+5beb-5bec, U+5bef-5bf1, U+5bf3-5bf6, U+5bfd, U+5c03, U+5c05, U+5c07-5c09, U+5c0c-5c0d, U+5c12-5c14, U+5c17, U+5c19, U+5c1e-5c20, U+5c22-5c24, U+5c26, U+5c28-5c2e, U+5c30, U+5c32, U+5c35-5c36, U+5c38-5c39, U+5c46, U+5c4d-5c50, U+5c53, U+5c59-5c5c, U+5c5f-5c63, U+5c67-5c69, U+5c6c-5c70, U+5c74-5c76, U+5c79-5c7d, U+5c87-5c88, U+5c8a, U+5c8c, U+5c8f, U+5c91-5c92, U+5c94, U+5c9d, U+5c9f-5ca0, U+5ca2-5ca3, U+5ca6-5ca8, U+5caa-5cab, U+5cad, U+5cb1-5cb2, U+5cb4-5cb7, U+5cba-5cbc, U+5cbe, U+5cc5, U+5cc7, U+5cc9, U+5ccb, U+5cd0, U+5cd2, U+5cd7, U+5cd9, U+5cdd, U+5ce6, U+5ce8-5cea, U+5ced-5cee, U+5cf1-5cf2, U+5cf4-5cf5, U+5cfa-5cfb, U+5cfd, U+5d01, U+5d06, U+5d0b, U+5d0d, U+5d10-5d12, U+5d14-5d15, U+5d17-5d1b, U+5d1d, U+5d1f-5d20, U+5d22-5d24, U+5d26-5d27, U+5d2b, U+5d31, U+5d34, U+5d39, U+5d3d, U+5d3f, U+5d42-5d43, U+5d46-5d48, U+5d4a-5d4b, U+5d4e, U+5d51-5d53, U+5d55, U+5d59, U+5d5c, U+5d5f-5d62, U+5d64, U+5d69-5d6a, U+5d6c-5d6d, U+5d6f-5d70, U+5d73, U+5d76, U+5d79-5d7a, U+5d7e-5d7f, U+5d81-5d84, U+5d87-5d88, U+5d8a, U+5d8c, U+5d90, U+5d92-5d95, U+5d97, U+5d99;
}
/* [43] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-43-Dm-8W25K.woff2') format('woff2');
  unicode-range: U+598b-598e, U+5992, U+5995, U+5997, U+599b, U+599d, U+599f, U+59a3-59a4, U+59a7, U+59ad-59b0, U+59b2-59b3, U+59b7, U+59ba, U+59bc, U+59be, U+59c1, U+59c3-59c4, U+59c6, U+59c8, U+59ca, U+59cd, U+59d2, U+59d9-59da, U+59dd-59df, U+59e3-59e5, U+59e7-59e8, U+59ec, U+59ee-59ef, U+59f1-59f2, U+59f4, U+59f6-59f8, U+5a00, U+5a03-5a04, U+5a09, U+5a0c-5a0e, U+5a11-5a13, U+5a17, U+5a1a-5a1c, U+5a1e-5a1f, U+5a23-5a25, U+5a27-5a28, U+5a2a, U+5a2d, U+5a30, U+5a35-5a36, U+5a40-5a41, U+5a44-5a45, U+5a47-5a49, U+5a4c, U+5a50, U+5a55, U+5a5e, U+5a62-5a63, U+5a65, U+5a67, U+5a6a, U+5a6c-5a6d, U+5a77, U+5a7a-5a7b, U+5a7e, U+5a84, U+5a8b, U+5a90, U+5a93, U+5a96, U+5a99, U+5a9c, U+5a9e-5aa0, U+5aa2, U+5aa7, U+5aac, U+5ab1-5ab3, U+5ab5, U+5ab8, U+5aba-5abf, U+5ac2, U+5ac4, U+5ac6, U+5ac8, U+5acb, U+5acf-5ad0, U+5ad6-5ad7, U+5ada, U+5adc, U+5ae0-5ae1, U+5ae3, U+5ae5-5ae6, U+5ae9-5aea, U+5aee, U+5af0, U+5af5-5af6, U+5afa-5afb, U+5afd, U+5b00-5b01, U+5b08, U+5b0b, U+5b16-5b17, U+5b19, U+5b1b, U+5b1d, U+5b21, U+5b25, U+5b2a, U+5b2c-5b2d, U+5b30, U+5b32, U+5b34, U+5b36, U+5b38, U+5b3e, U+5b40-5b41, U+5b43, U+5b45, U+5b4b-5b4c, U+5b51-5b52, U+5b56, U+5b5a-5b5c, U+5b5e-5b5f, U+5b65, U+5b68-5b69, U+5b6e-5b71, U+5b73, U+5b75-5b76, U+5b7a, U+5b7c-5b84, U+5b86, U+5b8a-5b8b, U+5b8d-5b8e, U+5b90-5b91, U+5b93-5b94, U+5b96, U+5ba5-5ba6, U+5ba8-5ba9, U+5bac-5bad, U+5baf, U+5bb1-5bb2, U+5bb7-5bb8, U+5bba;
}
/* [44] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-44-B9tYSMUp.woff2') format('woff2');
  unicode-range: U+57b3, U+57b8, U+57bd, U+57c0, U+57c3, U+57c6-57c8, U+57cc, U+57cf, U+57d2-57d7, U+57dc-57de, U+57e0-57e1, U+57e3-57e4, U+57e6-57e7, U+57e9, U+57ed, U+57f0, U+57f4-57f6, U+57f8, U+57fb, U+57fd-57ff, U+5803-5804, U+5808-580d, U+5819, U+581b, U+581d-5821, U+5826-5827, U+582d, U+582f-5830, U+5832, U+5835, U+5839, U+583d, U+583f-5840, U+5849, U+584b-584d, U+584f-5852, U+5855, U+5858-5859, U+585f, U+5861-5862, U+5864, U+5867-5868, U+586d, U+5870, U+5872, U+5878-5879, U+587c, U+587f-5881, U+5885, U+5887-588d, U+588f-5890, U+5894, U+5896, U+5898, U+589d-589e, U+58a0-58a2, U+58a6, U+58a9-58ab, U+58ae, U+58b1-58b3, U+58b8-58bc, U+58be, U+58c2-58c5, U+58c8, U+58cd-58ce, U+58d0-58da, U+58dc-58e2, U+58e4-58e5, U+58e9, U+58ec, U+58ef, U+58f3-58f4, U+58f7, U+58f9, U+58fb-58fd, U+5902, U+5905-5906, U+590a-590d, U+5910, U+5912-5914, U+5918-5919, U+591b, U+591d, U+591f, U+5921, U+5923-5925, U+5928, U+592c-592d, U+592f-5930, U+5932-5933, U+5935-5936, U+5938-5939, U+593d-593f, U+5943, U+5946, U+594e, U+5950, U+5952-5953, U+5955, U+5957-595b, U+595d-5961, U+5963, U+5967, U+5969, U+596b-596d, U+596f, U+5972, U+5975-5976, U+5978-5979, U+597b-597c, U+5981;
}
/* [45] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-45-bh4sEcc4.woff2') format('woff2');
  unicode-range: U+5616-5617, U+5619, U+561b, U+5620, U+5628, U+562c, U+562f-5639, U+563b-563d, U+563f-5641, U+5643-5644, U+5646-5647, U+5649, U+564b, U+564d-5650, U+5653-5654, U+565e, U+5660-5664, U+5666, U+5669-566d, U+566f, U+5671-5672, U+5675-5676, U+5678, U+567a, U+5680, U+5684-5688, U+568a-568c, U+568f, U+5694-5695, U+5699-569a, U+569d-56a0, U+56a5-56a9, U+56ab-56ae, U+56b1-56b4, U+56b6-56b7, U+56bc, U+56be, U+56c0, U+56c2-56c3, U+56c5, U+56c8-56d1, U+56d3, U+56d7-56d9, U+56dc-56dd, U+56df, U+56e1, U+56e4-56e8, U+56eb, U+56ed-56ee, U+56f1, U+56f6-56f7, U+56f9, U+56ff-5704, U+5707-570a, U+570c-570d, U+5711, U+5713, U+5715-5716, U+5718, U+571a-571d, U+5720-5726, U+5729-572a, U+572c, U+572e-572f, U+5733-5734, U+5737-5738, U+573b, U+573d-573f, U+5745-5746, U+574c-574f, U+5751-5752, U+5759, U+575f, U+5761-5762, U+5764-5765, U+5767-5769, U+576b, U+576d-5771, U+5773-5775, U+5777, U+5779-577c, U+577e-577f, U+5781, U+5783, U+5788-5789, U+578c, U+5793-5795, U+5797, U+5799-579a, U+579c-57a1, U+57a4, U+57a7-57aa, U+57ac, U+57ae, U+57b0;
}
/* [46] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-46-CSvRNxK-.woff2') format('woff2');
  unicode-range: U+543f-5440, U+5443-5444, U+5447, U+544c-544f, U+5455, U+545e, U+5462, U+5464, U+5466-5467, U+5469, U+546b-546e, U+5470-5471, U+5474-5477, U+547b, U+547f-5481, U+5483-5486, U+5488-548b, U+548d-5492, U+5495-5496, U+549c, U+549f-54a2, U+54a4, U+54a6-54af, U+54b1, U+54b7-54bc, U+54be-54bf, U+54c2-54c4, U+54c6-54c8, U+54ca, U+54cd-54ce, U+54d8, U+54e0, U+54e2, U+54e5-54e6, U+54e8-54ea, U+54ec-54ef, U+54f1, U+54f3, U+54f6, U+54fc-5501, U+5505, U+5508-5509, U+550c-550f, U+5514-5516, U+5527, U+552a-552b, U+552e, U+5532-5533, U+5535-5536, U+5538-5539, U+553b-553d, U+5540-5541, U+5544-5545, U+5547, U+5549-554a, U+554c-554d, U+5550-5551, U+5556-5558, U+555a-555e, U+5560-5561, U+5563-5564, U+5566, U+557b-5583, U+5586-5588, U+558a, U+558e-558f, U+5591-5594, U+5597, U+5599, U+559e-559f, U+55a3-55a4, U+55a8-55a9, U+55ac-55ae, U+55b2, U+55bf, U+55c1, U+55c3-55c4, U+55c6-55c7, U+55c9, U+55cb-55cc, U+55ce, U+55d1-55d4, U+55d7-55d8, U+55da-55db, U+55dd-55df, U+55e2, U+55e4, U+55e9, U+55ec, U+55ee, U+55f1, U+55f6-55f9, U+55fd-55ff, U+5605, U+5607-5608, U+560a, U+560d-5612;
}
/* [47] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-47-C4tfLaiv.woff2') format('woff2');
  unicode-range: U+528d, U+5291-5298, U+529a, U+529c, U+52a4-52a7, U+52ab-52ad, U+52af-52b0, U+52b5-52b8, U+52ba-52be, U+52c0-52c1, U+52c4-52c6, U+52c8, U+52ca, U+52cc-52cd, U+52cf-52d2, U+52d4, U+52d6-52d7, U+52db-52dc, U+52de, U+52e0-52e1, U+52e3, U+52e5-52e6, U+52e8-52ea, U+52ec, U+52f0-52f1, U+52f3-52fb, U+5300-5301, U+5303, U+5306-5308, U+530a-530d, U+530f-5311, U+5313, U+5315, U+5318-531f, U+5321, U+5323-5325, U+5327-532d, U+532f-5333, U+5335, U+5338, U+533c-533e, U+5340, U+5342, U+5345-5346, U+5349, U+534b-534c, U+5359, U+535b, U+535e, U+5361, U+5363-5367, U+5369, U+536c-536e, U+5372, U+5377, U+5379-537b, U+537d-537f, U+5382-5383, U+5387-5389, U+538e, U+5393-5394, U+5396, U+5398-5399, U+539d, U+53a0-53a1, U+53a4-53a6, U+53a9-53ab, U+53ad-53b0, U+53b2, U+53b4-53b8, U+53ba, U+53bd, U+53c0-53c1, U+53c3-53c5, U+53cf, U+53d2-53d3, U+53d5, U+53da-53db, U+53dd-53e0, U+53e2, U+53e6-53e8, U+53ed-53ee, U+53f4-53f5, U+53fa, U+5401-5403, U+540b, U+540f, U+5412-5413, U+541a, U+541d-541e, U+5421, U+5424, U+5427-542a, U+542c-542f, U+5431, U+5433-5436, U+543c-543d;
}
/* [48] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-48-BKOG8AuN.woff2') format('woff2');
  unicode-range: U+50dd-50df, U+50e1-50e6, U+50e8-50e9, U+50ed-50f6, U+50f9-50fb, U+50fe, U+5101-5103, U+5106-5109, U+510b-510e, U+5110, U+5112, U+5114-511e, U+5121, U+5123, U+5127-5128, U+512c-512d, U+512f, U+5131, U+5133-5135, U+5137-513c, U+513f-5142, U+5147, U+514a, U+514c, U+514f, U+5152-5155, U+5157-5158, U+515f-5160, U+5162, U+5164, U+5166-5167, U+5169-516a, U+516e, U+5173-5174, U+5179, U+517b, U+517e, U+5180, U+5182-5184, U+5189, U+518b-518c, U+518e-5191, U+5193, U+5195-5196, U+5198, U+519d, U+51a1-51a4, U+51a6, U+51a9-51ab, U+51ad, U+51b0-51b3, U+51b5, U+51b8, U+51ba, U+51bc-51bf, U+51c2-51c3, U+51c5, U+51c8-51cb, U+51cf, U+51d1-51d6, U+51d8, U+51de-51e0, U+51e2, U+51e5, U+51e7, U+51e9, U+51ec-51ee, U+51f2-51f5, U+51f7, U+51fe, U+5201-5202, U+5204-5205, U+520b, U+520e, U+5212-5216, U+5218, U+5222, U+5226-5228, U+522a-522b, U+522e, U+5231-5233, U+5235, U+523c, U+5244-5245, U+5249, U+524b-524c, U+524f, U+5254-5255, U+5257-5258, U+525a, U+525c-5261, U+5266, U+5269, U+526c, U+526e, U+5271, U+5273-5274, U+5277-5279, U+527d, U+527f-5280, U+5282-5285, U+5288-528a, U+528c;
}
/* [49] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-49-CPQFf3mL.woff2') format('woff2');
  unicode-range: U+4f57-4f58, U+4f5a-4f5b, U+4f5d-4f5f, U+4f63-4f64, U+4f69-4f6a, U+4f6c, U+4f6e-4f71, U+4f76-4f7e, U+4f81-4f85, U+4f88-4f8a, U+4f8c, U+4f8e-4f90, U+4f92-4f94, U+4f96-4f9a, U+4f9e-4fa0, U+4fab, U+4fad, U+4faf, U+4fb2, U+4fb7, U+4fb9, U+4fbb-4fbe, U+4fc0-4fc1, U+4fc4-4fc6, U+4fc8-4fc9, U+4fcb-4fd4, U+4fd8, U+4fda-4fdc, U+4fdf-4fe0, U+4fe2, U+4fe4-4fe6, U+4fef-4ff2, U+4ff6, U+4ffc-5002, U+5004-5007, U+500a, U+500c, U+500e-5011, U+5013-5014, U+5016-5018, U+501a-501e, U+5021-5023, U+5025-502a, U+502c-502e, U+5030, U+5032-5033, U+5035, U+5039, U+503b, U+5040-5043, U+5045-5048, U+504a, U+504c, U+504e, U+5050-5053, U+5055-5057, U+5059-505a, U+505f-5060, U+5062-5063, U+5066-5067, U+506a, U+506c-506d, U+5070-5072, U+5077-5078, U+5080-5081, U+5083-5086, U+5088, U+508a, U+508e-5090, U+5092-5096, U+509a-509c, U+509e-50a3, U+50aa, U+50ad, U+50af-50b4, U+50b9-50bb, U+50bd, U+50c0, U+50c2-50c4, U+50c7, U+50c9-50ca, U+50cc, U+50ce, U+50d0-50d1, U+50d3-50d4, U+50d6, U+50d8-50d9, U+50dc;
}
/* [50] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-50-ygWryyLJ.woff2') format('woff2');
  unicode-range: U+4093, U+4103, U+4105, U+4148, U+414f, U+4163, U+41b4, U+41bf, U+41e6, U+41ee, U+41f3, U+4207, U+420e, U+4264, U+4293, U+42c6, U+42d6, U+42dd, U+4302, U+432b, U+4343, U+43ee, U+43f0, U+4408, U+440c, U+4417, U+441c, U+4422, U+4453, U+445b, U+4476, U+447a, U+4491, U+44b3, U+44be, U+44d4, U+4508, U+450d, U+4525, U+4543, U+457a, U+459d, U+45b8, U+45be, U+45e5, U+45ea, U+460f-4610, U+4641, U+4665, U+46a1, U+46ae-46af, U+470c, U+471f, U+4764, U+47e6, U+47fd, U+4816, U+481e, U+4844, U+484e, U+48b5, U+49b0, U+49e7, U+49fa, U+4a04, U+4a29, U+4abc, U+4b38, U+4b3b, U+4b7e, U+4bc2, U+4bca, U+4bd2, U+4be8, U+4c17, U+4c20, U+4c38, U+4cc4, U+4cd1, U+4ce1, U+4d07, U+4d77, U+4e02, U+4e04-4e05, U+4e0c, U+4e0f-4e12, U+4e15, U+4e17, U+4e19, U+4e1e-4e1f, U+4e23-4e24, U+4e28-4e2c, U+4e2e-4e31, U+4e35-4e37, U+4e3f-4e42, U+4e44, U+4e47-4e48, U+4e4d-4e4e, U+4e51, U+4e55-4e56, U+4e58, U+4e5a-4e5c, U+4e62-4e63, U+4e68-4e69, U+4e74-4e75, U+4e79, U+4e7f, U+4e82, U+4e85, U+4e8a, U+4e8d-4e8e, U+4e96-4e99, U+4e9d-4ea0, U+4ea2, U+4ea5-4ea6, U+4ea8, U+4eaf-4eb0, U+4eb3, U+4eb6, U+4eb9, U+4ebb-4ebc, U+4ec2-4ec4, U+4ec6-4ec8, U+4ecd, U+4ed0, U+4ed7, U+4eda-4edb, U+4edd-4ee2, U+4ee8, U+4eeb, U+4eed, U+4eef, U+4ef1, U+4ef3, U+4ef5, U+4ef7, U+4efc-4f00, U+4f02-4f03, U+4f08-4f09, U+4f0b-4f0d, U+4f12, U+4f15-4f17, U+4f19, U+4f1c, U+4f2b, U+4f2e, U+4f30-4f31, U+4f33, U+4f35-4f37, U+4f39, U+4f3b, U+4f3e, U+4f40, U+4f42-4f43, U+4f48-4f49, U+4f4b-4f4c, U+4f52, U+4f54, U+4f56;
}
/* [51] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-51-B8GqC14T.woff2') format('woff2');
  unicode-range: U+3395-339b, U+339e-33a0, U+33a2-33ff, U+3402, U+3405-3406, U+3427, U+342c, U+342e, U+3468, U+346a, U+3488, U+3492, U+34b5, U+34bc, U+34c1, U+34c7, U+34db, U+351f, U+353e, U+355d-355e, U+3563, U+356e, U+35a6, U+35a8, U+35c5, U+35da, U+35de, U+35f4, U+3605, U+3614, U+364a, U+3691, U+3696, U+3699, U+36cf, U+3761-3762, U+376b-376c, U+3775, U+378d, U+37c1, U+37e2, U+37e8, U+37f4, U+37fd, U+3800, U+382f, U+3836, U+3840, U+385c, U+3861, U+38a1, U+38ad, U+38fa, U+3917, U+391a, U+396f, U+39a4, U+39b8, U+3a5c, U+3a6e, U+3a73, U+3a85, U+3ac4, U+3acb, U+3ad6-3ad7, U+3aea, U+3af3, U+3b0e, U+3b1a, U+3b1c, U+3b22, U+3b35, U+3b6d, U+3b77, U+3b87-3b88, U+3b8d, U+3ba4, U+3bb6, U+3bc3, U+3bcd, U+3bf0, U+3bf3, U+3c0f, U+3c26, U+3cc3, U+3cd2, U+3d11, U+3d1e, U+3d31, U+3d4e, U+3d64, U+3d9a, U+3dc0, U+3dcc, U+3dd4, U+3e05, U+3e3f-3e40, U+3e60, U+3e66, U+3e68, U+3e83, U+3e8a, U+3e94, U+3eda, U+3f57, U+3f72, U+3f75, U+3f77, U+3fae, U+3fb1, U+3fc9, U+3fd7, U+3fdc, U+4039, U+4058;
}
/* [52] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-52-DI2nyFXO.woff2') format('woff2');
  unicode-range: U+32b5-332b, U+332d-3394;
}
/* [53] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-53-DzPW4Ogh.woff2') format('woff2');
  unicode-range: U+31c8-31e3, U+31f0-321e, U+3220-3230, U+3232-32b4;
}
/* [54] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-54-CJezNfoX.woff2') format('woff2');
  unicode-range: U+3028-303f, U+3094-3096, U+309f-30a0, U+30ee, U+30f7-30fa, U+30ff, U+3105-312f, U+3131-3163, U+3165-318e, U+3190-31bb, U+31c0-31c7;
}
/* [55] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-55-DtJvuwq2.woff2') format('woff2');
  unicode-range: U+2f14-2fd5, U+2ff0-2ffb, U+3004, U+3013, U+3016-301b, U+301e, U+3020-3027;
}
/* [56] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-56-Dyn8naDm.woff2') format('woff2');
  unicode-range: U+25e4-25e6, U+2601-2603, U+2609, U+260e-260f, U+2616-2617, U+261c-261f, U+262f, U+2641, U+2660, U+2662-2664, U+2666-2668, U+266d-266e, U+2672-267d, U+26bd-26be, U+2702, U+271a, U+273d, U+2740, U+2756, U+2776-2793, U+27a1, U+2934-2935, U+29bf, U+29fa-29fb, U+2b05-2b07, U+2b1a, U+2b95, U+2e3a-2e3b, U+2e80-2e99, U+2e9b-2ef3, U+2f00-2f13;
}
/* [57] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-57-D-h7qrI0.woff2') format('woff2');
  unicode-range: U+24d1-24ff, U+2503-2513, U+2515-2516, U+2518-251b, U+251d-2522, U+2524-259f, U+25a2-25ab, U+25b1, U+25b7, U+25c0-25c1, U+25c9-25ca, U+25cc, U+25d0-25d3, U+25e2-25e3;
}
/* [58] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-58-BCWf3uKK.woff2') format('woff2');
  unicode-range: U+2105, U+2109-210a, U+210f, U+2116, U+2121, U+2126-2127, U+212b, U+212e, U+2135, U+213b, U+2194-2199, U+21b8-21b9, U+21c4-21c6, U+21cb-21cc, U+21d0, U+21e6-21e9, U+21f5, U+2202-2203, U+2205-2206, U+2208-220b, U+220f, U+2211, U+2213, U+2215, U+221a, U+221d, U+2220, U+2223, U+2225-2226, U+2228, U+222a-222e, U+2234-2237, U+223d, U+2243, U+2245, U+2248, U+224c, U+2260, U+2262, U+2264-2265, U+226e-226f, U+2272-2273, U+2276-2277, U+2283-2287, U+228a-228b, U+2295-2299, U+22a0, U+22a5, U+22bf, U+22da-22db, U+22ef, U+2305-2307, U+2318, U+2329-232a, U+23b0-23b1, U+23be-23cc, U+23ce, U+23da-23db, U+2423, U+2469-24d0;
}
/* [59] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-59-BZ_CBNWy.woff2') format('woff2');
  unicode-range: U+a1-a4, U+a6-a7, U+aa, U+ac-ad, U+b5-b6, U+b8-ba, U+bc-c8, U+ca-cc, U+ce-d5, U+d9-db, U+dd-df, U+e6, U+ee, U+f0, U+f5, U+f7, U+f9, U+fb, U+fe-102, U+110-113, U+11a-11b, U+128-12b, U+143-144, U+147-148, U+14c, U+14e-14f, U+152-153, U+168-16d, U+192, U+1a0-1a1, U+1af, U+1cd-1dc, U+1f8-1f9, U+251, U+261, U+2bb, U+2c7, U+2c9, U+2ea-2eb, U+304, U+307, U+30c, U+1e3e-1e3f, U+1ea0-1ebe, U+1ec0-1ec6, U+1ec8-1ef9, U+2011-2012, U+2016, U+2018-201a, U+201e, U+2021, U+2030, U+2033, U+2035, U+2042, U+2047, U+2051, U+2074, U+20a9, U+20ab-20ac, U+20dd-20de, U+2100;
}
/* [60] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-60-CSSSc0g5.woff2') format('woff2');
  unicode-range: U+2227, U+26a0, U+2713, U+301f, U+4ff8, U+5239, U+526a, U+54fa, U+5740, U+5937, U+5993, U+59fb, U+5a3c, U+5c41, U+6028, U+626e, U+646f, U+647a, U+64b0, U+64e2, U+65a7, U+66fe, U+6727, U+6955, U+6bef, U+6f23, U+724c, U+767c, U+7a83, U+7ac4, U+7b67, U+8000, U+8471, U+8513, U+8599, U+86db, U+8718, U+87f2, U+88f3, U+8ad2, U+8e2a, U+8fa3, U+95a5, U+9798, U+9910, U+9957, U+9bab, U+9c3b, U+9daf, U+ff95;
}
/* [61] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-61-GFds-DhH.woff2') format('woff2');
  unicode-range: U+a8, U+2032, U+2261, U+2282, U+3090, U+30f1, U+339c, U+535c, U+53d9, U+56a2, U+56c1, U+5806, U+589f, U+59d0, U+5a7f, U+60e0, U+639f, U+65af, U+68fa, U+69ae, U+6d1b, U+6ef2, U+71fb, U+725d, U+7262, U+75bc, U+7768, U+7940, U+79bf, U+7bed, U+7d68, U+7dfb, U+814b, U+8207, U+83e9, U+8494, U+8526, U+8568, U+85ea, U+86d9, U+87ba, U+8861, U+887f, U+8fe6, U+9059, U+9061, U+916a, U+976d, U+97ad, U+9ece;
}
/* [62] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-62-BIskpy9Z.woff2') format('woff2');
  unicode-range: U+2d9, U+21d4, U+301d, U+515c, U+52fe, U+5420, U+5750, U+5766, U+5954, U+5b95, U+5f8a, U+5f98, U+620c, U+621f, U+641c, U+66d9, U+676d, U+6775, U+67f5, U+694a, U+6a02, U+6a3a, U+6a80, U+6c23, U+6c72, U+6dcb, U+6faa, U+707c, U+71c8, U+7422, U+74e2, U+7791, U+7825, U+7a14, U+7a1c, U+7c95, U+7fc1, U+82a5, U+82db, U+8304, U+853d, U+8cd3, U+8de8, U+8f0c, U+8f3f, U+9091, U+91c7, U+929a, U+98af, U+9913;
}
/* [63] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-63-Cdx4LZYd.woff2') format('woff2');
  unicode-range: U+2ca-2cb, U+2229, U+2468, U+2669, U+266f, U+273f, U+4ec0, U+4f60, U+4fb6, U+5347, U+540e, U+543b, U+5b0c, U+5d4c, U+5f14, U+5f9e, U+6155, U+62d0, U+6602, U+6666, U+66f3, U+67a2, U+67ca, U+69cc, U+6d29, U+6d9b, U+6e3e, U+6f81, U+7109, U+73c0, U+73c2, U+7425, U+7435-7436, U+7525, U+7554, U+785d, U+786b, U+7ae3, U+7b94, U+7d18, U+81bf, U+8511, U+8549, U+9075, U+9640, U+98e2, U+9e9f, U+ff96;
}
/* [64] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-64-JKzOjv9V.woff2') format('woff2');
  unicode-range: U+2467, U+4ece, U+4ed4, U+4f91, U+4fae, U+534d, U+53c9, U+54b3, U+586b, U+5944, U+5b78, U+5df7, U+5f77, U+6101, U+6167-6168, U+61a4, U+62d9, U+698a, U+699b, U+6a59, U+6cc4, U+6e07, U+7099, U+75d2, U+77ad, U+7953, U+7984, U+7a92, U+7baa, U+7dbb, U+817f, U+82ad, U+85e9, U+868a, U+8caa, U+8f44, U+9017, U+907c, U+908a, U+92f3, U+936e, U+9435, U+978d, U+9838, U+9a28, U+9b41, U+9ba8, U+9c57, U+9eb9;
}
/* [65] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-65-CaGEVxrz.woff2') format('woff2');
  unicode-range: U+b1, U+309b, U+4e5e, U+51f1, U+5506, U+55c5, U+58cc, U+59d1, U+5c51, U+5ef7, U+6284, U+62d7, U+6689, U+673d, U+6a2b, U+6a8e, U+6a9c, U+6d63, U+6dd1, U+70b8, U+7235, U+72db, U+72f8, U+7560, U+7c9b, U+7ce7, U+7e1e, U+80af, U+82eb, U+8463, U+8499, U+85dd, U+86ee, U+8a60, U+8a6e, U+8c79, U+8e87, U+8e8a, U+8f5f, U+9010, U+918d, U+9190, U+965b, U+97fb, U+9ab8, U+9bad, U+9d3b, U+9d5c, U+9dfa, U+9e93;
}
/* [66] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-66-ClcaFWSJ.woff2') format('woff2');
  unicode-range: U+2020, U+3003, U+3231, U+4e9b, U+4f3d, U+4f47, U+51b6, U+51dc, U+53e1, U+5bc5, U+602f, U+60bc, U+61c9, U+633d, U+637b, U+6492, U+65fa, U+660f, U+66f0, U+6703, U+681e, U+6876, U+6893, U+6912, U+698e, U+6c7d, U+714c, U+7169, U+71d5, U+725f, U+72d7, U+745b, U+74dc, U+75e2, U+7891, U+7897, U+7dcb, U+810a, U+8218, U+8339, U+840e, U+852d, U+8823, U+8a0a, U+9089, U+919c, U+971c, U+9ad9, U+ff4a, U+ff5a;
}
/* [67] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-67-DAsPb78w.woff2') format('woff2');
  unicode-range: U+2466, U+2600, U+4eab, U+4fe3, U+4ff5, U+51a5, U+51f0, U+536f, U+53d4, U+53f1, U+54a5, U+559d, U+55e3, U+58fa, U+5962, U+59ea, U+5c16, U+5cef, U+5d16, U+5f10, U+5fd6, U+6190, U+6216, U+634f, U+63bb, U+66d6, U+6756, U+6bc5, U+6e26, U+727d, U+731f, U+76f2, U+7729, U+7a7f, U+7aff, U+7c9f, U+818f, U+8236, U+82b9, U+8338, U+85aa, U+88b4, U+8b33, U+904d, U+93a7, U+96cc, U+96eb, U+9aed, U+9b8e, U+fa11;
}
/* [68] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-68-BMd8n3p7.woff2') format('woff2');
  unicode-range: U+251c, U+2523, U+4e14, U+545f, U+54bd, U+553e, U+55dc, U+56da, U+589c, U+5b55, U+5bb5, U+5ce1, U+5df4, U+5eb6, U+5ec9, U+6191, U+62f7, U+6357, U+64a5, U+6591, U+65bc, U+6897, U+6e1a, U+7063, U+711a, U+721b, U+722c, U+75b9, U+75d5, U+75fa, U+7766, U+7aae, U+7b48, U+7b8b, U+7d21, U+7e55, U+7f75, U+842c, U+8910, U+8a63, U+8b39, U+8b5a, U+8cdc, U+8d74, U+907d, U+91e7, U+9306, U+96bc, U+98f4, U+9ac4;
}
/* [69] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-69-BAqhsv6S.woff2') format('woff2');
  unicode-range: U+2003, U+2312, U+266c, U+4f86, U+51ea, U+5243, U+5256, U+541f, U+5841, U+59dc, U+5df3, U+601c, U+60e7, U+632b, U+638c, U+64ad, U+6881, U+697c, U+69cd, U+6c50, U+6d2a, U+6fc1, U+7027, U+7058, U+70f9, U+714e, U+7345, U+751a, U+760d, U+764c, U+77db, U+7d79, U+7e8f, U+80ce, U+814e, U+81fc, U+8247, U+8278, U+85a9, U+8a03, U+90ed, U+9784, U+9801, U+984e, U+99b3, U+9bc9, U+9bdb, U+9be8, U+9e78, U+ff6b;
}
/* [70] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-70-Cm4Laesi.woff2') format('woff2');
  unicode-range: U+266b, U+3006, U+5176, U+5197, U+51a8, U+51c6, U+52f2, U+5614, U+5875, U+5a2f, U+5b54, U+5ce0, U+5dba, U+5deb, U+5e63, U+5f59, U+5fcc, U+6068, U+6367, U+68b6, U+6a0b, U+6b64, U+6e15, U+6eba, U+7272, U+72a0, U+7947, U+7985, U+79e6, U+79e9, U+7a3d, U+7a9f, U+7aaf, U+7b95, U+7f60, U+7f9e, U+7fe0, U+8098, U+80ba, U+8106, U+82d4, U+831c, U+87f9, U+8a1f, U+8acf, U+90c1, U+920d, U+9756, U+fe43, U+ff94;
}
/* [71] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-71-Ci906nwQ.woff2') format('woff2');
  unicode-range: U+af, U+2465, U+2517, U+33a1, U+4f10, U+50c5, U+51b4, U+5384, U+5606, U+5bb0, U+5cac, U+5ee3, U+618e, U+61f2, U+62c9, U+66ab, U+66f9, U+6816, U+6960, U+6b3e, U+6f20, U+7078, U+72d0, U+73ed, U+7ad9, U+7b1b, U+7be4, U+7d62, U+7f51, U+80b4, U+80f4, U+8154, U+85fb, U+865c, U+8702, U+895f, U+8aed, U+8b90, U+8ced, U+8fbf, U+91d8, U+9418, U+9583, U+9591, U+9813, U+982c, U+9bd6, U+ff46, U+ff7f, U+ff88;
}
/* [72] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-72-DaU3KWOQ.woff2') format('woff2');
  unicode-range: U+4e91, U+508d, U+50e7, U+514e, U+51f6, U+5446, U+5504, U+584a, U+59a8, U+59d3, U+5a46, U+5ac9, U+6020, U+60a6, U+6148, U+621a, U+6234, U+64c1, U+6523, U+675c, U+67d1, U+6953, U+6ccc, U+6df5, U+6e13, U+6f06, U+723a, U+7325, U+74e6, U+758e, U+75ab, U+75d9, U+7a40, U+8096, U+82fa, U+8587, U+8594, U+8a6b, U+8ab9, U+8b17, U+8b83, U+937c, U+963b, U+9673, U+96db, U+9ce9, U+9f4b, U+ff67, U+ff82, U+ff93;
}
/* [73] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-73-B5lkf5XZ.woff2') format('woff2');
  unicode-range: U+221e, U+2514, U+51f9, U+5270, U+5449, U+5824, U+59a5, U+5a29, U+5d07, U+5e16, U+60e3, U+614c, U+6276, U+643e, U+64ab, U+6562, U+6681, U+670b, U+6734, U+67af, U+6a3d, U+6b05, U+6dc0, U+6e4a, U+7259, U+732a, U+7409, U+78a7, U+7a6b, U+8015, U+809b, U+817a, U+830e, U+837b, U+85ab, U+8a23, U+8a93, U+8b00, U+8b19, U+8b21, U+8cbf, U+8fb0, U+901d, U+91b8, U+9320, U+932c, U+9688, U+96f6, U+9df2, U+ff6a;
}
/* [74] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-74-BJaaGagz.woff2') format('woff2');
  unicode-range: U+2002, U+2025, U+4f8d, U+51e1, U+51f8, U+5507, U+5598, U+58f1, U+5983, U+59ac, U+5c3c, U+5de7, U+5e7d, U+5eca, U+5f61, U+606d, U+60f9, U+636e, U+64ec, U+67da, U+67ff, U+6813, U+68f2, U+693f, U+6b6a, U+6bbb, U+6ef4, U+7092, U+717d, U+7261, U+73c8, U+7432, U+7483, U+76fe, U+7709, U+78d0, U+81a3, U+81b3, U+82af, U+8305, U+8309, U+8870, U+88fe, U+8cd1, U+8d66, U+906e, U+971e, U+9812, U+ff79, U+ff90;
}
/* [75] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-75-Bbz2UGiQ.woff2') format('woff2');
  unicode-range: U+2464, U+2501, U+2640, U+2642, U+339d, U+4f0e, U+5091, U+50b5, U+5132, U+51cc, U+558b, U+55aa, U+585e, U+5bee, U+5dfe, U+60b6, U+62b9, U+6349, U+6566, U+6590, U+6842, U+689d, U+6a58, U+6c70, U+6ff1, U+7815, U+7881, U+7aaa, U+7bc7, U+7def, U+7fa8, U+8017, U+8036, U+8061, U+821f, U+8429, U+8ce0, U+8e74, U+9019, U+90ca, U+9162, U+932f, U+93ae, U+9644, U+990c, U+9cf3, U+ff56, U+ff6e, U+ff7e, U+ff85;
}
/* [76] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-76-BSoHvGtC.woff2') format('woff2');
  unicode-range: U+2266-2267, U+4f2f, U+5208, U+5451, U+546a, U+5589, U+576a, U+5815, U+5a9a, U+5b9b, U+5c3a, U+5efb, U+5faa, U+6109, U+6643, U+6652, U+695a, U+69fd, U+6b86, U+6bb4, U+6daf, U+7089, U+70cf, U+7a00, U+7a4f, U+7b39, U+7d33, U+80e1, U+828b, U+82a6, U+86cd, U+8c8c, U+8cca, U+8df3, U+9077, U+9175, U+91dc, U+925b, U+9262, U+9271, U+92ed, U+9855, U+9905, U+9d28, U+ff3f, U+ff58, U+ff68, U+ff6d, U+ff9c;
}
/* [77] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-77-BaZKbDzr.woff2') format('woff2');
  unicode-range: U+2207, U+25ef, U+309c, U+4e4f, U+5146, U+51dd, U+5351, U+540a, U+5629, U+5eb5, U+5f04, U+5f13, U+60dc, U+6212, U+63b4, U+642c, U+6627, U+66a6, U+66c7, U+66fd, U+674e, U+6b96, U+6c4e, U+6df3, U+6e67, U+6f84, U+72fc, U+733f, U+7c97, U+7db1, U+7e4d, U+816b, U+82d1, U+84cb, U+854e, U+8607, U+86c7, U+871c, U+8776, U+8a89, U+8fc4, U+91a4, U+9285, U+9685, U+9903, U+9b31, U+9f13, U+ff42, U+ff74, U+ff91;
}
/* [78] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-78-DqL5AU3U.woff2') format('woff2');
  unicode-range: U+4e32, U+51db, U+53a8, U+53ea, U+5609, U+5674, U+5a92, U+5e7e, U+6115, U+611a, U+62cc, U+62ed, U+63c9, U+64b9, U+64e6, U+65cb, U+6606, U+6731, U+683d, U+6afb, U+7460, U+771e, U+78ef, U+7b26, U+7b51, U+7cde, U+7d10, U+7d2f, U+7d46, U+80de, U+819c, U+84b2, U+85cd, U+865a, U+8ecc, U+9022, U+90b8, U+9192, U+9675, U+96b7, U+99ff, U+ff44, U+ff55, U+ff6c, U+ff73, U+ff75, U+ff86, U+ff8d, U+ff92, U+ffe3;
}
/* [79] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-79-BKFm9k1U.woff2') format('woff2');
  unicode-range: U+25b3, U+30f5, U+4eae, U+4f46, U+4f51, U+5203, U+52ff, U+55a7, U+564c, U+565b, U+57f9, U+5805, U+5b64, U+5e06, U+5f70, U+5f90, U+60e8, U+6182, U+62f3, U+62fe, U+63aa, U+64a4, U+65d7, U+673a, U+6851, U+68cb, U+68df, U+6d1e, U+6e58, U+6e9d, U+77b3, U+7832, U+7c3f, U+7db4, U+7f70, U+80aa, U+80c6, U+8105, U+819d, U+8276, U+8679, U+8986, U+8c9d, U+8fc5, U+916c, U+9665, U+9699, U+96c0, U+9a19, U+ff8b;
}
/* [80] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-80-CBKNmZZS.woff2') format('woff2');
  unicode-range: U+2463, U+25a1, U+4ef0, U+5076, U+5098, U+51fd, U+5302, U+5448, U+54c9, U+570b, U+583a, U+5893, U+58a8, U+58ee, U+5949, U+5bdb, U+5f26, U+5f81, U+6052, U+6170, U+61c7, U+631f, U+635c, U+664b, U+69fb, U+6f01, U+7070, U+722a, U+745e, U+755c, U+76c6, U+78c1, U+79e4, U+7bb8, U+7d0b, U+81a8, U+82d7, U+8b5c, U+8f14, U+8fb1, U+8fbb, U+9283, U+9298, U+9a30, U+ff03, U+ff50, U+ff59, U+ff7b, U+ff8e-ff8f;
}
/* [81] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-81-C3CesSuu.woff2') format('woff2');
  unicode-range: U+2010, U+2502, U+25b6, U+4f3a, U+514b, U+5265, U+52c3, U+5339, U+53ec, U+54c0, U+55b0, U+5854, U+5b8f, U+5cb3, U+5e84, U+60da, U+6247, U+6249, U+628a, U+62cd, U+65ac, U+6838, U+690e, U+6cf0, U+6f02, U+6f2c, U+6f70, U+708a, U+7434, U+75be, U+77ef, U+7c60, U+7c98, U+7d1b, U+7e2b, U+80a5, U+81e3, U+820c, U+8210, U+8475, U+862d, U+8650, U+8997, U+906d, U+91c8, U+9700, U+9727, U+9df9, U+ff3a, U+ff9a;
}
/* [82] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-82-Begmn4y2.woff2') format('woff2');
  unicode-range: U+2103, U+5049, U+52b1, U+5320, U+5553, U+572d, U+58c7, U+5b5d, U+5bc2, U+5de3, U+5e61, U+5f80, U+61a9, U+67d0, U+67f4, U+6c88, U+6ca1, U+6ce5, U+6d78, U+6e9c, U+6f54, U+731b, U+73b2, U+74a7, U+74f6, U+75e9, U+7b20, U+7c8b, U+7f72, U+809d, U+8108, U+82b3, U+82bd, U+84b8, U+84c4, U+88c2, U+8ae6, U+8ef8, U+902e, U+9065, U+9326, U+935b, U+938c, U+9676, U+9694, U+96f7, U+9ed9, U+ff48, U+ff4c, U+ff81;
}
/* [83] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-83-8D3Njbzo.woff2') format('woff2');
  unicode-range: U+2500, U+3008-3009, U+4ead, U+4f0f, U+4fca, U+53eb, U+543e, U+57a2, U+5cf0, U+5e8f, U+5fe0, U+61b2, U+62d8, U+6442, U+64b2, U+6589, U+659c, U+67f1, U+68c4, U+6cb8, U+6d12, U+6de1, U+6fe1, U+70c8, U+723d, U+73e0, U+7656, U+773a, U+7948, U+7b87, U+7c92, U+7d3a, U+7e1b, U+7e4a, U+819a, U+8358, U+83c5, U+84bc, U+864e, U+8912, U+8c9e, U+8d05, U+92fc, U+9396, U+98fd, U+99d2, U+ff64, U+ff7a, U+ff83;
}
/* [84] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-84-BOQplIOK.woff2') format('woff2');
  unicode-range: U+3014-3015, U+4e3c, U+5036, U+5075, U+533f, U+53e9, U+5531, U+5642, U+5984, U+59e6, U+5a01, U+5b6b, U+5c0b, U+5f25, U+6069, U+60a0, U+614e, U+62b5, U+62d2-62d3, U+6597, U+660c, U+674f, U+67cf, U+6841, U+6905, U+6cf3, U+6d32, U+6d69, U+6f64, U+716e, U+7761, U+7b52, U+7be0, U+7dbf, U+7de9, U+7f36, U+81d3, U+8302, U+8389, U+846c, U+84ee, U+8a69, U+9038, U+9d8f, U+ff47, U+ff4b, U+ff76, U+ff9b;
}
/* [85] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-85-B_jJe-uE.woff2') format('woff2');
  unicode-range: U+25c7, U+3007, U+504f, U+507d, U+51a0, U+52a3, U+5410, U+5510, U+559a, U+5782, U+582a, U+5c0a, U+5c3f, U+5c48, U+5f6b, U+6176, U+622f, U+6279, U+62bd, U+62dd, U+65ed, U+67b6, U+6817, U+6850, U+6d6a, U+6deb, U+6ea2, U+6edd, U+6f5c, U+72e9, U+73a9, U+7573, U+76bf, U+7950, U+7956, U+7f8a, U+7ffc, U+80a2, U+80c3, U+83ca, U+8a02, U+8a13, U+8df5, U+9375, U+983b, U+99b4, U+ff4e, U+ff71, U+ff89, U+ff97;
}
/* [86] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-86-ColDb8so.woff2') format('woff2');
  unicode-range: U+24, U+2022, U+2212, U+221f, U+2665, U+4ecf, U+5100, U+51cd, U+52d8, U+5378, U+53f6, U+574a, U+5982, U+5996, U+5c1a, U+5e1d, U+5f84, U+609f, U+61a7, U+61f8, U+6398, U+63ee, U+6676, U+6691, U+6eb6, U+7126, U+71e5, U+7687, U+7965, U+7d17, U+80a1, U+8107, U+8266, U+85a6, U+8987, U+8ca2, U+8cab, U+8e0a, U+9042, U+95c7, U+9810, U+9867, U+98fc, U+ff52-ff54, U+ff61, U+ff77, U+ff98-ff99;
}
/* [87] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-87-BaT-RCkD.woff2') format('woff2');
  unicode-range: U+b0, U+226a, U+2462, U+4e39, U+4fc3, U+4fd7, U+50be, U+50da, U+5200, U+5211, U+54f2, U+5618, U+596a, U+5b22, U+5bb4, U+5d50, U+60a3, U+63fa, U+658e, U+65e8, U+6669, U+6795, U+679d, U+67a0, U+6b3a, U+6e09, U+757f, U+7cd6, U+7dbe, U+7ffb, U+83cc, U+83f1, U+840c, U+845b, U+8846, U+8972, U+8a34, U+8a50, U+8a87, U+8edf, U+8ff0, U+90a6, U+9154, U+95a3, U+9663, U+9686, U+96c7, U+ff3c, U+ff7c, U+ff8a;
}
/* [88] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-88-C15dS3en.woff2') format('woff2');
  unicode-range: U+25bd, U+4e59, U+4ec1, U+4ff3, U+515a, U+518a, U+525b, U+5375, U+552f, U+57a3, U+5b9c, U+5c3d, U+5e3d, U+5e7b, U+5f0a, U+6094, U+6458, U+654f, U+67f3, U+6b8a, U+6bd2, U+6c37, U+6ce1, U+6e56, U+6e7f, U+6ed1, U+6ede, U+6f0f, U+70ad, U+7267, U+7363, U+786c, U+7a42, U+7db2, U+7f85, U+8178, U+829d, U+8896, U+8c5a, U+8cb0, U+8ce2, U+8ed2, U+9047, U+9177, U+970a, U+9ea6, U+ff1b, U+ff31, U+ff39, U+ff80;
}
/* [89] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-89-KBhW0XHn.woff2') format('woff2');
  unicode-range: U+a5, U+4e80, U+4f34, U+4f73, U+4f75, U+511f, U+5192, U+52aa, U+53c8, U+570f, U+57cb, U+596e, U+5d8b, U+5f66, U+5fd9, U+62db, U+62f6, U+6328, U+633f, U+63a7, U+6469, U+6bbf, U+6c41, U+6c57, U+6d44, U+6dbc, U+706f, U+72c2, U+72ed, U+7551, U+75f4, U+7949, U+7e26, U+7fd4, U+8150, U+8af8, U+8b0e, U+8b72, U+8ca7, U+934b, U+9a0e, U+9a12, U+9b42, U+ff41, U+ff43, U+ff45, U+ff49, U+ff4f, U+ff62-ff63;
}
/* [90] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-90-BxEpFLBE.woff2') format('woff2');
  unicode-range: U+4e18, U+4fb5, U+5104, U+52c7, U+5353, U+5374, U+53e5, U+587e, U+594f, U+5a20, U+5de1, U+5f18, U+5fcd, U+6291, U+62ab, U+6355, U+6392, U+63da, U+63e1, U+656c, U+6687, U+68b0-68b1, U+68d2, U+68da, U+6b27, U+6cbc, U+7159, U+7344, U+73cd, U+76df, U+790e, U+7cf8, U+8102, U+88c1, U+8aa0, U+8e0f, U+9178, U+92ad, U+9670, U+96c5, U+9cf4, U+9db4, U+ff3e, U+ff6f, U+ff72, U+ff78, U+ff7d, U+ff84, U+ff8c;
}
/* [91] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-91-2chUQ1ho.woff2') format('woff2');
  unicode-range: U+60, U+2200, U+226b, U+2461, U+517c, U+526f, U+5800, U+5b97, U+5bf8, U+5c01, U+5d29, U+5e4c, U+5e81, U+6065, U+61d0, U+667a, U+6696, U+6843, U+6c99, U+6d99, U+6ec5, U+6f22, U+6f6e, U+6fa4, U+6fef, U+71c3, U+72d9, U+7384, U+78e8, U+7a1a, U+7a32, U+7a3c, U+7adc, U+7ca7, U+7d2b, U+7dad, U+7e4b, U+80a9, U+8170, U+81ed, U+820e, U+8a17, U+8afe, U+90aa, U+914e, U+963f, U+99c4, U+9eba, U+9f3b, U+ff38;
}
/* [92] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-92-Bl429lyy.woff2') format('woff2');
  unicode-range: U+2460, U+4e5f, U+4e7e, U+4ed9, U+501f, U+502b, U+5968, U+5974, U+5ac1, U+5b99, U+5ba3, U+5be7, U+5be9, U+5c64, U+5cb8, U+5ec3, U+5f1f, U+616e, U+6297, U+62e0, U+62ec, U+6368, U+642d, U+65e6, U+6717, U+676f, U+6b04, U+732e, U+7652, U+76ca, U+76d7, U+7802, U+7e70, U+7f6a, U+8133, U+81e8, U+866b, U+878d, U+88f8, U+8a5e, U+8cdb, U+8d08, U+907a, U+90e1, U+96f2, U+9f8d, U+ff35, U+ff37, U+ff40, U+ff9d;
}
/* [93] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-93-tT_YxFOG.woff2') format('woff2');
  unicode-range: U+21d2, U+25ce, U+300a-300b, U+4e89, U+4e9c, U+4ea1, U+5263, U+53cc, U+5426, U+5869, U+5947, U+598a, U+5999, U+5e55, U+5e72, U+5e79, U+5fae, U+5fb9, U+602a, U+6163, U+624d, U+6749, U+6c5a, U+6cbf, U+6d45, U+6dfb, U+6e7e, U+708e, U+725b, U+7763, U+79c0, U+7bc4, U+7c89, U+7e01, U+7e2e, U+8010, U+8033, U+8c6a, U+8cc3, U+8f1d, U+8f9b, U+8fb2, U+907f, U+90f7, U+9707, U+9818, U+9b3c, U+ff0a, U+ff4d;
}
/* [94] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-94-Die690_7.woff2') format('woff2');
  unicode-range: U+2015, U+2190, U+4e43, U+5019, U+5247, U+52e7, U+5438, U+54b2, U+55ab, U+57f7, U+5bd2, U+5e8a, U+5ef6, U+6016, U+60b2, U+6162, U+6319, U+6551, U+6607, U+66b4, U+675f, U+67d4, U+6b20, U+6b53, U+6ce3, U+719f, U+75b2, U+770b, U+7720, U+77ac, U+79d2, U+7af9, U+7d05, U+7dca, U+8056, U+80f8, U+81f3, U+8352, U+885d, U+8a70, U+8aa4, U+8cbc, U+900f, U+9084, U+91e3, U+9451, U+96c4, U+99c6, U+9ad4, U+ff70;
}
/* [95] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-95-BCXiKiQM.woff2') format('woff2');
  unicode-range: U+2193, U+25b2, U+4e4b, U+516d, U+51c4, U+529f, U+52c9, U+5360, U+5442, U+5857, U+5915, U+59eb, U+5a9b, U+5c3b, U+6012, U+61b6, U+62b1, U+6311, U+6577, U+65e2, U+65ec, U+6613, U+6790, U+6cb9, U+7372, U+76ae, U+7d5e, U+7fcc, U+88ab, U+88d5, U+8caf, U+8ddd, U+8ecd, U+8f38, U+8f9e, U+8feb, U+9063, U+90f5, U+93e1, U+968a, U+968f, U+98fe, U+9ec4, U+ff1d, U+ff27, U+ff2a, U+ff36, U+ff3b, U+ff3d, U+ffe5;
}
/* [96] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-96-DiNV7ZbE.woff2') format('woff2');
  unicode-range: U+4e03, U+4f38, U+50b7, U+5264, U+5348, U+5371, U+585a, U+58ca, U+5951, U+59b9, U+59d4, U+5b98, U+5f8b, U+6388, U+64cd, U+65e7, U+6803, U+6b6f, U+6d66, U+6e0b, U+6ecb, U+6fc3, U+72ac, U+773c, U+77e2, U+7968, U+7a74, U+7dba, U+7dd1, U+7e3e, U+808c, U+811a, U+8179, U+8239, U+8584, U+8a0e, U+8a72, U+8b66, U+8c46, U+8f29, U+90a3, U+9234, U+96f0, U+9769, U+9774, U+9aa8, U+ff26, U+ff28, U+ff9e-ff9f;
}
/* [97] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-97-BplQvX4T.woff2') format('woff2');
  unicode-range: U+7e, U+b4, U+25c6, U+2661, U+4e92, U+4eee, U+4ffa, U+5144, U+5237, U+5287, U+52b4, U+58c1, U+5bff, U+5c04, U+5c06, U+5e95, U+5f31, U+5f93, U+63c3, U+640d, U+6557, U+6614, U+662f, U+67d3, U+690d, U+6bba, U+6e6f, U+72af, U+732b, U+7518, U+7ae0, U+7ae5, U+7af6, U+822a, U+89e6, U+8a3a, U+8a98, U+8cb8, U+8de1, U+8e8d, U+95d8, U+961c, U+96a3, U+96ea, U+9bae, U+ff20, U+ff22, U+ff29, U+ff2b-ff2c;
}
/* [98] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-98-DeCmhslo.woff2') format('woff2');
  unicode-range: U+25cb, U+4e71, U+4f59, U+50d5, U+520a, U+5217, U+5230, U+523a-523b, U+541b, U+5439, U+5747, U+59c9, U+5bdf, U+5c31, U+5de8, U+5e7c, U+5f69, U+6050, U+60d1, U+63cf, U+663c, U+67c4, U+6885, U+6c38, U+6d6e, U+6db2, U+6df7, U+6e2c, U+6f5f, U+7532, U+76e3-76e4, U+7701, U+793c, U+79f0, U+7a93, U+7d00, U+7de0, U+7e54, U+8328, U+8840, U+969c, U+96e8, U+9811, U+9aea, U+9b5a, U+ff24, U+ff2e, U+ff57;
}
/* [99] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-99-ZS7DKxlE.woff2') format('woff2');
  unicode-range: U+2191, U+505c, U+52e4, U+5305, U+535a, U+56e0, U+59bb, U+5acc, U+5b09, U+5b87, U+5c90, U+5df1, U+5e2d, U+5e33, U+5f3e, U+6298, U+6383, U+653b, U+6697, U+6804, U+6a39, U+6cca, U+6e90, U+6f2b, U+702c, U+7206, U+7236, U+7559, U+7565, U+7591, U+75c7, U+75db, U+7b4b, U+7bb1, U+7d99, U+7fbd, U+8131, U+885b, U+8b1d, U+8ff7, U+9003, U+9045, U+96a0, U+9732, U+990a, U+99d0, U+9e97, U+9f62, U+ff25, U+ff2d;
}
/* [100] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-100-CTcoWOTC.woff2') format('woff2');
  unicode-range: U+4e08, U+4f9d, U+5012, U+514d, U+51b7, U+5275, U+53ca, U+53f8, U+5584, U+57fc, U+5b9d, U+5bfa, U+5c3e, U+5f01, U+5fb4, U+5fd7, U+606f, U+62e1, U+6563, U+6674, U+6cb3, U+6d3e, U+6d74, U+6e1b, U+6e2f, U+718a, U+7247, U+79d8, U+7d14, U+7d66, U+7d71, U+7df4, U+7e41, U+80cc, U+8155, U+83d3, U+8a95, U+8ab2, U+8ad6, U+8ca1, U+9000, U+9006, U+9678, U+97d3, U+9808, U+98ef, U+9a5a, U+9b45, U+ff23, U+ff30;
}
/* [101] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-101-DRlDNx-3.woff2') format('woff2');
  unicode-range: U+25bc, U+3012, U+4ef2, U+4f0a, U+516b, U+5373, U+539a, U+53b3, U+559c, U+56f0, U+5727, U+5742, U+5965, U+59ff, U+5bc6, U+5dfb, U+5e45, U+5ead, U+5fb3, U+6211, U+6253, U+639b, U+63a8, U+6545, U+6575, U+6628, U+672d, U+68a8, U+6bdb, U+6d25, U+707d, U+767e, U+7834, U+7b46, U+7bc9, U+8074, U+82e6, U+8349, U+8a2a, U+8d70, U+8da3, U+8fce, U+91cc, U+967d, U+97ff, U+9996, U+ff1c, U+ff2f, U+ff32, U+ff34;
}
/* [102] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-102-SaPl8Ab_.woff2') format('woff2');
  unicode-range: U+3d, U+5e, U+25cf, U+4e0e, U+4e5d, U+4e73, U+4e94, U+4f3c, U+5009, U+5145, U+51ac, U+5238, U+524a, U+53f3, U+547c, U+5802, U+5922, U+5a66, U+5c0e, U+5de6, U+5fd8, U+5feb, U+6797, U+685c, U+6b7b, U+6c5f-6c60, U+6cc9, U+6ce2, U+6d17, U+6e21, U+7167, U+7642, U+76db, U+8001, U+821e, U+8857, U+89d2, U+8b1b, U+8b70, U+8cb4, U+8cde, U+8f03, U+8f2a, U+968e, U+9b54, U+9e7f, U+9ebb, U+ff05, U+ff33;
}
/* [103] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-103-CNU4DNM6.woff2') format('woff2');
  unicode-range: U+500d, U+5074, U+50cd, U+5175, U+52e2, U+5352, U+5354, U+53f2, U+5409, U+56fa, U+5a18, U+5b88, U+5bdd, U+5ca9, U+5f92, U+5fa9, U+60a9, U+623f, U+6483, U+653f, U+666f, U+66ae, U+66f2, U+6a21, U+6b66, U+6bcd, U+6d5c, U+796d, U+7a4d, U+7aef, U+7b56, U+7b97, U+7c4d, U+7e04, U+7fa9, U+8377, U+83dc, U+83ef, U+8535, U+8863, U+88cf, U+88dc, U+8907, U+8acb, U+90ce, U+91dd, U+ff0b, U+ff0d, U+ff19, U+ff65;
}
/* [104] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-104-ZyWanQgv.woff2') format('woff2');
  unicode-range: U+4e01, U+4e21, U+4e38, U+52a9, U+547d, U+592e, U+5931, U+5b63, U+5c40, U+5dde, U+5e78, U+5efa, U+5fa1, U+604b, U+6075, U+62c5, U+632f, U+6a19, U+6c0f, U+6c11, U+6c96, U+6e05, U+70ba, U+71b1, U+7387, U+7403, U+75c5, U+77ed, U+795d, U+7b54, U+7cbe, U+7d19, U+7fa4, U+8089, U+81f4, U+8208, U+8336, U+8457, U+8a33, U+8c4a, U+8ca0, U+8ca8, U+8cc0, U+9014, U+964d, U+9803, U+983c, U+98db, U+ff17, U+ff21;
}
/* [105] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-105-dzXdeU0o.woff2') format('woff2');
  unicode-range: U+25, U+25a0, U+4e26, U+4f4e, U+5341, U+56f2, U+5bbf, U+5c45, U+5c55, U+5c5e, U+5dee, U+5e9c, U+5f7c, U+6255, U+627f, U+62bc, U+65cf, U+661f, U+666e, U+66dc, U+67fb, U+6975, U+6a4b, U+6b32, U+6df1, U+6e29, U+6fc0, U+738b, U+7686, U+7a76, U+7a81, U+7c73, U+7d75, U+7dd2, U+82e5, U+82f1, U+85ac, U+888b, U+899a, U+8a31, U+8a8c, U+8ab0, U+8b58, U+904a, U+9060, U+9280, U+95b2, U+984d, U+9ce5, U+ff18;
}
/* [106] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-106-kCOXyTCz.woff2') format('woff2');
  unicode-range: U+30f6, U+50ac, U+5178, U+51e6, U+5224, U+52dd, U+5883, U+5897, U+590f, U+5a5a, U+5bb3, U+5c65, U+5e03, U+5e2b, U+5e30, U+5eb7, U+6271, U+63f4, U+64ae, U+6574, U+672b, U+679a, U+6a29-6a2a, U+6ca2, U+6cc1, U+6d0b, U+713c, U+74b0, U+7981, U+7a0b, U+7bc0, U+7d1a, U+7d61, U+7fd2, U+822c, U+8996, U+89aa, U+8cac, U+8cbb, U+8d77, U+8def, U+9020, U+9152, U+9244, U+9662, U+967a, U+96e3, U+9759, U+ff16;
}
/* [107] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-107-DGrM03dm.woff2') format('woff2');
  unicode-range: U+23, U+3c, U+2192, U+4e45, U+4efb, U+4f50, U+4f8b, U+4fc2, U+5024, U+5150, U+5272, U+5370, U+53bb, U+542b, U+56db, U+56e3, U+57ce, U+5bc4, U+5bcc, U+5f71, U+60aa, U+6238, U+6280, U+629c, U+6539, U+66ff, U+670d, U+677e-677f, U+6839, U+69cb, U+6b4c, U+6bb5, U+6e96, U+6f14, U+72ec, U+7389, U+7814, U+79cb, U+79d1, U+79fb, U+7a0e, U+7d0d, U+85e4, U+8d64, U+9632, U+96e2, U+9805, U+99ac, U+ff1e;
}
/* [108] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-108-Cnty2VS4.woff2') format('woff2');
  unicode-range: U+2605-2606, U+301c, U+4e57, U+4fee, U+5065, U+52df, U+533b, U+5357, U+57df, U+58eb, U+58f0, U+591c, U+592a-592b, U+5948, U+5b85, U+5d0e, U+5ea7, U+5ff5, U+6025, U+63a1, U+63a5, U+63db, U+643a, U+65bd, U+671d, U+68ee, U+6982, U+6b73, U+6bd4, U+6d88, U+7570, U+7b11, U+7d76, U+8077, U+8217, U+8c37, U+8c61, U+8cc7, U+8d85, U+901f, U+962a, U+9802, U+9806, U+9854, U+98f2, U+9928, U+99c5, U+9ed2;
}
/* [109] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-109-Bk2WXZ5j.woff2') format('woff2');
  unicode-range: U+266a, U+4f11, U+533a, U+5343, U+534a, U+53cd, U+5404, U+56f3, U+5b57-5b58, U+5bae, U+5c4a, U+5e0c, U+5e2f, U+5eab, U+5f35, U+5f79, U+614b, U+6226, U+629e, U+65c5, U+6625, U+6751, U+6821, U+6b69, U+6b8b, U+6bce, U+6c42, U+706b, U+7c21, U+7cfb, U+805e, U+80b2, U+82b8, U+843d, U+8853, U+88c5, U+8a3c, U+8a66, U+8d8a, U+8fba, U+9069, U+91cf, U+9752, U+975e, U+9999, U+ff0f-ff10, U+ff14-ff15;
}
/* [110] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-110-BcObi3Ad.woff2') format('woff2');
  unicode-range: U+40, U+4e86, U+4e95, U+4f01, U+4f1d, U+4fbf, U+5099, U+5171, U+5177, U+53cb, U+53ce, U+53f0, U+5668, U+5712, U+5ba4, U+5ca1, U+5f85, U+60f3, U+653e, U+65ad, U+65e9, U+6620, U+6750, U+6761, U+6b62, U+6b74, U+6e08, U+6e80, U+7248, U+7531, U+7533, U+753a, U+77f3, U+798f, U+7f6e, U+8449, U+88fd, U+89b3, U+8a55, U+8ac7, U+8b77, U+8db3, U+8efd, U+8fd4, U+9031-9032, U+9580, U+9589, U+96d1, U+985e;
}
/* [111] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-111-aS8cyiYb.woff2') format('woff2');
  unicode-range: U+2b, U+d7, U+300e-300f, U+4e07, U+4e8c, U+512a, U+5149, U+518d, U+5236, U+52b9, U+52d9, U+5468, U+578b, U+57fa, U+5b8c, U+5ba2, U+5c02, U+5de5, U+5f37, U+5f62, U+623b, U+63d0, U+652f, U+672a, U+6848, U+6d41, U+7136, U+7537, U+754c, U+76f4, U+79c1, U+7ba1, U+7d44, U+7d4c, U+7dcf, U+7dda, U+7de8, U+82b1, U+897f, U+8ca9, U+8cfc, U+904e, U+9664, U+982d, U+9858, U+98a8, U+9a13, U+ff13, U+ff5c;
}
/* [112] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-112-DEZW3dl0.woff2') format('woff2');
  unicode-range: U+4e16, U+4e3b, U+4ea4, U+4ee4, U+4f4d, U+4f4f, U+4f55, U+4f9b, U+5317, U+5358, U+53c2, U+53e4, U+548c, U+571f, U+59cb, U+5cf6, U+5e38, U+63a2, U+63b2, U+6559, U+662d, U+679c, U+6c7a, U+72b6, U+7523, U+767d, U+770c, U+7a2e, U+7a3f, U+7a7a, U+7b2c, U+7b49, U+7d20, U+7d42, U+8003, U+8272, U+8a08, U+8aac, U+8cb7, U+8eab, U+8ee2, U+9054-9055, U+90fd, U+914d, U+91cd, U+969b, U+97f3, U+984c, U+ff06;
}
/* [113] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-113-m_t6v4Zk.woff2') format('woff2');
  unicode-range: U+26, U+5f, U+2026, U+203b, U+4e09, U+4eac, U+4ed5, U+4fa1, U+5143, U+5199, U+5207, U+539f, U+53e3, U+53f7, U+5411, U+5473, U+5546, U+55b6, U+5929, U+597d, U+5bb9, U+5c11, U+5c4b, U+5ddd, U+5f97, U+5fc5, U+6295, U+6301, U+6307, U+671b, U+76f8, U+78ba, U+795e, U+7d30, U+7d39, U+7d9a, U+89e3, U+8a00, U+8a73, U+8a8d, U+8a9e, U+8aad, U+8abf, U+8cea, U+8eca, U+8ffd, U+904b, U+9650, U+ff11-ff12;
}
/* [114] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-114-B2dfkU36.woff2') format('woff2');
  unicode-range: U+3e, U+3005, U+4e0d, U+4e88, U+4ecb, U+4ee3, U+4ef6, U+4fdd, U+4fe1, U+500b, U+50cf, U+5186, U+5316, U+53d7, U+540c, U+544a, U+54e1, U+5728, U+58f2, U+5973, U+5b89, U+5c71, U+5e02, U+5e97, U+5f15, U+5fc3, U+5fdc, U+601d, U+611b, U+611f, U+671f, U+6728, U+6765, U+683c, U+6b21, U+6ce8, U+6d3b, U+6d77, U+7530, U+7740, U+7acb, U+7d50, U+826f, U+8f09, U+8fbc, U+9001, U+9053, U+91ce, U+9762, U+98df;
}
/* [115] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-115-CpJqTBTJ.woff2') format('woff2');
  unicode-range: U+7c, U+3080, U+4ee5, U+5148, U+516c, U+521d, U+5225, U+529b, U+52a0, U+53ef, U+56de, U+56fd, U+5909, U+591a, U+5b66, U+5b9f, U+5bb6, U+5bfe, U+5e73, U+5e83, U+5ea6, U+5f53, U+6027, U+610f, U+6210, U+6240, U+660e, U+66f4, U+66f8, U+6709, U+6771, U+697d, U+69d8, U+6a5f, U+6c34, U+6cbb, U+73fe, U+756a, U+7684, U+771f, U+793a, U+7f8e, U+898f, U+8a2d, U+8a71, U+8fd1, U+9078, U+9577, U+96fb, U+ff5e;
}
/* [116] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-116-gRPURpBr.woff2') format('woff2');
  unicode-range: U+a9, U+3010-3011, U+30e2, U+4e0b, U+4eca, U+4ed6, U+4ed8, U+4f53, U+4f5c, U+4f7f, U+53d6, U+540d, U+54c1, U+5730, U+5916, U+5b50, U+5c0f, U+5f8c, U+624b, U+6570, U+6587, U+6599, U+691c, U+696d, U+6cd5, U+7269, U+7279, U+7406, U+767a-767b, U+77e5, U+7d04, U+7d22, U+8005, U+80fd, U+81ea, U+8868, U+8981, U+89a7, U+901a, U+9023, U+90e8, U+91d1, U+9332, U+958b, U+96c6, U+9ad8, U+ff1a, U+ff1f;
}
/* [117] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-117-DEH3MYwK.woff2') format('woff2');
  unicode-range: U+4e, U+a0, U+3000, U+300c-300d, U+4e00, U+4e0a, U+4e2d, U+4e8b, U+4eba, U+4f1a, U+5165, U+5168, U+5185, U+51fa, U+5206, U+5229, U+524d, U+52d5, U+5408, U+554f, U+5831, U+5834, U+5927, U+5b9a, U+5e74, U+5f0f, U+60c5, U+65b0, U+65b9, U+6642, U+6700, U+672c, U+682a, U+6b63, U+6c17, U+7121, U+751f, U+7528, U+753b, U+76ee, U+793e, U+884c, U+898b, U+8a18, U+9593, U+95a2, U+ff01, U+ff08-ff09;
}
/* [118] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-118-CdOl-Cmm.woff2') format('woff2');
  unicode-range: U+21-22, U+27-2a, U+2c-3b, U+3f, U+41-4d, U+4f-5d, U+61-7b, U+7d, U+ab, U+ae, U+b2-b3, U+b7, U+bb, U+c9, U+cd, U+d6, U+d8, U+dc, U+e0-e5, U+e7-ed, U+ef, U+f1-f4, U+f6, U+f8, U+fa, U+fc-fd, U+103, U+14d, U+1b0, U+300-301, U+1ebf, U+1ec7, U+2013-2014, U+201c-201d, U+2039-203a, U+203c, U+2048-2049, U+2113, U+2122, U+65e5, U+6708, U+70b9;
}
/* [119] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-119-C0iJIIKo.woff2') format('woff2');
  unicode-range: U+20, U+2027, U+3001-3002, U+3041-307f, U+3081-308f, U+3091-3093, U+3099-309a, U+309d-309e, U+30a1-30e1, U+30e3-30ed, U+30ef-30f0, U+30f2-30f4, U+30fb-30fe, U+ff0c, U+ff0e;
}
/* cyrillic */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-cyrillic-CqwPAQLz.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-vietnamese-B2RBM5rU.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-latin-ext-xug8kXzz.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/build/assets/noto-sans-jp-v56-latin-CNOxKcyn.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/*
 * 色のコントラストの直し（D10b・オーナーが決めた案 C）。持ち主は D
 * 文字が乗る地・緑の文字・操作部品の緑は #037F72（白と 4.90）にし、枠や罫線などの飾りの線は #04AB99 のまま残す。
 * 撮り比べでは、この CSS をモックにも差し込んで比べる（scripts/visual/mock-css.json）。
 * モックに文字列のまま差し込むので、url() と @import は書かない。
 * セレクタの強さは style.css と同じ（後に読まれるので勝つ）。pages・discover・部品の CSS には負けるので、そちらの色はそのファイルで直す。
 */

/* 3案に共通: 灰色の文字 → #707070（白と 4.95） */
.activity-price .txt, .tab-btn { color: #707070; }
.search-input input::placeholder { color: #707070; }

/* 入力欄の枠 → #8c8c8c（白と 3.36）。罫線の #cecece はそのまま */
.search-input input, .select-area, .select-date, textarea, .checkbox span { border-color: #8c8c8c; }
.account-input { border-bottom-color: #8c8c8c; }
.favorite-icon path { stroke: #8c8c8c; } /* 自治体ページのハート */

/* だいだい #dc4b22 → #cf4620（白と 4.62） */
.area-btn, .buy-btn { background-color: #cf4620; }
.furusato-circle .num, .furusato-circle .txt { color: #cf4620; }

/* 青のボタン */
.faq-btn { background-color: #337aba; }
.mail-btn { background-color: #457c9f; }

/* 都道府県の写真の覆い 0.4 → 0.55（真っ白な写真でも 4.74） */
.area-item a:before { opacity: 0.55; }

/* jQuery UI（theme.css は additions より後に読まれるので ID を付けて強くする） */
#ui-datepicker-div .ui-state-highlight { color: #5c5a18; }
#ui-datepicker-div .ui-state-active { background: #037f72; border-color: #037f72; color: #fff; }

/* 案 C: 文字が乗る地・緑の文字・操作部品 → #037f72（#f5f5f5 の地には置かない。4.498 で 4.5 に届かない） */
.near-btn, .sheet-close, .card-area, .prev-arrow, .next-arrow, .main-btn:not(.cancel-btn), .activity-area, .cart-btn { background-color: #037f72; }
.checkbox input:checked+span, .tag-item input:checked+span { background: #037f72; border-color: #037f72; }
.tab-btn.is-active { color: #037f72; border-bottom-color: #037f72; }
.info-table th { color: #037f72; }
/*
 * 読み上げ用の見えない見出しなど（アクセシビリティ。D10b）
 */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/*
 * アプリ（ユーザーページのスマホアプリ。ネイティブの殻の WebView）で見たときの見た目（S04。取り決め書 2.3）。
 * レイアウトが <html> に is-app を付けるのは、APP_CLIENT_ENABLED が入で UA にアプリの印があるときだけなので、
 * 規則は html.is-app で始まるセレクタにだけ書く（印がない画面には効かない）。
 * ヘッダー（ロゴ・ログイン・ハンバーガーとメニュー）はアプリのタブと設定に役を移し、2秒のローディングは起動の画面と重なるので出さない。
 */
html.is-app .header {
  display: none;
}

/* 固定のヘッダー（77px）をよける余白をやめ、ヘッダーの下に空けていた間だけを残す */
html.is-app .main {
  margin-top: calc(10rem - 77px);
}

/* 会員登録の同意（members-register.css）もヘッダーの分を下げない */
html.is-app .register-page .new-att {
  top: 2.4rem;
}

/* loading.js が style で display を書くので、!important で隠したままにする */
html.is-app #loading {
  display: none !important;
}

/* トップの「現在地から探す」はアプリではリンク（/map/?locate=1）。ボタンと同じく文字を上下の中央に置く */
html.is-app .top-near a.nearby-btn {
  display: inline-flex;
  align-items: center;
}
/*
 * お礼品・自治体・記事・固定ページ・問い合わせ・エラーの画面の追加（公開画面の担当）
 */
/*
 * B1a 公開の共通部品（カードの「受付停止中」の印と距離・代わりの画像・ページ送り）。持ち主は B1a（段2の約束 9.1・9.6）。
 * モックのクラス（.card-item など）の今の見た目は変えず、足す所だけを書く。
 */

/* 代わりの画像（変換がまだの画像・画像がないとき。SVG を読むまでの色） */
.portal-image-placeholder {
  background-color: #eeeeee;
}

/* お礼品のカード: 受付停止中（画像の左上。地域の .card-area は左下のまま） */
.card-status {
  position: absolute;
  top: 0.7rem;
  left: 0.7rem;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  background-color: #555555;
  padding: 0.4rem 0.5rem;
  border-radius: 3px;
}

.card-item.is-paused .card-img img {
  opacity: 0.6;
}

/* お礼品のカード: 現在地からの距離（金額の行の左） */
.card-price-with-distance {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
}

.card-distance {
  font-size: 1.2rem;
  font-weight: 500;
  color: #666666;
}

/* ページ送り */
.pagination {
  margin-top: 4rem;
}

.pagination-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.6rem;
}

.pagination-item a,
.pagination-item span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 3.6rem;
  height: 3.6rem;
  padding: 0 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  color: #333333;
  background-color: #fff;
  border: 1px solid #04AB99;
  border-radius: 999px;
}

.pagination-item [aria-current="page"] {
  font-weight: 700;
  color: #fff;
  background-color: #037f72;
  border-color: #037f72;
}

.pagination-gap span {
  min-width: auto;
  padding: 0 0.2rem;
  border-color: transparent;
}

/*
 * B1b お礼品詳細（/activity/{activity}/）。持ち主は B1b（段2の約束 9.1）。
 * モックのクラス（.review-price・.activity-btn など）の今の見た目は変えず、足す所だけを書く。
 */

/* 受付停止中・受付終了の印（金額の左。カードの .card-status と同じ色合い） */
.activity-info .activity-status {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  background-color: #555555;
  padding: 0.4rem 0.5rem;
  border-radius: 3px;
}

/* 印がないとき（星は Phase 3 まで出さない）も、金額を右に寄せる */
.activity-info .review-price.is-price-only {
  justify-content: flex-end;
}

/* 押せない送客のボタン（受付中でないか、遷移先が許可リストを通らないとき。設計書 15.1） */
.activity-info .activity-btn a.is-disabled {
  opacity: 0.45;
  cursor: default;
}

/* 送客のボタンの下の案内 */
.activity-info .checkout-note {
  margin-top: 1.2rem;
  font-size: 1.2rem;
  line-height: 1.6;
  color: #666666;
}

/* レビューのタブ（Phase 3 まで準備中） */
.tab-result .review-coming-soon {
  padding: 2rem 0;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #707070;
  text-align: center;
}

/* 加盟店の FAQ。ふだんは隠し、FAQ のボタン（#shop-faq）で開く */
.tab-result .shop-faq {
  display: none;
  margin-top: 3rem;
  scroll-margin-top: 10rem;
}

.tab-result .shop-faq:target {
  display: block;
}

.tab-result .shop-faq dt {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: #037f72;
}

.tab-result .shop-faq dd {
  font-size: 1.4rem;
  line-height: 1.6;
  padding-bottom: 1.6rem;
  margin-bottom: 1.6rem;
  border-bottom: 1px solid #cecece;
}

.tab-result .shop-faq dd:last-child {
  margin-bottom: 0;
}

/*
 * B3 自治体一覧と都道府県ページ（/area/・/area/{prefecture}/）。持ち主は B3（段2の約束 9.1）。モックにない所だけを書く
 */

/* 一覧が0件のとき */
.area-empty {
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: center;
  padding: 4rem 0;
}
/*
 * B2 自治体ページ（/area/{municipality}/。resources/views/pages/area/municipality.blade.php）。持ち主は B2（段2の約束 9.1）。
 * モックのクラス（.area-header・.tab-result など）の見た目は変えず、モックにない所だけを書く
 */

/* タブの一覧が0件のとき */
.municipality-empty {
  font-size: 1.4rem;
  line-height: 1.7;
  color: #666666;
  text-align: center;
  padding: 2rem 0;
}

/* 紹介・寄附金の使い道の本文（A0 の本文の整形で許可した h2・h3・p・br・strong・em・ul・ol・li・a。段2の約束 9.7） */
.municipality-text {
  font-size: 1.4rem;
  line-height: 1.7;
}

.municipality-text > * + * {
  margin-top: 1em;
}

.municipality-text h2 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.42;
}

.municipality-text h3 {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.42;
}

.municipality-text ul,
.municipality-text ol {
  padding-left: 1.5em;
}

.municipality-text ul li {
  list-style-type: disc;
}

.municipality-text ol li {
  list-style-type: decimal;
}

.municipality-text a {
  color: #037f72;
  text-decoration: underline;
}

.municipality-text em {
  font-style: italic;
}

/*
 * B5 記事（/editor/・/editor/{slug}/）。持ち主は B5（段2の約束 9.1）。
 * モックのクラス（.article-item・.eyecatch など）の今の見た目は変えず、足す所だけを書く。
 */

/* アイキャッチは 140:89 に切り抜く（設計書 11.1）。style.css の .eyecatch img より強いセレクタにする。
   「ほかの記事を読む」のバナーは、style.css の .banner-item a img がすでに 140:89 にしている */
.editor .eyecatch img {
  aspect-ratio: 140 / 89;
  object-fit: cover;
}

/* ブロックの本文（A0 で整形した h2・h3・p・br・strong・em・ul・ol・li・a）。
   段落が1つだけのとき（デモとモック）の見た目は変えない */
.article-body > * + * {
  margin-top: 1.2rem;
}

.article-body > * + h2,
.article-body > * + h3 {
  margin-top: 2.4rem;
}

.article-body h2 {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.5;
}

.article-body h3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}

.article-body strong {
  font-weight: 700;
}

.article-body em {
  font-style: italic;
}

.article-body ul,
.article-body ol {
  padding-left: 2rem;
}

/* 印は親のリストの項目だけに当てる（ol の中の ul の項目に数字が付かないように） */
.article-body ul > li {
  list-style-type: disc;
}

.article-body ol > li {
  list-style-type: decimal;
}

.article-body li + li {
  margin-top: 0.4rem;
}

/* リンクは下線と色で示す（白の背景とのコントラスト 4.9:1） */
.article-body a {
  color: #037f72;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.article-body a:hover {
  text-decoration-thickness: 2px;
}

/* 公開中の記事が0件のとき */
.article-empty {
  font-size: 1.4rem;
  color: #555555;
  text-align: center;
  padding: 4rem 0;
  border-top: 1px solid #CECECE;
  border-bottom: 1px solid #CECECE;
}
/*
 * 固定ページ（about・よくある質問・規約）と、ヘッダーのメニューに足したリンクの追加（B6b）
 */

/* ヘッダーのメニューの末尾に足したリンク（.nav-policy の見た目のまま、幅の狭い画面では折り返す） */
.nav-sub {
  flex-wrap: wrap;
  row-gap: 2rem;
}

/* 本文のうち、style.css の .content にない要素（整形で許可した要素。引き継ぎ書 9.7）。モックの規約（h2・p だけ）の見た目は変えない */
.static-page .content p + p {
  margin-top: 1em;
}

.static-page .content ol {
  padding-left: 1.5em;
  margin: 1.5rem 0;
}

.static-page .content ol li {
  list-style-type: decimal;
}

/* 番号付きの箇条の中に入れた箇条書き（規約類の本文。MX3）は、上の decimal に負けないようにして点にする */
.static-page .content ol ul > li {
  list-style-type: disc;
}

.static-page .content strong {
  font-weight: 700;
}

.static-page .content em {
  font-style: italic;
}

.static-page .content a {
  color: #094B95;
  text-decoration: underline;
}

/* よくある質問の答え（プレーンテキスト）の改行 */
.static-page .faq-answer {
  white-space: pre-line;
}
/*
 * B6a 会員機能は準備中（/login/・/mypage/ とその下）。持ち主は B6a（段2の約束 9.1）。
 * 見た目は規約のページのクラス（.page-ttl・.content・.form-btn・.main-btn）を使い回し、足りない余白だけを足す。
 */

/* 本文の段落の間（.content の p には余白がない） */
.coming-soon .content p + p {
  margin-top: 1.2rem;
}
/*
 * 問い合わせ（/contact/。B7）。モックのない画面なので、既存のクラス（page-ttl・input-label・account-input・select-item・
 * checkbox・form-btn・main-btn）に足りない所だけ足す。ほかの画面に効かないよう、.contact-form・.contact-* で範囲を絞る
 */

/* 案内の文 */
.contact-lead p + p {
  margin-top: 0.8rem;
}

/* 項目名。label は inline なので、モックの p.input-label と同じく行を分ける */
.contact-form .input-label {
  display: block;
}

.contact-form .input-label .red {
  color: #D50000;
}

/* 対象のお礼品 */
.contact-activity {
  margin-top: 0.8rem;
  font-weight: 700;
}

/* エラーの一覧（フォームの前。読み込んだときに contact-form.js がフォーカスを移す）。赤 #D50000 は白地で 5.9:1 */
.contact-errors {
  margin-top: 2.4rem;
  padding: 1.6rem;
  border: 2px solid #D50000;
  border-radius: 10px;
  background-color: #fff;
}

.contact-errors:focus {
  outline: 3px solid #151515;
  outline-offset: 2px;
}

.contact-errors-ttl {
  color: #D50000;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.contact-errors-list {
  margin-top: 0.8rem;
}

.contact-errors-list li + li {
  margin-top: 0.4rem;
}

.contact-errors-list a {
  color: #D50000;
  text-decoration: underline;
}

/* 固定のヘッダー（77px）の下に隠れないよう、フォーカスや一覧のリンクで移ったときの位置を下げる（入力欄は項目名まで見せる） */
.contact-errors {
  scroll-margin-top: 97px;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  scroll-margin-top: 140px;
}

/* 項目の下のエラーの文 */
.contact-error {
  margin-top: 0.6rem;
  color: #D50000;
  font-size: 1.3rem;
  font-weight: 500;
}

/* 入力欄。モックのままだとフォーカスが見えないので枠を付ける */
.contact-form .account-input input:focus-visible,
.contact-form .select-area:focus-visible,
.contact-form textarea:focus-visible {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

.contact-form .account-input:has([aria-invalid="true"]) {
  border-bottom-color: #D50000;
}

.contact-form .select-area[aria-invalid="true"],
.contact-form textarea[aria-invalid="true"] {
  border-color: #D50000;
}

/* お問い合わせの種類。幅いっぱいにし、矢印は背景で出す（img を置かない） */
.contact-form .select-item {
  width: 100%;
  margin-top: 1.2rem;
}

.contact-form .select-area {
  padding-right: 4.8rem;
  background: #fff url(/images/arrow-bottom.svg) no-repeat right 16px center / 17px 8px;
  color: #151515;
  cursor: pointer;
}

/* お問い合わせ内容（textarea の見た目は style.css のまま） */
.contact-form textarea {
  display: block;
  margin-top: 1.2rem;
}

/* プライバシーポリシーへの同意 */
.contact-policy {
  margin-top: 1.2rem;
}

.contact-policy a {
  text-decoration: underline;
}

.contact-form .checkbox {
  position: relative;
  margin-top: 1.2rem;
}

/* style.css の .checkbox input { display: none; } ではキーボードで操作できないので、見えないまま操作できる形にする */
.contact-form .checkbox input {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.contact-form .checkbox input:focus-visible + span {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

.contact-form .checkbox input[aria-invalid="true"] + span {
  border-color: #D50000;
}

/* ハニーポット。人には見せず、読み上げもしない（aria-hidden と tabindex="-1" はビューで付ける） */
.contact-hp {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* 送信ボタン（.main-btn を button に使う） */
.contact-form .main-btn {
  font-family: inherit;
  cursor: pointer;
}

.contact-form .main-btn:disabled {
  opacity: 0.6;
  cursor: default;
}

/*
 * 控除上限額シミュレーション（/simulation/）。持ち主は MS3a（MS3b・MS5 が書き足す）。
 * モックの /mypage/simulation/ のクラス（mypage-form・select-area・category-check）を使い、金額の欄と説明の文だけを足す。
 * エラーの一覧と文は問い合わせ（B7）の .contact-errors・.contact-error を使う
 */

.simulation-year {
  margin-top: 0.8rem;
  font-weight: 700;
}

/* 項目名。label は inline なので、モックの p.mypage-form-ttl と同じく行を分ける */
.simulation-form label.mypage-form-ttl,
.simulation-sub-label {
  display: block;
}

.simulation-sub-label {
  margin: 0.8rem 0 0.4rem;
  font-size: 1.3rem;
}

.simulation-hint {
  margin-bottom: 0.8rem;
  color: #595959;
  font-size: 1.2rem;
}

/* 金額の欄（単位を右に置く） */
.simulation-amount {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  width: calc((100% - 1.3rem) / 2);
}

.simulation-amount span {
  flex-shrink: 0;
  font-size: 1.4rem;
}

.simulation-detail {
  margin-top: 0.4rem;
}

/* 雇用形態の radio。style.css の .checkbox input { display: none; } ではキーボードで操作できないので、見えないまま操作できる形にする */
.simulation-form .checkbox {
  position: relative;
}

.simulation-form .checkbox input {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.simulation-form .checkbox input:focus-visible + span,
.simulation-form .select-area:focus-visible {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

.simulation-form .select-area[aria-invalid="true"] {
  border-color: #D50000;
}

/* 選ぶ欄の矢印は背景で出す（img を置かない） */
.simulation-form select.select-area {
  padding-right: 4.8rem;
  background: #fff url(/images/arrow-bottom.svg) no-repeat right 16px center / 17px 8px;
  color: #151515;
  cursor: pointer;
}

.simulation-notes {
  margin-top: 2.4rem;
  padding: 1.6rem;
  border-radius: 10px;
  background-color: #f5f5f5;
  font-size: 1.3rem;
}

.simulation-notes p + p {
  margin-top: 0.6rem;
}

.simulation-form .main-btn {
  font-family: inherit;
  cursor: pointer;
}

/* 結果（POST /simulation/result/。MS3b）。モックの .simulation-result を使う。
   白い字が乗る地は contrast.css の案 C と同じ #037f72 にする（モックの #04AB99 では白との比が 2.9 で足りない） */
.simulation-result {
  margin-bottom: 3.2rem;
  background-color: #037f72;
}

.simulation-result-none {
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
}

.simulation-result-none p:first-child {
  margin-bottom: 0.8rem;
  font-size: 1.8rem;
  font-weight: 700;
}

.simulation-status p,
.simulation-save p {
  font-size: 1.4rem;
}

.simulation-status p + p,
.simulation-save p + p {
  margin-top: 0.8rem;
}

.simulation-save {
  margin-top: 2.4rem;
}

.simulation-save a,
.simulation-breakdown summary {
  color: #037f72;
}

.simulation-save a {
  text-decoration: underline;
}

/* 内訳（既定は閉じる） */
.simulation-breakdown {
  margin-top: 2.4rem;
  padding: 1.6rem;
  border: 1px solid #d9d9d9;
  border-radius: 10px;
  font-size: 1.4rem;
}

.simulation-breakdown summary {
  font-weight: 700;
  cursor: pointer;
}

.simulation-breakdown summary:focus-visible {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

.simulation-breakdown dl {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.8rem 1.6rem;
  margin-top: 1.6rem;
}

.simulation-breakdown dd {
  font-weight: 700;
  text-align: right;
}

.simulation-breakdown dl + p {
  margin-top: 1.2rem;
}

.simulation-notes-ttl {
  margin-bottom: 0.8rem;
  font-size: 1.4rem;
  font-weight: 700;
}

.simulation-notes ul {
  padding-left: 1.6em;
}

.simulation-notes li {
  list-style: disc;
}

.simulation-notes li + li {
  margin-top: 0.6rem;
}

/* 保存（MS5）。結果の画面・保存待ちの「保存する」（.main-btn を button に使う） */
.simulation-save .main-btn {
  font-family: inherit;
  cursor: pointer;
}

.simulation-save .form-btn {
  margin: 1.6rem 0;
}

/* マイページの保存した結果の一覧（/mypage/simulation/）。1年ずつモックの .simulation-result を使う */
.simulation-saved-status {
  margin-bottom: 2.4rem;
  font-size: 1.4rem;
  font-weight: 700;
}

.simulation-saved + .simulation-saved {
  margin-top: 3.2rem;
}

/* 飾りの画像（.result-img）を置かないので、下の余白を足す。上の余白はモックの 8rem では見出しから離れすぎる */
.simulation-saved .simulation-result,
.simulation-saved-pending .simulation-result {
  margin: 3.2rem 0 1.6rem;
  padding-bottom: 2.4rem;
}

.simulation-saved-meta {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.6rem 1.6rem;
  font-size: 1.4rem;
}

.simulation-saved-meta dd {
  font-weight: 700;
}

.simulation-saved-delete {
  margin-top: 1.2rem;
}

/* 削除は POST のフォームをリンクの見た目で出す。赤 #D50000 は白地で 5.9:1 */
.simulation-saved-delete button {
  padding: 0;
  border: 0;
  background: none;
  color: #D50000;
  font-family: inherit;
  font-size: 1.4rem;
  text-decoration: underline;
  cursor: pointer;
}

.simulation-saved-delete button:focus-visible {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

/*
 * エラーページ（404・500 など。resources/views/errors）。既存のクラスで足りない所だけ
 */
.error-code {
  font-family: "Montserrat", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  color: #037f72;
  margin-bottom: 0.8rem;
}

.error-btn {
  margin-top: 4rem;
}

/*
 * 会員のログイン（/login/。MA1）。モックの部品（login-logo・input-label・account-input・form-btn・main-btn・login-link）に
 * 足りない所だけ足す。ほかの画面に効かないよう、.member-login・.member-login-* で範囲を絞る
 */

/* 項目名。label は inline なので、モックの p.input-label と同じく行を分ける */
.member-login .input-label {
  display: block;
}

/* ログインのボタン（.main-btn を button に使う） */
.member-login .main-btn {
  font-family: inherit;
  cursor: pointer;
}

/* 失敗・回数制限の文。赤 #D50000 は白地で 5.9:1 */
.member-login-error {
  margin-top: 2.4rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #D50000;
}

/* ログインしたままにする（モックにない） */
.member-login .member-login-remember {
  position: relative;
  margin-top: 2.4rem;
}

/* style.css の .checkbox input { display: none; } ではキーボードで操作できないので、見えないまま操作できる形にする */
.member-login .member-login-remember input {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.member-login .member-login-remember input:focus-visible + span {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

/* 寄附・決済の画面のアカウントとは別であることの案内（計画 Q66。モックにない） */
.member-login-note {
  margin-top: 4rem;
  font-size: 1.3rem;
  line-height: 1.6;
}
/*
 * 会員登録の同意と入力（/login/new/・/login/new/form/。MA3）。モックの部品（new-wrapper・new-att・new-btn・account-input・
 * input-flex・form-btn・main-btn）に足りない所だけ足す。ほかの画面に効かないよう、.register-* で範囲を絞る
 */

/* 同意: ヘッダー（固定・77px）の下から文を始める（モックはヘッダーのない画面） */
.register-page .new-att {
  top: calc(77px + 2.4rem);
}

.register-page .new-att p {
  line-height: 1.7;
}

.register-page .new-att a {
  text-decoration: underline;
}

.register-consent .checkbox {
  position: relative;
  margin-top: 1.6rem;
}

/* style.css の .checkbox input { display: none; } ではキーボードで操作できないので、見えないまま操作できる形にする */
.register-consent .checkbox input {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.register-consent .checkbox input:focus-visible + span {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

.register-consent .checkbox input[aria-invalid="true"] + span {
  border-color: #D50000;
}

/* 版が変わったときの知らせ */
.register-notice {
  margin-bottom: 1.2rem;
  font-weight: 700;
}

/* 同意の画面・入力の画面の、項目の下のエラーの文。赤 #D50000 は白地で 5.9:1 */
.register-error {
  margin-top: 0.6rem;
  color: #D50000;
  font-size: 1.3rem;
  font-weight: 700;
}

/* 同意の画面の送信のボタンと、入力の画面の次へのボタン（.main-btn を button に使う） */
.register-consent .main-btn,
.register-form .main-btn {
  font-family: inherit;
  cursor: pointer;
}

/* 入力: 姓・名・セイ・メイの項目名。モックの #b1b1b1 は白と 2.1 なので、灰色の文字の直し（D10b の案 C）と同じ #707070 にする */
.register-form .account-input > span {
  color: #707070;
}

/* 入力: 項目名。label は inline なので、モックの p.input-label と同じく行を分ける */
.register-form .input-label {
  display: block;
}

.register-form .account-input input:focus-visible {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

.register-form .account-input:has([aria-invalid="true"]) {
  border-bottom-color: #D50000;
}

/* エラーの一覧（フォームの前。読み込んだときに register-form.js がフォーカスを移す）。固定のヘッダーの下に隠れないよう位置を下げる */
.register-errors {
  margin-top: 2.4rem;
  padding: 1.6rem;
  border: 2px solid #D50000;
  border-radius: 10px;
  background-color: #fff;
  scroll-margin-top: 97px;
}

.register-errors:focus {
  outline: 3px solid #151515;
  outline-offset: 2px;
}

.register-errors-ttl {
  color: #D50000;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.register-errors ul {
  margin-top: 0.8rem;
}

.register-errors li + li {
  margin-top: 0.4rem;
}

.register-errors a {
  color: #D50000;
  text-decoration: underline;
}

/* 固定のヘッダー（77px）の下に隠れないよう、一覧のリンクで移ったときの位置を下げる */
.register-form input {
  scroll-margin-top: 140px;
}

/* 送信した後（register-form.js が押せなくする） */
.register-consent .main-btn:disabled,
.register-form .main-btn:disabled {
  opacity: 0.6;
  cursor: default;
}
/*
 * 会員登録のコードの確認・完了・チュートリアル（/login/new/form/code/ とその下。MA4）。モックの部品（code-block・code-flex・
 * code-input・new-btn・success-*・tutorial-*）に足りない所だけ足す。ほかの画面に効かないよう、.register-code・.register-code-*・.tutorial で範囲を絞る
 */

/* style.css の .code-flex { display: flex; } が hidden 属性に勝つので戻す（JS がないときは5つの欄を出さない） */
.register-code [hidden] {
  display: none;
}

/* 次へ・はじめるのボタン（.main-btn を button に使う） */
.register-code .main-btn,
.tutorial .main-btn {
  font-family: inherit;
  cursor: pointer;
}

.register-code .code-input input:focus-visible,
.register-code .account-input input:focus-visible {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

.register-code .code-input:has([aria-invalid="true"]) {
  border-color: #D50000;
}

/* JS がないときの1つの欄。label は inline なので、モックの p.input-label と同じく行を分ける */
.register-code .input-label {
  display: block;
}

.register-code-to,
.register-code-notice {
  margin-top: 1.6rem;
  font-size: 1.4rem;
  line-height: 1.7;
}

/* まちがい・回数制限の文。赤 #D50000 は白地で 5.9:1 */
.register-code-error {
  margin-top: 1.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.7;
  color: #D50000;
}

/* 再送と届かないときの案内（モックにない）。次へのボタン（.new-btn。最初の画面の高さの下から10%の位置）より下へ伸びたときも、
   ボタンに重ならないよう下をあける */
.register-code-more {
  margin-top: 3.2rem;
  padding-bottom: calc(62px + 12vh);
}

/* 高さの低い画面では、足した文（宛先・再送・案内・エラー）が下の位置のボタンに重なるので、ボタンを文の流れに置く */
@media (max-height: 811px) {
  .register-code .new-btn {
    position: static;
    margin-top: 4rem;
  }

  .register-code-more {
    padding-bottom: 4rem;
  }
}

.register-code-resend-btn {
  padding: 0;
  border: none;
  background: none;
  font-family: inherit;
  font-size: 1.6rem;
  color: #037F72;
  text-decoration: underline;
  cursor: pointer;
}

.register-code-resend-btn:disabled {
  color: #707070;
  text-decoration: none;
  cursor: default;
}

/* やり直し・登録済みの文と、ログイン・登録へのボタン */
.register-code-restart p {
  font-size: 1.6rem;
  line-height: 1.7;
}

.register-code .form-btn {
  margin-top: 4rem;
}

/* 登録の途中が見つからないとき（lost）の、ログインのボタンの下の「登録をやり直す」 */
.register-code-alt {
  margin-top: 2.4rem;
  font-size: 1.6rem;
  text-align: center;
}

.register-code-alt a {
  color: #037F72;
  text-decoration: underline;
}

/*
 * パスワードの変更（/mypage/account/password/。MA7）。再設定（MA5）が重ねて書く。モックの部品（input-label・account-input・
 * form-btn・main-btn）に足りない所だけ足す。ほかの画面に効かないよう、.mypage-password・.mypage-password-* で範囲を絞る
 */

/* 項目名。label は inline なので、モックの p.input-label と同じく行を分ける */
.mypage-password .input-label {
  display: block;
}

/* 変更のボタン（.main-btn を button に使う） */
.mypage-password .main-btn {
  font-family: inherit;
  cursor: pointer;
}

/* 新しいパスワードの決まり */
.mypage-password-hint {
  margin-top: 0.8rem;
  font-size: 1.3rem;
  color: #707070;
}

/* 入力の誤り・回数制限の文。赤 #D50000 は白地で 5.9:1 */
.mypage-password-error {
  margin-top: 1.2rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #D50000;
}

/*
 * パスワードの再設定（/login/password/。MA5）。.member-password・.member-password-* で範囲を絞る
 */
.member-password .input-label {
  display: block;
}

.member-password .main-btn {
  font-family: inherit;
  cursor: pointer;
}

.member-password-lead {
  margin-top: 2.4rem;
  font-size: 1.4rem;
  line-height: 1.6;
}

/* 送った後の文（登録の有無で変えない） */
.member-password-status {
  margin-top: 2.4rem;
  padding: 1.6rem;
  border-radius: 10px;
  background-color: #F5F5F5;
  font-size: 1.4rem;
  line-height: 1.6;
}

.member-password-hint {
  margin-top: 0.8rem;
  font-size: 1.3rem;
  color: #707070;
}

/* 入力の誤り・期限切れ・回数制限の文。赤 #D50000 は白地で 5.9:1 */
.member-password-error {
  margin-top: 1.2rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: #D50000;
}
/*
 * 規約の改定の再同意（/login/consent/。MA12。モックにない画面）。モックの部品（page-ttl・checkbox・form-btn・main-btn）に
 * 足りない所だけ足す。ほかの画面に効かないよう、.member-consent・.member-consent-* で範囲を絞る
 */

.member-consent-lead {
  font-size: 1.4rem;
  line-height: 1.7;
}

/* 改定した文書へのリンク */
.member-consent-list {
  margin-top: 1.6rem;
  padding-left: 2rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

.member-consent-list li {
  list-style: disc;
}

.member-consent-list a {
  text-decoration: underline;
}

/* 未同意・版の更新の文。赤 #D50000 は白地で 5.9:1 */
.member-consent-error {
  margin-top: 2.4rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #D50000;
}

.member-consent .member-consent-agree {
  position: relative;
  margin-top: 2.4rem;
  line-height: 1.6;
}

/* style.css の .checkbox input { display: none; } ではキーボードで操作できないので、見えないまま操作できる形にする（ログインと同じ） */
.member-consent .member-consent-agree input {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.member-consent .member-consent-agree input:focus-visible + span {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

/* 同意のボタン（.main-btn を button に使う） */
.member-consent .main-btn {
  font-family: inherit;
  cursor: pointer;
}

/* 同意しない人の案内（ログアウトはフォームのボタンをリンクの見た目にする） */
.member-consent-other {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem 2.4rem;
  margin-top: 4rem;
  font-size: 1.3rem;
  line-height: 1.6;
}

.member-consent-other p {
  width: 100%;
}

.member-consent .member-consent-link {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
}

/*
 * マイページのトップと骨組み（/mypage/・受け皿の mypage.pending。MP0）。モックの部品（user-head・mypage-menu・back-btn）に
 * 足りない所だけ足す。色は案 C（計画 Q65。緑の操作部品は common/contrast.css の #037f72）
 */

/* ログアウト（POST のフォーム）を、ほかの行のリンク（style.css の .mypage-item a）と同じ見た目にする */
.mypage-menu form button {
  display: block;
  width: 100%;
  margin: 0;
  padding: 1.1rem 0;
  font-family: inherit;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: inherit;
  color: #151515;
  text-align: left;
  background: none;
  border: 0;
  border-top: 1px solid #cecece;
  border-radius: 0;
  position: relative;
  cursor: pointer;
}

.mypage-menu form button:before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 13px;
  background: url(/images/arrow-right.svg) no-repeat center / contain;
}

.mypage-menu form button:focus-visible {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

/* 準備中の文（.content の p には余白がない） */
.mypage-pending .content p + p {
  margin-top: 1.2rem;
}
/*
 * 基本情報（/mypage/account/・/mypage/account/change/。MP1）。モックの部品（account-list・account-input・flex-btn・mypage-menu）に
 * 足りない所だけ足す。ほかの画面に効かないよう、.mypage-account・.mypage-account-* で範囲を絞る
 */

/* 項目名の灰色 #b1b1b1 → #707070（白と 4.95。common/contrast.css の「3案に共通: 灰色の文字」と同じ直し） */
.mypage-account .account-ttl,
.mypage-account-edit .account-input span {
  color: #707070;
}

/* 変更の後の文。緑 #037f72 は白地で 4.9:1（common/contrast.css と同じ色） */
.mypage-account-status {
  margin-top: 2.4rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #037f72;
}

/* 「変更する」のリンクを行の右に置く。値の欄は残りの幅で、長いメールは折り返す（リンクのない行はモックと同じ幅） */
.mypage-account .account-main {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.mypage-account-change {
  flex-shrink: 0;
  font-size: 1.4rem;
  color: #037f72;
  text-decoration: underline;
}

/* ログイン中の端末・退会の入口（モックにない） */
.mypage-account .mypage-account-menu {
  margin-top: 5rem;
}

/* 入力の誤り。赤 #D50000 は白地で 5.9:1 */
.mypage-account-error {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #D50000;
}

.mypage-account-edit .account-input:has([aria-invalid="true"]) {
  border-bottom-color: #D50000;
}

/*
 * ログイン中の端末（/mypage/account/devices/。MA9）。モックの部品（page-ttl・account-list・account-item・form-btn・main-btn）に
 * 足りない所だけ足す。ほかの画面に効かないよう、.mypage-devices・.mypage-devices-* で範囲を絞る。緑の操作部品は #037f72（計画 Q65）
 */

/* 完了の文 */
.mypage-devices-status {
  margin-top: 2.4rem;
  padding: 1.2rem 1.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #151515;
  background-color: #e6f4f2;
  border-left: 4px solid #037f72;
}

.mypage-devices-lead,
.mypage-devices-note {
  margin-top: 2.4rem;
  font-size: 1.4rem;
  line-height: 1.6;
}

/* 一覧の上の余白は説明の文に任せる */
.mypage-devices .mypage-devices-list {
  margin-top: 2.4rem;
}

.mypage-devices-body {
  flex: 1;
  min-width: 0;
}

.mypage-devices-name {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}

/* 「この端末」の印 */
.mypage-devices-current {
  display: inline-block;
  margin-left: 0.6rem;
  padding: 0.3rem 0.6rem;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  vertical-align: middle;
  background-color: #037f72;
  border-radius: 5px;
}

/* 灰色 #595959 は白地で 7:1 */
.mypage-devices-meta {
  margin-top: 0.4rem;
  font-size: 1.2rem;
  line-height: 1.4;
  color: #595959;
  overflow-wrap: anywhere;
}

/* 1台ずつのログアウト */
.mypage-devices-revoke button {
  padding: 0.8rem 1.4rem;
  font-family: inherit;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  color: #037f72;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #037f72;
  border-radius: 999px;
  cursor: pointer;
}

.mypage-devices-revoke button:focus-visible,
.mypage-devices .form-btn .main-btn:focus-visible {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

/* ほかの端末をすべてログアウト（.main-btn を button に使う）。文が長いので、1行に収まるよう幅を広げ、字を少し小さくする */
.mypage-devices .form-btn .main-btn {
  max-width: 320px;
  font-family: inherit;
  font-size: 1.7rem;
  cursor: pointer;
}

.mypage-devices .form-btn {
  margin-top: 3.2rem;
}

/*
 * プロフィールの表示と編集（/mypage/profile/・/mypage/profile/change/。MP2）。モックの部品（profile-flex・account-list・tag-area・
 * tag-list・search-input・flex-btn・form-btn）に足りない所だけ足す。ほかの画面に効かないよう .mypage-profile・.mypage-profile-edit で絞る
 */

/* 灰色の項目名 #b1b1b1 は白地で 2.1:1 なので、案 C の灰色 #707070（4.95:1。計画 Q65）にする */
.mypage-profile .profile-name-head,
.mypage-profile .account-ttl {
  color: #707070;
}

/* 保存したことの知らせ */
.mypage-profile .profile-status {
  margin-bottom: 1.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #037f72;
}

/* 項目名。label は inline なので、モックの p.input-label と同じく行を分ける */
.mypage-profile-edit .input-label {
  display: block;
}

/* 入力のまちがい。赤 #D50000 は白地で 5.9:1 */
.mypage-profile-edit .profile-error {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #D50000;
}

/* まだ1つも選んでいなければ、選んだタグの枠を出さない */
.mypage-profile-edit .tag-area:not(:has(li)) {
  display: none;
}

/* 枠を出さないときも、項目名との間をモックの枠の上の余白（0.7rem）にする。枠を出すときは枠の下の 2.4rem と重なる */
.mypage-profile-edit .profile-tag-search {
  margin-top: 0.7rem;
}

.mypage-profile-edit .profile-tag-search[hidden],
.mypage-profile-edit #profile-tag-choices li[hidden],
.mypage-profile-edit .profile-tag-none[hidden] {
  display: none;
}

.mypage-profile-edit .profile-tag-none {
  margin-top: 1.2rem;
  font-size: 1.4rem;
}

/*
 * style.css の .tag-item input { display: none; } では Tab の順番に入らないので、見えないまま丸い枠に重ねて操作できる形にする
 * （検索シートの discover/sheet.css と同じ形。:focus-visible の印は #151515・2px・offset 2px）
 */
.mypage-profile-edit #profile-tag-choices li {
  position: relative;
}

.mypage-profile-edit #profile-tag-choices .tag-item input {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.mypage-profile-edit #profile-tag-choices .tag-item input:focus-visible + span {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

/* 完了のボタン（.main-btn を button に使う） */
.mypage-profile-edit .main-btn {
  font-family: inherit;
  cursor: pointer;
}
/*
 * MP4 自治体ページのお気に入りのハート（button）。持ち主は MP4（MF0 が空で作った区画。段2の約束 9.2）
 * 見た目は style.css の .favorite-btn・.favorite-btn.is-active のまま。ここは失敗の文（modules/favorite-toggle.js が出す）だけ
 */

/* 通信の失敗の文（ハートの下、右寄せ）。赤 #D50000 は白地で 5.9:1 */
.area-header .favorite-error {
  margin-top: 0.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #D50000;
  text-align: right;
}
/*
 * MP5 お気に入りの自治体の一覧（/mypage/favorite/）。持ち主は MP5（MF0 が空で作った区画。段2の約束 9.2）
 * 見た目は style.css の favorite-list・delete-btn・favorite-link のまま。ここは足りない所と色（案 C。計画 Q65）だけ
 */

/* 削除のフォームを並びから消し、button をモックと同じく .favorite-right の直の子として並べる */
.mypage-favorite .favorite-right form {
  display: contents;
}

/* 灰色の文字 #b1b1b1 → #707070（白と 4.95。contrast.css の「3案に共通」と同じ） */
.mypage-favorite .favorite-link {
  color: #707070;
}

/* 削除のボタンは縮めず、行が高くても伸ばさない（非公開の行で「削除」が折り返さないように） */
.mypage-favorite .delete-btn {
  flex-shrink: 0;
  align-self: center;
  white-space: nowrap;
}

/* 非公開になった自治体（リンクしない）。「現在は」「公開していません」の区切りで折り返す */
.mypage-favorite .favorite-unpublished {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.4;
  color: #707070;
}

.mypage-favorite .favorite-unpublished span {
  display: inline-block;
}

/* 通信の失敗の文（modules/favorite-list.js が一覧の上に出す）。赤 #D50000 は白地で 5.9:1 */
.mypage-favorite .favorite-list-error {
  margin-top: 2rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #D50000;
}
/*
 * お知らせの設定（/mypage/notification/。MP6）。モックの部品（checkbox・form-btn・main-btn）に足りない所だけ足す。
 * ほかの画面に効かないよう、.mypage-notification で範囲を絞る
 */

.mypage-notification .notification-form {
  margin-top: 3rem;
}

.mypage-notification .checkbox {
  position: relative;
  font-size: 1.6rem;
}

/* style.css の .checkbox input { display: none; } ではキーボードで操作できないので、見えないまま操作できる形にする */
.mypage-notification .checkbox input {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.mypage-notification .checkbox input:focus-visible + span {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

.mypage-notification .checkbox input[aria-invalid="true"] + span {
  border-color: #D50000;
}

.mypage-notification .notification-note,
.mypage-notification .notification-transactional {
  font-size: 1.4rem;
  line-height: 1.7;
}

.mypage-notification .notification-note {
  margin-top: 0.8rem;
  padding-left: calc(21px + 0.6rem);
}

.mypage-notification .notification-transactional {
  margin-top: 2.4rem;
  padding-top: 1.6rem;
  border-top: 1px solid #dedede;
}

/* 完了の文・配信停止中の案内 */
.mypage-notification .notification-status,
.mypage-notification .notification-blocked {
  margin-top: 2.4rem;
  padding: 1.2rem 1.6rem;
  border-radius: 5px;
  font-size: 1.4rem;
  line-height: 1.7;
}

.mypage-notification .notification-status {
  font-weight: 700;
  background-color: #f5f5f5;
}

.mypage-notification .notification-blocked {
  border: 1px solid #D50000;
}

.mypage-notification .notification-blocked a {
  text-decoration: underline;
}

/* 赤 #D50000 は白地で 5.9:1 */
.mypage-notification .notification-error {
  margin-top: 0.6rem;
  color: #D50000;
  font-size: 1.3rem;
  font-weight: 700;
}

/* 保存のボタン（.main-btn を button に使う） */
.mypage-notification .main-btn {
  margin: 0 auto;
  font-family: inherit;
  border: 0;
  cursor: pointer;
}

.mypage-notification .main-btn:focus-visible {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

/*
 * 受信箱（/mypage/message/・詳細。MN2）。モックの部品（tabs・message-list・message-head・content）に足りない所だけ足す。
 * 色は案 C（計画 Q65。緑の文字は common/contrast.css の #037f72）
 */

/* 送り手の地と日付の文字を、白との差 4.5 以上にする（案 C。common/contrast.css と同じ色） */
.message-head .from.unei {
  background-color: #037f72;
}

.message-head .from.local {
  background-color: #cf4620;
}

.message-head .date {
  color: #707070;
}

/* 未読の印（モックにない。日付の横に出す） */
.message-head .message-unread {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  color: #037f72;
}

/* お知らせがないときの文 */
.message-tab .message-empty {
  font-size: 1.4rem;
  line-height: 1.7;
  padding: 1.6rem 0;
  border-top: 1px solid #cecece;
}

/* 詳細の送り手と日付（題の下、本文の上） */
.mypage-message-detail .message-head {
  margin-bottom: 2.4rem;
}

/* マイページのメニューの「メッセージ」の横の未読の件数（ヘッダーには出さない。計画 Q39） */
.mypage-item .mypage-unread {
  display: inline-block;
  min-width: 2.2rem;
  margin-left: 0.8rem;
  padding: 0.4rem 0.6rem;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2rem;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  background-color: #037f72;
  border-radius: 1.1rem;
}
/*
 * 控除上限額のカード（トップとマイページのトップ。MS6）。モックの .qrpay-price は「利用金額」と「控除上限額(目安)」の2つだが、
 * 利用金額は連携・融合まで出さない（plan Q64）ので、上限額の1つだけの形にする。
 * 白い字が乗る地は contrast.css の案 C と同じ #037f72（モックの #04AB99 では白との比が 2.9 で足りない）
 */
.deduction-card {
  background-color: #037f72;
}

/* 地と見分けられるよう、モックの #03786B より濃くする（白と 7.4） */
.deduction-card .qrpay-price-link {
  background-color: #025b52;
}

/* 数字は1つなので、2つを分ける斜めの線を出さない */
.deduction-card .now-price:before {
  content: none;
}

.deduction-card-empty {
  margin-top: 0.8rem;
  text-align: right;
}

.deduction-card-empty a {
  display: inline-block;
  padding: 0.4rem 0;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  text-decoration: underline;
}

.deduction-card a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* モックの #CECECE は白地との比が 1.6 で読めないので、contrast.css の灰色にする */
.deduction-card + .limit-att {
  color: #707070;
}

/* トップ: モックの /login/top/ は、カードのすぐ下の検索に上の余白がない */
.deduction-card-section + .section {
  margin-top: 0;
}
/*
 * メールが届かないときの案内（MA14。<x-front.mail-delivery-guide>。モックにない枠）。登録・メールの変更のコードの画面と、
 * パスワードの再設定の送った後の画面に置く。ほかの画面に効かないよう、.mail-guide・.mail-guide-* で範囲を絞る
 */
.mail-guide {
  margin-top: 2.4rem;
  font-size: 1.4rem;
  line-height: 1.7;
}

.mail-guide-ttl {
  font-size: 1.6rem;
  font-weight: 700;
}

/* 行頭の印（モックの CSS が li の印を消しているので、li に付け直す） */
.mail-guide-list,
.mail-guide-carriers {
  margin-top: 0.8rem;
  padding-left: 2rem;
}

.mail-guide-list > li {
  list-style: disc;
}

.mail-guide-carriers > li {
  list-style: circle;
}

.mail-guide-list > li + li,
.mail-guide-carriers > li + li {
  margin-top: 0.4rem;
}

.mail-guide-resend {
  margin-top: 1.2rem;
}

/* 送れない状態。赤 #D50000 は白地で 5.9:1（コードの画面のまちがいの文と同じ） */
.mail-guide-blocked {
  margin-top: 1.2rem;
  font-weight: 700;
  color: #D50000;
}

/* リンクは再送のボタンと同じ色。#037F72 は白地で 4.9:1 */
.mail-guide a {
  color: #037F72;
  text-decoration: underline;
}

.mail-guide-blocked a {
  color: inherit;
}

.mail-guide a:focus-visible {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

/*
 * 退会の確認と完了（/mypage/withdraw/・/withdraw/done/。MA10。モックにない画面）。モックの部品（page-ttl・account-input・checkbox・
 * form-btn・main-btn）に足りない所だけ足す。ほかの画面に効かないよう、.member-withdraw・.member-withdraw-* で範囲を絞る
 */

.member-withdraw-lead,
.member-withdraw-note {
  font-size: 1.4rem;
  line-height: 1.7;
}

.member-withdraw-note {
  margin-top: 2.4rem;
}

.member-withdraw-heading {
  margin-top: 3.2rem;
  font-size: 1.6rem;
  font-weight: 700;
}

.member-withdraw-list {
  margin-top: 1.2rem;
  padding-left: 2rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

.member-withdraw-list li {
  list-style: disc;
}

/* まちがいと混み合いの文。赤 #D50000 は白地で 5.9:1 */
.member-withdraw-error {
  margin: 2.4rem 0 1.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #D50000;
}

.member-withdraw form {
  margin-top: 3.2rem;
}

.member-withdraw .member-withdraw-confirm {
  position: relative;
  margin-top: 2.4rem;
  line-height: 1.6;
}

/* style.css の .checkbox input { display: none; } ではキーボードで操作できないので、見えないまま操作できる形にする（ログインと同じ） */
.member-withdraw .member-withdraw-confirm input {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.member-withdraw .member-withdraw-confirm input:focus-visible + span {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

/* 退会のボタン（.main-btn を button に使う） */
.member-withdraw .main-btn {
  font-family: inherit;
  cursor: pointer;
}

/* 完了の文（.content の p には余白がない） */
.member-withdraw-done .content p + p {
  margin-top: 1.2rem;
}
/*
 * トップ・検索・検索シート・近くで探すの画面の追加（検索の担当）
 */
/* C3b 検索画面（/search/）。持ち主は C3b。新しいクラス（条件のチップなど）だけを書き、モックのクラスの見た目は変えない */
.search-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-bottom: 1.6rem;
}

.search-chips a {
  display: block;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1;
  padding: 0.6rem 1.2rem;
  border: 1px solid #04AB99;
  border-radius: 999px;
  background: #fff;
}

.search-chip a::after {
  content: "×";
  margin-left: 0.6rem;
  color: #037f72;
}

.search-chip-clear a {
  color: #666666;
  border-color: #b1b1b1;
}

/* 自治体ページへのリンク・日程の注記・0件の案内と、条件をゆるめた候補 */
.search-municipality,
.search-date-note {
  margin-bottom: 1.2rem;
  font-size: 1.4rem;
}

.search-date-note {
  font-size: 1.2rem;
  color: #666666;
}

.search-municipality a,
.search-relaxations a {
  font-weight: 500;
  color: #037f72;
  text-decoration: underline;
}

.search-empty-txt {
  margin-bottom: 1.6rem;
  font-size: 1.4rem;
}

.search-relaxations li + li {
  margin-top: 1rem;
}

.search-relaxations a {
  font-size: 1.4rem;
}

/*
 * C5 近くで探す（/map/）。持ち主は C5（段2の約束 9.1）。
 * モックの Google マップの埋め込み（.map-area）の代わりの、距離つきのカード一覧の区画（設計書 10.3）。
 * 既存のクラス（.btn・.near-btn・.select-area・.card-list・.all-btn）を使い回し、足りない所だけを書く。
 * hidden で隠す要素（都道府県の選択・もっと見る）には display を書かない（hidden が効かなくなるため）。
 */

.map .nearby-note {
  font-size: 1.2rem;
  line-height: 1.6;
  color: #666666;
  margin-bottom: 1.2rem;
}

/* 「現在地を使う」（トップの「近くで探す」と同じ色と絵。文字は絵と重ならないよう左に寄せる） */
.map .nearby .near-btn {
  justify-content: flex-start;
  padding-left: 2rem;
}

.map .nearby .near-btn:disabled {
  opacity: 0.6;
  cursor: default;
}

/* 状態の文（空のときは場所をとらない。読み上げのため要素は残す） */
.map .nearby-status {
  font-size: 1.4rem;
  line-height: 1.6;
}

.map .nearby-status:not(:empty) {
  margin-top: 1.2rem;
}

/* 現在地を使えないときの都道府県の選択 */
.map .nearby-fallback {
  margin-top: 2rem;
}

.map .nearby-fallback-ttl {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
}

.map .nearby-fallback-flex {
  display: flex;
  gap: 1.3rem;
  align-items: center;
}

.map .nearby-fallback .select-item {
  flex: 1;
  width: auto;
}

.map .nearby-fallback-btn {
  width: auto;
  height: auto;
  padding: 1.4rem 2.4rem;
  font-size: 1.4rem;
}

/* カードの一覧ともっと見る */
.map .nearby-list:not(:empty) {
  margin-top: 2.4rem;
}

.map .nearby-more {
  margin-top: 3rem;
  text-align: center;
}

.map .nearby-more button:disabled {
  opacity: 0.6;
  cursor: default;
}

/*
 * 検索シート（C4）のカテゴリ・人気のタグ・こだわり条件のチェックを、キーボードで選べるようにする（設計書 5.8）。
 * style.css の .checkbox input・.tag-item input { display: none; } では Tab の順番に入らないので、見えないまま操作できる形にする。
 * 形と印は問い合わせの同意（pages/contact.css）に合わせる（opacity: 0 で箱に重ね、:focus-visible の印は #151515・2px・offset 2px）。
 * 1px に切り抜かず見た目の箱に重ねるのは、Tab でシートの中が動くとき、ブラウザが input の箱を見せるところまでしか動かさないため
 * （1px だとその点だけが見えた位置で止まり、箱が縁で切れることがある）。範囲は .bottom-sheet の中だけ
 */
.bottom-sheet .checkbox {
  position: relative;
}

/* 21px は .checkbox span の箱の大きさ。absolute にしないと、flex・gap の .checkbox で箱の横に隙間が出る */
.bottom-sheet .checkbox input {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

/* タグは丸い枠（li の大きさ）に重ねる。label は inline で中の span が block なので、li を基準にする */
.bottom-sheet .tag-list li {
  position: relative;
}

.bottom-sheet .tag-item input {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.bottom-sheet .checkbox input:focus-visible + span,
.bottom-sheet .tag-item input:focus-visible + span {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

/*
 * シートの見出し（tabindex="-1"）は、開いたときにフォーカスを移すための行き先で、操作する部品ではない（Tab では止まらない）。
 * スクリプトで移したフォーカスはマウスで開いても :focus-visible になるため、印を出さない（開いた直後の見た目をモックのままにする）
 */
.bottom-sheet .sheet-ttl:focus {
  outline: none;
}
/* C6 トップ: 「現在地から探す」は C5 が見た目を付けて hidden を外す。display を持つクラスが付いても隠れたままにする */
.top-near .nearby-btn[hidden] {
  display: none;
}

/*
 * 「現在地付近のおすすめ」の「現在地から探す」（nearby.js。設計書 10.4）。モックにないボタンなので、見出しの行の右端に重ねて置き、
 * ページの並び（高さ）を変えない。色はブランドの緑（#04AB99）では白地で 4.5:1 に届かないので、濃い緑にする。
 * 案内（都道府県から探す）は hidden で隠すので display を書かない。
 */
.top-near .section-ttl {
  position: relative;
}

/*
 * 見出しの右にボタンの幅（約11rem）と隙間の分を空け、狭い画面や大きな文字でも見出しとボタンを重ねない。
 * 375px では見出しは1行のまま（高さは変わらない）。狭いときだけ見出しが2行になる
 */
.top-near .section-ttl h2 {
  padding-right: 12rem;
}

.top-near .nearby-btn {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  min-height: 2.8rem;
  padding: 0.3rem 1.2rem;
  border: 1px solid #00796b;
  border-radius: 1.4rem;
  background-color: #fff;
  color: #00796b;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}

.top-near .nearby-btn:focus-visible,
.top-near .nearby-fallback-btn:focus-visible {
  outline: 2px solid #00796b;
  outline-offset: 2px;
}

.top-near .nearby-btn:disabled {
  opacity: 0.6;
  cursor: default;
}

/* 状態の文（空のときは場所をとらない。読み上げのため要素は残す） */
.top-near .nearby-status:not(:empty) {
  margin-bottom: 1.2rem;
  font-size: 1.3rem;
  line-height: 1.6;
}

/* 現在地を使えないときの案内（文字のリンクの見た目） */
.top-near .nearby-fallback {
  margin-bottom: 1.2rem;
}

.top-near .nearby-fallback-btn {
  min-height: 2.4rem;
  padding: 0;
  color: #00796b;
  font-size: 1.3rem;
  font-weight: 700;
  text-decoration: underline;
}

/*
 * PC 向けの作り（幅 1080px 以上。スイッチ PC_LAYOUT_ENABLED が入のときだけ。設計書 5.6・App\Support\Front\PcLayout）。
 * 規則はすべて @media (min-width: 1080px) の中に、html.is-pc-layout から始めるセレクタで書く
 * （このファイルは最後に読まれるので、画面ごとの規則に勝たせたくない共通の規則は :where(html.is-pc-layout) で強さを下げる）。
 * スマホの幅（1080px 未満）と、スイッチが切のときの見た目は 1px も変えない（撮り比べで 375・500px が main と一致すること）。
 * スマホの幅だけの規則が要るときは (max-width: 1079px) でなく @media not all and (min-width: 1080px) と書く
 * （拡大率などで幅が 1079.5px のような端数になったとき、どちらの条件にも合わない隙間ができるため）。
 * 担当ごとにファイルを分ける（同じファイルを取り合わない）。@import はほかの規則より前に置く決まりなので、ここには規則を書かない。
 */

/*
 * PC 向けの作り（全画面に共通の土台）。持ち主: 土台（pc/base）。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * 決まり（PC 版のデザイン案「PC版の決まりと部品」と同じ）
 * - 中身の幅は 1200px。左右に 40px の余白を取り、1280px の容器を画面の中央に置く（.page-width）
 * - 12列・列の間 24px。お礼品のカードは 4列（列の間 24px・行の間 32px）。自治体のカードは 3列
 * - 色は案C（contrast.css）のまま。#037f72 を #f5f5f5 の地に置かない
 * - PC だけの部品は .pc-only（スマホの幅では隠す）、スマホだけの部品は .sp-only（PC の幅では隠す）。
 *   .pc-only の要素はスイッチが入のときだけ Blade が描く（App\Support\Front\PcLayout::enabled()）
 */

/* スマホの幅（スイッチが入でも 1080px 未満）では PC だけの部品を出さない。
   (max-width: 1079px) にすると、拡大率などで幅が 1079.5px のような端数になったとき、PC の規則（min-width: 1080px）とも
   合わない隙間ができ、PC だけの部品が形の付かないまま出るので、PC の条件の否定で書く */
@media not all and (min-width: 1080px) {
  html.is-pc-layout .pc-only {
    display: none !important;
  }
}

@media (min-width: 1080px) {
  html.is-pc-layout .sp-only {
    display: none !important;
  }

  /* 幅500pxの列をやめ、画面いっぱいに広げる。position: sticky が効くよう、overflow は hidden ではなく clip にする */
  /* body の overflow-x: hidden（style.css）は、html の overflow-y: scroll（reset.css）と合わせて body をスクロールの器にし、
     ヘッダーの position: sticky が効かなくなる。clip にして器にしない（横にはみ出したものを切るのは同じ） */
  /* 中身の短い画面でも、フッターの灰色を画面の下まで続ける（デザイン案）。.wrapper（白）の高さは中身とフッターの分だけにし
     （style.css の min-height: 100vh をやめる）、その下は body の灰色（フッターと同じ #f5f5f5）を見せる */
  html.is-pc-layout body {
    background: #f5f5f5;
    overflow-x: clip;
  }

  html.is-pc-layout .wrapper {
    max-width: none;
    min-height: 0;
    overflow: clip;
  }

  html.is-pc-layout .page-width {
    max-width: 1200px;
    padding: 0 40px;
    box-sizing: content-box;
  }

  /* セクションの間（スマホの 30px を広げる） */
  html.is-pc-layout .section {
    margin-top: 72px;
  }

  html.is-pc-layout .top-section {
    padding-top: 56px;
  }

  /* 画面の最初のセクションは上の 72px を取らず、ヘッダー（パンくず）からの間を .main の余白（pc/header.css の 40px。
     パンくずの後は 16px）にする（デザイン案「ヘッダーの下からページの最初の見出しまで 40px」）。
     強さは (0,3,1) にとどめ、画面ごとの CSS（後に読まれる）が同じ強さで決め直せるようにする */
  html.is-pc-layout .main > .section:where(:first-child) {
    margin-top: 0;
  }

  /* セクションの見出し（26px と 14px の小見出し） */
  html.is-pc-layout .section-ttl {
    margin-bottom: 24px;
  }

  html.is-pc-layout .section-ttl h1 {
    font-size: 3.2rem;
    line-height: 1.4;
  }

  html.is-pc-layout .section-ttl h2 {
    font-size: 2.6rem;
  }

  html.is-pc-layout .section-ttl p {
    font-size: 1.4rem;
    color: #707070;
    margin-top: 6px;
  }

  /* お礼品のカード: 4列のグリッド（スライダーも PC では slick を作らないので、同じグリッドになる） */
  html.is-pc-layout .card-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px 24px;
  }

  html.is-pc-layout .card-item,
  html.is-pc-layout .card-slider .card-item {
    width: auto;
    margin-right: 0;
  }

  html.is-pc-layout .card-item a {
    height: 100%;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.16);
  }

  /* 自治体のカード: 3列 */
  html.is-pc-layout .card-list.furusato-list,
  html.is-pc-layout .card-list.furusato-slider {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  /* 特集のバナー: 3列 */
  html.is-pc-layout .banner-slider,
  html.is-pc-layout .banner-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px 24px;
  }

  html.is-pc-layout .banner-item a {
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.16);
  }

  /* タグ: 折り返して並べる */
  html.is-pc-layout .tag-slider {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 8px;
  }

  html.is-pc-layout .tag-slider .tag-item {
    margin-right: 0;
  }

  /* フォーカスの印（キーボードで動かしたとき）。html.is-pc-layout と部品の種類を :where() に入れ、強さを :focus-visible の
     (0,1,0) だけにする。style.css の textarea { outline: none }（0,0,1）には勝ち、画面ごとの印の決まり（.deduction-card a:focus-visible の
     白い印〔0,2,1〕、.contact-errors:focus の 3px など）には負ける（pc.css は最後に読まれるので、強さをそろえると勝ってしまう） */
  :where(html.is-pc-layout) :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* reset.css の a:hover, a:active { outline-width: 0 }（0,1,1）は、マウスを重ねると印を消す。同じ強さで後に書き、印を残す */
  :where(html.is-pc-layout) a:where(:hover, :active):focus-visible {
    outline-width: 2px;
  }

  /* ----- 「本文へ移動」（layouts/front.blade.php。<body> の最初。ふだんは画面の上の外に置き、フォーカスしたときだけ左上に出す） ----- */
  html.is-pc-layout .pc-skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 1000;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 20px;
    border-radius: 999px;
    background: #151515;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    transform: translateY(calc(-100% - 24px));
  }

  html.is-pc-layout .pc-skip-link:focus {
    transform: none;
  }

  /* 行き先（中身のない div）。リンクから移ったフォーカスの印は出さない（線だけが出て、何の印か分からないため） */
  html.is-pc-layout .pc-skip-target:focus {
    outline: none;
  }

  /* ----- 見えるパンくず（components/front/breadcrumb.blade.php。ヘッダーの下・13px・区切りは「＞」・今のページは #707070） ----- */
  html.is-pc-layout .pc-breadcrumb {
    padding-top: 8px;
  }

  html.is-pc-layout .pc-breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 10px;
    font-size: 1.3rem;
    line-height: 1.6;
  }

  html.is-pc-layout .pc-breadcrumb-item {
    display: flex;
    align-items: center;
    min-height: 40px;
  }

  html.is-pc-layout .pc-breadcrumb-separator {
    margin-right: 10px;
    color: #707070;
  }

  html.is-pc-layout .pc-breadcrumb-item a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    color: #151515;
    text-decoration: underline;
  }

  html.is-pc-layout .pc-breadcrumb-item a:hover {
    color: #037f72;
  }

  html.is-pc-layout .pc-breadcrumb-item [aria-current="page"] {
    color: #707070;
  }

  /* パンくずがある画面では、ヘッダーから中身までの間をパンくずの分だけ詰める */
  html.is-pc-layout .pc-breadcrumb ~ .main {
    margin-top: 16px;
  }

  /* ----- セクションの見出しと「全て見る」（右上に置く。デザイン案の部品「セクションの見出し」） ----- */
  html.is-pc-layout .section-ttl h2 {
    line-height: 1.3;
  }

  html.is-pc-layout .section-ttl p {
    line-height: 1.5;
  }

  /* 見出しの直後の「全て見る」（<x-front.section-all-btn>。components/front/section-all-btn.blade.php）を、見出しと同じ行の右に並べる。
     DOM の順（見出し → 全て見る → 一覧）のまま置くだけなので、Tab と読み上げの順も見た目の順と同じ。ほかの子は全幅で下に続く */
  html.is-pc-layout :has(> .section-ttl + .section-all-btn) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 24px;
  }

  html.is-pc-layout :has(> .section-ttl + .section-all-btn) > * {
    grid-column: 1 / -1;
  }

  html.is-pc-layout :has(> .section-ttl + .section-all-btn) > .section-ttl {
    grid-column: 1;
  }

  html.is-pc-layout :has(> .section-ttl + .section-all-btn) > .section-all-btn {
    grid-column: 2;
    align-self: end;
    margin-bottom: 24px;
  }

  /* 形はデザイン案の部品「セクションの見出し」の「全て見る」（白・枠 #b1b1b1・丸・高さ 40px・右に矢印） */
  html.is-pc-layout .section-all-btn a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 40px;
    box-sizing: border-box;
    padding: 0 16px 0 20px;
    border: 1px solid #b1b1b1;
    border-radius: 999px;
    background-color: #fff;
    color: #151515;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    transition: border-color 0.2s, color 0.2s;
  }

  html.is-pc-layout .section-all-btn a:hover {
    border-color: #037f72;
    color: #037f72;
  }

  html.is-pc-layout .section-all-btn svg {
    flex-shrink: 0;
  }

  /* 【移りの間だけ】一覧の後ろの「全て見る」（div.all-btn）を、CSS で見出しの右へ動かす。見た目は右上でも、Tab と読み上げの順は
     HTML のまま（カードの一覧の後）で、見た目の順とずれる（WCAG 2.4.3）。各画面が <x-front.section-all-btn> に移ったら、この規則は消す。
     <x-front.section-all-btn> を置いた器には当てない（上の規則に任せる）。その除外は :where() で包み、詳細度を (0,4,3) のままにする
     （各画面の担当が見出しの直後に置いた PC だけの「全て見る」の規則。例 .top-page .top-section > .page-width > .top-all-btn (0,5,1)
     の grid-column: 2 が、この規則の「> *」の grid-column: 1 / -1 に負けないように） */
  html.is-pc-layout .page-width:has(> .section-ttl > h2):has(> div.all-btn):where(:not(:has(> .section-all-btn))) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 24px;
  }

  html.is-pc-layout .page-width:has(> .section-ttl > h2):has(> div.all-btn):where(:not(:has(> .section-all-btn))) > * {
    grid-column: 1 / -1;
  }

  html.is-pc-layout .page-width:has(> .section-ttl > h2):has(> div.all-btn):where(:not(:has(> .section-all-btn))) > .section-ttl {
    grid-column: 1;
    grid-row: 1;
  }

  html.is-pc-layout .page-width:has(> .section-ttl > h2):has(> div.all-btn):where(:not(:has(> .section-all-btn))) > div.all-btn {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0 0 24px;
  }

  /* 「全て見る」などの枠のボタン（白・丸・高さ 40px）。丸になるのは .all-btn の直下の a・span（button.all-btn の中の字）と、
     .all-btn の直下の button の中の span（地図の「もっと見る」）だけ。リンクの中の span（見えない名前など）には当てない */
  html.is-pc-layout .all-btn > a,
  html.is-pc-layout .all-btn > span,
  html.is-pc-layout .all-btn > button > span {
    display: inline-flex;
    align-items: center;
    height: 40px;
    padding: 0 18px 0 20px;
    font-size: 1.4rem;
    letter-spacing: 0;
    white-space: nowrap;
    transition: border-color 0.2s, color 0.2s;
  }

  html.is-pc-layout .all-btn > a:hover {
    border-color: #037f72;
    color: #037f72;
  }

  /* ----- お礼品のカード（components/front/activity-card.blade.php） ----- */
  html.is-pc-layout .card-item {
    display: flex;
    flex-direction: column;
  }

  html.is-pc-layout .card-item > a {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    transition: box-shadow 0.2s;
  }

  html.is-pc-layout .card-item > a:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  }

  html.is-pc-layout .card-img {
    background-color: #eeeeee;
  }

  html.is-pc-layout .card-area,
  html.is-pc-layout .card-status {
    left: 8px;
    padding: 6px 8px;
  }

  html.is-pc-layout .card-area {
    bottom: 8px;
  }

  html.is-pc-layout .card-status {
    top: 8px;
  }

  html.is-pc-layout .card-info {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 10px;
    padding: 12px 14px 16px;
  }

  html.is-pc-layout .card-ttl {
    margin-bottom: 0;
    font-size: 1.5rem;
    line-height: 1.5;
  }

  html.is-pc-layout .card-item > a:hover .card-ttl {
    text-decoration: underline;
  }

  html.is-pc-layout .card-price {
    margin-top: auto;
    font-size: 1.8rem;
    line-height: 1.2;
  }

  html.is-pc-layout .card-price-unit {
    margin-left: 2px;
    font-size: 1.3rem;
  }

  html.is-pc-layout .card-distance {
    font-size: 1.3rem;
  }

  /* ----- 自治体のカード（components/front/municipality-card.blade.php） ----- */
  html.is-pc-layout .furusato-info {
    padding: 54px 20px 24px;
    text-align: center;
  }

  html.is-pc-layout .furusato-circle {
    top: -46px;
    width: 92px;
    height: 92px;
    gap: 0;
    padding-bottom: 0;
  }

  html.is-pc-layout .furusato-circle .num {
    font-size: 3.4rem;
  }

  html.is-pc-layout .furusato-circle .txt {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.4;
  }

  html.is-pc-layout .furusato-ttl {
    margin-bottom: 8px;
    font-size: 1.7rem;
    line-height: 1.4;
  }

  html.is-pc-layout .furusato-txt {
    font-size: 1.3rem;
    line-height: 1.7;
  }

  /* ----- 特集のバナー（components/front/banner-item.blade.php） ----- */
  html.is-pc-layout .banner-item a {
    transition: box-shadow 0.2s;
  }

  html.is-pc-layout .banner-item a:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  }

  /* ----- ページ送り（components/front/pagination.blade.php。40px の丸・枠 #04AB99・今のページは #037f72 の地） ----- */
  html.is-pc-layout .pagination {
    margin-top: 48px;
  }

  html.is-pc-layout .pagination-list {
    gap: 8px;
  }

  html.is-pc-layout .pagination-item a,
  html.is-pc-layout .pagination-item span {
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    transition: background-color 0.2s;
  }

  html.is-pc-layout .pagination-item a:hover {
    background-color: #e6f4f2;
  }

  html.is-pc-layout .pagination-gap span {
    min-width: auto;
    padding: 0 2px;
  }

  /* 「前へ」「次へ」は丸い枠のボタンに矢印（読み上げない飾り） */
  html.is-pc-layout .pagination-prev a,
  html.is-pc-layout .pagination-next a {
    gap: 6px;
    padding: 0 18px;
  }

  html.is-pc-layout .pagination-prev a {
    padding-left: 14px;
  }

  html.is-pc-layout .pagination-next a {
    padding-right: 14px;
  }

  html.is-pc-layout .pagination-prev a::before,
  html.is-pc-layout .pagination-next a::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid currentColor;
    border-left: 2px solid currentColor;
  }

  html.is-pc-layout .pagination-prev a::before {
    transform: rotate(-45deg);
    margin-left: 3px;
  }

  html.is-pc-layout .pagination-next a::after {
    transform: rotate(135deg);
    margin-right: 3px;
  }
}

/*
 * PC 向けの作り（ヘッダー）。持ち主: 土台（pc/base）。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * PC のヘッダーは2段（デザイン案「ヘッダー（PC）」）。components/front/header.blade.php の .pc-header（スイッチが入のときだけ描く）。
 * - 1段目（76px）: ロゴ・キーワードの検索・よくある質問・お気に入り・ログイン（ログイン中はマイページ）
 * - 2段目（54px）: 探し方（近くで探す・エリア・日程・カテゴリ・詳細検索。色の四角のアイコン）と、読みもの
 * スマホのヘッダー（ロゴ・ログイン・ハンバーガーとメニューの全面パネル）は sp-only で、PC の幅では出さない
 */
@media (min-width: 1080px) {
  /* スマホの幅500pxで固定したヘッダーをやめ、画面いっぱいにして上に貼り付ける */
  html.is-pc-layout .header {
    position: sticky;
    left: auto;
    transform: none;
    max-width: none;
    height: auto;
    border-bottom: 1px solid #e3e3e3;
  }

  /* 貼り付けたヘッダー（約 132px）の下に、ページ内のリンクやフォーカスした部品が隠れないようにする */
  html.is-pc-layout {
    scroll-padding-top: 148px;
  }

  /* 固定のヘッダー（77px）をよける余白をやめる */
  html.is-pc-layout .main {
    margin: 40px 0 96px;
  }

  html.is-pc-layout .pc-header {
    line-height: 1.5;
  }

  /* ----- 1段目 ----- */
  html.is-pc-layout .pc-header-main {
    display: flex;
    align-items: center;
    gap: 36px;
    height: 76px;
  }

  html.is-pc-layout .pc-header-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
  }

  html.is-pc-layout .pc-header-logo img {
    display: block;
    width: auto;
    height: 46px;
  }

  /* キーワードの検索（丸い枠の中に虫眼鏡・入力欄・「検索」ボタン） */
  html.is-pc-layout .pc-header-search {
    flex-grow: 1;
    max-width: 520px;
  }

  html.is-pc-layout .pc-header-search-box {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 50px;
    padding: 0 4px 0 18px;
    border: 1px solid #8c8c8c;
    border-radius: 999px;
    background: #fff;
  }

  /* 入力欄の印は枠全体に付ける（入力欄そのものには付けない）。「検索」ボタンにフォーカスがあるときは、ボタン自身の印だけにする
     （:focus-within だと枠の印と二重になる） */
  html.is-pc-layout .pc-header-search-box:has(input:focus-visible) {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  html.is-pc-layout .pc-header-search-icon {
    flex-shrink: 0;
  }

  html.is-pc-layout .pc-header-search-box input {
    flex-grow: 1;
    min-width: 0;
    height: 40px;
    padding: 0;
    border: 0;
    outline: none;
    background: transparent;
    font-size: 1.4rem;
    font-weight: 500;
    color: #151515;
  }

  html.is-pc-layout .pc-header-search-box input::placeholder {
    color: #707070;
    opacity: 1;
  }

  html.is-pc-layout .pc-header-search-btn {
    flex-shrink: 0;
    height: 40px;
    padding: 0 22px;
    border-radius: 999px;
    background: #037f72;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    transition: background-color 0.2s;
  }

  html.is-pc-layout .pc-header-search-btn:hover {
    background: #025b52;
  }

  /* よくある質問・お気に入り・ログイン */
  html.is-pc-layout .pc-header-member {
    flex-shrink: 0;
    margin-left: auto;
  }

  html.is-pc-layout .pc-header-member-list {
    display: flex;
    align-items: center;
    gap: 26px;
  }

  html.is-pc-layout .pc-header-text-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    font-size: 1.3rem;
    font-weight: 500;
    color: #151515;
  }

  html.is-pc-layout .pc-header-text-link:hover {
    color: #037f72;
    text-decoration: underline;
  }

  html.is-pc-layout .pc-header-text-link:hover path {
    stroke: #037f72;
  }

  html.is-pc-layout .pc-header-account {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    padding: 0 18px 0 7px;
    border: 1px solid #cecece;
    border-radius: 999px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    color: #151515;
  }

  html.is-pc-layout .pc-header-account:hover {
    border-color: #037f72;
  }

  html.is-pc-layout .pc-header-account img {
    display: block;
    width: 30px;
    height: 30px;
  }

  html.is-pc-layout .pc-header-account.is-member {
    padding-left: 6px;
  }

  html.is-pc-layout .pc-header-account.is-member img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
  }

  /* ----- 2段目 ----- */
  html.is-pc-layout .pc-header-sub {
    border-top: 1px solid #efefef;
  }

  html.is-pc-layout .pc-header-sub-inner {
    display: flex;
    align-items: center;
    gap: 24px;
    height: 54px;
  }

  html.is-pc-layout .pc-header-find {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  html.is-pc-layout .pc-header-find-link {
    display: flex;
    align-items: center;
    gap: 9px;
    height: 40px;
    padding: 0 14px 0 6px;
    border-radius: 8px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    color: #151515;
    white-space: nowrap;
    transition: background-color 0.2s;
  }

  html.is-pc-layout button.pc-header-find-link[aria-haspopup] {
    padding-right: 10px;
  }

  html.is-pc-layout .pc-header-find-link:hover {
    background: #f5f5f5;
  }

  html.is-pc-layout .pc-header-find-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 7px;
    background: #151515;
  }

  html.is-pc-layout .pc-header-find-icon.is-near {
    background: #037f72;
  }

  html.is-pc-layout .pc-header-find-icon.is-area {
    background: #cf4620;
  }

  html.is-pc-layout .pc-header-find-icon.is-date {
    background: #094b95;
  }

  html.is-pc-layout .pc-header-find-icon.is-category {
    background: #02722e;
  }

  html.is-pc-layout .pc-header-find-caret {
    flex-shrink: 0;
    margin-left: -3px;
  }

  /* 右の読みもの（編集部のおすすめ・おすすめのふるさと） */
  html.is-pc-layout .pc-header-read {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-left: auto;
  }

  html.is-pc-layout .pc-header-read .pc-header-text-link {
    font-size: 1.4rem;
    font-weight: 700;
  }
}
/*
 * PC 向けの作り（フッター）。持ち主: 土台（pc/base）。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * components/front/footer.blade.php（スイッチが入のときだけレイアウトが描く。デザイン案「フッター（PC）」）。
 * 灰色の地（#f5f5f5）の上なので、緑の文字（#037f72）は置かない。補足の文字は #595959
 */
@media (min-width: 1080px) {
  html.is-pc-layout .pc-footer {
    background: #f5f5f5;
    color: #151515;
    line-height: 1.7;
  }

  /* 12列: ロゴと文（4列）・探す・読む・会員・ご案内（2列ずつ） */
  html.is-pc-layout .pc-footer-main {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 24px;
    padding-top: 56px;
  }

  html.is-pc-layout .pc-footer-brand {
    grid-column: span 4;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  html.is-pc-layout .pc-footer-logo {
    display: flex;
  }

  html.is-pc-layout .pc-footer-logo img {
    display: block;
    width: auto;
    height: 56px;
  }

  html.is-pc-layout .pc-footer-catch {
    font-size: 1.5rem;
    font-weight: 700;
  }

  html.is-pc-layout .pc-footer-note {
    font-size: 1.2rem;
    color: #595959;
  }

  html.is-pc-layout .pc-footer-nav {
    grid-column: span 2;
  }

  html.is-pc-layout .pc-footer-nav-ttl {
    margin-bottom: 4px;
    font-size: 1.4rem;
    font-weight: 700;
  }

  /* リンクとシートを開くボタンは同じ見た目。押せる高さは 40px */
  html.is-pc-layout .pc-footer-links a,
  html.is-pc-layout .pc-footer-links button,
  html.is-pc-layout .pc-footer-policy a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0;
    font-size: 1.3rem;
    line-height: 1.5;
    color: #151515;
    text-align: left;
  }

  html.is-pc-layout .pc-footer-links a:hover,
  html.is-pc-layout .pc-footer-links button:hover,
  html.is-pc-layout .pc-footer-policy a:hover {
    text-decoration: underline;
  }

  /* 規約と著作権の行 */
  html.is-pc-layout .pc-footer-bottom {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: 40px;
    padding-top: 12px;
    padding-bottom: 20px;
    border-top: 1px solid #dedede;
    font-size: 1.2rem;
  }

  html.is-pc-layout .pc-footer-policy {
    display: flex;
    align-items: center;
    gap: 28px;
  }

  html.is-pc-layout .pc-footer-policy a {
    font-size: 1.2rem;
  }

  html.is-pc-layout .pc-footer-copy {
    margin-left: auto;
    color: #595959;
  }
}
/*
 * PC 向けの作り（検索のシート（PC ではヘッダーの下に開くパネル・中央の窓））。持ち主: シートの担当。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * スマホでは下から出るボトムシート（style.css の .bottom-sheet・.bottom-sheet-inner）。PC では形だけを変える
 * （デザイン案「エリアのパネル（開いた状態）」）。開閉・フォーカスの閉じ込め・Esc は sheet.js のまま
 * - エリア・日程・カテゴリ: ヘッダーのすぐ下に開く横長のパネル。中身の幅 1200px（左右 40px を残して縮む）、白、下の角丸 16px、影、
 *   上に色の線（エリア #cf4620・日程 #094b95・カテゴリ #02722e。トップの探し方のボタンと同じ色）。
 *   左の 8列に選ぶもの、右の 4列（左に区切りの線）に「表示」を置く（3つのパネルでボタンの場所をそろえる）
 * - 表示を絞り込む（#detail）: 画面の中央の窓（幅 720px、角丸 16px）
 * - 覆い（.bottom-sheet の地 rgba(0,0,0,.4)。押すと閉じる）: エリア・日程・カテゴリはヘッダーの下の全体にだけかかり、ヘッダーは白いまま
 *   （デザイン案。開いている間もヘッダーの探し方のボタンで別のパネルに替えられる。sheet.js）。表示を絞り込むはヘッダーも含む画面の全体
 * - 覆いとパネルの上端（--pc-sheet-top）は、開いたときに sheet.js がヘッダーの下端の位置を .bottom-sheet に入れる（ヘッダーの高さは画面の幅などで変わるため）
 * - 位置は transform ではなく inset と margin で決める（translate(-50%) は幅が奇数のとき文字がにじむ）。transform は開く動きにだけ使う
 * - 開いている間の後ろのページは、スクロールの位置をそのままにして止める（sheet.js が <html> に is-sheet-open を付ける）。
 *   style.css の body.is-fixed（body を画面の高さにして overflow: hidden）は、ページを先頭に戻すので PC の幅では使わない
 */
@media (min-width: 1080px) {
  /* ---------- 共通: 開いている間の後ろのページ ---------- */
  /*
   * 画面（<html>）のスクロールを止める。位置はそのまま（フッターや、下に送ったページの貼り付けたヘッダーから開いても、
   * 後ろのページが先頭に飛ばず、閉じてフォーカスを戻したボタンが画面の中にある）。
   * 止めると幅のあるスクロールバー（reset.css の overflow-y: scroll で出ている）が消えるので、その幅（--pc-scrollbar-width。
   * 開くときに sheet.js が測る。重なるスクロールバーなら 0）を右の余白で空け、中身とヘッダーを横に動かさない
   */
  html.is-pc-layout.is-sheet-open {
    overflow: hidden;
    padding-right: var(--pc-scrollbar-width, 0px);
    /* 空けた右の余白には、ふだんは画面の地（common.css の body の灰色 #f5f5f5）が見え、白いヘッダーの右に灰色の帯が出る。
       開いている間は <html> の地を白にしてヘッダーとつなげる（ヘッダーの下は覆いが右の端まで掛かる） */
    background: #fff;
  }

  /* body.is-fixed（style.css）の高さ 100dvh・overflow: hidden をやめる。body をスクロールの器にすると、ページが先頭に戻り、
     ヘッダーの position: sticky も body に付く。横は common.css と同じ clip */
  html.is-pc-layout.is-sheet-open body.is-fixed {
    height: auto;
    overflow-x: clip;
    overflow-y: visible;
  }

  /* ---------- 共通: パネルの形 ---------- */
  /*
   * エリア・日程・カテゴリは、覆い（.bottom-sheet）ごとヘッダーの下端から始める。パネルは覆いの上端に付ける。
   * 開く動き（上から 16px 下りる）の間にパネルがヘッダーに重ならないよう、覆いの外ははみ出させない
   * （日程のカレンダーは jQuery UI が position: fixed で置くので、覆いでは切れない）
   */
  html.is-pc-layout #area.bottom-sheet,
  html.is-pc-layout #date.bottom-sheet,
  html.is-pc-layout #category.bottom-sheet {
    top: var(--pc-sheet-top, 0px);
    overflow: hidden;
  }

  /*
   * 覆いは画面の右の端まで（消えたスクロールバーの所も暗くする）。パネルは、スクロールバーの幅を右に空けた残り（後ろのページの中身と同じ幅）の
   * 中央に置き、ヘッダーの 1200px の列とそろえる
   */
  html.is-pc-layout .bottom-sheet .bottom-sheet-inner {
    top: 0;
    right: var(--pc-scrollbar-width, 0px);
    bottom: auto;
    left: 0;
    width: min(1200px, calc(100% - 80px - var(--pc-scrollbar-width, 0px)));
    max-width: none;
    max-height: calc(100dvh - var(--pc-sheet-top, 0px) - 40px);
    margin: 0 auto;
    border: 0;
    border-top: 3px solid #037f72;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    transform: translateY(-16px);
  }

  html.is-pc-layout .bottom-sheet.active .bottom-sheet-inner {
    transform: none;
  }

  html.is-pc-layout #area .bottom-sheet-inner {
    border-top-color: #cf4620;
  }

  html.is-pc-layout #date .bottom-sheet-inner {
    border-top-color: #094b95;
  }

  html.is-pc-layout #category .bottom-sheet-inner {
    border-top-color: #02722e;
  }

  /* 中の .page-width（common.css の 1200px＋左右 40px）をパネルの内側の余白にする */
  html.is-pc-layout .bottom-sheet .page-width {
    max-width: none;
    padding: 0 32px;
  }

  /* 見出しから中身までは 24px（下の 20px と、.sheet-main の上の 4px） */
  html.is-pc-layout .bottom-sheet .sheet-header-flex {
    gap: 24px;
    padding: 32px 0 20px;
  }

  html.is-pc-layout .bottom-sheet .sheet-ttl {
    font-size: 2.2rem;
    line-height: 1.4;
  }

  html.is-pc-layout .bottom-sheet .sheet-close {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
  }

  /* × はデザイン案の太さ（18px の枠に線 2.4。長さ約 14px・太さ 2px の丸い端）。style.css は長さ 18px・太さ 1px */
  html.is-pc-layout .bottom-sheet .sheet-close::before,
  html.is-pc-layout .bottom-sheet .sheet-close::after {
    width: 2px;
    height: 14px;
    border-radius: 1px;
  }

  /* .sheet-main はスクロールの箱（style.css の overflow-y: auto）なので、1行目の部品のフォーカスの印（2px＋間 2px）が上で切れないよう、上に 4px 空ける */
  html.is-pc-layout .bottom-sheet .sheet-main {
    padding: 4px 0 32px;
  }

  /* フォーカスの印（チェックとタグの印は discover/sheet.css） */
  html.is-pc-layout .bottom-sheet a:focus-visible,
  html.is-pc-layout .bottom-sheet button:focus-visible,
  html.is-pc-layout .bottom-sheet select:focus-visible,
  html.is-pc-layout .bottom-sheet input[type="text"]:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* ---------- 共通: 部品 ---------- */
  html.is-pc-layout .bottom-sheet .select-area,
  html.is-pc-layout .bottom-sheet .select-date {
    height: 44px;
    padding: 0 40px 0 14px;
    font-size: 1.4rem;
    line-height: 42px;
    cursor: pointer;
  }

  /*
   * 都道府県・市町村の矢印はデザイン案の山形（16px・#151515・線 2.2。右 14px）。select の地に描き、
   * style.css の細い灰色の矢印（.select-icon の arrow-bottom.svg）は隠す。日程のカレンダーのアイコン（.date-icon）はそのまま
   */
  html.is-pc-layout .bottom-sheet .select-icon:not(.date-icon) {
    display: none;
  }

  html.is-pc-layout .bottom-sheet select.select-area {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px 16px;
  }

  /* 選べない市町村（都道府県を選ぶ前）は灰色の地と灰色の矢印にする（デザイン案） */
  html.is-pc-layout .bottom-sheet .select-area:disabled {
    border-color: #cecece;
    background-color: #f5f5f5;
    color: #707070;
    cursor: not-allowed;
  }

  html.is-pc-layout .bottom-sheet select.select-area:disabled {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238c8c8c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  }

  /*
   * 日程のカレンダー（jQuery UI。datepicker.js がシートの中に移す）は、パネルの下にはみ出してもよい浮いた部品として影を付ける。
   * 日付と前後の月のボタンは押せる大きさ（40px 角）にする（jQuery UI の大きさのままだと日付は約 31×27px）。
   * 幅は 7列 ×（40px＋セルの余白 2px）＝ 294px が中に収まる大きさ（box-sizing: border-box なので、余白 8px×2 と枠 1px×2 を足す）
   */
  html.is-pc-layout .bottom-sheet #ui-datepicker-div {
    width: 314px;
    padding: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  }

  html.is-pc-layout .bottom-sheet #ui-datepicker-div .ui-datepicker-header {
    padding: 2px 0;
  }

  html.is-pc-layout .bottom-sheet #ui-datepicker-div .ui-datepicker-title {
    margin: 0 44px;
    font-size: 1.5rem;
    line-height: 40px;
  }

  html.is-pc-layout .bottom-sheet #ui-datepicker-div .ui-datepicker-prev,
  html.is-pc-layout .bottom-sheet #ui-datepicker-div .ui-datepicker-next {
    top: 2px;
    width: 40px;
    height: 40px;
    cursor: pointer;
  }

  html.is-pc-layout .bottom-sheet #ui-datepicker-div .ui-datepicker-prev {
    left: 2px;
  }

  html.is-pc-layout .bottom-sheet #ui-datepicker-div .ui-datepicker-next {
    right: 2px;
  }

  html.is-pc-layout .bottom-sheet #ui-datepicker-div table {
    margin: 4px 0 0;
    font-size: 1.4rem;
  }

  html.is-pc-layout .bottom-sheet #ui-datepicker-div th {
    padding: 8px 0;
  }

  html.is-pc-layout .bottom-sheet #ui-datepicker-div td span,
  html.is-pc-layout .bottom-sheet #ui-datepicker-div td a {
    box-sizing: border-box;
    min-width: 40px;
    height: 40px;
    padding: 0;
    line-height: 38px;
    text-align: center;
  }

  /* チェックは押せる高さを 40px にする（箱は 21px のまま） */
  html.is-pc-layout .bottom-sheet .checkbox {
    min-height: 40px;
    gap: 10px;
    font-size: 1.5rem;
  }

  html.is-pc-layout .bottom-sheet .category-check {
    gap: 4px 32px;
  }

  /* タグは高さ 40px の丸いピル（PC の決まり）。アイコンは左 12px */
  html.is-pc-layout .bottom-sheet .tag-list {
    gap: 12px 8px;
  }

  html.is-pc-layout .bottom-sheet .tag-item span {
    padding: 12px 16px 12px 40px;
    font-size: 1.4rem;
  }

  html.is-pc-layout .bottom-sheet .tag-item span::before {
    left: 12px;
  }

  html.is-pc-layout .bottom-sheet .tag-item input:not(:checked) + span:hover {
    border-color: #037f72;
  }

  html.is-pc-layout .bottom-sheet .checkbox:hover span {
    border-color: #037f72;
  }

  /* 「表示」「検索」のボタン（PC の主のボタン: 高さ 52px・16px） */
  html.is-pc-layout .bottom-sheet .main-btn {
    width: 100%;
    max-width: none;
    height: 52px;
    margin: 0;
    border: 0;
    font-size: 1.6rem;
    transition: background-color 0.2s;
  }

  html.is-pc-layout .bottom-sheet .main-btn:hover {
    background-color: #025b52;
  }

  /* ---------- エリア・日程・カテゴリ: 左の 8列に選ぶもの、右の 4列に「表示」 ---------- */
  html.is-pc-layout #area .sheet-main .page-width,
  html.is-pc-layout #date .sheet-main .page-width,
  html.is-pc-layout #category .sheet-main .page-width {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: auto 1fr;
    column-gap: 24px;
  }

  /* 右の列。左に区切りの線（上から下まで続くよう、行の間は空けない） */
  html.is-pc-layout #area .sheet-main .select-flex,
  html.is-pc-layout #area .sheet-main .sheet-block,
  html.is-pc-layout #date .sheet-main .sheet-block,
  html.is-pc-layout #category .sheet-main .sheet-block.b-none {
    grid-column: 9 / span 4;
    margin: 0;
    padding: 0 0 0 24px;
    border: 0;
    border-left: 1px solid #e3e3e3;
  }

  /* エリア: 地方の写真のタイル（3列×3行）と、右に都道府県・市町村と「表示」 */
  html.is-pc-layout #area .area-list {
    grid-column: 1 / span 8;
    grid-row: 1 / span 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
  }

  html.is-pc-layout #area .area-item {
    width: auto;
  }

  html.is-pc-layout #area .area-item a img {
    display: block;
    aspect-ratio: 2 / 1;
    transition: transform 0.3s;
  }

  html.is-pc-layout #area .area-item a:hover img {
    transform: scale(1.04);
  }

  /* 文字は暗くした写真の上（::before の覆い 0.55）。覆いより前に出す */
  html.is-pc-layout #area .area-txt {
    top: 10px;
    left: 14px;
    z-index: 1;
    font-size: 1.6rem;
    line-height: 1.5;
  }

  html.is-pc-layout #area .area-item a::before {
    z-index: 1;
  }

  html.is-pc-layout #area .sheet-main .select-flex {
    grid-row: 1;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 12px;
  }

  html.is-pc-layout #area .select-item {
    width: 100%;
  }

  /* 右の列の小見出し「都道府県から探す」（PC だけ。デザイン案の h3 18px。下の select まで 16px＝.select-flex の間 12px＋4px） */
  html.is-pc-layout #area .sheet-pref-ttl {
    margin: 0 0 4px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
  }

  html.is-pc-layout #area .sheet-main .sheet-block {
    grid-row: 2;
    padding-top: 24px;
  }

  /* 日程: 左に日程の入力欄（カレンダーは jQuery UI が入力欄の下に出す） */
  html.is-pc-layout #date .select-item-date {
    grid-column: 1 / span 8;
    grid-row: 1 / span 2;
    align-self: start;
    width: 100%;
    max-width: 360px;
    margin: 0;
  }

  html.is-pc-layout #date .sheet-main .sheet-block {
    grid-row: 1 / span 2;
  }

  /* カテゴリ: 左にカテゴリのチェックと、区切りの下にタグ */
  html.is-pc-layout #category .category-check {
    grid-column: 1 / span 8;
    grid-row: 1;
  }

  html.is-pc-layout #category .sheet-main .sheet-block:not(.b-none) {
    grid-column: 1 / span 8;
    grid-row: 2;
    margin-top: 16px;
    padding-top: 20px;
    border-top-color: #e3e3e3;
  }

  html.is-pc-layout #category .sheet-main .sheet-block.b-none {
    grid-row: 1 / span 2;
  }

  /* ---------- 表示を絞り込む: 画面の中央の窓（幅 720px） ---------- */
  html.is-pc-layout #detail .bottom-sheet-inner {
    top: 0;
    bottom: 0;
    width: 720px;
    max-width: calc(100% - 80px - var(--pc-scrollbar-width, 0px));
    height: fit-content;
    max-height: calc(100dvh - 80px);
    margin: auto;
    border-top: 0;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.24);
    transform: translateY(16px);
  }

  html.is-pc-layout #detail.active .bottom-sheet-inner {
    transform: none;
  }

  /* 都道府県・市町村・日程を1行に3つ並べる */
  html.is-pc-layout #detail .select-flex {
    flex-wrap: nowrap;
    gap: 12px;
    margin-top: 16px;
  }

  html.is-pc-layout #detail .select-item {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
  }

  html.is-pc-layout #detail .search-input input {
    height: 48px;
    padding-top: 0;
    padding-bottom: 0;
  }

  html.is-pc-layout #detail .sheet-block {
    margin-top: 24px;
    padding-top: 24px;
  }

  /* 小見出し h3 は 18px のまま（style.css）。中身との間はスマホと同じ 16px（common.css の 24px は窓の中では広い） */
  html.is-pc-layout #detail .sheet-block .section-ttl {
    margin-bottom: 16px;
  }

  html.is-pc-layout #detail .sheet-block .main-btn {
    max-width: 320px;
    margin: 0 auto;
  }
}
/*
 * PC 向けの作り（トップ）。持ち主: トップの担当。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * デザイン案「トップ」（Main）に合わせる。トップの main には、スイッチが入のときだけ top-page、検索の section には top-hero が付く
 * （pages/home.blade.php）。ほかの画面にもある部品（.top-section・.tag-item など）は .top-page の下だけで直す。
 * - ヒーロー: 淡い緑（#e6f4f2）の帯に、キャッチ（2行）・大きな検索窓（右端に PC だけの「検索」ボタン）・探し方のタイル4つ
 *   （5列のグリッドで、近くで探すは2列分）。キャッチと検索窓はデザイン案の左の列に近い幅（最大 720px）で左に寄せる。
 *   右には写真3枚の重ね（480×340 の枠。<x-front.top-hero-photos>）。写真は管理画面で登録した人気のお礼品の写真を自動で出す
 *   （10/2 オーナーの決定）。写真が3枚そろわなければ入れ物ごと置かれず、ヒーローは写真なしの形のまま
 * - お礼品のカードの枠（現在地付近・あなたへのおすすめ）: 件数（HomeSections::POPULAR_LIMIT＝6）は変えず、PC の幅では先頭の4枚
 *   （4列の1行）だけ見せる（6枚だと2行目が2枚だけになり、右半分が空くため）
 * - 各枠: 見出しの右に「全て見る」（Blade が見出しの直後に土台の部品 <x-front.section-all-btn> を置き、一覧の後ろの元の .all-btn は
 *   sp-only で隠す。見た目の順と Tab・読み上げの順を同じにするため、DOM の並びはグリッドで入れ替えない。並べ方と形は pc/common.css）
 * - ふるさとQRペイの使い方（PC だけの帯。#f5f5f5 の地。緑の文字は置かない）
 * - 詳細検索: 紺のボタンを中央に幅 560px
 */
@media (min-width: 1080px) {
  /* ヒーローの帯をヘッダーのすぐ下から始める（header.css の main の上の余白をトップでは使わない） */
  html.is-pc-layout .main.top-page {
    margin-top: 0;
  }

  /* ログイン中の控除上限額のカード（見た目はマイページの担当）。先頭に置いたまま、ヘッダーと帯との間を空ける */
  html.is-pc-layout .top-page > .deduction-card-section {
    margin: 40px 0 0;
  }

  html.is-pc-layout .top-page > .deduction-card-section + .top-hero {
    margin-top: 40px;
  }

  /* ヒーロー -------------------------------------------------------------- */
  html.is-pc-layout .top-page .top-hero {
    margin-top: 0;
    padding: 48px 0 56px;
    background-color: #e6f4f2;
  }

  html.is-pc-layout .top-hero .top-catch {
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.4;
    color: #151515;
  }

  html.is-pc-layout .top-hero .search-form {
    max-width: 720px;
    margin-top: 32px;
  }

  html.is-pc-layout .top-hero .search-input::before {
    left: 24px;
    width: 22px;
    height: 22px;
  }

  /* 右端の「検索」ボタン（幅 96px＋右の 6px）の分を空ける */
  html.is-pc-layout .top-hero .search-input input {
    height: 60px;
    padding: 0 116px 0 58px;
    background-color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
  }

  html.is-pc-layout .top-hero .search-input input:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* 「検索」ボタン（PC だけ。pages/home.blade.php）: 検索窓の中の右端に、高さ 48px の緑のピル。ヘッダーの「検索」と同じ色 */
  html.is-pc-layout .top-hero .top-search-btn {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    height: 48px;
    padding: 0 32px;
    border: 0;
    border-radius: 999px;
    background-color: #037f72;
    color: #fff;
    font-family: inherit;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.2s;
  }

  html.is-pc-layout .top-hero .top-search-btn:hover {
    background-color: #025b52;
  }

  html.is-pc-layout .top-hero .top-search-btn:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* 探し方のタイル: 近くで探す（2列分）・エリア・日程・カテゴリを横一列に */
  html.is-pc-layout .top-hero .search-category {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 24px;
    margin-top: 40px;
  }

  html.is-pc-layout .top-hero .near-btn {
    grid-column: span 2;
  }

  html.is-pc-layout .top-hero .btn-flex {
    grid-column: span 3;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 0;
  }

  html.is-pc-layout .top-hero .btn-flex .btn {
    width: auto;
  }

  html.is-pc-layout .top-hero .search-category .btn {
    height: 120px;
    padding: 18px 22px;
    border-radius: 12px;
    overflow: hidden;
    font-size: 1.8rem;
    line-height: 1.4;
  }

  /* 文字を右下の絵より前に出す */
  html.is-pc-layout .top-hero .search-category .btn span {
    position: relative;
  }

  html.is-pc-layout .top-hero .near-btn::before {
    right: 20px;
    width: 223px;
    height: 112px;
  }

  html.is-pc-layout .top-hero .area-btn::before,
  html.is-pc-layout .top-hero .date-btn::before,
  html.is-pc-layout .top-hero .category-btn::before {
    right: 10px;
    bottom: 4px;
    width: 100px;
    height: 100px;
  }

  html.is-pc-layout .top-hero .search-category .btn:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* 右の写真の重ね（PC だけ。写真が3枚そろったときだけ Blade が .top-hero-photos を置く）。デザイン案どおり、キャッチと検索窓を左の列、
     写真の枠（480×340）を右の列（間 48px）に置き、探し方のタイルは下の行で幅いっぱいにする。重ねがなければグリッドにしない（今の形） */
  html.is-pc-layout .top-hero .page-width:has(> .top-hero-photos) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 480px;
    column-gap: 48px;
  }

  /* 写真の枠は1・2行目にまたがり、枠の高さの余りは2つの行に等しく割り振られる。キャッチを1行目の下に、検索窓を2行目の上に寄せて、
     2つを枠の高さの中で上下の中央に置く（デザイン案の align-items: center） */
  html.is-pc-layout .top-hero .page-width:has(> .top-hero-photos) > .top-catch {
    grid-area: 1 / 1;
    align-self: end;
  }

  html.is-pc-layout .top-hero .page-width:has(> .top-hero-photos) > .search-form {
    grid-area: 2 / 1;
    align-self: start;
  }

  html.is-pc-layout .top-hero .page-width:has(> .top-hero-photos) > .search-category {
    grid-area: 3 / 1 / auto / -1;
  }

  html.is-pc-layout .top-hero .top-hero-photos {
    grid-area: 1 / 2 / 3 / 3;
    position: relative;
    width: 480px;
    height: 340px;
  }

  /* 3枚を後ろから順に重ねる（後の写真が前）。2枚目と3枚目は白枠 5px で前の写真と分ける（1枚目は枠なし。デザイン案のまま）。
     写真は箱を埋めて切り抜く（cover）。img の sizes はこの箱の大きさと写真の縦横から決める（TopHeroPhotos::PC_BOXES・pcWidth()） */
  html.is-pc-layout .top-hero .top-hero-photos img {
    position: absolute;
    display: block;
    box-sizing: border-box;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.16);
  }

  html.is-pc-layout .top-hero .top-hero-photos img:nth-child(1) {
    top: 28px;
    left: 0;
    width: 260px;
    height: 290px;
  }

  html.is-pc-layout .top-hero .top-hero-photos img:nth-child(2) {
    top: 0;
    left: 230px;
    width: 250px;
    height: 180px;
    border: 5px solid #fff;
  }

  html.is-pc-layout .top-hero .top-hero-photos img:nth-child(3) {
    top: 160px;
    left: 196px;
    width: 220px;
    height: 180px;
    border: 5px solid #fff;
  }

  /* 各枠: 見出しの右に「全て見る」 ---------------------------------------------- */
  /* 見出しの直後の土台の部品 <x-front.section-all-btn>（.section-all-btn）を、見出しと同じ行の右に並べる規則と形は pc/common.css に任せる
     （お礼品詳細・特集記事と同じ形。トップだけの規則は置かない） */

  /* 区切りの線は帯の幅（1200px）だけに引く（.top-section の線は画面の幅いっぱいになるため） */
  html.is-pc-layout .top-page .top-section {
    border-top: 0;
    padding-top: 0;
  }

  html.is-pc-layout .top-page .top-section > .page-width {
    padding-top: 56px;
    background: linear-gradient(#cecece, #cecece) 40px 0 / calc(100% - 80px) 1px no-repeat;
  }

  /* 現在地付近のおすすめ ---------------------------------------------------- */
  html.is-pc-layout .top-page .top-near .section-ttl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
  }

  html.is-pc-layout .top-page .top-near .section-ttl h2 {
    padding-right: 0;
  }

  /* 「現在地から探す」は見出しの右に並べる（スマホでは見出しの行の右端に重ねている）。hidden の間は出さない */
  html.is-pc-layout .top-page .top-near .nearby-btn {
    position: static;
    transform: none;
    min-height: 40px;
    padding: 0 14px 0 10px;
    border-color: #037f72;
    color: #037f72;
    font-size: 1.3rem;
  }

  html.is-pc-layout .top-page .top-near .nearby-btn:not([hidden]) {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  html.is-pc-layout .top-page .top-near .nearby-btn::before {
    content: "";
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  html.is-pc-layout .top-page .top-near .nearby-btn:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* 現在地を使えないときの「都道府県から探す」（文字のリンクの見た目のまま）。押せる部品の高さを 40px にする */
  html.is-pc-layout .top-page .top-near .nearby-fallback-btn {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
  }

  html.is-pc-layout .top-page .top-near .nearby-fallback-btn:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* タグ（折り返しは common.css）。押せる部品の高さを 40px にする */
  html.is-pc-layout .top-page .top-near .tag-item a {
    display: flex;
    align-items: center;
    height: 40px;
    padding: 0 16px 0 40px;
  }

  html.is-pc-layout .top-page .top-near .tag-item a::before {
    left: 12px;
  }

  html.is-pc-layout .top-page .top-near .tag-item a:hover {
    border-color: #037f72;
    color: #037f72;
  }

  html.is-pc-layout .top-page .top-near .tag-item a:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  html.is-pc-layout .top-page .top-near .card-list {
    margin-top: 32px;
  }

  /* お礼品のカードは先頭の4枚（4列の1行）だけ見せる。件数（6枚）は変えないので、2行目が2枚だけになり右半分が空くのを避ける。
     「現在地から探す」で modules/nearby.js が ul の中身を差し替えた後も、同じ規則で5枚目から隠れる。自治体の一覧（3列）は除く */
  html.is-pc-layout .top-page .top-near .card-list > .card-item:nth-child(n+5),
  html.is-pc-layout .top-page .top-section .card-list:not(.furusato-list) > .card-item:nth-child(n+5) {
    display: none;
  }

  /* ふるさとQRペイの使い方（PC だけの帯） ---------------------------------------- */
  html.is-pc-layout .top-page .top-howto {
    padding: 64px 0;
    background-color: #f5f5f5;
  }

  html.is-pc-layout .top-howto .section-ttl {
    margin-bottom: 32px;
    text-align: center;
  }

  html.is-pc-layout .top-howto-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px 24px;
  }

  html.is-pc-layout .top-howto-item img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 134 / 115;
    object-fit: cover;
    border-radius: 12px;
  }

  html.is-pc-layout .top-howto-step {
    margin: 20px 0 6px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
  }

  html.is-pc-layout .top-howto-txt {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  html.is-pc-layout .top-howto-note {
    margin-top: 32px;
    font-size: 1.2rem;
    line-height: 1.7;
    text-align: center;
    color: #595959;
  }

  /* 詳細検索: 紺のボタンを中央に幅 560px --------------------------------------- */
  html.is-pc-layout .top-page .bottom-btn {
    margin-top: 88px;
  }

  html.is-pc-layout .top-page .bottom-btn .detail-btn {
    width: 560px;
    max-width: 100%;
    height: 64px;
    margin: 0 auto;
    font-size: 1.8rem;
  }

  html.is-pc-layout .top-page .detail-btn::before {
    right: 16px;
    width: 125px;
    height: 80px;
  }

  html.is-pc-layout .top-page .detail-btn:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }
}
/*
 * PC 向けの作り（検索結果（左に条件の列））。持ち主: 検索の担当。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * PC 版のデザイン案「検索結果」: 見出し・条件のチップ・自治体へのリンク・日程の注記は幅いっぱい、その下を
 * 「条件の箱 280px ＋間 40px ＋一覧」の2列にする。一覧はカード3列、件数と並べ替えは一覧の上に右寄せ。
 * 左の箱（.search-filter。x-front.search-filter）の中身は詳細検索のシート（#detail）と同じフォーム（search-detail-form）。
 * .search-result・.search-layout・.search-filter は、スイッチが入のときだけ Blade が描く
 */
@media (min-width: 1080px) {
  /* ページの最初のセクションの上の間（72px を取らない）は、土台（pc/common.css の .main > .section:first-child）に任せる */
  html.is-pc-layout .search-result .page-ttl {
    margin-bottom: 0;
  }

  html.is-pc-layout .search-result .page-ttl h1 {
    font-size: 3.2rem;
    line-height: 1.4;
  }

  /* 条件のチップ（高さ 40px のピル） */
  html.is-pc-layout .search-result .search-chips {
    gap: 8px;
    margin: 16px 0 0;
  }

  html.is-pc-layout .search-result .search-chips a {
    display: inline-flex;
    align-items: center;
    height: 40px;
    box-sizing: border-box;
    padding: 0 14px 0 16px;
  }

  html.is-pc-layout .search-result .search-chip a::after {
    margin-left: 8px;
  }

  html.is-pc-layout .search-result .search-chip-clear a {
    padding: 0 16px;
  }

  html.is-pc-layout .search-result .search-municipality,
  html.is-pc-layout .search-result .search-date-note {
    margin: 16px 0 0;
  }

  html.is-pc-layout .search-result .search-municipality + .search-municipality {
    margin-top: 8px;
  }

  html.is-pc-layout .search-result .search-date-note {
    font-size: 1.3rem;
    color: #595959;
  }

  /* 2列（条件の箱 280px ＋間 40px ＋一覧） */
  html.is-pc-layout .search-layout {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    margin-top: 32px;
  }

  html.is-pc-layout .search-layout-main {
    flex-grow: 1;
    min-width: 0;
  }

  /* 件数と並べ替え（一覧の上に右寄せ） */
  html.is-pc-layout .search-layout-main .result-flex {
    gap: 16px;
    margin-bottom: 24px;
  }

  html.is-pc-layout .search-layout-main .result-txt {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
  }

  /*
   * 並べ替え（x-front.select-sort）。検索結果と近くで探す（pc/map.css）で同じ形にするので、規則はここ1か所にまとめる。
   * 右の矢印は、自治体の一覧と自治体のページ（pc/area.css）と同じ 14px の #151515・線 2.4 の山形（デザイン案の select の矢印）
   */
  html.is-pc-layout :is(.search-layout-main, .map) .select-sort {
    -webkit-appearance: none;
    appearance: none;
    width: 180px;
    height: 44px;
    box-sizing: border-box;
    padding: 0 40px 0 14px;
    border: 1px solid #8c8c8c;
    border-radius: 10px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 14px 14px;
    font-size: 1.4rem;
    color: #151515;
    cursor: pointer;
  }

  /* 一覧は3列（4列は共通の .card-list。左に条件の列があるページは3列） */
  html.is-pc-layout .search-layout-main .card-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  /* 0件の案内 */
  html.is-pc-layout .search-layout-main .search-empty-txt,
  html.is-pc-layout .search-layout-main .search-relaxations a {
    font-size: 1.5rem;
  }

  /* ページ送り。形（40px の丸・前へ・次へ）は土台（pc/common.css）の共通の規則に任せ、一覧からの間だけデザイン案の 56px にする */
  html.is-pc-layout .search-layout-main .pagination {
    margin-top: 56px;
  }

  /*
   * 左の「表示を絞り込む」の箱。上に貼り付く。貼り付く位置（--search-filter-top）は modules/search-filter.js が入れる
   * （ヘッダーの下 24px。箱が画面より高いときは、ページを送った分だけ「上の端がヘッダーの下 24px」と「下の端が画面の下 24px」の
   * 間でずらし、どの欄にフォーカスしても画面に出るようにする）。JS が動かないときは変数がなく top: auto になり、貼り付かない
   */
  html.is-pc-layout .search-filter {
    flex-shrink: 0;
    width: 280px;
    box-sizing: border-box;
    position: sticky;
    top: var(--search-filter-top);
    padding: 24px;
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 12px;
  }

  html.is-pc-layout .search-filter-ttl {
    margin-bottom: 16px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
  }

  /* シートの中身の容器（.page-width）は、箱の中では幅と余白を持たない */
  html.is-pc-layout .search-filter .page-width {
    max-width: none;
    padding: 0;
  }

  /* キーワード・都道府県・市町村・日程は縦に1列（高さ 44px、間 8px） */
  html.is-pc-layout .search-filter .search-input::before {
    left: 14px;
    width: 16px;
    height: 16px;
  }

  html.is-pc-layout .search-filter .search-input input {
    height: 44px;
    padding: 0 10px 0 38px;
    font-size: 1.3rem;
    font-weight: 500;
  }

  html.is-pc-layout .search-filter .select-flex {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 8px;
  }

  html.is-pc-layout .search-filter .select-item {
    width: 100%;
  }

  html.is-pc-layout .search-filter .select-area,
  html.is-pc-layout .search-filter .select-date {
    height: 44px;
    box-sizing: border-box;
    padding: 0 40px 0 14px;
    font-size: 1.4rem;
  }

  /*
   * 都道府県・市町村の矢印は、同じ画面で開く詳細検索のシート（pc/sheet.css）と同じく、デザイン案の山形（16px・#151515・線 2.2。右 14px）を
   * select の地に描き、style.css の細い灰色の矢印（.select-icon の arrow-bottom.svg）は隠す。日程のカレンダーのアイコン（.date-icon）はそのまま
   */
  html.is-pc-layout .search-filter .select-icon:not(.date-icon) {
    display: none;
  }

  html.is-pc-layout .search-filter select.select-area {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px 16px;
    cursor: pointer;
  }

  /* 選べない市町村（都道府県を選ぶ前）は灰色の地と灰色の矢印にする（デザイン案） */
  html.is-pc-layout .search-filter select.select-area:disabled {
    border-color: #cecece;
    background-color: #f5f5f5;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238c8c8c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    color: #707070;
    cursor: not-allowed;
  }

  html.is-pc-layout .search-filter .date-icon {
    right: 12px;
    width: 20px;
    height: 20px;
  }

  /* カテゴリ・人気のタグ・こだわり条件（上に薄い線） */
  html.is-pc-layout .search-filter .sheet-block {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e3e3e3;
  }

  html.is-pc-layout .search-filter .section-ttl {
    margin-bottom: 4px;
  }

  html.is-pc-layout .search-filter .section-ttl h3 {
    font-size: 1.5rem;
    line-height: 1.4;
  }

  html.is-pc-layout .search-filter .category-check {
    gap: 0 18px;
  }

  /* チェックは押せる範囲を高さ 40px にする */
  html.is-pc-layout .search-filter .checkbox {
    position: relative;
    min-height: 40px;
    gap: 8px;
    line-height: 1.4;
  }

  html.is-pc-layout .search-filter .tag-list {
    gap: 6px;
    margin-top: 8px;
  }

  html.is-pc-layout .search-filter .tag-item span {
    display: flex;
    align-items: center;
    height: 40px;
    box-sizing: border-box;
    padding: 0 12px 0 33px;
    font-size: 1.3rem;
  }

  html.is-pc-layout .search-filter .tag-item span::before {
    left: 9px;
    width: 18px;
    height: 18px;
  }

  /* 「検索」（幅いっぱい・高さ 52px）。線のない最後の段 */
  html.is-pc-layout .search-filter .sheet-block:last-child {
    margin-top: 24px;
    padding-top: 0;
    border-top: 0;
  }

  html.is-pc-layout .search-filter .main-btn {
    max-width: none;
    height: 52px;
    border: 0;
    font-size: 1.6rem;
  }

  /*
   * キーボードで選べるようにする（シートの中と同じ。additions/discover/sheet.css は .bottom-sheet の中だけなので、箱にも同じ形を書く）。
   * style.css の .checkbox input・.tag-item input { display: none; } をやめ、見えないまま見た目の箱に重ねる
   */
  html.is-pc-layout .search-filter .checkbox input {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 21px;
    height: 21px;
    margin: 0;
    opacity: 0;
    cursor: pointer;
  }

  html.is-pc-layout .search-filter .tag-list li {
    position: relative;
  }

  html.is-pc-layout .search-filter .tag-item input {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
  }

  html.is-pc-layout .search-filter .checkbox input:focus-visible + span,
  html.is-pc-layout .search-filter .tag-item input:focus-visible + span {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* 入力欄・select・「検索」のフォーカスの印（決まりの 2px #151515。土台の共通の印と同じ形を、箱の中では確実に出す） */
  html.is-pc-layout .search-filter :is(input[type="text"], select, button):focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /*
   * 日程のカレンダー（jQuery UI の #ui-datepicker-div）。検索結果の箱と近くで探す（pc/map.css の .tab-sort）の入力欄で開くと、
   * シートの外なので body の直下に出る（datepicker.js の placeCalendar）。シートの中で開いたとき（pc/sheet.css の
   * .bottom-sheet #ui-datepicker-div）と同じ形にする: 日付と前後の月のボタンは押せる大きさの 40px 角、浮いた部品として影を付ける。
   * 幅は 7列 ×（40px＋セルの余白 2px）＝ 294px が中に収まる大きさ（box-sizing: border-box なので、余白 8px×2 と枠 1px×2 を足す）。
   * シートの中へ移ったとき（body の直下でないとき）は当たらない
   */
  html.is-pc-layout body:has(.search-filter, .map .tab-sort) > #ui-datepicker-div {
    width: 314px;
    padding: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  }

  html.is-pc-layout body:has(.search-filter, .map .tab-sort) > #ui-datepicker-div .ui-datepicker-header {
    padding: 2px 0;
  }

  html.is-pc-layout body:has(.search-filter, .map .tab-sort) > #ui-datepicker-div .ui-datepicker-title {
    margin: 0 44px;
    font-size: 1.5rem;
    line-height: 40px;
  }

  html.is-pc-layout body:has(.search-filter, .map .tab-sort) > #ui-datepicker-div :is(.ui-datepicker-prev, .ui-datepicker-next) {
    top: 2px;
    width: 40px;
    height: 40px;
    cursor: pointer;
  }

  html.is-pc-layout body:has(.search-filter, .map .tab-sort) > #ui-datepicker-div .ui-datepicker-prev {
    left: 2px;
  }

  html.is-pc-layout body:has(.search-filter, .map .tab-sort) > #ui-datepicker-div .ui-datepicker-next {
    right: 2px;
  }

  html.is-pc-layout body:has(.search-filter, .map .tab-sort) > #ui-datepicker-div table {
    margin: 4px 0 0;
    font-size: 1.4rem;
  }

  html.is-pc-layout body:has(.search-filter, .map .tab-sort) > #ui-datepicker-div th {
    padding: 8px 0;
  }

  html.is-pc-layout body:has(.search-filter, .map .tab-sort) > #ui-datepicker-div td :is(span, a) {
    box-sizing: border-box;
    min-width: 40px;
    height: 40px;
    padding: 0;
    line-height: 38px;
    text-align: center;
  }
}
/*
 * PC 向けの作り（近くで探す）。持ち主: 検索の担当。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * PC 版のデザイン案に近くで探すの画面はないので、検索結果と同じ部品の形にそろえる（見出し 32px、入力欄は高さ 44px。
 * 並べ替えの select と日程のカレンダーの形は pc/search.css に検索結果とまとめて書く）。「絞り込む」と件数・並べ替えの行は、
 * 自治体のページ（デザイン案 Municipality）と同じく、左に「絞り込む」（ここでは日程も）、右に件数と並べ替えの1行にする。
 * カードは共通の4列。「現在地を使う」は幅いっぱいにせず、トップの探し方のタイルの形（角丸 12px・右下に絵）にする。
 * hidden で隠す要素（都道府県の選択・もっと見る）には display を書かない（hidden が効かなくなるため）
 */
@media (min-width: 1080px) {
  /* ページの最初のセクションの上の間（72px を取らない）は、土台（pc/common.css の .main > .section:first-child）に任せる */

  /*
   * 見出しの下の1行に、左に「絞り込む」と日程、右に件数と並べ替えを置く（2列のグリッド。自治体のページと同じ並び）。現在地・一覧はその下の行で幅いっぱい。
   * HTML の順はスマホと同じ「件数と並べ替え → 絞り込む・日程」のまま変えない（変えるとスマホの幅で上下が入れ替わる）。
   * Tab と読み上げの順を見た目（行ごとに左から右: 絞り込む → 日程 → 並べ替え → 現在地を使う）にそろえるため、reading-flow で
   * グリッドの並びの順にする（WCAG 2.4.3。reading-flow を知らないブラウザでは HTML の順のまま）
   */
  html.is-pc-layout .section.map > .page-width {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 24px;
    reading-flow: grid-rows;
  }

  html.is-pc-layout .section.map > .page-width > * {
    grid-column: 1 / -1;
  }

  html.is-pc-layout .section.map > .page-width > .page-ttl {
    grid-row: 1;
    margin-bottom: 0;
  }

  html.is-pc-layout .map .page-ttl h1 {
    font-size: 3.2rem;
    line-height: 1.4;
  }

  /* 件数と並べ替え（2行目の右。並べ替えの select の形は pc/search.css に検索結果とまとめて書く） */
  html.is-pc-layout .section.map > .page-width > .result-flex {
    grid-row: 2;
    grid-column: 2;
    align-self: center;
    gap: 16px;
    margin: 24px 0 32px;
  }

  html.is-pc-layout .map .result-txt {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
  }

  /* 「絞り込む」と日程（2行目の左。幅いっぱいに離さない） */
  html.is-pc-layout .section.map > .page-width > .tab-sort {
    grid-row: 2;
    grid-column: 1;
    align-self: center;
    justify-content: flex-start;
    gap: 16px;
    margin: 24px 0 32px;
  }

  /* 現在地の案内・「現在地を使う」・一覧（3行目から幅いっぱい） */
  html.is-pc-layout .section.map > .page-width > .nearby {
    grid-row: 3;
  }

  /*
   * 「絞り込む」は自治体のページ（pc/area.css）と同じ形にする（高さ 40px の丸い枠・左に 18px の絞り込みの印）。
   * 行の中は align-items: center なので、高さ 44px の日程の欄と上下の中心はそろう
   */
  html.is-pc-layout .map .tab-sort .all-btn span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    box-sizing: border-box;
    padding: 0 20px 0 16px;
  }

  html.is-pc-layout .map .tab-sort .all-btn span::before {
    content: "";
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h9M18 7h2M4 17h3M12 17h8'/%3E%3Ccircle cx='15.5' cy='7' r='2.3'/%3E%3Ccircle cx='9.5' cy='17' r='2.3'/%3E%3C/svg%3E") no-repeat center / contain;
  }

  html.is-pc-layout .map .tab-sort .select-item-date {
    width: 240px;
  }

  html.is-pc-layout .map .tab-sort .select-date {
    height: 44px;
    box-sizing: border-box;
    padding: 0 44px 0 14px;
  }

  /* 現在地の案内と「現在地を使う」 */
  html.is-pc-layout .map .nearby-note {
    margin-bottom: 16px;
    font-size: 1.4rem;
  }

  html.is-pc-layout .map .nearby .near-btn {
    width: 360px;
    height: 64px;
    padding-left: 24px;
    border-radius: 12px;
  }

  html.is-pc-layout .map .nearby-status:not(:empty) {
    margin-top: 16px;
  }

  /* 現在地を使えないときの都道府県の選択（幅いっぱいにしない） */
  html.is-pc-layout .map .nearby-fallback {
    max-width: 480px;
    margin-top: 24px;
  }

  html.is-pc-layout .map .nearby-fallback .select-area {
    height: 44px;
    box-sizing: border-box;
    padding: 0 40px 0 14px;
  }

  html.is-pc-layout .map .nearby-fallback-btn {
    height: 44px;
    padding: 0 28px;
  }

  /* カードの一覧（列は共通の4列）ともっと見る */
  html.is-pc-layout .map .nearby-list:not(:empty) {
    margin-top: 32px;
  }

  html.is-pc-layout .map .nearby-more {
    margin-top: 48px;
  }

  html.is-pc-layout .map .nearby-more span {
    display: inline-flex;
    align-items: center;
    height: 40px;
    box-sizing: border-box;
    padding: 0 24px;
  }
}
/*
 * PC 向けの作り（お礼品詳細）。持ち主: お礼品詳細の担当。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * デザイン案「お礼品詳細」（Activity）の形:
 * - 上は 7:5 の2列。左に写真（.main-slider と .sub-slider のまま。大きな写真に「前の写真」「次の写真」と枚数を重ねる）、
 *   右に寄附の操作の箱（地域の札・お礼品名・寄附金額・送客のボタン・注記・自治体のページへのリンク）
 * - タブの「詳細」の中も 7:5。左に特徴とご注意事項、右に「お礼品詳細」の表と問い合わせ窓口（FAQ はその下に開く）
 * - 「このショップのほかのお礼品」はカード4列、「この付近の自治体」は自治体カード3列（どちらも pc/common.css）で、どちらも1行だけ見せる
 *   （デザイン案のカード4枚・自治体3件。件数と HTML は変えず、5枚目・4件目から隠す。トップ（pc/home.css）と同じやり方）。
 *   「全て見る」は Blade が見出しの直後に土台の部品（<x-front.section-all-btn>）を置き、pc/common.css が見出しの右に並べる。
 *   一覧の後ろの元のものは sp-only（Tab の順を見た目とそろえる）
 * HTML の並びはスマホと同じ（写真が名前と金額の間にある）なので、上は入れ物の div を足さず、CSS のグリッドの位置で2列に並べる。
 * 右の箱の枠は、グリッドの ::before を右の列に重ねて描く（そのため箱は sticky にしない）。
 * 詳細のタブは、スイッチが入のときだけ Blade が足す左右の入れ物で2列にする（スマホの幅では飾りのない div）。
 * 見えるパンくずは土台（components/front/breadcrumb.blade.php・pc/common.css）がヘッダーの下に描く
 */
@media (min-width: 1080px) {
  /* ---------- 上: 写真（左 7列）と寄附の操作の箱（右 5列） ---------- */

  /* スマホの上の角丸 40px の枠はやめる（PC では右の箱が枠を持つ） */
  html.is-pc-layout .activity-info {
    width: auto;
    margin: 8px 0 0;
    border: 0;
    border-radius: 0;
  }

  /* 行は 名前の札・お礼品名・金額・ボタン・注記・自治体のページへのリンク の6行と、写真の残りの高さを受ける1行 */
  html.is-pc-layout .activity-info .page-width {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: repeat(6, auto) 1fr;
    column-gap: 24px;
    align-items: start;
  }

  /* 右の箱の枠（白地・1px #e3e3e3・角丸 12px） */
  html.is-pc-layout .activity-info .page-width::before {
    content: "";
    grid-column: 8 / 13;
    grid-row: 1 / 7;
    align-self: stretch;
    border: 1px solid #e3e3e3;
    border-radius: 12px;
    background: #fff;
  }

  html.is-pc-layout .activity-info .thumbnail {
    position: relative;
    grid-column: 1 / 8;
    grid-row: 1 / -1;
  }

  /* 箱の中身（箱の内側の余白 28px ＋枠 1px） */
  html.is-pc-layout .activity-info .sheet-header-flex,
  html.is-pc-layout .activity-info .activity-ttl,
  html.is-pc-layout .activity-info .review-price,
  html.is-pc-layout .activity-info .activity-btn,
  html.is-pc-layout .activity-info .checkout-note,
  html.is-pc-layout .activity-info .activity-town-link {
    grid-column: 8 / 13;
    margin-left: 29px;
    margin-right: 29px;
  }

  /* 地域の札。スマホのシートの「閉じる」（検索へ戻る）は、PC では閉じるものがないので出さない（戻るのはパンくずで） */
  html.is-pc-layout .activity .activity-info .sheet-header-flex {
    grid-row: 1;
    gap: 16px;
    padding: 0;
    margin-top: 29px;
  }

  html.is-pc-layout .activity-info .activity-area {
    font-size: 1.3rem;
    line-height: 1.5;
    padding: 3px 10px;
  }

  html.is-pc-layout .activity-info .sheet-close {
    display: none;
  }

  html.is-pc-layout .activity-info .activity-ttl {
    grid-row: 2;
    margin-top: 14px;
    margin-bottom: 0;
    font-size: 2.4rem;
    line-height: 1.5;
  }

  /* 寄附金額（左にラベル、右に金額）。受付の状態の札はその上 */
  html.is-pc-layout .activity-info .review-price {
    grid-row: 3;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    margin-top: 24px;
    margin-bottom: 0;
    padding-top: 24px;
    border-top: 1px solid #e3e3e3;
  }

  html.is-pc-layout .activity-info .activity-status {
    align-self: flex-start;
    font-size: 1.3rem;
    line-height: 1.5;
    padding: 3px 10px;
  }

  html.is-pc-layout .activity-info .activity-price {
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
  }

  html.is-pc-layout .activity-info .activity-price .txt {
    font-size: 1.4rem;
    line-height: 1.5;
  }

  html.is-pc-layout .activity-info .activity-price .price {
    font-size: 3.2rem;
    line-height: 1.2;
  }

  /* 金額の「円」は 16px（スイッチが入のときだけ Blade が span で包む） */
  html.is-pc-layout .activity-info .activity-price-unit {
    margin-left: 2px;
    font-size: 1.6rem;
  }

  /* 「カートに入れる」「今すぐ使う」（2つ並び・高さ 56px） */
  html.is-pc-layout .activity-info .activity-btn {
    grid-row: 4;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
  }

  html.is-pc-layout .activity-info .activity-btn a {
    width: auto;
    height: 56px;
    box-sizing: border-box;
    padding: 0 12px;
    gap: 8px;
    font-size: 1.7rem;
    line-height: 1.2;
    white-space: nowrap;
  }

  /* 幅 1080〜1199px では箱が狭く、17px の「カートに入れる」がボタンに入らない（折り返す）ので、文字と余白を詰める */
  @media (max-width: 1199px) {
    html.is-pc-layout .activity-info .activity-btn a {
      padding: 0 8px;
      font-size: 1.6rem;
    }
  }

  html.is-pc-layout .activity-info .activity-btn a img {
    width: 22px;
    height: 22px;
  }

  html.is-pc-layout .activity-info .checkout-note {
    grid-row: 5;
    margin-top: 14px;
    margin-bottom: 0;
    font-size: 1.2rem;
    line-height: 1.7;
    color: #595959;
  }

  /* この自治体のページへのリンク（箱の最後。上に区切りの線、左にピン・右に矢印。高さ 48px） */
  html.is-pc-layout .activity-info .activity-town-link {
    grid-row: 6;
    margin-top: 24px;
    margin-bottom: 29px;
    padding-top: 20px;
    border-top: 1px solid #e3e3e3;
  }

  html.is-pc-layout .activity-info .activity-town-link a {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 48px;
    box-sizing: border-box;
    padding: 0 16px;
    border: 1px solid #cecece;
    border-radius: 10px;
    background: #fff;
    color: #151515;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    transition: border-color 0.2s, color 0.2s;
  }

  html.is-pc-layout .activity-info .activity-town-link a:hover {
    border-color: #037f72;
    color: #037f72;
  }

  html.is-pc-layout .activity-info .activity-town-link span {
    flex-grow: 1;
    min-width: 0;
  }

  html.is-pc-layout .activity-info .activity-town-link svg {
    flex-shrink: 0;
    display: block;
  }

  /* 写真: 大きな写真は角丸 12px、サムネイルは間 12px で、選んでいる1枚に緑の枠 */
  html.is-pc-layout .activity-info .main-slider .thumbnail-img img {
    border-radius: 12px;
  }

  html.is-pc-layout .activity-info .sub-slider {
    margin-top: 12px;
  }

  html.is-pc-layout .activity-info .sub-slider .slick-list {
    margin: 0 -6px;
  }

  /* 写真が7枚より少ないときも、サムネイルは左から並べる（slick は中央に寄せる） */
  html.is-pc-layout .activity-info .sub-slider .slick-track {
    margin-left: 0;
  }

  html.is-pc-layout .activity-info .sub-slider .slick-slide {
    margin: 0 6px;
    cursor: pointer;
  }

  html.is-pc-layout .activity-info .sub-slider .thumbnail-img img {
    box-sizing: border-box;
    padding: 2px;
    border: 2px solid transparent;
    border-radius: 10px;
  }

  html.is-pc-layout .activity-info .sub-slider .slick-current img {
    border-color: #037f72;
  }

  /* 大きな写真（正方形）に重ねる「前の写真」「次の写真」（白い丸 44px・影）と、右下の枚数。
     入れ物は写真と同じ正方形にし、写真のドラッグやスワイプを邪魔しないよう、押せるのはボタンだけにする */
  html.is-pc-layout .activity-info .activity-photo-nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    pointer-events: none;
  }

  html.is-pc-layout .activity-info .activity-photo-nav button {
    position: absolute;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.16);
    color: #151515;
    cursor: pointer;
    pointer-events: auto;
    transform: translateY(-50%);
  }

  html.is-pc-layout .activity-info .activity-photo-nav button:hover {
    color: #037f72;
  }

  html.is-pc-layout .activity-info .activity-photo-prev {
    left: 16px;
  }

  html.is-pc-layout .activity-info .activity-photo-next {
    right: 16px;
  }

  html.is-pc-layout .activity-info .activity-photo-count {
    position: absolute;
    right: 16px;
    bottom: 16px;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(21, 21, 21, 0.72);
    color: #fff;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.5;
  }

  /* ---------- タブ（詳細・レビュー） ---------- */

  html.is-pc-layout .activity .tabs {
    margin-bottom: 48px;
  }

  html.is-pc-layout .activity .tab-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    box-sizing: border-box;
    padding: 0 12px;
  }

  /* 詳細の中は 7:5。スイッチが入のときだけ Blade が足す入れ物で、左の列（.activity-detail-main: 特徴と、ご注意事項の写し）と
     右の列（.activity-detail-side: 表・問い合わせ窓口・FAQ。元のご注意事項は sp-only で隠れる）に分ける。
     左右は別々に流れるので、右の列が長くても（FAQ を開いても）、ご注意事項は特徴のすぐ下に続く */
  html.is-pc-layout .activity #tab1.is-active {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 24px;
    align-items: start;
  }

  html.is-pc-layout .activity #tab1 > .activity-detail-main {
    grid-column: 1 / 8;
    padding-right: 32px;
  }

  html.is-pc-layout .activity #tab1 > .activity-detail-side {
    grid-column: 8 / 13;
  }

  html.is-pc-layout .activity #tab1 .info-block {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
  }

  /* ご注意事項（左の列の写し）。上の線は本文の幅（列の右の 32px の内側）で止まる */
  html.is-pc-layout .activity #tab1 .activity-notes {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #cecece;
  }

  /* 問い合わせ窓口の見出しは表の下（48px あける） */
  html.is-pc-layout .activity #tab1 > .activity-detail-side > .section-ttl {
    margin-top: 48px;
  }

  html.is-pc-layout .activity #tab1 > .activity-detail-side > .activity-btn {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  html.is-pc-layout .activity #tab1 > .activity-detail-side > .activity-btn a {
    width: auto;
    height: 52px;
    box-sizing: border-box;
    padding: 0 12px;
    gap: 8px;
  }

  html.is-pc-layout .activity #tab1 > .activity-detail-side > .activity-btn a img {
    width: 20px;
    height: 20px;
  }

  /* FAQ（ボタンで開く）は問い合わせ窓口の下。貼り付いたヘッダーの分は土台の scroll-padding-top（pc/header.css）が空けるので、
     ここではスマホの scroll-margin-top（10rem）を打ち消し、見出しの上に少しだけ間を取る */
  html.is-pc-layout .activity #tab1 > .activity-detail-side > .shop-faq {
    margin-top: 48px;
    scroll-margin-top: 16px;
  }

  /* タブの中の見出しは 20px（セクションの見出し 26px より一段小さく） */
  html.is-pc-layout .activity .tab-result .section-ttl {
    margin-bottom: 16px;
  }

  html.is-pc-layout .activity .tab-result .section-ttl h2 {
    font-size: 2rem;
    line-height: 1.4;
  }

  /* 本文 15px・行の高さ 1.8（ご注意事項は 14px） */
  html.is-pc-layout .activity #tab1 .info-block p {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  /* ご注意事項（左の列の写し）は行ごとの段落。行の間 6px、「※」で始まる行は折り返しを1字下げる */
  html.is-pc-layout .activity #tab1 .activity-notes p {
    font-size: 1.4rem;
  }

  html.is-pc-layout .activity #tab1 .activity-notes .activity-note + .activity-note {
    margin-top: 6px;
  }

  html.is-pc-layout .activity #tab1 .activity-notes .activity-note.is-hanging {
    padding-left: 1em;
    text-indent: -1em;
  }

  html.is-pc-layout .activity #tab1 .info-img {
    margin: 24px 0 0;
  }

  /* 特徴の画像は 16:9 に切り取る（元の縦横比のままだと、縦長の写真で左の列が長く伸びる） */
  html.is-pc-layout .activity #tab1 .info-img img {
    display: block;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 12px;
    background-color: #eeeeee;
  }

  /* 営業時間と変更・取消の決まり（淡い緑の箱。左に時計のアイコン 22px。上の文字は #151515。営業時間の1行目は太字） */
  html.is-pc-layout .activity #tab1 .info-block .activity-hours {
    position: relative;
    margin-top: 24px;
    padding: 20px 24px 20px 60px;
    border-radius: 10px;
    background: #e6f4f2;
    color: #151515;
    font-size: 1.4rem;
  }

  html.is-pc-layout .activity #tab1 .info-block .activity-hours::before {
    content: "";
    position: absolute;
    top: 22px;
    left: 24px;
    width: 22px;
    height: 22px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E") no-repeat center / contain;
  }

  html.is-pc-layout .activity #tab1 .info-block .activity-hours-head {
    font-weight: 700;
  }

  /* お礼品詳細の表（見出しの列 140px） */
  html.is-pc-layout .activity .info-table tr {
    gap: 0;
    padding: 0;
  }

  html.is-pc-layout .activity .info-table th {
    flex-shrink: 0;
    width: 140px;
    box-sizing: border-box;
    padding: 14px 16px 14px 4px;
    font-weight: 700;
    line-height: 1.7;
    vertical-align: top;
  }

  html.is-pc-layout .activity .info-table td {
    flex-grow: 1;
    width: auto;
    min-width: 0;
    padding: 14px 4px 14px 0;
    line-height: 1.7;
  }

  /* レビューは準備中 */
  /* タブの下の 48px（.tabs の margin-bottom）と合わせて、タブから 96px（デザイン案） */
  html.is-pc-layout .activity .tab-result .review-coming-soon {
    padding: 48px 0 104px;
    font-size: 1.5rem;
    line-height: 1.8;
  }

  /* ---------- このショップのほかのお礼品・この付近の自治体 ---------- */

  /* 区切りの線を中身の幅（1200px）にそろえる（スマホでは section が画面の幅いっぱいなので、線も端まで出る） */
  html.is-pc-layout .activity > .section:not(.tab-result),
  html.is-pc-layout .activity > .bottom-btn {
    width: calc(100% - 80px);
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }

  html.is-pc-layout .activity > .section:not(.tab-result) > .page-width,
  html.is-pc-layout .activity > .bottom-btn > .page-width {
    padding: 0;
  }

  html.is-pc-layout .activity .activity-recommend {
    padding-top: 56px;
  }

  /* どちらの一覧も1行だけ見せる（デザイン案はカード4枚・自治体3件）。件数（6件まで）と HTML は変えないので、
     2行目が少しだけ並んで右が空いたり、背の高い自治体カードが2行になったりするのを避ける（トップ pc/home.css と同じやり方） */
  html.is-pc-layout .activity .activity-recommend .card-list > .card-item:nth-child(n+5),
  html.is-pc-layout .activity .furusato-list > .card-item:nth-child(n+4) {
    display: none;
  }

  /* 詳細検索のボタン（シートを開く）。形と上の間は特集記事と同じ（区切りの線なし・80px・中央に幅 560px・イラスト 125×80）。
     section は .top-section も持つので、スマホの上の灰色の線と padding-top を消す（HTML は変えない） */
  html.is-pc-layout .activity > .bottom-btn {
    margin-top: 80px;
    padding-top: 0;
    border-top: 0;
  }

  html.is-pc-layout .activity .bottom-btn .detail-btn {
    width: 560px;
    max-width: 100%;
    height: 64px;
    margin: 0 auto;
    font-size: 1.8rem;
  }

  html.is-pc-layout .activity .bottom-btn .detail-btn::before {
    right: 16px;
    width: 125px;
    height: 80px;
  }
}
/*
 * PC 向けの作り（自治体の一覧・都道府県・自治体のページ）。持ち主: 自治体の担当。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * - 自治体の一覧（/area/・?region=）と都道府県（/area/{prefecture}/）: main.pc-area-list。
 *   パンくず → 見出し（一覧だけ下に小見出し。土台の .section-ttl p の形）→ 地方のタイル（一覧だけ）→ 件数と並べ替え → 自治体のカード 4列 → ページ送り（デザイン案「自治体の一覧」）
 * - 自治体のページ（/area/{municipality}/）: main.pc-municipality。
 *   パンくず（トップ ＞ 都道府県 ＞ 自治体）→ 7:5 の2列の見出し（左に写真と件数の丸、右に都道府県・自治体名・紹介・お気に入り）→ タブ → 絞り込むと件数と並べ替え
 *   → お礼品のカード 4列 → ページ送り →「〇〇について」「寄附金の使い道」を2列（デザイン案「自治体のページ」）
 * - pc-area-list・pc-municipality・一覧の小見出し・地方のタイル・都道府県名は、スイッチが入のときだけ Blade が描く
 * - 見えるパンくず・その後の余白・ページ送り・カードの中・フォーカスの印は土台（pc/common.css）に任せ、ここにはこの画面だけの違いを書く
 */
@media (min-width: 1080px) {
  /* ===== 両方の画面に共通 ===== */

  /* 件数と並べ替え（件数 14px、select は高さ 44px・角丸 10px・枠 #8c8c8c・右に下向きの矢印） */
  html.is-pc-layout :is(.pc-area-list, .pc-municipality) .result-flex {
    gap: 16px;
  }

  html.is-pc-layout :is(.pc-area-list, .pc-municipality) .result-txt {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
  }

  html.is-pc-layout :is(.pc-area-list, .pc-municipality) .select-sort {
    width: auto;
    min-width: 180px;
    height: 44px;
    padding: 0 40px 0 14px;
    border: 1px solid #8c8c8c;
    border-radius: 10px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 14px 14px;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #151515;
    cursor: pointer;
  }

  /* ページ送り: カードの一覧との間だけをデザイン案の 56px にする（丸・矢印・乗せたときの色・フォーカスの印は土台） */
  html.is-pc-layout :is(.pc-area-list, .pc-municipality) .pagination {
    margin-top: 56px;
  }

  /* ===== 自治体の一覧・都道府県 ===== */

  html.is-pc-layout .pc-area-list .section-ttl {
    margin-bottom: 0;
  }

  /* 地方のタイル（9つを1行に。写真の上に暗い幕〔白地の写真でも白い字と 4.5:1 以上〕と白い地方名。今の地方は緑の輪） */
  html.is-pc-layout .pc-area-list .area-regions {
    margin-top: 32px;
  }

  html.is-pc-layout .pc-area-list .area-regions-label {
    margin-bottom: 12px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
  }

  html.is-pc-layout .pc-area-list .area-regions-list {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 12px;
  }

  html.is-pc-layout .pc-area-list .area-regions-item a {
    position: relative;
    display: block;
    aspect-ratio: 57 / 29;
    border-radius: 10px;
    overflow: hidden;
    background-color: #333333;
    color: #fff;
  }

  html.is-pc-layout .pc-area-list .area-regions-item img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
  }

  /* 幕は押したときも薄くしない（白い字のコントラストを保つ）。乗せたときは写真を少し大きくする */
  html.is-pc-layout .pc-area-list .area-regions-item a::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.55);
  }

  html.is-pc-layout .pc-area-list .area-regions-item a:hover img {
    transform: scale(1.08);
  }

  html.is-pc-layout .pc-area-list .area-regions-item a[aria-current="page"] {
    box-shadow: 0 0 0 2px #fff, 0 0 0 5px #037f72;
  }

  html.is-pc-layout .pc-area-list .area-regions-item a:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 7px;
  }

  /* 強制カラー（Windows のハイコントラスト）では box-shadow が消えるので、今の地方は outline で示す（フォーカスの 7px とは離す） */
  @media (forced-colors: active) {
    html.is-pc-layout .pc-area-list .area-regions-item a[aria-current="page"] {
      outline: 3px solid Highlight;
      outline-offset: 2px;
    }
  }

  html.is-pc-layout .pc-area-list .area-regions-name {
    position: absolute;
    top: 7px;
    left: 10px;
    z-index: 1;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
  }

  /* 件数と並べ替え（上に薄い線） */
  html.is-pc-layout .pc-area-list .result-flex {
    margin: 40px 0 24px;
    padding-top: 24px;
    border-top: 1px solid #e3e3e3;
  }

  /* 自治体のカード: この画面は 4列（共通は 3列）。カードの中の形とフォーカスの印は土台 */
  html.is-pc-layout .pc-area-list .card-list.furusato-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  html.is-pc-layout .pc-area-list .furusato-item a:hover .furusato-ttl {
    color: #037f72;
  }

  /* 都道府県ページの「〇〇のお礼品を探す」（ページ送りの下の中央に、高さ 40px の丸い枠） */
  html.is-pc-layout .pc-area-list .all-btn {
    margin-top: 48px;
    text-align: center;
  }

  /* 枠の形と乗せたときの色は土台（.all-btn a）。字の後ろに矢印の絵がないので、左右の余白を 20px にそろえる */
  html.is-pc-layout .pc-area-list .all-btn a {
    padding: 0 20px;
  }

  /* ===== 自治体のページ ===== */

  /* main を 1200px の中身の列（2〜4。2列のときは 576px・間 48px・576px）と左右の余白の列に分ける。
     中身はどれも 2〜4 の列に置き、「〇〇について」「寄附金の使い道」だけを左右に分ける */
  html.is-pc-layout .main.pc-municipality {
    display: grid;
    grid-template-columns: minmax(40px, 1fr) minmax(0, 576px) 48px minmax(0, 576px) minmax(40px, 1fr);
  }

  html.is-pc-layout .pc-municipality > * {
    grid-column: 2 / 5;
    min-width: 0;
  }

  html.is-pc-layout .pc-municipality .page-width {
    max-width: none;
    margin: 0;
    padding: 0;
  }

  /* 見出し: 12列のうち左 7列に写真（16:9・角丸 16px）、右 5列に文字。件数の丸（104px）は写真の左下に半分かける */
  html.is-pc-layout .pc-municipality .area-header {
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 24px;
    align-items: center;
    padding-bottom: 52px;
  }

  html.is-pc-layout .pc-municipality .area-header > .furusato-img {
    grid-row: 1;
    grid-column: 1 / span 7;
    align-self: end;
  }

  html.is-pc-layout .pc-municipality .area-header .furusato-img img {
    display: block;
    aspect-ratio: 16 / 9;
    border-radius: 16px;
  }

  html.is-pc-layout .pc-municipality .area-header > .page-width {
    grid-row: 1;
    grid-column: 8 / span 5;
    padding-left: 24px;
  }

  /* 文字の列は 都道府県 → 自治体名 → 紹介 → お気に入り の順に並べる（件数の丸は写真の左下へ出す）。
     土台の自治体のカードの規則（.furusato-info の中央寄せ・余白）は、この見出しでは使わない */
  html.is-pc-layout .pc-municipality .area-header .furusato-info {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    text-align: left;
  }

  /* 件数の丸は 104px（デザイン案）。土台の自治体のカードの丸（.furusato-circle の 92px・top: -46px）より強いセレクタで決め直し、
     中心を写真の下の辺（.area-header の下の余白 52px の上の端）に置く */
  html.is-pc-layout .pc-municipality .area-header .furusato-circle {
    top: auto;
    bottom: 0;
    left: 32px;
    width: 104px;
    height: 104px;
    gap: 0;
    padding-bottom: 0;
    transform: none;
  }

  html.is-pc-layout .pc-municipality .area-header .furusato-circle .num {
    font-size: 4rem;
    line-height: 1;
  }

  html.is-pc-layout .pc-municipality .area-header .furusato-circle .txt {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.4;
  }

  html.is-pc-layout .pc-municipality .area-header .furusato-pref {
    order: 1;
    margin-bottom: 8px;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #707070;
  }

  html.is-pc-layout .pc-municipality .area-header .furusato-ttl {
    order: 2;
    margin: 0;
    font-size: 3.2rem;
    line-height: 1.4;
    text-align: left;
  }

  html.is-pc-layout .pc-municipality .area-header .furusato-txt {
    order: 3;
    margin-top: 16px;
    padding: 0;
    font-size: 1.6rem;
    line-height: 1.8;
  }

  /* お気に入り: ハートと「お気に入り」を高さ 44px の丸い枠にまとめ、枠のどこを押してもボタン（リンク）が動く */
  html.is-pc-layout .pc-municipality .area-header .favorite-flex {
    order: 4;
    position: relative;
    flex-direction: row-reverse;
    gap: 8px;
    height: 44px;
    margin-top: 28px;
    padding: 0 22px 0 16px;
    border: 1px solid #b1b1b1;
    border-radius: 999px;
    background-color: #fff;
    transition: border-color 0.2s;
  }

  /* :has() を解さないブラウザで :hover まで捨てられないよう、2つの規則に分ける */
  html.is-pc-layout .pc-municipality .area-header .favorite-flex:hover {
    border-color: #037f72;
  }

  html.is-pc-layout .pc-municipality .area-header .favorite-flex:has(.favorite-btn.is-active) {
    border-color: #037f72;
  }

  html.is-pc-layout .pc-municipality .area-header .favorite-txt {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
  }

  html.is-pc-layout .pc-municipality .area-header .favorite-btn {
    display: flex;
    align-items: center;
  }

  html.is-pc-layout .pc-municipality .area-header .favorite-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 999px;
  }

  /* フォーカスの印は、枠いっぱいに広げた ::after に描く（ボタンそのものの印は消す。:has() に頼らない）。
     ::after は枠線の内側に広がるので、offset 3px で枠線の外 2px に出す */
  html.is-pc-layout .pc-municipality .area-header .favorite-btn:focus-visible {
    outline: none;
  }

  html.is-pc-layout .pc-municipality .area-header .favorite-btn:focus-visible::after {
    outline: 2px solid #151515;
    outline-offset: 3px;
  }

  html.is-pc-layout .pc-municipality .area-header .favorite-icon {
    width: 22px;
    height: 19px;
  }

  html.is-pc-layout .pc-municipality .area-header .favorite-icon path {
    stroke: #8c8c8c;
  }

  html.is-pc-layout .pc-municipality .area-header .favorite-btn.is-active .favorite-icon path {
    fill: #037f72;
    stroke: #037f72;
  }

  html.is-pc-layout .pc-municipality .area-header .favorite-error {
    order: 5;
    margin-top: 8px;
    font-size: 1.3rem;
    text-align: left;
  }

  /* タブ（3つ・高さ 52px・下線 4px） */
  html.is-pc-layout .pc-municipality .tab-result {
    margin-top: 48px;
  }

  html.is-pc-layout .pc-municipality .tabs {
    margin-bottom: 0;
  }

  html.is-pc-layout .pc-municipality .tab-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    padding: 0 12px;
    font-size: 1.6rem;
    line-height: 1;
  }

  html.is-pc-layout .pc-municipality .tab-btn:hover {
    color: #037f72;
  }

  html.is-pc-layout .pc-municipality .tab-btn:focus-visible {
    outline: 2px solid #151515;
    outline-offset: -2px;
  }

  /* 絞り込む（左。高さ 40px の丸い枠に絞り込みの印）と件数・並べ替え（右） */
  html.is-pc-layout .pc-municipality .tab-sort {
    gap: 24px;
    margin: 32px 0 24px;
  }

  /* 枠の形（高さ 40px・14px の字）は土台（.all-btn span）。左に絞り込みの印を置く分の間と余白だけを決める */
  html.is-pc-layout .pc-municipality .tab-sort .all-btn span {
    gap: 8px;
    padding: 0 20px 0 16px;
  }

  html.is-pc-layout .pc-municipality .tab-sort .all-btn span::before {
    content: "";
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h9M18 7h2M4 17h3M12 17h8'/%3E%3Ccircle cx='15.5' cy='7' r='2.3'/%3E%3Ccircle cx='9.5' cy='17' r='2.3'/%3E%3C/svg%3E") no-repeat center / contain;
  }

  html.is-pc-layout .pc-municipality .tab-sort .all-btn:hover span {
    color: #037f72;
    border-color: #037f72;
  }

  html.is-pc-layout .pc-municipality .tab-sort .all-btn:focus-visible {
    outline: none;
  }

  html.is-pc-layout .pc-municipality .tab-sort .all-btn:focus-visible span {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  html.is-pc-layout .pc-municipality .card-list {
    margin-top: 0;
  }

  /* 「〇〇について」「寄附金の使い道」: 上に 1px の線を通し、左右の2列に分ける（片方だけのときは全幅） */
  html.is-pc-layout .pc-municipality > .top-section {
    grid-column: 2 / 4;
    padding-right: 48px;
  }

  html.is-pc-layout .pc-municipality > .top-section + .top-section {
    grid-column: 4 / 5;
    padding-right: 0;
  }

  html.is-pc-layout .pc-municipality > .top-section:not(.top-section + .top-section):not(:has(+ .top-section)) {
    grid-column: 2 / 5;
    padding-right: 0;
  }

  html.is-pc-layout .pc-municipality .municipality-text {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  html.is-pc-layout .pc-municipality .municipality-text h2 {
    font-size: 1.8rem;
  }

  html.is-pc-layout .pc-municipality .municipality-text h3 {
    font-size: 1.6rem;
  }
}
/*
 * PC 向けの作り（特集記事の一覧と本文）。持ち主: 記事の担当。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * デザイン案「特集記事」（Editor.dc.html）に合わせる。
 * - 記事の頭は 12列のうち 7:5 の2列（左にアイキャッチ、右に「編集部のおすすめ」の札・見出し h1・リード文・目次）
 * - ブロックの見出しと本文の文章は最大 760px の読みやすい幅。お礼品のカードは 4列（pc/common.css の .card-list）
 * - 「ほかの記事を読む」はバナー 3列（pc/common.css）で、「全て見る」（高さ 40px）は見出しの右。Blade が見出しの直後に
 *   土台の部品 <x-front.section-all-btn> を置き（並べ方と形は pc/common.css）、一覧の後ろの元の .all-btn は sp-only で隠す
 *   （見た目の順と Tab の順を同じにする）
 * - 一覧（/editor/）は、記事をアイキャッチ＋題名＋リード文のカードにして 3列に並べる
 * 一覧と記事は同じ .editor .editor-header を使うので、中身（一覧は .article-list、記事は直下の .eyecatch）で見分ける。
 */
@media (min-width: 1080px) {
  /* ===== 記事（/editor/{slug}/） ===== */

  /* 記事の頭: 左 7列にアイキャッチ、右 5列に札・見出し・リード文。右の列は上下の真ん中にそろえる
     （上と下の 1fr の行が余りを分け合う。文が写真より高いときは 1fr の行が 0 になり、文の高さに伸びる） */
  html.is-pc-layout .editor .editor-header > .page-width:has(> .eyecatch) {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: 1fr auto auto auto auto 1fr;
    column-gap: 24px;
  }

  html.is-pc-layout .editor .editor-header > .page-width > .eyecatch {
    grid-column: 1 / span 7;
    grid-row: 1 / -1;
    align-self: center;
    margin-bottom: 0;
  }

  html.is-pc-layout .editor .editor-header > .page-width > .eyecatch img {
    display: block;
    border-radius: 12px;
  }

  html.is-pc-layout .editor .editor-header > .page-width > .editor-header-label,
  html.is-pc-layout .editor .editor-header > .page-width > .page-ttl,
  html.is-pc-layout .editor .editor-header > .page-width > .page-ttl ~ p,
  html.is-pc-layout .editor .editor-header > .page-width > .editor-toc {
    grid-column: 8 / -1;
    padding-left: 24px;
  }

  /* 札（PC だけ。スイッチが入のときだけ Blade が描く）: 緑の短い線＋「編集部のおすすめ」 */
  html.is-pc-layout .editor .editor-header-label {
    grid-row: 2;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.5;
    color: #037f72;
  }

  html.is-pc-layout .editor .editor-header-label::before {
    content: "";
    display: block;
    width: 24px;
    height: 2px;
    background-color: #04ab99;
  }

  html.is-pc-layout .editor .editor-header > .page-width > .page-ttl {
    grid-row: 3;
    margin-bottom: 0;
  }

  html.is-pc-layout .editor .editor-header .page-ttl h1 {
    font-size: 3.2rem;
    line-height: 1.4;
  }

  /* リード文 */
  html.is-pc-layout .editor .editor-header > .page-width > .page-ttl ~ p {
    grid-row: 4;
    margin-top: 16px;
    font-size: 1.5rem;
    line-height: 1.8;
  }

  /* 目次（PC だけ。スイッチが入のときだけ Blade が描く）: 見出しのあるブロックへのページ内リンク。
     1行は高さ 48px で、上下に 1px #e3e3e3 の線、右に下向きの山形（行き先は下のブロック）。
     行き先へ飛んだときは、貼り付けたヘッダーの下に見出しが来る（header.css の scroll-padding-top） */
  html.is-pc-layout .editor .editor-header > .page-width > .editor-toc {
    grid-row: 5;
    margin-top: 32px;
  }

  html.is-pc-layout .editor .editor-toc-label {
    margin-bottom: 8px;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.5;
    color: #707070;
  }

  html.is-pc-layout .editor .editor-toc-list {
    border-top: 1px solid #e3e3e3;
  }

  html.is-pc-layout .editor .editor-toc-list > li {
    border-bottom: 1px solid #e3e3e3;
  }

  html.is-pc-layout .editor .editor-toc-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 48px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    color: #151515;
    text-decoration: none;
  }

  html.is-pc-layout .editor .editor-toc-list a:hover {
    color: #037f72;
  }

  html.is-pc-layout .editor .editor-toc-list svg {
    flex-shrink: 0;
  }

  /* セクションの区切りの線は、画面の端から端ではなく中身の幅（最大 1200px）にだけ引く（デザイン案のとおり）。
     線は .page-width の左右の余白（40px）を除いた幅に、背景で 1px 引く */
  html.is-pc-layout .editor .top-section {
    border-top: 0;
    padding-top: 0;
  }

  html.is-pc-layout .editor .top-section > .page-width {
    padding-top: 56px;
    background: linear-gradient(#cecece, #cecece) center top / calc(100% - 80px) 1px no-repeat;
  }

  /* ブロックの見出しと本文の文章は読みやすい幅（最大 760px）にする。カードの一覧は中身の幅いっぱい */
  html.is-pc-layout .editor .top-section .section-ttl,
  html.is-pc-layout .editor .article-body {
    max-width: 760px;
  }

  html.is-pc-layout .editor .top-section .section-ttl:has(+ .article-body) {
    margin-bottom: 16px;
  }

  html.is-pc-layout .editor .article-body {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  html.is-pc-layout .editor .article-body > * + * {
    margin-top: 1.6rem;
  }

  html.is-pc-layout .editor .article-body > * + h2,
  html.is-pc-layout .editor .article-body > * + h3 {
    margin-top: 3.2rem;
  }

  html.is-pc-layout .editor .article-body h2 {
    font-size: 2rem;
  }

  html.is-pc-layout .editor .article-body h3 {
    font-size: 1.8rem;
  }

  /* ブロックのお礼品のカード（4列は pc/common.css）。本文の下は 32px、見出しのすぐ下は見出しの余白（24px）だけ */
  html.is-pc-layout .editor .top-section .card-list {
    margin-top: 32px;
  }

  html.is-pc-layout .editor .top-section .section-ttl + .card-list,
  html.is-pc-layout .editor .top-section .page-width > .card-list:first-child {
    margin-top: 0;
  }

  /* ほかの記事を読む: 見出しの直後の「全て見る」（土台の部品 <x-front.section-all-btn>）を見出しの右に並べる規則と形は pc/common.css。
     バナー 3列も pc/common.css。一覧の後ろの元の .all-btn は sp-only で隠れる */

  /* 詳細検索の紺のボタン: 中央に幅 560px（デザイン案の大きいボタン） */
  html.is-pc-layout .editor .bottom-btn {
    margin-top: 80px;
  }

  html.is-pc-layout .editor .bottom-btn .detail-btn {
    width: 560px;
    max-width: 100%;
    height: 64px;
    margin: 0 auto;
  }

  html.is-pc-layout .editor .bottom-btn .detail-btn::before {
    right: 16px;
    width: 125px;
    height: 80px;
  }

  /* ===== 一覧（/editor/） ===== */

  /* 記事のカード（アイキャッチ＋題名＋リード文）を 3列に並べる */
  html.is-pc-layout .editor .article-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px 24px;
  }

  html.is-pc-layout .editor .article-item,
  html.is-pc-layout .editor .article-item:last-child {
    display: flex;
    margin-bottom: 0;
    padding: 0;
    border: 0;
  }

  html.is-pc-layout .editor .article-item a {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    padding-bottom: 20px;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.16);
  }

  html.is-pc-layout .editor .article-item a:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  html.is-pc-layout .editor .article-item .eyecatch {
    margin-bottom: 0;
  }

  html.is-pc-layout .editor .article-item .eyecatch img {
    display: block;
  }

  html.is-pc-layout .editor .article-item .section-ttl {
    margin: 16px 20px 0;
  }

  html.is-pc-layout .editor .article-item .section-ttl h2 {
    font-size: 1.8rem;
    line-height: 1.5;
  }

  html.is-pc-layout .editor .article-item a:hover .section-ttl h2 {
    color: #037f72;
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }

  /* リード文は 3行で切る（読み上げでは全文を読む） */
  html.is-pc-layout .editor .article-item a > p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin: 8px 20px 0;
    font-size: 1.4rem;
    line-height: 1.7;
  }

  /* ページ送り（一覧の下の 48px と 40px の丸）は pc/common.css */
}
/*
 * PC 向けの作り（固定ページ・よくある質問・お問い合わせ・準備中・エラー）。持ち主: 固定ページの担当。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * デザイン案に専用の画面はないので、「PC版の決まりと部品」（幅・文字・ボタン）と、ログインの画面の白いカードの形に合わせる。
 * カード・入力欄・ボタンの形は、会員の入口の画面（pc/members.css の .member-entry）とそろえる（同じ部品をページごとに変えない）。
 * ビューは、スイッチが入のときだけ section に次のクラスを足す（@class。切のときの HTML は変えない）。
 * - .pc-reading: 読む画面（about・規約類・よくある質問・シミュレーションの結果）。本文の列を最大 760px にし、左端をパンくず・ヘッダーのロゴ
 *   （1200px の容器の左端）にそろえる（デザイン案の特集記事の文章の列と同じ）。パンくずが見えるので「＜ 戻る」は出さない
 * - .pc-card: フォームとお知らせの画面（お問い合わせ・シミュレーションの入力・準備中・エラーなど）。
 *   灰色の帯の上に白いカード（外の幅 640px・余白 48px）を置き、中身は1列にする。パンくずが見えるので「＜ 戻る」は出さない
 * - .pc-message: 文だけのお知らせ（準備中・受付完了・エラー）。カードを少し細く（560px）する
 * - .pc-error: エラーページ（番号を大きく出す）
 * - .pc-faq: よくある質問（質問ごとに線で区切る）
 */
@media (min-width: 1080px) {
  /* ---------- 共通: 見出し・戻る・ボタン ---------- */

  /* ページの見出し h1（32px / 700 / 1.4） */
  html.is-pc-layout .pc-reading .page-ttl,
  html.is-pc-layout .pc-card .page-ttl {
    margin-bottom: 24px;
  }

  html.is-pc-layout .pc-reading .page-ttl h1,
  html.is-pc-layout .pc-card .page-ttl h1 {
    font-size: 3.2rem;
    line-height: 1.4;
  }

  /* 読む画面とカードの画面（シミュレーションの入力など）では「＜ 戻る」を出さない。行き先はパンくずの1つ上と同じで、
     見出しの上の余白をほかの画面（パンくずの下 16px・カードの余白 48px）とそろえる（お問い合わせのカード・マイページと同じ決まり）。
     パンくずのない会員の入口は pc/members.css の .member-entry なので、ここには当たらない */
  html.is-pc-layout .pc-reading .back-btn,
  html.is-pc-layout .pc-card .back-btn {
    display: none;
  }

  /* 主のボタン（緑・丸・高さ 52px・16px） */
  html.is-pc-layout .pc-reading .main-btn,
  html.is-pc-layout .pc-card .main-btn {
    height: 52px;
    padding: 0 40px;
    border: 0;
    font-size: 1.6rem;
    transition: background-color 0.2s;
  }

  html.is-pc-layout .pc-reading .main-btn {
    max-width: 320px;
  }

  /* カードの中ではカードの幅いっぱい（会員の入口の画面・デザイン案のログインと同じ） */
  html.is-pc-layout .pc-card .main-btn {
    width: 100%;
    max-width: none;
  }

  html.is-pc-layout .pc-reading .main-btn:hover,
  html.is-pc-layout .pc-card .main-btn:hover {
    background-color: #025b52;
  }

  html.is-pc-layout .pc-reading .form-btn {
    margin-top: 40px;
  }

  html.is-pc-layout .pc-card .form-btn,
  html.is-pc-layout .pc-card .error-btn {
    margin-top: 32px;
  }

  /* フォーカスの見た目（2px #151515） */
  html.is-pc-layout .pc-reading a:focus-visible,
  html.is-pc-layout .pc-card a:focus-visible,
  html.is-pc-layout .pc-reading button:focus-visible,
  html.is-pc-layout .pc-card button:focus-visible,
  html.is-pc-layout .pc-reading summary:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* ---------- 読む画面（.pc-reading）: 本文の列を 760px にし、左端をパンくずにそろえる ---------- */

  /* 器（.page-width）は土台の 1200px のまま、子の要素だけを 760px までにする（列は器の左端から始まる） */
  html.is-pc-layout .pc-reading .page-width > * {
    max-width: 760px;
  }

  /* 本文（15px / 400 / 1.8）。最後の行に1〜2文字だけが残らないようにする（カードの中の文と同じ） */
  html.is-pc-layout .pc-reading .content {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  html.is-pc-layout .pc-reading .content p,
  html.is-pc-layout .pc-reading .content li {
    text-wrap: pretty;
  }

  /* 本文の h2（規約の条など）は決まりの h2（26px / 700 / 1.3。よくある質問の種類と同じ） */
  html.is-pc-layout .pc-reading .content h2 {
    margin: 48px 0 16px;
    font-size: 2.6rem;
    line-height: 1.3;
  }

  html.is-pc-layout .pc-reading .content > h2:first-child {
    margin-top: 0;
  }

  html.is-pc-layout .pc-reading .content h3 {
    margin: 32px 0 12px;
    font-size: 1.8rem;
    line-height: 1.5;
  }

  html.is-pc-layout .pc-reading .content ul,
  html.is-pc-layout .pc-reading .content ol {
    margin: 16px 0;
  }

  html.is-pc-layout .pc-reading .content li + li {
    margin-top: 4px;
  }

  html.is-pc-layout .pc-reading .content a:hover {
    text-decoration: none;
  }

  /* よくある質問: 種類（h2）ごとに上に線、質問（h3）ごとに薄い線で区切る */
  html.is-pc-layout .pc-faq .content h2 {
    margin: 56px 0 0;
    padding-top: 40px;
    border-top: 1px solid #cecece;
    font-size: 2.6rem;
    line-height: 1.3;
  }

  html.is-pc-layout .pc-faq .content > h2:first-child {
    margin-top: 40px;
    padding-top: 0;
    border-top: 0;
  }

  html.is-pc-layout .pc-faq .content h3 {
    margin: 24px 0 8px;
    padding-top: 24px;
    border-top: 1px solid #e3e3e3;
  }

  html.is-pc-layout .pc-faq .content h2 + h3 {
    margin-top: 24px;
    padding-top: 0;
    border-top: 0;
  }

  /* ---------- フォームとお知らせの画面（.pc-card）: 灰色の帯の上の白いカード ---------- */

  /* 帯はヘッダーの下からフッターまで続ける（ログインの画面と同じ形） */
  html.is-pc-layout .main:has(> .pc-card) {
    margin: 0;
    padding: 64px 0;
    background: #f5f5f5;
  }

  html.is-pc-layout .section.pc-card {
    margin-top: 0;
  }

  /* カードは外の幅で決める（border-box。会員の入口の画面のカードと同じ 640px） */
  html.is-pc-layout .pc-card .page-width {
    box-sizing: border-box;
    max-width: 640px;
    padding: 48px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
  }

  html.is-pc-layout .pc-card .content,
  html.is-pc-layout .pc-card .contact-lead {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  /* 文だけのお知らせ（準備中・受付完了・エラー）は少し細く（会員の入口の準備中の画面と同じ 560px。文は左そろえ） */
  html.is-pc-layout .pc-message .page-width {
    max-width: 560px;
  }

  /* カードの見出しが2行に折り返すときは、語の途中で切らず（「シミュレー／ション」にしない）、行の長さをそろえる */
  html.is-pc-layout .pc-card .page-ttl h1 {
    text-wrap: balance;
    word-break: auto-phrase;
  }

  /* カードの中の文は、語の途中で折り返さず、最後の行に1〜2文字だけが残らないようにする（「くださ／い。」「問い合／わせ」など） */
  html.is-pc-layout .pc-card .content p,
  html.is-pc-layout .pc-card .contact-lead p,
  html.is-pc-layout .pc-card .contact-policy {
    text-wrap: pretty;
    word-break: auto-phrase;
  }

  /* エラーの番号（Montserrat。#037f72 は白地で 4.9:1） */
  html.is-pc-layout .pc-error .error-code {
    margin-bottom: 16px;
    font-size: 5.6rem;
    line-height: 1;
  }

  /* ---------- お問い合わせのフォーム（.contact-form）: ログインの画面と同じ枠の入力欄 ---------- */

  html.is-pc-layout .pc-card .contact-errors {
    margin-top: 32px;
  }

  /* エラーの一覧や入力欄へ移ったときの位置。PC のヘッダー（上に貼り付く）の分は、土台が <html> の scroll-padding-top でよける。
     ここでは、スマホの固定のヘッダーの分（contact.css の 97px・140px）を、入力欄の項目名が見える分だけに替える */
  html.is-pc-layout .pc-card .contact-errors {
    scroll-margin-top: 16px;
  }

  html.is-pc-layout .pc-card .contact-form input,
  html.is-pc-layout .pc-card .contact-form select,
  html.is-pc-layout .pc-card .contact-form textarea,
  html.is-pc-layout .pc-card .simulation-form input,
  html.is-pc-layout .pc-card .simulation-form select {
    scroll-margin-top: 48px;
  }

  /* エラーの一覧のリンク（お問い合わせ・シミュレーション）は押せる高さ 40px を取る */
  html.is-pc-layout .pc-card .contact-errors-list li + li {
    margin-top: 0;
  }

  html.is-pc-layout .pc-card .contact-errors-list a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0;
  }

  /* 項目名（14px / 700） */
  html.is-pc-layout .pc-card .contact-form .input-label {
    margin: 28px 0 8px;
    color: #151515;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
  }

  html.is-pc-layout .pc-card .contact-form .input-label span {
    font-weight: 400;
  }

  html.is-pc-layout .pc-card .contact-form .input-label .red {
    font-weight: 700;
  }

  html.is-pc-layout .pc-card .contact-activity {
    margin-top: 0;
    font-size: 1.5rem;
  }

  /* 下線だけの欄を、枠で囲んだ高さ 48px の欄にする（会員の入口の画面の入力欄と同じ形。鉛筆の飾りは出さない）。
     余白は input の側に持たせ、箱のどこを押しても入力できるようにする */
  html.is-pc-layout .pc-card .contact-form .account-input {
    box-sizing: border-box;
    min-height: 48px;
    padding: 0;
    border: 1px solid #8c8c8c;
    border-radius: 10px;
    background: #fff;
  }

  html.is-pc-layout .pc-card .contact-form .account-input::before {
    display: none;
  }

  html.is-pc-layout .pc-card .contact-form .account-input input {
    height: 46px;
    padding: 0 14px;
    border-radius: 10px;
    font-size: 1.6rem;
  }

  html.is-pc-layout .pc-card .contact-form .account-input input:focus-visible {
    outline: 0;
  }

  html.is-pc-layout .pc-card .contact-form .account-input:has(input:focus-visible) {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  html.is-pc-layout .pc-card .contact-form .account-input:has([aria-invalid="true"]) {
    border-color: #D50000;
  }

  html.is-pc-layout .pc-card .contact-form .select-item {
    margin-top: 0;
  }

  html.is-pc-layout .pc-card .contact-form .select-area {
    height: 48px;
    padding: 0 40px 0 14px;
    font-size: 1.6rem;
  }

  /*
   * 選ぶ欄の矢印はデザイン案の山形（16px・#151515・線 2.2。右 14px。シートの select と同じ形）。select の地に描き、
   * contact.css の細い灰色の矢印（arrow-bottom.svg）に替える。.select-icon を置く形になっても、日程のアイコン（.date-icon）のほかは隠す
   */
  html.is-pc-layout .pc-card .contact-form .select-icon:not(.date-icon) {
    display: none;
  }

  html.is-pc-layout .pc-card .contact-form select.select-area {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px 16px;
  }

  html.is-pc-layout .pc-card .contact-form textarea {
    height: 240px;
    margin-top: 0;
    padding: 12px 14px;
    font-size: 1.6rem;
    line-height: 1.8;
  }

  html.is-pc-layout .pc-card .contact-form .contact-error {
    margin-top: 8px;
  }

  html.is-pc-layout .pc-card .contact-policy {
    margin-top: 0;
    font-size: 1.4rem;
  }

  /* 同意のチェックボックスは押せる高さ 40px を取る */
  html.is-pc-layout .pc-card .contact-form .checkbox {
    min-height: 40px;
    margin-top: 8px;
    font-size: 1.5rem;
  }
}
/*
 * PC 向けの作り（控除上限額シミュレーション）。持ち主: 固定ページの担当。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * 帯とカード（.pc-card）・読む幅（.pc-reading）・見出し・ボタンは pc/static.css の決まりを使う。
 * - 入力（.pc-card の .simulation-form）: カード（外の幅 640px）の中。欄は高さ 48px・枠 #8c8c8c・角丸 10px（ログインの画面と同じ）。
 *   雇用形態・年収・社会保険料・扶養家族は1列（金額の欄はカードの半分の幅で、扶養家族の左の列と右の端をそろえる）。
 *   その後の「あり/なし」を選ぶ6つの欄（配偶者〜iDeCo）は2列に並べ、カードが縦に長くなりすぎないようにする
 * - 結果（.pc-simulation-result）: 控除上限額のカードを大きくし、金額を左、絵を右に並べる（角丸はマイページの控除上限額のカードと同じ 12px）
 * - 保存待ち（.simulation-saved-pending）: カードの中に結果を出す
 * マイページの保存した結果の一覧（/mypage/simulation/）はマイページの担当なので、ここでは触らない
 */
@media (min-width: 1080px) {
  /* ---------- 入力 ---------- */

  html.is-pc-layout .pc-card .page-ttl + p,
  html.is-pc-layout .pc-card .simulation-year {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  html.is-pc-layout .pc-card .simulation-year {
    margin-top: 4px;
  }

  html.is-pc-layout .pc-card .simulation-form .mypage-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    column-gap: 1.3rem;
    margin-top: 32px;
  }

  /* 最初の4つ（雇用形態・年収・社会保険料・扶養家族）はカードの幅いっぱい */
  html.is-pc-layout .pc-card .simulation-form .mypage-form > .mypage-form-block:nth-child(-n+4) {
    grid-column: 1 / -1;
  }

  /* 5つ目からの「あり/なし」の欄は列の幅いっぱい（列の幅は、扶養家族の欄・金額の欄と同じカードの半分） */
  html.is-pc-layout .pc-card .simulation-form .mypage-form > .mypage-form-block:nth-child(n+5) .select-item {
    width: 100%;
  }

  html.is-pc-layout .pc-card .simulation-form .mypage-form > .mypage-form-block:nth-child(n+5) .simulation-amount input {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
  }

  html.is-pc-layout .pc-card .simulation-form .mypage-form-block {
    margin-bottom: 28px;
  }

  /* 項目名（14px / 700。お問い合わせ・会員の入口・マイページのフォームの項目名と同じ） */
  html.is-pc-layout .pc-card .simulation-form .mypage-form-ttl {
    margin-bottom: 8px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
  }

  html.is-pc-layout .pc-card .simulation-sub-label {
    margin: 12px 0 6px;
    font-size: 1.4rem;
    line-height: 1.5;
  }

  html.is-pc-layout .pc-card .simulation-hint {
    margin-bottom: 8px;
    font-size: 1.3rem;
    line-height: 1.6;
  }

  /* 金額の欄と選ぶ欄（高さ 48px・16px。文字の左の余白は 14px でそろえ、選ぶ欄は右に矢印の分を空ける） */
  html.is-pc-layout .pc-card .simulation-form .select-area {
    height: 48px;
    padding: 0 40px 0 14px;
    font-size: 1.6rem;
  }

  html.is-pc-layout .pc-card .simulation-form input.select-area {
    padding: 0 14px;
  }

  /*
   * 選ぶ欄の矢印はデザイン案の山形（16px・#151515・線 2.2。右 14px。シート・お問い合わせの select と同じ形）。select の地に描き、
   * simulation.css の細い灰色の矢印（arrow-bottom.svg）に替える。.select-icon を置く形になっても、日程のアイコン（.date-icon）のほかは隠す
   */
  html.is-pc-layout .pc-card .simulation-form .select-icon:not(.date-icon) {
    display: none;
  }

  html.is-pc-layout .pc-card .simulation-form select.select-area {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px 16px;
  }

  /* 金額の欄は、単位の文字の長さによらず、選ぶ欄（.select-item。スマホと同じ半分の幅）と同じ幅にする */
  html.is-pc-layout .pc-card .simulation-amount {
    width: 100%;
  }

  html.is-pc-layout .pc-card .simulation-amount input {
    flex: none;
    width: calc((100% - 1.3rem) / 2);
  }

  html.is-pc-layout .pc-card .simulation-amount span {
    font-size: 1.5rem;
  }

  /* 扶養家族の人数は2列のまま（列の幅はほかの欄と同じ）。行の間は項目名の余白で取る */
  html.is-pc-layout .pc-card .simulation-form [role="group"] .select-flex {
    gap: 4px 1.3rem;
  }

  /* 雇用形態（radio）は押せる高さ 40px を取る */
  html.is-pc-layout .pc-card .simulation-form .category-check {
    gap: 0 32px;
  }

  html.is-pc-layout .pc-card .simulation-form .checkbox {
    min-height: 40px;
    font-size: 1.5rem;
  }

  html.is-pc-layout .pc-card .simulation-form .contact-error {
    margin-top: 8px;
  }

  html.is-pc-layout .pc-card .simulation-notes {
    margin-top: 8px;
    padding: 20px 24px;
    font-size: 1.4rem;
    line-height: 1.7;
  }

  /* 文の途中（語の中）で折り返さず、最後の行に1〜2文字だけが残らないようにする（「くださ／い。」など） */
  html.is-pc-layout .pc-card .simulation-notes p,
  html.is-pc-layout .pc-simulation-result .simulation-result-none p,
  html.is-pc-layout .pc-simulation-result .simulation-notes li {
    text-wrap: pretty;
    word-break: auto-phrase;
  }

  /* ---------- 結果: 控除上限額のカードを大きく ---------- */

  html.is-pc-layout .pc-simulation-result .simulation-result {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    grid-template-rows: auto auto;
    column-gap: 24px;
    margin: 0 0 40px;
    padding: 0 40px 0 48px;
    border-radius: 12px;
  }

  /* 見出し（h1）は金額（または「出せません」の文）の上に置く。大きさと太さはスマホと同じ 20px / 700（ページの h2「ご注意」の 18px より大きく） */
  html.is-pc-layout .pc-simulation-result .result-ttl {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    margin: 40px 0 8px;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
  }

  html.is-pc-layout .pc-simulation-result .result-price,
  html.is-pc-layout .pc-simulation-result .simulation-result-none {
    grid-column: 1;
    grid-row: 2;
    margin-bottom: 40px;
    text-align: left;
  }

  html.is-pc-layout .pc-simulation-result .result-price {
    font-size: 6.4rem;
    line-height: 1.1;
  }

  html.is-pc-layout .pc-simulation-result .result-price .small {
    margin-left: 4px;
    font-size: 2.4rem;
  }

  html.is-pc-layout .pc-simulation-result .simulation-result-none {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  /* 「出せません」の文は金額の代わり。見出し（20px）より大きくし、左の列に1行で収める */
  html.is-pc-layout .pc-simulation-result .simulation-result-none p:first-child {
    margin-bottom: 8px;
    font-size: 2.2rem;
    line-height: 1.4;
  }

  html.is-pc-layout .pc-simulation-result .result-img {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;
    padding-top: 24px;
  }

  html.is-pc-layout .pc-simulation-result .result-img img {
    display: block;
    height: auto;
  }

  /* 状況の文・保存の枠・内訳・注意書き（15px） */
  html.is-pc-layout .pc-simulation-result .simulation-status p,
  html.is-pc-layout .pc-simulation-result .simulation-save p {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  /* 保存の枠（上限額を出せない結果では中身がないので、枠を描かない） */
  html.is-pc-layout .pc-simulation-result .simulation-save:not(:has(*)) {
    display: none;
  }

  html.is-pc-layout .pc-simulation-result .simulation-save {
    margin-top: 32px;
    padding: 24px 28px;
    border: 1px solid #e3e3e3;
    border-radius: 12px;
  }

  html.is-pc-layout .pc-simulation-result .simulation-save .form-btn {
    margin: 20px 0 0;
  }

  html.is-pc-layout .pc-simulation-result .simulation-breakdown {
    margin-top: 32px;
    padding: 8px 28px;
    border-color: #e3e3e3;
    border-radius: 12px;
    font-size: 1.5rem;
  }

  html.is-pc-layout .pc-simulation-result .simulation-breakdown summary {
    display: list-item;
    padding: 10px 0;
  }

  html.is-pc-layout .pc-simulation-result .simulation-breakdown dl {
    gap: 0 24px;
    margin: 8px 0 16px;
  }

  html.is-pc-layout .pc-simulation-result .simulation-breakdown dt,
  html.is-pc-layout .pc-simulation-result .simulation-breakdown dd {
    padding: 10px 0;
    border-top: 1px solid #e3e3e3;
  }

  html.is-pc-layout .pc-simulation-result .simulation-breakdown dl + p {
    margin: 0 0 16px;
  }

  html.is-pc-layout .pc-simulation-result .simulation-notes {
    margin-top: 32px;
    padding: 24px 28px;
    font-size: 1.4rem;
    line-height: 1.7;
  }

  html.is-pc-layout .pc-simulation-result .simulation-notes-ttl {
    margin-bottom: 12px;
    font-size: 1.8rem;
  }

  /* ---------- 保存待ち（カードの中に結果を出す） ---------- */

  html.is-pc-layout .pc-card.simulation-saved-pending .simulation-result {
    margin: 24px 0;
    padding: 32px 40px;
    border-radius: 12px;
  }

  /* 見出しは結果の画面と同じく、金額の上に 20px / 700 で置く */
  html.is-pc-layout .pc-card.simulation-saved-pending .result-ttl {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
  }

  html.is-pc-layout .pc-card.simulation-saved-pending .result-price {
    font-size: 5.6rem;
  }

  html.is-pc-layout .pc-card.simulation-saved-pending .simulation-saved-meta,
  html.is-pc-layout .pc-card.simulation-saved-pending .simulation-save p {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  html.is-pc-layout .pc-card.simulation-saved-pending .simulation-save .form-btn {
    margin: 24px 0 0;
  }

  html.is-pc-layout .pc-card.simulation-saved-pending .simulation-saved-delete {
    margin-top: 12px;
    text-align: center;
  }

  html.is-pc-layout .pc-card.simulation-saved-pending .simulation-saved-delete button {
    min-height: 40px;
    font-size: 1.5rem;
  }

  html.is-pc-layout .pc-card.simulation-saved-pending .simulation-saved-delete + p {
    text-align: center;
  }

  html.is-pc-layout .pc-card.simulation-saved-pending .simulation-saved-delete + p a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    color: #037f72;
    text-decoration: underline;
  }
}
/*
 * PC 向けの作り（ログイン・会員登録・パスワードの再設定・同意・配信停止・退会の完了）。持ち主: 会員の入口の担当。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * 形（PC 版のデザイン案「ログイン」）: 灰色 #f5f5f5 の帯の中央に白いカード（角丸 16px）。ログインは幅 1040px の2列
 * （左にイラスト〔.member-login-visual。スイッチが入のときだけ Blade が描く〕、右にフォーム）、ほかの画面は 560〜640px の1列。
 * 帯の目印は .member-entry（スイッチが入のときだけ Blade が各画面の外側の要素に付ける。準備中の画面〔.coming-soon〕を
 * 会員の入口の画面だけに絞るため）。#f5f5f5 の地の上に緑の文字・ボタンを直接置かない（すべて白いカードの中に入れる）
 */
@media (min-width: 1080px) {
  /* ---------- 帯（灰色の地。ヘッダーの下からフッターまで） ---------- */
  html.is-pc-layout .main:has(> .member-entry) {
    margin: 0;
  }

  html.is-pc-layout .member-entry {
    margin: 0;
    padding: 64px 0;
    background-color: #f5f5f5;
  }

  /* ---------- 白いカード（1列） ---------- */
  html.is-pc-layout .section.member-entry > .page-width,
  html.is-pc-layout .register-page.member-entry .register-consent,
  html.is-pc-layout .success-inner.member-entry .success-block {
    box-sizing: border-box;
    width: calc(100% - 80px);
    max-width: 640px;
    margin: 0 auto;
    padding: 48px;
    border-radius: 16px;
    background-color: #fff;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
    font-size: 1.5rem;
    line-height: 1.8;
  }

  /* 文の少ない画面は少し細く */
  html.is-pc-layout .member-password.member-entry > .page-width,
  html.is-pc-layout .coming-soon.member-entry > .page-width,
  html.is-pc-layout .member-withdraw-done.member-entry > .page-width,
  html.is-pc-layout .success-inner.member-entry .success-block {
    max-width: 560px;
  }

  /* ---------- 見出し・戻る ---------- */
  html.is-pc-layout .member-entry .page-ttl,
  html.is-pc-layout .member-entry .section-ttl {
    margin-bottom: 24px;
  }

  html.is-pc-layout .member-entry .page-ttl h1,
  html.is-pc-layout .member-entry .section-ttl h1 {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.4;
  }

  html.is-pc-layout .member-entry .back-btn {
    margin: -8px 0 16px;
  }

  html.is-pc-layout .member-entry .back-btn a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    font-size: 1.4rem;
  }

  html.is-pc-layout .member-entry .back-btn a:hover {
    color: #151515;
    text-decoration: underline;
  }

  /* フォーカスの見た目（決まりの outline 2px #151515）。カードの中のリンク・ボタンすべてにそろえる
     （部品ごとの指定〔パスワードの表示の切り替えなど〕はこれより細かいので、そちらが勝つ） */
  html.is-pc-layout .member-entry a:focus-visible,
  html.is-pc-layout .member-entry button:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* 読み上げ用の見出し（ログイン・会員登録の同意）を、PC ではカードの題名として見せる */
  html.is-pc-layout .member-login.member-entry h1.visually-hidden,
  html.is-pc-layout .register-page.member-entry h1.visually-hidden {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.4;
  }

  /* ---------- 入力欄（角丸の箱。PC 版の決まりの入力欄） ---------- */
  html.is-pc-layout .member-entry .input-label {
    display: block;
    margin: 20px 0 8px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    color: #151515;
  }

  html.is-pc-layout .member-entry form > input[type="hidden"] + .input-label {
    margin-top: 0;
  }

  html.is-pc-layout .member-entry .input-label span {
    font-size: 1.2rem;
    font-weight: 400;
    color: #707070;
  }

  html.is-pc-layout .member-entry .account-input {
    box-sizing: border-box;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid #8c8c8c;
    border-radius: 10px;
    background-color: #fff;
  }

  /* 下線の形の入力欄の鉛筆の飾りは、箱の形では出さない */
  html.is-pc-layout .member-entry .account-input::before {
    display: none;
  }

  html.is-pc-layout .member-entry .account-input input {
    height: 46px;
    font-size: 1.6rem;
  }

  /* フォーカスの枠は箱に付ける（欄の中の枠は消す） */
  html.is-pc-layout .member-entry .account-input input:focus-visible {
    outline: none;
  }

  html.is-pc-layout .member-entry .account-input:has(input:focus-visible) {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  html.is-pc-layout .member-entry .account-input:has([aria-invalid="true"]) {
    border-color: #D50000;
  }

  /* パスワードの表示の切り替え（箱の右の端） */
  html.is-pc-layout .member-entry .pass-input {
    padding-right: 4px;
  }

  /* 目のアイコンと「表示」の文字を並べたボタン（デザイン案）。読み上げは aria-label（JS が「パスワードを表示」・「パスワードを隠す」に
     切り替える）のままにし、見える文字は飾りとして読み上げの代わりの文を空にする */
  html.is-pc-layout .member-entry .toggle-password {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: auto;
    height: 40px;
    padding: 0 12px;
    border-radius: 8px;
    color: #151515;
  }

  html.is-pc-layout .member-entry .toggle-password::after {
    content: "表示";
    content: "表示" / "";
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1;
  }

  html.is-pc-layout .member-entry .toggle-password:hover {
    background-color: #f5f5f5;
  }

  /* 表示中（欄が type="text"）は淡い緑の地。見える文字は aria-label（パスワードを隠す）に合わせて「隠す」にする */
  html.is-pc-layout .member-entry .pass-input:has(input[type="text"]) .toggle-password {
    background-color: #e6f4f2;
  }

  html.is-pc-layout .member-entry .pass-input:has(input[type="text"]) .toggle-password::after {
    content: "隠す";
    content: "隠す" / "";
  }

  html.is-pc-layout .member-entry .toggle-password:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 0;
  }

  /* チェックボックス（押せる高さ 40px） */
  html.is-pc-layout .member-entry .checkbox {
    min-height: 40px;
    font-size: 1.4rem;
    font-weight: 500;
  }

  /* ---------- ボタン（主: 緑・丸・カードの幅いっぱい） ---------- */
  html.is-pc-layout .member-entry .form-btn {
    margin-top: 32px;
  }

  html.is-pc-layout .member-entry .main-btn {
    width: 100%;
    max-width: none;
    height: 52px;
    padding: 0 40px;
    border: 0;
    font-size: 1.6rem;
  }

  html.is-pc-layout .member-entry .main-btn:not(:disabled):hover {
    background-color: #025b52;
  }

  html.is-pc-layout .member-entry .main-btn:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* 本文の段落（準備中・配信停止・退会の完了） */
  html.is-pc-layout .member-entry .content p {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  /* ========== ログイン（2列のカード） ========== */
  html.is-pc-layout .member-login.member-entry > .page-width {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto auto auto 1fr;
    max-width: 1040px;
    padding: 0;
    overflow: hidden;
  }

  /* 右の列: 題名・フォーム・パスワードと新規作成・案内（デザイン案の順）。
     HTML の順はフォーム・案内・リンクのまま（スイッチが切の HTML を変えないため）。案内には押せる部品がないので、
     キーボードで移る順（フォーム → パスワードをお忘れの方 → 新規アカウント作成）は見た目の順と同じ */
  html.is-pc-layout .member-login.member-entry h1.visually-hidden {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    margin: 48px 48px 0;
  }

  /* ロゴはヘッダーにあるので、カードには出さない（デザイン案のカードにロゴはない） */
  html.is-pc-layout .member-login.member-entry .login-logo {
    display: none;
  }

  html.is-pc-layout .member-login.member-entry form {
    grid-column: 2;
    grid-row: 2;
    margin: 32px 48px 0;
  }

  html.is-pc-layout .member-login.member-entry .member-login-error {
    margin: 0 0 16px;
  }

  /* 押せる範囲は文字の幅まで（行の幅いっぱいに広げない。デザイン案の inline-flex） */
  html.is-pc-layout .member-login.member-entry .member-login-remember {
    display: inline-flex;
    margin-top: 12px;
  }

  html.is-pc-layout .member-login.member-entry .form-btn {
    margin-top: 24px;
  }

  /* 寄附・決済の画面のアカウントとは別であることの案内（淡い緑の箱。文字は #151515） */
  html.is-pc-layout .member-login.member-entry .member-login-note {
    grid-column: 2;
    grid-row: 4;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 20px 48px 48px;
    padding: 12px 16px;
    border-radius: 10px;
    background-color: #e6f4f2;
    font-size: 1.2rem;
    line-height: 1.7;
  }

  /* 案内の印（i の丸。飾りなので、読み上げの代わりの文は空にする） */
  html.is-pc-layout .member-login.member-entry .member-login-note::before {
    content: "i";
    content: "i" / "";
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    border: 1.5px solid #151515;
    border-radius: 50%;
    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
  }

  html.is-pc-layout .member-login.member-entry .login-link {
    grid-column: 2;
    grid-row: 3;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 16px 48px 0;
  }

  /* パスワードをお忘れの方（緑の下線の文字。白いカードの中なので #037f72 を使える） */
  html.is-pc-layout .member-login.member-entry .login-link .forget {
    align-self: center;
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    color: #037f72;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  html.is-pc-layout .member-login.member-entry .login-link .forget:hover {
    color: #025b52;
  }

  html.is-pc-layout .member-login.member-entry .login-link .forget span {
    padding: 0;
    font-size: 1.4rem;
    font-weight: 500;
  }

  html.is-pc-layout .member-login.member-entry .login-link .forget span::before,
  html.is-pc-layout .member-login.member-entry .login-link span::after {
    display: none;
  }

  /* 新規アカウント作成の上の区切り（左右の線の間に「はじめての方」。スイッチが入のときだけ Blade が描く） */
  html.is-pc-layout .member-login.member-entry .member-login-divider {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 24px 0 16px;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.5;
    color: #707070;
  }

  html.is-pc-layout .member-login.member-entry .member-login-divider::before,
  html.is-pc-layout .member-login.member-entry .member-login-divider::after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background-color: #e3e3e3;
  }

  /* 新規アカウント作成（白い枠の丸いボタン） */
  html.is-pc-layout .member-login.member-entry .login-link .new {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    margin-top: 0;
    border: 1px solid #b1b1b1;
    border-radius: 999px;
    background-color: #fff;
  }

  html.is-pc-layout .member-login.member-entry .login-link .new:hover {
    border-color: #151515;
  }

  html.is-pc-layout .member-login.member-entry .login-link .new span {
    padding: 0 0 0 28px;
    font-size: 1.5rem;
    font-weight: 700;
  }

  /* 左の列: イラストと使い方（淡い緑の地。文字は #151515） */
  html.is-pc-layout .member-login-visual {
    grid-column: 1;
    grid-row: 1 / 6;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px;
    background-color: #e6f4f2;
  }

  html.is-pc-layout .member-login-visual img {
    display: block;
    width: 100%;
    aspect-ratio: 804 / 690;
    object-fit: cover;
    border-radius: 12px;
  }

  html.is-pc-layout .member-login-visual-ttl {
    margin-top: 28px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
  }

  html.is-pc-layout .member-login-steps {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 16px;
    counter-reset: member-login-step;
  }

  html.is-pc-layout .member-login-steps li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.4rem;
    line-height: 1.6;
  }

  /* 番号の丸（白い文字に #037f72 の地） */
  html.is-pc-layout .member-login-steps li::before {
    counter-increment: member-login-step;
    content: counter(member-login-step);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background-color: #037f72;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1;
  }

  /* ========== 規約の改定への同意 ========== */
  html.is-pc-layout .member-consent.member-entry .member-consent-lead,
  html.is-pc-layout .member-consent.member-entry .member-consent-list {
    font-size: 1.5rem;
  }

  /* 改定した文書へのリンク（押せる高さ 40px） */
  html.is-pc-layout .member-consent.member-entry .member-consent-list a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
  }

  html.is-pc-layout .member-consent.member-entry .member-consent-error {
    margin-top: 24px;
  }

  html.is-pc-layout .member-consent.member-entry .member-consent-agree {
    margin-top: 16px;
  }

  html.is-pc-layout .member-consent.member-entry .member-consent-other {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid #e3e3e3;
  }

  html.is-pc-layout .member-consent.member-entry .member-consent-link {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    font-size: 1.4rem;
  }

  /* ========== パスワードの再設定 ========== */
  html.is-pc-layout .member-password.member-entry .member-password-lead {
    margin: 0 0 24px;
    font-size: 1.5rem;
  }

  html.is-pc-layout .member-password.member-entry .member-password-status {
    margin-top: 0;
  }

  html.is-pc-layout .member-password.member-entry .member-password-status + .mail-guide {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e3e3e3;
  }

  html.is-pc-layout .member-password.member-entry .member-password-hint {
    margin: -4px 0 8px;
  }

  /* ========== メールが届かないときの案内（コードの画面・パスワードの再設定の送った後の画面） ========== */
  /* 携帯会社の受信設定へのリンク（1行に1つなので、押せる高さ 40px。行の間は詰める） */
  html.is-pc-layout .member-entry .mail-guide-carriers a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
  }

  html.is-pc-layout .member-entry .mail-guide-carriers > li + li {
    margin-top: 0;
  }

  /* ========== 会員登録の同意（写真の全面の画面を、帯とカードにする） ========== */
  html.is-pc-layout .register-page.member-entry {
    height: auto;
    background: #f5f5f5;
  }

  html.is-pc-layout .register-page.member-entry .new-inner {
    height: auto;
    min-height: 0;
    background: none;
  }

  html.is-pc-layout .register-page.member-entry .new-att,
  html.is-pc-layout .register-page.member-entry .new-btn {
    position: static;
  }

  html.is-pc-layout .register-page.member-entry .page-width {
    max-width: none;
    padding: 0;
  }

  html.is-pc-layout .register-page.member-entry h1.visually-hidden {
    margin-bottom: 24px;
  }

  html.is-pc-layout .register-page.member-entry .new-att p {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  html.is-pc-layout .register-page.member-entry .register-notice {
    margin-bottom: 16px;
  }

  html.is-pc-layout .register-page.member-entry .register-consent .checkbox {
    margin-top: 16px;
  }

  html.is-pc-layout .register-page.member-entry .new-btn {
    margin-top: 32px;
  }

  html.is-pc-layout .register-page.member-entry .form-btn {
    margin-top: 0;
  }

  /* ========== 会員登録の入力 ========== */
  html.is-pc-layout .register-form.member-entry .register-errors {
    margin: 0 0 24px;
  }

  html.is-pc-layout .register-form.member-entry .input-ttl {
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom-color: #e3e3e3;
    font-size: 1.5rem;
    font-weight: 700;
  }

  html.is-pc-layout .register-form.member-entry .input-flex {
    gap: 16px;
    margin-top: 12px;
  }

  html.is-pc-layout .register-form.member-entry .input-flex .account-input {
    width: calc((100% - 16px) / 2);
  }

  /* 姓・名・セイ・メイの項目名（箱の中の左） */
  html.is-pc-layout .register-form.member-entry .account-input > span {
    flex-shrink: 0;
    width: 4rem;
    font-size: 1.3rem;
  }

  html.is-pc-layout .register-form.member-entry .input-flex .flex-input {
    width: calc(100% - 4rem);
  }

  html.is-pc-layout .register-form.member-entry .register-error {
    margin-top: 6px;
  }

  /* ========== 会員登録のコードの確認 ========== */
  html.is-pc-layout .register-code.member-entry .code-block {
    margin-top: 0;
  }

  html.is-pc-layout .register-code.member-entry .code-block > p:first-child {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  html.is-pc-layout .register-code.member-entry .code-flex {
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
  }

  html.is-pc-layout .register-code.member-entry .code-input {
    width: 64px;
    height: 72px;
    aspect-ratio: auto;
    border-color: #8c8c8c;
    border-radius: 10px;
  }

  html.is-pc-layout .register-code.member-entry .code-input:has([aria-invalid="true"]) {
    border-color: #D50000;
  }

  /* 次へのボタン（スマホは画面の下の位置に固定。PC は文の流れに置く） */
  html.is-pc-layout .register-code.member-entry .new-btn {
    position: static;
    margin-top: 32px;
  }

  html.is-pc-layout .register-code.member-entry .register-code-more {
    margin-top: 32px;
    padding: 24px 0 0;
    border-top: 1px solid #e3e3e3;
  }

  html.is-pc-layout .register-code.member-entry .register-code-resend-btn {
    min-height: 40px;
    font-size: 1.5rem;
  }

  html.is-pc-layout .register-code.member-entry .register-code-restart {
    margin-top: 0;
  }

  html.is-pc-layout .register-code.member-entry .register-code-restart p {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  html.is-pc-layout .register-code.member-entry .form-btn {
    margin-top: 32px;
  }

  html.is-pc-layout .register-code.member-entry .register-code-alt {
    margin-top: 16px;
    font-size: 1.4rem;
  }

  html.is-pc-layout .register-code.member-entry .register-code-alt a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
  }

  /* ========== 会員登録の完了（画面の中央に置いた箱を、帯の中のカードにする） ========== */
  html.is-pc-layout .success-inner.member-entry {
    position: static;
    transform: none;
  }

  html.is-pc-layout .success-inner.member-entry > .page-width {
    padding: 0;
  }

  html.is-pc-layout .success-inner.member-entry .success-img {
    width: 88px;
  }

  html.is-pc-layout .success-inner.member-entry .success-txt {
    margin: 24px auto 32px;
    font-size: 2rem;
  }

  /* ========== チュートリアル（カードの中で今のまま送る。1枚を2列: 左に写真、右に文とボタン） ========== */
  html.is-pc-layout .tutorial.member-entry .tutorial-slider {
    box-sizing: border-box;
    width: calc(100% - 80px);
    max-width: 1040px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 16px;
    background-color: #fff;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
  }

  html.is-pc-layout .tutorial.member-entry .tutorial-block {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 1fr auto;
  }

  html.is-pc-layout .tutorial.member-entry .tutorial-img {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  html.is-pc-layout .tutorial.member-entry .tutorial-img img {
    display: block;
    height: 100%;
  }

  html.is-pc-layout .tutorial.member-entry .tutorial-info {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    padding: 48px 48px 0;
  }

  html.is-pc-layout .tutorial.member-entry .tutorial-ttl {
    margin: 0 0 16px;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.4;
  }

  html.is-pc-layout .tutorial.member-entry .tutorial-txt {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.8;
  }

  html.is-pc-layout .tutorial.member-entry .tutorial-btn {
    grid-column: 2;
    grid-row: 2;
    margin-top: 0;
    padding: 32px 48px 48px;
  }

  /* 次へ（丸いボタンは右下に）。白い矢印の地は #037f72（style.css の #04AB99 は白と 2.9:1 で、アイコンに要る 3:1 に届かない） */
  html.is-pc-layout .tutorial.member-entry .tutorial-next {
    margin: 0 0 0 auto;
    background-color: #037f72;
  }

  html.is-pc-layout .tutorial.member-entry .tutorial-next:hover {
    background-color: #025b52;
  }

  html.is-pc-layout .tutorial.member-entry .tutorial-next:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }
}
/*
 * PC 向けの作り（マイページとその下の画面）。持ち主: マイページの担当。
 * 規則は @media (min-width: 1080px) { html.is-pc-layout … } の中にだけ書く（pc.css の決まり）。
 *
 * - 左に縦のメニュー（幅 260px。<x-front.mypage-nav>）、右に中身（<x-front.mypage-layout> の .mypage-columns）。
 *   入力のある画面は、右の中身を最大 720px にする。見出しは左のメニューの上端にそろえ、「< 戻る」は出さない（戻り道はパンくずと左のメニュー）
 * - マイページのトップは、デザイン案（Mypage.dc.html）のとおり、控除上限額のカードの下に「お気に入りの自治体」「メッセージ」のパネル（2列）、
 *   「利用履歴」「レビュー」の準備中のパネル（2列）、「あなたへのおすすめ」（3列）を置く（pages/mypage/partials/pc-panels）。
 *   スマホのメニュー（.mypage-menu）と会員の概要（.user-head）は左のメニューと重なるので隠す
 * - 控除上限額のカード（<x-front.deduction-card>。トップのカードも同じ見た目）は、大きな金額と、カードの中に注記を置く形にする
 * - フォームの部品（主のボタン・入力欄・タグ・select・チェックボックス）は PC 版の決まりの形にし、会員の入口（pc/members.css）とそろえる
 * - 色は案C。#037f72 の文字を #e6f4f2・#f5f5f5 の地に置かない（今いる項目は #151515 の太字と左の線で示す）
 */
@media (min-width: 1080px) {
  /* 骨組み: ヘッダー（とパンくず）の下の .main の余白（40px）だけにし、section の 72px を足さない */
  html.is-pc-layout .mypage-section {
    margin-top: 0;
  }

  html.is-pc-layout .mypage-columns {
    display: flex;
    align-items: flex-start;
    gap: 40px;
  }

  html.is-pc-layout .mypage-body {
    flex: 1 1 auto;
    min-width: 0;
  }

  /* 入力のある画面（基本情報の編集・プロフィールの編集・パスワード・メール・端末・お知らせの設定・退会）は、右の中身を最大 720px にする。
     入力のない一覧の画面（基本情報・プロフィールなど）は、ほかの画面と同じ列の幅（900px）のまま */
  html.is-pc-layout :is(.mypage-account-edit, .mypage-profile-edit, .mypage-password, .mypage-email, .mypage-email-code, .mypage-devices, .mypage-notification, .member-withdraw) .mypage-body {
    max-width: 720px;
  }

  /* 「< 戻る」は出さない（デザイン案。戻り道は見えるパンくずと左のメニューにある）。h1 を左のメニューの上端にそろえる */
  html.is-pc-layout .mypage-body .back-btn {
    display: none;
  }

  html.is-pc-layout .mypage-body .page-ttl {
    margin-bottom: 24px;
  }

  html.is-pc-layout .mypage-body .page-ttl h1 {
    font-size: 3.2rem;
    line-height: 1.4;
  }

  /* 左のメニュー */
  html.is-pc-layout .mypage-side {
    flex: 0 0 260px;
    width: 260px;
  }

  html.is-pc-layout .mypage-side-user {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px;
    border: 1px solid #e3e3e3;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    background: #fff;
  }

  html.is-pc-layout .mypage-side-user img {
    display: block;
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
  }

  html.is-pc-layout .mypage-side-name {
    min-width: 0;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  /* 上の辺は描かない（会員の概要との区切りは、最初の項目の border-top の 1px だけ） */
  html.is-pc-layout .mypage-side-menu {
    border: 1px solid #e3e3e3;
    border-top: 0;
    border-radius: 0 0 12px 12px;
    background: #fff;
    overflow: hidden;
  }

  html.is-pc-layout .mypage-side-menu li {
    border-top: 1px solid #e3e3e3;
  }

  html.is-pc-layout .mypage-side-menu a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 48px;
    box-sizing: border-box;
    padding: 12px 40px 12px 20px;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.4;
    color: #151515;
  }

  /* 右の山形（飾り） */
  html.is-pc-layout .mypage-side-menu a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #707070;
    border-right: 2px solid #707070;
    transform: translateY(-50%) rotate(45deg);
  }

  html.is-pc-layout .mypage-side-menu a:hover .mypage-side-label {
    text-decoration: underline;
  }

  /* 今いる画面（とその下の画面）の項目 */
  html.is-pc-layout .mypage-side-menu a[aria-current] {
    padding-left: 16px;
    border-left: 4px solid #037f72;
    background: #e6f4f2;
    font-weight: 700;
  }

  html.is-pc-layout .mypage-side-menu a[aria-current]::after {
    border-color: #151515;
  }

  /* 箱の中で切れないよう、枠は内側に描く */
  html.is-pc-layout .mypage-side-menu a:focus-visible {
    outline: 2px solid #151515;
    outline-offset: -2px;
  }

  html.is-pc-layout .mypage-side-unread {
    flex-shrink: 0;
    min-width: 22px;
    height: 22px;
    box-sizing: border-box;
    padding: 0 6px;
    border-radius: 999px;
    background: #037f72;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 22px;
    color: #fff;
    text-align: center;
  }

  /* ログアウトとアカウントの削除（メニューの箱の下） */
  html.is-pc-layout .mypage-side-account {
    margin-top: 16px;
  }

  /* 画面ごとの CSS（例 .member-withdraw form の上の余白）が左のメニューに効かないようにする */
  html.is-pc-layout .mypage-side-account form {
    margin: 0;
  }

  html.is-pc-layout .mypage-side-logout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    margin: 0;
    padding: 0 20px;
    border: 1px solid #b1b1b1;
    border-radius: 999px;
    background: #fff;
    font-family: inherit;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
    color: #151515;
    cursor: pointer;
  }

  html.is-pc-layout .mypage-side-logout:hover {
    border-color: #151515;
  }

  html.is-pc-layout .mypage-side-logout svg {
    flex-shrink: 0;
  }

  html.is-pc-layout .mypage-side-withdraw {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    margin-top: 4px;
    font-size: 1.3rem;
    color: #707070;
    text-decoration: underline;
  }

  html.is-pc-layout .mypage-side-withdraw[aria-current] {
    font-weight: 700;
    color: #151515;
  }

  html.is-pc-layout :is(.mypage-side-logout, .mypage-side-withdraw):focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* マイページのトップ: 会員の概要は左のメニューに出すので、右では出さない */
  html.is-pc-layout .mypage-top .user-head {
    display: none;
  }

  /* マイページのトップ: スマホのメニュー（.mypage-menu）は Blade が .sp-only を付けて PC の幅で隠す。代わりにデザイン案のパネル */
  html.is-pc-layout .mypage-top-panels,
  html.is-pc-layout .mypage-top-pending {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 32px;
  }

  html.is-pc-layout .mypage-top-pending {
    margin-top: 24px;
  }

  html.is-pc-layout .mypage-panel {
    display: flex;
    flex-direction: column;
    min-width: 0;
    box-sizing: border-box;
    padding: 24px;
    border: 1px solid #e3e3e3;
    border-radius: 12px;
    background: #fff;
  }

  html.is-pc-layout .mypage-panel-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
  }

  html.is-pc-layout .mypage-panel-icon {
    display: block;
    flex-shrink: 0;
    color: #037f72;
  }

  html.is-pc-layout .mypage-panel-ttl {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
  }

  html.is-pc-layout .mypage-panel-list {
    border-bottom: 1px solid #e3e3e3;
  }

  html.is-pc-layout .mypage-panel-list > li {
    border-top: 1px solid #e3e3e3;
  }

  html.is-pc-layout .mypage-panel-empty {
    padding: 16px 0;
    border-top: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
    font-size: 1.4rem;
    line-height: 1.7;
  }

  /* 「全て見る」（パネルの右下）と「あなたへのおすすめ」の「全て見る」（右上）: デザイン案の枠のボタン（白・丸・1px #b1b1b1・高さ 40px） */
  html.is-pc-layout .mypage-panel-more {
    display: flex;
    justify-content: flex-end;
    margin-top: auto;
    padding-top: 20px;
  }

  html.is-pc-layout .mypage-more-btn {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 6px;
    height: 40px;
    box-sizing: border-box;
    padding: 0 16px 0 20px;
    border: 1px solid #b1b1b1;
    border-radius: 999px;
    background: #fff;
    font-size: 1.4rem;
    line-height: 1;
    color: #151515;
    white-space: nowrap;
    transition: border-color 0.2s, color 0.2s;
  }

  html.is-pc-layout .mypage-more-btn:hover {
    border-color: #037f72;
    color: #037f72;
  }

  html.is-pc-layout .mypage-more-arrow {
    display: block;
    flex-shrink: 0;
  }

  /* お気に入りの自治体の行（画像 64px・名前・「市町村ページへ」） */
  html.is-pc-layout .mypage-panel-favorite {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 0;
  }

  html.is-pc-layout .mypage-panel-favorite img {
    display: block;
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 8px;
    background-color: #eeeeee;
    object-fit: cover;
  }

  html.is-pc-layout .mypage-panel-name {
    flex-grow: 1;
    min-width: 0;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  /* 都道府県と市区町村（非公開の注記は「現在は」と「公開していません」）の切れ目で折り返す。
     注記の語は折らない（注記の最小の幅を「公開していません」の幅にし、残りを名前に回す） */
  html.is-pc-layout :is(.mypage-panel-name, .mypage-panel-note) > span {
    display: inline-block;
  }

  html.is-pc-layout .mypage-panel-note > span {
    white-space: nowrap;
  }

  html.is-pc-layout .mypage-panel-link {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 4px;
    height: 40px;
    font-size: 1.4rem;
    color: #151515;
  }

  html.is-pc-layout .mypage-panel-link .mypage-more-arrow {
    color: #707070;
  }

  html.is-pc-layout .mypage-panel-link:hover {
    color: #037f72;
    text-decoration: underline;
  }

  html.is-pc-layout .mypage-panel-note {
    font-size: 1.3rem;
    line-height: 1.5;
    color: #707070;
    text-align: right;
  }

  /* メッセージの行（未読の点・送り手・日付・題〔2行で切る〕・右の山形） */
  html.is-pc-layout .mypage-panel-message a {
    position: relative;
    display: block;
    padding: 14px 26px 14px 20px;
    color: #151515;
  }

  html.is-pc-layout .mypage-panel-message a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    transform: translateY(-50%);
  }

  html.is-pc-layout .mypage-panel-message.is-unread a::before {
    background: #037f72;
  }

  html.is-pc-layout .mypage-panel-message a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 6px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #707070;
    border-right: 2px solid #707070;
    transform: translateY(-50%) rotate(45deg);
  }

  html.is-pc-layout .mypage-panel-message .message-head {
    flex-wrap: wrap;
    gap: 6px 10px;
    margin-bottom: 6px;
  }

  html.is-pc-layout .mypage-panel-message .message-head .from {
    min-width: 64px;
    box-sizing: border-box;
    padding: 4px 8px;
    font-weight: 700;
    line-height: 1.2;
  }

  html.is-pc-layout .mypage-panel-message .message-head .date {
    line-height: 1.2;
  }

  html.is-pc-layout .mypage-panel-message-ttl {
    display: -webkit-box;
    overflow: hidden;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  html.is-pc-layout .mypage-panel-message a:hover .mypage-panel-message-ttl {
    color: #037f72;
    text-decoration: underline;
  }

  /* 準備中のパネル（灰色の丸のアイコン・見出し・文） */
  html.is-pc-layout .mypage-panel-pending {
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
  }

  html.is-pc-layout .mypage-panel-pending-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #f5f5f5;
  }

  html.is-pc-layout .mypage-panel-pending-icon .mypage-panel-icon {
    color: #707070;
  }

  html.is-pc-layout .mypage-panel-pending-body {
    min-width: 0;
  }

  html.is-pc-layout .mypage-panel-pending-body p {
    margin-top: 2px;
    font-size: 1.4rem;
    line-height: 1.6;
    color: #707070;
  }

  /* あなたへのおすすめ（区切りの線の下。見出しの右上に「全て見る」。お礼品のカードは右の列の幅で3列） */
  html.is-pc-layout .mypage-recommend {
    margin-top: 56px;
    padding-top: 48px;
    border-top: 1px solid #cecece;
  }

  html.is-pc-layout .mypage-recommend-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
  }

  html.is-pc-layout .mypage-recommend-head .section-ttl {
    min-width: 0;
    margin-bottom: 0;
  }

  html.is-pc-layout .mypage-recommend .card-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  html.is-pc-layout :is(.mypage-panel-link, .mypage-panel-message a):focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* 控除上限額のカード（マイページのトップと、トップのログイン中のカード）。
     カードの下の角は、すぐ後の注記（.limit-att）が受け持つ（カードと注記を1つの緑の箱に見せる。下の注記の規則） */
  html.is-pc-layout .deduction-card {
    padding: 28px 28px 12px;
    border-radius: 12px 12px 0 0;
  }

  html.is-pc-layout .deduction-card .qrpay-price-head {
    align-items: flex-start;
    gap: 16px;
  }

  html.is-pc-layout .deduction-card .qrpay-price-ttl {
    font-size: 1.4rem;
    line-height: 1.5;
  }

  html.is-pc-layout .deduction-card .qrpay-price-link {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    height: 40px;
    box-sizing: border-box;
    padding: 0 30px 0 14px;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1;
  }

  html.is-pc-layout .deduction-card .qrpay-price-link:before {
    right: 14px;
    width: 6px;
    height: 6px;
    border-top-width: 2px;
    border-right-width: 2px;
  }

  html.is-pc-layout .deduction-card .limit-price {
    justify-content: flex-start;
    margin-top: 0;
  }

  html.is-pc-layout .deduction-card .now-price {
    font-size: 4rem;
    line-height: 1.2;
  }

  html.is-pc-layout .deduction-card .now-price .small {
    margin-left: 4px;
    font-size: 1.8rem;
  }

  html.is-pc-layout .deduction-card-empty {
    margin-top: 8px;
    text-align: left;
  }

  html.is-pc-layout .deduction-card-empty a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    font-size: 1.8rem;
  }

  /* 注記（カードのすぐ後の p）は、同じ #037f72 の地を付けてカードの下の部分に見せる。地は注記の行の数だけ伸びるので、
     折り返しても（狭い列・文字の拡大・文字の間隔の変更）白い字が白い地に乗らない。白い字と地の #037f72 の比は 4.90 */
  html.is-pc-layout .deduction-card + .limit-att {
    margin: 0;
    padding: 0 28px 28px;
    border-radius: 0 0 12px 12px;
    background-color: #037f72;
    font-size: 1.2rem;
    line-height: 1.6;
    color: #fff;
    text-align: left;
  }

  /* ========== フォームの部品（PC 版の決まりの形。会員の入口〔pc/members.css の .member-entry〕と同じ形にそろえる） ========== */
  /* .mypage-section はスイッチが入のときだけ <x-front.mypage-layout> が付ける（マイページとその下の画面すべて） */

  /* 主のボタン（緑・丸・高さ 52px・16px）。幅は文字に合わせ、中央に置く */
  html.is-pc-layout .mypage-section .main-btn {
    width: fit-content;
    min-width: 240px;
    max-width: none;
    height: 52px;
    box-sizing: border-box;
    padding: 0 40px;
    border: 0;
    font-size: 1.6rem;
  }

  html.is-pc-layout .mypage-section .main-btn:not(.cancel-btn):not(:disabled):hover {
    background-color: #025b52;
  }

  html.is-pc-layout .mypage-section .main-btn:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  /* 基本情報・プロフィールの「戻る」「編集」の2つ並び: 「戻る」は出さず（見出しの上の「< 戻る」と同じく、戻り道はパンくずと左のメニュー）、
     「編集」をほかの主のボタンと同じ幅・中央に置く */
  html.is-pc-layout .mypage-section .flex-btn {
    justify-content: center;
    margin-top: 40px;
  }

  html.is-pc-layout .mypage-section .flex-btn .main-btn {
    margin: 0;
  }

  html.is-pc-layout .mypage-section .flex-btn .cancel-btn {
    display: none;
  }

  html.is-pc-layout .mypage-section .form-btn {
    margin-top: 40px;
  }

  /* 読む画面の下のボタン（お気に入りが0件・準備中の受け皿・控除上限額シミュレーション）: ボタンを文と同じ左端に置く。
     中央に置くのは、入力の欄や登録した情報の下で、それを確定・編集するボタン（「完了」「編集」）だけ */
  html.is-pc-layout :is(.mypage-favorite, .mypage-pending, .mypage-simulation) .form-btn .main-btn {
    margin-left: 0;
  }

  /* 項目名（14px の太字。#151515） */
  html.is-pc-layout .mypage-section .input-label {
    display: block;
    margin: 24px 0 8px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    color: #151515;
  }

  html.is-pc-layout .mypage-section form > input[type="hidden"] + .input-label {
    margin-top: 0;
  }

  /* 入力欄（角丸 10px・1px #8c8c8c・高さ 48px の箱。下線と鉛筆の飾りは出さない） */
  html.is-pc-layout .mypage-section .account-input {
    box-sizing: border-box;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid #8c8c8c;
    border-radius: 10px;
    background-color: #fff;
  }

  html.is-pc-layout .mypage-section .account-input::before {
    display: none;
  }

  html.is-pc-layout .mypage-section .account-input input {
    height: 46px;
    font-size: 1.6rem;
  }

  /* フォーカスの枠は箱に付ける（欄の中の枠は消す） */
  html.is-pc-layout .mypage-section .account-input input:focus-visible {
    outline: none;
  }

  html.is-pc-layout .mypage-section .account-input:has(input:focus-visible) {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }

  html.is-pc-layout .mypage-section .account-input:has([aria-invalid="true"]) {
    border-color: #D50000;
  }

  /* パスワードの表示の切り替え（箱の右の端。押せる大きさ 44 × 40px） */
  html.is-pc-layout .mypage-section .pass-input {
    padding-right: 4px;
  }

  html.is-pc-layout .mypage-section .toggle-password {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 40px;
    border-radius: 8px;
  }

  html.is-pc-layout .mypage-section .toggle-password:hover {
    background-color: #f5f5f5;
  }

  html.is-pc-layout .mypage-section .toggle-password:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 0;
  }

  /* チェックボックス（押せる高さ 40px。箱は 21px のまま） */
  html.is-pc-layout :is(.mypage-notification, .member-withdraw) .checkbox {
    min-height: 40px;
    font-size: 1.5rem;
  }

  /* 基本情報の編集: 「基本情報 *必須」の見出しと、姓・名・セイ・メイの2つ並び（項目名は箱の中の左） */
  html.is-pc-layout .mypage-account-edit .input-ttl {
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom-color: #e3e3e3;
    font-size: 1.5rem;
    font-weight: 700;
  }

  html.is-pc-layout .mypage-account-edit .input-flex {
    gap: 16px;
    margin-top: 12px;
  }

  html.is-pc-layout .mypage-account-edit .input-flex .account-input {
    width: calc((100% - 16px) / 2);
  }

  html.is-pc-layout .mypage-account-edit .account-input > span {
    flex-shrink: 0;
    width: 4rem;
    font-size: 1.3rem;
  }

  html.is-pc-layout .mypage-account-edit .input-flex .flex-input {
    width: calc(100% - 4rem);
  }

  /* 基本情報: 行の「変更する」（押せる高さ 40px） */
  html.is-pc-layout .mypage-account .mypage-account-change {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
  }

  /* メールアドレスの変更のコード: 5つの欄（64 × 72px の箱）。「変更する」を画面の下の位置（スマホの .new-btn）ではなく、文の流れに置く */
  html.is-pc-layout .mypage-email-code .code-block {
    margin-top: 0;
  }

  html.is-pc-layout .mypage-email-code .code-block > p:first-child {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  html.is-pc-layout .mypage-email-code .code-flex {
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
  }

  html.is-pc-layout .mypage-email-code .code-input {
    width: 64px;
    height: 72px;
    aspect-ratio: auto;
    border-color: #8c8c8c;
    border-radius: 10px;
  }

  html.is-pc-layout .mypage-email-code .code-input:has([aria-invalid="true"]) {
    border-color: #D50000;
  }

  html.is-pc-layout .mypage-email-code .new-btn {
    position: static;
    margin-top: 40px;
  }

  html.is-pc-layout .mypage-email-code .register-code-more {
    margin-top: 32px;
    padding: 24px 0 0;
    border-top: 1px solid #e3e3e3;
  }

  html.is-pc-layout .mypage-email-code .register-code-resend-btn {
    min-height: 40px;
    font-size: 1.5rem;
  }

  /* メールが届かないときの案内の、携帯電話会社ごとのリンク（1行に1つ。押せる高さ 40px） */
  html.is-pc-layout .mypage-email-code .mail-guide-carriers a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
  }

  /* プロフィール: 興味のタグは高さ 40px の丸いピル（PC 版の決まりのタグ。アイコンは左 12px） */
  html.is-pc-layout :is(.mypage-profile, .mypage-profile-edit) .tag-list {
    gap: 12px 8px;
  }

  html.is-pc-layout :is(.mypage-profile, .mypage-profile-edit) .tag-item span {
    display: flex;
    align-items: center;
    height: 40px;
    box-sizing: border-box;
    padding: 0 16px 0 40px;
    font-size: 1.4rem;
  }

  html.is-pc-layout :is(.mypage-profile, .mypage-profile-edit) .tag-item span::before {
    left: 12px;
  }

  html.is-pc-layout .mypage-profile-edit #profile-tag-choices .tag-item input:not(:checked) + span:hover {
    border-color: #037f72;
  }

  /* プロフィールの編集: 興味のタグの検索欄は、ニックネームの欄と同じ高さ 48px（検索のシートの詳細検索の欄とも同じ） */
  html.is-pc-layout .mypage-profile-edit .search-input input {
    height: 48px;
    padding-top: 0;
    padding-bottom: 0;
  }

  /* プロフィールの編集: 「人気のタグ」はフォームの中の小見出し（18px。検索のシートの「人気のタグ」とそろえる。
     pc/common.css のセクションの見出しの 26px にしない） */
  html.is-pc-layout .mypage-profile-edit .section-ttl {
    margin: 24px 0 12px;
  }

  html.is-pc-layout .mypage-profile-edit .section-ttl h2 {
    font-size: 1.8rem;
    line-height: 1.3;
  }

  /* ログイン中の端末: 端末ごとの「ログアウト」（押せる高さ 40px） */
  html.is-pc-layout .mypage-devices .mypage-devices-revoke button {
    min-height: 40px;
    padding: 0 16px;
  }

  /* 控除上限額シミュレーション: 結果の削除（リンクの見た目のボタン。押せる高さ 40px） */
  html.is-pc-layout .mypage-simulation .simulation-saved-delete {
    margin-top: 4px;
  }

  html.is-pc-layout .mypage-simulation .simulation-saved-delete button {
    min-height: 40px;
  }

  /* メッセージの詳細: 本文のリンクは下線で見分けられるようにする */
  html.is-pc-layout .mypage-message-detail .content a {
    text-decoration: underline;
  }

  /* メッセージ: タブ（高さ 52px。お礼品の詳細のタブと同じ）・件数（14px）・並べ替え（PC 版の決まりの select。180 × 44px） */
  html.is-pc-layout .mypage-message .tab-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    box-sizing: border-box;
    padding: 0 12px;
  }

  html.is-pc-layout .mypage-message .result-flex {
    gap: 16px;
    margin-bottom: 24px;
  }

  html.is-pc-layout .mypage-message .result-txt {
    font-size: 1.4rem;
  }

  /* 並べ替え: 検索結果・近くで探す（pc/search.css）、自治体の一覧・自治体のページ（pc/area.css）と同じ形。
     右の矢印は 14px の #151515・線 2.4 の山形（デザイン案の select の矢印） */
  html.is-pc-layout .mypage-message .select-sort {
    -webkit-appearance: none;
    appearance: none;
    width: 180px;
    height: 44px;
    box-sizing: border-box;
    padding: 0 40px 0 14px;
    border: 1px solid #8c8c8c;
    border-radius: 10px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 14px 14px;
    font-size: 1.4rem;
    color: #151515;
    cursor: pointer;
  }

  html.is-pc-layout .mypage-message .select-sort:focus-visible {
    outline: 2px solid #151515;
    outline-offset: 2px;
  }
}
