:root {
  --color_base: #FAFAFA;
  --color_text: #333333;
  --color_text_light: #fafafa;
  --color_text_primary: #666666;
  --color_text_secondary: #777777;
  --color_text_tertiary: #999999;
  --color_border_darker: #AAAAAA;
  --color_border_dark: #BABABA;
  --color_border: #CACACA;
  --color_border_light: #DADADA;
  --color_border_lighter: #EAEAEA;
  --color_black: #000000;
  --color_black_rgb: 0, 0, 0;
  --color_gray_1: #171717;
  --color_gray_2: #2E2E2E;
  --color_gray_3: #454545;
  --color_gray_4: #5C5C5C;
  --color_gray_5: #737373;
  --color_gray_6: #8A8A8A;
  --color_gray_7: #A1A1A1;
  --color_gray_8: #B9B9B9;
  --color_gray_9: #D0D0D0;
  --color_gray_10: #E7E7E7;
  --color_white: #FFFFFF;
  --color_white_rgb: 255, 255, 255;
  --color_primary_darker: #1A2D46;
  --color_primary_dark: #223A5E;
  --color_primary: #2A4875;
  --color_primary_light: #355A92;
  --color_primary_lighter: #4170AF;
  --color_secondary_darker: #35638F;
  --color_secondary_dark: #5489BA;
  --color_secondary: #5489BA;
  --color_secondary_light: #6CA0CF;
  --color_secondary_lighter: #8FB8E8;
  --color_tertiary_darker: #5D9299;
  --color_tertiary_dark: #6DAAB3;
  --color_tertiary: #80C8D1;
  --color_tertiary_light: #92CAD1;
  --color_tertiary_lighter: #A7CCD1;
  --color_warning_darker: #B28E1A;
  --color_warning_dark: #D9B026;
  --color_warning: #F4C631;
  --color_warning_light: #F5D13D;
  --color_warning_lighter: #F6DD4A;
  --color_success_darker: #4B6E3A;
  --color_success_dark: #5C9642;
  --color_success: #70AA55;
  --color_success_light: #7AB45E;
  --color_success_lighter: #84BE68;
  --color_error_darker: #8C2619;
  --color_error_dark: #A72E1F;
  --color_error: #BD3726;
  --color_error_light: #C74638;
  --color_error_lighter: #D0544A;
  --color_tommyBlue: #00174f;
  --color_tommyRed: #CC0C2F;
  --color_pricelist: #D4DCD6;
  --color_pricelist_rgb: 212, 220, 214;
  --color_shopping_kwn: #AAA7D0;
  --color_shopping_kwn_rgb: 170, 167, 208;
  --color_shopping_ngt: #FDDEA5;
  --color_shopping_ngt_rgb: 253, 222, 165;
  --color_mylink: #E8D3D1;
  --color_theme_base: #E4E4E4;
  --color_theme_main1: #192C3C;
  --color_theme_main2: #2C867A;
  --color_theme_accent: #BF2C2C;
  --color_theme_5: #CC8C58;
  --z_index_cover: 300
}

.fs-xxl {
  font-size: 28px
}

.fs-xxl ::placeholder {
  font-size: 28px
}

.fs-xl {
  font-size: 24px
}

.fs-xl ::placeholder {
  font-size: 24px
}

.fs-l {
  font-size: 20px
}

.fs-l ::placeholder {
  font-size: 20px
}

.fs-m {
  font-size: 18px
}

.fs-m ::placeholder {
  font-size: 18px
}

.fs-s {
  font-size: 12px
}

.fs-s ::placeholder {
  font-size: 12px
}

.fs-xs {
  font-size: 10px
}

.fs-xs ::placeholder {
  font-size: 10px
}

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent
}

body {
  margin: 0
}

main {
  display: block
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0
}

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

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none
}

dt {
  font-weight: 700
}

dd {
  margin-left: 0
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit
}

pre {
  font-family: monospace, monospace;
  font-size: inherit
}

address {
  font-style: inherit
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit
}

abbr[title] {
  text-decoration: underline dotted
}

b,
strong {
  font-weight: bolder
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit
}

small {
  font-size: 80%
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -0.25em
}

sup {
  top: -0.5em
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer
}

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

:-moz-focusring {
  outline: auto
}

select:disabled {
  opacity: inherit
}

option {
  padding: 0
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0
}

legend {
  padding: 0
}

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

label[for] {
  cursor: pointer
}

details {
  display: block
}

summary {
  display: list-item
}

[contenteditable]:focus {
  outline: auto
}

table {
  border-color: inherit;
  border-collapse: collapse
}

caption {
  text-align: left
}

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

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

.kd-modal_headline,
.kd-dialog_headline,
.kd-bottomSheet_headline,
.kd-navDrawer_headline {
  display: flex;
  align-items: center;
  text-align: center;
  min-height: 40px;
  padding: 0 4px;
  color: var(--color_text_primary)
}

.kd-modal_headline .kd-modal_title,
.kd-modal_headline .kd-dialog_title,
.kd-modal_headline .kd-bottomSheet_title,
.kd-modal_headline .kd-navDrawer_title,
.kd-dialog_headline .kd-modal_title,
.kd-dialog_headline .kd-dialog_title,
.kd-dialog_headline .kd-bottomSheet_title,
.kd-dialog_headline .kd-navDrawer_title,
.kd-bottomSheet_headline .kd-modal_title,
.kd-bottomSheet_headline .kd-dialog_title,
.kd-bottomSheet_headline .kd-bottomSheet_title,
.kd-bottomSheet_headline .kd-navDrawer_title,
.kd-navDrawer_headline .kd-modal_title,
.kd-navDrawer_headline .kd-dialog_title,
.kd-navDrawer_headline .kd-bottomSheet_title,
.kd-navDrawer_headline .kd-navDrawer_title {
  margin: 0 auto
}

.kd-dialog_headline {
  border-bottom: 1px solid var(--color_border_light)
}

.kd-modal,
.kd-modal_top {
  opacity: 1;
  visibility: visible;
  position: fixed;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 95vw;
  max-width: 480px;
  min-height: 160px;
  padding: 8px;
  border-radius: 8px;
  background-color: var(--color_base);
  z-index: var(--z_index_cover)
}

.kd-modal_top {
  inset: 20px auto auto 50%;
  translate: -50% 0
}

.kd-modal.hidden,
.kd-modal_top.hidden {
  opacity: 0;
  visibility: hidden
}

.kd-dialog {
  opacity: 1;
  visibility: visible;
  position: fixed;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 80vw;
  max-width: 480px;
  min-height: 160px;
  padding: 8px;
  border-radius: 8px;
  background-color: var(--color_base);
  z-index: var(--z_index_cover)
}

.kd-dialog .kd-dialog_container {
  display: grid;
  gap: 8px
}

.kd-dialog .kd-dialog_text {
  padding: 16px 32px
}

.kd-dialog .kd-dialog_btn {
  display: flex;
  justify-content: center;
  text-align: center;
  gap: 32px
}

.kd-dialog .kd-dialog_btn [data-kd*=dialog_cancel],
.kd-dialog .kd-dialog_btn [data-kd*=dialog_ok] {
  min-width: 80px
}

.kd-dialog .kd-dialog_btn [data-kd*=dialog_ok] {
  background-color: var(--color_gray_4);
  color: var(--color_text_light)
}

.kd-dialog.hidden {
  opacity: 0;
  visibility: hidden
}

.kd-bottomSheet {
  position: fixed;
  bottom: 0;
  left: 0;
  transform: translateY(0);
  width: 100vw;
  height: auto;
  min-height: 320px;
  padding: 8px;
  transition: .2s;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  background-color: var(--color_base);
  z-index: var(--z_index_cover)
}

.kd-bottomSheet.hidden {
  position: fixed;
  bottom: 0;
  left: 0;
  transform: translateY(100%)
}

.kd-navDrawer {
  position: fixed;
  top: 0;
  left: 0;
  transform: translateX(0);
  width: 70vw;
  max-width: 480px;
  height: 100vh;
  min-height: 320px;
  padding: 8px;
  border-top-right-radius: 14px;
  border-bottom-right-radius: 14px;
  transition: .2s;
  background-color: var(--color_base);
  z-index: var(--z_index_cover)
}

.kd-navDrawer.hidden {
  position: fixed;
  top: 0;
  left: 0;
  transform: translateX(-100%)
}

.kd-topBar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  border-bottom: 1px solid var(--color_border_lighter);
  background-color: var(--color_base)
}

.kd-topBar .kd-topBar_container {
  min-height: 56px;
  display: grid;
  grid-template-columns: 20% 1fr minmax(20%, auto);
  align-items: center;
  padding: 12px;
  text-align: center
}

.kd-topBar_type1 .kd-topBar_container,
.kd-topBar_type2 .kd-topBar_container {
  gap: 16px
}

.kd-topBar_type1 .kd-topBar_navIcon,
.kd-topBar_type2 .kd-topBar_navIcon {
  margin-right: auto;
  order: 1
}

.kd-topBar_type1 .kd-topBar_navIcon>*,
.kd-topBar_type2 .kd-topBar_navIcon>* {
  display: block
}

.kd-topBar_type1 .kd-topBar_headline,
.kd-topBar_type2 .kd-topBar_headline {
  order: 2
}

.kd-topBar_type1 .kd-topBar_title,
.kd-topBar_type2 .kd-topBar_title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px
}

.kd-topBar_type1 .kd-topBar_interactive,
.kd-topBar_type2 .kd-topBar_interactive {
  margin-left: auto;
  display: flex;
  justify-content: end;
  order: 3
}

.kd-topBar_type2 .kd-topBar_headline {
  text-align: left
}

.kd-topBar_type3 .kd-topBar_container {
  grid-template-columns: auto auto;
  grid-template-rows: repeat(2, 1fr);
  gap: 4px
}

.kd-topBar_type3 .kd-topBar_navIcon {
  margin-right: auto;
  order: 1
}

.kd-topBar_type3 .kd-topBar_headline {
  margin-right: auto;
  order: 3
}

.kd-topBar_type3 .kd-topBar_interactive {
  display: flex;
  margin-left: auto;
  order: 2
}

.kd-navBar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  font-size: 12px;
  background-color: var(--color_base)
}

.kd-navBar .kd-navBar_link {
  display: block;
  padding: 8px 0
}

.kd-navBar .kd-navBar_target,
.kd-navBar .kd-navBar_label {
  display: block;
  text-align: center;
  margin: 0 auto
}

.kd-navBar .kd-navBar_target {
  width: 52px;
  min-width: 52px;
  padding: 0 2px;
  margin-bottom: 4px;
  border-radius: 14px
}

.kd-navBar .kd-navBar_link.active .kd-navBar_target {
  background-color: var(--color_gray_10)
}

.kd-navBar .kd-navBar_link.active .kd-navBar_label {
  font-weight: bold
}

.kd-navBar:has(.kd-navBar_link:first-child:nth-last-child(4), .kd-navBar_link:first-child:nth-last-child(4)~.kd-navBar_link) {
  grid-template-columns: repeat(4, 1fr)
}

.kd-navBar:has(.kd-navBar_link:first-child:nth-last-child(5), .kd-navBar_link:first-child:nth-last-child(5)~.kd-navBar_link) {
  grid-template-columns: repeat(5, 1fr)
}

.kd-scrim {
  opacity: 1;
  visibility: visible;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(var(--color_black_rgb), 0.5);
  transition: .2s;
  cursor: pointer;
  z-index: calc(var(--z_index_cover)-1)
}

.kd-scrim.hidden {
  opacity: 0;
  visibility: hidden;
  transition: .2s
}

[data-kd*=_close] {
  position: relative;
  width: 24px;
  height: 24px
}

[data-kd*=_close]::before,
[data-kd*=_close]::after {
  position: absolute;
  content: "";
  inset: 0;
  margin: auto;
  width: 1.5px;
  height: 100%;
  background-color: var(--color_gray_4);
  border-radius: 3px
}

[data-kd*=_close]::before {
  rotate: 45deg
}

[data-kd*=_close]::after {
  rotate: -45deg
}

.form_group .form_label {
  display: inline-block;
  color: var(--color_text_primary)
}

.form_group .form_control,
.form_group .form_radio,
.form_group .form_check {
  display: block;
  width: 100%
}

.form_group .form_radio,
.form_group .form_check {
  display: flex;
  align-items: center;
  gap: 4px
}

button {
  color: var(--color_text);
  cursor: pointer
}

button:active {
  filter: opacity(30%)
}

input,
label:has(input[type=file]),
textarea,
select {
  display: block;
  border: 1px solid var(--color_border);
  resize: none;
  background-color: var(--color_white)
}

input:not([type=radio], [type=checkbox]),
label:has(input[type=file]),
textarea,
select {
  padding: 4px 8px;
  border-radius: 3px
}

input[type=radio],
input[type=checkbox] {
  position: relative;
  padding: 8px;
  width: 16px;
  height: 16px;
  z-index: -1
}

input[type=radio] {
  border-radius: 50%
}

input[type=checkbox] {
  border-radius: 3px
}

label:has(input[type=radio]),
label:has(input[type=checkbox]) {
  padding: 4px;
  border: 1px solid transparent
}

select {
  background-image: url(../img/caret_down.png);
  background-size: 24px 24px;
  background-position: right;
  background-repeat: no-repeat
}

input:focus,
textarea:focus,
select:focus {
  outline: 2px solid var(--color_border);
  outline-offset: 0;
  background-color: var(--color_white)
}

input:disabled,
textarea:disabled,
select:disabled {
  background-color: var(--color_gray_10);
  color: var(--color_text_primary)
}

input[type=checkbox]:checked {
  background-color: var(--color_gray_4)
}

input[type=radio]:checked:after,
input[type=checkbox]:checked:after {
  position: absolute;
  display: block;
  content: ""
}

input[type=radio]:checked:after {
  inset: 0;
  margin: auto;
  width: 60%;
  height: 60%;
  background-color: var(--color_gray_4);
  border-radius: 50%
}

input[type=checkbox]:checked:after {
  top: 40%;
  left: 50%;
  width: 12px;
  height: 6px;
  border-left: 2px solid var(--color_base);
  border-bottom: 2px solid var(--color_base);
  transform: translate(-50%, -50%) rotate(-50deg)
}

input::placeholder,
textarea::placeholder,
select::placeholder {
  color: var(--color_text_tertiary)
}

input[type=number] {
  text-align: right
}

input[type=file] {
  display: none
}

.form_switch {
  display: flex;
  gap: 16px;
  width: 100%
}

.form_switch .form_switch_control {
  position: relative;
  display: inline-block;
  width: 48px;
  height: 26px;
  z-index: -1
}

.form_switch .form_switch_control input {
  display: none
}

.form_switch .switch_content {
  display: block;
  cursor: pointer;
  position: relative;
  border-radius: 30px;
  height: 100%;
  transition: all .1s .1s;
  overflow: hidden
}

.form_switch .switch_content:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--color_border_darker);
  border-radius: 30px
}

.form_switch .switch_content:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border-radius: 30px;
  transition: all .1s
}

.form_switch .switch_circle {
  display: block;
  position: absolute;
  top: 2px;
  left: 2px;
  width: 22px;
  height: 22px;
  background-color: var(--color_gray_4);
  border-radius: 50%;
  transition: all .1s
}

.form_switch .form_switch_control input:checked~.switch_circle {
  transform: translateX(100%);
  background-color: var(--color_white)
}

.form_switch .form_switch_control input:checked~.switch_content {
  border-color: transparent;
  transition: all 0s
}

.form_switch .form_switch_control input:checked~.switch_content:after {
  background-color: var(--color_gray_4);
  width: 100%
}

.kd-btn {
  padding: 4px 12px;
  border: 1px solid var(--color_border);
  border-radius: 12px
}

.fs-1 {
  font-size: 28px
}

.fs-1 ::placeholder {
  font-size: 28px
}

.fs-2 {
  font-size: 24px
}

.fs-2 ::placeholder {
  font-size: 24px
}

.fs-3 {
  font-size: 20px
}

.fs-3 ::placeholder {
  font-size: 20px
}

.fs-4 {
  font-size: 18px
}

.fs-4 ::placeholder {
  font-size: 18px
}

.fs-5 {
  font-size: 14px
}

.fs-5 ::placeholder {
  font-size: 14px
}

.fs-6 {
  font-size: 10px
}

.fs-6 ::placeholder {
  font-size: 10px
}

body {
  width: 100%;
  line-height: 1.5;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  color: var(--color_text);
  background-color: var(--color_base)
}

img {
  display: inline-block;
  height: auto
}

.w_inner {
  max-width: 768px;
  margin-left: auto;
  margin-right: auto
}

section .inner {
  padding: 36px 8px
}

.ol {
  outline: 1px solid var(--color_border_darker)
}

body.NANAI::after {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.25);
  opacity: .05;
  z-index: -100
}

body.NANAI::after {
  content: url(../img/NANAI.png)
}

.header_drawer .container ul {
  padding: 16px 0
}

.header_drawer .container li a {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 8px
}

.header_drawer .container li:first-child {
  border-bottom: 1px solid var(--color_border)
}

.section_apps .apps {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  row-gap: 16px
}

.section_apps .apps .app {
  width: calc(33% - 8px);
  border: 1px solid var(--color_border);
  border-radius: 16px;
  background-color: var(--color_white)
}

.section_apps .apps .app a {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 12px;
  height: auto;
  padding: 16px
}

.section_calendar {
  min-height: 430px
}

.section_calendar .inner {
  padding: 16px 8px;
  text-align: center
}

.section_calendar .ym {
  display: grid;
  grid-template-columns: 20% 1fr 20%;
  grid-template-rows: 1fr;
  margin-bottom: 16px
}

.section_calendar .ym .prev,
.section_calendar .ym .next {
  background-color: var(--color_border)
}

.section_calendar th {
  height: 24px;
  text-align: center
}

.section_calendar td {
  height: 48px
}

.section_calendar .today {
  background: #f6ad49 !important
}

.section_calendar th:nth-of-type(1),
.section_calendar td:nth-of-type(1) {
  color: red
}

.section_calendar th:nth-of-type(7),
.section_calendar td:nth-of-type(7) {
  color: blue
}

.yen {
  position: relative
}

.yen::after {
  position: absolute;
  content: "円"
}

.required {
  position: relative
}

.required::after {
  position: absolute;
  content: "必須";
  width: auto;
  padding: 0 4px;
  margin-left: 8px;
  text-align: center;
  border: 1px solid var(--color_error);
  background-color: var(--color_error);
  color: var(--color_white);
  border-radius: 3px;
  font-size: 80%
}

.interactive_btn {
  opacity: 0;
  visibility: hidden
}

.interactive_btn.js-checked {
  opacity: 1;
  visibility: visible
}

.bg_primary {
  background-color: var(--color_primary);
  color: var(--color_text_light)
}

.bg_secondary {
  background-color: var(--color_secondary);
  color: var(--color_text_light)
}

.lifelist_navBar .kd-navBar_link {
  background-color: var(--color_theme_main1);
  color: var(--color_text_light)
}

.lifelist_navBar .kd-navBar_link img {
  filter: brightness(0) invert(1)
}

.lifelist_navBar .kd-navBar_link.active img {
  filter: brightness(0)
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100vh;
  background-color: rgba(var(--color_white_rgb), 0.95)
}

.loading.hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 400ms
}

.loading .circle {
  display: block;
  font-size: 8px;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  top: 50%;
  left: 50%;
  text-indent: -9999em;
  animation: load5 1.1s infinite ease;
  transform: translate(-50% -50%)
}

@keyframes load5 {

  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #192c3c, 1.8em -1.8em 0 0em rgba(25, 44, 60, .2), 2.5em 0em 0 0em rgba(25, 44, 60, .2), 1.75em 1.75em 0 0em rgba(25, 44, 60, .2), 0em 2.5em 0 0em rgba(25, 44, 60, .2), -1.8em 1.8em 0 0em rgba(25, 44, 60, .2), -2.6em 0em 0 0em rgba(25, 44, 60, .5), -1.8em -1.8em 0 0em rgba(25, 44, 60, .7)
  }

  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(25, 44, 60, .7), 1.8em -1.8em 0 0em #192c3c, 2.5em 0em 0 0em rgba(25, 44, 60, .2), 1.75em 1.75em 0 0em rgba(25, 44, 60, .2), 0em 2.5em 0 0em rgba(25, 44, 60, .2), -1.8em 1.8em 0 0em rgba(25, 44, 60, .2), -2.6em 0em 0 0em rgba(25, 44, 60, .2), -1.8em -1.8em 0 0em rgba(25, 44, 60, .5)
  }

  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(25, 44, 60, .5), 1.8em -1.8em 0 0em rgba(25, 44, 60, .7), 2.5em 0em 0 0em #192c3c, 1.75em 1.75em 0 0em rgba(25, 44, 60, .2), 0em 2.5em 0 0em rgba(25, 44, 60, .2), -1.8em 1.8em 0 0em rgba(25, 44, 60, .2), -2.6em 0em 0 0em rgba(25, 44, 60, .2), -1.8em -1.8em 0 0em rgba(25, 44, 60, .2)
  }

  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(25, 44, 60, .2), 1.8em -1.8em 0 0em rgba(25, 44, 60, .5), 2.5em 0em 0 0em rgba(25, 44, 60, .7), 1.75em 1.75em 0 0em #192c3c, 0em 2.5em 0 0em rgba(25, 44, 60, .2), -1.8em 1.8em 0 0em rgba(25, 44, 60, .2), -2.6em 0em 0 0em rgba(25, 44, 60, .2), -1.8em -1.8em 0 0em rgba(25, 44, 60, .2)
  }

  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(25, 44, 60, .2), 1.8em -1.8em 0 0em rgba(25, 44, 60, .2), 2.5em 0em 0 0em rgba(25, 44, 60, .5), 1.75em 1.75em 0 0em rgba(25, 44, 60, .7), 0em 2.5em 0 0em #192c3c, -1.8em 1.8em 0 0em rgba(25, 44, 60, .2), -2.6em 0em 0 0em rgba(25, 44, 60, .2), -1.8em -1.8em 0 0em rgba(25, 44, 60, .2)
  }

  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(25, 44, 60, .2), 1.8em -1.8em 0 0em rgba(25, 44, 60, .2), 2.5em 0em 0 0em rgba(25, 44, 60, .2), 1.75em 1.75em 0 0em rgba(25, 44, 60, .5), 0em 2.5em 0 0em rgba(25, 44, 60, .7), -1.8em 1.8em 0 0em #192c3c, -2.6em 0em 0 0em rgba(25, 44, 60, .2), -1.8em -1.8em 0 0em rgba(25, 44, 60, .2)
  }

  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(25, 44, 60, .2), 1.8em -1.8em 0 0em rgba(25, 44, 60, .2), 2.5em 0em 0 0em rgba(25, 44, 60, .2), 1.75em 1.75em 0 0em rgba(25, 44, 60, .2), 0em 2.5em 0 0em rgba(25, 44, 60, .5), -1.8em 1.8em 0 0em rgba(25, 44, 60, .7), -2.6em 0em 0 0em #192c3c, -1.8em -1.8em 0 0em rgba(25, 44, 60, .2)
  }

  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(25, 44, 60, .2), 1.8em -1.8em 0 0em rgba(25, 44, 60, .2), 2.5em 0em 0 0em rgba(25, 44, 60, .2), 1.75em 1.75em 0 0em rgba(25, 44, 60, .2), 0em 2.5em 0 0em rgba(25, 44, 60, .2), -1.8em 1.8em 0 0em rgba(25, 44, 60, .5), -2.6em 0em 0 0em rgba(25, 44, 60, .7), -1.8em -1.8em 0 0em #192c3c
  }
}

body.shopping_kwn::after,
body.shopping_ngt::after {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(2);
  opacity: .05;
  z-index: -100
}

body.shopping_kwn::after {
  content: url(../img/snoopy.png)
}

body.shopping_ngt::after {
  content: url(../img/pets.png)
}

.section_lifelist .updates .title {
  padding: 4px 0
}

.section_lifelist .updates .update {
  padding: 8px
}

.section_lifelist .updates ul {
  display: grid;
  gap: 4px
}

.section_lifelist .updates ul li {
  display: flex;
  justify-content: space-between
}

.section_lifelist .updates .update+.update {
  margin-top: 24px
}

.section_lifelist .updates .empty {
  display: flex;
  align-items: center;
  justify-content: center
}

.section_pricelist .categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  row-gap: 16px
}

.section_pricelist .categories .category {
  width: calc(50% - 8px);
  border: 1px solid var(--color_border);
  border-radius: 16px;
  background-color: var(--color_white)
}

.section_pricelist .categories .category a {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 12px;
  height: auto;
  padding: 16px
}

.section_pricelist .categories .category:last-child {
  width: 100%
}

.section_pricelist .categories .category:last-child a {
  justify-content: center
}

.section_calc .calc_open {
  position: fixed;
  bottom: 88px;
  right: 24px;
  padding: 16px;
  background-color: var(--color_theme_main1);
  border-radius: 12px;
  color: var(--color_text_light)
}

.section_calc .calc_open img {
  filter: brightness(0) invert(1)
}

.section_calc .calc_form {
  display: grid;
  justify-content: space-between;
  align-items: center;
  grid-template-columns: minmax(48px, 0.35fr) minmax(120px, 1fr) auto .8fr;
  grid-template-rows: repeat(2, 40px);
  padding: 16px 8px;
  gap: 8px
}

.section_calc .calc_form .form_group {
  display: grid;
  justify-content: space-between;
  align-items: center;
  grid-template-columns: .4fr 1fr;
  gap: 8px
}

.section_calc .calc_btn {
  border-top: 1px solid var(--color_border_light);
  display: flex;
  justify-content: center;
  gap: 32px;
  padding: 16px
}

.section_calc .calc_form>*:nth-child(1) {
  grid-area: 1/1/3/2
}

.section_calc .calc_form>*:nth-child(2) {
  grid-area: 1/2/2/3
}

.section_calc .calc_form>*:nth-child(3) {
  grid-area: 2/2/3/3
}

.section_calc .calc_form>*:nth-child(4) {
  grid-area: 1/3/3/4
}

.section_calc .calc_form>*:nth-child(5) {
  grid-area: 1/4/3/5;
  text-align: center;
  min-height: 37px;
  border-bottom: 1px solid var(--color_border_darker);
  padding-right: 12px
}

.section_calc .yen::before {
  position: absolute;
  content: attr(data-text);
  font-size: 50%;
  top: -20px;
  left: 0
}

.section_calc .yen::after {
  font-size: 70%;
  bottom: 0;
  right: 0
}

.section_priceForm .priceForm {
  display: grid;
  gap: 12px
}

.section_priceForm .form_group {
  display: flex
}

.section_priceForm .form_group .form_label {
  width: 120px;
  color: var(--color_text_primary)
}

.section_priceForm .form_group .form_control {
  width: calc(100% - 120px);
  white-space: pre-wrap
}

.section_priceForm .valid {
  color: var(--color_error)
}

.section_priceForm .form_img {
  width: 100%;
  max-height: 240px;
  object-fit: contain
}

.section_priceForm .form_img label {
  display: grid;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 240px;
  padding: 0;
  margin: -1px;
  background-color: var(--color_border_lighter);
  border: none
}

.section_priceForm .form_img .preview_lead {
  display: flex;
  align-items: center;
  gap: 4px
}

.section_priceForm .form_img .preview>img {
  width: 100%;
  height: 240px;
  border-radius: 3px
}

.section_priceForm .form_price input::placeholder {
  text-align: right
}

.section_priceForm .form_capacity .wrap {
  display: flex;
  gap: 4px;
  width: calc(100% - 120px)
}

.section_priceForm .form_shopping {
  display: flex
}

.section_priceForm .form_shopping .form_check {
  width: calc((100% - 120px)/2)
}

.section_priceForm .form_shopping .form_check+.form_check {
  margin-left: 4px
}

.section_priceControl .priceControl_info {
  padding: 12px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between
}

.section_priceControl .priceControl_info .priceshopping_relation_btn {
  opacity: 0;
  visibility: hidden
}

.section_priceControl .priceControl_info .priceshopping_relation_btn.js-checked {
  opacity: 1;
  visibility: visible
}

.section_priceControl .priceControl_info .bottomSheet_btn span.active::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  transform: translateX(-10px);
  background-color: var(--color_tommyRed);
  border-radius: 3px;
  z-index: -1
}

.section_priceControl .priceControl_container {
  padding: 8px 0
}

.section_priceControl .priceControl_filter {
  display: grid;
  gap: 20px
}

.section_priceControl .priceControl_filter_links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 4px
}

.section_priceControl .priceControl_reset {
  text-align: center
}

.section_priceCatalog .inner {
  padding: 0 0 180px
}

.section_priceCatalog .empty {
  padding: 80px 0;
  text-align: center
}

.section_priceCatalog .empty .text {
  margin-bottom: 16px
}

.section_priceCatalog .catalogs {
  display: flex;
  flex-wrap: wrap
}

.section_priceCatalog .catalog {
  width: 50%;
  border: .5px solid var(--color_border)
}

.section_priceCatalog .catalog .wrap:not(:nth-child(1), :nth-child(2)) {
  padding: 2px
}

.section_priceCatalog .catalog>*:nth-child(1) {
  display: flex;
  align-items: center
}

.section_priceCatalog .catalog>*:nth-child(1) .listLabel {
  display: block;
  width: 28px;
  height: 28px;
  margin-left: auto;
  cursor: pointer;
  border-top: 1.5px solid var(--color_border);
  border-right: 1.5px solid var(--color_border);
  border-bottom: 2px solid var(--color_border);
  border-left: 2px solid var(--color_border);
  border-radius: 1px;
  background-color: rgba(var(--color_white_rgb), 0.9)
}

.section_priceCatalog .catalog>*:nth-child(1) .listLabel::after {
  border: none
}

.section_priceCatalog .catalog>*:nth-child(1) .listLabel.js-checked {
  background-color: var(--color_gray_6)
}

.section_priceCatalog .catalog>*:nth-child(1) .listLabel.js-checked::after {
  content: "";
  display: block;
  top: 40%;
  left: 50%;
  width: 20px;
  height: 10px;
  border-left: 2px solid var(--color_base);
  border-bottom: 2px solid var(--color_base);
  transform: translate(20%, 50%) rotate(-45deg)
}

.section_priceCatalog .catalog>*:nth-child(2) img {
  width: 100%;
  height: 160px;
  object-fit: cover
}

.section_priceCatalog .catalog>*:nth-child(3) {
  display: flex;
  justify-content: space-between
}

.section_priceCatalog .catalog>*:nth-child(4) {
  min-height: 50px
}

.section_priceCatalog .catalog>*:nth-child(5) {
  opacity: 1
}

.section_priceCatalog .catalog>*:nth-child(6) {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 16px
}

.section_priceCatalog .catalog_modal .container {
  padding-bottom: 16px;
  display: flex;
  justify-content: center;
  column-gap: 16px;
  row-gap: 32px;
  flex-wrap: wrap
}

.section_priceCatalog .catalog_modal .name {
  width: 100%;
  text-align: center
}

.section_priceCatalog .catalog_modal .delete,
.section_priceCatalog .catalog_modal .update,
.section_priceCatalog .catalog_modal .detail {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  height: 56px;
  width: calc(40% - 8px)
}

.section_priceCatalog .catalog_modal .detail {
  width: calc(80% + 8px)
}

.section_priceCatalog .catalog_modal .update>img,
.section_priceCatalog .catalog_modal .detail>img {
  filter: brightness(0) invert(1)
}

.section_priceDetail .details {
  display: grid;
  gap: 12px
}

.section_priceDetail .row {
  display: flex
}

.section_priceDetail .row .label {
  width: 120px;
  color: var(--color_text_primary)
}

.section_priceDetail .row .content {
  width: 100%;
  white-space: pre-wrap
}

.section_priceDetail .row:has(img) {
  justify-content: center;
  width: auto;
  max-height: 240px
}

.section_priceDetail .row:has(img) img {
  width: 100%;
  object-fit: contain;
  border-radius: 3px
}

.section_shopping .shoppings {
  display: grid;
  gap: 8px;
  margin-bottom: 100px
}

.section_shopping .shopping {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4px;
  border: 1px solid var(--color_border);
  border-radius: 3px;
  padding: 8px;
  background-color: var(--color_white)
}

.section_shopping .shopping.rel_pricelist::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  transform: translate(-4px, -16px);
  background-color: var(--color_tommyRed);
  border-radius: 3px
}

.section_shopping .text {
  width: 100%
}

.section_shopping .listLabel {
  display: block;
  width: 28px;
  height: 28px;
  margin-left: auto;
  cursor: pointer;
  border: 1px solid var(--color_border);
  border-radius: 3px;
  background-color: rgba(var(--color_white_rgb), 0.9)
}

.section_shopping .listLabel::after {
  border: none
}

.section_shopping .listLabel.js-checked {
  background-color: var(--color_gray_6)
}

.section_shopping .listLabel.js-checked::after {
  content: "";
  display: block;
  top: 40%;
  left: 50%;
  width: 18px;
  height: 10px;
  border-left: 2px solid var(--color_base);
  border-bottom: 2px solid var(--color_base);
  border-radius: 1px;
  transform: translate(20%, 50%) rotate(-50deg)
}

.section_shoppingForm {
  position: fixed;
  bottom: 62px;
  left: 0;
  width: 100%;
  background-color: var(--color_gray_10)
}

.section_shoppingForm .shoppingCreate {
  padding: 16px;
  display: flex;
  justify-content: space-between;
  gap: 16px
}

.section_shoppingForm .shoppingCreate .form_control {
  width: 100%
}

.section_shoppingForm .shoppingDelete {
  display: none
}

/*# sourceMappingURL=style.css.map */