﻿:root {
   --swl-fz--content: 15px;
   --swl-letter_spacing: .025em;
   --swl-font_family: "Noto Sans JP", sans-serif;
   --swl-font_weight: 400;
   --color_main: #e60012;
   --color_text: #333;
   --color_link: #e60012;
   --color_htag: #e60012;
   --color_bg: #ffffff;
   --color_gradient1: #ffffff;
   --color_gradient2: #ffffff;
   --color_main_thin: rgba(255, 0, 23, 0.05);
   --color_main_dark: rgba(173, 0, 14, 1);
   --color_list_check: #e60012;
   --color_list_num: #e60012;
   --color_list_good: #86dd7b;
   --color_list_triangle: #f4e03a;
   --color_list_bad: #f36060;
   --color_faq_q: #d55656;
   --color_faq_a: #6599b7;
   --color_icon_good: #3cd250;
   --color_icon_good_bg: #ecffe9;
   --color_icon_bad: #4b73eb;
   --color_icon_bad_bg: #eafaff;
   --color_icon_info: #f578b4;
   --color_icon_info_bg: #fff0fa;
   --color_icon_announce: #e60012;
   --color_icon_announce_bg: #f8f8f8;
   --color_icon_pen: #7a7a7a;
   --color_icon_pen_bg: #f7f7f7;
   --color_icon_book: #787364;
   --color_icon_book_bg: #f8f6ef;
   --color_icon_point: #ffa639;
   --color_icon_check: #86d67c;
   --color_icon_batsu: #f36060;
   --color_icon_hatena: #5295cc;
   --color_icon_caution: #f7da38;
   --color_icon_memo: #84878a;
   --color_deep01: #e44141;
   --color_deep02: #3d79d5;
   --color_deep03: #63a84d;
   --color_deep04: #f09f4d;
   --color_pale01: #fff2f0;
   --color_pale02: #f3f8fd;
   --color_pale03: #f1f9ee;
   --color_pale04: #fdf9ee;
   --color_mark_blue: #b7e3ff;
   --color_mark_green: #bdf9c3;
   --color_mark_yellow: #fcf69f;
   --color_mark_orange: #fbd9dc;
   --border01: solid 1px var(--color_main);
   --border02: double 4px var(--color_main);
   --border03: dashed 2px var(--color_border);
   --border04: solid 4px var(--color_gray);
   --card_posts_thumb_ratio: 56.25%;
   --list_posts_thumb_ratio: 61.805%;
   --big_posts_thumb_ratio: 56.25%;
   --thumb_posts_thumb_ratio: 61.805%;
   --blogcard_thumb_ratio: 56.25%;
   --color_header_bg: #ffffff;
   --color_header_text: #333;
   --color_footer_bg: #333333;
   --color_footer_text: #ffffff;
   --container_size: 1140px;
   --article_size: 900px;
   --logo_size_sp: 48px;
   --logo_size_pc: 36px;
   --logo_size_pcfix: 32px;
}

.swl-cell-bg[data-icon="doubleCircle"] {
   --cell-icon-color: #ffc977
}

.swl-cell-bg[data-icon="circle"] {
   --cell-icon-color: #94e29c
}

.swl-cell-bg[data-icon="triangle"] {
   --cell-icon-color: #eeda2f
}

.swl-cell-bg[data-icon="close"] {
   --cell-icon-color: #ec9191
}

.swl-cell-bg[data-icon="hatena"] {
   --cell-icon-color: #93c9da
}

.swl-cell-bg[data-icon="check"] {
   --cell-icon-color: #94e29c
}

.swl-cell-bg[data-icon="line"] {
   --cell-icon-color: #9b9b9b
}

.cap_box {
   --capbox-color: #666666;
   --capbox-color--bg: #ffffff
}

.cap_box[data-colset="col1"] {
   --capbox-color: #e60012;
   --capbox-color--bg: #ffffff
}

.cap_box[data-colset="col2"] {
   --capbox-color: #000000;
   --capbox-color--bg: #ffffff
}

.cap_box[data-colset="col3"] {
   --capbox-color: #666666;
   --capbox-color--bg: #ffffff
}

.red_ {
   --the-btn-color: #e60012;
   --the-btn-color2: #ffbc49;
   --the-solid-shadow: rgba(173, 0, 14, 1)
}

.blue_ {
   --the-btn-color: #338df4;
   --the-btn-color2: #35eaff;
   --the-solid-shadow: rgba(38, 106, 183, 1)
}

.green_ {
   --the-btn-color: #62d847;
   --the-btn-color2: #7bf7bd;
   --the-solid-shadow: rgba(74, 162, 53, 1)
}

.is-style-btn_normal {
   --the-btn-radius: 0px
}

.is-style-btn_solid {
   --the-btn-radius: 0px
}

.is-style-btn_shiny {
   --the-btn-radius: 0px
}

.is-style-btn_line {
   --the-btn-radius: 0px
}

.post_content blockquote {
   padding: 1.5em 2em 1.5em 3em
}

.post_content blockquote::before {
   content: "";
   display: block;
   width: 5px;
   height: calc(100% - 3em);
   top: 1.5em;
   left: 1.5em;
   border-left: solid 1px rgba(180, 180, 180, .75);
   border-right: solid 1px rgba(180, 180, 180, .75);
}

.mark_blue {
   background: -webkit-linear-gradient(transparent 64%, var(--color_mark_blue) 0%);
   background: linear-gradient(transparent 64%, var(--color_mark_blue) 0%)
}

.mark_green {
   background: -webkit-linear-gradient(transparent 64%, var(--color_mark_green) 0%);
   background: linear-gradient(transparent 64%, var(--color_mark_green) 0%)
}

.mark_yellow {
   background: -webkit-linear-gradient(transparent 64%, var(--color_mark_yellow) 0%);
   background: linear-gradient(transparent 64%, var(--color_mark_yellow) 0%)
}

.mark_orange {
   background: -webkit-linear-gradient(transparent 64%, var(--color_mark_orange) 0%);
   background: linear-gradient(transparent 64%, var(--color_mark_orange) 0%)
}

[class*="is-style-icon_"] {
   color: #333;
   border-width: 0
}

[class*="is-style-big_icon_"] {
   border-width: 2px;
   border-style: solid
}

[data-col="gray"] .c-balloon__text {
   background: #f7f7f7;
   border-color: #ccc
}

[data-col="gray"] .c-balloon__before {
   border-right-color: #f7f7f7
}

[data-col="green"] .c-balloon__text {
   background: #d1f8c2;
   border-color: #9ddd93
}

[data-col="green"] .c-balloon__before {
   border-right-color: #d1f8c2
}

[data-col="blue"] .c-balloon__text {
   background: #e2f6ff;
   border-color: #93d2f0
}

[data-col="blue"] .c-balloon__before {
   border-right-color: #e2f6ff
}

[data-col="red"] .c-balloon__text {
   background: #ffebeb;
   border-color: #f48789
}

[data-col="red"] .c-balloon__before {
   border-right-color: #ffebeb
}

[data-col="yellow"] .c-balloon__text {
   background: #f9f7d2;
   border-color: #fbe593
}

[data-col="yellow"] .c-balloon__before {
   border-right-color: #f9f7d2
}

.-type-list2 .p-postList__body::after,
.-type-big .p-postList__body::after {
   content: "READ MORE »";
}

.c-postThumb__cat {
   background-color: #e60012;
   color: #fff;
   background-image: repeating-linear-gradient(-45deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .1) 6px, transparent 6px, transparent 12px)
}

.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
   padding: .5em 0px .5em 24px
}

.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
   position: absolute;
   display: block;
   pointer-events: none;
   content: "";
   left: 0;
   top: 0;
   width: 8px;
   height: 100%;
   background: repeating-linear-gradient(var(--color_htag) 0%, var(--color_htag) 50%, rgba(230, 0, 18, 0.15) 50%, rgba(230, 0, 18, 0.15) 100%);
}

.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
   border-left: solid 4px var(--color_htag);
   padding: .25em 0 .25em 16px
}

.l-footer__widgetArea {
   background: #333333
}

.l-header__menuBtn {
   order: 3
}

.l-header__customBtn {
   order: 1
}

.c-gnav a::after {
   background: var(--color_main);
   width: 100%;
   height: 2px;
   transform: scaleX(0)
}

.p-spHeadMenu .menu-item.-current {
   border-bottom-color: var(--color_main)
}

.c-gnav>li:hover>a::after,
.c-gnav>.-current>a::after {
   transform: scaleX(1)
}

.c-gnav .sub-menu {
   color: #333;
   background: #fff
}

.l-fixHeader::before {
   opacity: 1
}

.c-infoBar {
   color: #ffffff;
   background-color: #e60012
}

.c-infoBar__text {
   font-size: 3vw
}

.c-infoBar__btn {
   background-color: #000000 !important
}

#pagetop {
   border-radius: 50%
}

#before_footer_widget {
   margin-bottom: 0
}

.c-widget__title.-spmenu {
   padding: .5em .75em;
   border-radius: var(--swl-radius--2, 0px);
   background: var(--color_main);
   color: #fff;
}

.c-widget__title.-footer {
   padding: .5em
}

.c-widget__title.-footer::before {
   content: "";
   bottom: 0;
   left: 0;
   width: 40%;
   z-index: 1;
   background: var(--color_main)
}

.c-widget__title.-footer::after {
   content: "";
   bottom: 0;
   left: 0;
   width: 100%;
   background: var(--color_border)
}

.p-spMenu {
   color: #333
}

.p-spMenu__inner::before {
   background: #fdfdfd;
   opacity: 1
}

.p-spMenu__overlay {
   background: #000;
   opacity: 0.6
}

[class*="page-numbers"] {
   border-radius: 50%;
   margin: 4px;
   color: #fff;
   background-color: #dedede
}

.l-topTitleArea.c-filterLayer::before {
   background-color: #000000;
   opacity: 0;
   content: ""
}

@media screen and (min-width: 960px) {
   :root {}
}

@media screen and (max-width: 959px) {
   :root {}

   .l-header__logo {
      order: 2;
      text-align: center
   }
}

@media screen and (min-width: 600px) {
   :root {
      --swl-fz--content: 16px;
   }

   .c-infoBar__text {
      font-size: 12px
   }
}

@media screen and (max-width: 599px) {
   :root {}
}

@media (min-width: 1108px) {
   .alignwide {
      left: -100px;
      width: calc(100% + 200px);
   }
}

@media (max-width: 1108px) {
   .-sidebar-off .swell-block-fullWide__inner.l-container .alignwide {
      left: 0px;
      width: 100%;
   }
}

.l-fixHeader .l-fixHeader__gnav {
   order: 0
}

[data-scrolled=true] .l-fixHeader[data-ready] {
   opacity: 1;
   -webkit-transform: translateY(0) !important;
   transform: translateY(0) !important;
   visibility: visible
}

.-body-solid .l-fixHeader {
   box-shadow: 0 2px 4px var(--swl-color_shadow)
}

.l-fixHeader__inner {
   align-items: stretch;
   color: var(--color_header_text);
   display: flex;
   padding-bottom: 0;
   padding-top: 0;
   position: relative;
   z-index: 1
}

.l-fixHeader__logo {
   align-items: center;
   display: flex;
   line-height: 1;
   margin-right: 24px;
   order: 0;
   padding: 16px 0
}

.c-infoBar {
   overflow: hidden;
   position: relative;
   width: 100%
}

.c-infoBar.-bg-stripe:before {
   background-image: repeating-linear-gradient(-45deg, #fff 0 6px, transparent 6px 12px);
   content: "";
   display: block;
   opacity: .1
}

.c-infoBar__link {
   text-decoration: none;
   z-index: 0
}

.c-infoBar__link,
.c-infoBar__text {
   color: inherit;
   display: block;
   position: relative
}

.c-infoBar__text {
   font-weight: 700;
   padding: 8px 0;
   z-index: 1
}

.c-infoBar__text.-flow-on {
   -webkit-animation: flowing_text 12s linear infinite;
   animation: flowing_text 12s linear infinite;
   -webkit-animation-duration: 12s;
   animation-duration: 12s;
   text-align: left;
   -webkit-transform: translateX(100%);
   transform: translateX(100%);
   white-space: nowrap
}

.c-infoBar__text.-flow-off {
   align-items: center;
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   text-align: center
}

.c-infoBar__btn {
   border-radius: 40px;
   box-shadow: 0 2px 4px var(--swl-color_shadow);
   color: #fff;
   display: block;
   font-size: .95em;
   line-height: 2;
   margin-left: 1em;
   min-width: 1em;
   padding: 0 1em;
   text-decoration: none;
   width: auto
}

@media (min-width:960px) {
   .c-infoBar__text.-flow-on {
      -webkit-animation-duration: 20s;
      animation-duration: 20s
   }
}

@media (min-width:1200px) {
   .c-infoBar__text.-flow-on {
      -webkit-animation-duration: 24s;
      animation-duration: 24s
   }
}

@media (min-width:1600px) {
   .c-infoBar__text.-flow-on {
      -webkit-animation-duration: 30s;
      animation-duration: 30s
   }
}

@media (min-width:960px) {
   .-parallel .l-header__inner {
      display: flex;
      flex-wrap: wrap;
      max-width: 100%;
      padding-left: 0;
      padding-right: 0
   }

   .-parallel .l-header__logo {
      text-align: center;
      width: 100%
   }

   .-parallel .l-header__logo .c-catchphrase {
      font-size: 12px;
      line-height: 1;
      margin-top: 16px
   }

   .-parallel .l-header__gnav {
      width: 100%
   }

   .-parallel .l-header__gnav .c-gnav {
      justify-content: center
   }

   .-parallel .l-header__gnav .c-gnav>li>a {
      padding: 16px
   }

   .-parallel .c-headLogo.-txt,
   .-parallel .w-header {
      justify-content: center
   }

   .-parallel .w-header {
      margin-bottom: 8px;
      margin-top: 8px
   }

   .-parallel-bottom .l-header__inner {
      padding-top: 8px
   }

   .-parallel-bottom .l-header__logo {
      order: 1;
      padding: 16px 0
   }

   .-parallel-bottom .w-header {
      order: 2
   }

   .-parallel-bottom .l-header__gnav {
      order: 3
   }

   .-parallel-top .l-header__inner {
      padding-bottom: 8px
   }

   .-parallel-top .l-header__gnav {
      order: 1
   }

   .-parallel-top .l-header__logo {
      order: 2;
      padding: 16px 0
   }

   .-parallel-top .w-header {
      order: 3
   }

   .l-header.-parallel .w-header {
      width: 100%
   }

   .l-fixHeader.-parallel .l-fixHeader__gnav {
      margin-left: auto
   }
}

.c-gnav .sub-menu a:before,
.c-listMenu a:before {
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   font-family: icomoon !important;
   font-style: normal;
   font-variant: normal;
   font-weight: 400;
   line-height: 1;
   text-transform: none
}

.c-submenuToggleBtn {
   display: none
}

.c-listMenu a {
   padding: .75em 1em .75em 1.5em;
   transition: padding .25s
}

.c-listMenu a:hover {
   padding-left: 1.75em;
   padding-right: .75em
}

.c-gnav .sub-menu a:before,
.c-listMenu a:before {
   color: inherit;
   content: "\e921";
   display: inline-block;
   left: 2px;
   position: absolute;
   top: 50%;
   -webkit-transform: translateY(-50%);
   transform: translateY(-50%);
   vertical-align: middle
}

.widget_categories>ul>.cat-item>a,
.wp-block-categories-list>li>a {
   padding-left: 1.75em
}

.c-listMenu .children,
.c-listMenu .sub-menu {
   margin: 0
}

.c-listMenu .children a,
.c-listMenu .sub-menu a {
   font-size: .9em;
   padding-left: 2.5em
}

.c-listMenu .children a:before,
.c-listMenu .sub-menu a:before {
   left: 1em
}

.c-listMenu .children a:hover,
.c-listMenu .sub-menu a:hover {
   padding-left: 2.75em
}

.c-listMenu .children ul a,
.c-listMenu .sub-menu ul a {
   padding-left: 3.25em
}

.c-listMenu .children ul a:before,
.c-listMenu .sub-menu ul a:before {
   left: 1.75em
}

.c-listMenu .children ul a:hover,
.c-listMenu .sub-menu ul a:hover {
   padding-left: 3.5em
}

.c-gnav li:hover>.sub-menu {
   opacity: 1;
   visibility: visible
}

.c-gnav .sub-menu:before {
   background: inherit;
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
   z-index: 0
}

.c-gnav .sub-menu .sub-menu {
   left: 100%;
   top: 0;
   z-index: -1
}

.c-gnav .sub-menu a {
   padding-left: 2em
}

.c-gnav .sub-menu a:before {
   left: .5em
}

.c-gnav .sub-menu a:hover .ttl {
   left: 4px
}

:root {
   --color_content_bg: var(--color_bg);
   --swl-mv_slide_width--pc: 55vw;
   --mv_btn_radius: 0px;
   --mv_slide_animation: no;
}

.c-widget__title.-side {
   padding: .5em
}

.c-widget__title.-side::before {
   content: "";
   bottom: 0;
   left: 0;
   width: 40%;
   z-index: 1;
   background: var(--color_main)
}

.c-widget__title.-side::after {
   content: "";
   bottom: 0;
   left: 0;
   width: 100%;
   background: var(--color_border)
}

.c-shareBtns__btn:not(:hover) {
   background: none
}

.-fix .c-shareBtns__btn:not(:hover) {
   background: #fff
}

.c-shareBtns__btn:not(:hover) .c-shareBtns__icon {
   color: inherit
}

.c-shareBtns__item:not(:last-child) {
   margin-right: 8px
}

.c-shareBtns__btn {
   padding: 8px 0;
   transition: background-color .25s;
   border: solid 1px
}

.page.-index-off .w-beforeToc {
   display: none
}

.top #content {
   padding-top: 4em
}

.p-mainVisual__inner {
   height: auto
}

.p-mainVisual .c-filterLayer::before {
   background-color: #000;
   opacity: 0;
   content: ""
}

.-type-slider .p-mainVisual__scroll {
   padding-bottom: 16px
}

@media screen and (min-width: 960px) {
   :root {}

   .single .c-postTitle__date {
      display: none
   }

   .p-mainVisual__inner {
      height: auto
   }
}

@media screen and (max-width: 959px) {
   :root {}

   .single .c-postTitle__date {
      display: none
   }
}

@media screen and (min-width: 600px) {
   :root {}
}

@media screen and (max-width: 599px) {
   :root {}
}

.swell-block-fullWide__inner.l-container {
   --swl-fw_inner_pad: var(--swl-pad_container, 0px)
}

@media (min-width:960px) {

   .-sidebar-on .l-content .alignfull,
   .-sidebar-on .l-content .alignwide {
      left: -16px;
      width: calc(100% + 32px)
   }

   .swell-block-fullWide__inner.l-article {
      --swl-fw_inner_pad: var(--swl-pad_post_content, 0px)
   }

   .-sidebar-on .swell-block-fullWide__inner .alignwide {
      left: 0;
      width: 100%
   }

   .-sidebar-on .swell-block-fullWide__inner .alignfull {
      left: calc(0px - var(--swl-fw_inner_pad, 0)) !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      width: calc(100% + var(--swl-fw_inner_pad, 0)*2) !important
   }
}

.p-relatedPosts .p-postList__item {
   margin-bottom: 1.5em
}

.p-relatedPosts .p-postList__times,
.p-relatedPosts .p-postList__times>:last-child {
   margin-right: 0
}

@media (min-width:600px) {
   .p-relatedPosts .p-postList__item {
      width: 33.33333%
   }
}

@media screen and (min-width:600px) and (max-width:1239px) {
   .p-relatedPosts .p-postList__item:nth-child(7),
   .p-relatedPosts .p-postList__item:nth-child(8) {
      display: none
   }
}

@media screen and (min-width:1240px) {
   .p-relatedPosts .p-postList__item {
      width: 25%
   }
}

.l-topTitleArea {
   align-items: center;
   display: flex;
   margin: 0;
   min-height: 11em;
   overflow: hidden;
   padding: 1.5em 0;
   position: relative;
   width: 100%
}

.l-topTitleArea .u-thin {
   opacity: 1
}

.l-topTitleArea .c-postTitle__date {
   border-color: #fff
}

.l-topTitleArea .c-categoryList,
.l-topTitleArea .c-tagList {
   color: #fff
}

.l-topTitleArea .c-categoryList__link,
.l-topTitleArea .c-tagList__link {
   background: none;
   color: #fff
}

.l-topTitleArea .c-categoryList__link {
   border: 1px solid #fff
}

.l-topTitleArea .c-tagList__link {
   border-bottom: 1px solid #fff;
   border-radius: 0;
   padding: 4px .25em
}

.l-topTitleArea__body {
   color: #fff;
   position: relative;
   text-shadow: 1px 1px 0 rgba(0, 0, 0, .1);
   width: 100%;
   z-index: 3
}

@media (min-width:600px) {
   .l-topTitleArea {
      min-height: 240px;
      padding: 1em 0
   }
}

.-index-off .p-toc,
.swell-toc-placeholder:empty {
   display: none
}

.p-toc.-modal {
   height: 100%;
   margin: 0;
   overflow-y: auto;
   padding: 0
}

#main_content .p-toc {
   border-radius: var(--swl-radius--2, 0);
   margin: 4em auto;
   max-width: 800px
}

#sidebar .p-toc {
   margin-top: -.5em
}

.p-toc .__pn:before {
   content: none !important;
   counter-increment: none
}

.p-toc .__prev {
   margin: 0 0 1em
}

.p-toc .__next {
   margin: 1em 0 0
}

.p-toc.is-omitted:not([data-omit=ct]) [data-level="2"] .p-toc__childList {
   display: none
}

.p-toc.is-omitted:not([data-omit=nest]) {
   position: relative
}

.p-toc.is-omitted:not([data-omit=nest]):before {
   background: linear-gradient(hsla(0, 0%, 100%, 0), var(--color_bg));
   bottom: 5em;
   content: "";
   height: 4em;
   left: 0;
   opacity: .75;
   pointer-events: none;
   position: absolute;
   width: 100%;
   z-index: 1
}

.p-toc.is-omitted:not([data-omit=nest]):after {
   background: var(--color_bg);
   bottom: 0;
   content: "";
   height: 5em;
   left: 0;
   opacity: .75;
   position: absolute;
   width: 100%;
   z-index: 1
}

.p-toc.is-omitted:not([data-omit=nest]) .__next,
.p-toc.is-omitted:not([data-omit=nest]) [data-omit="1"] {
   display: none
}

.p-toc .p-toc__expandBtn {
   background-color: #f7f7f7;
   border: rgba(0, 0, 0, .2);
   border-radius: 5em;
   box-shadow: 0 0 0 1px #bbb;
   color: #333;
   display: block;
   font-size: 14px;
   line-height: 1.5;
   margin: .75em auto 0;
   min-width: 6em;
   padding: .5em 1em;
   position: relative;
   transition: box-shadow .25s;
   z-index: 2
}

.p-toc[data-omit=nest] .p-toc__expandBtn {
   display: inline-block;
   font-size: 13px;
   margin: 0 0 0 1.25em;
   padding: .5em .75em
}

.p-toc:not([data-omit=nest]) .p-toc__expandBtn:after,
.p-toc:not([data-omit=nest]) .p-toc__expandBtn:before {
   border-top-color: inherit;
   border-top-style: dotted;
   border-top-width: 3px;
   content: "";
   display: block;
   height: 1px;
   position: absolute;
   top: calc(50% - 1px);
   transition: border-color .25s;
   width: 100%;
   width: 22px
}

.p-toc:not([data-omit=nest]) .p-toc__expandBtn:before {
   right: calc(100% + 1em)
}

.p-toc:not([data-omit=nest]) .p-toc__expandBtn:after {
   left: calc(100% + 1em)
}

.p-toc.is-expanded .p-toc__expandBtn {
   border-color: transparent
}

.p-toc__ttl {
   display: block;
   font-size: 1.2em;
   line-height: 1;
   position: relative;
   text-align: center
}

.p-toc__ttl:before {
   content: "\e918";
   display: inline-block;
   font-family: icomoon;
   margin-right: .5em;
   padding-bottom: 2px;
   vertical-align: middle
}

#index_modal .p-toc__ttl {
   margin-bottom: .5em
}

.p-toc__list li {
   line-height: 1.6
}

.p-toc__list>li+li {
   margin-top: .5em
}

.p-toc__list .p-toc__childList {
   padding-left: .5em
}

.p-toc__list [data-level="3"] {
   font-size: .9em
}

.p-toc__list .mininote {
   display: none
}

.post_content .p-toc__list {
   padding-left: 0
}

#sidebar .p-toc__list {
   margin-bottom: 0
}

#sidebar .p-toc__list .p-toc__childList {
   padding-left: 0
}

.p-toc__link {
   color: inherit;
   font-size: inherit;
   text-decoration: none
}

.p-toc__link:hover {
   opacity: .8
}

.p-toc.-simple {
   border: 1px solid var(--color_border);
   padding: 1.25em
}

.p-toc.-simple .p-toc__ttl {
   border-bottom: 1px dashed var(--color_border);
   margin-bottom: 1em;
   padding: 0 .5em .75em;
   text-align: left
}

@media (min-width:960px) {
   #main_content .p-toc {
      width: 92%
   }
}

@media (hover:hover) {
   .p-toc .p-toc__expandBtn:hover {
      border-color: transparent;
      box-shadow: 0 0 0 2px currentcolor
   }
}

.p-pnLinks {
   align-items: stretch;
   display: flex;
   justify-content: space-between;
   margin: 2em 0
}

.p-pnLinks__item {
   font-size: 3vw;
   position: relative;
   width: 49%
}

.p-pnLinks__item:before {
   content: "";
   display: block;
   height: .5em;
   pointer-events: none;
   position: absolute;
   top: 50%;
   width: .5em;
   z-index: 1
}

.p-pnLinks__item.-prev:before {
   border-bottom: 1px solid;
   border-left: 1px solid;
   left: .35em;
   -webkit-transform: rotate(45deg) translateY(-50%);
   transform: rotate(45deg) translateY(-50%)
}

.p-pnLinks__item.-prev .p-pnLinks__thumb {
   margin-right: 8px
}

.p-pnLinks__item.-next .p-pnLinks__link {
   justify-content: flex-end
}

.p-pnLinks__item.-next:before {
   border-bottom: 1px solid;
   border-right: 1px solid;
   right: .35em;
   -webkit-transform: rotate(-45deg) translateY(-50%);
   transform: rotate(-45deg) translateY(-50%)
}

.p-pnLinks__item.-next .p-pnLinks__thumb {
   margin-left: 8px;
   order: 2
}

.p-pnLinks__item.-next:first-child {
   margin-left: auto
}

.p-pnLinks__link {
   align-items: center;
   border-radius: var(--swl-radius--2, 0);
   color: inherit;
   display: flex;
   height: 100%;
   line-height: 1.4;
   min-height: 4em;
   padding: .6em 1em .5em;
   position: relative;
   text-decoration: none;
   transition: box-shadow .25s;
   width: 100%
}

.p-pnLinks__thumb {
   border-radius: var(--swl-radius--4, 0);
   height: 32px;
   -o-object-fit: cover;
   object-fit: cover;
   width: 48px
}

.p-pnLinks .-prev .p-pnLinks__link {
   padding-left: 1.5em
}

.p-pnLinks .-prev:before {
   font-size: 1.2em;
   left: 0
}

.p-pnLinks .-next .p-pnLinks__link {
   padding-right: 1.5em
}

.p-pnLinks .-next:before {
   font-size: 1.2em;
   right: 0
}

.p-pnLinks.-style-normal .-prev .p-pnLinks__link {
   border-left: 1.25em solid var(--color_main)
}

.p-pnLinks.-style-normal .-prev:before {
   color: #fff
}

.p-pnLinks.-style-normal .-next .p-pnLinks__link {
   border-right: 1.25em solid var(--color_main)
}

.p-pnLinks.-style-normal .-next:before {
   color: #fff
}

@media not all and (min-width:960px) {
   .p-pnLinks.-thumb-on {
      display: block
   }

   .p-pnLinks.-thumb-on .p-pnLinks__item {
      width: 100%
   }
}

@media (min-width:600px) {
   .p-pnLinks__item {
      font-size: 13px
   }

   .p-pnLinks__thumb {
      height: 48px;
      width: 72px
   }

   .p-pnLinks__title {
      transition: -webkit-transform .25s;
      transition: transform .25s;
      transition: transform .25s, -webkit-transform .25s
   }

   .-prev>.p-pnLinks__link:hover .p-pnLinks__title {
      -webkit-transform: translateX(4px);
      transform: translateX(4px)
   }

   .-next>.p-pnLinks__link:hover .p-pnLinks__title {
      -webkit-transform: translateX(-4px);
      transform: translateX(-4px)
   }

   .p-pnLinks .p-pnLinks__link:hover {
      opacity: .8
   }

   .p-pnLinks.-style-normal .-prev .p-pnLinks__link:hover {
      box-shadow: 1px 1px 2px var(--swl-color_shadow)
   }

   .p-pnLinks.-style-normal .-next .p-pnLinks__link:hover {
      box-shadow: -1px 1px 2px var(--swl-color_shadow)
   }
}

.w-beforeFooter {
   margin: 6em auto 3em;
   overflow: hidden
}

.c-widget__title.-footer:before {
   background-color: currentcolor !important
}

.l-footer {
   background-color: var(--color_footer_bg);
   color: var(--color_footer_text);
   position: relative;
   z-index: 0
}

.l-footer a,
.l-footer span {
   color: inherit
}

.l-footer .copyright {
   font-size: 12px;
   text-align: center
}

.l-footer .copyright a {
   color: var(--color_link)
}

.l-footer__nav {
   color: inherit;
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding: .5em 0 1em
}

.l-footer__nav a {
   color: inherit;
   display: block;
   font-size: 3vw;
   padding: .25em .5em;
   text-decoration: none
}

.l-footer__nav a:hover {
   text-decoration: underline
}

.l-footer__foot,
.l-footer__widgetArea {
   padding-bottom: 1em;
   padding-top: 1em
}

.p-indexModal {
   padding: 80px 16px
}

.p-indexModal__inner {
   background: #fdfdfd;
   border-radius: var(--swl-radius--4, 0);
   color: #333;
   height: 100%;
   margin: -1em auto 0 !important;
   max-width: 800px;
   padding: 2em 1.5em;
   position: relative;
   -webkit-transform: translateY(16px);
   transform: translateY(16px);
   transition: -webkit-transform .5s;
   transition: transform .5s;
   transition: transform .5s, -webkit-transform .5s;
   z-index: 1
}

.is-opened>.p-indexModal__inner {
   -webkit-transform: translateY(0);
   transform: translateY(0)
}

.p-searchModal__inner {
   background: hsla(0, 0%, 100%, .1);
   left: 50%;
   max-width: 600px;
   padding: 1em;
   position: absolute;
   top: calc(50% + 16px);
   -webkit-transform: translateX(-50%) translateY(-50%);
   transform: translateX(-50%) translateY(-50%);
   transition: top .5s;
   width: 96%;
   z-index: 1
}

.is-opened>.p-searchModal__inner {
   top: 50%
}

.p-searchModal__inner .c-searchForm {
   box-shadow: 0 0 4px hsla(0, 0%, 100%, .2)
}

.p-searchModal__inner .s {
   font-size: 16px
}

@media (min-width:960px) {
   .w-footer {
      display: flex;
      justify-content: space-between
   }

   .w-footer__box {
      flex: 1;
      padding: 1em
   }
}

@media not all and (min-width:960px) {
   .w-footer__box {
      padding: 1em 0
   }

   .w-footer__box+.w-footer__box {
      margin-top: 1em
   }

   .l-footer__inner {
      padding-bottom: calc(env(safe-area-inset-bottom)*.5)
   }
}

@media (min-width:600px) {
   .l-footer__nav a {
      border-right: 1px solid;
      font-size: 13px;
      padding: 0 .75em
   }

   .l-footer__nav li:first-child a {
      border-left: 1px solid
   }

   .p-indexModal__inner {
      padding: 2em
   }
}

.p-mainVisual {
   overflow: hidden;
   position: relative;
   width: 100%
}

.p-mainVisual.-margin-on {
   padding: 8px
}

.p-mainVisual.-height-full {
   height: calc(var(--swl-mv-height, 100vh) - var(--swl-headerH, 0px) - var(--swl-adminbarH, 0px))
}

.p-mainVisual.-height-full .p-mainVisual__inner {
   height: 100%
}

.-height-img [src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="] {
   height: 0
}

.-height-img .swiper-slide {
   width: var(--swl-mv_slide_width--pc, 100%)
}

.-height-img .p-mainVisual__imgLayer {
   height: auto;
   position: relative
}

.-height-img .p-mainVisual__img {
   display: block;
   height: auto;
   width: 100%
}

.p-mainVisual__inner {
   position: relative
}

.-height-auto .p-mainVisual__inner {
   height: auto
}

.p-mainVisual__slide {
   height: auto;
   overflow: hidden;
   position: relative
}

.-height-full .p-mainVisual__slide,
.-height-set .p-mainVisual__slide {
   height: 100%
}

.p-mainVisual__slideLink {
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%
}

.p-mainVisual__textLayer {
   display: flex;
   flex-direction: column;
   height: 100%;
   justify-content: center;
   left: 50%;
   position: absolute;
   top: 0;
   -webkit-transform: translateX(-50%);
   transform: translateX(-50%);
   width: 100%;
   z-index: 3
}

.p-mainVisual__textLayer>.p-blogParts {
   margin: 1em 0 0;
   text-align: left
}

.-height-auto .p-mainVisual__textLayer {
   left: 0;
   padding-bottom: 4em;
   padding-top: 4em;
   position: relative;
   -webkit-transform: none;
   transform: none
}

.p-mainVisual__slideTitle {
   font-size: 5.5vw;
   line-height: 1.4
}

.p-mainVisual__slideText {
   font-size: 3.2vw;
   margin-top: .75em
}

.-height-full .p-mainVisual__slideText {
   font-size: 3.4vw
}

.p-mainVisual__scroll {
   bottom: 16px;
   color: #fff;
   left: 50%;
   opacity: .75;
   position: absolute;
   text-align: center;
   -webkit-transform: translateX(-50%);
   transform: translateX(-50%);
   transition: opacity .25s;
   z-index: 9
}

.-height-full>.p-mainVisual__scroll {
   bottom: 24px
}

.p-mainVisual__scroll:hover {
   opacity: 1
}

.p-mainVisual__scrollArrow {
   -webkit-animation: FloatVertical 3s ease-in-out infinite alternate;
   animation: FloatVertical 3s ease-in-out infinite alternate;
   display: block;
   height: 20px;
   margin: 0 auto;
   width: 20px
}

.p-mainVisual__scrollLabel {
   display: block;
   font-size: 12px;
   letter-spacing: var(--swl-letter_spacing, 1px);
   line-height: 1;
   padding-top: 4px
}

.p-mainVisual {
   --swiper-nav-size: 40px
}

.p-mainVisual .swiper:not(.swiper-initialized) {
   visibility: hidden
}

.p-mainVisual .swiper-wrapper {
   align-content: stretch
}

.p-mainVisual .swiper-button-prev {
   left: 0
}

.p-mainVisual .swiper-button-next {
   right: 0
}

.p-mainVisual .swiper-pagination-bullet-active {
   background: #fff
}

.p-mainVisual .swiper-button-next svg,
.p-mainVisual .swiper-button-prev svg {
   display: none
}

.p-mainVisual:not(.-motion-no) .swiper-slide-active .p-mainVisual__imgLayer,
.p-mainVisual:not(.-motion-no) .swiper-slide-duplicate-active .p-mainVisual__imgLayer,
.p-mainVisual:not(.-motion-no) .swiper-slide-prev .p-mainVisual__imgLayer {
   -webkit-animation: var(--mv_slide_animation) 15s linear 0s 1 normal both;
   animation: var(--mv_slide_animation) 15s linear 0s 1 normal both
}

.-motion-leftToRight .p-mainVisual__imgLayer {
   -webkit-transform: scale(1.15);
   transform: scale(1.15)
}

@media (min-width:600px) {
   .p-mainVisual.-margin-on {
      padding: 16px
   }

   .p-mainVisual__slideTitle {
      font-size: 28px
   }

   .p-mainVisual__slideText {
      font-size: 16px
   }

   .-height-full .p-mainVisual__slideText {
      font-size: 18px
   }
}

@media not all and (min-width:960px) {
   .-height-img .swiper-slide {
      width: var(--swl-mv_slide_width--sp, 100%)
   }

   .p-mainVisual__textLayer {
      padding: 0 4vw
   }
}

@media not all and (min-width:600px) {
   .p-mainVisual {
      --swiper-nav-size: 32px;
      --swiper-nav-border-width: 1px
   }
}

@media (min-width:960px) {
   .-motion-leftToRight .p-mainVisual__imgLayer {
      -webkit-transform: scale(1.1);
      transform: scale(1.1)
   }
}

.c-pageTitle {
   font-size: 1.3em;
   line-height: 1.4;
   position: relative
}

.c-pageTitle:after {
   clear: both;
   content: "";
   display: block;
   height: 0;
   visibility: hidden
}

.c-pageTitle[data-style=b_bottom] {
   border-bottom: 1px solid var(--color_border)
}

.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
   border-bottom: 1px solid var(--color_main);
   float: left;
   margin-bottom: -1px;
   padding: .25em .5em
}

.c-pageTitle__inner {
   display: block;
   padding-top: .5em
}

.c-pageTitle__subTitle {
   font-style: italic;
   letter-spacing: var(--swl-letter_spacing, 1px);
   margin-left: 1em;
   opacity: .8;
   position: relative;
   top: -2px
}

.c-pageExcerpt {
   margin-top: 1em
}

.c-secTitle {
   display: block;
   font-size: 4.5vw;
   margin-bottom: 1.5em;
   position: relative
}

.c-secTitle:after,
.c-secTitle:before {
   box-sizing: inherit;
   display: block;
   height: 1px;
   position: absolute;
   z-index: 0
}

.post-password-form:not(:first-child) {
   border-top: 1px dashed var(--color_border);
   padding-top: 1em
}

.post-password-form p {
   margin-bottom: 1em
}

.p-articleMetas {
   align-items: center;
   display: flex;
   flex-wrap: wrap;
   font-size: 12px;
   padding: 0 1px
}

.p-articleMetas.-top {
   margin-top: .5em
}

.p-articleMetas.-top .p-articleMetas__termList {
   font-size: 11px
}

.p-articleMetas__termList {
   align-items: center;
   display: flex;
   flex-wrap: wrap;
   margin: 0 .25em 0 0
}

.p-articleMetas__author,
.p-articleMetas__times {
   margin: .25em .25em .25em 0
}

.p-articleThumb {
   margin: 2em 0;
   text-align: center;
   width: 100%
}

.p-articleThumb__youtube {
   height: 0;
   padding-bottom: 56.25%;
   position: relative
}

.p-articleThumb__youtube iframe {
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%
}

.p-articleThumb__img {
   border-radius: var(--swl-radius--8, 0);
   display: block;
   width: 100%
}

.p-articleThumb__figcaption {
   font-size: .9em;
   margin-top: .75em;
   text-align: center
}

.p-articleFoot {
   border-top: 1px dashed var(--color_border);
   margin: 2em 0;
   padding-top: 2em
}

.c-shareBtns {
   margin: 2em 0
}

.c-shareBtns__message {
   padding: .25em 0 .75em;
   text-align: center;
   width: 100%
}

.c-shareBtns__message .__text {
   display: inline-block;
   line-height: 1.5;
   padding: 0 1.5em;
   position: relative
}

.c-shareBtns__message .__text:after,
.c-shareBtns__message .__text:before {
   background-color: currentcolor;
   bottom: 0;
   content: "";
   display: block;
   height: 1.5em;
   position: absolute;
   width: 1px
}

.c-shareBtns__message .__text:before {
   left: 0;
   -webkit-transform: rotate(-40deg);
   transform: rotate(-40deg)
}

.c-shareBtns__message .__text:after {
   right: 0;
   -webkit-transform: rotate(40deg);
   transform: rotate(40deg)
}

.c-shareBtns__list {
   display: flex;
   justify-content: center
}

.c-shareBtns__item.-facebook {
   color: #3b5998
}

.c-shareBtns__item.-twitter {
   color: #1da1f2
}

.c-shareBtns__item.-hatebu {
   color: #00a4de
}

.c-shareBtns__item.-pocket {
   color: #ef3f56
}

.c-shareBtns__item.-pinterest {
   color: #bb0f23
}

.c-shareBtns__item.-line {
   color: #00c300
}

.c-shareBtns__item.-copy {
   color: #909494;
   position: relative
}

.c-shareBtns:not(.-style-btn-small) .c-shareBtns__item {
   flex: 1
}

.c-shareBtns__btn {
   align-items: center;
   background-color: currentcolor;
   border-radius: var(--swl-radius--2, 0);
   color: inherit;
   cursor: pointer;
   display: flex;
   justify-content: center;
   text-align: center;
   text-decoration: none
}

.c-shareBtns__icon {
   --the-icon-size: 4.5vw;
   color: #fff;
   display: block;
   font-size: var(--the-icon-size);
   height: 1em;
   line-height: 1;
   margin: auto;
   width: 1em
}

.c-shareBtns__icon:before {
   color: inherit;
   display: block
}

.-fix.c-shareBtns {
   border: none !important;
   left: 8px;
   margin: 0;
   position: fixed;
   top: 50%;
   -webkit-transform: translateY(-50%);
   transform: translateY(-50%);
   width: 30px;
   z-index: 99
}

.-fix.c-shareBtns .c-shareBtns__list {
   border: none;
   flex-direction: column;
   margin: 0;
   padding: 0;
   width: 100%
}

.-fix.c-shareBtns .c-shareBtns__item {
   flex-basis: 100%;
   margin: 4px 0;
   max-width: 100%;
   padding: 0;
   width: 100%
}

.-fix.c-shareBtns .c-shareBtns__btn {
   height: 30px;
   padding: 0
}

.-fix.c-shareBtns .c-shareBtns__icon {
   font-size: 16px
}

.c-urlcopy {
   display: block;
   position: relative;
   width: 100%
}

.c-urlcopy .-copied {
   opacity: 0;
   position: absolute;
   top: 8px
}

.c-urlcopy .-to-copy {
   opacity: 1;
   top: 0
}

.c-urlcopy.-done .-to-copy {
   opacity: 0;
   top: 8px;
   transition-duration: 0s
}

.c-urlcopy.-done .-copied {
   opacity: 1;
   top: 0;
   transition-duration: .25s
}

.c-urlcopy.-done+.c-copyedPoppup {
   opacity: 1;
   visibility: visible
}

.c-urlcopy .c-shareBtns__icon {
   transition: opacity .25s, top .25s
}

.c-urlcopy__text {
   display: block
}

.c-urlcopy__content {
   align-items: center;
   display: flex;
   justify-content: center;
   position: relative;
   width: 100%
}

.c-copyedPoppup {
   bottom: calc(100% + 2px);
   color: grey;
   font-size: 10px;
   opacity: 0;
   position: absolute;
   right: 0;
   text-align: right;
   transition: opacity .25s, visibility .25s;
   visibility: hidden;
   white-space: nowrap
}

.-fix.c-shareBtns .c-copyedPoppup {
   bottom: 50%;
   left: 100%;
   right: auto;
   -webkit-transform: translateX(8px) translateY(50%);
   transform: translateX(8px) translateY(50%)
}

.c-big-urlcopy {
   margin: 1em 0
}

.c-big-urlcopy .c-shareBtns__icon {
   align-items: center;
   display: flex;
   justify-content: center;
   width: auto
}

.c-big-urlcopy .c-urlcopy__text {
   font-size: .8em;
   margin-left: .75em;
   padding-top: 1px
}

.c-shareBtns.-style-btn-small.has-big-copybtn {
   align-items: center;
   display: flex;
   flex-wrap: wrap;
   justify-content: center
}

.c-shareBtns.-style-btn-small .c-big-urlcopy {
   margin: 8px;
   max-width: 100%;
   width: 16em
}

.p-authorBox {
   border: 1px solid var(--color_border);
   border-radius: var(--swl-radius--8, 0);
   padding: 5vw
}

.p-authorBox .avatar {
   border: 2px solid var(--color_border);
   border-radius: 50%;
   height: 100px;
   -o-object-fit: cover;
   object-fit: cover;
   width: 100px
}

.p-authorBox__l {
   margin: 0 0 1em;
   text-align: center
}

.p-authorBox__r {
   width: 100%
}

.p-authorBox__name {
   color: inherit;
   display: block;
   font-weight: 700;
   line-height: 1.2;
   margin-top: 8px;
   text-decoration: none
}

.p-authorBox__position {
   display: block;
   font-style: italic;
   line-height: 1.2;
   margin-top: 4px
}

.p-authorBox__desc {
   width: 100%
}

.p-authorBox__iconList {
   margin-top: 8px
}

.p-authorBox__more {
   padding-top: 1em
}

.p-authorBox__moreLink {
   border: 1px solid var(--color_border);
   border-radius: var(--swl-radius--4, 0);
   color: inherit;
   display: block;
   letter-spacing: var(--swl-letter_spacing, .5px);
   line-height: 3;
   padding: 0 1em;
   position: relative;
   text-align: center;
   text-decoration: none
}

.p-authorBox__moreLink:after {
   content: "\e930";
   font-family: icomoon;
   margin-left: .25em;
   position: absolute;
   right: 1em;
   top: 0
}

.p-termNavigation {
   align-items: center;
   display: flex;
   flex-wrap: wrap;
   font-size: 11px;
   margin-top: 1rem;
   padding: 0 4px
}

.l-topTitleArea .p-termNavigation {
   margin-top: .75rem
}

.p-termHead {
   border: 1px solid var(--color_border);
   margin-top: 3rem;
   position: relative
}

.p-termHead__thumbWrap {
   margin: 0;
   width: 100%
}

.p-termHead__desc {
   padding: 1.5em;
   width: 100%
}

.p-termContent {
   margin-top: 4em
}

.p-termContent>.p-blogParts {
   margin-bottom: 4em
}

@media (min-width:600px) {
   .c-pageTitle {
      font-size: 1.5em
   }

   .c-secTitle {
      font-size: 20px
   }

   .p-termHead {
      display: flex
   }

   .l-articleBottom__section {
      margin-top: 6em
   }

   .c-shareBtns__icon {
      --the-icon-size: 18px
   }

   .c-copyedPoppup {
      font-size: 11px;
      right: 50%;
      -webkit-transform: translateX(50%);
      transform: translateX(50%)
   }

   .p-authorBox {
      align-content: stretch;
      display: flex;
      justify-content: space-between;
      padding: 1.5em
   }

   .p-authorBox__l {
      margin-bottom: 0;
      width: 160px
   }

   .p-authorBox__r {
      border-left: 1px solid var(--color_border);
      display: flex;
      flex-direction: column;
      padding-left: 1.5em;
      width: calc(100% - 160px - 1.5em)
   }

   .p-authorBox__more {
      margin-top: auto
   }
}

@media not all and (min-width:600px) {
   .l-articleBottom__section {
      margin-top: 4em
   }

   .p-authorBox {
      text-align: center
   }

   .p-authorBox__iconList {
      justify-content: center
   }
}

@media not all and (min-width:960px) {
   .-fix.c-shareBtns {
      display: none !important
   }
}