@charset "UTF-8";

:root {
  --color-main: #4b2532;
  --color-gold: #c9b27d;
  --color-black: #000;
  --color-white: #fff;
  --color-red: #d42424;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  box-sizing: border-box;
}

html *,
html *::before,
html *::after {
  box-sizing: inherit;
}

body {
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

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;
}

img {
  border-style: none;
  width: 100%;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
  appearance: button;
}

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type='checkbox'],
[type='radio'] {
  box-sizing: border-box;
  padding: 0;
}

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

[type='search'] {
  -webkit-appearance: textfield;
  appearance: textfield;
  outline-offset: -2px;
}

[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

/*
====================
共通
====================
*/

html:has(.--top) {
  scroll-padding-top: 2.875em;
}

.mahoritsu {
  margin: 0;
  font-family: 'Noto Sans JP', serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-main);
  letter-spacing: 0.02em;
  overflow-x: clip;
  font-feature-settings: 'palt';
}

.mahoritsu.--opened {
  overflow: hidden;
}

input,
textarea,
button,
select,
label,
a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  outline: none;
}

@media all and (max-width: 767px) {
  html {
    font-size: 4.26666667vw;
  }

  .mahoritsu .--only-pc {
    display: none;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu .--only-sp {
    display: none;
  }
}

.--imgTxt {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.mahoritsu-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

.mahoritsu-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 2.875em;
  padding: 0 0.625em;
  column-gap: 0.625em;
  position: relative;
  z-index: 50;
  background-color: var(--color-black);
}

.mahoritsu-header__back {
  text-decoration: none;
  line-height: 1;
  aspect-ratio: 1 / 1;
  width: 1.5625em;
  background-image: url(../img/common/arrow_back_gold.svg);
  background-size: 0.9375em auto;
  flex-shrink: 0;
}

@media (hover: hover) {
  .mahoritsu-header__back {
    transition: opacity 0.2s ease-out;
  }

  .mahoritsu-header__back:hover {
    opacity: 0.6;
  }
}

.mahoritsu-header__title {
  line-height: 1;
  margin: 0;
  aspect-ratio: 268 / 40;
  width: 11.1875em;
}

.mahoritsu-header__title a {
  width: 100%;
  height: 100%;
  background-image: url(../img/common/mahoritsu_heading.svg);
  text-decoration: none;
}

@media (hover: hover) {
  .mahoritsu-header__title a {
    transition: opacity 0.2s ease-out;
  }

  .mahoritsu-header__title a:hover {
    opacity: 0.6;
  }
}

.mahoritsu-header__toggle {
  font-size: 1em;
  line-height: 1;
  appearance: none;
  padding: 0;
  border: none;
  background-color: transparent;
  background-image: url(../img/common/menu_open.svg);
  aspect-ratio: 1 / 1;
  width: 1.5625em;
  cursor: pointer;
  flex-shrink: 0;
}

.mahoritsu-header__toggle.--opened {
  background-image: url(../img/common/menu_close.svg);
}

.--top .mahoritsu-header {
  transition: opacity 0.5s ease-out;
  opacity: 1;
}

.--top .mahoritsu-header:not(.--scrolled) {
  opacity: 0;
  pointer-events: none;
}

.--top .mahoritsu-header__inner {
  justify-content: flex-end;
  padding: 0;
  background-color: transparent;
}

.--top .mahoritsu-header__toggle {
  width: 2.875em;
  background-size: 1.5625em auto;
  background-color: var(--color-black);
}

.--top .mahoritsu-nav {
  top: 0;
  height: 100dvh;
}

@media (hover: hover) {
  .mahoritsu-header__toggle {
    transition: opacity 0.2s ease-out;
  }

  .mahoritsu-header__toggle:hover {
    opacity: 0.6;
  }
}

@media all and (min-width: 768px) {
  .--top .mahoritsu-header {
    display: none;
  }

  .mahoritsu-header__inner {
    height: 4.375em;
    padding-left: 2.5em;
    padding-right: 2.5em;
  }

  .mahoritsu-header__back {
    width: 2.5em;
    background-size: 1.5625em auto;
  }

  .mahoritsu-header__title {
    width: 16.75em;
  }

  .mahoritsu-header__toggle {
    width: 2.5em;
  }
}

.mahoritsu-nav {
  position: absolute;
  width: 100%;
  left: 0;
  top: 2.875em;
  height: calc(100dvh - 2.875em);
  background-color: rgba(0, 0, 0, 0.3);
  overflow-y: auto;
  transform: translateY(-100%);
  z-index: -1;
}

.mahoritsu-nav.--activated {
  transition: transform 0.3s ease-out;
}

.mahoritsu-nav.--opened {
  transform: translateY(0);
}

.mahoritsu-nav__links {
  list-style: none;
  margin: 0;
  padding: 2.5em 3em;
  background-color: var(--color-black);
  min-height: 100%;
}

.mahoritsu-nav__links > li {
  margin: 0 auto 1.25em;
  width: 17.4375em;
  max-width: 100%;
}

.mahoritsu-nav__links a {
  text-decoration: none;
  color: var(--color-gold);
  font-family: 'Noto Serif JP', serif;
  font-size: 1.125em;
  font-weight: 500;
  display: block;
  background: url(../img/common/arrow_gold.svg) no-repeat right center / 0.55555556em auto;
  padding-right: 1.66666667em;
}

@media (hover: hover) {
  .mahoritsu-nav__links a {
    transition: opacity 0.2s ease-out;
  }

  .mahoritsu-nav__links a:hover {
    opacity: 0.6;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-nav {
    top: 4.375em;
    height: calc(100dvh - 4.375em);
  }

  .mahoritsu-nav__links {
    padding-top: 3.75em;
    padding-bottom: 6.25em;
    min-height: auto;
  }

  .mahoritsu-nav__links > li {
    margin-bottom: 1.5625em;
    width: 27.1875em;
  }

  .mahoritsu-nav__links a {
    font-size: 1.375em;
    background-size: 0.68181818 auto;
    padding-right: 1.59090909em;
  }
}

.mahoritsu-title-1 {
  font-size: 1em;
  aspect-ratio: 721 / 304;
  margin: 1.125em auto 1.375em;
  width: 21.5625em;
  max-width: 100%;
}

.mahoritsu-title-1.--contractMaker-title {
  background-image: url(../img/contract-maker/contract_title.png);
}

.mahoritsu-title-1.--shindan-title {
  background-image: url(../img/shindan/shindan_title.png);
  aspect-ratio: 656 / 275;
  width: 22.1875em;
}

@media all and (min-width: 768px) {
  .mahoritsu-title-1 {
    margin-top: 3em;
    margin-bottom: 2.875em;
    width: 45.0625em;
  }

  .mahoritsu-title-1.--shindan-title {
    width: 41em;
  }
}

.mahoritsu-main {
  overflow-x: clip;
}

.mahoritsu-main__inner {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

@media all and (min-width: 768px) {
  .mahoritsu-main__inner.--size-1 {
    max-width: 46.875em;
  }

  .mahoritsu-main__inner.--size-2 {
    max-width: 63.25em;
    padding-left: 1em;
    padding-right: 1em;
  }
}

.mahoritsu-footer {
  margin: 2.25em auto 0;
  max-width: 46.875em;
  width: 100%;
  border-top: 1px solid var(--color-gold);
  padding-top: 2em;
}

.mahoritsu-footer__text-1 {
  font-size: 0.8125em;
  margin: 0;
}

.mahoritsu-footer__copyright {
  font-size: 0.8125em;
  margin: 1.84615385em 0 0;
  text-align: center;
}

@media all and (min-width: 768px) {
  .mahoritsu-footer {
    margin-top: 5em;
  }

  .mahoritsu-footer__copyright {
    margin-top: 3.69230769em;
  }
}

.mahoritsu-button-2 {
  color: var(--color-black);
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.06em;
  margin: 0 auto;
  max-width: 100%;
  width: 17.8125em;
}

.mahoritsu-button-2 a {
  color: inherit;
  text-decoration: none;
  display: block;
  border: 1px solid var(--color-gold);
  padding: 0.125em;
}

.mahoritsu-button-2 a > span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.625em;
  background: var(--color-gold) url(../img/common/arrow_back_black.svg) no-repeat 0.625em center / 0.9375em auto;
  padding-left: 0.9375em;
}

.mahoritsu-button-2.--black {
  color: var(--color-gold);
}

.mahoritsu-button-2.--black a {
  border: 1px solid var(--color-black);
}

.mahoritsu-button-2.--black a > span {
  background-color: var(--color-black);
  background-image: url(../img/common/arrow_back_gold.svg);
}

@media (hover: hover) {
  .mahoritsu-button-2 a {
    transition: opacity 0.2s ease-out;
  }

  .mahoritsu-button-2 a:hover {
    opacity: 0.6;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-button-2 {
    font-size: 1.125em;
    width: 24.72222222em;
  }

  .mahoritsu-button-2 a {
    padding: 0.11111111em;
  }

  .mahoritsu-button-2 a > span {
    height: 5.22222222em;
    background-position: 0.83333333em center;
    background-size: 0.83333333em auto;
    padding-left: 0.83333333em;
  }
}

.--fade-in {
  opacity: 0;
  transition: opacity 0.5s ease-in, transform 0.5s ease-in;
  transform: translateY(100px);
}

.--fade-in.--scrolled {
  opacity: 1;
  transform: translateY(0);
}

.--fade-in-2 {
  opacity: 0;
  transition: opacity 0.5s ease-in;
}

.--fade-in-2.--scrolled {
  opacity: 1;
}

/*
====================
TOP
====================
*/

.mahoritsu.--top {
  padding-top: 1.25em;
  padding-bottom: 3.125em;
  background-color: var(--color-black);
}

.mahoritsu-footer.--top {
  margin-top: 5em;
  max-width: 61.25em;
  width: calc(100% - 2.5em);
}

.mahoritsu-footer.--top .mahoritsu-footer__text-1,
.mahoritsu-footer.--top .mahoritsu-footer__copyright {
  color: var(--color-gold);
}

@media all and (min-width: 768px) {
  .mahoritsu.--top {
    padding-bottom: 5.375em;
  }
}

.mahoritsu-hero {
  position: relative;
  margin-bottom: 0.625em;
}

.mahoritsu-hero__mv {
  line-height: 1;
  margin: 0 auto;
  width: 100%;
  max-width: 34.875em;
  position: relative;
  overflow: clip;
  transform: scale(1.2);
  opacity: 0;
  transition: transform 1.5s ease-in, opacity 1.5s ease-in;
}

.-is-initialized .mahoritsu-hero__mv {
  transform: scale(1);
  opacity: 1;
}

.mahoritsu-hero__mv::after {
  content: '';
  display: block;
  width: 100%;
  height: 16.1875em;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
  position: absolute;
  left: 0;
  bottom: -4.8125em;
}

.mahoritsu-hero__mv img {
  display: block;
}

.mahoritsu-hero__author {
  aspect-ratio: 127 / 51;
  margin: 0 0 0 -3.96875em;
  line-height: 1;
  width: 7.9375em;
  background-image: url(../img/top/main_author.png);
  position: absolute;
  left: 50%;
  top: 0.75em;
  opacity: 0;
  transform: translateY(-2em);
  transition: transform 0.75s ease-in, opacity 0.75s ease-in;
  transition-delay: 1.75s;
}

.-is-initialized .mahoritsu-hero__author {
  opacity: 1;
  transform: translateY(0);
}

.mahoritsu-hero__title {
  font-size: 1em;
  line-height: 1;
  margin: 0;
  width: 100%;
  position: absolute;
  left: 0;
  top: 2.3125em;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row-reverse;
}

.mahoritsu-hero__title span:nth-child(1) {
  aspect-ratio: 60 / 304;
  width: 3.75em;
  background-image: url(../img/top/main_ttl_01__sp.png);
  opacity: 0;
  transform: translateX(100%);
  transition: transform 0.75s ease-in, opacity 0.75s ease-in;
  transition-delay: 1.5s;
}

.mahoritsu-hero__title span:nth-child(2) {
  aspect-ratio: 60 / 282;
  width: 3.75em;
  background-image: url(../img/top/main_ttl_02__sp.png);
  opacity: 0;
  transform: translateX(-100%);
  transition: transform 0.75s ease-in, opacity 0.75s ease-in;
  transition-delay: 1.5s;
}

.-is-initialized .mahoritsu-hero__title span:nth-child(1),
.-is-initialized .mahoritsu-hero__title span:nth-child(2) {
  opacity: 1;
  transform: translateX(0);
}

.mahoritsu-hero__caption {
  position: absolute;
  bottom: 2.5em;
  left: 0.625em;
  opacity: 0;
  transform: translateX(-100%);
  transition: transform 0.75s ease-in, opacity 0.75s ease-in;
  transition-delay: 1.75s;
}

.mahoritsu-hero__caption__1 {
  margin: 0;
  line-height: 1;
  aspect-ratio: 249 / 55;
  width: 15.5625em;
  background-image: url(../img/top/main_caption_01.png);
}

.mahoritsu-hero__caption__2 {
  margin: 0;
  line-height: 1;
  aspect-ratio: 217 / 64;
  width: 13.5625em;
  background-image: url(../img/top/main_caption_02.png);
}

.mahoritsu-hero__btns {
  margin: 0;
  padding: 0;
  list-style: none;
  position: absolute;
  right: 0.625em;
  bottom: 2em;
  width: 6.125em;
  opacity: 0;
  transform: translateX(100%);
  transition: transform 0.75s ease-in, opacity 0.75s ease-in;
  transition-delay: 1.75s;
}

.mahoritsu-hero__btns > li {
  line-height: 1;
}

.mahoritsu-hero__btns a {
  transition: opacity 0.2s ease-out;
}

.mahoritsu-hero__btns a:hover {
  opacity: 0.6;
}

.mahoritsu-hero__btns .--shindan {
  aspect-ratio: 1 / 1;
  width: 100%;
  background-image: url(../img/top/btn_shindan.png);
}

.mahoritsu-hero__btns .--contract {
  aspect-ratio: 1 / 1;
  width: 100%;
  background-image: url(../img/top/btn_maker.png);
}

.-is-initialized .mahoritsu-hero__caption,
.-is-initialized .mahoritsu-hero__btns {
  opacity: 1;
  transform: translateX(0);
}

@media all and (min-width: 768px) and (max-width: 1012px) {
  .mahoritsu-hero {
    font-size: 1.58102767vw;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-hero {
    margin-bottom: 3.75em;
  }

  .mahoritsu-hero__mv::after {
    height: 23.9375em;
    bottom: -8.1875em;
  }

  .mahoritsu-hero__author {
    margin-left: -6.25em;
    width: 12.5em;
    top: 1.125em;
  }

  .mahoritsu-hero__title {
    top: 1.875em;
    padding-left: 3.1875em;
    padding-right: 4.5em;
  }

  .mahoritsu-hero__title span:nth-child(1) {
    aspect-ratio: 117 / 540;
    width: 7.3125em;
    background-image: url(../img/top/main_ttl_01__pc.png);
  }

  .mahoritsu-hero__title span:nth-child(2) {
    aspect-ratio: 144 / 500;
    width: 9em;
    background-image: url(../img/top/main_ttl_02__pc.png);
  }

  .mahoritsu-hero__caption {
    bottom: 3.125em;
    left: 0;
  }

  .mahoritsu-hero__caption__1 {
    width: 26.4375em;
  }

  .mahoritsu-hero__caption__2 {
    width: 23em;
    margin-left: 2em;
  }

  .mahoritsu-hero__btns {
    right: 0;
    bottom: 1.375em;
    width: 27.5em;
    display: flex;
    align-items: center;
  }

  .mahoritsu-hero__btns > li {
    width: 50%;
    position: relative;
    z-index: 1;
  }

  .mahoritsu-hero__btns > li::after {
    content: '';
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    z-index: -1;
  }

  .mahoritsu-hero__btns > li:nth-child(1)::after {
    aspect-ratio: 43 / 53;
    width: 2.6875em;
    background-image: url(../img/top/img_star1.svg);
    top: 0;
    right: 0;
  }

  .mahoritsu-hero__btns > li:nth-child(2)::after {
    aspect-ratio: 50 / 59;
    width: 3.125em;
    background-image: url(../img/top/img_star2.svg);
    bottom: 0.5em;
    right: -0.875em;
  }
}

@media all and (min-width: 980px) {
  .mahoritsu-hero__btns {
    right: calc(((100vw - 980px) / 2) * -1);
  }
}

@media all and (min-width: 1152px) {
  .mahoritsu-hero__btns {
    right: -86px;
  }
}

.mahoritsu-links-1 {
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.625em;
  width: 20.9375em;
}

.mahoritsu-links-1 > li {
  width: calc((100% - 1.25em) / 3);
}

.mahoritsu-links-1 a {
  text-decoration: none;
  transition: opacity 0.2s ease-out;
  display: block;
  padding: 0.125em;
  border: 1px solid var(--color-gold);
  text-align: center;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.5;
}

.mahoritsu-links-1 a:hover {
  opacity: 0.6;
}

.mahoritsu-links-1 a > span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.9375em;
  padding: 0 1.3125em 0 0.4375em;
  background-position: right 0.4375em center;
  background-repeat: no-repeat;
  background-size: 0.625em auto;
}

.mahoritsu-links-1 a.--btn-1 > span {
  color: var(--color-black);
  background-color: var(--color-gold);
  background-image: url(../img/common/arrow_black.svg);
}

.mahoritsu-links-1 a.--btn-2 > span {
  border: 0.125em solid var(--color-gold);
  color: var(--color-gold);
  background-color: var(--color-black);
  background-image: url(../img/common/arrow_gold.svg);
}

@media all and (min-width: 768px) {
  .mahoritsu-links-1 {
    column-gap: 4.08163265%;
    width: 100%;
  }

  .mahoritsu-links-1 > li {
    width: calc(91.83673469% / 3);
  }

  .mahoritsu-links-1 a > span {
    height: 4.0625em;
    padding: 0 2em 0 0.75em;
    background-position: right 0.75em center;
    background-size: 0.9375em auto;
  }

  .mahoritsu-links-1 a > span span {
    font-size: 1.125em;
  }
}

.mahoritsu-text-area-1 {
  margin: 4em auto 1.5em;
  width: 18.4375em;
  max-width: 100%;
  position: relative;
  padding-top: 5.125em;
  background: url(../img/top/deco_01.svg) no-repeat center top / 11.9375em auto;
}

.mahoritsu-text-area-1::before {
  content: '';
  display: block;
  aspect-ratio: 214 / 304;
  width: 6.875em;
  background: url(../img/top/img_pen.svg) no-repeat center / contain;
  position: absolute;
  right: -4.75em;
  top: -5em;
  animation: floatUpDown 3s ease-in-out infinite;
}

.mahoritsu-text-2 {
  color: var(--color-gold);
  font-size: 1em;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.7;
  margin: 0;
}

.mahoritsu-text-2 + .mahoritsu-text-2 {
  margin-top: 1.7em;
}

@media all and (min-width: 768px) {
  .mahoritsu-text-area-1 {
    margin-top: 4.8125em;
    margin-bottom: 7.5em;
    width: 34.875em;
    padding-top: 5.8125em;
    background-size: 23.25em auto;
  }

  .mahoritsu-text-area-1::before {
    width: 13.375em;
    right: -19.875em;
    top: -5.8125em;
  }

  .mahoritsu-text-2 {
    font-size: 1.125em;
    line-height: 2;
    text-align: center;
  }

  .mahoritsu-text-2 + .mahoritsu-text-2 {
    margin-top: 2em;
  }
}

@keyframes floatUpDown {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-2em);
  }
  100% {
    transform: translateY(0);
  }
}

.mahoritsu-bnr-1 {
  margin: 0 auto;
  padding: 0;
  list-style: none;
  width: 20.9375em;
  max-width: 100%;
}

.mahoritsu-bnr-1 > li {
  line-height: 1;
  text-align: center;
  margin-bottom: 0.625em;
}

.mahoritsu-bnr-1 > li:last-child {
  margin-bottom: 0;
}

.mahoritsu-bnr-1 a {
  display: block;
  transition: opacity 0.2s ease-out;
}

.mahoritsu-bnr-1 a:hover {
  opacity: 0.6;
}

@media all and (min-width: 768px) {
  .mahoritsu-bnr-1 {
    width: 36.25em;
  }

  .mahoritsu-bnr-1 > li {
    margin-bottom: 1.125em;
  }
}

.mahoritsu-sec-contents {
  margin-top: 4em;
  margin-bottom: 4em;
}

.mahoritsu-title-2 {
  line-height: 1;
  font-size: 1em;
  margin: 0 0 1.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.625em;
}

.mahoritsu-title-2::before,
.mahoritsu-title-2::after {
  content: '';
  display: block;
  aspect-ratio: 1 / 1;
  width: 1em;
  background: url(../img/common/star_gold.svg) no-repeat center / contain;
}

.mahoritsu-title-2 .--imgTxt {
  height: 1.25em;
}

.mahoritsu-title-2 .--ttl-contents {
  aspect-ratio: 151 / 23;
  background-image: url(../img/top/title_contents.svg);
}

.mahoritsu-title-2 .--ttl-share {
  aspect-ratio: 87 / 23;
  background-image: url(../img/top/title_share.svg);
}

@media all and (min-width: 768px) {
  .mahoritsu-sec-contents {
    margin-top: 7.5em;
    margin-bottom: 7.5em;
  }

  .mahoritsu-title-2 {
    margin-bottom: 1.875em;
  }

  .mahoritsu-title-2 .--imgTxt {
    height: 1.4375em;
  }
}

@media all and (min-width: 1360px) {
  .mahoritsu-sec-contents {
    margin-top: 0;
    margin-bottom: 0;
    position: fixed;
    left: 1.25em;
    top: 3.125em;
    z-index: 100;
    width: 9.375em;
  }

  .mahoritsu-sec-contents.--fade-in {
    transition-delay: 2.5s;
  }

  .mahoritsu-sec-contents .mahoritsu-title-2 {
    margin-bottom: 1.5em;
    column-gap: 0.1875em;
  }

  .mahoritsu-sec-contents .mahoritsu-title-2 .--imgTxt {
    height: 1.0625em;
  }

  .mahoritsu-sec-contents .mahoritsu-title-2.--intersecting .--imgTxt {
    background-image: url(../img/top/title_contents_blak.svg);
  }

  .mahoritsu-sec-contents .mahoritsu-title-2.--intersecting::before,
  .mahoritsu-sec-contents .mahoritsu-title-2.--intersecting::after {
    background-image: url(../img/common/star_dark.svg);
  }
}

.mahoritsu-inner-nav {
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.3125em;
  row-gap: 0.5em;
  flex-wrap: wrap;
  width: 20.9375em;
  max-width: 100%;
}

.mahoritsu-inner-nav a {
  text-decoration: none;
  color: var(--color-gold);
  line-height: 1.7;
  font-size: 0.75em;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.41666667em;
  height: 3.75em;
  border-radius: 3.75em;
  border-bottom: 1px solid var(--color-gold);
  background: #1e1e1e;
}

.mahoritsu-inner-nav .--special {
  aspect-ratio: 1 / 1;
  width: 3.16666667em;
  background-image: url(../img/top/icon_special__sp.png);
}

@media (hover: hover) {
  .mahoritsu-inner-nav a {
    transition: opacity 0.2s ease-out;
  }

  .mahoritsu-inner-nav a:hover {
    opacity: 0.6;
  }
}

@media all and (max-width: 767px) {
  .mahoritsu-inner-nav > li {
    width: calc(50% - 0.15625em);
  }

  .mahoritsu-inner-nav > li:nth-child(-n + 3) {
    width: calc((100% - 0.625em) / 3);
  }

  .mahoritsu-inner-nav .--special {
    flex-shrink: 0;
    margin-left: 0.25em;
  }

  .mahoritsu-inner-nav .--special + span {
    flex-grow: 1;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-inner-nav {
    column-gap: 0.625em;
    row-gap: 0.625em;
    width: 100%;
  }

  .mahoritsu-inner-nav > li {
    width: 11.75em;
    text-align: center;
  }

  .mahoritsu-inner-nav a {
    line-height: 1.2;
    font-size: 0.875em;
    column-gap: 0.35714286em;
    height: 3.92857143em;
    border-bottom-width: 2px;
  }

  .mahoritsu-inner-nav .--special {
    width: 3.42857143em;
    background-image: url(../img/top/icon_special__pc.png);
  }
}

@media all and (min-width: 1360px) {
  .mahoritsu-inner-nav {
    margin: 0;
    display: block;
    width: 100%;
  }

  .mahoritsu-inner-nav > li {
    width: 100%;
    margin-bottom: 0.625em;
  }

  .mahoritsu-inner-nav > li:last-child {
    margin-bottom: 0;
  }
}

.mahoritsu-sec-news {
  margin: 4em auto 2.5em;
  width: 21.5625em;
  background: url(../img/top/frame_top_1__sp.png) no-repeat center top / contain, url(../img/top/frame_bottom_1__sp.png) no-repeat center bottom / contain;
  padding: 3.125em 0.625em 2em;
  max-width: 100%;
  position: relative;
}

.mahoritsu-sec-news::before,
.mahoritsu-sec-news::after {
  content: '';
  display: block;
  width: 1px;
  height: calc(100% - 8em);
  background-color: var(--color-gold);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.mahoritsu-sec-news::before {
  left: 0.3125em;
}

.mahoritsu-sec-news::after {
  right: 0.3125em;
}

.mahoritsu-title-3 {
  line-height: 1.5;
  text-align: center;
  color: var(--color-gold);
  font-weight: 500;
  font-size: 1em;
  font-family: 'Noto Serif JP', serif;
  margin: 0 0 2em;
}

.mahoritsu-title-3.--color-alt {
  color: var(--color-black);
}

.mahoritsu-title-3.--has-decor::before {
  content: '';
  display: block;
  margin: 0 auto 1.5em;
  aspect-ratio: 243 / 41;
  width: auto;
  height: 1.25em;
  background: url(../img/top/deco_02.svg) no-repeat center / contain;
}

.mahoritsu-title-3.--color-alt.--has-decor::before {
  background-image: url(../img/top/deco_03.svg);
}

.mahoritsu-title-3 .--imgTxt {
  width: auto;
  margin: 0 auto 0.3125em;
  height: 2.25em;
}

.mahoritsu-title-3 .--txt {
  display: block;
  letter-spacing: 0.1em;
}

.mahoritsu-title-3 .--ttl-news {
  aspect-ratio: 167 / 46;
  background-image: url(../img/top/title_news.svg);
}

.mahoritsu-title-3 .--ttl-academy {
  aspect-ratio: 287 / 47;
  background-image: url(../img/top/title_academy.svg);
}

.mahoritsu-title-3 .--ttl-characters {
  aspect-ratio: 376 / 46;
  background-image: url(../img/top/title_characters.svg);
}

.mahoritsu-title-3 .--ttl-words {
  aspect-ratio: 221 / 45;
  background-image: url(../img/top/title_words.svg);
}

.mahoritsu-title-3 .--ttl-words {
  aspect-ratio: 221 / 45;
  background-image: url(../img/top/title_words.svg);
}

.mahoritsu-title-3 .--ttl-special {
  aspect-ratio: 223 / 46;
  background-image: url(../img/top/title_special.svg);
}

.mahoritsu-title-3 .--ttl-series {
  aspect-ratio: 178 / 46;
  background-image: url(../img/top/title_series.svg);
}

.mahoritsu-title-3 .--ttl-creators {
  aspect-ratio: 290 / 46;
  background-image: url(../img/top/title_creators.svg);
}

@media all and (min-width: 768px) {
  .mahoritsu-title-3 {
    margin-bottom: 3.75em;
  }

  .mahoritsu-title-3.--has-decor::before {
    margin-bottom: 2em;
    height: 2.5625em;
  }

  .mahoritsu-title-3 .--imgTxt {
    height: 2.875em;
    margin-bottom: 0.625em;
  }

  .mahoritsu-title-3 .--txt {
    font-size: 1.25em;
  }

  .mahoritsu-sec-news {
    margin-top: 7.5em;
    margin-bottom: 7.5em;
    width: 100%;
    background-image: url(../img/top/frame_top_1__pc.png), url(../img/top/frame_bottom_1__pc.png);
    padding: 4.375em 2em 3.125em;
  }

  .mahoritsu-sec-news::before,
  .mahoritsu-sec-news::after {
    height: calc(100% - 13.75em);
  }

  .mahoritsu-sec-news::before {
    left: 0.5em;
  }

  .mahoritsu-sec-news::after {
    right: 0.5em;
  }
}

.mahoritsu-news-list {
  margin: 0 auto;
  padding: 0;
  list-style: none;
  max-width: 100%;
  width: 17.25em;
}

.mahoritsu-news-list > li {
  margin-top: 1.5em;
}

.mahoritsu-news-list > li:first-child {
  margin-top: 0;
}

.mahoritsu-news-list:not(.--opened) > li:nth-child(n + 4) {
  display: none;
}

.mahoritsu-news-list__item {
  display: flex;
  align-items: flex-start;
  column-gap: 1em;
}

.mahoritsu-news-list a {
  text-decoration: none;
  color: inherit;
}

.mahoritsu-news-list__thumb {
  line-height: 1;
  width: 3.75em;
  flex-shrink: 0;
}

.mahoritsu-news-list__body {
  flex-grow: 1;
}

.mahoritsu-news-list__date {
  font-size: 0.6875em;
  line-height: 1.5;
  color: var(--color-gold);
  margin: 0 0 0.45454545em;
}

.mahoritsu-news-list a .mahoritsu-news-list__title {
  text-decoration: underline;
}

.mahoritsu-news-list__title {
  font-size: 0.8125em;
  color: var(--color-white);
  margin: 0;
}

.mahoritsu-news-list__button {
  display: block;
  appearance: none;
  font-size: 1em;
  line-height: 1;
  text-align: center;
  margin: 1.5em auto 0;
  width: fit-content;
  color: var(--color-gold);
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  outline: none;
}

.mahoritsu-news-list__button::after {
  content: '';
  display: block;
  aspect-ratio: 1 / 1;
  width: 1.5em;
  margin: 0 auto;
  background: url(../img/common/arrow_down_gold.svg) no-repeat center / contain;
}

.mahoritsu-news-list__button.--opened span:nth-child(1),
.mahoritsu-news-list__button:not(.--opened) span:nth-child(2) {
  display: none;
}

.mahoritsu-news-list__button.--opened::after {
  transform: rotate(180deg);
}

@media (hover: hover) {
  .mahoritsu-news-list a,
  .mahoritsu-news-list__button {
    transition: opacity 0.2s ease-out;
  }

  .mahoritsu-news-list a:hover,
  .mahoritsu-news-list__button:hover {
    opacity: 0.6;
  }

  .mahoritsu-news-list a:hover .mahoritsu-news-list__title {
    text-decoration: none;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-news-list {
    width: 46.25em;
  }

  .mahoritsu-news-list__item {
    column-gap: 1.875em;
  }

  .mahoritsu-news-list__thumb {
    width: 5em;
  }

  .mahoritsu-news-list__date {
    font-size: 0.8125em;
    margin-bottom: 0.61538462em;
  }

  .mahoritsu-news-list__title {
    font-size: 0.9375em;
  }

  .mahoritsu-news-list__button {
    font-size: 1em;
    margin-top: 2em;
  }
}

.mahoritsu-sec-special {
  margin-top: 3.75em;
  margin-bottom: 3.75em;
  padding-top: 2.5em;
  padding-bottom: 3.75em;
  background: var(--color-gold) url(../img/top/pattern_01.png) repeat center top / 5.625em auto;
}

@media all and (min-width: 768px) {
  .mahoritsu-sec-special {
    margin-top: 10em;
    margin-bottom: 7.5em;
    padding-top: 7.5em;
    padding-bottom: 7.5em;
  }
}

.mahoritsu-sec-academy {
  margin-top: 3.75em;
  margin-bottom: 7.5em;
}

.mahoritsu-map {
  line-height: 1;
  margin: 0 auto 1.5625em;
  max-width: 100%;
  width: 20.9375em;
}

.mahoritsu-academy-list {
  margin: 0 auto;
  padding: 0;
  list-style: none;
  max-width: 100%;
  width: 20.9375em;
  position: relative;
}

.mahoritsu-academy-list::before {
  content: '';
  display: block;
  aspect-ratio: 206 / 151;
  width: 8.5625em;
  background: url(../img/top/img_book.png) no-repeat center / contain;
  position: absolute;
  bottom: -4.625em;
  right: -0.5em;
  animation: floatUpDown 3s ease-in-out infinite;
  z-index: 10;
}

.mahoritsu-academy-list > li {
  margin-bottom: 1.25em;
  border: 1px solid var(--color-gold);
  padding: 0.25em;
}

.mahoritsu-academy-list > li:last-child {
  margin-bottom: 0;
}

.mahoritsu-academy-list > li > div {
  border: 0.125em solid var(--color-gold);
  padding: 1.625em 1.25em 1.875em;
  background: url(../img/top/pattern_02.png) repeat center top / 23.6875em auto;
}

.mahoritsu-academy-title {
  text-align: center;
  line-height: 1;
  font-size: 1.5em;
  font-weight: 400;
  font-family: 'Noto Serif JP', serif;
  margin: 0 0 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.41666667em;
  letter-spacing: 0;
  color: var(--color-gold);
}

.mahoritsu-academy-title::before,
.mahoritsu-academy-title::after {
  content: '';
  display: block;
  aspect-ratio: 1 / 1;
  width: 0.66666667em;
  background: url(../img/common/star_gold.svg) no-repeat center / contain;
  flex-shrink: 0;
}

.mahoritsu-academy-list .mahoritsu-text-1 {
  color: var(--color-white);
}

@media all and (min-width: 768px) {
  .mahoritsu-sec-academy {
    margin-top: 7.5em;
    margin-bottom: 10em;
  }

  .mahoritsu-map {
    width: 100%;
    margin-bottom: 3.75em;
  }

  .mahoritsu-academy-list {
    width: 100%;
    display: flex;
    column-gap: 1.25em;
  }

  .mahoritsu-academy-list::before {
    width: 12.875em;
    bottom: -5.8125em;
    right: -8.875em;
  }

  .mahoritsu-academy-list > li {
    margin-bottom: 0;
    width: calc(50% - 0.625em);
  }

  .mahoritsu-academy-list > li > div {
    padding: 1.875em 2em;
    height: 100%;
  }

  .mahoritsu-academy-title {
    font-size: 1.75em;
    margin-bottom: 0.85714286em;
    column-gap: 0.35714286em;
  }

  .mahoritsu-academy-title::before,
  .mahoritsu-academy-title::after {
    width: 0.57142857em;
  }
}

.mahoritsu-sec-characters {
  margin-top: 7.5em;
  margin-bottom: 3.75em;
}

.mahoritsu-characters-list {
  margin: 4em auto 0;
  padding: 0;
  list-style: none;
  max-width: 100%;
  width: 20.9375em;
}

.mahoritsu-characters-list > li {
  margin-bottom: 3.4375em;
  border: 1px solid var(--color-gold);
  padding: 0.25em;
  position: relative;
}

.mahoritsu-characters-list > li:last-child {
  margin-bottom: 0;
}

.mahoritsu-characters-list > li > div {
  border: 0.125em solid var(--color-gold);
  padding-top: 18.125em;
  background: url(../img/top/deco_frame_top_left.svg) no-repeat left 0.1875em top 0.375em / 5em auto, url(../img/top/deco_frame_top_right.svg) no-repeat right 0.1875em top 0.375em / 5em auto,
    url(../img/top/deco_frame_bottom_left.svg) no-repeat left 0.1875em bottom 0.375em / 5em auto, url(../img/top/deco_frame_bottom_right.svg) no-repeat right 0.1875em bottom 0.375em / 5em auto;
}

.mahoritsu-characters-list__portrait {
  width: 20.625em;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -2.5em;
}

.mahoritsu-characters-list__catch {
  line-height: 1;
  position: absolute;
  margin: 0;
  top: -1.0625em;
  right: 1.125em;
}

.mahoritsu-characters-list__catch.--catch-1 {
  aspect-ratio: 92 / 408;
  width: 4.25em;
  background-image: url(../img/top/tsubaki_text.svg);
}

.mahoritsu-characters-list__catch.--catch-2 {
  aspect-ratio: 88 / 327;
  width: 4.1875em;
  background-image: url(../img/top/malice_text.svg);
}

.mahoritsu-characters-list__catch.--catch-3 {
  aspect-ratio: 92 / 379;
  width: 4.25em;
  background-image: url(../img/top/iori_text.svg);
}

.mahoritsu-characters-list__catch.--catch-4 {
  aspect-ratio: 68 / 185;
  width: 4.25em;
  background-image: url(../img/top/reiya_text__sp.svg);
}

.mahoritsu-characters-list__catch.--catch-5 {
  aspect-ratio: 68 / 347;
  width: 4.25em;
  background-image: url(../img/top/saemon_text__sp.svg);
  top: -2.5em;
}

.mahoritsu-characters-list__catch.--catch-6 {
  aspect-ratio: 68 / 303;
  width: 4.25em;
  background-image: url(../img/top/sumire_text__sp.svg);
}

.mahoritsu-characters-list__body {
  padding: 0 1.25em 1.875em;
}

.mahoritsu-characters-list__name {
  font-size: 1em;
  font-weight: 400;
  margin: 0 0 1em;
}

.mahoritsu-characters-list__name .--txt {
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  font-size: 1.625em;
  color: var(--color-white);
  display: block;
  letter-spacing: 0;
}

.mahoritsu-characters-list__name .--imgTxt {
  width: auto;
  height: 0.75em;
}

.mahoritsu-characters-list__name .--name-1 {
  aspect-ratio: 166 / 14;
  background-image: url(../img/top/tsubaki_name.svg);
}

.mahoritsu-characters-list__name .--name-2 {
  aspect-ratio: 143 / 18;
  background-image: url(../img/top/malice_name.svg);
  height: 0.9375em;
}

.mahoritsu-characters-list__name .--name-3 {
  aspect-ratio: 102 / 14;
  background-image: url(../img/top/iori_name.svg);
}

.mahoritsu-characters-list .mahoritsu-text-1 {
  color: var(--color-white);
}

@media all and (min-width: 768px) {
  .mahoritsu-sec-characters {
    margin-top: 10em;
    margin-bottom: 10em;
  }

  .mahoritsu-characters-list {
    margin-top: 6.5625em;
    width: 100%;
  }

  .mahoritsu-characters-list > li {
    margin-bottom: 5em;
    height: 26.875em;
  }

  .mahoritsu-characters-list > li > div {
    padding-top: 0;
    padding-left: 29.75em;
    padding-right: 2em;
    display: flex;
    align-items: center;
    background: url(../img/top/deco_frame_top_left.svg) no-repeat left 1px top 2px / 9.5em auto, url(../img/top/deco_frame_top_right.svg) no-repeat right 1px top 2px / 9.5em auto,
      url(../img/top/deco_frame_bottom_left.svg) no-repeat left 1px bottom 2px / 9.5em auto, url(../img/top/deco_frame_bottom_right.svg) no-repeat right 1px bottom 2px / 9.5em auto;
    height: 100%;
  }

  .mahoritsu-characters-list > li:nth-child(even) > div {
    padding-right: 29.75em;
    padding-left: 2em;
  }

  .mahoritsu-characters-list__portrait {
    width: 28.125em;
    left: 6.25em;
    transform: translateX(0);
    top: unset;
    bottom: calc(0.25em + 3px);
  }

  .mahoritsu-characters-list > li:nth-child(even) .mahoritsu-characters-list__portrait {
    left: unset;
    right: 6.25em;
  }

  .mahoritsu-characters-list__catch {
    top: -1.375em;
    right: unset;
  }

  .mahoritsu-characters-list__catch.--catch-1 {
    width: 5.75em;
    left: 3.125em;
  }

  .mahoritsu-characters-list__catch.--catch-2 {
    width: 5.5em;
    right: 3.125em;
  }

  .mahoritsu-characters-list__catch.--catch-3 {
    width: 5.75em;
    left: 3.125em;
  }

  .mahoritsu-characters-list__catch.--catch-4 {
    aspect-ratio: 88 / 287;
    width: 5.5em;
    background-image: url(../img/top/reiya_text__pc.svg);
    right: 3.125em;
  }

  .mahoritsu-characters-list__catch.--catch-5 {
    aspect-ratio: 92 / 459;
    width: 5.75em;
    background-image: url(../img/top/saemon_text__pc.svg);
    top: -1.375em;
    left: 3.125em;
  }

  .mahoritsu-characters-list__catch.--catch-6 {
    aspect-ratio: 88 / 431;
    width: 5.5em;
    background-image: url(../img/top/sumire_text__pc.svg);
    right: 3.125em;
  }

  .mahoritsu-characters-list__body {
    padding: 0;
    position: relative;
  }

  .mahoritsu-characters-list__name {
    margin-bottom: 1.5em;
  }

  .mahoritsu-characters-list__name .--txt {
    font-size: 2.125em;
  }

  .mahoritsu-characters-list__name .--imgTxt {
    height: 0.875em;
  }

  .mahoritsu-characters-list__name .--name-2 {
    height: 1.125em;
  }
}

@media all and (min-width: 1012px) {
  .mahoritsu-characters-list > li > div {
    padding-left: 33.75em;
    padding-right: 5em;
  }

  .mahoritsu-characters-list > li:nth-child(even) > div {
    padding-right: 33.75em;
    padding-left: 5em;
  }
}

.mahoritsu-characters-sublist {
  margin: 3.125em auto 0;
  max-width: 100%;
  width: 20.9375em;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  column-gap: 1.875em;
  row-gap: 3.125em;
}

.mahoritsu-characters-sublist > li {
  width: calc(50% - 0.9375em);
}

.mahoritsu-characters-sublist__name {
  margin: 0 0 1em;
  font-size: 1em;
  font-weight: 400;
}

.mahoritsu-characters-sublist__name .--txt {
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  font-size: 1.25em;
  color: var(--color-white);
  display: block;
  margin-bottom: 0.2em;
  letter-spacing: 0;
}

.mahoritsu-characters-sublist__name .--imgTxt {
  width: auto;
  height: 0.6875em;
}

.mahoritsu-characters-list__name .--name-4 {
  aspect-ratio: 129 / 12;
  background-image: url(../img/top/reiya_name.svg);
}

.mahoritsu-characters-list__name .--name-5 {
  aspect-ratio: 117 / 12;
  background-image: url(../img/top/saemon_name.svg);
}

.mahoritsu-characters-list__name .--name-6 {
  aspect-ratio: 122 / 12;
  background-image: url(../img/top/sumire_name.svg);
}

.mahoritsu-characters-sublist__name .--name-7 {
  aspect-ratio: 124 / 12;
  background-image: url(../img/top/kotoko_name.svg);
}

.mahoritsu-characters-sublist__name .--name-8 {
  aspect-ratio: 41 / 12;
  background-image: url(../img/top/saori_name.svg);
}

.mahoritsu-characters-sublist .mahoritsu-text-1 {
  line-height: 1.6;
  color: var(--color-white);
}

@media all and (min-width: 768px) {
  .mahoritsu-characters-sublist {
    margin-top: 7em;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 3.125em;
    row-gap: 3.5em;
  }

  .mahoritsu-characters-sublist > li {
    width: calc((100% - 6.25em) / 3);
  }

  .mahoritsu-characters-sublist__name .--txt {
    font-size: 1.625em;
  }

  .mahoritsu-characters-sublist__name .--imgTxt {
    height: 0.75em;
  }
}

.mahoritsu-words-list-wrap {
  border: 1px solid var(--color-gold);
  padding: 0.25em;
  margin: 0 auto;
  max-width: 100%;
  width: 20.9375em;
  position: relative;
}

.mahoritsu-words-list-wrap::after {
  content: '';
  display: block;
  aspect-ratio: 185 / 363;
  width: 5.5625em;
  background: url(../img/top/img_stick.svg) no-repeat center / contain;
  position: absolute;
  top: -4.1875em;
  right: -1.9375em;
  animation: floatUpDown 3s ease-in-out infinite;
}

.mahoritsu-words-list {
  margin: 0;
  padding: 1.5em 1.25em;
  list-style: none;
  border: 0.125em solid var(--color-gold);
  background: url(../img/top/pattern_02.png) repeat center top / 23.6875em auto;
}

.mahoritsu-words-list > li {
  margin-bottom: 1.5625em;
}

.mahoritsu-words-list > li:last-child {
  margin-bottom: 0;
}

.mahoritsu-words-title {
  font-weight: 400;
  font-size: 1em;
  margin: 0 0 0.75em;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 0.625em;
  line-height: 1.7;
}

.mahoritsu-words-title .--txt-1 {
  color: var(--color-white);
  font-family: 'Noto Serif JP', serif;
  font-size: 1.125em;
  font-weight: 500;
  letter-spacing: 0;
  flex-shrink: 0;
}

.mahoritsu-words-title .--txt-2 {
  font-size: 0.75em;
  color: var(--color-gold);
}

.mahoritsu-words-title::before {
  content: '';
  display: block;
  aspect-ratio: 1 / 1;
  width: 1em;
  background: url(../img/common/star_gold.svg) no-repeat center / contain;
  flex-shrink: 0;
}

.mahoritsu-words-list .mahoritsu-text-1 {
  line-height: 1.6;
  color: var(--color-white);
}

@media all and (min-width: 768px) {
  .mahoritsu-words-list-wrap {
    width: 100%;
  }

  .mahoritsu-words-list-wrap::after {
    width: 11.5625em;
    top: -14.25em;
    right: -9.3125em;
  }

  .mahoritsu-words-list {
    padding: 3.4375em;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 2.8125em;
    row-gap: 3.125em;
  }

  .mahoritsu-words-list > li {
    margin-bottom: 0;
    max-width: 16.0625em;
    width: calc((100% - 5.625em) / 3);
  }

  .mahoritsu-words-list > li.--long {
    max-width: 21.125em;
    width: calc(50% - 1.40625em);
  }

  .mahoritsu-words-title {
    margin-bottom: 1.25em;
  }

  .mahoritsu-words-title .--txt-1 {
    font-size: 1.5em;
  }

  .mahoritsu-words-title .--txt-2 {
    font-size: 0.875em;
  }
}

.mahoritsu-special {
  margin: 5em auto 0;
  max-width: 100%;
  width: 20.9375em;
  border: 1px solid #7e181a;
  padding: 0.25em;
}

.mahoritsu-special.--color-2 {
  border-color: #4b2532;
}

.mahoritsu-special > div {
  border: 1px solid #7e181a;
  background-color: #f4edde;
  padding: 4.75em 1.25em 2.25em;
  position: relative;
}

.mahoritsu-special.--color-2 > div {
  border-color: #4b2532;
}

.mahoritsu-special__title {
  line-height: 1;
  font-size: 1em;
  margin: 0;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}

.mahoritsu-special__title.--ttl-1 {
  aspect-ratio: 513 / 215;
  width: 17.9375em;
  background-image: url(../img/top/title_shindan.png);
}

.mahoritsu-special__title.--ttl-2 {
  aspect-ratio: 500 / 211;
  width: 17.8125em;
  background-image: url(../img/top/title_contract.png);
}

.mahoritsu-special__inner {
  margin-bottom: 1.875em;
}

.mahoritsu-special__head {
  margin-bottom: 1.5em;
}

.mahoritsu-special__thumb {
  line-height: 1;
}

.mahoritsu-special__text-1 {
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 0.33333333em;
  color: #60502e;
  letter-spacing: 0;
}

.mahoritsu-special__text-2 {
  text-align: center;
  font-size: 0.875em;
  font-weight: 500;
  margin: 0;
  color: #60502e;
}

.mahoritsu-special__text-2::before,
.mahoritsu-special__text-2::after {
  content: '';
  display: block;
  aspect-ratio: 140 / 13;
  background: url(../img/top/deco_line__sp.svg) no-repeat center / contain;
  margin: 0 auto;
  width: 10em;
  max-width: 100%;
}

.mahoritsu-special .mahoritsu-text-1 {
  color: var(--color-black);
  line-height: 1.6;
}

@media all and (max-width: 767px) {
  .--type-1 .mahoritsu-special__head {
    display: flex;
    align-items: center;
    position: relative;
    height: 7.8125em;
    padding-left: 8em;
  }

  .--type-1 .mahoritsu-special__thumb {
    width: 9.3125em;
    position: absolute;
    left: -0.5em;
    top: 0;
  }

  .--type-1 .mahoritsu-special__catch {
    margin-left: auto;
    width: fit-content;
    max-width: 100%;
  }

  .--type-2 .mahoritsu-special__thumb {
    margin: 0 auto;
    max-width: 100%;
    width: 9.6875em;
  }

  .mahoritsu-special__body {
    padding-left: 0.3125em;
    padding-right: 0.3125em;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-special__head .mahoritsu-special__catch {
    display: none;
  }

  .mahoritsu-special {
    margin-top: 9.75em;
    width: 100%;
  }

  .mahoritsu-special > div {
    padding: 7.625em 4.6875em 2.8125em;
  }

  .mahoritsu-special__title.--ttl-1 {
    width: 32.0625em;
  }

  .mahoritsu-special__title.--ttl-2 {
    width: 31.25em;
  }

  .mahoritsu-special__inner {
    margin-bottom: 2.5em;
    display: flex;
    align-items: center;
  }

  .--type-1.mahoritsu-special__inner {
    column-gap: 2.3125em;
  }

  .--type-2.mahoritsu-special__inner {
    column-gap: 4.375em;
  }

  .mahoritsu-special__head {
    margin-bottom: 0;
    flex-shrink: 0;
  }

  .--type-1 .mahoritsu-special__head {
    width: 17.5em;
  }

  .--type-2 .mahoritsu-special__head {
    width: 14.3125em;
  }

  .mahoritsu-special__body {
    flex-grow: 1;
  }

  .mahoritsu-special__text-1 {
    font-size: 1.875em;
    margin-bottom: 0.43333333em;
  }

  .mahoritsu-special__text-2 {
    font-size: 1.125em;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 0.72222222em;
  }

  .mahoritsu-special__text-2 > span {
    display: inline-block;
    flex-shrink: 0;
  }

  .mahoritsu-special__text-2::before,
  .mahoritsu-special__text-2::after {
    aspect-ratio: 118 / 20;
    margin: 0;
    width: 6.55555556em;
  }

  .mahoritsu-special__text-2::before {
    background-image: url(../img/top/deco_line_left__pc.svg);
  }

  .mahoritsu-special__text-2::after {
    background-image: url(../img/top/deco_line_right__pc.svg);
  }

  .mahoritsu-special__body .mahoritsu-special__catch {
    margin-bottom: 1.5em;
  }
}

.mahoritsu-button-3 {
  margin: 0 auto;
  max-width: 100%;
}

.mahoritsu-button-3 a {
  display: block;
  border: 1px solid var(--color-gold);
  padding: 0.125em;
  text-decoration: none;
  text-align: center;
  color: var(--color-black);
}

.mahoritsu-button-3 a > span {
  background: var(--color-gold) url(../img/common/arrow_black.svg) no-repeat right 0.9375em center / 0.9375em auto;
  height: 3.375em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mahoritsu-button-3 a > span span {
  display: inline-block;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.7;
  font-weight: 500;
  font-size: 1em;
  letter-spacing: 0.06em;
}

@media (hover: hover) {
  .mahoritsu-button-3 a {
    transition: opacity 0.2s ease-out;
  }

  .mahoritsu-button-3 a:hover {
    opacity: 0.6;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-button-3 {
    width: 27.8125em;
  }

  .mahoritsu-button-3 a > span {
    background-position: right 1.875em center;
    height: 5.5em;
  }

  .mahoritsu-button-3 a > span span {
    font-size: 1.5em;
  }
}

.mahoritsu-sec-series {
  margin-bottom: 3.75em;
}

.mahoritsu-series-main {
  margin: 0 auto;
  max-width: 100%;
  width: 20.9375em;
  display: grid;
  grid-template-columns: 8.875em 1fr;
  grid-template-rows: auto 1fr;
  grid-column-gap: 1.875em;
  grid-row-gap: 1.875em;
}

.mahoritsu-series-main__image {
  line-height: 1;
}

.mahoritsu-series-main__image img {
  display: block;
  margin-left: auto;
  width: 7.625em;
}

.mahoritsu-series-main__title {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.25em;
  font-weight: 500;
  line-height: 1.5;
  margin: 0 0 0.55em;
  color: var(--color-gold);
}

.mahoritsu-series-main__text-1 {
  color: var(--color-white);
  font-family: 'Noto Serif JP', serif;
  font-size: 0.75em;
  font-weight: 500;
  line-height: 1.7;
  margin: 0;
}

.mahoritsu-series-main__text-2 {
  color: var(--color-gold);
  font-size: 0.8125em;
  line-height: 1.7;
  margin: 1.53846154em 0 0;
}

.mahoritsu-series-main .mahoritsu-text-1 {
  line-height: 1.6;
  color: var(--color-white);
}

.mahoritsu-links-2 {
  margin: 2.5em 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625em;
}

.mahoritsu-links-2 > li {
  width: calc((100% - 1.25em) / 3);
}

.mahoritsu-links-2 a {
  text-decoration: none;
  display: block;
  border: 1px solid var(--color-gold);
  padding: 0.125em;
}

.mahoritsu-links-2 a > span {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 2.9375em;
  background-position: right 0.3125em center;
  background-repeat: no-repeat;
  background-size: 0.625em auto;
  border: 0.125em solid var(--color-gold);
  padding-right: 0.9375em;
}

.mahoritsu-links-2 a.--btn-1 > span {
  background-color: var(--color-gold);
  color: var(--color-black);
  background-image: url(../img/common/arrow_black.svg);
}

.mahoritsu-links-2 a.--btn-2 > span {
  background-color: var(--color-black);
  color: var(--color-gold);
  background-image: url(../img/common/arrow_gold.svg);
}

.mahoritsu-links-2 a > span span {
  display: inline-block;
  font-family: 'Noto Serif JP', serif;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
}

@media all and (max-width: 767px) {
  .mahoritsu-series-main__image {
    grid-area: 1 / 1 / 2 / 2;
  }

  .mahoritsu-series-main__head {
    grid-area: 1 / 2 / 2 / 3;
  }

  .mahoritsu-series-main__body {
    grid-area: 2 / 1 / 3 / 3;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-sec-series {
    margin-bottom: 10em;
  }

  .mahoritsu-series-main {
    width: 100%;
  }

  .mahoritsu-series-main__title {
    font-size: 1.875em;
    margin-bottom: 0.36666667em;
  }

  .mahoritsu-series-main__text-1 {
    font-size: 0.875em;
  }

  .mahoritsu-series-main__text-2 {
    font-size: 0.9375em;
    margin-top: 1.33333333em;
  }

  .mahoritsu-links-2 {
    gap: 0.9375em;
  }

  .mahoritsu-links-2 > li {
    width: calc((100% - 1.875em) / 3);
  }

  .mahoritsu-links-2 a > span {
    height: 4.0625em;
    background-position: right 0.625em center;
    background-size: 0.9375em auto;
    padding-right: 1.5625em;
  }

  .mahoritsu-links-2 a > span span {
    font-size: 1.125em;
  }

  .mahoritsu-series-main__image img {
    width: 21.875em;
  }
}

@media all and (min-width: 768px) and (max-width: 959px) {
  .mahoritsu-series-main {
    grid-template-columns: 21.875em 1fr;
  }

  .mahoritsu-series-main .mahoritsu-series-main__image {
    grid-area: 1 / 1 / 3 / 2;
  }

  .mahoritsu-series-main .mahoritsu-series-main__head {
    grid-area: 1 / 2 / 2 / 3;
  }

  .mahoritsu-series-main .mahoritsu-series-main__body {
    grid-area: 2 / 2 / 3 / 3;
  }

  .mahoritsu-links-2 a > span {
    background-position: right 0.3125em center;
    padding-right: 1.25em;
  }
}

@media all and (min-width: 960px) {
  .mahoritsu-series-main {
    width: 100%;
    grid-template-columns: 25.8125em 1fr;
    grid-column-gap: 4.75em;
    grid-row-gap: 2.5em;
  }

  .mahoritsu-series-main .mahoritsu-series-main__image {
    grid-area: 1 / 1 / 3 / 2;
  }

  .mahoritsu-series-main .mahoritsu-series-main__head {
    grid-area: 1 / 2 / 2 / 3;
  }

  .mahoritsu-series-main .mahoritsu-series-main__body {
    grid-area: 2 / 2 / 3 / 3;
  }
}

@media (hover: hover) {
  .mahoritsu-links-2 a {
    transition: opacity 0.2s ease-out;
  }

  .mahoritsu-links-2 a:hover {
    opacity: 0.6;
  }
}

.mahoritsu-series-sub {
  margin: 4.375em auto 0;
  padding: 0;
  list-style: none;
  max-width: 100%;
  width: 20.9375em;
}

.mahoritsu-series-sub > li {
  margin-bottom: 3.75em;
  display: grid;
  grid-template-columns: 8.875em 1fr;
  grid-template-rows: auto 1fr;
  grid-column-gap: 1.875em;
  grid-row-gap: 1.875em;
}

.mahoritsu-series-sub > li:last-child {
  margin-bottom: 0;
}

.mahoritsu-series-sub .mahoritsu-text-1 {
  color: var(--color-white);
}

@media all and (min-width: 768px) {
  .mahoritsu-series-sub {
    margin-top: 7.5em;
    width: 100%;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 4em;
  }

  .mahoritsu-series-sub > li {
    margin-bottom: 0;
    width: calc(50% - 2em);
    grid-template-columns: 7.625em 1fr;
  }

  .mahoritsu-series-sub .mahoritsu-series-main__title {
    font-size: 1.5625em;
  }

  .mahoritsu-series-sub .mahoritsu-series-main__image {
    grid-area: 1 / 1 / 2 / 2;
  }

  .mahoritsu-series-sub .mahoritsu-series-main__head {
    grid-area: 1 / 2 / 2 / 3;
  }

  .mahoritsu-series-sub .mahoritsu-series-main__body {
    grid-area: 2 / 1 / 3 / 3;
  }
}

.mahoritsu-sec-creators {
  margin-top: 3.75em;
  margin-bottom: 3.75em;
}

.mahoritsu-creators {
  margin: 4.375em auto 0;
  padding: 0;
  list-style: none;
  max-width: 100%;
  width: 20.9375em;
}

.mahoritsu-creators > li {
  margin-bottom: 2.25em;
  position: relative;
  border: 1px solid var(--color-gold);
  padding: 0.25em;
}

.mahoritsu-creators > li:last-child {
  margin-bottom: 0;
}

.mahoritsu-creators__title {
  font-size: 1;
  margin: 0;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}

.mahoritsu-creators__title.--ttl-1 {
  aspect-ratio: 148 / 40;
  width: 9.25em;
  background-image: url(../img/top/creator_writer__sp.svg);
}

.mahoritsu-creators__title.--ttl-2 {
  aspect-ratio: 162 / 40;
  width: 10.125em;
  background-image: url(../img/top/creator_illustrator__sp.svg);
}

.mahoritsu-creators__card {
  margin: 0;
  padding: 2.5em 1.25em 2.25em;
  background: url(../img/top/pattern_02.png) repeat center top / 23.6875em auto;
  border: 0.125em solid var(--color-gold);
}

.mahoritsu-creators__card > dt {
  font-size: 1em;
  text-align: center;
  margin: 0 0 1em;
}

.mahoritsu-creators__card > dt .--txt-1 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-size: 1.5em;
  line-height: 1.5;
  color: var(--color-gold);
  margin-bottom: 0.41666667em;
  column-gap: 0.41666667em;
}

.mahoritsu-creators__card > dt .--txt-1 > span {
  display: inline-block;
  flex-shrink: 0;
}

.mahoritsu-creators__card > dt .--txt-1::before,
.mahoritsu-creators__card > dt .--txt-1::after {
  content: '';
  display: block;
  aspect-ratio: 1 / 1;
  width: 0.66666667em;
  background: url(../img/common/star_gold.svg) no-repeat center / contain;
}

.mahoritsu-creators__card > dt .--imgTxt {
  width: auto;
  height: 0.6875em;
}

.mahoritsu-creators__card > dt .--txt-2 {
  margin: 0 auto;
  aspect-ratio: 136 / 12;
  background-image: url(../img/top/shinkawa_name.svg);
}

.mahoritsu-creators__card > dt .--txt-3 {
  margin: 0 auto;
  aspect-ratio: 41 / 12;
  background-image: url(../img/top/teita_name.svg);
}

.mahoritsu-creators__card > dd {
  padding: 0;
  margin: 0;
}

.mahoritsu-creators .mahoritsu-text-1 {
  color: var(--color-white);
}

@media all and (min-width: 768px) {
  .mahoritsu-sec-creators {
    margin-top: 10em;
    margin-bottom: 10em;
  }

  .mahoritsu-creators {
    margin-top: 4.75em;
    width: 100%;
    display: flex;
    justify-content: space-between;
    column-gap: 4.375em;
    row-gap: 5.625em;
    flex-wrap: wrap;
  }

  .mahoritsu-creators > li {
    margin-bottom: 0;
    width: calc(50% - 2.1875em);
  }

  .mahoritsu-creators__title.--ttl-1 {
    background-image: url(../img/top/creator_writer__pc.svg);
  }

  .mahoritsu-creators__title.--ttl-2 {
    aspect-ratio: 189 / 40;
    width: 11.8125em;
    background-image: url(../img/top/creator_illustrator__pc.svg);
  }

  .mahoritsu-creators__card {
    padding: 2.8125em 2em 2.5em;
    height: 100%;
  }

  .mahoritsu-creators__card > dt {
    margin-bottom: 1.5em;
  }

  .mahoritsu-creators__card > dt .--txt-1 {
    font-size: 1.75em;
    margin-bottom: 0.35714286em;
    column-gap: 0.35714286em;
  }

  .mahoritsu-creators__card > dt .--txt-1::before,
  .mahoritsu-creators__card > dt .--txt-1::after {
    width: 0.57142857em;
  }

  .mahoritsu-creators__card > dt .--imgTxt {
    height: 0.75em;
  }
}

.mahoritsu-sec-share {
  margin-bottom: 5em;
}

.mahoritsu-share {
  margin: 1.5em 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 2.5em;
}

.mahoritsu-share > li {
  line-height: 1;
  width: 2em;
}

.mahoritsu-share a {
  display: block;
}

.mahoritsu-share button {
  cursor: pointer;
  appearance: none;
  font-size: 1em;
  line-height: 1;
  display: block;
  border: none;
  padding: 0;
  outline: none;
  background: none;
}

@media (hover: hover) {
  .mahoritsu-share a,
  .mahoritsu-share button {
    transition: opacity 0.2s ease-out;
  }

  .mahoritsu-share a:hover,
  .mahoritsu-share button:hover {
    opacity: 0.6;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-sec-share {
    margin-bottom: 10em;
  }

  .mahoritsu-share {
    column-gap: 5em;
    margin-top: 2.5em;
  }

  .mahoritsu-share > li {
    width: 3.75em;
  }
}

/*
====================
SHINDAN
====================
*/

.mahoritsu.--shindan {
  background: var(--color-gold) url(../img/top/pattern_01.png) repeat center top / 5.625em auto;
  padding: 2.875em 1.25em 2.8125em;
}

@media all and (min-width: 768px) {
  .mahoritsu.--shindan {
    padding-top: 4.375em;
    padding-bottom: 7.5em;
  }
}

.mahoritsu-shindan-head__card {
  background-color: #f4edde;
  margin-bottom: 1.3125em;
}

.mahoritsu-shindan-head__image {
  line-height: 1;
  width: 9.3125em;
}

.mahoritsu-shindan-head__campaign {
  width: fit-content;
}

.mahoritsu-shindan-head__text-1 {
  text-align: center;
  color: #60502e;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 0.33333333em;
}

.mahoritsu-shindan-head__text-2 {
  color: #60502e;
  text-align: center;
  font-size: 0.875em;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.02em;
  margin: 0;
}

.mahoritsu-shindan-head__text-2::before {
  content: '';
  display: block;
  margin: 0 auto 0.14285714em;
  aspect-ratio: 140 / 12;
  width: 10em;
  background: url(../img/shindan/deco_line.svg) no-repeat center / contain;
}

.mahoritsu-shindan-head__character {
  position: relative;
}

.mahoritsu-shindan-head__character img {
  width: 10em;
  display: block;
}

.mahoritsu-shindan-head__text-3 {
  margin: 0;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 11.8125em;
  height: 5.5625em;
  border-radius: 0.9375em;
  background-color: #fff;
  position: absolute;
  top: 0.5625em;
  right: 0;
}

.mahoritsu-shindan-head__text-3 span {
  aspect-ratio: 177 / 71;
  width: 8.625em;
  background-image: url(../img/shindan/text_01.svg);
}

.mahoritsu-shindan-head__text-3::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 0.5625em solid transparent;
  border-bottom: 0.5625em solid transparent;
  border-right: 1.5em solid #fff;
  border-left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -0.875em;
}

@media all and (max-width: 767px) {
  .mahoritsu-shindan-head__card {
    padding: 0.25em;
    border: 1px solid #60502e;
  }

  .mahoritsu-shindan-head__card > div {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.9375em 0;
    border: 1px solid #60502e;
  }

  .mahoritsu-shindan-head__campaign {
    flex-shrink: 0;
  }

  .mahoritsu-shindan-head__text-2::after {
    content: '';
    display: block;
    margin: 0.14285714em auto 0;
    aspect-ratio: 140 / 12;
    width: 10em;
    background: url(../img/shindan/deco_line.svg) no-repeat center / contain;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-shindan-head {
    position: relative;
    padding-left: 13.1875em;
  }

  .mahoritsu-shindan-head__card {
    background-color: #f4edde;
    margin-bottom: 0;
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    width: 15.625em;
    position: absolute;
    left: 0;
    bottom: -0.75em;
  }

  .mahoritsu-shindan-head__card > div {
    padding-top: 7.625em;
  }

  .mahoritsu-shindan-head__image {
    width: 11.25em;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -1.75em;
  }

  .mahoritsu-shindan-head__campaign {
    margin: 0 auto;
  }

  .mahoritsu-shindan-head__text-1 {
    font-size: 1.25em;
    margin-bottom: 0.3em;
  }

  .mahoritsu-shindan-head__text-2::before {
    width: 8.85714286em;
  }

  .mahoritsu-shindan-head__character img {
    width: 18.375em;
  }

  .mahoritsu-shindan-head__text-3 {
    width: 15.375em;
    height: 8.25em;
    border-radius: 1.375em;
    top: 3.4375em;
  }

  .mahoritsu-shindan-head__text-3 span {
    width: 11.0625em;
  }

  .mahoritsu-shindan-head__text-3::before {
    border-top: 0.8125em solid transparent;
    border-bottom: 0.8125em solid transparent;
    border-right: 2.1875em solid #fff;
    left: -1.3125em;
  }
}

@media all and (min-width: 860px) {
  .mahoritsu-shindan-head__card {
    left: -1.6875em;
  }
}

.mahoritsu-shindan-questions {
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
}

.mahoritsu-shindan-questions > li {
  padding: 1.5625em;
  background: url(../img/shindan/deco_01_top_left.svg) no-repeat left 0.3125em top 0.3125em / 3.75em auto, url(../img/shindan/deco_01_top_right.svg) no-repeat right 0.3125em top 0.3125em / 3.75em auto,
    url(../img/shindan/deco_01_bottom_right.svg) no-repeat right 0.3125em bottom 0.3125em / 3.75em auto,
    url(../img/shindan/deco_01_bottom_left.svg) no-repeat left 0.3125em bottom 0.3125em / 3.75em auto;
  background-color: #fff;
  border-radius: 0.625em;
  box-shadow: 0 0 0.625em 0 rgba(0, 0, 0, 0.3);
  min-height: 22.125em;
}

.mahoritsu-shindan-questions__title {
  font-size: 1em;
  text-align: center;
  margin: 0 0 0.9375em;
  font-weight: 400;
}

.mahoritsu-shindan-questions__title .--number {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 46 / 44;
  font-family: 'Noto Serif JP', serif;
  color: #fff;
  line-height: 1;
  width: 2.875em;
  background: url(../img/shindan/no_bg.svg) no-repeat center / contain;
  margin: 0 auto 0.3125em;
}

.mahoritsu-shindan-questions__title .--text {
  display: block;
  color: #7e181a;
  text-align: center;
  font-size: 0.9375em;
  font-weight: 700;
  line-height: 1.5;
}

.mahoritsu-shindan-questions__selection {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.625em;
}

.contact-radio {
  width: calc(50% - 0.3125em);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 8.125em;
  padding: 1.5em 0.8125em;
  border-radius: 0.625em;
  background-color: #f4edde;
  box-shadow: 0 0.1875em 0 0 rgba(0, 0, 0, 0.2);
  transition: background-color 0.2s ease-out;
  cursor: pointer;
}

.contact-radio input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
}

.contact-radio__label {
  color: #7e181a;
  text-align: center;
  font-size: 0.875em;
  font-weight: 500;
  line-height: 1.5;
  display: block;
  width: 100%;
  cursor: pointer;
  transition: color 0.2s ease-out;
}

.contact-radio::after {
  content: '';
  display: block;
  aspect-ratio: 16 / 9;
  width: 1em;
  background: url(../img/common/arrow_red.svg) no-repeat center / contain;
  margin: 0.625em auto 0;
}

.contact-radio:has(input:checked) {
  background-color: #7e181a;
}

.contact-radio:has(input:checked)::after {
  background-image: url(../img/common/arrow_white.svg);
}

.contact-radio:has(input:checked) .contact-radio__label {
  color: #fff;
}

.mahoritsu-shindan-questions__back {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  color: #7e181a;
  font-family: 'Noto Serif JP', serif;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.02em;
  margin: 1.25em auto 0;
  column-gap: 0.625em;
  border: none;
  padding: 0;
  background: transparent;
  padding: 0;
  outline: none;
  cursor: pointer;
}

.mahoritsu-shindan-questions__back::before {
  content: '';
  display: block;
  aspect-ratio: 16 / 9;
  width: 1em;
  background: url(../img/common/arrow_back_red.svg) no-repeat center / contain;
}

@media (hover: hover) {
  .contact-radio:hover {
    background-color: #7e181a;
  }

  .contact-radio:hover::after {
    background-image: url(../img/common/arrow_white.svg);
  }

  .contact-radio:hover .contact-radio__label {
    color: #fff;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-shindan-questions > li {
    padding: 1.75em 5em;
    background-size: 5em auto, 5em auto, 5em auto, 5em auto;
    min-height: 22.8125em;
  }

  .mahoritsu-shindan-questions__title {
    font-size: 1em;
    text-align: center;
    margin: 0 0 0.9375em;
    font-weight: 400;
  }

  .mahoritsu-shindan-questions__title .--number {
    font-size: 1.25em;
    margin-bottom: 1em;
  }

  .mahoritsu-shindan-questions__title .--text {
    font-size: 1.125em;
  }

  .mahoritsu-shindan-questions__selection {
    margin-top: 1.5625em;
  }

  .contact-radio {
    height: 7em;
    padding: 1em 2.5em;
    flex-direction: row;
  }

  .contact-radio__label {
    font-size: 1.0625em;
    text-align: left;
  }

  .contact-radio::after {
    margin: 0 0 0 1.25em;
    flex-shrink: 0;
  }
}

.mahoritsu-result {
  margin: 0 auto 2em;
}

.mahoritsu-result__title {
  font-size: 1em;
  line-height: 1;
  margin: 0 auto 1.3125em;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3em;
  border-radius: 3em;
  background-color: #f4edde;
}

.mahoritsu-result__title > span {
  aspect-ratio: 276 / 20;
  width: 13.8125em;
  background-image: url(../img/shindan/text_02.svg);
}

.mahoritsu-result__character {
  overflow: clip;
  border-radius: 0.9375em;
  margin: 0 auto;
  line-height: 1;
  max-width: 100%;
}

.mahoritsu-result__character img {
  display: block;
}

@media all and (min-width: 768px) {
  .mahoritsu-result {
    margin-bottom: 3.75em;
    background: url(../img/shindan/deco_01_top_left.svg) no-repeat left 0.9375em top 0.9375em / 6em auto, url(../img/shindan/deco_01_top_right.svg) no-repeat right 0.9375em top 0.9375em / 6em auto,
      url(../img/shindan/deco_01_bottom_right.svg) no-repeat right 0.9375em bottom 0.9375em / 6em auto, url(../img/shindan/deco_01_bottom_left.svg) no-repeat left 0.9375em bottom 0.9375em / 6em auto,
      url(../img/shindan/bg_1.svg) no-repeat right 1.5em bottom 6.1875em / 16.25em auto, url(../img/shindan/bg_2.png) no-repeat right bottom / 100% 100%;
    background-color: #7e181a;
    padding: 3.5625em 1em 3.75em;
  }

  .mahoritsu-result__title {
    width: 31.875em;
    margin-bottom: 1.6875em;
  }

  .mahoritsu-result__title > span {
    width: 17.25em;
  }

  .mahoritsu-result__character {
    width: 27.1875em;
    border-radius: 1.25em;
    box-shadow: 0 0.25em 1.5em 0 rgba(0, 0, 0, 0.5);
  }
}

.mahoritsu-button-4 {
  font-size: 1em;
  font-weight: 500;
  text-align: center;
  line-height: 1.7;
  letter-spacing: 0.06em;
  font-family: 'Noto Serif JP', serif;
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
}

.mahoritsu-button-4 a {
  padding: 0.125em;
  border: 1px solid #7e181a;
  color: #fff;
  text-decoration: none;
  display: block;
}

.mahoritsu-button-4 a > span {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #7e181a url(../img/common/arrow_white.svg) no-repeat right 0.9375em center / 0.9375em auto;
  height: 3.375em;
}

@media (hover: hover) {
  .mahoritsu-button-4 a {
    transition: opacity 0.2s ease-out;
  }

  .mahoritsu-button-4 a:hover {
    opacity: 0.6;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-button-4 {
    width: 18.54166667em;
    font-size: 1.5em;
  }

  .mahoritsu-button-4 a {
    padding: 1px;
  }

  .mahoritsu-button-4 a > span {
    height: 3.66666667em;
    background-position: right 1.25em center;
    background-size: 0.625em auto;
  }
}

.mahoritsu-campaign {
  border: 1px solid #60502e;
  padding: 0.125em;
  margin: 2em auto;
  background-color: #f4edde;
}

.mahoritsu-campaign > div {
  padding: 1.25em 0.9em;
  border: 1px solid #60502e;
}

.mahoritsu-campaign__card {
  display: flex;
  align-items: center;
  margin-bottom: 1.25em;
}

.mahoritsu-campaign__image {
  line-height: 1;
  width: 9.3125em;
}

.mahoritsu-campaign__text-1 {
  color: #60502e;
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 0.33333333em;
}

.mahoritsu-campaign__text-2 {
  color: #60502e;
  text-align: center;
  font-size: 0.875em;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.02em;
  margin: 0;
}

.mahoritsu-campaign__text-2::before,
.mahoritsu-campaign__text-2::after {
  content: '';
  display: block;
  aspect-ratio: 140 / 12;
  width: 10em;
  background: url(../img/shindan/deco_line.svg) no-repeat center / contain;
}

.mahoritsu-campaign__text-2::before {
  margin: 0 auto 0.14285714em;
}

.mahoritsu-campaign__text-2::after {
  margin: 0.14285714em auto 0;
}

.mahoritsu-campaign__text-3 {
  color: #000;
  font-size: 0.875em;
  line-height: 1.6;
  letter-spacing: 0.02em;
  margin: 0;
  padding: 0 0.5em;
}

@media all and (min-width: 768px) {
  .mahoritsu-campaign {
    padding: 0.25em;
    margin-top: 5em;
    margin-bottom: 4.6875em;
  }

  .mahoritsu-campaign > div {
    padding: 2.5em 2em;
    border-width: 2px;
  }

  .mahoritsu-campaign__card {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    column-gap: 1.6875em;
  }

  .mahoritsu-campaign__image {
    width: 17.5em;
  }

  .mahoritsu-campaign__details {
    flex-shrink: 0;
    width: 22.5em;
  }

  .mahoritsu-campaign__text-1 {
    font-size: 1.875em;
    margin-bottom: 0.43333333em;
  }

  .mahoritsu-campaign__text-2 {
    font-size: 1.125em;
    margin-bottom: 1.27777778em;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 0.72222222em;
  }

  .mahoritsu-campaign__text-2 > span {
    display: inline-block;
    flex-shrink: 0;
  }

  .mahoritsu-campaign__text-2::before,
  .mahoritsu-campaign__text-2::after {
    content: '';
    display: block;
    aspect-ratio: 70 / 19;
    width: 3.88888889em;
  }

  .mahoritsu-campaign__text-2::before {
    margin: 0;
    background-image: url(../img/shindan/deco_line_left.svg);
  }

  .mahoritsu-campaign__text-2::after {
    margin: 0;
    background-image: url(../img/shindan/deco_line_right.svg);
  }

  .mahoritsu-campaign__text-3 {
    font-size: 1em;
  }
}

.mahoritsu-caution {
  background-color: #f4edde;
  margin-bottom: 2.5em;
}

.mahoritsu-caution__title {
  color: #fff;
  text-align: center;
  font-size: 0.875em;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
  padding: 0.71428571em;
  background-color: #000;
  margin: 0;
}

.mahoritsu-caution__inner {
  padding: 0.9375em 0.9375em 2.5em;
}

.mahoritsu-caution__list-1 {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.75em;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #000;
}

.mahoritsu-caution__list-1 > li {
  margin-bottom: 1.25em;
  background: url(../img/common/star_dark.svg) no-repeat left 0.41666667em / 0.83333333em auto;
  padding-left: 1.08333333em;
}

.mahoritsu-caution__list-1 > li:last-child {
  margin-bottom: 0;
}

.mahoritsu-caution__list-2 {
  list-style: disc;
  padding-inline-start: 1.5em;
  margin: 0.3125em 0 0 -1.08333333em;
}

@media all and (min-width: 768px) {
  .mahoritsu-caution {
    margin-bottom: 5em;
  }

  .mahoritsu-caution__title {
    font-size: 1.125em;
    padding: 0.55555556em;
  }

  .mahoritsu-caution__inner {
    padding: 2.5em;
  }

  .mahoritsu-caution__list-1 {
    font-size: 0.875em;
  }

  .mahoritsu-caution__list-1 > li {
    margin-bottom: 1.78571429em;
    background-position: left 0.35714286em;
    background-size: 0.85714286em auto;
    padding-left: 1.07142857em;
  }

  .mahoritsu-caution__list-1 > li:last-child {
    margin-bottom: 0;
  }

  .mahoritsu-caution__list-2 {
    margin-top: 0.35714286em;
  }
}

.--shindan .mahoritsu-footer {
  border-top-color: #60502e;
}

/*
====================
CONTRACT MAKER
====================
*/

.mahoritsu.--contractMaker {
  background: #f5efdf url(../img/common/bg_pattern_1.svg) repeat center top / 9.6875em auto;
  padding: 2.875em 1.25em 2.8125em;
}

.mahoritsu-group-1__image {
  line-height: 1;
  margin: 0 auto 2.1875em;
  width: 12.5em;
}

.mahoritsu-text-1 {
  font-size: 0.875em;
  margin: 0;
}

@media all and (min-width: 768px) {
  .mahoritsu.--contractMaker {
    padding-top: 4.375em;
    padding-bottom: 7.5em;
  }

  .mahoritsu-group-1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .mahoritsu-group-1__image {
    width: 37.33333333%;
  }

  .mahoritsu-group-1__body {
    width: 54.66666667%;
  }

  .mahoritsu-text-1 {
    font-size: 1em;
  }
}

.mahoritsu-form-1 {
  display: flex;
  flex-direction: column;
  row-gap: 1.875em;
  margin: 3.125em auto 1.875em;
  width: 100%;
  position: relative;
  background: url(../img/common/deco_01.svg) no-repeat center top 2.375em / 15.6875em auto, url(../img/common/deco_02.svg) no-repeat center bottom 4em / 15.6875em auto;
  background-color: var(--color-white);
  padding: 5.5em 1.5625em 8.375em;
  border-radius: 0 0 0.625em 0.625em;
}

.mahoritsu-form-1::before,
.mahoritsu-form-1::after {
  content: '';
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}

.mahoritsu-form-1::before {
  background-image: url(../img/contract-maker/deco_top_paper__sp.png);
  aspect-ratio: 365 / 41;
  width: 22.8125em;
  left: -0.9375em;
  top: -1.0625em;
}

.mahoritsu-form-1::after {
  background-image: url(../img/contract-maker/deco_under_paper__sp.svg);
  aspect-ratio: 356 / 33;
  width: 22.25em;
  left: -1em;
  bottom: 0;
}

.mahoritsu-form-1__set-1 {
  display: flex;
  flex-direction: column;
  row-gap: 1.5em;
}

.mahoritsu-form-1__set-2 {
  display: flex;
  flex-direction: column;
  row-gap: 1.875em;
}

.mahoritsu-form-1__field-1 {
  display: flex;
  flex-direction: column;
  row-gap: 0.625em;
}

.mahoritsu-form-1__text-1 {
  margin: 0;
  font-size: 0.875em;
  font-weight: 700;
}

.mahoritsu-form-1__text-1.--has-star {
  display: flex;
  align-items: center;
  column-gap: 0.57142857em;
}

.mahoritsu-form-1__text-1.--has-star::before {
  content: '';
  display: block;
  aspect-ratio: 16 / 17;
  width: 1.14285714em;
  background: url(../img/common/star_dark.svg) no-repeat center / contain;
  flex-shrink: 0;
}

.mahoritsu-form-1__error-1 {
  font-size: 0.8125em;
  font-weight: 700;
  margin: 0;
  line-height: 1.7;
  color: var(--color-red);
}

.mahoritsu-form-1__error-2 {
  font-size: 0.8125em;
  font-weight: 700;
  text-align: center;
  margin: -1.15384615em auto 0;
  padding: 0.76923077em;
  background-color: #f9dcdc;
  line-height: 1.7;
  color: var(--color-red);
  max-width: 34.23076923em;
  width: 100%;
}

@media all and (min-width: 768px) {
  .mahoritsu-form-1__error-2 {
    margin-top: -1.53846154em;
  }
}

.mahoritsu-form-1__input-1 {
  appearance: none;
  font-size: 0.875em;
  line-height: 1.7;
  letter-spacing: 0.02em;
  padding: 0.71428571em 1em;
  border: 1px solid var(--color-gold);
  background-color: var(--color-white);
}

.mahoritsu-form-1__input-1.--error {
  border-color: var(--color-red);
}

.mahoritsu-form-1__input-1::placeholder {
  color: #a5a5a5;
}

.mahoritsu-form-1__group-1 {
  display: flex;
  column-gap: 0.625em;
}

.mahoritsu-form-1__group-1-block {
  display: flex;
  align-items: flex-end;
  column-gap: 0.3125em;
}

.mahoritsu-form-1__group-1-block > span {
  font-size: 0.875em;
  display: inline-block;
  flex-shrink: 0;
}

.mahoritsu-select-1 {
  border: 1px solid var(--color-gold);
  font-size: 0.875em;
  line-height: 1.7;
  letter-spacing: 0.02em;
  background: var(--color-white) url(../img/common/arrow_drop_down.svg) no-repeat right 0.28571429em center / 1.14285714em auto;
}

.mahoritsu-select-1 select {
  appearance: none;
  background-color: transparent;
  border: none;
  margin: 0;
  width: 100%;
  font-family: inherit;
  font-size: inherit;
  cursor: inherit;
  line-height: inherit;
  outline: none;
  cursor: pointer;
  color: inherit;
  min-width: 3.5em;
  padding: 0.71428571em 1.5em 0.71428571em 0.5em;
}

.mahoritsu-form-1__text-2 {
  font-size: 0.875em;
  margin: 0 0 0.71428571em;
}

.mahoritsu-form-1__text-2:last-child {
  margin-bottom: 0;
}

.mahoritsu-form-1__list-1 {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mahoritsu-form-1__list-1 > li {
  margin-bottom: 0.5em;
}

.mahoritsu-form-1__list-1 > li:last-child {
  margin-bottom: 0;
}

.mahoritsu-radio {
  display: flex;
  align-items: center;
  font-size: 0.8125em;
  column-gap: 0.76923077em;
  border: 1px solid var(--color-gold);
  padding: 0.76923077em;
  width: 100%;
  cursor: pointer;
  position: relative;
}

.mahoritsu-radio.--error {
  border-color: var(--color-red);
}

.mahoritsu-radio:has(input:checked) {
  background-color: #f9f7e6;
}

.mahoritsu-radio input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.mahoritsu-radio__control {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  aspect-ratio: 1 / 1;
  width: 1.23076923em;
  border-radius: 50%;
  border: 1px solid var(--color-gold);
}

input:checked + .mahoritsu-radio__control {
  border-color: var(--color-main);
}

input:checked + .mahoritsu-radio__control::after {
  content: '';
  display: block;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: var(--color-main);
  width: calc(100% - 0.46153846em);
}

.mahoritsu-button-1 {
  appearance: none;
  font-size: 1em;
  font-weight: 500;
  text-align: center;
  line-height: 1.7;
  letter-spacing: 0.06em;
  font-family: 'Noto Serif JP', serif;
  padding: 0.125em;
  border: 1px solid var(--color-main);
  color: var(--color-white);
  cursor: pointer;
  background: none;
  display: block;
  margin: 0 auto;
  max-width: 100%;
  width: 18.54166667em;
}

.mahoritsu-button-1 > span {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-main) url(../img/common/arrow_white.svg) no-repeat right 0.9375em center / 0.9375em auto;
  height: 3.375em;
}

@media (hover: hover) {
  .mahoritsu-radio {
    transition: background-color 0.2s ease-out;
  }

  .mahoritsu-radio:hover {
    background-color: #f9f7e6;
  }

  .mahoritsu-button-1 {
    transition: opacity 0.2s ease-out;
  }

  .mahoritsu-button-1:hover {
    opacity: 0.6;
  }
}

@media all and (min-width: 768px) {
  .mahoritsu-form-1 {
    margin-top: 8em;
    margin-bottom: 4em;
    background-position: center top 3.0625em, center bottom 7.5em;
    background-size: 23.75em auto, 23.75em auto;
    padding: 8.0625em 4.6875em 14.0625em;
    max-width: 42.5em;
    row-gap: 2.5em;
  }

  .mahoritsu-form-1::before {
    background-image: url(../img/contract-maker/deco_top_paper__pc.png);
    aspect-ratio: 750 / 85;
    width: 46.875em;
    left: -2.1875em;
    top: -3.625em;
  }

  .mahoritsu-form-1::after {
    background-image: url(../img/contract-maker/deco_under_paper__pc.svg);
    aspect-ratio: 768 / 69;
    width: 48em;
    left: -4.1875em;
  }

  .mahoritsu-form-1__text-1 {
    font-size: 1em;
  }

  .mahoritsu-form-1__text-1.--has-star {
    column-gap: 0.5em;
  }

  .mahoritsu-form-1__text-1.--has-star::before {
    width: 1em;
  }

  .mahoritsu-form-1__input-1 {
    font-size: 1em;
    padding: 0.625em 0.9375em;
  }

  .mahoritsu-form-1__group-1-block > span {
    font-size: 1em;
  }

  .mahoritsu-select-1 {
    font-size: 1em;
    background-position: right 0.25em center;
    background-size: 1em auto;
  }

  .mahoritsu-select-1 select {
    padding: 0.625em 1.3125em 0.625em 0.5em;
  }

  .mahoritsu-form-1__text-2 {
    font-size: 1em;
    margin-bottom: 1.25em;
  }

  .mahoritsu-radio {
    font-size: 0.9375em;
    column-gap: 0.66666667em;
    padding: 0.66666667em;
  }

  .mahoritsu-radio__control {
    width: 1.2em;
  }

  input:checked + .mahoritsu-radio__control::after {
    width: calc(100% - 0.4em);
  }

  .mahoritsu-button-1 {
    font-size: 1.5em;
    padding: 0.08333333em;
    margin-top: 0.66666667em;
  }

  .mahoritsu-button-1 > span {
    background-position: right 1.20833333em center;
    background-size: 0.625em auto;
    height: 3.66666667em;
  }
}

.mahoritsu-form-1__error-1,
.mahoritsu-form-1__error-2 {
  overflow: hidden;
  opacity: 1;
  transition: max-height 0.2s ease-out, opacity 0.2s ease-out;
}

.mahoritsu-form-1__error-1 {
  max-height: 1.7em;
}

.mahoritsu-form-1__error-2 {
  max-height: 3.4em;
}

.mahoritsu-form-1__error-1.--hidden,
.mahoritsu-form-1__error-2.--hidden {
  max-height: 0;
  opacity: 0;
}

.mahoritsu-form-1__input-1,
.mahoritsu-radio {
  transition: border-color 0.2s ease-out;
}
