/* Static LP base */
* {
  box-sizing: border-box;
}
html {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}
body {
  margin: 0;
  min-width: 0;
  background: #fff;
  color: #111;
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
  line-height: 1.7;
  overflow-x: hidden;
}
a {
  color: inherit;
}
img, video, iframe {
  max-width: 100%;
}
img {
  height: auto;
  vertical-align: bottom;
}
.static-lp {
  width: 100%;
  overflow-x: hidden;
}
.wp-block-spacer {
  clear: both;
}


/* Extracted front/LP styles */
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */

:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}

/*# sourceURL=wp-block-library-inline-css */

.wp-block-spacer{clear:both}

:root{--swl-fz--content:4vw;--swl-font_family:"游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--swl-font_weight:500;--color_main:#04384c;--color_text:#333;--color_link:#1176d4;--color_htag:#04384c;--color_bg:#fdfdfd;--color_gradient1:#d8ffff;--color_gradient2:#87e7ff;--color_main_thin:rgba(5, 70, 95, 0.05 );--color_main_dark:rgba(3, 42, 57, 1 );--color_list_check:#04384c;--color_list_num:#04384c;--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:#ffa537;--color_icon_announce_bg:#fff5f0;--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:#ffddbc;--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:#fdfdfd;--color_header_text:#333;--color_footer_bg:#fdfdfd;--color_footer_text:#333;--container_size:1200px;--article_size:900px;--logo_size_sp:48px;--logo_size_pc:40px;--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[data-colset="col1"]{--capbox-color:#f59b5f;--capbox-color--bg:#fff8eb}.cap_box[data-colset="col2"]{--capbox-color:#5fb9f5;--capbox-color--bg:#edf5ff}.cap_box[data-colset="col3"]{--capbox-color:#2fcd90;--capbox-color--bg:#eafaf2}.red_{--the-btn-color:#f74a4a;--the-btn-color2:#ffbc49;--the-solid-shadow: rgba(185, 56, 56, 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:80px}.is-style-btn_solid{--the-btn-radius:80px}.is-style-btn_shiny{--the-btn-radius:80px}.is-style-btn_line{--the-btn-radius:80px}.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:#04384c;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)){background:var(--color_htag);padding:.75em 1em;color:#fff}.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{position:absolute;display:block;pointer-events:none;content:"";top:-4px;left:0;width:100%;height:calc(100% + 4px);box-sizing:content-box;border-top:solid 2px var(--color_htag);border-bottom:solid 2px var(--color_htag)}.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){padding:0 .5em .5em}.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{content:"";width:100%;height:2px;background: repeating-linear-gradient(90deg, var(--color_htag) 0%, var(--color_htag) 29.3%, rgba(150,150,150,.2) 29.3%, rgba(150,150,150,.2) 100%)}.post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){padding:0 0 0 16px;border-left:solid 2px var(--color_htag)}.l-header{box-shadow: 0 1px 4px rgba(0,0,0,.12)}.l-header__bar{color:#fff;background:var(--color_main)}.l-header__menuBtn{order:1}.l-header__customBtn{order:3}.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}#pagetop{border-radius:50%}.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)}.c-secTitle{border-left:solid 2px var(--color_main);padding:0em .75em}.p-spMenu{color:#333}.p-spMenu__inner::before{background:#fdfdfd;opacity:1}.p-spMenu__overlay{background:#000;opacity:0.6}[class*="page-numbers"]{color:#fff;background-color:#dedede}a{text-decoration: none}.l-topTitleArea.c-filterLayer::before{background-color:#000;opacity:0.2;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;}}@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}.is-style-btn_normal a,.is-style-btn_shiny a{box-shadow:var(--swl-btn_shadow)}.c-shareBtns__btn,.is-style-balloon>.c-tabList .c-tabList__button,.p-snsCta,[class*=page-numbers]{box-shadow:var(--swl-box_shadow)}.p-articleThumb__img,.p-articleThumb__youtube{box-shadow:var(--swl-img_shadow)}.p-pickupBanners__item .c-bannerLink,.p-postList__thumb{box-shadow:0 2px 8px rgba(0,0,0,.1),0 4px 4px -4px rgba(0,0,0,.1)}.p-postList.-w-ranking li:before{background-image:repeating-linear-gradient(-45deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.1) 6px,transparent 0,transparent 12px);box-shadow:1px 1px 4px rgba(0,0,0,.2)}.l-header__bar{position:relative;width:100%}.l-header__bar .c-catchphrase{color:inherit;font-size:12px;letter-spacing:var(--swl-letter_spacing,.2px);line-height:14px;margin-right:auto;overflow:hidden;padding:4px 0;white-space:nowrap;width:50%}.l-header__bar .c-iconList .c-iconList__link{margin:0;padding:4px 6px}.l-header__barInner{align-items:center;display:flex;justify-content:flex-end}@media (min-width:960px){.-series .l-header__inner{align-items:stretch;display:flex}.-series .l-header__logo{align-items:center;display:flex;flex-wrap:wrap;margin-right:24px;padding:16px 0}.-series .l-header__logo .c-catchphrase{font-size:13px;padding:4px 0}.-series .c-headLogo{margin-right:16px}.-series-right .l-header__inner{justify-content:space-between}.-series-right .c-gnavWrap{margin-left:auto}.-series-right .w-header{margin-left:12px}.-series-left .w-header{margin-left:auto}}@media (min-width:960px) and (min-width:600px){.-series .c-headLogo{max-width:400px}}.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{}.c-shareBtns__item:not(:last-child){margin-right:4px}.c-shareBtns__btn{padding:8px 0}@media screen and (min-width: 960px){:root{}}@media screen and (max-width: 959px){:root{}}@media screen and (min-width: 600px){:root{}}@media screen and (max-width: 599px){:root{}}.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%}}.-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{height:0;margin-bottom:-.5em;visibility:hidden}.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.-double{background:var(--color_gray);background:linear-gradient(-45deg,transparent 25%,var(--color_gray) 25%,var(--color_gray) 50%,transparent 50%,transparent 75%,var(--color_gray) 75%,var(--color_gray));background-clip:padding-box;background-size:4px 4px;border-bottom:4px double var(--color_border);border-top:4px double var(--color_border);padding:1.5em 1em 1em}.p-toc.-double .p-toc__ttl{margin-bottom:.75em}@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}}@media (min-width:600px){.p-toc.-double{padding:2em}}.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{border-left:1.25em solid var(--color_main)}.p-pnLinks .-prev:before{color:#fff}.p-pnLinks .-next .p-pnLinks__link{border-right:1.25em solid var(--color_main)}.p-pnLinks .-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 .-prev .p-pnLinks__link:hover{box-shadow:1px 1px 2px var(--swl-color_shadow)}.p-pnLinks .-next .p-pnLinks__link:hover{box-shadow:-1px 1px 2px var(--swl-color_shadow)}}
/*# sourceURL=swell_custom-inline-css */

.hh, .hh * {
  box-sizing: border-box;
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
}
.hh h1,.hh h2,.hh h3,.hh h4,.hh h5,.hh h6 { all: unset; display: block; }

.hh {
  display: block;
  overflow: hidden;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  width: 100vw !important;
  position: relative;
}

/* テープ帯 */
.hh-tape {
  background: #7bc800;
  padding: 7px 0;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.08em;
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  z-index: 5;
  border-bottom: 2px solid rgba(255,255,255,0.2);
}
.hh-tape__inner {
  display: inline-block;
  animation: hh-scroll 20s linear infinite;
}
@keyframes hh-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ヒーローエリア */
.hh-hero {
  position: relative;
  width: 100%;
}
.hh-hero__img {
  width: 100%;
  height: auto;
  display: block;
}

/* テキストオーバーレイ */
.hh-overlay {
  position: absolute;
  top: 3%;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 3;
  padding: 0 12px;
}

/* ラベル */
.hh-label {
  display: inline-block;
  background: rgba(0,0,0,0.5);
  color: #fff;
  font-size: clamp(13px, 4vw, 17px);
  font-weight: 700;
  padding: 5px 18px;
  border-radius: 50px;
  margin-bottom: 8px;
  letter-spacing: 0.04em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  opacity: 0;
  animation: hh-fadein 0.5s ease 0.1s forwards;
}

/* 悩みテキスト */
.hh-pain {
  font-size: clamp(13px, 4vw, 16px);
  font-weight: 700;
  color: #fff;
  line-height: 1.8;
  margin-bottom: 6px;
  opacity: 0;
  animation: hh-fadein 0.5s ease 0.3s forwards;
  text-shadow: 1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;
}

/* キャッチコピー */
.hh-catch {
  font-size: clamp(28px, 8vw, 44px);
  font-weight: 900;
  color: #fff;
  line-height: 1.25;
}
.hh-catch__line {
  display: block;
  overflow: hidden;
}
.hh-catch__text {
  display: block;
  opacity: 0;
  transform: translateY(110%);
  text-shadow:
    3px  3px 0 #000, -3px -3px 0 #000,
    3px -3px 0 #000, -3px  3px 0 #000,
    0    3px 0 #000,  0   -3px 0 #000,
    3px  0   0 #000, -3px  0   0 #000;
  animation: hh-lineUp 0.55s cubic-bezier(0.22,0.61,0.36,1) forwards;
}
.hh-catch__text--yellow { color: #ffee00; font-size: 1.1em; }
.hh-catch__line:nth-child(1) .hh-catch__text { animation-delay: 0.5s; }
.hh-catch__line:nth-child(2) .hh-catch__text { animation-delay: 0.85s; }
.hh-catch__line:nth-child(3) .hh-catch__text { animation-delay: 1.2s; }

/* LINEボタン帯 */
.hh-btn-area {
  background: #5a9e00;
  padding: 16px 16px 20px;
  position: relative;
  z-index: 4;
  opacity: 0;
  animation: hh-fadein 0.5s ease 1.7s forwards;
}
.hh-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #fff;
  color: #5a9e00;
  font-size: 18px;
  font-weight: 900;
  padding: 18px 20px;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
  width: 100%;
  text-align: center;
  animation: hh-shake 2.5s ease 3s infinite;
}
.hh-btn__sub {
  font-size: 10px;
  font-weight: 400;
  color: #888;
  display: block;
  line-height: 1.3;
  margin-top: 2px;
}

/* 数字帯 */
.hh-stats {
  background: #3d7000;
  padding: 12px 16px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  position: relative;
  z-index: 4;
  border-top: 2px solid rgba(255,255,255,0.15);
}
.hh-stats__item { text-align: center; flex: 1; }
.hh-stats__item + .hh-stats__item { border-left: 1px solid rgba(255,255,255,0.2); }
.hh-stats__num { font-size: 20px; font-weight: 900; color: #ffee00; line-height: 1; display: block; }
.hh-stats__num span { font-size: 12px; }
.hh-stats__label { font-size: 10px; font-weight: 700; color: rgba(255,255,255,0.7); display: block; margin-top: 3px; }

/* ウェーブ */
.hh-wave { display: block; line-height: 0; background: #3d7000; }
.hh-wave svg { display: block; width: 100%; height: auto; }

/* アニメーション */
@keyframes hh-fadein { from{opacity:0} to{opacity:1} }
@keyframes hh-lineUp {
  from { opacity: 0; transform: translateY(110%); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes hh-shake {
  0%,100%{transform:translateX(0)}
  10%{transform:translateX(-4px)}
  20%{transform:translateX(4px)}
  30%{transform:translateX(-4px)}
  40%{transform:translateX(4px)}
  50%{transform:translateX(0)}
}

@media (min-width: 480px) {
  .hh-catch { font-size: 42px; }
  .hh-stats__num { font-size: 24px; }
}

.scroll-notice{
  position: fixed;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  max-width: 520px;
  z-index: 9999;
  transition: top .3s ease, opacity .3s ease;
  opacity: 0;
  pointer-events: none;
}

.scroll-notice.is-show{
  top: 8px;
  opacity: 1;
  pointer-events: auto;
}

.scroll-notice-inner{
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  border-radius: 8px;
  padding: 6px 10px;
}

.scroll-notice-text{
  font-size: 12px;
  line-height: 1.4;
  color: #444;
  font-weight: 500;
}

.scroll-notice-text span{
  color: #e94b93;
  font-weight: 700;
}

.scroll-notice-close{
  border: 0;
  background: transparent;
  font-size: 14px;
  color: #999;
  cursor: pointer;
  padding: 0;
}

.target-section * {
  box-sizing: border-box;
}
.target-section h2.target-title {
  font-size: 22px !important;
  font-weight: 900 !important;
  color: #1a1a1a !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
.target-section h2.target-title::before,
.target-section h2.target-title::after {
  display: none !important;
}
.target-section p {
  margin: 0 !important;
  padding: 0 !important;
}
.target-section {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: #f8f8f8;
  padding: 40px 16px 36px;
  font-family: 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif;
}
.target-heading {
  text-align: center;
  margin-bottom: 28px;
}
.target-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  color: #00b900;
  border: 1.5px solid #00b900;
  padding: 4px 14px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.target-title span {
  color: #00b900;
}
.target-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 480px;
  margin: 0 auto;
}
.target-item {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0,0,0,.07);
}
.target-img-wrap {
  width: 100%;
  height: 180px;
  background: #e8e8e8;
  overflow: hidden;
}
.target-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.target-label {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
}
.target-icon {
  font-size: 26px;
  flex-shrink: 0;
}
.target-label-inner {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.target-text {
  font-size: 17px;
  font-weight: 900;
  color: #1a1a1a;
  letter-spacing: .02em;
  line-height: 1.3;
}
.target-sub {
  font-size: 12px;
  color: #00b900;
  font-weight: 700;
}
@media (max-width: 360px) {
  .target-section h2.target-title { font-size: 19px !important; }
  .target-text { font-size: 15px; }
  .target-img-wrap { height: 150px; }
}

/* SWELL見出し干渉リセット */
.sp3-section * {
  box-sizing: border-box;
}
.sp3-section h2.sp3-title {
  font-size: 22px !important;
  font-weight: 900 !important;
  color: #1a1a1a !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
.sp3-section h2.sp3-title::before,
.sp3-section h2.sp3-title::after {
  display: none !important;
}

.sp3-section {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: #f8faf8;
  padding: 40px 16px 36px;
  font-family: 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif;
}
.sp3-heading {
  text-align: center;
  margin-bottom: 24px;
}
.sp3-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  color: #00b900;
  border: 1.5px solid #00b900;
  padding: 4px 14px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.sp3-title span {
  color: #00b900;
}
.sp3-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  max-width: 480px;
  margin: 0 auto;
}
.sp3-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0,0,0,.07);
}
.sp3-card-img {
  width: 100%;
  height: 110px;
  object-fit: cover;
  display: block;
}
.sp3-card-body {
  padding: 10px 10px 12px;
  text-align: center;
}
.sp3-card-icon {
  font-size: 13px;
  font-weight: 900;
  color: #1a1a1a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}
@media (max-width: 360px) {
  .sp3-section h2.sp3-title { font-size: 19px !important; }
  .sp3-card-img { height: 90px; }
  .sp3-card-icon { font-size: 12px; }
}

.job-section * {
  box-sizing: border-box;
}
.job-section h2.job-title {
  font-size: 20px !important;
  font-weight: 900 !important;
  color: #1a1a1a !important;
  line-height: 1.4 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
.job-section h2.job-title::before,
.job-section h2.job-title::after {
  display: none !important;
}
.job-section {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: #f5f5f5;
  padding: 40px 0 36px;
  font-family: 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif;
}
.job-heading {
  text-align: center;
  margin-bottom: 16px;
  padding: 0 16px;
}
.job-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  color: #00b900;
  border: 1.5px solid #00b900;
  padding: 4px 14px;
  border-radius: 999px;
  margin-bottom: 10px;
}
.job-title span {
  font-size: 13px !important;
  color: #999 !important;
  font-weight: 600 !important;
  margin-left: 4px;
}
.job-nav-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 480px;
  margin: 0 auto;
}
.job-swipe-hint {
  font-size: 11px;
  color: #aaa;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: opacity .3s ease;
}
.job-swipe-hint.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.job-swipe-arrow {
  display: inline-block;
  animation: swipeArrow 1s ease-in-out infinite alternate;
}
@keyframes swipeArrow {
  from { transform: translateX(0); }
  to { transform: translateX(4px); }
}
.job-page-count {
  font-size: 13px;
  font-weight: 800;
  color: #00b900;
  background: #e8f5e9;
  padding: 4px 12px;
  border-radius: 999px;
}
.job-slider-wrap {
  overflow: hidden;
  position: relative;
}
.job-slider {
  display: flex;
  transition: transform .4s ease;
}
.job-page {
  min-width: 100vw;
  width: 100vw;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(3, auto);
  gap: 10px;
  padding: 4px 12px;
}
.job-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
}
.job-card-img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}
.job-card-body {
  padding: 8px 8px 10px;
}
.job-card-title {
  font-size: 12px;
  font-weight: 900;
  color: #1a1a1a;
  margin-bottom: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.job-card-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 6px;
}
.job-tag-money {
  font-size: 12px;
  font-weight: 800;
  color: #1a1a1a;
}
.job-tag-loc {
  font-size: 11px;
  color: #777;
}
.job-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.job-tag {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
  white-space: nowrap;
}
.job-tag.c1 { color: #00b900; background: #e8f5e9; }
.job-tag.c2 { color: #e65c00; background: #fff3e0; }
.job-tag.c3 { color: #1565c0; background: #e3f2fd; }
.job-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
}
.job-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #ccc;
  cursor: pointer;
  transition: background .2s ease, width .2s ease;
}
.job-dot.is-active {
  background: #00b900;
  width: 20px;
}
@media (max-width: 360px) {
  .job-card-title { font-size: 11px; }
  .job-tag-money { font-size: 11px; }
}

.qa-wrap {
  padding: 0 16px;
  max-width: 560px;
  margin: 0 auto;
}
.qa-card {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 16px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
}
.qa-head {
  background: linear-gradient(90deg, #7ed957, #00c853);
  color: #fff;
  font-weight: bold;
  padding: 12px;
  font-size: 14px;
}
.qa-body {
  display: flex;
  gap: 10px;
  padding: 12px;
  background: #f4f4f4;
  align-items: center;
}
.qa-img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 10px;
  flex-shrink: 0;
}
.qa-body p {
  font-size: 13px;
  color: #555;
  line-height: 1.6;
  margin: 0;
}
.qa-more {
  display: none;
}
.qa-more-btn-wrap {
  text-align: center;
  margin-top: 10px;
}
.qa-more-btn {
  background: #00c853;
  color: #fff;
  border: none;
  padding: 10px 18px;
  border-radius: 20px;
  font-size: 13px;
  cursor: pointer;
  font-weight: 700;
}

/* SWELL見出し干渉リセット */
.voice-section * {
  box-sizing: border-box;
}
.voice-section h2.voice-title {
  font-size: 20px !important;
  font-weight: 900 !important;
  color: #1a1a1a !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
.voice-section h2.voice-title::before,
.voice-section h2.voice-title::after {
  display: none !important;
}

.voice-section {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: #f8faf8;
  padding: 40px 0 36px;
  font-family: 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif;
}
.voice-heading {
  text-align: center;
  margin-bottom: 24px;
  padding: 0 16px;
}
.voice-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  color: #00b900;
  border: 1.5px solid #00b900;
  padding: 4px 14px;
  border-radius: 999px;
  margin-bottom: 10px;
}
.voice-title span {
  color: #00b900;
}
.voice-slider-wrap {
  overflow: hidden;
  position: relative;
}
.voice-slider {
  display: flex;
  transition: transform .4s ease;
  align-items: flex-start;
}
.voice-slide {
  min-width: 100%;
  padding: 0 16px;
}
.voice-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.voice-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}
.voice-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #ccc;
  cursor: pointer;
  transition: background .2s ease, width .2s ease;
}
.voice-dot.is-active {
  background: #00b900;
  width: 20px;
}

/* ===== リセット ===== */
.ag-wrap, .ag-wrap * {
  box-sizing: border-box;
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
}
.ag-wrap h1,.ag-wrap h2,.ag-wrap h3,
.ag-wrap h4,.ag-wrap h5,.ag-wrap h6 {
  all: unset;
  display: block;
}

/* ===== セクション全体 ===== */
.ag-wrap {
  background: #f5f5f5;
  padding: 48px 0 52px;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  overflow: hidden;
}

/* セクションヘッダー */
.ag-header {
  text-align: center;
  padding: 0 16px;
  margin-bottom: 28px;
}
.ag-header__badge {
  display: inline-block;
  background: #00b900;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 16px;
  border-radius: 50px;
  margin-bottom: 10px;
  letter-spacing: 0.06em;
}
.ag-header__title {
  font-size: clamp(18px, 5vw, 24px);
  font-weight: 900;
  color: #1a1a1a;
  line-height: 1.4;
}
.ag-header__title span {
  color: #00b900;
}

/* ===== スライダー外枠 ===== */
.ag-slider {
  position: relative;
  overflow: hidden;
}

/* ページ（6枚グリッド） */
.ag-page {
  display: none;
  padding: 0 12px;
}
.ag-page.is-active {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* ===== カード ===== */
.ag-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
}

/* 画像エリア */
.ag-card__img-wrap {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
}
.ag-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.ag-card:hover .ag-card__img-wrap img {
  transform: scale(1.04);
}

/* エリア名オーバーレイ */
.ag-card__area {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,0.65));
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  padding: 16px 10px 8px;
  letter-spacing: 0.04em;
}

/* カード本文 */
.ag-card__body {
  padding: 10px 10px 12px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* 月収 */
.ag-card__salary {
  background: #f0fff0;
  border: 1px solid #00b900;
  border-radius: 6px;
  padding: 5px 8px;
  text-align: center;
}
.ag-card__salary-label {
  font-size: 9px;
  font-weight: 700;
  color: #007a00;
  display: block;
  line-height: 1;
  margin-bottom: 2px;
}
.ag-card__salary-num {
  font-size: 12px;
  font-weight: 900;
  color: #007a00;
  display: block;
  line-height: 1.2;
}

/* グルメリスト */
.ag-card__food-label {
  font-size: 10px;
  font-weight: 700;
  color: #888;
  display: block;
  margin-bottom: 2px;
}
.ag-card__food-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ag-card__food-list li {
  font-size: 11px;
  font-weight: 500;
  color: #333;
  padding-left: 10px;
  position: relative;
  line-height: 1.5;
}
.ag-card__food-list li::before {
  content: '・';
  position: absolute;
  left: 0;
  color: #00b900;
}

/* 求人を見るボタン */
.ag-card__btn {
  display: block;
  background: #00b900;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  padding: 8px 6px;
  border-radius: 6px;
  text-decoration: none;
  margin-top: auto;
  cursor: pointer;
  border: none;
  width: 100%;
  letter-spacing: 0.02em;
}

/* ===== ページネーション ===== */
.ag-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 24px;
  padding: 0 16px;
}
.ag-pagination__dots {
  display: flex;
  gap: 8px;
}
.ag-pagination__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ccc;
  cursor: pointer;
  transition: background 0.2s;
  border: none;
  padding: 0;
}
.ag-pagination__dot.is-active {
  background: #00b900;
  width: 24px;
  border-radius: 4px;
}
.ag-pagination__btn {
  background: #fff;
  border: 2px solid #00b900;
  color: #00b900;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 20px;
  border-radius: 50px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.ag-pagination__btn:hover {
  background: #00b900;
  color: #fff;
}
.ag-pagination__btn:disabled {
  border-color: #ccc;
  color: #ccc;
  cursor: default;
}
.ag-pagination__btn:disabled:hover {
  background: #fff;
  color: #ccc;
}

.pp-sec, .pp-sec * {
  box-sizing: border-box;
  font-family: 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif;
}
.pp-sec h1,.pp-sec h2,.pp-sec h3,
.pp-sec h4,.pp-sec h5,.pp-sec h6 {
  all: unset;
  display: block;
}

.pp-sec {
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background: #f5fff5;
  padding: 40px 16px 44px;
}

.pp-sec__inner {
  max-width: 480px;
  margin: 0 auto;
}

/* セクション見出し */
.pp-sec__heading {
  text-align: center;
  margin-bottom: 20px;
}
.pp-sec__badge {
  display: inline-block;
  background: #00b900;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 14px;
  border-radius: 50px;
  margin-bottom: 10px;
  letter-spacing: 0.06em;
}
.pp-sec__title {
  font-size: clamp(18px, 5vw, 22px);
  font-weight: 900;
  color: #1a1a1a;
  line-height: 1.4;
}
.pp-sec__title span {
  color: #00b900;
}

/* カード */
.pp-sec__card {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  border: 2px solid #00b900;
}

/* カードヘッダー */
.pp-sec__card-header {
  background: linear-gradient(135deg, #00b900, #00b900);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.pp-sec__new {
  display: inline-block;
  background: #ffee00;
  color: #007a00;
  font-size: 10px;
  font-weight: 900;
  padding: 2px 8px;
  border-radius: 3px;
  letter-spacing: 0.06em;
  flex-shrink: 0;
}
.pp-sec__card-title {
  color: #fff;
  font-size: clamp(13px, 4vw, 16px);
  font-weight: 900;
  line-height: 1.3;
}

/* 画像 */
.pp-sec__img {
  width: 100%;
  aspect-ratio: 640/700;
  object-fit: cover;
  display: block;
}

/* 本文 */
.pp-sec__body {
  padding: 20px 20px 24px;
}
.pp-sec__catch {
  font-size: clamp(16px, 4.5vw, 20px);
  font-weight: 900;
  color: #1a1a1a;
  text-align: center;
  margin-bottom: 8px;
  line-height: 1.4;
}
.pp-sec__catch span { color: #00b900; }
.pp-sec__desc {
  font-size: 13px;
  font-weight: 700;
  color: #666;
  text-align: center;
  margin-bottom: 18px;
  line-height: 1.7;
}

/* アイコン列 */
.pp-sec__icons {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-bottom: 20px;
}
.pp-sec__icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.pp-sec__icon-circle {
  width: 52px;
  height: 52px;
  background: #f0fff0;
  border: 2px solid #00b900;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.pp-sec__icon-label {
  font-size: 10px;
  font-weight: 700;
  color: #555;
  text-align: center;
}

/* 補足 */
.pp-sec__note {
  background: #f0fff0;
  border-radius: 10px;
  padding: 12px 16px;
  text-align: center;
  border: 1px dashed #00b900;
}
.pp-sec__note-text {
  font-size: 12px;
  font-weight: 700;
  color: #007a00;
  line-height: 1.7;
  display: block;
}

.fc-wrap, .fc-wrap * {
  box-sizing: border-box;
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
}
.fc-wrap h1,.fc-wrap h2,.fc-wrap h3,
.fc-wrap h4,.fc-wrap h5,.fc-wrap h6 {
  all: unset;
  display: block;
}

/* 横余白を完全に潰す */
.fc-wrap {
  margin-top: 48px !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  width: 100vw !important;
  line-height: 1;
  display: block;
}

/* 最終CTA帯（緑） */
.fc-cta {
  background: #00b900;
  padding: 44px 16px 40px;
  text-align: center;
  margin: 0;
}
.fc-cta__label {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
  letter-spacing: 0.12em;
  margin-bottom: 10px;
  display: block;
}
.fc-cta__heading {
  font-size: clamp(20px, 5.5vw, 28px);
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 24px;
  display: block;
}
.fc-cta__heading em {
  font-style: normal;
  display: inline-block;
  background: rgba(0,0,0,0.18);
  border-radius: 4px;
  padding: 0 6px;
}
.fc-btn-line {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  color: #00b900;
  font-size: 18px;
  font-weight: 700;
  padding: 16px 28px;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(0,0,0,0.20);
  max-width: 360px;
  width: 100%;
  justify-content: center;
}
.fc-btn-line svg { flex-shrink: 0; }
.fc-cta__note {
  margin-top: 12px;
  font-size: 12px;
  color: rgba(255,255,255,0.8);
  display: block;
}

/* 会社情報（ダーク） */
.fc-company {
  background: #1a1a1a;
  padding: 44px 16px 28px;
  margin: 0;
}
.fc-company__inner {
  max-width: 720px;
  margin: 0 auto;
}
.fc-logo {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.fc-logo__badge {
  display: inline-block;
  background: #00b900;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 3px;
  letter-spacing: 0.08em;
  flex-shrink: 0;
}
.fc-tagline {
  font-size: 12px;
  color: #888;
  margin-bottom: 28px;
  display: block;
  line-height: 1.6;
}
.fc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-bottom: 32px;
}
.fc-table tr { border-bottom: 1px solid #2e2e2e; }
.fc-table th {
  text-align: left;
  color: #888;
  font-weight: 500;
  padding: 12px 0;
  width: 88px;
  vertical-align: top;
  white-space: nowrap;
}
.fc-table td {
  color: #ccc;
  padding: 12px 0 12px 8px;
  line-height: 1.7;
  vertical-align: top;
}
.fc-table td a { color: #55cc55; text-decoration: none; }
.fc-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
  margin-bottom: 24px;
  padding: 0;
  list-style: none;
}
.fc-links a { font-size: 12px; color: #777; text-decoration: none; }
.fc-copy {
  font-size: 11px;
  color: #555;
  border-top: 1px solid #2a2a2a;
  padding-top: 20px;
  text-align: center;
  line-height: 1.8;
  display: block;
}

/* 免責 */
.fc-disclaimer {
  background: #111;
  padding: 12px 16px;
  text-align: center;
  margin: 0;
}
.fc-disclaimer p {
  font-size: 10px;
  color: #555;
  line-height: 1.7;
  max-width: 680px;
  margin: 0 auto;
}

@media (min-width: 480px) {
  .fc-table th { width: 110px; }
}

.line-floating-1 {
  position: fixed;
  right: 10px;
  /* ↓ safe-area対応しつつ無難に下に寄せる */
  bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: min(84vw, 320px);
  min-height: 78px;
  padding: 14px 80px 14px 16px;
  background: linear-gradient(135deg, #1fd35a, #00b900);
  color: #fff;
  text-decoration: none;
  border-radius: 20px;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
  transform: translateX(120%) translateY(50%);
  opacity: 0;
  pointer-events: none;
  transition: transform .35s ease, opacity .35s ease;
  overflow: visible;
}
.line-floating-1.is-show {
  transform: translateX(0) translateY(50%);
  opacity: 1;
  pointer-events: auto;
}
.line-floating-text-1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}
.line-floating-main-1 {
  font-size: 20px;
  font-weight: 900;
  line-height: 1.1;
  margin: 0;
  letter-spacing: .02em;
  text-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.line-floating-sub-1 {
  font-size: 10px;
  opacity: .9;
  margin: 0;
  line-height: 1.4;
}
.line-floating-girl-1 {
  position: absolute;
  right: -6px;
  bottom: 0; /* ← 枠の下端に揃える */
  width: 90px;
  height: auto;
  object-fit: contain;
  z-index: 2;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,0.25));
  pointer-events: none;
}

@media (max-width: 480px) {
  .line-floating-1 {
    right: 6px;
    width: min(92vw, 300px);
    min-height: 72px;
    padding: 12px 70px 12px 14px;
  }
  .line-floating-main-1 { font-size: 18px; }
  .line-floating-sub-1 { font-size: 9px; }
  .line-floating-girl-1 { width: 82px; }
}

.line-floating-2 {
  position: fixed;
  right: 10px;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: min(84vw, 320px);
  min-height: 78px;
  padding: 14px 80px 14px 16px;
  background: linear-gradient(135deg, #ff8c00, #e65c00);
  color: #fff;
  text-decoration: none;
  border-radius: 20px;
  box-shadow: 0 12px 28px rgba(200,80,0,.28);
  transform: translateX(120%) translateY(50%);
  opacity: 0;
  pointer-events: none;
  transition: transform .35s ease, opacity .35s ease;
  overflow: visible;
}
.line-floating-2.is-show {
  transform: translateX(0) translateY(50%);
  opacity: 1;
  pointer-events: auto;
}
.line-floating-text-2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}
.line-floating-main-2 {
  font-size: 20px;
  font-weight: 900;
  line-height: 1.1;
  margin: 0;
  letter-spacing: .02em;
  text-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.line-floating-sub-2 {
  font-size: 10px;
  opacity: .9;
  margin: 0;
  line-height: 1.4;
}
.line-floating-girl-2 {
  position: absolute;
  right: -6px;
  bottom: 0; /* 枠の下端に揃える */
  width: 90px;
  height: auto;
  object-fit: contain;
  z-index: 2;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,0.25));
  pointer-events: none;
}

@media (max-width: 480px) {
  .line-floating-2 {
    right: 6px;
    width: min(92vw, 300px);
    min-height: 72px;
    padding: 12px 70px 12px 14px;
  }
  .line-floating-main-2 { font-size: 18px; }
  .line-floating-sub-2 { font-size: 9px; }
  .line-floating-girl-2 { width: 82px; }
}

/* Mobile UI fixes for the static LP build */
.hh .hh-tape {
  display: block;
  height: 34px;
  min-height: 34px;
  max-height: 34px;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  line-height: 34px;
}
.hh .hh-tape__inner {
  display: inline-block;
  width: max-content;
  min-width: max-content;
  white-space: nowrap;
  will-change: transform;
  animation: hh-scroll 18s linear infinite;
}
.hh .hh-btn-area {
  padding: 14px 16px 18px;
}
.hh .hh-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 58px;
  padding: 14px 18px;
  background: linear-gradient(135deg, #06c755, #00a844) !important;
  color: #fff !important;
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(0, 120, 52, .28);
  text-decoration: none !important;
  line-height: 1.25;
  -webkit-tap-highlight-color: transparent;
}
.hh .hh-btn svg {
  flex: 0 0 26px;
}
.hh .hh-btn > span {
  display: block;
}
.hh .hh-btn__sub {
  color: rgba(255, 255, 255, .86) !important;
}
.line-floating-1,
.line-floating-2 {
  bottom: calc(env(safe-area-inset-bottom, 0px) + 22px) !important;
  z-index: 2147483000 !important;
  min-height: 76px;
  transform: translateX(120%) !important;
}
.line-floating-1.is-show,
.line-floating-2.is-show {
  transform: translateX(0) !important;
  opacity: 1 !important;
  pointer-events: auto;
}
@media (max-width: 480px) {
  .hh .hh-tape {
    height: 32px;
    min-height: 32px;
    max-height: 32px;
    line-height: 32px;
    font-size: 12px;
  }
  .hh .hh-btn {
    min-height: 56px;
    font-size: 16px;
    padding: 13px 16px;
  }
  .line-floating-1,
  .line-floating-2 {
    right: 8px !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 24px) !important;
    width: min(90vw, 310px);
    min-height: 76px;
    padding: 12px 74px 12px 14px;
  }
}

/* Native swipe sliders */
.job-slider-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
  padding: 4px 0 8px;
  scrollbar-width: none;
}
.job-slider-wrap::-webkit-scrollbar {
  display: none;
}
.job-slider {
  display: flex;
  width: max-content;
  transform: none !important;
  transition: none !important;
  will-change: auto;
}
.job-page {
  flex: 0 0 100vw;
  width: 100vw;
  min-width: 100vw;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  padding: 4px 14px 8px;
}
.job-card {
  touch-action: pan-x pan-y;
}
.job-card a,
.job-card button,
.ag-card__btn {
  touch-action: manipulation;
}
.voice-slider-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
  scrollbar-width: none;
}
.voice-slider-wrap::-webkit-scrollbar {
  display: none;
}
.voice-slider {
  display: flex;
  width: 100%;
  transform: none !important;
  transition: none !important;
}
.voice-slide {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}
.voice-slide img {
  pointer-events: none;
}

@media (max-width: 480px) {
  .job-slider-wrap {
    padding-bottom: 10px;
  }
  .job-page {
    gap: 10px;
    padding-left: 14px;
    padding-right: 14px;
  }
  .job-card {
    border-radius: 14px;
  }
}
