@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap";

*,
::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: rgba(0, 0, 0, 0)
}

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
}

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: rgba(0, 0, 0, 0);
  text-decoration: none;
  color: inherit
}

abbr[title] {
  text-decoration: underline dotted
}

b,
strong {
  font-weight: 500
}

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: rgba(0, 0, 0, 0);
  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
}

[type=number] {
  -moz-appearance: textfield;
  appearance: textfield
}

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
}

.heading-text:is(.uline-color-red, .uline-color-blue, .uline-color-green, .uline-color-black) {
  position: relative;
  padding: 0 0 15px 0;
  text-align: center
}

.heading-text:is(.uline-color-red, .uline-color-blue, .uline-color-green, .uline-color-black)::after {
  content: "";
  position: absolute;
  bottom: 0;
  height: 5px
}

.heading-text.uline-color-red::after {
  background: #c8161d
}

.heading-text.uline-color-blue::after {
  background: #2c5fb4
}

.heading-text.uline-color-green::after {
  background: #179455
}

.heading-text.uline-color-black::after {
  background: #333
}

.heading-text.uline-width-long::after {
  left: 0;
  width: 100%
}

.heading-text.uline-width-short::after {
  left: calc(50% - 150px);
  width: 300px
}

.heading-text:is(.oline-color-red, .oline-color-blue) {
  position: relative;
  text-align: center
}

.heading-text:is(.oline-color-red, .oline-color-blue)::after {
  content: "";
  position: absolute;
  top: 0;
  height: 5px
}

.heading-text.oline-color-red::after {
  background: #c8161d
}

.heading-text.oline-color-blue::after {
  background: #2c5fb4
}

.heading-text:is(.bg-color-black, .bg-color-darkgray, .bg-color-gray) {
  position: relative;
  padding: 0 15px;
  font-weight: 700
}

.heading-text.bg-color-black {
  background: #333;
  color: #fff
}

.heading-text.bg-color-darkgray2 {
  background: #acacac
}

.heading-text.bg-color-darkgray {
  background: #c1c1c1
}

.heading-text.bg-color-gray {
  background: #d5d5d5
}

.heading-text.text-size-18b {
  line-height: 3
}

.heading-text.text-size-16b {
  line-height: 2.5
}

.heading-text:has(.btn) {
  display: grid;
  grid-template-columns: calc(100% - 220px) 220px;
  padding: 0 5px 0 15px
}

.heading-text:has(.btn) .btn {
  align-self: center;
  margin-top: -4px
}

.heading-text:has(.samesetting) {
  display: grid;
  grid-template-columns: 1fr auto
}

.heading-text:has(.samesetting) .samesetting {
  align-self: center;
  margin: -2px -9px 0 0
}

.heading-text.deco-slidetoggle {
  position: relative
}

.heading-text.deco-slidetoggle::after {
  content: "";
  position: absolute;
  top: calc(50% - 9px);
  right: 14px;
  display: block;
  width: 18px;
  height: 18px;
  background: url(../images/icon/arrow_black_b.svg)
}

.heading-text.rline-color-lightgray {
  position: relative;
  display: flex;
  align-items: center
}

.heading-text.rline-color-lightgray::after {
  content: "";
  display: block;
  margin-left: 8px;
  flex-grow: 1;
  height: 1px;
  background: #d5d5d5
}

.heading-text.lrline-color-lightgray {
  position: relative;
  display: flex;
  align-items: center
}

.heading-text.lrline-color-lightgray::before {
  content: "";
  display: block;
  margin-right: 8px;
  flex-grow: 1;
  height: 1px;
  background: #d5d5d5
}

.heading-text.lrline-color-lightgray::after {
  content: "";
  display: block;
  margin-left: 8px;
  flex-grow: 1;
  height: 1px;
  background: #d5d5d5
}

.heading-text.deco-stepnum {
  position: relative;
  padding: 6px 0 6px 48px;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 500
}

.heading-text.deco-stepnum::before {
  content: "STEP";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  padding-top: 5px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #333;
  color: #fff;
  font-size: 1.1rem;
  text-align: center
}

.heading-text.deco-stepnum::after {
  position: absolute;
  top: 15px;
  left: 0;
  display: block;
  width: 40px;
  color: #fff;
  font-size: 1.6rem;
  text-align: center
}

.heading-text .deco-hatena {
  margin-left: 5px;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5
}

.text-size-12 {
  font-size: 1.2rem
}

.text-size-13 {
  font-size: 1.3rem
}

.text-size-14b {
  font-size: 1.4rem;
  font-weight: 700
}

.text-size-16b {
  font-size: 1.6rem;
  font-weight: 700
}

.text-size-18b {
  font-size: 1.8rem;
  font-weight: 700
}

.text-size-18b:has(aside) {
  line-height: 2 !important
}

.text-size-18b:has(aside) aside {
  margin-top: -8px;
  color: #666;
  font-size: 1.3rem;
  font-weight: 500
}

.text-size-20b {
  font-size: 2rem;
  font-weight: 700
}

.text-size-20b span span {
  font-size: 1.6rem
}

.text-size-22b {
  font-size: 2.2rem;
  font-weight: 700
}

.text-size-24b {
  font-size: 2.4rem;
  font-weight: 700
}

.text-align-center {
  text-align: center
}

.text-align-left {
  text-align: left
}

.text-align-right {
  text-align: right
}

a {
  color: #0e67ed
}

a:hover {
  text-decoration: underline
}

.text-color-red {
  color: #fb0d0d
}

.text-color-red .deco-round::before {
  background: #fb0d0d
}

.text-color-darkred {
  color: #c8151d
}

.text-color-gray {
  color: #666
}

.textbg-color-darkyellow {
  margin: 0 3px;
  padding: 1px 6px 4px 6px;
  background: #edcd3a;
  font-weight: 700
}

.textline-color-yellow {
  background: linear-gradient(transparent 70%, #fcf808 0%)
}

.textline-color-green {
  background: linear-gradient(transparent 70%, #83f1ba 0%)
}

.textline-color-red {
  background: linear-gradient(transparent 70%, #feb8b6 0%)
}

.textline-color-orange {
  background: linear-gradient(transparent 70%, #facea9 0%)
}

.number-list>li {
  position: relative;
  padding-left: 24px;
  line-height: 1.6
}

.number-list>li::before {
  position: absolute;
  left: 2px;
  display: block
}

.number-list>li:nth-child(1)::before {
  content: "1."
}

.number-list>li:nth-child(2)::before {
  content: "2."
}

.number-list>li:nth-child(3)::before {
  content: "3."
}

.number-list>li ol li {
  position: relative;
  padding-left: 28px;
  line-height: 1.6
}

.number-list>li ol li:not(:last-child) {
  margin-bottom: 8px
}

.number-list>li ol li::before {
  position: absolute;
  left: 0;
  display: block
}

.number-list>li ol li:nth-child(1)::before {
  content: "(1)"
}

.number-list>li ol li:nth-child(2)::before {
  content: "(2)"
}

.number-list>li ol li:nth-child(3)::before {
  content: "(3)"
}

.circle-list>li {
  position: relative;
  padding-left: 24px;
  line-height: 1.6
}

.circle-list>li:not(:last-child) {
  margin-bottom: 8px
}

.circle-list>li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 12px;
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #333
}

.deco-round::before {
  display: inline-block;
  margin: 0 2px 0 0;
  padding: 0 0 2px 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #333;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 16px;
  text-align: center
}

.deco-round.round-1::before {
  content: "1"
}

.deco-round.round-2::before {
  content: "2"
}

.deco-round.round-3::before {
  content: "3"
}

.deco-round.round-4::before {
  content: "4"
}

.deco-round.round-5::before {
  content: "5"
}

.deco-round.round-6::before {
  content: "6"
}

.deco-round.round-7::before {
  content: "7"
}

.deco-round.round-8::before {
  content: "8"
}

.deco-round.round-9::before {
  content: "9"
}

.deco-round.round-A::before {
  content: "A";
  line-height: 14px
}

.deco-round.round-B::before {
  content: "B";
  line-height: 14px
}

.deco-round.round-C::before {
  content: "C";
  line-height: 14px
}

.deco-round.round-D::before {
  content: "D";
  line-height: 14px
}

.deco-round.round-E::before {
  content: "E";
  line-height: 14px
}

.deco-round.round-F::before {
  content: "F";
  line-height: 14px
}

.deco-round.round-G::before {
  content: "G";
  line-height: 14px
}

.deco-round.round-H::before {
  content: "H";
  line-height: 14px
}

.deco-round.round-I::before {
  content: "I";
  line-height: 14px
}

.deco-round.round-J::before {
  content: "J";
  line-height: 14px
}

.deco-round.round-K::before {
  content: "K";
  line-height: 14px
}

.deco-round.round-L::before {
  content: "L";
  line-height: 14px
}

.deco-round.round-M::before {
  content: "M";
  line-height: 14px
}

.deco-round.round-N::before {
  content: "N";
  line-height: 14px
}

.deco-round.round-O::before {
  content: "O";
  line-height: 14px
}


:not(.btn, .link, .textbtn).deco-hatena {
  position: relative;
  padding-left: 20px
}

:not(.btn, .link, .textbtn).deco-hatena::before {
  content: "？";
  position: absolute;
  top: 4px;
  left: 0;
  display: inline-block;
  width: 18px;
  height: 18px;
  background: #0e67ed;
  border-radius: 50%;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 18px;
  text-align: center
}

:not(.btn, .link, .textbtn).deco-hatena.small {
  padding-left: 18px
}

:not(.btn, .link, .textbtn).deco-hatena.small::before {
  top: 1px;
  scale: .84
}

:not(.btn, .link, .textbtn).deco-arrowright {
  position: relative;
  padding-left: 20px
}

:not(.btn, .link, .textbtn).deco-arrowright::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  display: inline-block;
  width: 18px;
  height: 18px;
  background: #0e67ed url(../images/icon/arrow_white.svg) 4px 4px/10px 10px no-repeat;
  border-radius: 50%;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 18px;
  text-align: center
}

:not(.btn, .link, .textbtn).deco-newwindow {
  padding: 0 22px 0 0
}

:not(.btn, .link, .textbtn).deco-newwindow:not(.link-black) {
  background: url(../images/icon/newwindow_blue.svg) right 2px center/18px 18px no-repeat
}

:not(.btn, .link, .textbtn).deco-newwindow.link-black {
  background: url(../images/icon/newwindow_black.svg) right 2px center/18px 18px no-repeat;
  color: #333
}

.deco-check {
  background: url(../images/icon/check_black.svg) 0 6px/15px 12px no-repeat;
  padding-left: 18px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6
}

.deco-verticalline {
  position: relative;
  padding: 3px 0 3px 18px;
  font-size: 1.4rem;
  line-height: 1.6
}

.deco-verticalline::before {
  content: "";
  position: absolute;
  top: 0;
  left: 6px;
  display: block;
  width: 1px;
  height: 100%;
  background: #b7b7b7
}

.deco-info {
  position: relative;
  padding-left: 18px;
  width: 100%;
  line-height: 1.5
}

.deco-info::before {
  content: "i";
  position: absolute;
  top: 2px;
  left: 0;
  display: inline-block;
  width: 15px;
  height: 15px;
  background: #666;
  border-radius: 50%;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 14px;
  text-align: center
}

[disabled]+.deco-info {
  color: #ccc
}

[disabled]+.deco-info::before {
  background: #ccc
}

:is(.input-required, .input-any)::after {
  position: absolute;
  top: 26px;
  right: 15px;
  display: inline-block;
  padding: 3px 4px 4px 4px;
  background: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1
}

.input-required::after {
  content: "必須";
  border: solid 1px #c8161d;
  color: #c8161d
}

.input-any::after {
  content: "任意";
  border: solid 1px #2c5fb4;
  color: #2c5fb4
}

.samesetting {
  display: inline-block;
  padding: 5px 8px;
  background: #fff;
  border: solid 2px #e47d18;
  border-radius: 4px;
  color: #e47d18 !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  line-height: 1
}

.form-table {
  border-top: solid 1px #d5d5d5;
  border-left: solid 1px #d5d5d5;
  border-right: solid 1px #d5d5d5
}

.form-table dl {
  position: relative;
  display: grid;
  border-bottom: solid 1px #d5d5d5
}

.form-table dl dt {
  grid-column: 1/2;
  position: relative;
  padding: 24px 15px;
  background: #f0f0f0;
  font-weight: 500;
  line-height: 1.6
}

.form-table dl dt.separator-short::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  display: block;
  width: 120px;
  height: 1px;
  background: #f0f0f0
}

.form-table dl dt:has(.dt-subtext) {
  padding: 24px 200px 0 15px
}

.form-table dl dt:has(.dt-subtext):has(.deco-hatena) {
  padding-bottom: 20px
}

.form-table dl dt .dt-subtext {
  position: absolute;
  top: 24px;
  left: 130px
}

.form-table dl dt .dt-subtext aside {
  font-size: 1.4rem
}

.form-table dl dt:has(.deputy) .deputy {
  margin-top: 92px
}

.form-table dl dt:has(.deputy) .deputy .dt-subtext {
  top: 92px
}

.form-table dl dt:has(.deputy) .deputy .dt-subtext::after {
  position: absolute;
  top: 2px;
  right: -79px;
  display: inline-block;
  padding: 3px 4px 4px 4px;
  background: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  content: "必須";
  border: solid 1px #c8161d;
  color: #c8161d
}


.form-table dl dd {
  grid-column: 2/3;
  align-self: start;
  display: flex;
  flex-wrap: wrap;
  gap: 0 8px;
  padding: 12px 15px
}

.form-table dl dd:has(.preview-text+.btn) {
  justify-content: space-between
}

.form-table dl dd:has(.preview-text+.btn) p {
  width: calc(100% - 330px)
}

.form-table dl dd:has(.preview-text+.btn) .btn {
  margin: -4px -7px -2px 0
}

.form-table dl.input-error::before,
.form-table dl.input-error::after,
.form-table dl.input-error dt::before,
.form-table dl.input-error dd::after {
  content: "";
  position: absolute;
  z-index: 2;
  background: #fb0d0d
}

.form-table dl.input-error::before {
  top: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: 2px
}

.form-table dl.input-error::after {
  bottom: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: 2px
}

.form-table dl.input-error dt::before {
  top: -2px;
  left: -2px;
  width: 2px;
  height: calc(100% + 4px)
}

.form-table dl.input-error dd::after {
  top: -2px;
  right: -2px;
  width: 2px;
  height: calc(100% + 4px)
}

.form-table dl.input-error+.input-error::before {
  display: none
}

.form-separateinput {
  display: none
}

.form-separateinput dl::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: -1px;
  left: 0;
  display: block;
  width: 10px;
  height: 1px;
  background: #f0f0f0
}

.input-error-summary {
  padding: 22px 28px;
  background: #fedbdb
}

.input-error-summary h3 {
  font-weight: 500
}

.input-error-summary ul {
  margin-top: 20px
}

.input-error-summary ul li {
  position: relative
}

.input-error-summary ul li:nth-child(n+2) {
  margin-top: 15px
}

.input-error-summary ul li a {
  padding-left: 24px;
  color: #fb0d0d
}

.input-error-summary ul li a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 20px;
  background: #fb0d0d url(../images/icon/arrow_white.svg) 2px center/12px 12px no-repeat;
  transform: rotate(90deg)
}

.input-error-summary ul li a::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 13px;
  left: 4px;
  display: block;
  width: 12px;
  height: 2px;
  background: #fff
}

.input-error-summary ul li.addstore a::before {
  background: #fb0d0d url(../images/icon/arrow_white.svg) 5px center/12px 12px no-repeat;
  transform: rotate(0)
}

.input-error-summary ul li.addstore a::after {
  display: none
}

.input-error-items {
  position: relative;
  margin-top: 10px;
  padding: 5px 8px;
  width: 100%;
  background: #fedbdb;
  color: #fb0d0d;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.4
}

dl:not(.input-error) .input-error-items {
  display: none
}

.input-error-checklist {
  margin: 43px auto 0 auto;
  padding: 25px;
  width: 1200px;
  background: #f0f0f0
}

.input-error-checklist h3 {
  margin-bottom: 18px;
  font-weight: 700
}

.input-error-checklist ul li:not(:nth-child(1)) {
  margin-top: 12px
}

:is(select, input[type=text], input[type=password]) {
  padding: 0 15px;
  height: 50px;
  border: solid 1px #a8a8a8;
  border-radius: 3px;
  font-size: 18px;
  line-height: 1.6
}

:is(select, input[type=text], input[type=password])::placeholder {
  color: #ccc;
  font-weight: 400
}

:is(select, input[type=text], input[type=password]).width-max {
  width: 100%
}

:is(select, input[type=text], input[type=password]).width-100 {
  width: 100px
}

:is(select, input[type=text], input[type=password]).width-120 {
  width: 120px
}

:is(select, input[type=text], input[type=password]).width-150 {
  width: 150px
}

:is(select, input[type=text], input[type=password]).width-200 {
  width: 200px
}

:is(select, input[type=text], input[type=password]).width-250 {
  width: 250px
}

:is(select, input[type=text], input[type=password]).width-280 {
  width: 280px
}

:is(select, input[type=text], input[type=password]).width-304 {
  width: 304px
}

:is(select, input[type=text], input[type=password]).width-320 {
  width: 320px
}

:is(select, input[type=text], input[type=password]).width-400 {
  width: 400px
}

:is(select, input[type=text], input[type=password]).width-488 {
  width: 488px
}

:is(select, input[type=text], input[type=password]).width-640 {
  width: 640px
}

:is(select, input[type=text], input[type=password]).format-numberscommas,
:is(select, input[type=text], input[type=password]).format-numbers,
:is(select, input[type=text], input[type=password]).format-alphanumeric.type-2 {
  font-size: 20px;
  letter-spacing: .8em
}

:is(select, input[type=text], input[type=password]).format-numberscommas::placeholder,
:is(select, input[type=text], input[type=password]).format-numbers::placeholder,
:is(select, input[type=text], input[type=password]).format-alphanumeric.type-2::placeholder {
  letter-spacing: 0
}

:is(select, input[type=text], input[type=password]).format-invoicenumber {
  width: 470px;
  font-size: 20px;
  letter-spacing: .8em
}

:is(select, input[type=text], input[type=password]).format-corporatenumber {
  font-size: 20px;
  letter-spacing: .8em
}

:is(select, input[type=text], input[type=password]):focus {
  outline: none;
  border: solid 1px #353535
}

:is(select, input[type=text], input[type=password])[readonly] {
  padding-left: 0;
  border: none
}

:is(select, input[type=text], input[type=password])[disabled] {
  background-color: #ededed;
  border-color: #ccc;
  color: #ededed
}

:is(select, input[type=text], input[type=password])[disabled]::placeholder {
  color: #ededed
}

input[type=password]::-ms-reveal {
  display: none
}

select:not([disabled]) {
  background: url(../images/icon/arrow_black_b.svg) top 16px right 12px/16px 16px no-repeat
}

select:not([disabled]):hover {
  cursor: pointer
}

select[disabled] {
  background: #ededed url(../images/icon/arrow_gray_b.svg) top 16px right 12px/16px 16px no-repeat
}

input[type=radio],
input[type=checkbox] {
  display: none
}

input[type=radio]+label,
input[type=checkbox]+label {
  transition: background-color .2s linear;
  position: relative;
  display: inline-block;
  padding: 10px 10px 10px 30px;
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0);
  vertical-align: middle;
  cursor: pointer
}

input[type=radio]+label::before,
input[type=checkbox]+label::before {
  z-index: 2;
  top: 50%
}

input[type=radio]+label::after,
input[type=checkbox]+label::after {
  content: "";
  transition: border-color .2s linear;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 8px;
  display: block;
  margin-top: -9px;
  background: #fff;
  border: 1px solid #a8a8a8;
  border-radius: 4px
}

input[type=radio]:checked+label::before,
input[type=checkbox]:checked+label::before {
  opacity: 1
}

input[type=radio]:checked+label::after,
input[type=checkbox]:checked+label::after {
  border: 1px solid #c8151d
}

input[type=radio][disabled]+label,
input[type=checkbox][disabled]+label {
  color: #ccc;
  cursor: default
}

input[type=radio][disabled]+label::after,
input[type=checkbox][disabled]+label::after {
  background: #ededed;
  border: 1px solid #ccc
}

input[type=radio]+label::before {
  content: "";
  transition: opacity .2s linear;
  position: absolute;
  left: 13px;
  display: block;
  margin-top: -5px;
  margin-left: -1px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #c8151d;
  opacity: 0
}

input[type=radio]+label::after {
  margin-top: -9px;
  width: 18px;
  height: 18px;
  border-radius: 50%
}

input[type=checkbox]+label::before {
  content: "";
  transition: opacity .2s linear;
  transform: rotate(45deg);
  position: absolute;
  display: block;
  left: 11px;
  margin-top: -8px;
  width: 8px;
  height: 12px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  opacity: 0
}

input[type=checkbox]+label::after {
  margin-top: -11px;
  margin-left: -4px;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  background: 3px solid #c8151d
}

input[type=checkbox]:checked+label::after {
  background: #c8151d
}

.input-select-list:not(.idv) {
  margin-bottom: 13px
}

.inputfile-select {
  position: relative;
  margin-top: -13px;
  padding-top: 12px;
  width: 100%;
  border-top: solid 1px #d5d5d5
}

.inputfile-list {
  width: calc(100% - 43px)
}

.inputfile-list .inputfile {
  display: flex;
  align-items: flex-start;
  width: 100%
}

/* THI ファイル項目エラーバー追加 */
.inputfile-list .inputfile.input-error {
  border: 3px solid #fb0d0d;
  padding-top: 10px;
  padding-bottom: 10px;
}

.inputfile-list .inputfile+.inputfile {
  border-top: dotted 1px #d5d5d5;
  margin-top: 10px;
  padding-top: 10px
}

/* THI ファイル項目エラーバー追加 */
.inputfile-list .inputfile+.inputfile.input-error {
  border: 3px solid #fb0d0d;
  padding-bottom: 10px;
}

.inputfile-list .inputfile input[type=file] {
  display: none
}

.inputfile-list .inputfile input[type=file]+label {
  width: 250px;
  border: solid 2px #c8151d;
  border-radius: 15px;
  color: #c8151d;
  font-weight: 700;
  text-align: center;
  line-height: 45px
}

.inputfile-list .inputfile input[type=file]+label:hover {
  background: #c8151d !important;
  border: solid 2px #c8151d !important;
  color: #fff !important
}

.inputfile-list .inputfile input[type=file]+label.change {
  border: solid 2px #666;
  color: #666
}

.inputfile-list .inputfile input[type=file]+label.change:hover {
  background: #666 !important;
  border: solid 2px #666 !important
}

.inputfile-list .inputfile .filename {
  padding: 10px 0 5px 15px;
  display: flex;
  width: calc(100% - 318px)
}

.inputfile-list .inputfile .filename .unselected::before,
.inputfile-list .inputfile .filename .selected::before {
  display: inline-block;
  width: 5em;
  margin-right: 8px;
  padding: 5px 0 6px 1px;
  border-radius: 3px;
  color: #fff;
  text-align: center;
  letter-spacing: 1px
}

.inputfile-list .inputfile .filename .unselected {
  color: #ccc;
  font-weight: 400
}

.inputfile-list .inputfile .filename .unselected::before {
  content: "未選択";
  background: #bbb
}

.inputfile-list .inputfile .filename .selected {
  max-width: 420px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.inputfile-list .inputfile .filename .selected::before {
  content: "選択済";
  background: #c8151d
}

.inputfile-list .inputfile .filename .unselected+.file-delete {
  display: none
}

.inputfile-list.min .input-field-remove a {
  pointer-events: none;
  background: #aaa;
  color: #d5d5d5
}

.inputfile-list.max+.input-field-add a {
  pointer-events: none;
  background: #aaa;
  color: #d5d5d5
}

:is(.file-delete, .input-field-remove, .input-field-add) {
  width: 28px;
  height: 28px
}

:is(.file-delete, .input-field-remove, .input-field-add) a {
  display: block;
  margin-top: 11px;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #333;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 26px;
  text-align: center;
  text-decoration: none !important
}

:is(.file-delete, .input-field-remove, .input-field-add) a::selection {
  background-color: rgba(0, 0, 0, 0)
}

.file-delete {
  display: block;
  margin: -12px 0 0 1px;
  scale: .8
}

.input-field-remove {
  margin-left: 40px
}

.input-field-add {
  position: absolute;
  top: 12px;
  right: 0
}

.inputfile-list:is(.idv-type-1, .idv-type-2, .idv-type-3) {
  display: none;
  margin-top: 4px;
  padding-top: 12px;
  width: 100%;
  border-top: solid 1px #d5d5d5
}


.password-status {
  position: absolute;
  display: inline-block;
  margin-top: 16px;
  width: 15px;
  height: 15px;
  cursor: pointer
}

.password-status.password-status-hidden {
  background: url(../images/icon/password_status_visible.svg) 0 0/15px 15px no-repeat
}

.password-status.password-status-visible {
  background: url(../images/icon/password_status_hidden.svg) 0 0/15px 15px no-repeat
}

.input-hyphenseparator {
  align-self: center;
  font-size: 1.8rem;
  font-weight: 700
}

[disabled]+.input-hyphenseparator {
  color: #ccc
}

.input-textseparator {
  align-self: center;
  font-weight: 500
}

[disabled]+.input-textseparator {
  color: #ccc
}

.digit-counter {
  position: absolute;
  margin: 12px 0 0 426px;
  display: inline-block;
  padding: 4px 8px;
  min-width: calc(2em + 18px);
  background: #454545;
  border-radius: 5px;
  color: #fff;
  text-align: right;
  overflow: hidden
}

.digit-counter.ok {
  background: #199e03
}

.digit-counter.ng {
  background: #fb0d0d
}

.digit-counter span {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1
}

.digit-counter span::after {
  content: "桁";
  display: inline;
  margin-left: 2px;
  font-size: 1.2rem
}

.digit-auxiliary {
  position: relative;
  padding: 1px 0 4px 20px;
  width: 100%;
  color: #ccc;
  font-size: 1.1rem
}

.digit-auxiliary span {
  display: inline-block
}

.digit-auxiliary span:nth-of-type(-n+8) {
  margin-right: 18.5px
}

.digit-auxiliary span:nth-of-type(n+9) {
  margin-right: 13px
}

.input-textseparator~.digit-auxiliary {
  padding-left: 37px
}

.input-select-list {
  margin-top: 5px
}

.input-select-list:not(.width-auto) {
  width: 100%
}

.input-select-list.column-auto {
  display: flex;
  flex-wrap: wrap;
  gap: 30px
}

.input-select-list.column-auto li {
  margin-bottom: 5px
}

.input-select-list.column-auto li:not(:last-child) {
  margin-right: 30px
}

.input-select-list.column_1 li {
  display: flex;
  align-items: center;
  padding: 5px 0
}

.input-select-list.column_4 {
  display: flex;
  flex-wrap: wrap
}

.input-select-list.column_4 li {
  margin-bottom: 8px;
  width: 25%
}

.input-select-list.column_4.last_etc li:last-child {
  margin-top: -6px;
  width: 50%
}

.preview-text {
  padding: 12px 0;
  line-height: 1.6
}

.preview-image {
  position: relative;
  width: 186px;
  height: 140px;
  border: solid 1px #d5d5d5;
  overflow: hidden
}

.preview-image a {
  display: block;
  width: 100%;
  height: 100%
}

.preview-image a:not([class])::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 5px;
  right: 5px;
  display: block;
  width: 36px;
  height: 36px;
  background: #0e67ed url(../images/icon/newwindow_white.svg) center center/18px 18px no-repeat;
  border-radius: 50%;
  border: solid 2px #fff
}

.preview-image a.open-imgmodal::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 5px;
  right: 5px;
  display: block;
  width: 36px;
  height: 36px;
  background: #0e67ed url(../images/icon/zoom_white.svg) center center/16px 16px no-repeat;
  border-radius: 50%;
  border: solid 2px #fff
}

.preview-image img {
  position: absolute;
  display: block;
  margin: auto;
  min-width: 100%;
  min-height: 100%;
  max-width: 240px;
  max-height: 240px;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

.btn {
  position: relative;
  z-index: 2;
  display: grid;
  place-content: center;
  grid-auto-flow: column;
  height: 56px;
  border-radius: 5px;
  font-size: 1.8rem;
  font-weight: 700;
  text-decoration: none !important;
  text-align: center;
  cursor: pointer
}

.btn::after {
  content: "";
  position: absolute;
  display: block
}

.btn:active {
  box-shadow: none !important;
  transform: translateY(3px);
  outline: none !important
}

.btn:nth-of-type(n+2) {
  margin-left: 25px
}

.btn.width-780 {
  width: 780px
}

.btn.width-540 {
  width: 540px
}

.btn.width-515 {
  width: 515px
}

.btn.width-475 {
  width: 475px
}

.btn.width-335 {
  width: 335px
}

.btn.width-320 {
  width: 320px;
  font-size: 1.7rem
}

.btn.width-250 {
  width: 250px
}

.btn.width-240 {
  width: 240px;
  font-size: 1.6rem
}

.btn.width-220 {
  width: 220px;
  height: 40px;
  font-size: 1.6rem;
  line-height: 1.6
}

.btn.width-120 {
  width: 120px;
  font-size: 1.6rem
}

.btn.width-110 {
  width: 110px
}

.btn:is(.deco-arrowright, .deco-arrowleft)::after {
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
  background: url(../images/icon/arrow_white.svg) 0 0/16px 16px no-repeat
}

.btn.deco-arrowright {
  padding-right: 16px
}

.btn.deco-arrowright::after {
  right: 11px
}

.btn.deco-arrowleft {
  padding-left: 16px
}

.btn.deco-arrowleft::after {
  left: 11px;
  transform: rotate(180deg)
}

.btn.deco-arrow2right {
  padding-right: 16px
}

.btn.deco-arrow2right::after {
  top: calc(50% - 8px);
  right: 11px;
  width: 24px;
  height: 16px;
  background: url(../images/icon/arrow_white.svg) 0 0/16px 16px no-repeat, url(../images/icon/arrow_white.svg) 8px 0/16px 16px no-repeat
}

.btn.effect-shine {
  overflow: hidden
}

.btn.effect-shine::before {
  content: "";
  animation: shine 4s cubic-bezier(0.2, 0, 0.2, 1) infinite;
  background-color: #fff;
  width: 160%;
  height: 100%;
  transform: skewX(-45deg);
  top: 0;
  left: -180%;
  opacity: .5;
  position: absolute
}

.btn.deco-save {
  padding-right: 16px
}

.btn.deco-save::after {
  top: calc(50% - 8px);
  right: 15px;
  width: 17px;
  height: 17px;
  background: url(../images/icon/clip_white.svg) 0 0/17px 17px no-repeat
}

.btn.deco-reset {
  padding-right: 16px
}

.btn.deco-reset::after {
  top: calc(50% - 8px);
  right: 14px;
  width: 16px;
  height: 16px;
  background: url(../images/icon/reset_white.svg) 0 0/16px 16px no-repeat
}

.btn.deco-change {
  padding-right: 16px
}

.btn.deco-change::after {
  top: calc(50% - 8px);
  right: 14px;
  width: 16px;
  height: 16px;
  background: url(../images/icon/reset_white.svg) 0 0/16px 16px no-repeat;
  transform: rotate(180deg)
}

.btn.deco-logout {
  padding-left: 12px
}

.btn.deco-logout::after {
  top: calc(50% - 8px);
  left: 8px;
  width: 20px;
  height: 20px;
  background: url(../images/icon/logout_black.svg) 0 0/20px 20px no-repeat
}

.btn.deco-add {
  padding-left: 16px
}

.btn.deco-add::after {
  top: calc(50% - 9.5px);
  left: 16px;
  width: 19px;
  height: 19px;
  background: url(../images/icon/add_white.svg) 0 0/19px 19px no-repeat
}

.btn.deco-delete {
  padding-left: 16px
}

.btn.deco-delete::after {
  top: calc(50% - 9.5px);
  left: 16px;
  width: 19px;
  height: 19px;
  background: url(../images/icon/delete_white.svg) 0 0/19px 19px no-repeat
}

.btn.deco-newwindow::after {
  top: 16px;
  right: 12px;
  width: 20px;
  height: 20px;
  background-image: url(../images/icon/newwindow_white.svg) !important
}

.btn.bg-color-darkred {
  background: #c8161d;
  box-shadow: 0 3px #911015;
  color: #fff
}

.btn.bg-color-red {
  background: #fb0d0d;
  box-shadow: 0 3px #9e0808;
  color: #fff
}

.btn.bg-color-darkblue {
  background: #2c5fb4;
  box-shadow: 0 3px #1c407b;
  color: #fff
}

.btn.bg-color-darkgreen {
  background: #179455;
  box-shadow: 0 3px #106339;
  color: #fff
}

.btn.bg-color-gray {
  background: #666;
  box-shadow: 0 3px #333;
  color: #fff
}

.btn.bg-color-black {
  background: #333;
  box-shadow: 0 3px #000;
  color: #fff
}

.btn.bg-color-white {
  height: 57px;
  background: #fff;
  border: solid 1px #aaa;
  box-shadow: 0 2px #aaa;
  color: #333
}

.btn.bg-color-white:active {
  transform: translateY(2px) !important
}

.btn.position-sup {
  height: 45px !important;
  border-radius: 0 0 5px 5px;
  border-top: none
}

.btn[disabled] {
  background-color: #aaa;
  color: #d5d5d5;
  box-shadow: none;
  transform: translateY(3px)
}

.btn[disabled]::after {
  opacity: .5
}

@keyframes shine {
  0% {
    left: -200%;
    opacity: 0
  }

  70% {
    left: -200%;
    opacity: .4
  }

  71% {
    left: -200%;
    opacity: .8
  }

  100% {
    left: -20%;
    opacity: 0
  }
}

.link {
  position: relative;
  display: grid;
  place-content: center;
  background: #fff;
  text-align: center
}

.link::after {
  content: "";
  position: absolute;
  display: block
}

.link:hover {
  color: #fff !important;
  text-decoration: none;
  transition: all .2s 0s ease
}

.link.width-auto {
  padding: 0 40px 2px 20px;
  height: 42px;
  border-radius: 21px;
  font-size: 1.6rem
}

.link.width-540 {
  padding-bottom: 2px;
  width: 540px;
  height: 56px;
  border-radius: 5px;
  font-size: 1.8rem
}

.link.deco-newwindow::after {
  top: 14px;
  right: 9px;
  width: 20px;
  height: 20px
}

.link.deco-newwindow:hover::after {
  background-image: url(../images/icon/newwindow_white.svg) !important
}

.link.deco-popup::after {
  top: 13px;
  right: 20px;
  width: 10px;
  height: 10px
}

.link.deco-popup:hover::after {
  background-image: url(../images/icon/popup_white.svg) !important
}

.link.deco-download::after {
  top: 14px;
  right: 9px;
  width: 20px;
  height: 20px
}

.link.deco-download:hover::after {
  background-image: url(../images/icon/download_white.svg) !important
}

.link.border-color-green {
  border: solid 2px #179455;
  color: #179455
}

.link.border-color-green.deco-newwindow::after {
  background-image: url(../images/icon/newwindow_darkgreen.svg)
}

.link.border-color-green:hover {
  background: #179455
}

.link.border-color-blue {
  border: solid 2px #0e67ed;
  color: #0e67ed
}

.link.border-color-blue.deco-newwindow::after {
  background-image: url(../images/icon/newwindow_blue.svg)
}

.link.border-color-blue.deco-popup::after {
  background-image: url(../images/icon/popup_blue.svg)
}

.link.border-color-blue:hover {
  background: #0e67ed
}

.link.border-color-darkblue {
  border: solid 2px #434da0;
  color: #434da0
}

.link.border-color-darkblue.deco-download::after {
  background-image: url(../images/icon/download_darkblue.svg)
}

.link.border-color-darkblue:hover {
  background: #434da0
}

.link.border-color-darkred {
  border: solid 2px #c8151d;
  color: #c8151d
}

.link.border-color-darkred.deco-download::after {
  background-image: url(../images/icon/download_darkred.svg)
}

.link.border-color-darkred:hover {
  background: #c8151d
}

.link.border-color-black {
  border: solid 2px #333;
  color: #333
}

.link.border-color-black.deco-phone {
  background: #fff;
  pointer-events: none
}

.link.border-color-black.deco-phone address {
  display: inline-block;
  padding-left: 18px;
  background: url(../images/icon/phone_black.svg) 0 3px/16px 20px no-repeat;
  font-size: 2rem;
  font-weight: 700
}

.link.border-color-black.deco-phone strong {
  position: relative;
  display: inline-block;
  margin-left: 12px;
  font-size: 1.6rem;
  font-weight: 500;
  transform: translateY(-1px)
}

.link.border-color-black.deco-phone strong span {
  display: inline-block;
  margin-left: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: solid 1px #333;
  line-height: 16px
}

.deco-phone+aside {
  display: block;
  margin-top: 5px;
  width: 100%;
  font-size: 1.4rem
}

html,
body {
  height: 100%
}

html {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 62.5%;
  font-weight: 500
}

html strong {
  font-weight: 700
}

@-moz-document url-prefix() {
  html {
    font-weight: 400
  }
}

body {
  font-size: 1.6rem;
  overflow-wrap: anywhere
}

body.fixed {
  left: 0;
  height: 100%;
  overflow: hidden
}

header {
  z-index: 1;
  padding: 20px 0 15px 0;
  width: 100%;
  border-bottom: solid 1px #d5d5d5
}

header>.content {
  position: relative;
  display: flex;
  margin: 0 auto;
  width: 1200px
}

header>.content h1 {
  display: flex
}

header>.content h1 img {
  width: 188px;
  height: 50px
}

header>.content h1 span {
  margin: 4px 0 0 10px;
  color: #3e3a39;
  font-size: 3rem;
  font-weight: 900
}

header>.content .header-conditions {
  display: flex;
  align-items: center;
  margin: -3px 0 0 28px
}

header>.content .header-conditions .companytype {
  padding: 4px 7px 6px 10px;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 3px
}

header>.content .header-conditions .membertype {
  position: relative;
  padding: 0 0 3px 8px;
  font-size: 3rem;
  font-weight: 700
}

header>.content .header-conditions .membertype span {
  margin-left: -8px;
  font-size: 2.2rem
}

header>.content .header-conditions .membertype sup {
  display: none
}

header>.content>.generalflow {
  flex-grow: 5;
  display: flex;
  justify-content: flex-end;
  align-self: center
}

header>.content>.generalflow>a {
  margin-top: -4px
}

header>.content>.logout {
  flex-grow: 5;
  display: flex;
  justify-content: flex-end
}

header>.content>.logout .position-sup {
  margin-top: -23px
}

main {
  padding-bottom: 50px;
  z-index: 3
}

main .form-table {
  margin-top: 15px
}

footer {
  position: sticky;
  z-index: 2;
  top: 100vh
}

footer .terms {
  display: flex;
  justify-content: flex-end;
  margin: 0 auto;
  width: 1200px
}

footer .terms li:not(:first-child) {
  margin-left: 20px
}

footer .content {
  margin-top: 15px;
  background: #e5e5e5
}

footer .content .inner {
  display: grid;
  grid-template-columns: 535px 425px 190px;
  gap: 25px;
  margin: 0 auto;
  padding: 20px 0;
  width: 1200px
}

footer .content .inner .copyright {
  grid-column: 1/2;
  padding-top: 20px;
  width: 320px;
  font-size: 1.4rem
}

footer .content .inner .copyright img {
  display: block;
  margin-bottom: 10px;
  width: 320px;
  height: 43px
}

footer .content .inner .copyright a {
  color: #333
}

footer .content .inner .security {
  grid-column: 2/3;
  display: grid;
  grid-template-columns: 224px 166px;
  gap: 10px;
  border-right: solid 1px #d5d5d5
}

footer .content .inner .security .description {
  grid-column: 1/2;
  margin-top: 10px;
  font-size: 1.3rem;
  line-height: 1.6
}

footer .content .inner .security .image {
  grid-column: 2/3;
  font-size: 1.1rem;
  text-align: center
}

footer .content .inner .security .image img {
  display: block;
  margin-bottom: 4px;
  width: 166px;
  height: 118px
}

footer .content .inner .privacy {
  grid-column: 3/4
}

footer .content .inner .privacy img {
  display: block;
  margin-top: 5px;
  width: 118px;
  height: 118px
}

.preamble {
  margin: 15px auto 0 auto;
  width: 1200px
}

.preamble>p {
  line-height: 1.7
}

.preamble>p:nth-of-type(n+2) {
  margin-top: 8px
}

.preamble>p .text-color-darkred.textline-color-yellow {
  font-weight: 700
}

.preamble>p .text-color-darkred.textline-color-yellow strong {
  display: inline-block;
  margin-top: -10px
}

.preamble>p .deco-inpagelink:nth-of-type(1) {
  margin-left: 10px
}

.preamble>p .deco-inpagelink:nth-of-type(2) {
  margin-left: 25px
}

.preamble>p .deco-hatena {
  margin-left: 5px;
  font-size: 1.3rem;
  line-height: 1.4
}

main section:not(.initial, .continue, .letter, .questions, .conditions, .finalconfirm, .can, .cannot) {
  position: relative;
  margin: 50px auto 0 auto;
  width: 1200px
}

main section:not(.initial, .continue, .letter, .questions, .conditions, .finalconfirm, .can, .cannot) .form-table dl {
  grid-template-columns: 320px 1fr
}

main section:not(.initial, .continue, .letter, .questions, .conditions, .finalconfirm, .can, .cannot) .form-table dl dt a.open-modal {
  display: block;
  padding-top: 2px;
  width: max-content;
  font-size: 1.3rem;
  line-height: 1.2
}

main section:not(.initial, .continue, .letter, .questions, .conditions, .finalconfirm, .can, .cannot) .form-table dl dt .dt-subtext~a.open-modal {
  margin: 27px 0 0 113px;
  max-width: 178px
}

main section:not(.initial, .continue, .letter, .questions, .conditions, .finalconfirm, .can, .cannot) .form-table dl dt .dt-subtext~a.open-modal+a.open-modal {
  margin-top: 4px
}

main section:not(.initial, .continue, .letter, .questions, .conditions, .finalconfirm, .can, .cannot) .form-table dl dt .dt-subtext:has(br)+a.open-modal {
  margin: 52px 0 0 113px
}

main section:not(.initial, .continue, .letter, .questions, .conditions, .finalconfirm, .can, .cannot) .form-table dl dd .deco-info {
  margin-top: 8px;
  font-weight: 400
}

.inquiry {
  margin: 0 auto 40px auto;
  width: 1200px
}

.inquiry .method {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 78px;
  margin-top: 20px
}

.inquiry .method li h3 {
  margin-bottom: 12px
}

.goto-top {
  position: fixed;
  z-index: 6;
  bottom: 20px;
  right: 20px;
  width: 50px;
  height: 50px
}

.goto-top a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: #c7c7c7;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden
}

.goto-top a::before,
.goto-top a::after {
  content: "";
  position: absolute;
  display: block
}

.goto-top a::before {
  content: "";
  position: absolute;
  top: calc(50% - 7px);
  left: calc(50% - 8px);
  display: block;
  width: 16px;
  height: 3px;
  background: #333
}

.goto-top a::after {
  top: calc(50% - 6px);
  left: calc(50% - 8px);
  width: 16px;
  height: 16px;
  background: url(../images/icon/arrow_black.svg) 0 0/16px 16px no-repeat;
  transform: rotate(-90deg)
}

.goto-top a:hover {
  opacity: .8
}

.input-error-summary {
  margin: 10px auto 40px auto;
  width: 1200px
}

.content-inner {
  padding: 16px 20px;
  border-left: solid 1px #d5d5d5;
  border-right: solid 1px #d5d5d5;
  border-bottom: solid 1px #d5d5d5
}

.content-inner.bg-color-lightgray {
  background: #f0f0f0
}

.content-decision {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px 0 0 0;
  padding: 20px 0 0 0;
  border-top: solid 1px #d5d5d5
}

.content-decision.sticky {
  position: sticky;
  z-index: 5;
  bottom: 0;
  padding-bottom: 23px;
  background-color: rgba(255, 255, 255, .8);
  animation: content-decision_fadeIn 2s ease 0s
}

@keyframes content-decision_fadeIn {
  0% {
    opacity: 0
  }

  70% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

.base-description p {
  min-height: 1.6em;
  line-height: 1.6
}

.base-description p:nth-of-type(n+2) {
  margin-top: 12px
}

.form-description ul {
  padding: 0 8px 0 2px;
  font-size: 1.4rem
}

.questions {
  margin: 15px auto 0 auto;
  width: 1200px
}

.questions .headline {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 55px;
  background: #d5d5d5
}

.questions .headline .status {
  padding-left: 10px;
  width: 250px
}

.questions .headline .status strong {
  position: relative;
  display: inline-block;
  padding: 0 15px 2px 38px;
  border-radius: 18px;
  background: #2ac243;
  color: #fff;
  font-weight: 700;
  line-height: 34px
}

.questions .headline .status strong::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: #fff url(../images/icon/check_green.svg) 3px center/20px 16px no-repeat
}

.questions .headline h2 {
  width: calc(100% - 495px);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center
}

.questions .headline h2::after {
  content: "質問の回答を変更する場合は、「回答をやり直す」ボタンをクリックして最初からやり直してください";
  display: block;
  height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  color: #666;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1
}

.questions .headline :is(.change, .reset) {
  margin-top: -3px;
  width: 245px
}

.questions .headline :is(.change, .reset)>.btn {
  height: 42px
}

.questions .table {
  border-left: solid 1px #d5d5d5;
  border-right: solid 1px #d5d5d5
}

.questions .table>div {
  position: relative
}

.questions .table>div.answered dt::before {
  content: "回答済";
  position: absolute;
  top: calc(50% - 12px);
  left: calc(100% + 185px);
  z-index: 4;
  display: inline-block;
  padding: 5px 8px 6px 26px;
  border-radius: 12px;
  background: #2ac243;
  color: #fff;
  font-size: 1.3rem;
  line-height: 1;
  white-space: nowrap
}

.questions .table>div.answered dt::after {
  content: "";
  position: absolute;
  top: calc(50% - 9px);
  left: calc(100% + 188px);
  z-index: 5;
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff url(../images/icon/check_green.svg) 2px 4px/13px 10px no-repeat
}

.questions .table>div.answered dd::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  left: -925px;
  width: calc(100% - 1px + 925px);
  height: calc(100% - 1px);
  background: #fff;
  opacity: .65
}

.questions .table dl {
  position: relative;
  display: grid;
  grid-template-columns: 925px auto;
  padding: 5px 0;
  min-height: 65px;
  border-bottom: solid 1px #d5d5d5
}

.questions .table dl::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 924px;
  width: 1px;
  height: calc(100% - 10px);
  background: #d5d5d5
}

.questions .table dl dt {
  align-self: center;
  position: relative;
  padding: 0 20px
}

.questions .table dl dt p {
  font-weight: 500;
  line-height: 1.6
}

.questions .table dl dt p strong {
  font-weight: 500
}

.questions .table dl dt p sup {
  margin-right: 2px;
  font-size: 1.2rem
}

.questions .table dl dt p span {
  margin-left: 5px
}

.questions .table dl dt .deco-info {
  margin-top: 1px
}

.questions .table dl dd {
  align-self: center;
  position: relative;
  padding: 12px
}

.questions.unanswered .change {
  display: none
}

.questions.unanswered .headline :is(.status strong, .change button) {
  display: none
}

.questions.unanswered .table>div:not(.questions-companytype) {
  display: none
}

.questions.answered .reset {
  display: none
}

.questions.answered h2 {
  opacity: .2
}

.questions.answered .table>div {
  display: none
}

.questions .reset button {
  display: none
}

.questions:has(.questions-companytype input[type=radio]:checked) h2::after {
  height: 14px;
  opacity: 1;
  transition: all .2s 0s ease
}

.conditions {
  display: none;
  margin: 0 auto;
  padding-top: 20px;
  width: 1200px
}

.conditions .inner {
  padding: 25px 15px 15px 15px;
  overflow-x: hidden
}

.conditions .headline {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-weight: 700;
  line-height: 1
}

.conditions .headline .companytype {
  padding: 6px 10px;
  color: #fff;
  font-size: 2rem;
  font-weight: 700
}

.conditions .headline .membertype {
  position: relative;
  padding: 0 0 5px 8px;
  font-size: 2.4rem;
  font-weight: 700
}

.conditions .headline .membertype span {
  font-size: 1.8rem
}

.conditions .headline sup {
  position: absolute;
  top: -6px;
  right: -12px;
  display: block;
  width: 2em;
  height: 12px;
  color: #666;
  font-size: 1.2rem;
  font-weight: 400
}

.conditions .headline>span {
  display: block;
  padding: 0 0 5px 2px;
  font-size: 1.8rem
}

.conditions .fee {
  display: flex;
  justify-content: center
}

.conditions .fee dl {
  display: flex;
  align-items: flex-end;
  padding: 0 5px;
  font-weight: 700
}

.conditions .fee dl:nth-of-type(2) {
  margin-left: 20px
}

.conditions .documents {
  margin-top: 25px
}

.conditions .description {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 700
}

.conditions .description::before,
.conditions .description::after {
  content: "";
  display: block;
  flex-grow: 1;
  height: 1px;
  background: #d5d5d5
}

.conditions .description::before {
  margin-right: 10px
}

.conditions .description::after {
  margin-left: 10px
}

.conditions .description strong {
  position: relative;
  padding: 0 4px;
  font-weight: 700
}

.conditions .description strong sup {
  position: absolute;
  top: -6px;
  right: -8px;
  display: block;
  width: 2em;
  height: 12px;
  color: #666;
  font-size: 1.2rem;
  font-weight: 400
}

.conditions .documents-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-top: 16px
}

.conditions .documents-list li {
  display: none
}

.conditions .documents-list li h4 {
  display: flex;
  align-items: center;
  padding: 0 10px;
  min-height: 65px;
  border-radius: 5px
}

.conditions .documents-list li h4 strong {
  width: calc(100% - 30px);
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.2
}

.conditions .documents-list li h4 strong span {
  margin-left: 3px;
  font-size: 1.3rem
}

.conditions .documents-list li h4 strong span.or {
  display: block;
  margin: -2px 30px -2px 0;
  text-align: center
}

.conditions .documents-list li h4::before {
  content: "";
  display: block;
  margin-right: 5px;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 25px;
  text-align: center
}

.conditions .documents-list li.specific h4 {
  border-style: dashed !important
}

.conditions .documents-list li.specific h4::before,
.conditions .documents-list li.specific h4 strong {
  opacity: .9
}

.conditions .documents-list li p {
  margin-top: 3px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.3
}

.conditions .documents-list li p a.open-modal {
  margin-left: 8px;
  font-size: 1.3rem;
  line-height: 1.5
}

.conditions .documents-list li p br+a.open-modal {
  margin-left: 0
}


.conditions .supplement {
  margin-top: 20px;
  padding-top: 15px;
  border-top: solid 1px #d5d5d5
}

.conditions .supplement dl {
  display: flex;
  color: #666;
  font-size: 1.3rem;
  line-height: 1.4
}

.conditions .supplement dl:nth-of-type(n+2) {
  margin-top: 5px
}

.conditions .supplement dl dt {
  width: 2.5em
}

.conditions .supplement dl dd {
  width: calc(100% - 2.5em)
}

.conditions .papertype {
  display: none
}

.conditions.checkmode .inner :is(h3, .fee) {
  display: none
}

.conditions.checkmode .inner .documents {
  margin-top: -15px;
  margin-bottom: 5px
}

.conditions.checkmode .inner .documents .description {
  display: none
}

.conditions.checkmode .inner .supplement {
  display: none
}

.conditions.checkmode .content-decision {
  display: none
}

.link-terms {
  margin: 15px 0 -10px 0;
  padding-top: 12px;
  border-top: solid 1px #d5d5d5;
  text-align: center
}

.link-terms p {
  line-height: 1.6
}

.interruption-description {
  position: relative;
  z-index: 1;
  margin-top: 10px;
  padding: 12px 15px 10px 15px;
  border-radius: 5px;
  background: #e5e5e5;
  padding: 12px 15px 10px 52px;
  background: #e5e5e5 url(../images/icon/onepoint_black.svg) 10px 15px/35px 35px no-repeat
}

.interruption-description::before {
  content: "";
  position: absolute;
  top: -10px;
  left: calc(50% + 117px);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 20px solid rgba(0, 0, 0, 0);
  border-left: 20px solid rgba(0, 0, 0, 0);
  border-bottom: 25px solid #e5e5e5;
  border-top: 0
}

.interruption-description h4 {
  font-weight: 700;
  line-height: 1.4
}

.interruption-description p {
  margin-top: 2px;
  color: #666;
  font-size: 1.4rem;
  line-height: 1.6
}

.imageexample-list {
  overflow-y: scroll
}

.imageexample-list>li:first-child {
  margin-top: 15px
}

.imageexample-list>li:not(:first-child) {
  margin-top: 35px
}

.imageexample-list>li h4 {
  margin: 0 15px 10px 0
}

.imageexample-list>li ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  padding-right: 15px
}

.imageexample-list>li ul li img {
  width: 100%;
  height: auto
}

.comparison-table {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.5
}

.comparison-table tr th {
  padding: 10px 14px;
  background: #f0f0f0;
  border: solid 1px #d5d5d5;
  text-align: center;
  vertical-align: middle
}

.comparison-table tr td {
  padding: 10px 14px;
  border: solid 1px #d5d5d5
}

.comparison-table tr td sup {
  top: -0.3em;
  margin-left: 4px;
  color: #666;
  font-size: 1.3rem
}

.comparison-table tr td aside {
  display: block;
  margin-top: 4px;
  color: #666;
  font-size: 1.3rem
}

.comparison-table.col-2 tr th:nth-of-type(1) {
  width: 18%
}

.comparison-table.col-2 tr th:nth-of-type(2) {
  width: 41%
}

.comparison-table.col-2 tr th:nth-of-type(3) {
  width: 41%
}

.form-step {
  margin-top: 30px;
  width: 100%;
  position: relative;
  background-color: rgba(255, 255, 255, .9)
}

.form-step::before {
  content: "";
  position: absolute;
  display: block;
  margin: 41px 0 0 0;
  width: 100%;
  height: 1px;
  background: #d5d5d5
}

.form-step ol {
  display: flex;
  margin: 0 auto;
  width: 1200px
}

.form-step ol li {
  position: relative;
  flex: 1;
  padding: 50px 0 15px 0;
  width: 33.3333333333%;
  color: #999;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center
}

.form-step ol li:not(:nth-child(1)) {
  margin: 0 0 0 15px
}

.form-step ol li::after {
  content: "";
  position: absolute;
  top: 36px;
  left: calc(50% - 5px);
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%
}

.form-step ol li h3::before {
  display: inline-block;
  margin: 0 2px 0 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #999;
  color: #fff;
  font-size: 1.3rem;
  line-height: 18px;
  text-align: center
}

.form-step ol li:nth-child(1) h3::before {
  content: "1"
}

.form-step ol li:nth-child(2) h3::before {
  content: "2"
}

.form-step ol li:nth-child(3) h3::before {
  content: "3"
}

.form-step ol li:nth-child(4) h3::before {
  content: "4"
}

.form-step ol li:nth-child(5) h3::before {
  content: "5"
}

.form-step ol li:nth-child(6) h3::before {
  content: "6"
}

.form-step ol li:nth-child(7) h3::before {
  content: "7"
}

.form-step ol li:nth-child(8) h3::before {
  content: "8"
}

.form-step ol li:nth-child(9) h3::before {
  content: "9"
}

.form-step ol li.active {
  background: url(../images/icon/car_red.svg) center 12px/58px 29px no-repeat
}

.form-step ol li.active::after {
  background: #c8151d
}

.form-step ol li.active h3 {
  color: #c8151d
}

.form-step ol li.active h3::before {
  background: #c8151d
}

.form-step ol li.active .move {
  display: none
}

.form-step ol li:not(.active)::after {
  background: #999
}

.form-step:not(.sticky) {
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  width: 1200px
}

.form-step.sticky {
  position: sticky;
  z-index: 5;
  top: 0;
  width: 100%
}

.form-step .status {
  position: relative;
  display: inline-block;
  margin-top: 5px;
  padding: 0 4px 2px 20px;
  width: 98px;
  border-radius: 11px;
  background: #999;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 20px
}

.form-step .status::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff url(../images/icon/check_gray.svg) 2px 4px/11px 9px no-repeat
}

.form-step .status.status-ok {
  background: #2ac243
}

.form-step .status.status-ok::before {
  background: #fff url(../images/icon/check_green.svg) 2px 4px/11px 9px no-repeat
}

.form-step .move {
  margin-top: 6px
}

.form-step .move a {
  display: inline-block;
  padding: 0 16px;
  background: url(../images/icon/arrow_darkred.svg) right 2px top 2px/14px 14px no-repeat;
  color: #c8151d
}

.form-step .move a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%
}

.form-step-auxiliary {
  z-index: 9;
  position: relative;
  display: flex;
  margin: -120px 0 80px 0
}

.form-step-auxiliary::before,
.form-step-auxiliary::after {
  content: "";
  display: block;
  width: calc((100% - 1200px)/2);
  height: 80px;
  background: #fff
}

.form-step-auxiliary span {
  display: block;
  width: 1200px;
  height: 80px
}

.inputbase>.form-table:nth-of-type(n+2) {
  margin-top: 50px
}

.inputbase .individual-contact_wrap>.form-table:nth-of-type(n+2) {
  margin-top: 50px
}

.modal {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%
}

.modal .bg {
  position: absolute;
  z-index: 30;
  width: 100%;
  height: 100%;
  background: #666;
  opacity: .75
}

.modal .content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 40;
  margin: auto;
  padding-bottom: 10px;
  width: 800px;
  height: max-content;
  background: #fff;
  color: #333;
  font-size: 1.6rem
}

.modal .header {
  position: relative
}

.modal .header h3 {
  padding: 30px 0 0 30px;
  font-size: 2rem;
  font-weight: 700
}

.modal .main {
  padding: 22px 30px
}

.modal .close {
  position: absolute;
  top: 0;
  right: 0;
  width: 45px;
  height: 45px;
  background: #111
}

.modal .close a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden
}

.modal .close a::before,
.modal .close a::after {
  position: absolute;
  top: 21px;
  left: 10px;
  content: "";
  display: block;
  width: 26px;
  height: 2px;
  background: #fff
}

.modal .close a::before {
  transform: rotate(45deg)
}

.modal .close a::after {
  transform: rotate(-45deg)
}

.modal.generalflow .content {
  width: 920px
}

.modal:is(.generalflow-web, .generalflow-letter) .content {
  width: 920px
}

.modal:is(.generalflow-web, .generalflow-letter) .content .base-description {
  margin-bottom: 15px
}

.modal:is(.generalflow-web, .generalflow-letter) .content .content-decision {
  margin-top: 0;
  padding-bottom: 0
}

.modal:is(.generalflow-web, .generalflow-letter) .content .supplement {
  border-top: none
}

.modal.forgot-password .content {
  height: 380px
}

.modal.forgot-password .content .main:nth-last-of-type(1) {
  display: none
}

.modal.forgot-password .content .input-error-items {
  display: none
}

.modal.forgot-password .content .form-table dl {
  grid-template-columns: 150px 1fr
}

.modal:is(.info-storeimage, .info-permanentstore) .main {
  padding-right: 0
}

.modal:is(.info-storeimage, .info-permanentstore) .main .base-description {
  margin-right: 30px;
  margin-bottom: 10px
}

.modal:is(.info-storeimage, .info-permanentstore) .main .imageexample-list {
  padding-bottom: 20px;
  height: 450px
}

.modal.info-membertype .content .comparison-table {
  margin-top: 15px
}

.modal.info-idv .content {
  width: 1040px
}

.modal.info-idv .idv-type-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 25px
}

.modal.info-idv .idv-type-list li {
  position: relative
}

.modal.info-idv .idv-type-list li:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: 0;
  left: -20px;
  display: block;
  width: 1px;
  height: 100%;
  background: #d5d5d5
}

.modal.info-idv .idv-type-list li:nth-child(n+2)::after {
  content: "OR";
  position: absolute;
  top: calc(50% - 14px);
  left: -34px;
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #d5d5d5;
  color: #666;
  font-size: 1.2rem;
  text-align: center;
  line-height: 27px
}

.modal.info-idv .idv-type-list h4 {
  margin-bottom: 10px;
  color: #c8151d;
  font-weight: bold
}

.modal.info-idv .idv-type-list figure:nth-of-type(n+2) {
  margin-top: 25px
}

.modal.info-idv .idv-type-list img {
  margin-bottom: 6px
}

.modal.info-idv .idv-type-list figcaption {
  position: relative;
  padding-left: 22px
}

.modal.info-idv .idv-type-list figcaption::before {
  content: "";
  transition: opacity .2s linear;
  transform: rotate(45deg);
  position: absolute;
  display: block;
  left: 5px;
  width: 9px;
  height: 14px;
  border-right: 3px solid #c8151d;
  border-bottom: 3px solid #c8151d
}

.modal.info-idv .idv-type-list figcaption span {
  font-size: 1.4rem;
  margin-left: 5px
}


.modal.delete-store .content .main:nth-last-of-type(1) {
  display: none
}

.modal.delete-store .content .input-error-items {
  display: none
}

.imgmodal {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%
}

.imgmodal .bg {
  position: absolute;
  z-index: 30;
  width: 100%;
  height: 100%;
  background: #666;
  opacity: .75
}

.imgmodal .content {
  position: relative;
  z-index: 40;
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%
}

.imgmodal .content .close {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  width: 45px;
  height: 45px;
  background: #111
}

.imgmodal .content .close a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden
}

.imgmodal .content .close a::before,
.imgmodal .content .close a::after {
  position: absolute;
  top: 21px;
  left: 10px;
  content: "";
  display: block;
  width: 26px;
  height: 2px;
  background: #fff;
  transform: rotate(45deg)
}

.imgmodal .content .close a::before {
  transform: rotate(45deg)
}

.imgmodal .content .close a::after {
  transform: rotate(-45deg)
}

.imgmodal .content img {
  position: relative;
  z-index: 1;
  border: solid 5px #d5d5d5
}

body.regularmember .companytype-text {
  background: #01913f
}

body.regularmember .membertype-text {
  color: #01913f
}

body.regularmember .conditions .inner {
  border: solid 8px #01913f
}

body.regularmember .conditions .documents-list li h4 {
  border: solid 2px #01913f
}

body.regularmember .conditions .documents-list li h4 strong {
  color: #01913f
}

body.regularmember .conditions .documents-list li h4::before {
  background: #01913f
}

body.associatemember .companytype-text {
  background: #434da0
}

body.associatemember .membertype-text {
  color: #434da0
}

body.associatemember .conditions .inner {
  border: solid 8px #434da0
}

body.associatemember .conditions .documents-list li h4 {
  border: solid 2px #434da0
}

body.associatemember .conditions .documents-list li h4 strong {
  color: #434da0
}

body.associatemember .conditions .documents-list li h4::before {
  background: #434da0
}

body .conditions .documents-list li:is(.document-1, .document-2, .document-7, .document-8) {
  display: block
}

body .conditions .documents-list li.document-1 h4::before {
  content: "A"
}

body.companytype-1 .conditions .documents-list li:is(.document-5, .document-6) {
  display: block
}

body.companytype-2.addressmatch-2 .conditions .documents-list li.document-9 {
  display: block
}

body.factory-1 .conditions .documents-list li.document-3 {
  display: block
}

body.realestate-1 .conditions .documents-list li.document-4 {
  display: block
}

body.nationality-1 .conditions .documents-list li.document-12 {
  display: block
}

body.nationality-2 .conditions .documents-list li:is(.document-10, .document-11) {
  display: block
}

body.companytype-1.regularmember.factory-1 .conditions .documents-list li.document-2 h4::before {
  content: "B"
}

body.companytype-1.regularmember.factory-1 .conditions .documents-list li.document-3 h4::before {
  content: "C"
}

body.companytype-1.regularmember.factory-1 .conditions .documents-list li.document-5 h4::before {
  content: "D"
}

body.companytype-1.regularmember.factory-1 .conditions .documents-list li.document-6 h4::before {
  content: "E"
}

body.companytype-1.regularmember.factory-1 .conditions .documents-list li.document-7 h4::before {
  content: "F"
}

body.companytype-1.regularmember.factory-1 .conditions .documents-list li.document-8 h4::before {
  content: "G"
}

body.companytype-1.regularmember.factory-1.nationality-1 .conditions .documents-list li.document-12 h4::before {
  content: "H"
}

body.companytype-1.regularmember.factory-1.nationality-2 .conditions .documents-list li.document-10 h4::before {
  content: "H"
}

body.companytype-1.regularmember.factory-1.nationality-2 .conditions .documents-list li.document-11 h4::before {
  content: "I"
}

body.companytype-1.regularmember.realestate-1 .conditions .documents-list li.document-2 h4::before {
  content: "B"
}

body.companytype-1.regularmember.realestate-1 .conditions .documents-list li.document-4 h4::before {
  content: "C"
}

body.companytype-1.regularmember.realestate-1 .conditions .documents-list li.document-5 h4::before {
  content: "D"
}

body.companytype-1.regularmember.realestate-1 .conditions .documents-list li.document-6 h4::before {
  content: "E"
}

body.companytype-1.regularmember.realestate-1 .conditions .documents-list li.document-7 h4::before {
  content: "F"
}

body.companytype-1.regularmember.realestate-1 .conditions .documents-list li.document-8 h4::before {
  content: "G"
}

body.companytype-1.regularmember.realestate-1.nationality-1 .conditions .documents-list li.document-12 h4::before {
  content: "H"
}

body.companytype-1.regularmember.realestate-1.nationality-2 .conditions .documents-list li.document-10 h4::before {
  content: "H"
}

body.companytype-1.regularmember.realestate-1.nationality-2 .conditions .documents-list li.document-11 h4::before {
  content: "I"
}

body.companytype-1.associatemember .conditions .documents-list li.document-2 h4::before {
  content: "B"
}

body.companytype-1.associatemember .conditions .documents-list li.document-5 h4::before {
  content: "C"
}

body.companytype-1.associatemember .conditions .documents-list li.document-6 h4::before {
  content: "D"
}

body.companytype-1.associatemember .conditions .documents-list li.document-7 h4::before {
  content: "E"
}

body.companytype-1.associatemember .conditions .documents-list li.document-8 h4::before {
  content: "F"
}

body.companytype-1.associatemember.nationality-1 .conditions .documents-list li.document-12 h4::before {
  content: "G"
}

body.companytype-1.associatemember.nationality-2 .conditions .documents-list li.document-10 h4::before {
  content: "G"
}

body.companytype-1.associatemember.nationality-2 .conditions .documents-list li.document-11 h4::before {
  content: "H"
}

body.companytype-2.regularmember.factory-1 .conditions .documents-list li.document-2 h4::before {
  content: "B"
}

body.companytype-2.regularmember.factory-1 .conditions .documents-list li.document-3 h4::before {
  content: "C"
}

body.companytype-2.regularmember.factory-1 .conditions .documents-list li.document-7 h4::before {
  content: "D"
}

body.companytype-2.regularmember.factory-1 .conditions .documents-list li.document-8 h4::before {
  content: "E"
}

body.companytype-2.regularmember.factory-1.addressmatch-1.nationality-1 .conditions .documents-list li.document-12 h4::before {
  content: "F"
}

body.companytype-2.regularmember.factory-1.addressmatch-1.nationality-2 .conditions .documents-list li.document-10 h4::before {
  content: "F"
}

body.companytype-2.regularmember.factory-1.addressmatch-2.nationality-1 .conditions .documents-list li.document-12 h4::before {
  content: "G"
}

body.companytype-2.regularmember.factory-1.addressmatch-1.nationality-2 .conditions .documents-list li.document-11 h4::before {
  content: "G"
}

body.companytype-2.regularmember.factory-1.addressmatch-2 .conditions .documents-list li.document-9 h4::before {
  content: "F"
}

body.companytype-2.regularmember.factory-1.addressmatch-2.nationality-2 .conditions .documents-list li.document-10 h4::before {
  content: "G"
}

body.companytype-2.regularmember.factory-1.addressmatch-2.nationality-2 .conditions .documents-list li.document-11 h4::before {
  content: "H"
}

body.companytype-2.regularmember.realestate-1 .conditions .documents-list li.document-2 h4::before {
  content: "B"
}

body.companytype-2.regularmember.realestate-1 .conditions .documents-list li.document-4 h4::before {
  content: "C"
}

body.companytype-2.regularmember.realestate-1 .conditions .documents-list li.document-7 h4::before {
  content: "D"
}

body.companytype-2.regularmember.realestate-1 .conditions .documents-list li.document-8 h4::before {
  content: "E"
}

body.companytype-2.regularmember.realestate-1.addressmatch-1.nationality-2 .conditions .documents-list li.document-10 h4::before {
  content: "F"
}

body.companytype-2.regularmember.realestate-1.addressmatch-1.nationality-1 .conditions .documents-list li.document-12 h4::before {
  content: "F"
}

body.companytype-2.regularmember.realestate-1.addressmatch-1.nationality-2 .conditions .documents-list li.document-11 h4::before {
  content: "G"
}

body.companytype-2.regularmember.realestate-1.addressmatch-2 .conditions .documents-list li.document-9 h4::before {
  content: "F"
}

body.companytype-2.regularmember.realestate-1.addressmatch-2.nationality-1 .conditions .documents-list li.document-12 h4::before {
  content: "G"
}

body.companytype-2.regularmember.realestate-1.addressmatch-2.nationality-2 .conditions .documents-list li.document-10 h4::before {
  content: "G"
}

body.companytype-2.regularmember.realestate-1.addressmatch-2.nationality-2 .conditions .documents-list li.document-11 h4::before {
  content: "H"
}

body.companytype-2.associatemember .conditions .documents-list li.document-2 h4::before {
  content: "B"
}

body.companytype-2.associatemember .conditions .documents-list li.document-7 h4::before {
  content: "C"
}

body.companytype-2.associatemember .conditions .documents-list li.document-8 h4::before {
  content: "D"
}

body.companytype-2.associatemember.addressmatch-1.nationality-1 .conditions .documents-list li.document-12 h4::before {
  content: "E"
}

body.companytype-2.associatemember.addressmatch-1.nationality-2 .conditions .documents-list li.document-10 h4::before {
  content: "E"
}

body.companytype-2.associatemember.addressmatch-1.nationality-2 .conditions .documents-list li.document-11 h4::before {
  content: "F"
}

body.companytype-2.associatemember.addressmatch-2 .conditions .documents-list li.document-9 h4::before {
  content: "E"
}

body.companytype-2.associatemember.addressmatch-2.nationality-1 .conditions .documents-list li.document-12 h4::before {
  content: "F"
}

body.companytype-2.associatemember.addressmatch-2.nationality-2 .conditions .documents-list li.document-10 h4::before {
  content: "F"
}

body.companytype-2.associatemember.addressmatch-2.nationality-2 .conditions .documents-list li.document-11 h4::before {
  content: "G"
}

body.companytype-2.associatemember.store-2.nationality-1 .conditions .documents-list li.document-12 h4::before {
  content: "E"
}

body.companytype-2.associatemember.store-2.nationality-2 .conditions .documents-list li.document-10 h4::before {
  content: "E"
}

body.companytype-2.associatemember.store-2.nationality-2 .conditions .documents-list li.document-11 h4::before {
  content: "F"
}


body.regularmember .deco-round.round-fluctuation::before {
  content: "6"
}

body.associatemember .deco-round.round-fluctuation::before {
  content: "7"
}

body.regularmember .form-step ol {
  display: flex;
  margin: 0 auto;
  width: 1200px
}

body.regularmember .form-step ol li:nth-child(6) {
  display: none
}

body.regularmember .form-step ol li:nth-child(7) h3::before {
  content: "6"
}

body.regularmember .form-step ol li:nth-child(8) h3::before {
  content: "7"
}

body.regularmember .inputbase.representative .content-decision button:nth-of-type(3).width-515 {
  display: none
}

body.companytype-1 .download-step.associatemember>ol {
  padding: 20px 0
}

body.companytype-1 .download-step.associatemember>ol>li:nth-child(3) {
  display: none
}

body.companytype-1 .download-step.associatemember>ol>li:nth-child(4) .deco-stepnum::after {
  content: "3"
}

body.regularmember .completion-detail-toggle:nth-of-type(4) {
  display: none
}

body:is(.regularmember, .associatemember) .modal .comparison-table::before {
  content: "";
  position: absolute;
  top: -5px;
  display: block;
  width: calc(41% + 11px);
  height: calc(100% + 11px)
}

body.regularmember .modal .comparison-table::before {
  right: calc(41% - 5px);
  border: solid 3px #01913f
}

body.associatemember .modal .comparison-table::before {
  right: -5px;
  border: solid 3px #434da0
}

body.companytype-2 .only-companytype-1 {
  display: none !important
}

body.companytype-1 .only-companytype-2 {
  display: none
}

body.associatemember .only-regularmember {
  display: none
}

body.regularmember .only-associatemember {
  display: none
}

body.factory-2 .only-factory-1,
body:not(.factory-1) .only-factory-1 {
  display: none
}

body.realestate-2 .only-realestate-1,
body:not(.realestate-1) .only-realestate-1 {
  display: none
}

body:not(.companytype-2.addressmatch-2) .only-companytype-2__addressmatch-2 {
  display: none
}

body.nationality-1 .only-nationality-2 {
  display: none
}

body.nationality-2 .only-nationality-1 {
  display: none
}


.entry {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 36px;
  margin: 30px auto 0 auto;
  width: 1200px
}

.entry :is(.initial, .continue) {
  display: flex;
  flex-direction: column
}

.entry :is(.initial, .continue) :is(.content-inner, form) {
  flex-grow: 5;
  display: flex;
  flex-direction: column
}

.entry :is(.initial, .continue) :is(.content-inner, form) .base-description {
  flex-grow: 5
}

.entry .initial {
  grid-column: 1/2
}

.entry .initial .base-description {
  margin-bottom: -5px
}

.entry .initial .content-decision {
  padding-bottom: 33px
}

.entry .continue {
  grid-column: 2/3
}

.entry .continue .input-error-items {
  display: none
}

.entry .continue .form-table dl {
  grid-template-columns: 150px 1fr
}

.entry .continue .form-table dl dd .password-status {
  margin-left: 330px
}

.entry .continue .content-decision .forgotpassword {
  margin: 15px 0 0 0;
  width: 100%;
  text-align: right
}

.entry .letter {
  grid-column: 1/3
}

.entry .letter .content-inner {
  padding-bottom: 23px
}

.generalflow-list {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto auto;
  gap: 25px 0;
  margin-top: 10px
}

.generalflow-list>li h4 {
  margin-bottom: 15px;
  font-size: 1.6rem;
  font-weight: 500
}

.generalflow-list>li ol {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 100px
}

.generalflow-list>li ol li {
  position: relative
}

.generalflow-list>li ol li h5 {
  position: relative;
  display: grid;
  place-content: center;
  padding: 0 8px;
  width: 140px;
  height: 120px;
  border-radius: 10px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center
}

.generalflow-list>li ol li h5 sup {
  position: absolute;
  display: block;
  width: 2em;
  height: 12px;
  color: #666;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1
}

.generalflow-list>li ol li figcaption {
  margin-top: 5px;
  color: #666;
  font-size: 1.3rem;
  line-height: 1.3;
  text-align: center
}

.generalflow-list>li ol li:last-child h5 {
  background: #e9e4bc
}

.generalflow-list>li ol li:last-child::before {
  content: "審査";
  position: absolute;
  top: 45px;
  left: -73px;
  display: inline-block;
  padding: 5px 8px;
  background: #fff;
  border: solid 2px #978813;
  color: #80720a;
  font-size: 1.4rem
}

.generalflow-list>li ol li:not(:last-child)::before {
  position: absolute;
  top: 50px;
  right: -96px;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-top: 5px solid #d5d5d5;
  border-right: 5px solid #d5d5d5;
  transform: rotate(45deg)
}

.generalflow-list>li ol li:not(:last-child)::after {
  position: absolute;
  top: 58px;
  right: -98px;
  content: "";
  display: block;
  width: 98px;
  height: 5px;
  background: #d5d5d5
}

.generalflow-list>li.web ol li:nth-child(1) h5 {
  background: #f1dadb
}

.generalflow-list>li.web ol li:is(:nth-child(2), :nth-child(3)) h5 {
  background: #e0e7f4
}

.generalflow-list>li.web ol li:nth-child(2) h5 sup {
  top: 36px;
  right: 10px
}

.generalflow-list>li.web ol li:nth-child(3) h5 sup {
  top: 36px;
  right: 16px
}

.generalflow-list>li.web ol li:nth-child(4) h5 sup {
  top: 30px;
  left: -36px
}

.generalflow-list>li.letter ol li:not(:last-child) h5 {
  background: #dcefe6
}

.generalflow-list>li.letter ol li:nth-child(2) h5 sup {
  top: 36px;
  right: 10px
}

.generalflow-list>li.letter ol li:nth-child(3) h5 sup {
  top: 47px;
  right: 16px
}

.generalflow-list>li.letter ol li:nth-child(4) h5 sup {
  top: 30px;
  left: -36px
}

:is(.generalflow-list+.supplement, .generalflow-list+.content-decision+.supplement) {
  margin-top: 20px;
  padding-top: 15px;
  border-top: solid 1px #d5d5d5
}

:is(.generalflow-list+.supplement, .generalflow-list+.content-decision+.supplement) dl {
  display: flex;
  color: #666;
  font-size: 1.3rem;
  line-height: 1.4
}

:is(.generalflow-list+.supplement, .generalflow-list+.content-decision+.supplement) dl:nth-of-type(n+2) {
  margin-top: 5px
}

:is(.generalflow-list+.supplement, .generalflow-list+.content-decision+.supplement) dl dt {
  width: 2.5em
}

:is(.generalflow-list+.supplement, .generalflow-list+.content-decision+.supplement) dl dd {
  width: calc(100% - 2.5em)
}

.tab-introduction {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 25px auto -1px auto;
  width: 1200px
}

.tab-introduction h2:has(input:not(:checked)) {
  margin-top: 6px
}

.tab-introduction h2 label {
  position: relative;
  display: block !important;
  border-radius: 0 !important;
  border-left: solid 1px #d5d5d5;
  border-right: solid 1px #d5d5d5;
  align-content: end
}

.tab-introduction h2 label::before,
.tab-introduction h2 label::after {
  display: none !important
}

.tab-introduction h2 input:checked+label {
  padding: 23px 0 18px 0 !important;
  border-bottom: solid 1px #fff !important
}

.tab-introduction h2 input:not(:checked)+label {
  padding: 19px 0 16px 0 !important;
  border-bottom: solid 1px #d5d5d5 !important
}

.tab-introduction h2:nth-of-type(1) input:not(:checked)+label {
  background: #f1f1f1 url(../images/icon/arrow_darkred.svg) right 10px top 23px/16px 16px no-repeat
}

.tab-introduction h2:nth-of-type(2) input:not(:checked)+label {
  background: #f1f1f1 url(../images/icon/arrow_darkblue.svg) right 10px top 23px/16px 16px no-repeat
}

.tab-introduction:has(h2:nth-of-type(1) input:checked)~.with-introduction {
  display: block
}

.tab-introduction:has(h2:nth-of-type(2) input:checked)~.without-introduction {
  display: block
}

.with-introduction .form-table+aside {
  margin: 20px 0
}

:is(.with-introduction, .without-introduction) .content-inner {
  padding: 18px 20px 23px 20px
}

.tab-introduction~:is(.with-introduction, .without-introduction) {
  display: none;
  margin-top: 0 !important;
  min-height: 552px;
  border-top: solid 1px #d5d5d5
}

.mailaddress .password-status {
  margin-left: 460px
}

.mailaddress-retransmission {
  margin: 40px auto 0 auto;
  width: 1200px
}

.mailaddress-retransmission p {
  margin-bottom: 8px;
  line-height: 1.6
}

section h2.heading-text+button {
  position: absolute;
  top: -8px;
  right: 0;
  height: 48px
}

.input-select-list.transportList {
  margin-top: 0;
  border-bottom: solid 1px #d5d5d5
}

.input-select-list.transportList li:not(:last-child) {
  border-bottom: dotted 1px #d5d5d5
}

.input-select-list.transportList li label {
  width: 260px
}

.input-select-list.transportList li .supplement {
  padding: 4px 0;
  color: #666;
  font-size: 1.3rem
}

.individual-contact-toggle {
  margin-top: 50px
}

.individual-contact-toggle p {
  position: relative;
  display: grid;
  place-content: center;
  min-height: 65px;
  border-radius: 5px
}

.individual-contact-toggle p a {
  color: #333;
  margin-left: 38px
}

.individual-contact-toggle p a:before {
  content: "";
  position: absolute;
  top: calc(50% - 15px);
  display: block;
  margin-left: -35px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #333
}

.individual-contact-toggle p a::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%
}

.individual-contact-toggle p a:hover {
  text-decoration: none
}

.individual-contact-toggle p a span:nth-of-type(1) {
  display: block
}

.individual-contact-toggle p a span:nth-of-type(2) {
  display: none
}

.individual-contact-toggle p a span::before {
  content: "";
  position: absolute;
  top: calc(50% - 8px);
  display: block;
  margin-left: -22px;
  width: 4px;
  height: 16px;
  background: #fff
}

.individual-contact-toggle p a span::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  display: block;
  margin-left: -28px;
  width: 16px;
  height: 4px;
  background: #fff
}

.individual-contact-toggle p:hover {
  background-color: #c1c1c1
}

.individual-contact-toggle aside {
  margin-top: 10px;
  padding-left: 5px;
  font-weight: 400;
  line-height: 1.5
}

.individual-contact-toggle aside a.deco-hatena.small {
  margin: 0 2px 0 0;
  padding: 0 19px 0 0;
  color: #666
}

.individual-contact-toggle aside a.deco-hatena.small::before {
  left: auto;
  right: 0
}

.individual-contact-toggle.open {
  margin-bottom: -16px
}

.individual-contact-toggle.open p {
  background-color: #e3e3e3;
  border-radius: 5px 5px 0 0
}

.individual-contact-toggle.open p a {
  margin-left: calc(2em + 38px)
}

.individual-contact-toggle.open p a span:nth-of-type(1) {
  display: none
}

.individual-contact-toggle.open p a span:nth-of-type(2) {
  display: block
}

.individual-contact-toggle.open p a span::before {
  display: none
}

.individual-contact-toggle.open p:hover {
  background: #d5d5d5
}

.individual-contact-toggle.open aside {
  display: none
}

.individual-contact-wrap+.individual-contact-toggle {
  margin-top: 45px
}

.individual-contact-wrap {
  display: none
}

.individual-contact-wrap .form-table:nth-of-type(n+2) {
  margin-top: 30px
}

.individual-contact-wrap:not(:has(h3)) .form-table {
  margin-bottom: 50px
}

.individual-contact-wrap:not(:has(h3)) h4 {
  background: #c1c1c1 !important
}

.individual-contact-wrap:not(:has(h3)) h4:nth-of-type(n+2) {
  margin-top: 25px
}

.individual-contact-wrap:not(:has(h3)) h4:nth-of-type(n+2)::before {
  position: absolute;
  top: -25px;
  left: -1px;
  content: "";
  display: block;
  width: calc(100% + 2px);
  height: 25px;
  background: #fff
}

input+.input-select-list {
  margin-left: 10px
}

.input-select-list+input[type=text] {
  margin-left: 10px
}

:is(.upload-description, .mailing-description) {
  margin: 10px 0 -8px 0;
  display: none;
  padding-top: 15px;
  width: 100%;
  border-top: solid 1px #d5d5d5
}

:is(.upload-description, .mailing-description) p {
  margin-bottom: 12px;
  padding: 0 10px;
  line-height: 1.6
}

:is(.upload-description, .mailing-description) table {
  margin-bottom: 5px;
  width: 100%;
  border: solid 1px #d5d5d5
}

:is(.upload-description, .mailing-description) table tr {
  border-top: solid 1px #d5d5d5
}

:is(.upload-description, .mailing-description) table tr th {
  padding: 12px 15px;
  width: 220px;
  background: #f0f0f0;
  border-right: solid 1px #d5d5d5;
  line-height: 1.6
}

:is(.upload-description, .mailing-description) table tr td {
  padding: 12px 15px;
  width: auto;
  line-height: 1.6
}

:is(.upload-description, .mailing-description) table tr td strong {
  color: #c8151d;
  font-weight: 700
}

:is(.upload-description, .mailing-description) address {
  margin-bottom: 12px;
  padding: 12px 15px;
  border: solid 1px #d5d5d5;
  line-height: 1.6
}

:is(.upload-description, .mailing-description) .circle-list {
  padding: 12px 8px 8px 2px;
  font-size: 1.4rem
}

.about-methodtype-individual {
  display: block;
  margin: 15px 0 20px 0;
  width: 100%;
  color: #666;
  font-size: 1.3rem;
  text-align: right
}

.view-document {
  display: block;
  margin: 5px 0;
  width: 100%;
  text-align: right
}

.input-select-list.individual+.inputfile-select {
  display: none
}

.download-step {
  position: relative
}

.download-step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 20px;
  display: block;
  width: 1px;
  height: 100%;
  background: #d5d5d5
}

.download-step>ol {
  padding: 20px 0
}

.download-step>ol>li:not(:nth-child(1)) {
  padding-top: 40px
}

.download-step>ol>li:nth-child(1) .deco-stepnum::after {
  content: "1"
}

.download-step>ol>li:nth-child(2) .deco-stepnum::after {
  content: "2"
}

.download-step>ol>li:nth-child(3) .deco-stepnum::after {
  content: "3"
}

.download-step>ol>li:nth-child(4) .deco-stepnum::after {
  content: "4"
}

.download-step>ol>li .content {
  padding: 10px 0 0 48px
}

.download-step>ol>li .content .link {
  margin: 0 auto
}

.download-step>ol>li .description {
  padding: 0 0 0 48px
}

.download-step>ol>li .description p {
  line-height: 1.6
}

.download-step>ol>li .description p strong {
  font-weight: 700
}

.download-step>ol>li .form-table,
.download-step>ol>li .content-decision {
  margin-left: 48px
}

.download-step>ol>li .form-table .btn.width-780,
.download-step>ol>li .content-decision .btn.width-780 {
  width: 732px
}

.form-table+.download-step {
  margin-top: 50px
}

.guarantor-conditions {
  margin-top: 15px;
  padding: 18px 10px 15px 10px;
  width: 400px;
  border: solid 1px #d5d5d5;
  border-radius: 5px
}

.guarantor-conditions h4 {
  margin: 0 0 12px 10px
}

.guarantor-conditions ul {
  padding: 0 10px
}

.guarantor-conditions ul li:not(:last-child) {
  margin-bottom: 2px
}


.document .form-table dl dt:has(a, aside, br) {
  min-height: 98px
}

.about-methodtype {
  padding: 10px 10px 8px 10px
}

.about-methodtype+.upload-description,
.about-methodtype+.upload-description+.mailing-description {
  display: block
}

.form-table dl:has(.dt-subtext br+br) {
  min-height: 120px
}

.finalconfirm {
  display: grid;
  grid-template-columns: 220px 900px;
  grid-template-rows: auto auto auto;
  gap: 40px;
  margin: 30px auto 0 auto;
  width: 1200px
}

.finalconfirm nav {
  grid-column: 1/2;
  grid-row: 1/2;
  position: relative
}

.finalconfirm nav::before {
  content: "";
  position: absolute;
  left: 40px;
  display: block;
  width: 1px;
  height: 100%;
  background: #d5d5d5
}

.finalconfirm nav ul {
  position: sticky;
  top: 0
}

.finalconfirm nav ul li {
  position: relative;
  padding: 20px 0 20px 60px
}

.finalconfirm nav ul li::before {
  content: "";
  position: absolute;
  top: 25px;
  left: 36px;
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #999
}

.finalconfirm nav ul li a {
  display: inline-block;
  color: #333
}

.finalconfirm nav ul li a+a {
  position: relative;
  margin-top: 6px;
  padding-left: 16px
}

.finalconfirm nav ul li a+a::before,
.finalconfirm nav ul li a+a::after {
  content: "";
  position: absolute;
  background: #999
}

.finalconfirm nav ul li a+a::before {
  top: 0;
  left: 4px;
  width: 1px;
  height: 10px
}

.finalconfirm nav ul li a+a::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 4px;
  width: 8px;
  height: 1px
}

.finalconfirm nav ul li:has(.current)::before {
  background: #c8151d
}

.finalconfirm nav ul li:has(.current) a {
  color: #c8151d
}

.finalconfirm .content {
  grid-column: 2/3;
  grid-row: 1/2
}

.finalconfirm .content .finalconfirm-items {
  grid-row: 2/3
}

.finalconfirm .content .finalconfirm-items:not(:nth-of-type(1)) {
  margin-top: 40px
}

.finalconfirm .content .finalconfirm-items .form-table {
  margin-top: 0
}

.finalconfirm .content .finalconfirm-items h3:has(.btn) {
  position: sticky;
  z-index: 10;
  top: 0
}

.finalconfirm .content .finalconfirm-items h3.bg-color-darkgray span {
  padding-right: 10px;
  width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap
}

.finalconfirm .content .finalconfirm-items .form-table dl {
  grid-template-columns: 280px 1fr
}

.finalconfirm .content .finalconfirm-items .form-table dl dt {
  padding: 12px 15px
}

.finalconfirm .content .finalconfirm-items .form-table dl dd:has(.preview-image) {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px
}

.finalconfirm .content .finalconfirm-items .form-table dl dd .preview-text {
  padding: 0
}

.finalconfirm .content .finalconfirm-items form:nth-of-type(n+2) .form-table {
  margin-top: 20px
}

.finalconfirm .content>div#confirmRepresentative h3:has(.btn) {
  line-height: 3.1
}


.finalconfirm .confirm-terms {
  grid-column: 1/3;
  grid-row: 2/3;
  width: 1200px;
  margin-top: 20px;
  padding: 18px 20px 26px 20px;
  border: solid 1px #d5d5d5
}

.finalconfirm .confirm-terms h3 {
  margin: 10px 0 -4px 4px;
  padding-bottom: 16px;
  border-bottom: solid 1px #d5d5d5;
  font-size: 1.8rem;
  line-height: 1.2
}

.finalconfirm .confirm-terms h3 span {
  margin-left: 24px;
  color: #666;
  font-size: 1.4rem
}

.finalconfirm .confirm-terms ul {
  padding-bottom: 8px;
  border-bottom: solid 1px #d5d5d5
}

.finalconfirm .confirm-terms ul li p {
  position: relative;
  padding: 10px 10px 10px 4px
}

.finalconfirm .confirm-terms ul li p a {
  margin-right: 16px
}

.finalconfirm .confirm-terms ul li:nth-of-type(n+2) {
  margin-top: -14px
}

.finalconfirm .confirm-terms button {
  margin: 20px auto 0 auto
}

.finalconfirm .content-decision {
  grid-column: 1/3;
  grid-row: 3/4;
  margin-top: -20px;
  padding-top: 10px;
  width: 1200px;
  text-align: center
}

.finalconfirm .content-decision label {
  margin-bottom: 8px
}

.finalconfirm+.input-error-summary {
  margin-top: 40px
}

.completion-info .circle-list {
  margin-top: -25px;
  padding-bottom: 25px
}

.completion-info .circle-list li:not(:last-child) {
  margin-bottom: 4px
}

.completion-info .circle-list li .textline-color-yellow {
  font-weight: 700
}

.completion-info .mailing-description {
  display: block;
  margin: 10px auto 0 auto;
  padding: 0;
  width: 600px;
  border-top: none
}

.completion-info .mailing-description address {
  margin-bottom: 8px
}

.completion-detail-toggle {
  margin: 20px auto 0 auto;
  width: 1200px
}

.completion-detail-toggle:nth-of-type(1) {
  margin-top: 30px
}

.completion-detail-toggle a {
  display: block;
  padding-bottom: 2px !important;
  color: #333
}

.completion-detail-toggle a:hover {
  background-color: #c1c1c1;
  text-decoration: none
}

.completion-detail-toggle:not(.open) a {
  border-radius: 5px
}

.completion-detail-toggle:not(.open) a span::after {
  content: "を確認する";
  display: inline
}

.completion-detail-toggle.open a {
  border-radius: 5px 5px 0 0;
  background-color: #acacac
}

.completion-detail-toggle.open a::after {
  transform: rotate(180deg)
}

.completion-detail-toggle.open a span::after {
  content: "を閉じる";
  display: inline;
  padding-right: 1em
}

.completion-detail-toggle.open a:hover {
  background-color: #d5d5d5
}

.completion-detail-wrap {
  display: none;
  padding-bottom: 30px
}

.completion-detail-wrap .finalconfirm {
  margin-top: 10px
}

.completion-detail-wrap .conditions {
  padding-top: 10px
}

.completion-detail-wrap .conditions .papertype {
  display: inline
}

.completion-detail-wrap .download-step {
  margin: 0 auto;
  width: 1200px
}

.preamble:has(.addexample) {
  display: grid;
  grid-template-columns: 1fr 544px;
  gap: 0 40px;
  padding-bottom: 15px
}

.preamble:has(.addexample) .explanation {
  grid-column: 1/2
}

.preamble:has(.addexample) .explanation p {
  line-height: 1.7
}

.preamble:has(.addexample) .explanation p:nth-of-type(n+2) {
  margin-top: 8px
}

.preamble:has(.addexample) .explanation .content-decision {
  justify-content: start;
  margin: 10px 0 15px 0;
  padding: 0 0 20px 0;
  border-top: none
}

.preamble:has(.addexample) .addexample {
  grid-column: 2/3
}

.preamble:has(.addexample) .addexample aside {
  margin-bottom: 8px;
  color: #666
}

.preamble:has(.addexample) .addexample .content {
  padding: 26px 32px;
  border-radius: 15px;
  background: #e7eff7
}

.preamble:has(.addexample) .addexample .content h2 {
  margin-bottom: 14px;
  font-weight: 700
}

.preamble:has(.addexample) .addexample .content .idtype {
  display: grid;
  grid-template-columns: 150px 300px;
  gap: 30px
}

.preamble:has(.addexample) .addexample .content .idtype li {
  position: relative;
  text-align: center
}

.preamble:has(.addexample) .addexample .content .idtype li h3 {
  position: relative;
  z-index: 2;
  display: inline-block;
  padding: 0 4px;
  background: #e7eff7
}

.preamble:has(.addexample) .addexample .content .idtype li .inner {
  position: relative;
  z-index: 1;
  margin-top: -10px;
  padding: 18px 10px 13px 10px;
  border-radius: 15px
}

.preamble:has(.addexample) .addexample .content .idtype li .inner p {
  padding-top: 45px;
  background: url(../images/icon/store_black.svg) center 0/64px 36px no-repeat;
  font-size: 1.4rem;
  font-weight: 700
}

.preamble:has(.addexample) .addexample .content .idtype li:nth-child(1) .inner {
  border: solid 2px #888
}

.preamble:has(.addexample) .addexample .content .idtype li:nth-child(2) .inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  border: dashed 2px #1664b3
}

.preamble:has(.addexample) .addexample .content .idtype li:nth-child(2) .inner::before {
  content: "";
  position: absolute;
  top: calc(50% - 15px);
  left: -16px;
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #1664b3
}

.preamble:has(.addexample) .addexample .content .idtype li:nth-child(2) .inner p:nth-of-type(1)::before {
  content: "";
  position: absolute;
  top: calc(50% - 8px);
  left: -3px;
  display: block;
  width: 4px;
  height: 16px;
  background: #fff
}

.preamble:has(.addexample) .addexample .content .idtype li:nth-child(2) .inner p:nth-of-type(2)::before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  left: -9px;
  display: block;
  width: 16px;
  height: 4px;
  background: #fff
}

.preamble:has(.addexample) .addexample .content .idtype li>p {
  margin: 5px -8px 0 -8px;
  font-size: 1.4rem
}

.entry :is(.can, .cannot) {
  display: flex;
  flex-direction: column
}

.entry :is(.can, .cannot) .content-inner {
  flex-grow: 5;
  display: flex;
  flex-direction: column
}

.entry :is(.can, .cannot) .content-inner .base-description {
  flex-grow: 5
}

.entry .can {
  grid-column: 1/2
}

.entry .can .base-description {
  margin-bottom: -5px
}

.entry .can .content-decision {
  padding-bottom: 21px
}

.entry .cannot {
  grid-column: 2/3
}

.entry .cannot .content-decision .forgotpassword {
  margin: 15px 0 0 0;
  width: 100%;
  text-align: right
}

.store-list ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin-top: 15px
}

.store-list ul li {
  min-height: 75px
}

.store-list ul li:has(h3) {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 5px 10px;
  padding: 14px 2px 14px 12px;
  border-radius: 5px;
  border: solid 1px #d1d1d1;
  outline: solid 1px #fff
}

.store-list ul li:has(h3).parentId::before {
  content: "基本連絡先";
  position: absolute;
  top: -10px;
  left: 6px;
  display: inline-block;
  padding: 3px 5px;
  background: #333;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500
}

.store-list ul li:has(h3) h3 {
  grid-column: 1/2;
  grid-row: 1/2;
  padding-left: 2px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  font-weight: 700
}

.store-list ul li:has(h3) .status {
  position: relative;
  grid-column: 1/2;
  grid-row: 2/3;
  display: inline-block;
  padding: 0 4px 2px 20px;
  width: 98px;
  border-radius: 11px;
  background: #999;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 20px;
  text-align: center
}

.store-list ul li:has(h3) .status::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff url(../images/icon/check_gray.svg) 2px 4px/11px 9px no-repeat
}

.store-list ul li:has(h3) .status.status-ok {
  background: #2ac243
}

.store-list ul li:has(h3) .status.status-ok::before {
  background: #fff url(../images/icon/check_green.svg) 2px 4px/11px 9px no-repeat
}

.store-list ul li:has(h3) .edit {
  grid-column: 2/3;
  grid-row: 1/3;
  display: grid;
  place-items: center;
  padding: 0 24px 2px 0;
  background: url(../images/icon/arrow_blue.svg) right 8px center/14px 14px no-repeat;
  font-size: 1.4rem
}

.store-list ul li:has(h3) .edit a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%
}

.store-list ul li:has(h3):has(.edit):hover {
  border: solid 1px #0e67ed;
  outline: solid 1px #0e67ed;
  transition: all .2s 0s ease
}

.store-list ul li:has(.add) {
  position: relative;
  display: grid;
  place-content: center;
  border-radius: 5px;
  background: #0e67ed;
  border: solid 2px #0e67ed
}

.store-list ul li:has(.add) .add {
  padding-left: 35px
}

.store-list ul li:has(.add) .add::before {
  content: "";
  position: absolute;
  top: calc(50% - 15px);
  display: block;
  margin-left: -35px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff
}

.store-list ul li:has(.add) .add::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  display: block;
  margin-left: -28px;
  width: 16px;
  height: 4px;
  background: #0e67ed
}

.store-list ul li:has(.add) .add a {
  color: #fff
}

.store-list ul li:has(.add) .add a:hover {
  text-decoration: none
}

.store-list ul li:has(.add) .add a::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%
}

.store-list ul li:has(.add) .add a::after {
  content: "";
  position: absolute;
  top: calc(50% - 8px);
  display: block;
  margin-left: -22px;
  width: 4px;
  height: 16px;
  background: #0e67ed
}

.store-list ul li:has(.add):hover {
  background: #fff;
  transition: all .2s 0s ease
}

.store-list ul li:has(.add):hover .add::before {
  background: #0e67ed
}

.store-list ul li:has(.add):hover .add::after {
  background: #fff
}

.store-list ul li:has(.add):hover .add a {
  color: #0e67ed
}

.store-list ul li:has(.add):hover .add a::after {
  background: #fff
}

.store-list+.form-description {
  margin: 25px 0 5px 0
}

.store-list+.form-table+.form-description+.content-decision {
  margin-bottom: 40px
}

.content-decision+.content-decision {
  margin-top: 0
}