@charset "UTF-8";
:root {
  --main-container: 100%;
}
@media only screen and (min-width: 100%) {
  :root {
    --main-container: 100%;
  }
}
@media only screen and (min-width: 576px) {
  :root {
    --main-container: 540px;
  }
}
@media only screen and (min-width: 768px) {
  :root {
    --main-container: 720px;
  }
}
@media only screen and (min-width: 992px) {
  :root {
    --main-container: 960px;
  }
}
@media only screen and (min-width: 1200px) {
  :root {
    --main-container: 1140px;
  }
}
@media only screen and (min-width: 1400px) {
  :root {
    --main-container: 1320px;
  }
}

/* ----------------------
 * 汎用Style
 * ---------------------- */
/* 非表示設定 */
.d-none {
  display: none;
}

/* モバイルデバイス以下非表示 */
.d-none-md-min {
  display: none;
}
@media only screen and (min-width: 992px) {
  .d-none-md-min {
    display: contents;
  }
}

/* モバイルデバイス以上非表示 */
@media only screen and (min-width: 768px) {
  .d-none-md {
    display: none;
  }
}

/* PC以上非表示 */
@media only screen and (min-width: 992px) {
  .d-none-lg {
    display: none;
  }
}

@media only screen and (min-width: 1200px) {
  .d-none-xl {
    display: none;
  }
}

/* 中央揃え */
.txt-center {
  text-align: center !important;
}

.txt-right {
  text-align: right !important;
}

.txt-left {
  text-align: left !important;
}

/* font太さ */
.weight-normal {
  font-weight: normal !important;
}

.weight-bold {
  font-weight: bold !important;
}

a {
  color: #403370;
}
a:hover {
  color: #645BD1;
}
a img:hover, a img:active {
  opacity: 0.8;
}

/* 色*/
.bg-main {
  background: #645BD1 !important;
}

.txt-main {
  color: #645BD1 !important;
}

.marker-main {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #645BD1));
  background: linear-gradient(transparent 60%, #645BD1 0%);
}

.border-main {
  border: 1px solid #645BD1;
}

.border-b-main {
  border-bottom: 1px solid #645BD1 !important;
}

.bg-sub-main {
  background: #403370 !important;
}

.txt-sub-main {
  color: #403370 !important;
}

.marker-sub-main {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #403370));
  background: linear-gradient(transparent 60%, #403370 0%);
}

.border-sub-main {
  border: 1px solid #403370;
}

.border-b-sub-main {
  border-bottom: 1px solid #403370 !important;
}

.bg-none {
  background: #fff !important;
}

.txt-none {
  color: #fff !important;
}

.marker-none {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #fff));
  background: linear-gradient(transparent 60%, #fff 0%);
}

.border-none {
  border: 1px solid #fff;
}

.border-b-none {
  border-bottom: 1px solid #fff !important;
}

.bg-text {
  background: #464646 !important;
}

.txt-text {
  color: #464646 !important;
}

.marker-text {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #464646));
  background: linear-gradient(transparent 60%, #464646 0%);
}

.border-text {
  border: 1px solid #464646;
}

.border-b-text {
  border-bottom: 1px solid #464646 !important;
}

.bg-border {
  background: #BFBAFF !important;
}

.txt-border {
  color: #BFBAFF !important;
}

.marker-border {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #BFBAFF));
  background: linear-gradient(transparent 60%, #BFBAFF 0%);
}

.border-border {
  border: 1px solid #BFBAFF;
}

.border-b-border {
  border-bottom: 1px solid #BFBAFF !important;
}

.bg-border-deep {
  background: #9A8DCB !important;
}

.txt-border-deep {
  color: #9A8DCB !important;
}

.marker-border-deep {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #9A8DCB));
  background: linear-gradient(transparent 60%, #9A8DCB 0%);
}

.border-border-deep {
  border: 1px solid #9A8DCB;
}

.border-b-border-deep {
  border-bottom: 1px solid #9A8DCB !important;
}

.bg-border-dark {
  background: #707070 !important;
}

.txt-border-dark {
  color: #707070 !important;
}

.marker-border-dark {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #707070));
  background: linear-gradient(transparent 60%, #707070 0%);
}

.border-border-dark {
  border: 1px solid #707070;
}

.border-b-border-dark {
  border-bottom: 1px solid #707070 !important;
}

.bg-table-head {
  background: #9A8DCB !important;
}

.txt-table-head {
  color: #9A8DCB !important;
}

.marker-table-head {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #9A8DCB));
  background: linear-gradient(transparent 60%, #9A8DCB 0%);
}

.border-table-head {
  border: 1px solid #9A8DCB;
}

.border-b-table-head {
  border-bottom: 1px solid #9A8DCB !important;
}

.bg-table-subhead {
  background: #403370 !important;
}

.txt-table-subhead {
  color: #403370 !important;
}

.marker-table-subhead {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #403370));
  background: linear-gradient(transparent 60%, #403370 0%);
}

.border-table-subhead {
  border: 1px solid #403370;
}

.border-b-table-subhead {
  border-bottom: 1px solid #403370 !important;
}

.bg-sun {
  background: #FF0000 !important;
}

.txt-sun {
  color: #FF0000 !important;
}

.marker-sun {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #FF0000));
  background: linear-gradient(transparent 60%, #FF0000 0%);
}

.border-sun {
  border: 1px solid #FF0000;
}

.border-b-sun {
  border-bottom: 1px solid #FF0000 !important;
}

.bg-sat {
  background: #0019FF !important;
}

.txt-sat {
  color: #0019FF !important;
}

.marker-sat {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #0019FF));
  background: linear-gradient(transparent 60%, #0019FF 0%);
}

.border-sat {
  border: 1px solid #0019FF;
}

.border-b-sat {
  border-bottom: 1px solid #0019FF !important;
}

.bg-holiday {
  background: #FF0000 !important;
}

.txt-holiday {
  color: #FF0000 !important;
}

.marker-holiday {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #FF0000));
  background: linear-gradient(transparent 60%, #FF0000 0%);
}

.border-holiday {
  border: 1px solid #FF0000;
}

.border-b-holiday {
  border-bottom: 1px solid #FF0000 !important;
}

.bg-back {
  background: rgba(246, 246, 246, 0.9647058824) !important;
}

.txt-back {
  color: rgba(246, 246, 246, 0.9647058824) !important;
}

.marker-back {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, rgba(246, 246, 246, 0.9647058824)));
  background: linear-gradient(transparent 60%, rgba(246, 246, 246, 0.9647058824) 0%);
}

.border-back {
  border: 1px solid rgba(246, 246, 246, 0.9647058824);
}

.border-b-back {
  border-bottom: 1px solid rgba(246, 246, 246, 0.9647058824) !important;
}

.bg-back-mobile-nav {
  background: #DBDBDB !important;
}

.txt-back-mobile-nav {
  color: #DBDBDB !important;
}

.marker-back-mobile-nav {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #DBDBDB));
  background: linear-gradient(transparent 60%, #DBDBDB 0%);
}

.border-back-mobile-nav {
  border: 1px solid #DBDBDB;
}

.border-b-back-mobile-nav {
  border-bottom: 1px solid #DBDBDB !important;
}

.bg-back-dark {
  background: #DBDBDB !important;
}

.txt-back-dark {
  color: #DBDBDB !important;
}

.marker-back-dark {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #DBDBDB));
  background: linear-gradient(transparent 60%, #DBDBDB 0%);
}

.border-back-dark {
  border: 1px solid #DBDBDB;
}

.border-b-back-dark {
  border-bottom: 1px solid #DBDBDB !important;
}

.bg-back-light {
  background: #F3F2FF !important;
}

.txt-back-light {
  color: #F3F2FF !important;
}

.marker-back-light {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #F3F2FF));
  background: linear-gradient(transparent 60%, #F3F2FF 0%);
}

.border-back-light {
  border: 1px solid #F3F2FF;
}

.border-b-back-light {
  border-bottom: 1px solid #F3F2FF !important;
}

.bg-back-title {
  background: #E8E6FF !important;
}

.txt-back-title {
  color: #E8E6FF !important;
}

.marker-back-title {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #E8E6FF));
  background: linear-gradient(transparent 60%, #E8E6FF 0%);
}

.border-back-title {
  border: 1px solid #E8E6FF;
}

.border-b-back-title {
  border-bottom: 1px solid #E8E6FF !important;
}

.bg-form {
  background: #A4A4A4 !important;
}

.txt-form {
  color: #A4A4A4 !important;
}

.marker-form {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #A4A4A4));
  background: linear-gradient(transparent 60%, #A4A4A4 0%);
}

.border-form {
  border: 1px solid #A4A4A4;
}

.border-b-form {
  border-bottom: 1px solid #A4A4A4 !important;
}

.bg-caution {
  background: #FF5757 !important;
}

.txt-caution {
  color: #FF5757 !important;
}

.marker-caution {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #FF5757));
  background: linear-gradient(transparent 60%, #FF5757 0%);
}

.border-caution {
  border: 1px solid #FF5757;
}

.border-b-caution {
  border-bottom: 1px solid #FF5757 !important;
}

.bg-warning {
  background: #FCEE21 !important;
}

.txt-warning {
  color: #FCEE21 !important;
}

.marker-warning {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #FCEE21));
  background: linear-gradient(transparent 60%, #FCEE21 0%);
}

.border-warning {
  border: 1px solid #FCEE21;
}

.border-b-warning {
  border-bottom: 1px solid #FCEE21 !important;
}

.bg-info {
  background: #9A8DCB !important;
}

.txt-info {
  color: #9A8DCB !important;
}

.marker-info {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #9A8DCB));
  background: linear-gradient(transparent 60%, #9A8DCB 0%);
}

.border-info {
  border: 1px solid #9A8DCB;
}

.border-b-info {
  border-bottom: 1px solid #9A8DCB !important;
}

.bg-notice {
  background: #00B4E8 !important;
}

.txt-notice {
  color: #00B4E8 !important;
}

.marker-notice {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #00B4E8));
  background: linear-gradient(transparent 60%, #00B4E8 0%);
}

.border-notice {
  border: 1px solid #00B4E8;
}

.border-b-notice {
  border-bottom: 1px solid #00B4E8 !important;
}

.bg-shimekiri {
  background: #00B4E8 !important;
}

.txt-shimekiri {
  color: #00B4E8 !important;
}

.marker-shimekiri {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #00B4E8));
  background: linear-gradient(transparent 60%, #00B4E8 0%);
}

.border-shimekiri {
  border: 1px solid #00B4E8;
}

.border-b-shimekiri {
  border-bottom: 1px solid #00B4E8 !important;
}

.bg-hayawari {
  background: #00B4E8 !important;
}

.txt-hayawari {
  color: #00B4E8 !important;
}

.marker-hayawari {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #00B4E8));
  background: linear-gradient(transparent 60%, #00B4E8 0%);
}

.border-hayawari {
  border: 1px solid #00B4E8;
}

.border-b-hayawari {
  border-bottom: 1px solid #00B4E8 !important;
}

.bg-tokkyu {
  background: #FF0000 !important;
}

.txt-tokkyu {
  color: #FF0000 !important;
}

.marker-tokkyu {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #FF0000));
  background: linear-gradient(transparent 60%, #FF0000 0%);
}

.border-tokkyu {
  border: 1px solid #FF0000;
}

.border-b-tokkyu {
  border-bottom: 1px solid #FF0000 !important;
}

.bg-notes {
  background: #FF0000 !important;
}

.txt-notes {
  color: #FF0000 !important;
}

.marker-notes {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #FF0000));
  background: linear-gradient(transparent 60%, #FF0000 0%);
}

.border-notes {
  border: 1px solid #FF0000;
}

.border-b-notes {
  border-bottom: 1px solid #FF0000 !important;
}

.bg-marker {
  background: #CFC !important;
}

.txt-marker {
  color: #CFC !important;
}

.marker-marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #CFC));
  background: linear-gradient(transparent 60%, #CFC 0%);
}

.border-marker {
  border: 1px solid #CFC;
}

.border-b-marker {
  border-bottom: 1px solid #CFC !important;
}

/* 色別枠線ブロック */
.frame-border-main {
  border: 3px solid #645BD1;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-main .header {
  background-color: #645BD1;
  color: #fff;
}
.frame-border-main .header,
.frame-border-main .body {
  border-color: #645BD1;
}

.frame-border-sub-main {
  border: 3px solid #403370;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-sub-main .header {
  background-color: #403370;
  color: #fff;
}
.frame-border-sub-main .header,
.frame-border-sub-main .body {
  border-color: #403370;
}

.frame-border-none {
  border: 3px solid #fff;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-none .header {
  background-color: #fff;
  color: #fff;
}
.frame-border-none .header,
.frame-border-none .body {
  border-color: #fff;
}

.frame-border-text {
  border: 3px solid #464646;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-text .header {
  background-color: #464646;
  color: #fff;
}
.frame-border-text .header,
.frame-border-text .body {
  border-color: #464646;
}

.frame-border-border {
  border: 3px solid #BFBAFF;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-border .header {
  background-color: #BFBAFF;
  color: #fff;
}
.frame-border-border .header,
.frame-border-border .body {
  border-color: #BFBAFF;
}

.frame-border-border-deep {
  border: 3px solid #9A8DCB;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-border-deep .header {
  background-color: #9A8DCB;
  color: #fff;
}
.frame-border-border-deep .header,
.frame-border-border-deep .body {
  border-color: #9A8DCB;
}

.frame-border-border-dark {
  border: 3px solid #707070;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-border-dark .header {
  background-color: #707070;
  color: #fff;
}
.frame-border-border-dark .header,
.frame-border-border-dark .body {
  border-color: #707070;
}

.frame-border-table-head {
  border: 3px solid #9A8DCB;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-table-head .header {
  background-color: #9A8DCB;
  color: #fff;
}
.frame-border-table-head .header,
.frame-border-table-head .body {
  border-color: #9A8DCB;
}

.frame-border-table-subhead {
  border: 3px solid #403370;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-table-subhead .header {
  background-color: #403370;
  color: #fff;
}
.frame-border-table-subhead .header,
.frame-border-table-subhead .body {
  border-color: #403370;
}

.frame-border-sun {
  border: 3px solid #FF0000;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-sun .header {
  background-color: #FF0000;
  color: #fff;
}
.frame-border-sun .header,
.frame-border-sun .body {
  border-color: #FF0000;
}

.frame-border-sat {
  border: 3px solid #0019FF;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-sat .header {
  background-color: #0019FF;
  color: #fff;
}
.frame-border-sat .header,
.frame-border-sat .body {
  border-color: #0019FF;
}

.frame-border-holiday {
  border: 3px solid #FF0000;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-holiday .header {
  background-color: #FF0000;
  color: #fff;
}
.frame-border-holiday .header,
.frame-border-holiday .body {
  border-color: #FF0000;
}

.frame-border-back {
  border: 3px solid rgba(246, 246, 246, 0.9647058824);
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-back .header {
  background-color: rgba(246, 246, 246, 0.9647058824);
  color: #fff;
}
.frame-border-back .header,
.frame-border-back .body {
  border-color: rgba(246, 246, 246, 0.9647058824);
}

.frame-border-back-mobile-nav {
  border: 3px solid #DBDBDB;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-back-mobile-nav .header {
  background-color: #DBDBDB;
  color: #fff;
}
.frame-border-back-mobile-nav .header,
.frame-border-back-mobile-nav .body {
  border-color: #DBDBDB;
}

.frame-border-back-dark {
  border: 3px solid #DBDBDB;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-back-dark .header {
  background-color: #DBDBDB;
  color: #fff;
}
.frame-border-back-dark .header,
.frame-border-back-dark .body {
  border-color: #DBDBDB;
}

.frame-border-back-light {
  border: 3px solid #F3F2FF;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-back-light .header {
  background-color: #F3F2FF;
  color: #fff;
}
.frame-border-back-light .header,
.frame-border-back-light .body {
  border-color: #F3F2FF;
}

.frame-border-back-title {
  border: 3px solid #E8E6FF;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-back-title .header {
  background-color: #E8E6FF;
  color: #fff;
}
.frame-border-back-title .header,
.frame-border-back-title .body {
  border-color: #E8E6FF;
}

.frame-border-form {
  border: 3px solid #A4A4A4;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-form .header {
  background-color: #A4A4A4;
  color: #fff;
}
.frame-border-form .header,
.frame-border-form .body {
  border-color: #A4A4A4;
}

.frame-border-caution {
  border: 3px solid #FF5757;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-caution .header {
  background-color: #FF5757;
  color: #fff;
}
.frame-border-caution .header,
.frame-border-caution .body {
  border-color: #FF5757;
}

.frame-border-warning {
  border: 3px solid #FCEE21;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-warning .header {
  background-color: #FCEE21;
  color: #fff;
}
.frame-border-warning .header,
.frame-border-warning .body {
  border-color: #FCEE21;
}

.frame-border-info {
  border: 3px solid #9A8DCB;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-info .header {
  background-color: #9A8DCB;
  color: #fff;
}
.frame-border-info .header,
.frame-border-info .body {
  border-color: #9A8DCB;
}

.frame-border-notice {
  border: 3px solid #00B4E8;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-notice .header {
  background-color: #00B4E8;
  color: #fff;
}
.frame-border-notice .header,
.frame-border-notice .body {
  border-color: #00B4E8;
}

.frame-border-shimekiri {
  border: 3px solid #00B4E8;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-shimekiri .header {
  background-color: #00B4E8;
  color: #fff;
}
.frame-border-shimekiri .header,
.frame-border-shimekiri .body {
  border-color: #00B4E8;
}

.frame-border-hayawari {
  border: 3px solid #00B4E8;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-hayawari .header {
  background-color: #00B4E8;
  color: #fff;
}
.frame-border-hayawari .header,
.frame-border-hayawari .body {
  border-color: #00B4E8;
}

.frame-border-tokkyu {
  border: 3px solid #FF0000;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-tokkyu .header {
  background-color: #FF0000;
  color: #fff;
}
.frame-border-tokkyu .header,
.frame-border-tokkyu .body {
  border-color: #FF0000;
}

.frame-border-notes {
  border: 3px solid #FF0000;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-notes .header {
  background-color: #FF0000;
  color: #fff;
}
.frame-border-notes .header,
.frame-border-notes .body {
  border-color: #FF0000;
}

.frame-border-marker {
  border: 3px solid #CFC;
  padding: 0.5rem 1rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.frame-border-marker .header {
  background-color: #CFC;
  color: #fff;
}
.frame-border-marker .header,
.frame-border-marker .body {
  border-color: #CFC;
}

/* テキストサイズ */
.txt-bold {
  font-weight: bold;
}

/* 枠線ブロック タイトル付き */
.frame-block {
  padding: 0;
}
.frame-block .header {
  padding: 15px 1rem;
  font-weight: bold;
  border-width: 3px;
  border-style: solid;
  font-size: 1.1rem;
}
.frame-block .body {
  padding: 0.5rem 1rem;
}

/* 枠線ブロック タイトル付き */
.frame-radius {
  border-radius: 25px;
}
.frame-radius .header {
  border-top-left-radius: 19px;
  border-top-right-radius: 19px;
}

.frame-radius-mid {
  border-radius: 15px;
}
.frame-radius-mid .header {
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
}

/* サイズ */
.w-auto {
  width: auto !important;
}

.w-50 {
  width: auto !important;
  min-width: 50% !important;
}

.w-100 {
  width: 100% !important;
}

/* スペース */
.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.pd-0 {
  padding: 0 !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* フォントサイズ */
.mb-min {
  margin-bottom: 10px !important;
}

.mt-min {
  margin-top: 10px !important;
}

.my-min {
  margin-bottom: 10px !important;
  margin-top: 10px !important;
}

.pd-min {
  padding: 10px !important;
}

.px-min {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.py-min {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.mb-mid {
  margin-bottom: 20px !important;
}

.mt-mid {
  margin-top: 20px !important;
}

.my-mid {
  margin-bottom: 20px !important;
  margin-top: 20px !important;
}

.pd-mid {
  padding: 20px !important;
}

.px-mid {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.py-mid {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.mb-mid2 {
  margin-bottom: 30px !important;
}

.mt-mid2 {
  margin-top: 30px !important;
}

.my-mid2 {
  margin-bottom: 30px !important;
  margin-top: 30px !important;
}

.pd-mid2 {
  padding: 30px !important;
}

.px-mid2 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.py-mid2 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.mb-max {
  margin-bottom: 60px !important;
}

.mt-max {
  margin-top: 60px !important;
}

.my-max {
  margin-bottom: 60px !important;
  margin-top: 60px !important;
}

.pd-max {
  padding: 60px !important;
}

.px-max {
  padding-left: 60px !important;
  padding-right: 60px !important;
}

.py-max {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

/* 画像元サイズ */
.img-full {
  max-width: 100%;
}
.img-full img {
  max-width: 100%;
}

.img-fit-y {
  height: 100%;
}
.img-fit-y img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* フォントサイズ */
.txt-size-min {
  font-size: 0.8rem !important;
}

.txt-size-sm {
  font-size: 0.9rem !important;
}

.txt-size-normal {
  font-size: 1rem !important;
}

.txt-size-mid {
  font-size: 1.1rem !important;
}

.txt-size-lg {
  font-size: 1.2rem !important;
}

.txt-size-max {
  font-size: 1.9rem !important;
}

/* 横並びコンテンツ */
.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 5px;
}
.d-flex.gap-min,
.d-flex .gap-min {
  gap: 10px;
}
.d-flex.gap-mid,
.d-flex .gap-mid {
  gap: 15px;
}
.d-flex.gap-max,
.d-flex .gap-max {
  gap: 20px;
}
.d-flex.evenly {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (min-width: 992px) {
  .d-flex.wrap-pc {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
  }
}
.d-flex-1-1 > * {
  width: 100%;
  max-width: calc((100% - 0px) / 1);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-1-2 > * {
  width: 100%;
  max-width: calc((100% - 20px) / 2);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-1-3 > * {
  width: 100%;
  max-width: calc((100% - 40px) / 3);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-1-4 > * {
  width: 100%;
  max-width: calc((100% - 60px) / 4);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-1-5 > * {
  width: 100%;
  max-width: calc((100% - 80px) / 5);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-1-6 > * {
  width: 100%;
  max-width: calc((100% - 100px) / 6);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-2-1 > * {
  width: 100%;
  max-width: calc((100% - 0px) / 1);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-2-2 > * {
  width: 100%;
  max-width: calc((100% - 20px) / 2);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-2-3 > * {
  width: 100%;
  max-width: calc((100% - 40px) / 3);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-2-4 > * {
  width: 100%;
  max-width: calc((100% - 60px) / 4);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-2-5 > * {
  width: 100%;
  max-width: calc((100% - 80px) / 5);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-2-6 > * {
  width: 100%;
  max-width: calc((100% - 100px) / 6);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-3-1 > * {
  width: 100%;
  max-width: calc((100% - 0px) / 1);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-3-2 > * {
  width: 100%;
  max-width: calc((100% - 20px) / 2);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-3-3 > * {
  width: 100%;
  max-width: calc((100% - 40px) / 3);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-3-4 > * {
  width: 100%;
  max-width: calc((100% - 60px) / 4);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-3-5 > * {
  width: 100%;
  max-width: calc((100% - 80px) / 5);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-3-6 > * {
  width: 100%;
  max-width: calc((100% - 100px) / 6);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-4-1 > * {
  width: 100%;
  max-width: calc((100% - 0px) / 1);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-4-2 > * {
  width: 100%;
  max-width: calc((100% - 20px) / 2);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-4-3 > * {
  width: 100%;
  max-width: calc((100% - 40px) / 3);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-4-4 > * {
  width: 100%;
  max-width: calc((100% - 60px) / 4);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-4-5 > * {
  width: 100%;
  max-width: calc((100% - 80px) / 5);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-4-6 > * {
  width: 100%;
  max-width: calc((100% - 100px) / 6);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-5-1 > * {
  width: 100%;
  max-width: calc((100% - 0px) / 1);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-5-2 > * {
  width: 100%;
  max-width: calc((100% - 20px) / 2);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-5-3 > * {
  width: 100%;
  max-width: calc((100% - 40px) / 3);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-5-4 > * {
  width: 100%;
  max-width: calc((100% - 60px) / 4);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-5-5 > * {
  width: 100%;
  max-width: calc((100% - 80px) / 5);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-5-6 > * {
  width: 100%;
  max-width: calc((100% - 100px) / 6);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-6-1 > * {
  width: 100%;
  max-width: calc((100% - 0px) / 1);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-6-2 > * {
  width: 100%;
  max-width: calc((100% - 20px) / 2);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-6-3 > * {
  width: 100%;
  max-width: calc((100% - 40px) / 3);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-6-4 > * {
  width: 100%;
  max-width: calc((100% - 60px) / 4);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-6-5 > * {
  width: 100%;
  max-width: calc((100% - 80px) / 5);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.d-flex-6-6 > * {
  width: 100%;
  max-width: calc((100% - 100px) / 6);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (min-width: 992px) {
  .d-flex-1-1 > * {
    width: 100%;
    max-width: calc((100% - 0px) / 1);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-1-2 > * {
    width: 100%;
    max-width: calc((100% - 0px) / 1);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-1-3 > * {
    width: 100%;
    max-width: calc((100% - 0px) / 1);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-1-4 > * {
    width: 100%;
    max-width: calc((100% - 0px) / 1);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-1-5 > * {
    width: 100%;
    max-width: calc((100% - 0px) / 1);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-1-6 > * {
    width: 100%;
    max-width: calc((100% - 0px) / 1);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-2-1 > * {
    width: 100%;
    max-width: calc((100% - 20px) / 2);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-2-2 > * {
    width: 100%;
    max-width: calc((100% - 20px) / 2);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-2-3 > * {
    width: 100%;
    max-width: calc((100% - 20px) / 2);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-2-4 > * {
    width: 100%;
    max-width: calc((100% - 20px) / 2);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-2-5 > * {
    width: 100%;
    max-width: calc((100% - 20px) / 2);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-2-6 > * {
    width: 100%;
    max-width: calc((100% - 20px) / 2);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-3-1 > * {
    width: 100%;
    max-width: calc((100% - 40px) / 3);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-3-2 > * {
    width: 100%;
    max-width: calc((100% - 40px) / 3);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-3-3 > * {
    width: 100%;
    max-width: calc((100% - 40px) / 3);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-3-4 > * {
    width: 100%;
    max-width: calc((100% - 40px) / 3);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-3-5 > * {
    width: 100%;
    max-width: calc((100% - 40px) / 3);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-3-6 > * {
    width: 100%;
    max-width: calc((100% - 40px) / 3);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-4-1 > * {
    width: 100%;
    max-width: calc((100% - 60px) / 4);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-4-2 > * {
    width: 100%;
    max-width: calc((100% - 60px) / 4);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-4-3 > * {
    width: 100%;
    max-width: calc((100% - 60px) / 4);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-4-4 > * {
    width: 100%;
    max-width: calc((100% - 60px) / 4);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-4-5 > * {
    width: 100%;
    max-width: calc((100% - 60px) / 4);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-4-6 > * {
    width: 100%;
    max-width: calc((100% - 60px) / 4);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-5-1 > * {
    width: 100%;
    max-width: calc((100% - 80px) / 5);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-5-2 > * {
    width: 100%;
    max-width: calc((100% - 80px) / 5);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-5-3 > * {
    width: 100%;
    max-width: calc((100% - 80px) / 5);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-5-4 > * {
    width: 100%;
    max-width: calc((100% - 80px) / 5);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-5-5 > * {
    width: 100%;
    max-width: calc((100% - 80px) / 5);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-5-6 > * {
    width: 100%;
    max-width: calc((100% - 80px) / 5);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-6-1 > * {
    width: 100%;
    max-width: calc((100% - 100px) / 6);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-6-2 > * {
    width: 100%;
    max-width: calc((100% - 100px) / 6);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-6-3 > * {
    width: 100%;
    max-width: calc((100% - 100px) / 6);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-6-4 > * {
    width: 100%;
    max-width: calc((100% - 100px) / 6);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-6-5 > * {
    width: 100%;
    max-width: calc((100% - 100px) / 6);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .d-flex-6-6 > * {
    width: 100%;
    max-width: calc((100% - 100px) / 6);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}

.grid-col2 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}

.grid-col3 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
}

.grid-col2-sp {
  display: -ms-grid;
  display: grid;
}
@media only screen and (min-width: 992px) {
  .grid-col2-sp {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

.grid-col3-sp {
  display: -ms-grid;
  display: grid;
}
@media only screen and (min-width: 992px) {
  .grid-col3-sp {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}

.gap-0 {
  gap: 0 !important;
}

.gap-min {
  gap: 10px;
}

.gap-mid {
  gap: 15px;
}

.gap-max {
  gap: 20px;
}

.d-flex-all {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}

.d-item-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.title-min-size {
  min-width: 3rem !important;
}

.title-mid-size {
  min-width: 10rem !important;
}

/* ----------------------
 * Typography Style
 * ---------------------- */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: bold;
}

p {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

/* タイトル */
h1, .h1 {
  background: #E8E6FF;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  padding: 8px 65px 8px 2px;
  margin-top: 0;
  margin-bottom: 20px;
  position: relative;
  background: -webkit-gradient(linear, right top, left top, color-stop(1.5em, transparent), color-stop(1.5em, #F3F2FF));
  background: linear-gradient(to left, transparent 1.5em, #F3F2FF 1.5em);
}
h1:after, .h1:after {
  content: "　" !important;
  background: url(../img/icon/icon-bros.svg) no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 3.5em;
  height: 3.5em;
}
@media only screen and (min-width: 992px) {
  h1, .h1 {
    padding: 15px 0;
    background: linear-gradient(to left, transparent 50px, #F3F2FF 50px);
  }
  h1:after, .h1:after {
    width: 100px;
    height: 100px;
  }
}

h2, .h2 {
  font-size: 20px;
  background: #F3F2FF;
  border-bottom: 5px solid #645BD1;
  color: #403370;
  padding: 5px 0 5px 1.5em;
  position: relative;
}
h2:before, .h2:before {
  content: "　" !important;
  background: url(../img/icon/icon-bros-03.svg) no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  left: -10px;
  top: -10px;
  width: 40px;
  height: 40px;
}

h3, .h3 {
  font-size: 20px;
  padding: 5px 0;
  color: #403370;
  border-bottom: 2px solid #645BD1;
}
h3[class^=i-]:before, .h3[class^=i-]:before {
  margin-right: 0.5em;
}

h4, .h4 {
  font-size: 18px;
  color: #403370;
  background: #F3F2FF;
  display: table;
  min-width: 10rem;
  padding: 10px 1.15rem;
  margin: 0.75em 0;
}
h4:before, .h4:before {
  margin-right: 0.5em;
}

h5, .h5 {
  font-size: 18px;
  color: #403370;
  margin: 1em 0 0.5em;
  position: relative;
  padding-left: 1.15rem;
}
h5:before, .h5:before {
  content: "";
  background: #645BD1;
  position: absolute;
  width: 0.8rem;
  height: 0.8rem;
  left: 0;
  top: 0.5rem;
}

h6, .h6 {
  font-size: 17px;
  color: #403370;
  margin: 1em 0 0.5em;
  padding-left: 1.15rem;
  position: relative;
}
h6:before, .h6:before {
  content: "";
  background-color: #645BD1;
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 3px;
  height: 1em;
  margin-right: 0.2em;
}

/* アイコン（右側）  */
.i-r-arrow:after {
  content: "　" !important;
  background: url(../img/icon/icon-arrow.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-arrow:before {
  content: "　" !important;
  background: url(../img/icon/icon-arrow.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-arrow-right:after {
  content: "　" !important;
  background: url(../img/icon/icon-arrow.svg) no-repeat;
  background-size: contain;
  background-position: center;
  rotate: 180deg;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-arrow-right:before {
  content: "　" !important;
  background: url(../img/icon/icon-arrow.svg) no-repeat;
  background-size: contain;
  background-position: center;
  rotate: 180deg;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-arrow-hover:after {
  content: "　" !important;
  background: url(../img/icon/icon-arrow-hover.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-arrow-hover:before {
  content: "　" !important;
  background: url(../img/icon/icon-arrow-hover.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-beginner:after {
  content: "　" !important;
  background: url(../img/icon/icon-beginner.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-beginner:before {
  content: "　" !important;
  background: url(../img/icon/icon-beginner.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-cal:after {
  content: "　" !important;
  background: url(../img/icon/icon-cal.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-cal:before {
  content: "　" !important;
  background: url(../img/icon/icon-cal.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-campain:after {
  content: "　" !important;
  background: url(../img/icon/icon-campain.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-campain:before {
  content: "　" !important;
  background: url(../img/icon/icon-campain.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-check:after {
  content: "　" !important;
  background: url(../img/icon/icon-check.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-check:before {
  content: "　" !important;
  background: url(../img/icon/icon-check.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-important:after {
  content: "　" !important;
  background: url(../img/icon/icon-important.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-important:before {
  content: "　" !important;
  background: url(../img/icon/icon-important.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-info:after {
  content: "　" !important;
  background: url(../img/icon/icon-info.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-info:before {
  content: "　" !important;
  background: url(../img/icon/icon-info.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-login:after {
  content: "　" !important;
  background: url(../img/icon/icon-login.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-login:before {
  content: "　" !important;
  background: url(../img/icon/icon-login.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-mail:after {
  content: "　" !important;
  background: url(../img/icon/icon-mail.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-mail:before {
  content: "　" !important;
  background: url(../img/icon/icon-mail.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-mitsumori:after {
  content: "　" !important;
  background: url(../img/icon/icon-mitsumori.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-mitsumori:before {
  content: "　" !important;
  background: url(../img/icon/icon-mitsumori.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-nyukou:after {
  content: "　" !important;
  background: url(../img/icon/icon-nyukou.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-nyukou:before {
  content: "　" !important;
  background: url(../img/icon/icon-nyukou.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-qa:after {
  content: "　" !important;
  background: url(../img/icon/icon-QA.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-qa:before {
  content: "　" !important;
  background: url(../img/icon/icon-QA.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-recruit:after {
  content: "　" !important;
  background: url(../img/icon/icon-recruit.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-recruit:before {
  content: "　" !important;
  background: url(../img/icon/icon-recruit.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-ryokin:after {
  content: "　" !important;
  background: url(../img/icon/icon-ryokin.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-ryokin:before {
  content: "　" !important;
  background: url(../img/icon/icon-ryokin.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-sehaba:after {
  content: "　" !important;
  background: url(../img/icon/icon-sehaba.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-sehaba:before {
  content: "　" !important;
  background: url(../img/icon/icon-sehaba.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-shimekiri:after {
  content: "　" !important;
  background: url(../img/icon/icon-shimekiri.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-shimekiri:before {
  content: "　" !important;
  background: url(../img/icon/icon-shimekiri.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-siryo:after {
  content: "　" !important;
  background: url(../img/icon/icon-siryo.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-siryo:before {
  content: "　" !important;
  background: url(../img/icon/icon-siryo.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-toiawase:after {
  content: "　" !important;
  background: url(../img/icon/icon-toiawase.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-toiawase:before {
  content: "　" !important;
  background: url(../img/icon/icon-toiawase.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-tool:after {
  content: "　" !important;
  background: url(../img/icon/icon-tool.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-tool:before {
  content: "　" !important;
  background: url(../img/icon/icon-tool.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-tel:after {
  content: "　" !important;
  background: url(../img/icon/icon-tel.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-tel:before {
  content: "　" !important;
  background: url(../img/icon/icon-tel.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-web-mitsumori:after {
  content: "　" !important;
  background: url(../img/icon/icon-web-mitsumori.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-web-mitsumori:before {
  content: "　" !important;
  background: url(../img/icon/icon-web-mitsumori.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-bros:after {
  content: "　" !important;
  background: url(../img/icon/icon-bros.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-bros:before {
  content: "　" !important;
  background: url(../img/icon/icon-bros.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-bros-02:after {
  content: "　" !important;
  background: url(../img/icon/icon-bros-02.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-bros-02:before {
  content: "　" !important;
  background: url(../img/icon/icon-bros-02.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-bros-03:after {
  content: "　" !important;
  background: url(../img/icon/icon-bros-03.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-bros-03:before {
  content: "　" !important;
  background: url(../img/icon/icon-bros-03.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-mypage:after {
  content: "　" !important;
  background: url(../img/icon/icon-bros-04.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-mypage:before {
  content: "　" !important;
  background: url(../img/icon/icon-bros-04.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-x-twitter:after {
  content: "　" !important;
  background: url(../img/icon/logo-x.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-x-twitter:before {
  content: "　" !important;
  background: url(../img/icon/logo-x.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-x-twitter-black:after {
  content: "　" !important;
  background: url(../img/icon/logo-x-black.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-x-twitter-black:before {
  content: "　" !important;
  background: url(../img/icon/logo-x-black.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-hako:after {
  content: "　" !important;
  background: url(../img/icon/icon-hako.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-hako:before {
  content: "　" !important;
  background: url(../img/icon/icon-hako.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-dateservice:after {
  content: "　" !important;
  background: url(../img/icon/icon-dateservice.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-dateservice:before {
  content: "　" !important;
  background: url(../img/icon/icon-dateservice.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコン（右側）  */
.i-r-manual:after {
  content: "　" !important;
  background: url(../img/icon/icon-manual.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-left: 0.5em;
}

/* アイコン（左側）  */
.i-manual:before {
  content: "　" !important;
  background: url(../img/icon/icon-manual.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 0.5em;
}

/* アイコンフォント（右側）  */
.if-r-next:after {
  content: "\e409";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-next:before {
  content: "\e409";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-next:before {
  content: "\e409";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-right:after {
  content: "\e5df";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-right:before {
  content: "\e5df";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-right:before {
  content: "\e5df";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-under:after {
  content: "\e5cf";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-under:before {
  content: "\e5cf";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-under:before {
  content: "\e5cf";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-over:after {
  content: "\e5ce";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-over:before {
  content: "\e5ce";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-over:before {
  content: "\e5ce";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-back:after {
  content: "\e408";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-back:before {
  content: "\e408";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-back:before {
  content: "\e408";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-up:after {
  content: "\e5d8";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-up:before {
  content: "\e5d8";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-up:before {
  content: "\e5d8";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-other-view:after {
  content: "\e89e";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-other-view:before {
  content: "\e89e";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-other-view:before {
  content: "\e89e";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-pdf:after {
  content: "\e415";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-pdf:before {
  content: "\e415";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-pdf:before {
  content: "\e415";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-caution:after {
  content: "\e000";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-caution:before {
  content: "\e000";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-caution:before {
  content: "\e000";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-info:after {
  content: "\e88e";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-info:before {
  content: "\e88e";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-info:before {
  content: "\e88e";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-check:after {
  content: "\e5ca";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-check:before {
  content: "\e5ca";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-check:before {
  content: "\e5ca";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-check-task:after {
  content: "\e2e6";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-check-task:before {
  content: "\e2e6";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-check-task:before {
  content: "\e2e6";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-pack:after {
  content: "\f569";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-pack:before {
  content: "\f569";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-pack:before {
  content: "\f569";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-download:after {
  content: "\f090";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-download:before {
  content: "\f090";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-download:before {
  content: "\f090";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-plus:after {
  content: "\e145";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-plus:before {
  content: "\e145";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-plus:before {
  content: "\e145";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-minus:after {
  content: "\e15b";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-minus:before {
  content: "\e15b";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-minus:before {
  content: "\e15b";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* アイコンフォント（右側）  */
.if-r-sync-alt:after {
  content: "\ea18";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

/* アイコン（左側）  */
.if-sync-alt:before {
  content: "\ea18";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
}

/* アイコン（左側）  */
.if-outline-sync-alt:before {
  content: "\ea18";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 12px;
  font-size: 1.5em;
}

/* リンクマーカー  */
.link-mark:before {
  content: "　" !important;
  background: url(../img/icon/icon-arrow.svg) no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-block;
  margin-right: 0.5em;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.link-mark:active:before, .link-mark:hover:before {
  content: "　" !important;
  background: url(../img/icon/icon-arrow-hover.svg) no-repeat;
  background-size: contain;
  background-position: center;
}
.link-mark[href$=".pdf"]:after, .link-mark[href$=".PDF"]:after {
  content: "\e415";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 0.5em;
}
.link-mark[href$=".doc"]:after, .link-mark[href$=".docx"]:after {
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 0.5em;
}
.link-mark[href$=".xls"]:after, .link-mark[href$=".xlsx"]:after {
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 0.5em;
}
.link-mark[href$=".csv"]:after, .link-mark[href$=".tsv"]:after {
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  padding-right: 0.5em;
}

.contents-title {
  font-size: 20px;
  font-weight: bold;
  color: #645BD1;
}
.contents-title:before {
  font-size: 1.5em;
  margin-right: 0.5em;
}

/* 縁取付きテキスト */
.title-outline {
  color: #00B4E8;
  font-weight: bold;
  text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
}

/* 注意タイトル */
.title-caution, .title-notice, .title-info {
  font-weight: bold;
  position: relative;
  margin-bottom: 0.5em;
  padding-left: 2em;
}
.title-caution:before, .title-notice:before, .title-info:before {
  font-size: 1.5em;
  margin-right: 0.4em;
  position: absolute;
  line-height: 1;
  left: 0;
}

.title-caution {
  color: #FF5757;
}
.title-caution:before {
  content: "　" !important;
  background: url(../img/icon/icon-important.svg) no-repeat;
  background-size: contain;
  background-position: center;
}

.title-notice {
  color: #00B4E8;
}
.title-notice:before {
  content: "　" !important;
  background: url(../img/icon/icon-info.svg) no-repeat;
  background-size: contain;
  background-position: center;
}

/* お知らせタイトル */
.title-info {
  color: #403370;
}
.title-info:before {
  content: "　" !important;
  background: url(../img/icon/icon-info.svg) no-repeat;
  background-size: contain;
  background-position: center;
}

/* 文中注意 */
.text-caution {
  color: #FF5757;
}

/* 文字装飾解除 */
.text-decoration-none {
  color: #464646;
}

/*文字改行*/
.br-md {
  display: none;
}
@media only screen and (max-width: 767px) {
  .br-md {
    display: inline;
  }
}

/* マーカー */
.text-marker {
  background-color: #CFC;
}

h3:has(.list-number) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

/* 仕様イメージ */
.set-siyou {
  text-align: center;
  font-size: 1rem;
  /*
  figure{
    margin: 0;
  }
  img{
    max-width: 100%;
  }

   */
}
.set-siyou table {
  width: 100%;
}
.set-siyou th {
  font-weight: bold;
  min-width: 5rem;
}
.set-siyou td {
  font-weight: normal;
  text-align: center;
  width: 100%;
  padding-bottom: 5px;
}
.set-siyou .siyou {
  text-shadow: 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646, 0 0 3px #464646;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  color: #fff;
  font-weight: bold;
  min-height: 3rem;
  border: 2px solid #403370;
  border-radius: 6px;
}

/* バッジ */
.badge-normal, .badge-hayawari, .badge-tokkyu, .badge-require {
  font-size: 0.7rem;
  border-radius: 6px;
  color: #fff;
  padding: 1px 10px;
  font-weight: bold;
  border: 2px solid #403370;
}
.badge-normal > a, .badge-hayawari > a, .badge-tokkyu > a, .badge-require > a {
  text-decoration: none;
  color: #fff;
}
.badge-normal > a:hover, .badge-hayawari > a:hover, .badge-tokkyu > a:hover, .badge-require > a:hover {
  opacity: 0.7;
}
.badge-normal {
  background: #645BD1;
}
.badge-hayawari {
  background: #00B4E8;
}
.badge-tokkyu {
  background: #FF0000;
}
.badge-require {
  background: #FF5757;
}

/** コンテナスタイル **/
.container, .header-container, .container-lg-min {
  margin: 0 auto;
}

/* 通常のコンテナ */
.container {
  max-width: 100%;
  padding-left: 10px;
  padding-right: 10px;
}
@media only screen and (min-width: 100%) {
  .container {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width: 576px) {
  .container {
    width: 540px;
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width: 768px) {
  .container {
    width: 720px;
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width: 992px) {
  .container {
    width: 960px;
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width: 1200px) {
  .container {
    width: 1140px;
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width: 1400px) {
  .container {
    width: 1320px;
    padding-left: 0;
    padding-right: 0;
  }
}

/* ヘッダ用コンテナ */
@media only screen and (min-width: 768px) {
  .header-container {
    width: 720px;
  }
}
@media only screen and (min-width: 992px) {
  .header-container {
    width: 960px;
  }
}
@media only screen and (min-width: 1200px) {
  .header-container {
    width: 1140px;
  }
}
@media only screen and (min-width: 1400px) {
  .header-container {
    width: 1320px;
  }
}

/* PCサイズ以下のみコンテナ幅設定 */
@media only screen and (min-width: 100%) {
  .container-lg-min {
    width: 100%;
  }
}
@media only screen and (min-width: 576px) {
  .container-lg-min {
    width: 540px;
  }
}
@media only screen and (min-width: 768px) {
  .container-lg-min {
    width: 720px;
  }
}
@media only screen and (min-width: 992px) {
  .container-lg-min {
    width: 960px;
  }
}
@media only screen and (min-width: 1200px) {
  .container-lg-min {
    width: 100%;
  }
}
@media only screen and (min-width: 1400px) {
  .container-lg-min {
    width: 100%;
  }
}

/* 2列コンテナ */
.container-two {
  display: -ms-grid;
  display: grid;
  grid-gap: 20px;
}
@media only screen and (min-width: 768px) {
  .container-two {
    -ms-grid-columns: 1fr 20px 1fr;
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 3列コンテナ */
.container-three {
  display: -ms-grid;
  display: grid;
  grid-gap: 20px;
}
@media only screen and (min-width: 768px) {
  .container-three {
    -ms-grid-columns: 1fr 20px 1fr;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 1200px) {
  .container-three {
    -ms-grid-columns: 1fr 20px 1fr 20px 1fr;
    grid-template-columns: repeat(3, 1fr);
  }
}

/* 内部ページ　サイドバー有 */
.page-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 36px;
}
.page-wrapper .side-bar {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.page-wrapper .page-main {
  width: 100%;
  margin-bottom: 60px;
}
@media only screen and (min-width: 992px) {
  .page-wrapper .side-bar {
    width: 280px;
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    margin-right: 20px;
    margin-bottom: 60px;
  }
  .page-wrapper .side-bar + .page-main {
    width: calc(100% - 280px - 20px);
  }
}

.side-bar {
  margin-left: calc(-50vw + var(--main-container) / 2);
  margin-right: calc(-50vw + var(--main-container) / 2);
  width: 100vw;
}
@media only screen and (min-width: 992px) {
  .side-bar {
    margin-left: auto;
    margin-right: auto;
  }
}

/* ----------------------
 * List Style
 * ---------------------- */
ul, ol {
  padding-left: 2em;
  margin-top: 10px;
  margin-bottom: 10px;
}
ul li, ol li {
  margin-bottom: 0.2em;
}

dl dt {
  font-weight: bold;
}
dl dd {
  -webkit-margin-start: 20px;
          margin-inline-start: 20px;
}

.news-list a, .news-lists a {
  text-decoration: none;
  display: block;
  color: #464646;
  position: relative;
  padding-right: 1.5em;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.news-list a:after, .news-lists a:after {
  content: "\e409";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  position: absolute;
  right: 0;
  top: calc(50% - 0.5em);
  font-size: 30px;
  line-height: 1;
}
.news-list a:hover, .news-list a:active, .news-lists a:hover, .news-lists a:active {
  color: #645BD1;
}
.news-list a:hover:after, .news-list a:active:after, .news-lists a:hover:after, .news-lists a:active:after {
  right: -5px;
}
.news-list ul, .news-lists ul {
  list-style: none;
  padding: 0;
}
.news-list li, .news-lists li {
  border-bottom: 2px solid #BFBAFF;
  padding: 6px 0;
}
.news-list li:last-child, .news-lists li:last-child {
  border-bottom: none;
}
.news-list .date, .news-lists .date {
  display: inline-block;
  margin-right: 1em;
  min-width: 5em;
}

.news-lists li {
  line-height: 1.2em;
}
.news-lists .date {
  display: block;
  margin-bottom: 5px;
  color: #707070;
}
.news-lists .title {
  font-weight: bold;
  font-size: 1.1em;
}
.news-lists .news-data {
  padding-top: 10px;
  padding-bottom: 10px;
}

.link-list {
  color: #403370;
}
.link-list:hover:before {
  position: relative;
  top: -10px;
}

.list-kome, .list-kome ul {
  list-style: none;
  padding-left: 2em;
}
.list-kome li, .list-kome ul li {
  position: relative;
}
.list-kome li:before, .list-kome ul li:before {
  content: "※";
  position: absolute;
  left: -1.5em;
}

.list-caution, .list-notice, .list-normal {
  --list-mark-color: #464646;
  margin-left: 1.5em;
  padding-left: 0.5em;
  list-style-type: none;
}
.list-caution > li, .list-notice > li, .list-normal > li {
  position: relative;
}
.list-caution > li::before, .list-notice > li::before, .list-normal > li::before {
  position: absolute;
  color: var(--list-mark-color);
}
.list-caution > li p, .list-caution > li div, .list-caution > li ul, .list-caution > li ol, .list-notice > li p, .list-notice > li div, .list-notice > li ul, .list-notice > li ol, .list-normal > li p, .list-normal > li div, .list-normal > li ul, .list-normal > li ol {
  font-weight: initial;
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}

ul.list-caution > li::before, ul.list-notice > li::before, ul.list-normal > li::before {
  content: "";
  background-color: var(--list-mark-color);
  width: 10px;
  height: 10px;
  clip-path: circle(45% at 50% 50%);
  top: 0.4em;
  left: -1.5em;
}

ol.list-caution, ol.list-notice, ol.list-normal {
  counter-reset: section;
  margin-top: 1em;
}
ol.list-caution > li, ol.list-notice > li, ol.list-normal > li {
  margin-top: 0.5em;
  counter-increment: section;
}
ol.list-caution > li:before, ol.list-notice > li:before, ol.list-normal > li:before {
  content: counter(section) "．";
  font-weight: bold;
  font-size: 1.5em;
  position: absolute;
  width: 2.5em;
  left: -2.1em;
  top: -0.2em;
  text-align: right;
  line-height: 1;
}

.list-caution {
  --list-mark-color: #FF5757;
}

.list-notice {
  --list-mark-color: #00B4E8;
}

.list-caution-mark, .list-caution-mark > ul {
  margin-left: 0;
  padding-left: 2em;
  list-style: none;
}
.list-caution-mark > li, .list-caution-mark > ul > li {
  position: relative;
}
.list-caution-mark > li::before, .list-caution-mark > ul > li::before {
  content: "　" !important;
  background: url(../img/icon/icon-important.svg) no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  left: -1.2em;
  top: -0.3em;
  font-size: 1.3em;
}

ul.list-check, ul.list-check-task {
  margin-left: 0;
  padding-left: 2em;
  list-style: none;
}
ul.list-check > li, ul.list-check-task > li {
  position: relative;
}
ul.list-check > li::before, ul.list-check-task > li::before {
  position: absolute;
  left: -1.2em;
  font-size: 1.3em;
}

dl.list-check > dt, dl.list-check-task > dt {
  position: relative;
  padding-left: 2em;
  list-style: none;
}
dl.list-check > dt::before, dl.list-check-task > dt::before {
  position: absolute;
  left: 0.2em;
  font-size: 1.3em;
}

ul.list-check > li::before, ul.list-check > dt::before, dl.list-check > li::before, dl.list-check > dt::before {
  content: "\e5ca";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

ul.list-check-task > li::before, ul.list-check-task > dt::before, dl.list-check-task > li::before, dl.list-check-task > dt::before {
  content: "\e2e6";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

.list-horizontal, .list-horizontal > ul, .list-horizontal > ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 1em;
  gap: 0.5em 3em;
}
.list-horizontal li, .list-horizontal > ul li, .list-horizontal > ol li {
  margin-bottom: 0;
}

.list-style-none, .list-style-none > ul, .list-style-none > ol {
  list-style: none;
  padding-left: 0;
}

.list-style-circle, .list-style-circle > ul, .list-style-circle > ol {
  list-style: none;
  padding-left: 0;
}
.list-style-circle > li, .list-style-circle > ul > li, .list-style-circle > ol > li {
  position: relative;
  padding-left: 2em;
}
.list-style-circle > li::before, .list-style-circle > ul > li::before, .list-style-circle > ol > li::before {
  content: "";
  position: absolute;
  color: var(--list-mark-color);
  width: 16px;
  height: 16px;
  background: #464646;
  clip-path: circle(45% at 50% 50%);
  top: 0.2em;
  left: 0.2em;
}

.list-flow {
  counter-reset: section;
  list-style-type: none;
  padding-left: 0;
}
.list-flow > li {
  position: relative;
  padding-bottom: 10px;
  padding-left: 20px;
  margin-bottom: 0;
  counter-increment: section;
}
.list-flow > li:before, .list-flow > li:after {
  content: "";
  position: absolute;
}
.list-flow > li:before {
  top: 15px;
  left: 6px;
  bottom: -10px;
  width: 2px;
  background-color: #DBDBDB;
}
.list-flow > li:after {
  top: 5px;
  width: 15px;
  height: 15px;
  left: 0;
  clip-path: circle(45% at 50% 50%);
  background-color: #403370;
}
.list-flow > li.last-step:before {
  content: none;
}

ol.list-kakko {
  counter-reset: section;
  list-style-type: none;
  padding-left: 3em;
}
ol.list-kakko > li {
  position: relative;
  counter-increment: section;
}
ol.list-kakko > li:before {
  content: "（" counter(section) "）";
  position: absolute;
  left: -3em;
  width: 3em;
  text-align: right;
}

ol.list-number {
  counter-reset: section;
  list-style-type: none;
  padding-left: 0;
}
ol.list-number > li {
  position: relative;
  padding-left: 1em;
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-size: 1.2rem;
  border-bottom: 2px dotted #BFBAFF;
  font-weight: bold;
  counter-increment: section;
}
ol.list-number > li p, ol.list-number > li div, ol.list-number > li ul {
  font-weight: normal;
}
ol.list-number > li:before {
  content: counter(section);
  position: relative;
  display: block;
  left: -1em;
  text-align: center;
  width: 2.5em;
  margin-bottom: 10px;
  border-radius: 20px;
  background: #645BD1;
  color: #fff;
  font-weight: bold;
  padding: 2px;
}
@media only screen and (min-width: 992px) {
  ol.list-number > li {
    padding-left: 3.5em;
  }
  ol.list-number > li:before {
    position: absolute;
    left: 0;
    margin-bottom: 0;
  }
}

.list-size-mid {
  font-size: 1.1rem;
}
.list-size-mid > li {
  margin-bottom: 10px;
}

/* データリスト */
.data-lists dl dt {
  font-weight: bold;
  color: #645BD1;
}
.data-lists dl dt:before {
  font-size: 1.7em;
}
.data-lists dl dd {
  margin-left: 1em;
  margin-bottom: 1em;
}
.data-lists dl p {
  margin-top: 0;
  margin-bottom: 0.2em;
}
.data-lists .dt-sub dt {
  color: #403370;
}
.data-lists.dt-light dl dt, .data-lists.dt-dark dl dt {
  padding-left: 10px;
  padding-right: 10px;
}
.data-lists.dt-light dl dt {
  background-color: #F3F2FF;
}
.data-lists.dt-dark dl dt {
  background-color: rgba(246, 246, 246, 0.9647058824);
}
@media only screen and (min-width: 992px) {
  .data-lists dl {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 8em 0.5em 1fr;
    grid-template-columns: 8em 1fr;
    gap: 0.5em;
  }
  .data-lists dl.dt-min {
    -ms-grid-columns: 6em 1fr;
    grid-template-columns: 6em 1fr;
  }
  .data-lists dl.dt-mid {
    -ms-grid-columns: 10em 1fr;
    grid-template-columns: 10em 1fr;
  }
  .data-lists dl.dt-max {
    -ms-grid-columns: 30% 1fr;
    grid-template-columns: 30% 1fr;
  }
  .data-lists dl dd {
    margin-bottom: 0;
  }
}

/* データリスト（レスポンシブなし） */
.data-lists-all dl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 8em 0.5em 1fr;
  grid-template-columns: 8em 1fr;
  gap: 0.5em;
}
.data-lists-all dl dt {
  font-weight: bold;
  color: #645BD1;
}
.data-lists-all dl dt:before {
  font-size: 1.5em;
}
.data-lists-all dl dd {
  margin-left: 1em;
  margin-bottom: 1em;
}
.data-lists-all dl p {
  margin-top: 0;
  margin-bottom: 0.2em;
}
.data-lists-all dl.dt-mid {
  -ms-grid-columns: 10em 1fr;
  grid-template-columns: 10em 1fr;
}
.data-lists-all dl.dt-max {
  -ms-grid-columns: 30% 1fr;
  grid-template-columns: 30% 1fr;
}

/* データリスト タイトル中央揃え */
.data-lists-center dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* 目次リスト */
.table-of-contents > li {
  font-weight: bold;
  color: #403370;
  margin-bottom: 1rem;
  font-size: 1.1rem;
}
.table-of-contents > li:before {
  font-size: 1rem;
}
.table-of-contents > li > a {
  text-decoration: none;
}
.table-of-contents > li .sub-list {
  color: #464646;
  font-size: 1rem;
}
.table-of-contents > li .sub-list > li {
  position: relative;
  padding-left: 1.8em;
}
.table-of-contents > li .sub-list > li:before {
  position: absolute;
  content: "\e5cf";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  text-decoration: none;
  margin-right: 0.5em;
  left: 0;
}
.table-of-contents > li .sub-list > li a {
  font-weight: normal;
}

/* ----------------------
 * Button Style
 * ---------------------- */
.btn {
  text-decoration: none;
  cursor: pointer;
}
.btn a {
  text-decoration: none;
}

/* ボタン(通常) */
.btn-main, .btn-main-outline, .btn-dark, .btn-dark-outline, .btn-twitter-x, .btn-twitter-x-outline, .btn-min, .btn-min-outline, .btn-min-gray, .btn-min-gray-outline {
  --btn-text-color: #fff;
  --btn-main-color: #645BD1;
  border-radius: 50rem;
  padding: 9px 1em;
  border: 3px solid var(--btn-main-color);
  font-weight: bold;
  line-height: 1.3;
  display: inline-block;
  text-align: center;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
@media only screen and (min-width: 768px) {
  .btn-main, .btn-main-outline, .btn-dark, .btn-dark-outline, .btn-twitter-x, .btn-twitter-x-outline, .btn-min, .btn-min-outline, .btn-min-gray, .btn-min-gray-outline {
    min-width: 140px;
  }
}
.btn-main, .btn-dark, .btn-twitter-x, .btn-min, .btn-min-gray {
  color: var(--btn-text-color);
  background: var(--btn-main-color);
}
.btn-main:hover, .btn-main:active, .btn-dark:hover, .btn-dark:active, .btn-twitter-x:hover, .btn-twitter-x:active, .btn-min:hover, .btn-min:active, .btn-min-gray:hover, .btn-min-gray:active {
  color: var(--btn-main-color);
  background: var(--btn-text-color);
}
.btn-main-outline, .btn-dark-outline, .btn-twitter-x-outline, .btn-min-outline, .btn-min-gray-outline {
  color: var(--btn-main-color);
  background: var(--btn-text-color);
}
.btn-main-outline:hover, .btn-main-outline:active, .btn-dark-outline:hover, .btn-dark-outline:active, .btn-twitter-x-outline:hover, .btn-twitter-x-outline:active, .btn-min-outline:hover, .btn-min-outline:active, .btn-min-gray-outline:hover, .btn-min-gray-outline:active {
  color: var(--btn-text-color);
  background: var(--btn-main-color);
}

.btn-main, .btn-main-outline, .btn-dark, .btn-dark-outline, .btn-twitter-x, .btn-twitter-x-outline {
  padding: 9px 1em;
}

.btn-main, .btn-main-outline, .btn-min, .btn-min-outline {
  --btn-main-color: #645BD1;
}

.btn-dark, .btn-dark-outline {
  --btn-main-color: #403370;
}

.btn-twitter-x, .btn-twitter-x-outline {
  --btn-main-color: #464646;
}
.btn-twitter-x:before, .btn-twitter-x-outline:before {
  content: "　" !important;
  background: url(../img/icon/logo-x.svg) no-repeat;
  background-size: contain;
  background-position: center;
  padding-right: 1em;
}
.btn-twitter-x:hover:before, .btn-twitter-x:active:before, .btn-twitter-x-outline:hover:before, .btn-twitter-x-outline:active:before {
  content: "　" !important;
  background: url(../img/icon/logo-x-black.svg) no-repeat;
  background-size: contain;
  background-position: center;
}

.btn-min-gray, .btn-min-gray-outline {
  --btn-main-color: #707070;
}

/* ナビゲーション内のボタン */
.btn-nav-next {
  background: #fff;
  position: relative;
  padding: 6px 2rem 6px 10px;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.btn-nav-next:after {
  content: "\e409";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  position: absolute;
  right: 0;
  top: calc(50% - 0.5em);
  font-size: 30px;
  line-height: 1;
}
.btn-nav-next:hover:after, .btn-nav-next:active:after {
  right: -5px;
}
@media only screen and (min-width: 768px) {
  .btn-nav-next {
    text-align: left;
    min-width: 140px;
  }
}
@media only screen and (min-width: 1200px) {
  .btn-nav-next {
    text-align: left;
    min-width: 240px;
  }
}

/* ボタン小 */
.btn-min, .btn-min-gray {
  padding: 4px 1.5em;
  position: relative;
  min-width: 5em;
}
.btn-min:after, .btn-min-gray:after {
  position: absolute;
  right: 0.4em;
  top: calc(50% - 0.6em);
}

button.btn-min, button.btn-min-gray {
  min-width: 8em;
}

/* 中サイズボタン */
.btn-main-mid, .btn-main-mid-outline, .btn-dark-mid-outline {
  border-radius: 15px;
  border: 3px solid #645BD1;
  font-weight: bold;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 40px 1fr;
  grid-template-columns: 40px 1fr;
  max-width: 220px;
  padding: 11px 10px 11px 10px;
  line-height: 1.2;
  position: relative;
  margin: 10px;
  min-height: 37px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.btn-main-mid:before, .btn-main-mid-outline:before, .btn-dark-mid-outline:before {
  display: -ms-inline-grid;
  display: inline-grid;
  width: 30px;
  height: 30px;
}
.btn-main-mid:hover, .btn-main-mid:active, .btn-main-mid-outline:hover, .btn-main-mid-outline:active, .btn-dark-mid-outline:hover, .btn-dark-mid-outline:active {
  top: 3px;
  -webkit-box-shadow: 0 0;
          box-shadow: 0 0;
}

.btn-main-mid {
  color: #fff;
  background: #645BD1;
  -webkit-box-shadow: 0 4px #403370;
          box-shadow: 0 4px #403370;
}
.btn-main-mid:hover, .btn-main-mid:active {
  color: #fff;
}

.btn-main-mid-outline, .btn-dark-mid-outline {
  color: #403370;
  background: #fff;
  -webkit-box-shadow: 0 2px #645BD1;
          box-shadow: 0 2px #645BD1;
}
.btn-main-mid-outline:hover, .btn-main-mid-outline:active, .btn-dark-mid-outline:hover, .btn-dark-mid-outline:active {
  color: #403370;
}

.btn-dark-mid-outline {
  border-color: #403370;
  -webkit-box-shadow: 0 2px #403370;
          box-shadow: 0 2px #403370;
}

/* 大サイズボタン */
.btn-main-big-outline, .btn-dark-big-outline {
  display: block;
  border-radius: 15px;
  border: 5px solid;
  font-weight: bold;
  font-size: 20px;
  color: #403370;
  background: #fff;
  padding: 11px 10px 11px 20px;
  line-height: 1.2;
  position: relative;
  margin-bottom: 10px;
  min-height: 37px;
  text-align: center;
  max-width: 290px;
  margin-left: auto;
  margin-right: auto;
}
.btn-main-big-outline:before, .btn-dark-big-outline:before {
  display: block;
  margin: 0 auto 10px;
  width: 90px;
  height: 90px;
}
.btn-main-big-outline:hover, .btn-main-big-outline:active, .btn-dark-big-outline:hover, .btn-dark-big-outline:active {
  top: 5px;
  -webkit-box-shadow: 0 0;
          box-shadow: 0 0;
  color: #403370;
}
@media only screen and (min-width: 768px) {
  .btn-main-big-outline, .btn-dark-big-outline {
    width: 290px;
    margin-left: 0;
    margin-right: 0;
  }
}

.btn-main-big-outline {
  border-color: #645BD1;
  -webkit-box-shadow: 0 5px #645BD1;
          box-shadow: 0 5px #645BD1;
}

.btn-dark-big-outline {
  border-color: #403370;
  -webkit-box-shadow: 0 5px #403370;
          box-shadow: 0 5px #403370;
}

.mobile-nav-menu-btn, .mobile-nav-mypage-btn {
  cursor: pointer;
  overflow: hidden;
  width: 60px;
  height: 70px;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (min-width: 992px) {
  .mobile-nav-menu-btn, .mobile-nav-mypage-btn {
    display: none;
  }
}

.mobile-nav-menu-btn span, .mobile-nav-menu-btn span:before, .mobile-nav-menu-btn span:after {
  content: "";
  display: block;
  height: 3px;
  width: 36px;
  border-radius: 8px;
  position: absolute;
  background-color: #645BD1;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.mobile-nav-menu-btn span:before {
  top: 10px;
}
.mobile-nav-menu-btn span:after {
  bottom: 10px;
}
.mobile-nav-menu-btn.on-click span {
  background-color: transparent;
}
.mobile-nav-menu-btn.on-click span:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 0;
}
.mobile-nav-menu-btn.on-click span:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 0;
}

.mobile-nav-mypage-btn a {
  font-weight: bold;
  color: #403370;
  padding: 0;
  display: block;
  font-size: 12px;
  line-height: 1;
  height: 100%;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.mobile-nav-mypage-btn a:before {
  display: block;
  font-size: 38px;
  margin-top: 16px;
}
.mobile-nav-mypage-btn a:hover, .mobile-nav-mypage-btn a:active {
  background: rgba(255, 255, 255, 0.5);
}

.menu-btn-lists {
  display: -ms-grid;
  display: grid;
  gap: 10px;
}
.menu-btn-lists .btn {
  width: 100%;
  min-width: auto;
  max-width: 100%;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (min-width: 576px) {
  .menu-btn-lists {
    -ms-grid-columns: (minmax(200px, 1fr))[2];
    grid-template-columns: repeat(2, minmax(200px, 1fr));
  }
}
@media only screen and (min-width: 1200px) {
  .menu-btn-lists {
    -ms-grid-columns: (minmax(200px, 1fr))[3];
    grid-template-columns: repeat(3, minmax(200px, 1fr));
  }
}

/* ----------------------
 * Navigation Style
 * ---------------------- */
.nav a {
  text-decoration: none;
}
.nav ul {
  list-style: none;
  padding: 0;
}

.sub-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  margin-top: 0;
  margin-bottom: 0;
}
.sub-nav li {
  margin-right: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.sub-nav li:last-child {
  margin-right: 0;
}
.sub-nav li a {
  font-weight: bold;
}
.sub-nav li .btn {
  display: inline;
}
.sub-nav .link-lists {
  max-width: 8rem;
}
.sub-nav .link-lists ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.sub-nav .link-lists .link-list {
  padding-top: 5px;
  margin-right: 0.5em;
}
.sub-nav .link-lists li:first-child .link-list {
  padding-top: 0;
}
@media only screen and (min-width: 992px) {
  .sub-nav li {
    margin-right: 1em;
  }
}
@media only screen and (min-width: 1200px) {
  .sub-nav .link-lists {
    max-width: none;
  }
  .sub-nav .link-lists ul {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
  }
  .sub-nav .link-lists li .link-list {
    padding-top: 0;
  }
}

.footer-nav ul, .footer-sub-nav ul {
  margin: 0;
}
.footer-nav li, .footer-sub-nav li {
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.footer-nav li a, .footer-sub-nav li a {
  color: #fff;
  line-height: 1;
  position: relative;
  padding-right: 2rem;
}
.footer-nav li a:after, .footer-sub-nav li a:after {
  content: "\e409";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  position: absolute;
  right: 0;
  top: calc(50% - 0.5em);
  font-size: 30px;
  line-height: 1;
}
.footer-nav li a:hover:after, .footer-nav li a:active:after, .footer-sub-nav li a:hover:after, .footer-sub-nav li a:active:after {
  right: -5px;
}

.footer-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.footer-nav li a {
  padding-left: 10px;
  font-weight: bold;
}

.footer-sub-nav ul {
  margin: 0;
}
.footer-sub-nav li {
  text-align: center;
}
.footer-sub-nav li a {
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 14px;
}
.footer-sub-nav li a:hover {
  color: #403370;
}
@media only screen and (min-width: 992px) {
  .footer-sub-nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    margin: 0;
  }
  .footer-sub-nav li {
    text-align: right;
  }
  .footer-sub-nav li a {
    display: block;
    padding-left: 2rem;
  }
}

/* メイン用ナビ */
.global-nav {
  display: none;
}
.global-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.global-nav li {
  margin-right: 1em;
  width: 100%;
  text-align: center;
  border-left: 3px solid #403370;
  margin-bottom: 0;
}
.global-nav li:last-child {
  margin-right: 0;
  border-right: 3px solid #403370;
}
.global-nav a {
  font-weight: bold;
  padding-top: 10px;
  padding-bottom: 10px;
  display: block;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.global-nav a:before {
  font-size: 2em;
  margin-right: 1rem;
  position: relative;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.global-nav a:hover:before, .global-nav a:active:before {
  top: -10px;
}
@media only screen and (min-width: 992px) {
  .global-nav {
    display: block;
  }
  .global-nav a:before {
    display: block;
    margin-bottom: 5px;
  }
}
@media only screen and (min-width: 1200px) {
  .global-nav a:before {
    display: inline-block;
    margin-bottom: 0;
  }
}
/* リンク用ナビ */
.link-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.link-nav li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border-right: 2px solid #645BD1;
  text-align: center;
}
.link-nav li:nth-child(2n) {
  border-right: none;
}
@media only screen and (min-width: 768px) {
  .link-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

/* モバイル用ナビ */
.mobile-nav {
  margin-top: 70px;
  width: 0;
  height: calc(100vh - 70px);
  z-index: 1000;
  overflow-y: hidden;
  overflow-x: hidden;
  background-color: #645BD1;
  -webkit-transition: -webkit-transform 0.5s ease-out;
  transition: -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out;
  transition: transform 0.5s ease-out, -webkit-transform 0.5s ease-out;
  -webkit-transform: translateX(100vw);
          transform: translateX(100vw);
}
.mobile-nav .nav {
  visibility: hidden;
}
.mobile-nav .nav ul {
  width: 100%;
}
.open-nav .mobile-nav {
  width: 100%;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.open-nav .mobile-nav .nav {
  display: block;
  visibility: visible;
}
.mobile-nav .nav-inner {
  margin: 0;
  background-color: #645BD1;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100%;
}
.mobile-nav .nav-inner > ul {
  background-color: #fff;
  border-radius: 25px 0 0 25px;
  border-left: 3px solid #645BD1;
  border-top: 3px solid #645BD1;
}
.mobile-nav .nav-inner > ul li {
  border-bottom: 1px solid #645BD1;
}
.mobile-nav .nav-inner > ul li:last-child {
  border-bottom: none;
}
.mobile-nav .nav-inner > ul a {
  font-weight: bold;
  color: #403370;
  padding: 5px;
  display: block;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.mobile-nav .nav-inner > ul a:before {
  font-size: 1.5em;
  margin-right: 1rem;
  position: relative;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.mobile-nav .nav-inner .side-nav {
  padding: 0;
  background-color: #fff;
}
.mobile-nav .nav-inner .side-nav a {
  padding: 10px 5px 10px 1em;
  font-size: 1rem;
}
.mobile-nav .nav-inner .side-nav a:before {
  font-size: 1em;
}
.mobile-nav .nav-inner .side-nav ul {
  background-color: #fff;
  border-top: 1px dotted #645BD1;
}
.mobile-nav .nav-inner .side-nav li {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 1px dotted #645BD1;
}
.mobile-nav .nav-inner .side-nav .has-child.show {
  padding-bottom: 0;
  margin-bottom: 0;
}
.mobile-nav .nav-inner .side-nav .has-child.show ul.side-nav-child {
  padding: 5px 15px;
}
.mobile-nav .nav-inner .side-nav .side-nav-parent {
  padding-right: 10px;
}
.mobile-nav .nav-inner .side-nav .side-nav-child a {
  padding: 10px 5px 10px 1.5em;
}
@media only screen and (min-width: 768px) {
  .mobile-nav {
    margin-top: 73px;
  }
}

/* モバイル用ナビ(下部) */
.mobile-nav-bottom {
  background-color: #DBDBDB;
}
.mobile-nav-bottom ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 25% 25% 25% 25%;
  grid-template-columns: 25% 25% 25% 25%;
  margin: 0;
}
.mobile-nav-bottom ul li {
  padding: 0;
  border-right: 2px solid #fff;
}
.mobile-nav-bottom ul li:last-child {
  border-right: none;
}
.mobile-nav-bottom ul a {
  font-weight: bold;
  color: #403370;
  padding-top: 10px;
  padding-bottom: 10px;
  display: block;
  font-size: 14px;
  text-align: center;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.mobile-nav-bottom ul a:before {
  display: block;
  font-size: 1.8em;
}
.mobile-nav-bottom ul a:hover, .mobile-nav-bottom ul a:active {
  background: rgba(255, 255, 255, 0.5);
}

.footer-banner a {
  text-decoration: none;
  margin: 0 auto;
  display: block;
  text-align: center;
}
.footer-banner a:hover, .footer-banner a:active {
  opacity: 0.8;
}
.footer-banner ul {
  list-style: none;
  padding: 0;
}
.footer-banner li {
  padding: 2px;
}
.footer-banner img {
  max-width: 100%;
}
@media only screen and (min-width: 992px) {
  .footer-banner {
    text-align: right;
  }
  .footer-banner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
  }
  .footer-banner li {
    padding-right: 10px;
  }
  .footer-banner li:last-child {
    padding-right: 0;
  }
}

/* サイドバーナビ */
.side-nav {
  background: #F3F2FF;
  padding: 20px 22px;
}
.side-nav ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.side-nav a {
  text-decoration: none;
  display: block;
  padding: 2px 0;
}
.side-nav > ul > li {
  padding-bottom: 8px;
}
.side-nav .side-nav-parent a {
  color: #403370;
  font-size: 20px;
  font-weight: bold;
}
.side-nav .side-nav-parent a:before {
  content: "　" !important;
  background: url(../img/icon/icon-arrow.svg) no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-block;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-right: 0.2em;
}
.side-nav .side-nav-parent a:hover:before, .side-nav .side-nav-parent a:active:before {
  content: "　" !important;
  background: url(../img/icon/icon-arrow-hover.svg) no-repeat;
  background-size: contain;
  background-position: center;
}
.side-nav .side-nav-child li {
  border-bottom: 1px solid #fff;
}
.side-nav .side-nav-child li a {
  font-weight: bold;
  padding: 5px 0;
}
.side-nav .active {
  color: #645BD1 !important;
}
@media only screen and (min-width: 992px) {
  .side-nav {
    border-radius: 25px;
  }
}

/* ページ内ナビ */
.page-nav {
  margin-top: 20px;
  margin-bottom: 20px;
}
.page-nav .link-lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5em;
}
@media only screen and (min-width: 1200px) {
  .page-nav .link-lists {
    max-width: none;
    gap: 1em;
  }
}

/* 入力フォームナビ(ページ遷移なし) */
.form-nav {
  border: 3px solid #403370;
  border-radius: 15px;
  overflow: hidden;
}
.form-nav ul {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0;
}
.form-nav li {
  padding: 1em 0;
  text-align: center;
  width: 100%;
  border-right: 3px solid #403370;
  font-weight: bold;
  letter-spacing: 2px;
  color: #DBDBDB;
}
.form-nav li:last-child {
  border-right: none;
}
.form-nav li .num {
  font-size: 1.9rem;
  display: block;
}
.form-nav li.active {
  color: #fff;
  background-color: #403370;
}
@media only screen and (min-width: 992px) {
  .form-nav li .num {
    display: inline-block;
  }
}

/* ----------------------
 * Breadcrumb Style
 * ---------------------- */
.breadcrumb {
  border-bottom: 1px solid #707070;
  font-size: 0.8em;
}
.breadcrumb ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style: none;
  padding-left: 0;
  margin: 2px 0;
}
.breadcrumb ul li:after {
  content: ">";
  padding-left: 5px;
  padding-right: 5px;
}
.breadcrumb ul li:last-child:after {
  content: none;
}

/** 開閉スタイル **/
.toggle .toggle-contents {
  display: none;
}
.toggle .toggle-open:before {
  content: "\e145";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}
.toggle .toggle-open.active:before {
  content: "\e15b";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
}

.nav-menu-has-child .nav-parent {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 50px;
  grid-template-columns: 1fr 50px;
}
.nav-menu-has-child .nav-parent .child_menu_button {
  width: 50px;
  background-color: #645BD1;
}
.nav-menu-has-child .nav-parent .child_menu_button:after {
  content: "\e5cf";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  font-size: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.nav-menu-has-child .nav-child {
  -webkit-transition: grid-template-rows 0.5s;
  transition: grid-template-rows 0.5s;
  transition: grid-template-rows 0.5s, -ms-grid-rows 0.5s;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 0fr;
  grid-template-rows: 0fr;
}
.nav-menu-has-child .nav-child .side-nav {
  overflow: hidden;
}
.nav-menu-has-child.show .nav-parent .child_menu_button:after {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.nav-menu-has-child.show .nav-child {
  visibility: visible;
  height: auto;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
}

.side-nav {
  --kn-nav-child-btn-size: 30px;
  --kn-nav-child-btn-font-size: 2rem;
}
.side-nav .has-child .side-nav-parent {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr var(--kn-nav-child-btn-size);
  grid-template-columns: 1fr var(--kn-nav-child-btn-size);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.side-nav .has-child .child_side_button {
  width: 100%;
  border: 2px solid #645BD1;
  background-color: #fff;
  border-radius: 4px;
  cursor: pointer;
}
.side-nav .has-child .child_side_button::after {
  content: "\e5cf";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  font-size: var(--kn-nav-child-btn-font-size);
  width: 100%;
  height: var(--kn-nav-child-btn-size);
  color: #645BD1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.side-nav .has-child .child_side_button:hover, .side-nav .has-child .child_side_button:active {
  background-color: #F3F2FF;
}
.side-nav .has-child .side-nav-child {
  -webkit-transition: grid-template-rows 0.5s;
  transition: grid-template-rows 0.5s;
  transition: grid-template-rows 0.5s, -ms-grid-rows 0.5s;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 0fr;
  grid-template-rows: 0fr;
  overflow: hidden;
  visibility: hidden;
  height: 0;
}
.side-nav .has-child.show .side-nav-parent .child_side_button:after {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.side-nav .has-child.show .side-nav-child {
  visibility: visible;
  height: auto;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
}
@media only screen and (min-width: 992px) {
  .side-nav {
    --kn-nav-child-btn-size: 20px;
    --kn-nav-child-btn-font-size: 1.5rem;
  }
}

/* ----------------------
 * Table Style
 * ---------------------- */
table {
  border-collapse: separate;
  border-spacing: 0;
}
table p, table ul, table ol {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

table.tbl-no-border tr, table.tbl-no-border td, table.tbl-no-border th {
  border: none !important;
}

.tbl-main,
.tbl-main table,
.tbl-main-sp,
.tbl-main-sp table,
.tbl-main-beside,
.tbl-main-beside table {
  width: 100%;
}
.tbl-main th,
.tbl-main td,
.tbl-main-sp th,
.tbl-main-sp td,
.tbl-main-beside th,
.tbl-main-beside td {
  padding: 5px 5px;
  border-style: solid;
  border-width: 0;
  border-right-width: 1px;
  border-bottom-width: 1px;
}
.tbl-main th,
.tbl-main-sp th,
.tbl-main-beside th {
  border-color: rgba(255, 255, 255, 0.2);
}
.tbl-main td,
.tbl-main-sp td,
.tbl-main-beside td {
  border-color: rgba(100, 91, 209, 0.2);
}
.tbl-main .title-sec, .tbl-main .title-sec th, .tbl-main .title-sec td,
.tbl-main-sp .title-sec,
.tbl-main-sp .title-sec th,
.tbl-main-sp .title-sec td,
.tbl-main-beside .title-sec,
.tbl-main-beside .title-sec th,
.tbl-main-beside .title-sec td {
  background-color: #E8E6FF;
}
@media only screen and (min-width: 992px) {
  .tbl-main th,
  .tbl-main td,
  .tbl-main-sp th,
  .tbl-main-sp td,
  .tbl-main-beside th,
  .tbl-main-beside td {
    padding: 5px 10px;
  }
}

.tbl-main thead th {
  background-color: #645BD1;
  color: #fff;
}
.tbl-main thead tr:first-child th,
.tbl-main thead tr:first-child td {
  border-top-width: 1px;
  border-left-width: 1px;
}
.tbl-main thead th:first-child,
.tbl-main thead td:first-child {
  border-left-width: 1px;
}
.tbl-main tbody th {
  background-color: rgba(246, 246, 246, 0.9647058824);
  border-color: rgba(100, 91, 209, 0.2);
}
.tbl-main tbody tr:first-child td, .tbl-main tbody tr:first-child th {
  border-top-width: 1px;
}
.tbl-main tbody tr th:first-child {
  border-left-width: 1px;
}

table .tbl-main-beside thead th,
table .tbl-main-beside tbody th, .tbl-main-beside thead th,
.tbl-main-beside tbody th {
  background-color: #645BD1;
  color: #fff;
}
table .tbl-main-beside thead tr:first-child th,
table .tbl-main-beside thead tr:first-child td,
table .tbl-main-beside tbody tr:first-child th,
table .tbl-main-beside tbody tr:first-child td, .tbl-main-beside thead tr:first-child th,
.tbl-main-beside thead tr:first-child td,
.tbl-main-beside tbody tr:first-child th,
.tbl-main-beside tbody tr:first-child td {
  border-top-width: 1px;
}

.tbl-main-sp tbody th {
  background-color: rgba(100, 91, 209, 0.9);
  border-color: rgba(255, 255, 255, 0.8);
  color: #fff;
}
.tbl-main-sp tbody tr:first-child th,
.tbl-main-sp tbody tr:first-child td {
  border-top-width: 1px;
}
@media only screen and (max-width: 991px) {
  .tbl-main-sp th,
  .tbl-main-sp td {
    display: block;
    border-top-width: 0;
    border-left-width: 1px;
  }
  .tbl-main-sp tr {
    margin-bottom: 1em;
    display: block;
  }
  .tbl-main-sp tr:first-child th,
  .tbl-main-sp tr:first-child td {
    border-top-width: 0 !important;
  }
}

.tbl-scr-y,
.tbl-scr-price {
  overflow-y: auto;
}
.tbl-scr-y table,
.tbl-scr-price table {
  position: relative;
}
.tbl-scr-y thead,
.tbl-scr-price thead {
  position: sticky;
  top: 0;
  left: 0;
}

.tbl-height-min {
  max-height: 300px;
}

.tbl-height-mid {
  max-height: 500px;
}

.tbl-height-max {
  max-height: 700px;
}

.tbl-stripes tbody tr:nth-child(2n+1) {
  background: rgba(70, 70, 70, 0.05);
}
.tbl-stripes tbody tr:nth-child(2n+1) th {
  background: rgba(237, 237, 237, 0.9664705882);
}

.tbl-scr-x,
.tbl-scr-price {
  overflow-x: auto;
  position: relative;
}
.tbl-scr-x::before, .tbl-scr-x::after,
.tbl-scr-price::before,
.tbl-scr-price::after {
  left: 0;
  top: 0;
  display: block;
  text-align: left;
  font-size: 0.9rem;
  color: #645BD1;
}
.tbl-scr-x::before,
.tbl-scr-price::before {
  content: "\ea18";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  position: sticky;
  padding: 2px 5px;
  z-index: 10;
  background-color: rgba(246, 246, 246, 0.8);
}
.tbl-scr-x::after,
.tbl-scr-price::after {
  content: "横スクロールできます。";
  position: absolute;
  padding: 2px 5px 2px 2rem;
  z-index: 10;
}
.tbl-scr-x table,
.tbl-scr-price table {
  position: relative;
}
.tbl-scr-x thead,
.tbl-scr-price thead {
  word-break: keep-all;
  z-index: 1;
}
.tbl-scr-x thead tr > th:first-child,
.tbl-scr-price thead tr > th:first-child {
  position: sticky;
  left: 0;
}
.tbl-scr-x tbody th,
.tbl-scr-price tbody th {
  position: sticky;
  left: 0;
  z-index: 0;
  background-color: rgba(246, 246, 246, 0.9647058824);
}
.tbl-scr-x.tbl-scr-force table,
.tbl-scr-price.tbl-scr-force table {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media only screen and (min-width: 992px) {
  .tbl-scr-x::before, .tbl-scr-x::after,
  .tbl-scr-price::before,
  .tbl-scr-price::after {
    content: none;
  }
  .tbl-scr-x.tbl-scr-force table,
  .tbl-scr-price.tbl-scr-force table {
    width: 100%;
  }
}

.tbl-lattice table {
  width: 100%;
  table-layout: fixed;
}
.tbl-lattice th,
.tbl-lattice td {
  width: 120px;
  padding: 5px 10px;
  border-style: solid;
  border-width: 0;
  border-right-width: 1px;
  border-bottom-width: 1px;
}
.tbl-lattice th {
  border-color: rgba(255, 255, 255, 0.2);
}
.tbl-lattice td {
  border-color: rgba(255, 255, 255, 0.2);
}
.tbl-lattice thead th:first-child {
  background-color: #fff;
}
.tbl-lattice tbody tr:nth-child(odd) td {
  background-color: rgba(246, 246, 246, 0.9647058824);
}
.tbl-lattice tbody tr:nth-child(odd) th {
  background: rgba(237, 237, 237, 0.9664705882);
}
@media only screen and (min-width: 992px) {
  .tbl-lattice table {
    table-layout: auto;
  }
}

.tbl-event p {
  margin-bottom: 0;
}
.tbl-event tbody th {
  text-align: left;
}
.tbl-event .tbl-event-month th {
  background-color: #403370;
}
.tbl-event .tbl-event-subhead th {
  background-color: #645BD1;
}
.tbl-event .tbl-event-day td, .tbl-event .tbl-event-day th {
  background-color: #9A8DCB;
  color: #fff;
  border: none;
}
.tbl-event .tbl-event-content th {
  min-width: 150px;
}
.tbl-event .tbl-event-content td:has(img) {
  width: 200px !important;
  max-width: 100%;
}
.tbl-event tbody tr:not(.tbl-event-day) td:nth-child(3) {
  text-align: center;
}
.tbl-event tbody tr:not(.tbl-event-day) td img {
  width: 200px !important;
  max-width: 100%;
}
.tbl-event tbody tr:not(.tbl-event-day) td a:has(img):hover {
  opacity: 0.8;
}
@media only screen and (min-width: 992px) {
  .tbl-event thead th:first-child {
    width: 40%;
  }
  .tbl-event thead th:nth-child(2) {
    width: 30%;
  }
  .tbl-event thead th:nth-child(3) {
    width: 5%;
  }
  .tbl-event thead th:last-child {
    width: 230px;
  }
}

.tbl-download {
  margin-bottom: 2em;
}
.tbl-download tbody th {
  background-color: rgba(246, 246, 246, 0.9647058824);
  color: #464646;
  padding: 5px 10px;
  border-style: solid;
  border-width: 0;
  border-left-width: 0 !important;
  border-right-width: 1px;
  border-bottom-width: 1px;
  border-color: #fff;
}
.tbl-download .btn {
  padding: 5px 1em;
  min-width: 0 !important;
}
.tbl-download .if-download {
  display: block;
}
.tbl-download .if-download::after {
  content: "download";
}
.tbl-download .if-download::before {
  padding: 0;
}
.tbl-download {
empty-cells: hide;
} 
@media only screen and (max-width: 767px) {
  .tbl-download {
    font-size: 13px;
  }
  .tbl-download table {
    position: relative;
  }
  .tbl-download thead {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 2;
  }
  .tbl-download tbody th {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 1;
  }
  .tbl-download .if-download {
    padding: 2px;
  }
  .tbl-download .if-download::before {
    font-size: 1.4rem;
  }
  .tbl-download .if-download::after {
    content: none;
  }
}

.tbl-scr-price {
  max-height: 500px;
  margin-bottom: 20px;
}
.tbl-scr-price.th_mid tbody th {
  min-width: 7rem;
  text-align: left;
}
@media only screen and (min-width: 992px) {
  .tbl-scr-price.th_mid tbody th {
    min-width: 200px;
  }
}

.pri_table th.th-sec {
  position: unset;
}
.pri_table th.th-sec .list-horizontal.list-style-none {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pri_table tbody th {
  background-color: rgba(246, 246, 246, 0.9647058824);
}
.pri_table tbody tr:nth-child(2n+1) th {
  background-color: rgba(237, 237, 237, 0.9664705882);
}
.pri_table tbody td {
  text-align: right;
}
.pri_table .title-sec, .pri_table .title-sec th, .pri_table .title-sec td {
  background-color: #E8E6FF !important;
  border-right: none;
}
.pri_table .title-sec-min, .pri_table .title-sec-min th, .pri_table .title-sec-min td {
  background-color: #F3F2FF !important;
  border-right: none;
  padding-left: 0;
}
.pri_table .th-has-size .label, .pri_table .th-has-size .size {
  display: block;
}
.pri_table .th-has-size .size {
  text-align: right;
  font-weight: normal;
}
.pri_table ul {
  row-gap: 0;
}
.pri_table .th-width-min {
  width: 10%;
  min-width: 64px;
  max-width: 64px;
}
.pri_table .th-width-mid {
  width: 20%;
  min-width: 96px;
  max-width: 96px;
}
@media only screen and (min-width: 992px) {
  .pri_table .th-has-size {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.tbl-price-info {
  width: 100%;
  margin-bottom: 20px;
}
.tbl-price-info ul {
  row-gap: 0;
}
.tbl-price-info thead th {
  background-color: #9A8DCB;
  color: #fff;
}
.tbl-price-info tbody th, .tbl-price-info tbody td {
  padding: 2px 10px;
  border-bottom: 1px solid #BFBAFF;
}
.tbl-price-info tbody th {
  text-align: left;
  background-color: #E8E6FF;
  width: 40%;
}
@media only screen and (min-width: 992px) {
  .tbl-price-info tbody th {
    width: 200px;
  }
}

.tbl-option th, .tbl-option td, .tbl-price th, .tbl-price td {
  width: 70px;
  max-width: none;
  min-width: auto;
}
.tbl-option thead th:first-child, .tbl-option tbody th:first-child, .tbl-price thead th:first-child, .tbl-price tbody th:first-child {
  width: 150px;
  max-width: 30%;
  min-width: auto;
}
.tbl-option tbody th, .tbl-price tbody th {
  text-align: left;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  background-color: rgba(246, 246, 246, 0.9647058824);
}
.tbl-option tbody td, .tbl-price tbody td {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .tbl-option thead th:first-child, .tbl-option tbody th:first-child, .tbl-price thead th:first-child, .tbl-price tbody th:first-child {
    width: 200px;
  }
}
@media only screen and (min-width: 992px) {
  .tbl-option th, .tbl-option td, .tbl-price th, .tbl-price td {
    width: 10%;
    max-width: none;
    min-width: auto;
  }
  .tbl-option thead th:first-child, .tbl-option tbody th:first-child, .tbl-price thead th:first-child, .tbl-price tbody th:first-child {
    width: 30%;
    max-width: 30%;
    min-width: 200px;
  }
}

.tbl-option tbody th {
  padding-left: 2rem;
}
.tbl-option tbody th a {
  margin-left: -1.5rem;
}

.tbl-option-ondemand thead th:first-child, .tbl-option-ondemand tbody th:first-child {
  max-width: 20%;
  min-width: auto;
}
.tbl-option-ondemand thead td, .tbl-option-ondemand tbody td {
  vertical-align: top;
}
.tbl-option-ondemand thead td dl, .tbl-option-ondemand tbody td dl {
  margin: 0;
}
.tbl-option-ondemand thead td dd, .tbl-option-ondemand tbody td dd {
  margin: 0 0 0.5em 0.5em;
}
.tbl-option-ondemand thead td ul, .tbl-option-ondemand thead td ol, .tbl-option-ondemand tbody td ul, .tbl-option-ondemand tbody td ol {
  margin-top: 2px;
  margin-bottom: 2px;
}
.tbl-option-ondemand tbody th {
  text-align: left;
}

.table-fixed {
  table-layout: fixed;
}

@media only screen and (min-width: 992px) {
  .table-fixed-pc {
    table-layout: fixed;
  }
}

.table-mid {
  max-height: 500px;
}

.tbl-head-min:where(.tbl-main-sp) th {
  width: auto;
}
@media only screen and (min-width: 992px) {
  .tbl-head-min thead tr:first-child th:first-child {
    width: 100px;
  }
  .tbl-head-min tbody tr:first-child th {
    width: 100px;
  }
}

.tbl-head-mid:where(.tbl-main-sp) th {
  width: auto;
}
@media only screen and (min-width: 992px) {
  .tbl-head-mid thead tr:first-child th:first-child {
    width: 200px;
  }
  .tbl-head-mid tbody tr:first-child th {
    width: 200px;
  }
}

.tbl-head-max:where(.tbl-main-sp) th {
  width: auto;
}
@media only screen and (min-width: 992px) {
  .tbl-head-max thead tr:first-child th:first-child {
    width: 300px;
  }
  .tbl-head-max tbody tr:first-child th {
    width: 300px;
  }
}

input, button {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-size: 1rem;
}

.form-contents {
  margin: 20px 0;
}

.form-group {
  margin: 0;
  margin-bottom: 20px;
  display: -ms-grid;
  display: grid;
  gap: 10px;
}
@media only screen and (min-width: 992px) {
  .form-group {
    -ms-grid-columns: 150px 1fr;
    grid-template-columns: 150px 1fr;
  }
}

.form-control {
  display: block;
  height: calc(1.5em + 0.75rem + 2px);
  font-size: 1rem;
  font-weight: 400;
  background-color: #fff;
  color: #464646;
  background-clip: padding-box;
  border: 3px solid #A4A4A4;
  -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  padding: 0 8px;
  line-height: 2;
  min-height: 30px;
  border-radius: 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
}
.form-control:focus, .form-control:focus-visible, .form-control:active, .form-control:hover {
  border-color: #645BD1;
}
.form-control:disabled {
  background-color: #A4A4A4;
}
.form-control[type=date] {
  max-width: 10rem;
}
.form-control[type=number] {
  text-align: right;
}

label {
  font-weight: bold;
  padding: 0.375rem 0.75rem;
}
label.form-label {
  background: rgba(246, 246, 246, 0.9647058824);
  display: block;
}
label .badge-require {
  margin-left: 1em;
}

.sub-form-group label.form-label {
  background: transparent;
  border-bottom: 2px solid rgba(246, 246, 246, 0.9647058824);
}
@media only screen and (min-width: 992px) {
  .sub-form-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .sub-form-group label.form-label {
    min-width: 150px;
  }
  .sub-form-group .form-control {
    width: 100%;
  }
}

.form-control-help {
  font-size: 0.8rem;
  display: block;
  margin-top: 10px;
}
.form-control-help .toggle-open.btn {
  font-weight: bold;
}
.form-control-help .toggle-contents {
  padding: 1em;
  background: #FCEE21;
}

.form-control-radio {
  position: relative;
  cursor: pointer;
  padding-left: 40px;
  font-weight: normal;
}
.form-control-radio input {
  height: 0;
  width: 0;
  margin: -1px;
  padding: 0;
}
.form-control-radio input:before {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
  background-color: #fff;
  border: 2px solid #A4A4A4;
  width: 16px;
  height: 16px;
  left: 5.5px;
}
.form-control-radio input:after {
  background-color: #645BD1;
  opacity: 0;
  width: 0.9rem;
  height: 0.9rem;
  left: 8.5px;
}
.form-control-radio input:checked::before {
  background-color: #645BD1;
  background: radial-gradient(#645BD1 5px, #fff 6px);
}

.form-control-select {
  overflow: hidden;
  text-align: center;
  position: relative;
  border-radius: 8px;
  border: 3px solid #A4A4A4;
  background: #fff;
}
.form-control-select:before {
  position: absolute;
  top: 0.8em;
  right: 0.8em;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #A4A4A4;
  pointer-events: none;
}
.form-control-select select {
  width: 100%;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-size: 1rem;
  border: none;
  outline: none;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 8px 38px 8px 8px;
}
.form-control-select select::-ms-expand {
  display: none;
}
.form-control-select select option {
  padding: 2px 10px;
}

.form-control-size-min .form-control-radio {
  min-width: 4rem;
}

.form-input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.form-input-group .append-unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 3px solid #A4A4A4;
  background: #A4A4A4;
  text-align: center;
  font-weight: bold;
  color: #fff;
  border-radius: 0 8px 8px 0;
  padding: 0 8px;
  word-break: keep-all;
}
.form-input-group .form-control {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

@media only screen and (min-width: 992px) {
  .form-size-min {
    width: 30%;
  }
}

@media only screen and (min-width: 992px) {
  .form-size-mid {
    width: 50%;
  }
}

/* ----------------------
 * Tab Style
 * ---------------------- */
.tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px 0;
  /* ラジオボタン非表示 */
}
.tab:after {
  content: "";
  position: relative;
  height: 3px;
  margin-top: -3px;
  width: 100%;
  z-index: 1;
  background: #403370;
  display: block;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.tab .tab-label {
  color: White;
  background: #BFBAFF;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  padding: 10px 2px;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 15px 15px 0 0;
  border: 3px solid #403370;
  border-bottom: none;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.tab .tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab .tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.tab .tab-switch {
  display: none;
  /* アクティブなタブ */
}
.tab .tab-switch:checked + .tab-label {
  background: #645BD1;
  z-index: 10;
}
.tab .tab-switch:checked + .tab-label + .tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  border: 3px solid #403370;
  border-top: none;
}

.tab-kyosan .tab-content {
  padding: 0 !important;
}

/** カードスタイル **/
.set-cards {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 200px 1fr;
  grid-template-columns: 200px 1fr;
}

.set-card {
  position: relative;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%;
  margin-top: 20px;
}
.set-card img {
  max-width: 100%;
}
.set-card figure {
  margin: 0;
}
.set-card a {
  display: block;
  height: 100%;
}
.set-card a:hover, .set-card a:active {
  color: unset;
}
.set-card .card-img {
  width: 100%;
  max-width: 70px;
}
.set-card .card-img img {
  width: auto;
  height: 70px;
  position: absolute;
  bottom: -10px;
  right: -5px;
  /*
  object-fit: cover;
  bottom: -7px;
  right: 0;
   */
}
.set-card .card-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  font-weight: bold;
  font-size: 1.2rem;
  margin-bottom: 1em;
  background: #fff;
  border-bottom: 2px solid #403370;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  min-height: 2.8em;
  padding-left: 10px;
}
.set-card .card-text {
  margin-top: 0.5em;
  padding: 0.5em;
  font-size: 1rem;
  font-weight: normal;
  text-align: left;
}
.set-card .card-body {
  width: 100%;
  font-size: 1em;
}

/* ----------------------
 * Swiper Style
 * ---------------------- */
.swiper {
  width: 100%;
}
.swiper .swiper-wrapper {
  visibility: hidden;
}
.swiper.swiper-initialized .swiper-wrapper {
  visibility: visible;
}
.swiper .swiper-slide {
  text-align: center;
  font-size: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-height: 400px;
  max-width: 600px;
}
.swiper .swiper-slide img {
  display: block;
  width: 100%;
  border-radius: 25px;
}
.swiper .swiper-slide a {
  width: 100%;
  height: 100%;
}
.swiper .swiper-slide-prev,
.swiper .swiper-slide-next,
.swiper .swiper-slide-duplicate-prev,
.swiper .swiper-slide-duplicate-next {
  opacity: 0.5;
}
.swiper .swiper-pagination {
  margin-top: 20px;
  position: unset;
}
.swiper .swiper-pagination .swiper-pagination-bullet {
  border: 3px solid #403370;
  opacity: 1;
  background: #fff;
}
.swiper .swiper-pagination .swiper-pagination-bullet-active {
  background: #645BD1;
}
@media only screen and (min-width: 768px) {
  .swiper {
    width: calc(100% - 220px);
    margin-right: 0 !important;
  }
}
@media only screen and (min-width: 1200px) {
  .swiper {
    width: 100%;
    margin-right: auto !important;
  }
}

/** カレンダースタイル **/
.eigyo-calendar .holiday {
  position: relative;
}
.eigyo-calendar .holiday:before {
  content: "";
  position: absolute;
  background: #fff;
  border: 2px solid #FF0000;
  border-radius: 50rem;
  width: 1.5em;
  height: 1.5em;
}
.eigyo-calendar .link-day {
  text-decoration: underline;
  cursor: pointer;
  position: relative;
}
.eigyo-calendar .link-day:before {
  content: "";
  position: absolute;
  background: #fff;
  border: 2px solid #00B4E8;
  width: 1.5em;
  height: 1.5em;
}
.eigyo-calendar table {
  width: 100%;
  z-index: 0;
}
.eigyo-calendar table th {
  position: relative;
}
.eigyo-calendar table th p {
  font-size: 20px;
  line-height: 1;
}
.eigyo-calendar table .cal_ui {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  position: absolute;
  width: 100%;
  top: 8px;
}
.eigyo-calendar table .cal_ui input {
  font-size: 0;
  width: 35px;
  height: 35px;
  border: none;
  display: none;
}
.eigyo-calendar table .cal_ui input:first-child, .eigyo-calendar table .cal_ui input:last-child {
  display: block;
  content: "　" !important;
  background: url(../img/icon/icon-arrow.svg) no-repeat;
  background-size: contain;
  background-position: center;
}
.eigyo-calendar table .cal_ui input:last-child {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.eigyo-calendar table .cal_ui input:hover, .eigyo-calendar table .cal_ui input:active {
  cursor: pointer;
  content: "　" !important;
  background: url(../img/icon/icon-arrow-hover.svg) no-repeat;
  background-size: contain;
  background-position: center;
}
.eigyo-calendar table td {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  padding: 0.5em 0;
}
.eigyo-calendar table td div {
  z-index: 1;
}
.eigyo-calendar table .backward {
  font-weight: normal;
  background-color: transparent;
  opacity: 0.5;
}
.eigyo-calendar table .headline td:first-child {
  color: #FF0000;
}
.eigyo-calendar table .headline td:last-child {
  color: #0019FF;
}
.eigyo-calendar table .holiday:before {
  z-index: -1;
  top: -2px;
  left: calc(50% - 17px);
}
.eigyo-calendar table .sun {
  color: #FF0000;
}
.eigyo-calendar table .sat {
  color: #0019FF;
}
.eigyo-calendar table .eigyo:before {
  content: none !important;
}
.eigyo-calendar table .hidden {
  visibility: hidden;
}
.eigyo-calendar table .link-day:before {
  z-index: -1;
  top: -2px;
  left: calc(50% - 17px);
}
.eigyo-calendar .note {
  position: relative;
  z-index: 1;
  border-top: 1px solid #707070;
}
@media only screen and (min-width: 768px) {
  .eigyo-calendar table, .eigyo-calendar .note {
    width: 600px;
    margin: 0 auto;
  }
}

/** メインコンテンツスタイル **/
.contents-color {
  padding-top: 50px;
  padding-bottom: 50px;
  background: rgba(246, 246, 246, 0.9647058824);
}

.contents-color-min {
  padding: 10px;
  background: rgba(246, 246, 246, 0.9647058824);
}

.contents-top-info {
  margin-top: 20px !important;
  background: #645BD1;
  color: #fff;
  padding: 2px 0;
}
.contents-top-info .info-msg {
  font-weight: bold;
  text-align: center;
  margin: 0;
  padding: 5px 0;
}
.contents-top-info .info-msg a {
  color: #fff;
  text-decoration: none;
}
.contents-top-info .info-msg a:hover {
  color: #403370;
}
.contents-top-info .next-nav-msg {
  text-align: center;
  padding: 3px 0;
  margin: 0;
}
.contents-top-info .next-nav-msg:after, .contents-top-info .next-nav-msg:before {
  content: "\e5cf";
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  vertical-align: middle;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  line-height: 1;
}
.contents-top-info ul {
  margin-top: 0;
  margin-bottom: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.contents-top-info .link-nav {
  border-top: 2px solid #fff;
}
@media only screen and (min-width: 768px) {
  .contents-top-info .link-nav {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 3px 0;
  }
  .contents-top-info .next-nav-msg {
    text-align: center;
  }
  .contents-top-info .next-nav-msg:before {
    content: "";
  }
  .contents-top-info .next-nav-msg:after {
    content: "\e5df" "\e5df";
  }
}
@media only screen and (min-width: 992px) {
  .contents-top-info .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .contents-top-info .info-msg {
    width: 20rem;
    text-align: left;
    margin-right: 1em;
  }
  .contents-top-info .link-nav {
    width: calc(100% - 20rem);
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    border-top: none;
  }
  .contents-top-info .next-nav-msg {
    text-align: center;
  }
  .contents-top-info .next-nav-msg:before {
    content: "";
  }
  .contents-top-info .next-nav-msg:after {
    content: "\e5df" "\e5df";
  }
}

.contents-top-main-swiper {
  margin-top: 20px !important;
  position: relative;
  padding-left: 10px;
  padding-right: 10px;
  max-width: 100%;
}
.contents-top-main-swiper .top-swiper-nav {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 767px) {
  .contents-top-main-swiper .top-swiper-nav .btn {
    display: block;
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .contents-top-main-swiper {
    min-height: 310px;
  }
  .contents-top-main-swiper .top-swiper-nav {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 220px;
    left: calc((100% - var(--main-container)) / 2);
    z-index: 10;
  }
  .contents-top-main-swiper .top-swiper-nav .btn {
    margin-left: 0;
  }
  .contents-top-main-swiper .top-swiper-nav .btn:first-child {
    margin-top: 0;
  }
}
@media only screen and (min-width: 992px) {
  .contents-top-main-swiper .top-swiper-nav {
    padding: 0 0 10px;
  }
}
@media only screen and (min-width: 1200px) {
  .contents-top-main-swiper .top-swiper-nav {
    padding: 10px 0;
    left: calc((100% - var(--main-container)) / 2 - 10px);
  }
}

.contents-important, .contents-news {
  border: 5px solid;
  border-radius: 25px;
  padding: 15px;
  margin-bottom: 2em;
}
.contents-important .btn-area, .contents-news .btn-area {
  margin-top: 10px;
}

.contents-important {
  border-color: #403370;
}
.contents-important h3.contents-title {
  color: #403370;
}
.contents-important .news-list li {
  border-color: #9A8DCB;
}

.contents-news {
  border-color: #645BD1;
}

.contents-tool {
  margin-top: 50px;
}
.contents-tool .contents-detail .btn-main-big-outline {
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .contents-tool .contents-detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
  }
  .contents-tool .contents-detail .btn-main-big-outline {
    margin-bottom: 10px;
  }
}

.contents-pickup {
  margin-top: 50px;
}
@media only screen and (min-width: 768px) {
  .contents-pickup .contents-detail {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 20px 1fr;
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-rows: 300px 20px 300px;
    grid-template-rows: repeat(2, 300px);
    gap: 20px;
  }
  .contents-pickup .contents-detail > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .contents-pickup .contents-detail > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .contents-pickup .contents-detail > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .contents-pickup .contents-detail > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .contents-pickup .pickup-content:first-child {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .contents-pickup .pickup-content:nth-child(2) {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .contents-pickup .pickup-content:nth-child(3) {
    -ms-grid-column: 2;
    grid-column: 2/2;
    -ms-grid-row: 2;
    grid-row: 2;
  }
}
@media only screen and (min-width: 768px) {
  .contents-pickup {
    padding-bottom: 50px;
  }
}
@media only screen and (min-width: 1200px) {
  .contents-pickup {
    padding-bottom: 0;
  }
  .contents-pickup .contents-detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
  }
}

/* 3つの理由 - コンテンツ */
.pickup-content .pickup-detail {
  margin: 0 auto;
  width: calc(100vw - 20px);
  height: calc(100vw - 20px);
  max-width: 300px;
  max-height: 300px;
}
.pickup-content .pickup-link {
  position: relative;
  top: -20px;
}
.pickup-content .pickup-link .btn {
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .pickup-content .pickup-detail {
    width: 300px;
    height: 300px;
  }
}

/* 3つの理由 - 詳細 */
.pickup-detail {
  text-align: center;
  position: relative;
  /* 背景黄色●　*/
}
.pickup-detail:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #FCEE21;
  left: 0;
  top: 0;
  clip-path: circle(50% at 50% 50%);
  z-index: -1;
}
.pickup-detail:after {
  position: absolute;
  content: "　" !important;
  background: url(../img/icon/icon-bros-02.svg) no-repeat;
  background-size: contain;
  background-position: center;
  width: 150px;
  height: 150px;
  bottom: 0;
  left: calc(50% - 75px);
  z-index: -1;
}
.pickup-detail .title-outline {
  font-size: 20px;
  padding-top: 15px;
}
.pickup-detail .title-outline .number {
  font-size: 35px;
  position: relative;
}
.pickup-detail .title-outline .number:before {
  content: "";
  position: absolute;
  left: -0.3em;
  top: 0.1em;
  width: 1.2em;
  height: 1.2em;
  background: #fff;
  clip-path: circle(50% at 50% 50%);
  z-index: -1;
}
.pickup-detail .pickup-title {
  font-size: 16px;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 10px;
}
.pickup-detail .message {
  font-size: 14px;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 2em;
  padding-right: 2em;
  text-shadow: 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21, 0 0 3px #FCEE21;
}

.contents-campaign .contents-detail .campaign-link {
  display: block;
  text-align: center;
  margin-bottom: 20px;
}
.contents-campaign .contents-detail img {
  max-width: 100%;
}
.contents-campaign .contents-detail a:hover img {
  opacity: 0.5;
}
@media only screen and (min-width: 768px) {
  .contents-campaign .contents-detail {
    display: -ms-grid;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* 中央ぞろえ */
.contents-center {
  text-align: center;
}

/* 中央揃え(ブロック) */
.block-center {
  margin: 0 auto;
}

/* 注意ブロック */
/* 注目ブロック */
.contents-caution, .contents-notice, .contents-normal, .contents-normal-min {
  margin-top: 20px;
  margin-bottom: 20px;
  border-radius: 25px;
  padding: 20px;
  border: 3px solid #DBDBDB;
}
.contents-caution p, .contents-notice p, .contents-normal p, .contents-normal-min p {
  margin-top: 0;
}

.contents-normal-min {
  border-radius: 15px;
  padding: 10px;
}

.contents-caution {
  border-color: #FF5757;
}

.contents-notice {
  border-color: #00B4E8;
}

/* お知らせブロック */
.contents-info {
  background: #fbfafd;
  padding: 10px 20px;
}

/* 注意(小)ブロック */
.contents-sm-caution {
  background: rgba(255, 87, 87, 0.1);
  padding: 10px 20px;
}

/* 宛先ブロック */
.contents-address {
  background: #F3F2FF;
}
.contents-address .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #E8E6FF;
  padding: 10px 20px;
  font-weight: bold;
}
.contents-address .address {
  padding: 10px 20px;
}
@media only screen and (min-width: 992px) {
  .contents-address {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 8em 1fr;
    grid-template-columns: 8em 1fr;
  }
}

/* セット商品用タイトル */
.contents-set-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 3px solid #403370;
}
.contents-set-top p {
  margin-top: 3px;
  margin-bottom: 3px;
}
.contents-set-top .set-names {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin: 0.5em 0;
}
.contents-set-top .set-names .set-img {
  width: 100px;
  height: 100px;
  position: relative;
}
.contents-set-top .set-names .set-img img {
  max-height: 100px;
  position: absolute;
}
.contents-set-top .set-names .set-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  font-size: 1.4rem;
  max-width: calc(100% - 100px);
  color: #403370;
}
.contents-set-top .set-text .data-service {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0.5em 0;
}
.contents-set-top .set-text .data-service dt {
  margin-bottom: 10px;
}
.contents-set-top .set-text .data-service dd {
  margin-left: 0;
  padding-left: 0;
}
.contents-set-top .set-text .data-service .set-service ul {
  gap: 2px 5px;
  margin: 0;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  width: 100%;
}
.contents-set-top .set-siyou {
  font-size: 0.8rem;
}
.contents-set-top .set-siyou dl {
  margin-bottom: 5px;
}
.contents-set-top .set-siyou dt {
  margin-left: 0;
  color: #403370;
  text-align: left;
}
.contents-set-top .set-siyou dd {
  margin-bottom: 0;
}
.contents-set-top .set-siyou .data-siyou {
  -ms-grid-columns: 1rem 1fr 1rem 1fr;
  grid-template-columns: 1rem 1fr 1rem 1fr;
  margin-top: 5px;
}
.contents-set-top .set-siyou .data-siyou dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
}
.contents-set-top .set-siyou .data-siyou dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 0;
}
.contents-set-top .set-siyou .siyou-top th {
  width: 2rem;
}
.contents-set-top .set-siyou .siyou-top td {
  width: calc(50% - 2rem);
}
@media only screen and (min-width: 768px) {
  .contents-set-top {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .contents-set-top .set-names {
    width: 50%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0;
  }
  .contents-set-top .set-names .set-img img {
    bottom: -7px;
  }
  .contents-set-top .set-text {
    width: 50%;
  }
  .contents-set-top .set-siyou {
    width: 100%;
  }
}
@media only screen and (min-width: 1200px) {
  .contents-set-top {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .contents-set-top .set-names {
    width: 33%;
  }
  .contents-set-top .set-names .set-name {
    font-size: 1.2rem;
  }
  .contents-set-top .set-text {
    width: 35%;
  }
  .contents-set-top .set-text .data-service dt {
    font-size: 14px;
  }
  .contents-set-top .set-siyou {
    width: auto;
  }
}
@media only screen and (min-width: 1400px) {
  .contents-set-top .set-names {
    width: 30%;
  }
  .contents-set-top .set-names .set-name {
    font-size: 1.4rem;
  }
  .contents-set-top .set-text {
    width: 30%;
  }
  .contents-set-top .set-text .data-service dt {
    font-size: 16px;
  }
  .contents-set-top .set-siyou {
    width: 40%;
  }
}

/* 締切日タイトル */
.contents-shimekiri-top {
  color: #403370;
  border-bottom: 3px solid #403370;
}
.contents-shimekiri-top .shimekiri {
  font-size: 1rem;
}
.contents-shimekiri-top .shimekiri dl {
  margin-bottom: 0;
}
.contents-shimekiri-top .shimekiri dt {
  color: #403370;
  font-size: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
.contents-shimekiri-top .shimekiri dd {
  font-size: 2rem;
  margin-bottom: 0;
  margin-left: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
.contents-shimekiri-top .shimekiri .year {
  font-size: 1rem;
  font-weight: bold;
}
.contents-shimekiri-top .shimekiri .date {
  padding-left: 0.5em;
  padding-right: 0.5em;
  font-weight: bold;
}
.contents-shimekiri-top .shimekiri .week {
  font-size: 0.8em;
  font-weight: bold;
}

/* 締切日セット一覧 */
.contents-shimekiri-sets {
  color: #403370;
}
.contents-shimekiri-sets dl {
  margin-bottom: 0;
}
.contents-shimekiri-sets dt {
  color: #403370;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contents-shimekiri-sets dd ul {
  gap: 10px 0.8em;
  padding-left: 0;
}
.contents-shimekiri-sets .btn {
  margin: 0;
}
.contents-shimekiri-sets .btn img {
  max-width: 50px;
  margin-right: 0.5em;
}
@media only screen and (max-width: 575px) {
  .contents-shimekiri-sets dl dd {
    margin-left: 0.5em;
  }
  .contents-shimekiri-sets ul li {
    width: 100%;
  }
  .contents-shimekiri-sets .btn {
    padding-top: 2px;
    padding-bottom: 2px;
    width: 100%;
  }
}

/* 締切日 テーブル */
.contents-shimekiri-table {
  margin-top: 20px;
}
.contents-shimekiri-table td {
  text-align: center;
}
.contents-shimekiri-table tbody th {
  text-align: left;
}

/* お問い合わせ先ブロック */
.contents-toiawase dl dt {
  font-size: 1.1rem;
  background-color: #645BD1;
  color: #fff;
  padding: 0.5rem;
}
.contents-toiawase .tel, .contents-toiawase .fax, .contents-toiawase .e-mail {
  font-size: 2rem;
  font-weight: bold;
  color: #645BD1;
}
.contents-toiawase .tel:before, .contents-toiawase .fax:before, .contents-toiawase .e-mail:before {
  margin-right: 10px;
  min-width: 4em;
  font-size: 1.9rem;
}
.contents-toiawase .fax:before {
  content: "FAX:";
}
.contents-toiawase ul {
  margin-bottom: 0;
}
@media only screen and (max-width: 575px) {
  .contents-toiawase .tel, .contents-toiawase .fax, .contents-toiawase .e-mail {
    font-size: 1.5rem;
  }
}

/* クレジットカードリスト */
.credit-card-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* ----------------------
 * 全体共通 Style
 * ---------------------- */
html, body {
  color: #464646;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-size: 16px;
  margin: 0;
  overflow-x: hidden;
}

/** ヘッダースタイル **/
header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 3px solid #645BD1;
}

/** ヘッダー(リード部分) **/
.h-lead {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 150px 400px auto;
  grid-template-columns: 150px 400px auto;
  padding-top: 10px;
  padding-bottom: 10px;
}
.h-lead .logo {
  margin-left: 10px;
}
.h-lead .contact {
  display: none;
  text-align: center;
}
.h-lead .contact-tel {
  font-size: 20px;
  font-weight: bold;
  color: #403370;
  margin: 0;
}
.h-lead .contact-comment {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  color: #403370;
  margin: 0;
}
.h-lead .sub-nav {
  display: none;
}
@media only screen and (min-width: 768px) {
  .h-lead {
    -ms-grid-columns: 150px 11rem auto;
    grid-template-columns: 150px 11rem auto;
    padding-right: 60px;
  }
}
@media only screen and (min-width: 992px) {
  .h-lead {
    -ms-grid-columns: 150px 400px auto;
    grid-template-columns: 150px 400px auto;
    padding-right: 0;
  }
  .h-lead .contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .h-lead .logo {
    margin-left: 0;
  }
  .h-lead .sub-nav {
    display: block;
  }
  .h-lead .contact-tel {
    margin: 0 1em;
  }
  .h-lead .contact-tel, .h-lead .contact-comment {
    margin-top: 5px;
  }
}

/* メインコンテンツ */
.main-container {
  margin-top: 70px;
}
@media only screen and (min-width: 768px) {
  .main-container {
    margin-top: 73px;
  }
}
@media only screen and (min-width: 992px) {
  .main-container {
    margin-top: 213px;
  }
}
@media only screen and (min-width: 1200px) {
  .main-container {
    margin-top: 176px;
  }
}

/** フッタースタイル **/
footer {
  background: #645BD1;
  color: #fff;
  margin-bottom: 80px;
  overflow: hidden;
}
footer .contents-footer-nav {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 5px solid #fff;
}
footer .contents-footer {
  padding-top: 50px;
  padding-bottom: 5px;
}
footer .footer-logo {
  text-align: center;
  margin-bottom: 25px;
}
footer .footer-contact {
  text-align: center;
  font-weight: bold;
}
footer .footer-contact p {
  margin-top: 0;
  margin-bottom: 2px;
}
footer .footer-contact .contact-tel {
  font-size: 25px;
  font-weight: bold;
}
footer .footer-detail {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
footer .footer-detail .address {
  -ms-grid-row: 2;
  grid-row: 2;
  text-align: center;
  display: block;
}
footer .footer-bottom {
  display: -ms-grid;
  display: grid;
}
footer .copyright {
  -ms-grid-row: 2;
  grid-row: 2;
  text-align: center;
  font-size: 14px;
}
footer .copyright p {
  margin: 0;
  line-height: 2;
}
footer .footer-sub-nav {
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  footer {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 992px) {
  footer .footer-bottom {
    -ms-grid-columns: 30% 70%;
    grid-template-columns: 30% 70%;
  }
  footer .copyright {
    -ms-grid-row: 1;
    grid-row: 1;
    text-align: left;
  }
}
@media only screen and (min-width: 1200px) {
  footer .footer-detail {
    -ms-grid-columns: 30% 70%;
    grid-template-columns: 30% 70%;
  }
  footer .footer-detail .address {
    -ms-grid-row: 1;
    grid-row: 1;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
}

/** モバイル用メニュー **/
#mobile-nav-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1;
}
#mobile-nav-menu .mobile-nav-menu-btn, #mobile-nav-menu .mobile-nav-mypage-btn {
  position: absolute;
  right: 0;
  top: 0;
}
#mobile-nav-menu .mobile-nav-menu-btn {
  right: 0;
}
#mobile-nav-menu .mobile-nav-mypage-btn {
  right: 60px;
}
#mobile-nav-menu.open-nav {
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 992px) {
  #mobile-nav-menu {
    display: none;
    width: 0;
  }
}

/** モバイル用フッターメニュー **/
#mobile-nav-menu-bottom {
  z-index: 1;
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
}
@media only screen and (min-width: 768px) {
  #mobile-nav-menu-bottom {
    display: none;
  }
}

/** TOPへボタン **/
#to-page-top {
  display: none;
}
@media only screen and (min-width: 992px) {
  #to-page-top {
    display: block;
    position: relative;
  }
  #to-page-top .to-page-top-in {
    width: 120px;
    height: 160px;
    position: fixed;
    right: calc((100% - var(--main-container)) / 2);
    bottom: -300px;
    z-index: 1000;
    -webkit-transition: all 1s ease-out;
    transition: all 1s ease-out;
  }
  #to-page-top .to-page-top-in.to-page-top-show {
    bottom: 10px;
  }
  #to-page-top .to-page-top-in.to-page-top-stop {
    position: absolute;
  }
  #to-page-top a {
    background-image: url("../img/im-top.png");
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
  }
  #to-page-top a:hover, #to-page-top a:active {
    background-image: url("../img/im-top-hov.png");
  }
}

section {
  margin-top: 60px;
  margin-bottom: 60px;
}

article {
  margin-top: 30px;
  margin-bottom: 30px;
}

/* ----------------------
 * 内部ページ専用 Style
 * ---------------------- */
.page-detail .page-header {
  max-width: 100vw;
  width: auto;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: #645BD1;
  padding: 20px 0;
}
.page-detail .page-header .page-header-title {
  text-align: center;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
}
.page-detail .page-header .page-header-title:before {
  font-size: 1.6em;
  padding-right: 1em;
}

/* ----------------------
 * サイトマップページ専用 Style
 * ---------------------- */
.page-sitemap .sitemap_contents {
  display: -ms-grid;
  display: grid;
  gap: 20px;
}
@media only screen and (min-width: 992px) {
  .page-sitemap .sitemap_contents {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}
.page-sitemap .sitemap-list .side-nav {
  border-radius: 0;
}
.page-sitemap .sitemap-list .side-nav .has-child .child_side_button {
  border: none;
}
.page-sitemap .sitemap-list .side-nav .has-child .child_side_button::after {
  content: none;
}
.page-sitemap .sitemap-list .side-nav .side-nav-child {
  display: block;
  visibility: visible;
  height: 100%;
  padding-left: 10px;
}
.page-sitemap .sitemap-list .side-nav > ul > li {
  margin-top: 0.5rem;
}
.page-sitemap .sitemap-list .side-nav > ul > li:first-child {
  margin-top: 0;
  padding-top: 0;
}
.page-sitemap .sitemap-list .side-nav-child li {
  border-bottom: 1px solid #BFBAFF;
}

/* ----------------------
 * TOPページ専用 Style
 * ---------------------- */
.page-top-main h3.contents-title {
  text-align: center;
  margin-top: 0;
  border-bottom: none;
}
.page-top-main section {
  margin-top: 50px;
}