/* CSS Document */

@media screen and (min-width:900px){

/*
 general
-------------------------------------------------------------*/
html {
    background-color: transparent;
    background-image: none;
    overflow-y: scroll;
    font-size: 62.5%;
	margin-top:0 !important;
}

body {
    position: relative;
    min-width: 1000px;
    line-height: 1.6;
    font-family:  "メイリオ", "Meiryo", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
    font-size: 1.4rem;
    font-size: 14px;
	color: #333333;
	overflow: visible;
}

p{
	letter-spacing:1px;
}

p img {
   vertical-align: bottom;
}
a{
    transition: opacity 0.3s;
}
a:link{
    color: #003366;
    text-decoration: none;
}
a:visited{
    color: #003366;
    text-decoration: underline;
}
a:hover{
    opacity: 0.5;
    color: #003366;
    text-decoration: underline;
}
a:active{}

.pcno{
	display:none;
}

.outDisc__txt{
    color: #fff;
    font-size: 1.0rem;
    font-size: 10px;
	background:#003366;
}

.outDisc__txt span{
	display:block;
	width:1000px;
    margin: 0 auto;
    line-height: 20px;
}

a[href^="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	color: inherit;
}

/*
 container
-------------------------------------------------------------*/
.container{
}

.subContainer{
	width:1000px;
	margin:0 auto;
}

/*
 header
-------------------------------------------------------------*/
.l-header{
	border-bottom: 2px solid #dadada;
	margin-bottom:10px;
	background:#fff;
}
.headarea{
	display:flex;
	flex-wrap:nowrap;
	justify-content:space-between;
	align-items:center;
	padding:18px 0 0;
	width:1000px;
	margin:0 auto;
}

.headL{
	width:300px;
}

.headTtl{
    margin: 0;
}

.headTtl a:hover{
    text-decoration: none;
}


.headR{

}

.headRbox{
	display:flex;
	flex-wrap:nowrap;
	align-items:center;
	justify-content:flex-end;
}



/*************************
globalNavi
**************************/

.globlNavi__box{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

.globlNavi__box__list a{
	display:block;
	padding:15px 0;
	color:#333;
	font-weight:bold;
	letter-spacing:1px;
}

/*
 contents
-------------------------------------------------------------*/
.contents{
	margin: 0px auto 50px;
	width: 1000px;
	padding: 0px;
}
.breadNavi{
    margin-bottom: 8px;
}
.breadNaviList{
    font-size: 10px;
    font-size: 1.0rem;
	margin:0 auto 18px;
	width:1000px;
}
.breadNaviList__item{
    float:left;
}
.breadNaviList__item:after{
    content: "＞";
    display: inline-block;
    margin: 0 2px;
    color: #999;
}
.breadNaviList__item:last-child:after{
    content: "";
}
.breadNaviList__item a{
    color: #999;
    text-decoration: none;
}

/*
 main contents
-------------------------------------------------------------*/
.mainContents{
	float: right;
	width: 728px;
}
.mainContentsTop{
}

/*
 sidebar
-------------------------------------------------------------*/
.side{
    width: 240px;
    float: left;
}
.sideMenu{
    margin-bottom: 24px;
    padding-bottom: 1px;
    border: 1px solid #003366;
	background:#fff;
}
.sideMenu__ttl{
    position: relative;
    padding: 12px 8px 8px 30px;
    line-height: 1.3;
    font-weight: bolder;
    font-size: 16px;
    background:#003366;
    color:#FFF;
}
.sideMenu__ttl:before{
    display: block;
    content: '';
    position: absolute;
    top: 18px;
    left: 8px;
    box-sizing: border-box;
    width: 8px;
    height: 8px;
    margin-top: 0px;
    border: 8px solid transparent;
    border-top: 8px solid #fff;
}
.sideMenu__link{
    margin: 0 8px 8px;
}
.sideMenu__link__item{
    border-bottom: #ccc dotted 1px;
}
.sideMenu__link__item:last-child{
    border-bottom: none;
}
.sideMenu__link__item a{
    position: relative;
    display: block;
    padding: 8px;
    font-size: 12px;
    font-size: 1.2rem;
}
/*
.sideMenu__link__item a:before{
    display: block;
	content: '';
	position: absolute;
	top: 14px;
	left: 8px;
	width: 4px;
	height: 4px;
	border-right: 1px solid #003366;
	border-bottom: 1px solid #003366;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
*/
.related_post_title {}
ul.related_post {
    background: #fff;
    margin: 0 8px 8px;
}
ul.related_post li {
    border-bottom: #ccc dashed 1px;
}
ul.related_post li:last-child{
    border-bottom: none;
}
ul.related_post li a {
    position: relative;
    display: block;
    padding: 8px 8px 8px 20px;
    font-size: 12px;
    font-size: 1.2rem;
}
ul.related_post li a:before{
    display: block;
	content: '';
	position: absolute;
	top: 14px;
	left: 8px;
	width: 4px;
	height: 4px;
	border-right: 1px solid #003366;
	border-bottom: 1px solid #003366;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

ul.related_post li img {
}

.wp_rp_footer{
    display: none;
}

/*
 footer
-------------------------------------------------------------*/
.foot{
    padding: 50px 0 20px;
    background: #003366;
}
.footContBox{
    width: 1000px;
    margin: 0 auto 24px;
	display: flex;
	justify-content: space-between;
}

.footNavi__box{
	display:flex;
}

.footL{
	width:35%;
}

.footR{
	padding-top:40px;
}

.footNavi__box__list{
	margin-right:30px;
}

.footContBox__ttl{
	color:#fff;
	font-size:25px;
	width:65%;
	margin-bottom:10px;
}

.footContBox__txt{
    margin-bottom: 8px;
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
}
.footContBox__txt:last-child{
    margin-bottom: 0;
}

.foot a{
	color:#fff;
}



.footCopy{
    width: 100%;
}
.footCopy__txt{
    width: 1000px;
    margin: 0 auto;
    padding: 4px 0;
    text-align: center;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
}
.footCopy__txt a{
    color: #fff;
}
.footCopy__txt a:hover{
}



/*
 other
-------------------------------------------------------------*/
/* clearfix */
.clearfix:after{
	content: " ";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix{
	zoom: 1;
}

.txtRed{
    color:#FF0000;
    font-weight:bold;
}
.txtOrange{
    color:#FF6600;
    font-weight:bold;
}
.txtBlue{
    color:#167FA6;
    font-weight:bold;
}






/* =========================================================
   会社設立スタートガイド：ヘッダー追加CSS（PC）
   PCブロック内に統合
========================================================= */

/* ---------- ヘッダー全体 ---------- */
.l-header {
    position: relative;
    z-index: 100;
    border-bottom: 2px solid #dbe7ef;
    margin-bottom: 10px;
    background: #fff;
}

.headarea {
    display: block;
    position: relative;
    width: 1000px;
    margin: 0 auto;
    padding: 18px 0 0;
}

.headTtl {
    width: 260px;
    margin: 0;
}

.headTtl a {
    display: block;
}

.headTtl img {
    display: block;
    width: 100%;
    height: auto;
}

.headTtl a:hover {
    text-decoration: none;
    opacity: 1;
}

/* ---------- 右上リンク ---------- */
.headUtility {
    position: absolute;
    top: 20px;
    right: 0;
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.headUtility li {
    margin: 0;
    padding: 0;
}

.headUtility a {
    display: inline-block;
    color: #334155;
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
}

.headUtility a:hover {
    color: #003366;
    text-decoration: underline;
    opacity: 1;
}

/* ---------- PCグローバルメニュー ---------- */
.globalNavi {
    width: 100%;
    margin-top: 16px;
	padding-bottom:5px;
    background: #fff;
}

.globlNavi__box {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.globlNavi__box__list {
    position: relative;
    margin: 0;
    padding: 0;
    line-height: 1.4;
}

.globlNavi__box__list > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 7px;
    color: #1f2937;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.globlNavi__box__list > a:hover,
.globlNavi__box__list:focus-within > a {
    color: #003366;
    background: #f3f9fc;
    text-decoration: none;
    opacity: 1;
}

/* ---------- PCドロップダウン ---------- */
.globalNavi__child {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 999;
    display: block;
    min-width: 230px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 10px 25px rgba(15, 39, 66, 0.12);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.globlNavi__box__list:hover > .globalNavi__child,
.globlNavi__box__list:focus-within > .globalNavi__child {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.globalNavi__child li {
    margin: 0;
    padding: 0;
}

.globalNavi__child a {
    display: block;
    padding: 10px 16px;
    color: #334155;
    font-size: 13px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0;
    text-decoration: none;
    white-space: nowrap;
}

.globalNavi__child a:hover {
    color: #003366;
    background: #f3f9fc;
    text-decoration: none;
    opacity: 1;
}

/* ---------- PCヘッダーCTA ---------- */
.globlNavi__box__list--cta {
    margin-left: 4px;
}

.globlNavi__box__list--cta > a {
    min-height: 40px;
    margin: 4px 0;
    padding: 0 12px;
    color: #fff !important;
    background: #f59e0b;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgba(245, 158, 11, 0.22);
}

.globlNavi__box__list--cta > a:hover {
    color: #fff !important;
    background: #d97706;
    opacity: 1;
}

/* ---------- 下層ページMV ---------- */
.lowerPageMv {
    position: relative;
    padding: 58px 0;
    background: linear-gradient(135deg, #eaf6fb 0%, #f8fbfd 58%, #fff7e6 100%);
    border-bottom: 1px solid #e5edf3;
}

.lowerPageMv .pageTtlArea {
    width: 1000px;
    margin: 0 auto;
}

.pageTtlMv {
    margin: 0;
    color: #1e3a5f;
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: 0.02em;
}

.pageMv__lead {
    margin-top: 14px;
    color: #333;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.8;
}




/* =========================================================
   会社設立スタートガイド：フッター調整 PC
========================================================= */

.foot {
    padding: 0;
    background: #003366;
}

/* フッター上部CTA */
.footCta {
    padding: 38px 20px 34px;
    background: #f4f8fb;
    border-top: 1px solid #e5edf3;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}

.footCta__inner {
    width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.footCta__label {
    margin: 0 0 6px;
    color: #0f5f8f;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.5;
}

.footCta__ttl {
    margin: 0 0 8px;
    color: #1e3a5f;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.45;
    letter-spacing: 1px;
}

.footCta__txt {
    margin: 0 0 18px;
    color: #333;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8;
}

.footCta__btn {
    margin: 0;
}

.footCta__btn a {
    display: inline-block;
    min-width: 260px;
    padding: 14px 26px;
    color: #fff !important;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    background: #f59e0b;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgba(245, 158, 11, 0.24);
}

.footCta__btn a:hover {
    color: #fff !important;
    text-decoration: none;
    background: #d97706;
    opacity: 1;
}

/* フッター本体 */
.footContBox {
    width: 1000px;
    margin: 0 auto;
    padding: 46px 0 34px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 38px;
}

.footL {
    width: 28%;
    min-width: 250px;
}

.footR {
    width: 72%;
    padding-top: 0;
}

.footContBox__ttl {
    width: 230px;
    max-width: 100%;
    margin: 0 0 18px;
    line-height: 1;
}

.footContBox__ttl a {
    display: block;
}

.footContBox__ttl img {
    display: block;
    width: 100%;
    height: auto;
}

.footContBox__txt {
    margin: 0;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.9;
    letter-spacing: 0.04em;
}

.footContBox__txt a {
    color: #fff !important;
    text-decoration: underline;
}

/* フッターナビ：4カラム */
.footNavi {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.footNavi__col {
    min-width: 0;
}

.footNavi__ttl {
    margin: 0 0 12px;
    padding: 0 0 8px;
    color: #d7ecff;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.5;
    border-bottom: 1px solid rgba(255,255,255,0.24);
}

/* 既存の .footNavi__box display:flex を打ち消す */
.footNavi__box {
    display: block !important;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footNavi__box__list {
    margin: 0 0 9px !important;
    padding: 0;
    line-height: 1.5;
}

.footNavi__box__list a {
    display: inline-block;
    color: #fff !important;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.65;
    letter-spacing: 0.03em;
    text-decoration: none;
}

.footNavi__box__list a:hover {
    color: #d7ecff !important;
    text-decoration: underline;
    opacity: 1;
}

/* コピーライト */
.footCopy {
    width: 100%;
    border-top: 1px solid rgba(255,255,255,0.18);
}

.footCopy__txt {
    width: 1000px;
    margin: 0 auto;
    padding: 14px 0 18px;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    text-align: center;
    letter-spacing: 0.05em;
}

.footCopy__txt a {
    color: #fff !important;
    text-decoration: none;
}

.footCopy__txt a:hover {
    color: #d7ecff !important;
    text-decoration: underline;
    opacity: 1;
}





/* =========================================================
   フッター調整：PCフッターリンクを1行表示にする
========================================================= */
.footCta__inner,
.footContBox,
.footCopy__txt {
    width: min(1180px, calc(100% - 40px));
}

.footContBox {
    gap: 28px;
}

.footL {
    flex: 0 0 280px;
    width: auto;
    min-width: 0;
}

.footR {
    flex: 1 1 auto;
    width: auto;
}

.footNavi {
    grid-template-columns: 1.08fr 1.18fr 1.08fr 1.18fr;
    gap: 24px 26px;
}

.footNavi__box__list a {
    white-space: nowrap;
    letter-spacing: 0;
}

/* PCフッター幅調整：PCブロック内に統合 */
    .footCta__inner,
    .footContBox,
    .footCopy__txt {
        width: 1000px;
    }

    .footContBox {
        gap: 20px;
    }

    .footL {
        flex-basis: 240px;
    }

    .footNavi {
        gap: 20px 14px;
    }

    .footNavi__box__list a {
        font-size: 12px;
        font-size: 1.2rem;
    }


/* =========================================================
   トップページ固定ページ用CSS：PC
   既存PCブロックへ統合
========================================================= */

.topPage {
    width: 1000px;
    margin: 0 auto 70px;
    color: #1f2937;
}

.topPage a:hover {
    opacity: 1;
}

.topIntro {
    margin: 0 0 42px;
    padding: 44px 46px;
    background: linear-gradient(135deg, #f4f8fb 0%, #ffffff 58%, #fff7e6 100%);
    border: 1px solid #003366;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(15, 39, 66, 0.08);
}

.topIntro__label,
.topFinalCta__label {
    margin: 0 0 10px;
    color: #0f5f8f;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.5;
}

.topIntro__ttl {
    margin: 0 0 18px;
    color: #1e3a5f;
    font-size: 30px;
    font-size: 3.0rem;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: 0.03em;
}

.topIntro__lead {
    margin: 0;
    color: #333;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.9;
}

.topIntro__btns,
.topFinalCta__btns {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 26px;
}

.topBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    min-height: 48px;
    padding: 0 22px;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    text-decoration: none !important;
    border-radius: 999px;
}

.topBtn--primary {
    color: #fff !important;
    background: #f59e0b;
    box-shadow: 0 4px 10px rgba(245, 158, 11, 0.24);
}

.topBtn--primary:hover {
    color: #fff !important;
    background: #d97706;
}

.topBtn--sub {
    color: #fff !important;
    background: #003366;
}

.topBtn--sub:hover {
    color: #fff !important;
    background: #0f5f8f;
}

.topBtn--line {
    color: #003366 !important;
    background: #fff;
    border: 2px solid #003366;
}

.topBtn--line:hover {
    color: #fff !important;
    background: #003366;
}

.topSection,
.topCheck,
.topFinalCta {
    margin: 0 0 46px;
}

.topSection__head,
.topCheck__head {
    margin: 0 0 22px;
}

.topSecTtl {
    position: relative;
    margin: 0 0 12px;
    padding-left: 18px;
    color: #1e3a5f;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1.45;
}

.topSecTtl:before {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    width: 6px;
    height: 28px;
    background: #f59e0b;
    border-radius: 999px;
}

.topSecLead {
    margin: 0;
    color: #333;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.85;
}

.topCheck {
    padding: 34px 36px;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 16px;
}

.topCheck__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.topCheck__list li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 50px;
    padding: 14px 18px 14px 72px;
    color: #1f2937;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.55;
    background: #daeffd;
    border-radius: 12px;
}

.topCheck__list span {
    position: absolute;
    top: 50%;
    left: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    background: #003366;
    border-radius: 999px;
    transform: translateY(-50%);
}

.topCheck__btn,
.topMore {
    margin: 24px 0 0;
    text-align: center;
}

.topCheck__btn a,
.topMore a {
    display: inline-block;
    min-width: 240px;
    padding: 12px 24px;
    color: #003366 !important;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    text-decoration: none !important;
    background: #fff;
    border: 2px solid #003366;
    border-radius: 999px;
}

.topCheck__btn a:hover,
.topMore a:hover {
    color: #fff !important;
    background: #003366;
}

.topCardGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.topCardGrid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.topCard {
    display: block;
    min-height: 90px;
    padding: 22px 20px;
    color: #1f2937 !important;
    text-decoration: none !important;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 16px;
    box-shadow: 0 8px 20px rgba(15, 39, 66, 0.06);
}

.topCard:hover {
    background: #f8fbfd;
    transform: translateY(-2px);
}

.topCard__tag {
    display: inline-block;
    margin: 0 0 12px;
    padding: 4px 10px;
    color: #0f5f8f;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.4;
    background: #eaf6fb;
    border-radius: 999px;
}

.topCard strong {
    display: block;
    margin: 0 0 8px;
    color: #1e3a5f;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.45;
}

.topCard em {
    display: block;
    color: #333;
    font-size: 13px;
    font-style: normal;
    line-height: 1.65;
}

.topFlow__list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #dbe7ef;
}

.topFlow__list li {
    display: grid;
    grid-template-columns: 100px 220px 1fr;
    gap: 18px;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid #dbe7ef;
}

.topFlow__list span {
    display: inline-block;
    color: #0f5f8f;
    font-size: 18px;
    font-weight: bold;
}

.topFlow__list strong {
    color: #1e3a5f;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
}

.topFlow__list em {
    color: #333;
    font-size: 14px;
    font-style: normal;
    line-height: 1.7;
}

.topCompare__box {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.topCompare__item {
    padding: 28px;
    background: #f4fcff;
    border: 1px solid #dbe7ef;
    border-radius: 16px;
}

.topCompare__item--accent {
    border-color: #f59e0b;
    background: #fffdf7;
}

.topCompare__item h3 {
    margin: 0 0 16px;
    color: #1e3a5f;
    font-size: 21px;
    font-size: 2.1rem;
    line-height: 1.45;
}

.topCompare__item ul {
    margin: 0;
    padding: 0 0 0 1.4em;
	list-style:disc;
}

.topCompare__item li {
    margin: 0 0 8px;
    line-height: 1.7;
}

.topCompare__item p {
    margin: 18px 0 0;
}

.topCompare__item p a {
    font-weight: bold;
    color: #003366 !important;
}

.topMiniGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.topMiniCard {
    display: block;
    padding: 20px 22px;
    color: #1f2937 !important;
    text-decoration: none !important;
    background: #fff;
    border-left: 5px solid #003366;
	border-top: 1px solid #003366;
	border-right: 1px solid #003366;
	border-bottom: 1px solid #003366;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(15, 39, 66, 0.06);
}

.topMiniCard strong {
    display: block;
    margin: 0 0 6px;
    color: #1e3a5f;
    font-size: 17px;
    font-size: 1.7rem;
}

.topMiniCard span {
    display: block;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
}

.topAfter__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.topAfter__grid a,
.topArea__list a,
.topTrust__links a {
    display: block;
    padding: 13px 14px;
    color: #003366 !important;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    text-decoration: none !important;
    background: #f8fbfd;
    border: 1px solid #dbe7ef;
    border-radius: 999px;
}

.topAfter__grid a:hover,
.topArea__list a:hover,
.topTrust__links a:hover {
    color: #fff !important;
    background: #003366;
}

.topArea__list,
.topTrust__links {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.topTrust__links {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.topFaq__list details {
    margin: 0 0 12px;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 12px;
}

.topFaq__list summary {
    position: relative;
    padding: 17px 52px 17px 20px;
    color: #1e3a5f;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    cursor: pointer;
    list-style: none;
}

.topFaq__list summary::-webkit-details-marker {
    display: none;
}

.topFaq__list summary:after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 20px;
    color: #f59e0b;
    font-size: 24px;
    line-height: 1;
    transform: translateY(-50%);
}

.topFaq__list details[open] summary:after {
    content: "−";
}

.topFaq__list p {
    margin: 0;
    padding: 0 20px 18px;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
}

.topFinalCta {
    padding: 42px 46px;
    text-align: center;
    background: #f4f8fb;
    border-radius: 18px;
    border: 1px solid #dbe7ef;
}

.topFinalCta h2 {
    margin: 0 0 12px;
    color: #1e3a5f;
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.45;
}

.topFinalCta p {
    margin: 0;
    color: #333;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8;
}

.topFinalCta__btns {
    justify-content: center;
}

.topSecText {
	margin: -6px 0 22px;
	color: #333;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.9;
	letter-spacing: 0.04em;
}







}/* PC end 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/



@media screen and (max-width:900px){

/*
 general
-------------------------------------------------------------*/
html {
    font-size: 62.5%;
	margin-top:0 !important;
  scroll-behavior: smooth;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
    position: relative;
    line-height: 1.4;
    font-family:  "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
    font-size: 1.4rem;
	color: #333333;
	overflow: visible;
}
a{
    transition: opacity 0.3s;
}
a:link{
    color: #003366;
    text-decoration: none;
}
a:visited{
    color: #003366;
    text-decoration: underline;
}
a:hover{
    opacity: 0.5;
    color: #003366;
    text-decoration: underline;
}
a:active{}

.headLogo a{
    color:#003366;
}

.spno{
	display:none;
}

p{
	letter-spacing:1px;
}

/*
 container
-------------------------------------------------------------*/
.container{
    position: relative;
    width: 100%;
    margin: 0 auto;
}

/*
 header
-------------------------------------------------------------*/
.l-header{
    width: 100%;
}

.headarea{
	padding:18px 10px 15px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	width:100%;
	border-top: 3px solid #003366;
}

.headL{
	width:50%;
}


/*************************
globalNavi
**************************/

#s-navi {
  margin-left: auto;
  margin-right: 16px;
}

#nav-drawer {
  position: relative;
}

/* チェックボックス等は非表示に */
.nav-unshown {
  display: none;
}

/* アイコンのスペース */
#nav-open {
  display: block;
  position: relative;  /* ← span の absolute 基準に */
  width: 40px;         /* sticky-hamburger に統一 */
  height: 40px;
  cursor: pointer;
  flex-shrink: 0;
}

/* ハンバーガーアイコン（sticky-hamburger と統一） */
#nav-open span,
#nav-open span::before,
#nav-open span::after {
  display: block;
  position: absolute;
  width: 35px;
  height: 3px;
  background: #003366;
  border-radius: 3px;
  left: 50%;
  transform: translateX(-50%);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  content: '';
}

#nav-open span {
  top: 50%;
  margin-top: -1.5px;
}

#nav-open span::before {
  top: -8px;
  bottom: auto;  /* 旧スタイルの bottom 指定をリセット */
}

#nav-open span::after {
  top: 8px;
  bottom: auto;  /* 旧スタイルの bottom 指定をリセット */
}

/* 閉じる用の薄黒カバー */
#nav-close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/* 中身 */
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  max-width: 100%;
  height: 100%;
  background: #fff;
  transition: .3s ease-in-out;
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);
}

/* チェックが入ったらもろもろ表示 */
#nav-input:checked ~ #nav-close {
  display: block;
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
  z-index: 9998;
}

/* ハンバーガーメニューの中身 */
.hamburger-top {
  position: relative;
  background-color: #fff;
  padding: 8px 12px;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 5px;
  color: #fff;
  height: 65px;                              /* sticky-header と統一 */
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);   /* sticky-header と統一 */
  box-sizing: border-box;
  display: flex;
  align-items: center;
}

.hamburger-top a{
	display:block;
	width:45%;
}

.hamburger-top img {
  width: 100%;
}

/* ×ボタン */
.cancel {
  display: inline-block;
  position: absolute;
  cursor: pointer;
  top: 15px;
  right: 30px;
  width: 5px;
  height: 30px;
  background: #555;
  transform: rotate(45deg);
  z-index: 99;
}

.cancel:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: -13px;
  width: 31px;
  height: 5px;
  margin-top: -3px;
  background: #555;
}

.top-info {
  padding: 10px 15px;
}

.category {
  background-color: #676464;
  font-size: 22px;
  padding: 7px 10px;
  color: #fff;
  font-weight: bold;
}

.menu-container {
  padding: 5px 20px 5px 10px;
}

.menu-container li {
  float: none;
  font-size: clamp(1.5rem, 4vw, 3.5rem);
  list-style: none;
  text-align: left;
  border-bottom: dashed 1px #999;
  font-weight: bold;
}

.menu-container li:last-child {
  border: none;
}

.menu-container li a {
  text-decoration: none;
  color: #444;
  width: 100%;
  display: inline-block;
  padding: 20px 0 20px 10px;
}


/*************************
sticky header
**************************/

#sticky-header {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  opacity: 0;
  transition: opacity 0.3s ease;
  padding: 8px 12px;
  box-sizing: border-box;
  height: 65px;
}

#sticky-header.is-show {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
}

#sticky-header.is-visible {
  opacity: 1;
}

#sticky-header .sticky-logo {
  width: 45%;
}

#sticky-header .sticky-logo img {
  width: 100%;
  height: auto;
  display: block;
}

/* ハンバーガーボタン（#nav-open と統一） */
#sticky-header .sticky-hamburger {
  position: relative;
  width: 40px;
  height: 40px;
  cursor: pointer;
  flex-shrink: 0;
}

#sticky-header .sticky-hamburger span,
#sticky-header .sticky-hamburger span::before,
#sticky-header .sticky-hamburger span::after {
  display: block;
  position: absolute;
  width: 35px;
  height: 3px;
  background: #003366;
  border-radius: 3px;
  left: 50%;
  transform: translateX(-50%);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

#sticky-header .sticky-hamburger span {
  top: 50%;
  margin-top: -1.5px;
}

#sticky-header .sticky-hamburger span::before {
  content: '';
  top: -8px;
}

#sticky-header .sticky-hamburger span::after {
  content: '';
  top: 8px;
}

/* メニューオープン時に×へ変化 */
#sticky-header .sticky-hamburger.is-active span {
  background: transparent;
}

#sticky-header .sticky-hamburger.is-active span::before {
  transform: translateX(-50%) rotate(45deg) translateY(8px);
}

#sticky-header .sticky-hamburger.is-active span::after {
  transform: translateX(-50%) rotate(-45deg) translateY(-8px);
}

/*
 main contents
-------------------------------------------------------------*/

.mainContents {
    width: 100%;
    padding: 0 14px 24px;
}



/*
 footer
-------------------------------------------------------------*/
.foot{
	background: #003366;
}

.footContBox{
    margin: 0 10px 24px;
	padding:30px 20px 0;
}

.footContBox__ttl{
	margin-bottom:20px;
}

.footContBox__ttl img{
	width:60%;
}

.footContBox__txt {
	color: #fff;
	line-height:1.7;
	font-size:16px;
}

.footCopy__txt{
	color:#fff;
	text-align:center;
	padding-bottom:20px;
}

.footCopy__txt a,
.footContBox__txt a{
	color:#fff;
}


/*
 other
-------------------------------------------------------------*/
/* clearfix */
.clearfix:after{
	content: " ";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix{
	zoom: 1;
}

.txtRed{
    color:#FF0000;
    font-weight:bold;
}
.txtOrange{
    color:#FF6600;
    font-weight:bold;
}
.txtBlue{
    color:#167FA6;
    font-weight:bold;
}













/* =========================================================
   会社設立スタートガイド：ヘッダー追加CSS（スマホ）
   SPブロック内に統合
========================================================= */

/* ---------- 通常ヘッダー ---------- */
.l-header {
    width: 100%;
    background: #fff;
}

.headarea {
    padding: 12px 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    width: 100%;
    border-top: 3px solid #003366;
}

.headTtl {
    width: 210px;
    max-width: 62%;
    margin: 0;
}

.headTtl a {
    display: block;
}

.headTtl img {
    display: block;
    width: 100%;
    height: auto;
}

.headTtl a:hover {
    text-decoration: none;
    opacity: 1;
}

/* ---------- スマホメニュー本体 ---------- */
#s-navi {
    display: block;
    margin-left: auto;
    margin-right: 16px;
}

#nav-content {
    background: #fff;
}

.hamburger-top {
    position: relative;
    height: 65px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    background-color: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    box-sizing: border-box;
}

.hamburger-top a {
    display: block;
    width: 45%;
    max-width: 230px;
}

.hamburger-top img {
    display: block;
    width: 100%;
    height: auto;
}

/* ---------- スマホメニューリスト ---------- */
.menu-container {
    margin: 0;
    padding: 8px 0 28px;
    list-style: none;
}

.menu-container li {
    float: none;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: left;
    border-bottom: 1px solid #edf2f7;
    font-size: 15px;
    font-weight: bold;
}

.menu-container li:last-child {
    border-bottom: none;
}

.menu-container > li > a,
.menu-container summary {
    position: relative;
    display: block;
    width: 100%;
    padding: 15px 46px 15px 18px;
    color: #1f2937;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.5;
    text-decoration: none;
    background: #fff;
    cursor: pointer;
}

.menu-container > li > a:hover,
.menu-container summary:hover {
    color: #003366;
    background: #f3f9fc;
    text-decoration: none;
    opacity: 1;
}

/* ---------- スマホアコーディオン ---------- */
.menu-container details {
    margin: 0;
    padding: 0;
}

.menu-container summary {
    list-style: none;
}

.menu-container summary::-webkit-details-marker {
    display: none;
}

.menu-container summary::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: translateY(-65%) rotate(45deg);
    transition: transform 0.2s ease;
}

.menu-container details[open] summary::after {
    transform: translateY(-35%) rotate(-135deg);
}

.menu-container details ul {
    margin: 0;
    padding: 6px 0 10px;
    list-style: none;
    background: #f8fbfd;
    border-top: 1px solid #edf2f7;
}

.menu-container details ul li {
    border-bottom: none;
    font-size: 14px;
}

.menu-container details ul a {
    display: block;
    width: 100%;
    padding: 10px 18px 10px 32px;
    color: #334155;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.5;
    text-decoration: none;
}

.menu-container details ul a:hover {
    color: #003366;
    background: #eef7fb;
    text-decoration: none;
    opacity: 1;
}

/* ---------- スマホメニュー内CTA ---------- */
.menu-container .menu-cta {
    padding: 14px 18px;
    background: #fff;
}

.menu-container .menu-cta a {
    display: block;
    width: 100%;
    padding: 13px 16px;
    color: #fff !important;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    background: #f59e0b;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgba(245, 158, 11, 0.22);
}

.menu-container .menu-cta a:hover {
    color: #fff !important;
    background: #d97706;
    text-decoration: none;
    opacity: 1;
}

/* ---------- スマホ追従ヘッダー ---------- */
#sticky-header {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: #fff;
    border-bottom: 1px solid #dbe7ef;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    opacity: 0;
    transition: opacity 0.3s ease;
    padding: 8px 12px;
    box-sizing: border-box;
    height: 65px;
}

#sticky-header.is-show {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}

#sticky-header.is-visible {
    opacity: 1;
}

#sticky-header .sticky-logo {
    width: 42%;
    max-width: 190px;
}

#sticky-header .sticky-logo img {
    width: 100%;
    height: auto;
    display: block;
}

#sticky-header .sticky-check {
    margin-left: auto;
    margin-right: 12px;
}

#sticky-header .sticky-check a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 12px;
    color: #fff !important;
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
    background: #f59e0b;
    border-radius: 999px;
    box-shadow: 0 3px 8px rgba(245, 158, 11, 0.22);
}

#sticky-header .sticky-check a:hover {
    color: #fff !important;
    background: #d97706;
    text-decoration: none;
    opacity: 1;
}

/* ---------- 下層ページMV ---------- */
.lowerPageMv {
    position: relative;
    padding: 42px 18px;
    background: linear-gradient(135deg, #eaf6fb 0%, #f8fbfd 58%, #fff7e6 100%);
    border-bottom: 1px solid #e5edf3;
}

.lowerPageMv .pageTtlArea {
    width: 100%;
    margin: 0 auto;
}

.pageTtlMv {
    margin: 0;
    color: #1e3a5f;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.02em;
}

.pageMv__lead {
    margin-top: 10px;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.7;
}




/* =========================================================
   会社設立スタートガイド：フッター調整 SP
========================================================= */

.foot {
    padding: 0;
    background: #003366;
}

/* フッター上部CTA */
.footCta {
    padding: 30px 16px 28px;
    background: #f4f8fb;
    border-top: 1px solid #e5edf3;
}

.footCta__inner {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

.footCta__label {
    margin: 0 0 5px;
    color: #0f5f8f;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.5;
}

.footCta__ttl {
    margin: 0 0 8px;
    color: #1e3a5f;
    font-size: 21px;
    font-size: 2.1rem;
    font-weight: bold;
    line-height: 1.45;
    letter-spacing: 0.04em;
}

.footCta__txt {
    margin: 0 0 16px;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.75;
}

.footCta__btn {
    margin: 0;
}

.footCta__btn a {
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
    padding: 13px 16px;
    color: #fff !important;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    background: #f59e0b;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgba(245, 158, 11, 0.24);
}

.footCta__btn a:hover {
    color: #fff !important;
    text-decoration: none;
    background: #d97706;
    opacity: 1;
}

/* フッター本体 */
.footContBox {
    margin: 0;
    padding: 34px 18px 26px;
    display: block;
    background: #003366;
}

.footL {
    width: 100%;
}

.footR {
    width: 100%;
    padding-top: 26px;
}

.footContBox__ttl {
    width: 230px;
    max-width: 70%;
    margin: 0 0 18px;
    line-height: 1;
}

.footContBox__ttl a {
    display: block;
}

.footContBox__ttl img {
    display: block;
    width: 100%;
    height: auto;
}

.footContBox__txt {
    margin: 0;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.85;
    letter-spacing: 0.04em;
}

.footContBox__txt a {
    color: #fff !important;
    text-decoration: underline;
}

/* フッターナビ */
.footNavi {
    display: block;
}

.footNavi__col {
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,0.22);
}

.footNavi__col:last-child {
    padding-bottom: 0;
}

.footNavi__ttl {
    margin: 0 0 12px;
    color: #d7ecff;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
}

/* 既存CSSの display:flex や余白を打ち消す */
.footNavi__box {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footNavi__box__list {
    margin: 0 !important;
    padding: 0;
    border-bottom: none;
    line-height: 1.5;
}

.footNavi__box__list a {
    display: block;
    color: #fff !important;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.65;
    letter-spacing: 0.03em;
    text-decoration: none;
}

.footNavi__box__list a:hover {
    color: #d7ecff !important;
    text-decoration: underline;
    opacity: 1;
}

/* コピーライト */
.footCopy {
    width: 100%;
    border-top: 1px solid rgba(255,255,255,0.18);
}

.footCopy__txt {
    margin: 0;
    padding: 14px 18px 18px;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    text-align: center;
    letter-spacing: 0.05em;
}

.footCopy__txt a {
    color: #fff !important;
    text-decoration: none;
}

.footCopy__txt a:hover {
    color: #d7ecff !important;
    text-decoration: underline;
    opacity: 1;
}


/* =========================================================
   トップページ固定ページ用CSS：スマホ
   既存SPブロックへ統合
========================================================= */

.topPage {
    width: 100%;
    margin: 0 auto 48px;
    padding: 20px 16px 0;
    color: #1f2937;
}

.topPage a:hover {
    opacity: 1;
}

.topIntro {
    margin: 0 0 32px;
    padding: 30px 20px;
    background: linear-gradient(135deg, #f4f8fb 0%, #ffffff 58%, #fff7e6 100%);
    border: 1px solid #dbe7ef;
    border-radius: 16px;
    box-shadow: 0 8px 18px rgba(15, 39, 66, 0.07);
}

.topIntro__label,
.topFinalCta__label {
    margin: 0 0 8px;
    color: #0f5f8f;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.5;
}

.topIntro__ttl {
    margin: 0 0 14px;
    color: #1e3a5f;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.02em;
}

.topIntro__lead {
    margin: 0;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
}

.topIntro__btns,
.topFinalCta__btns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 22px;
}

.topBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 16px;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    text-decoration: none !important;
    border-radius: 999px;
}

.topBtn--primary {
    color: #fff !important;
    background: #f59e0b;
    box-shadow: 0 4px 10px rgba(245, 158, 11, 0.24);
}

.topBtn--sub {
    color: #fff !important;
    background: #003366;
}

.topBtn--line {
    color: #003366 !important;
    background: #fff;
    border: 2px solid #003366;
}

.topSection,
.topCheck,
.topFinalCta {
    margin: 0 0 36px;
}

.topSection__head,
.topCheck__head {
    margin: 0 0 18px;
}

.topSecTtl {
    position: relative;
    margin: 0 0 10px;
    padding-left: 16px;
    color: #1e3a5f;
    font-size: 20px;
    font-size: 2.0rem;
    font-weight: 800;
    line-height: 1.5;
}

.topSecTtl:before {
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
    width: 5px;
    height: 24px;
    background: #f59e0b;
    border-radius: 999px;
}

.topSecLead {
    margin: 0;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.75;
}

.topCheck {
    padding: 26px 18px;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 16px;
}

.topCheck__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.topCheck__list li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 62px;
    padding: 12px 14px 12px 58px;
    color: #1f2937;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.55;
    background: #daeffd;
    border-radius: 12px;
}

.topCheck__list span {
    position: absolute;
    top: 50%;
    left: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    background: #003366;
    border-radius: 999px;
    transform: translateY(-50%);
}

.topCheck__btn,
.topMore {
    margin: 20px 0 0;
    text-align: center;
}

.topCheck__btn a,
.topMore a {
    display: block;
    width: 80%;
	margin:0 auto;
    padding: 12px 16px;
    color: #003366 !important;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none !important;
    background: #fff;
    border: 2px solid #003366;
    border-radius: 999px;
}

.topCardGrid,
.topCardGrid--four,
.topMiniGrid,
.topCompare__box,
.topArea__list,
.topTrust__links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.topCard {
    display: block;
    padding: 18px 16px;
    color: #1f2937 !important;
    text-decoration: none !important;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(15, 39, 66, 0.05);
}

.topCard__tag {
    display: inline-block;
    margin: 0 0 9px;
    padding: 4px 10px;
    color: #0f5f8f;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.4;
    background: #eaf6fb;
    border-radius: 999px;
}

.topCard strong {
    display: block;
    margin: 0 0 6px;
    color: #1e3a5f;
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.45;
}

.topCard em {
    display: block;
    color: #333;
    font-size: 13px;
    font-style: normal;
    line-height: 1.65;
}

.topFlow__list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #dbe7ef;
}

.topFlow__list li {
    padding: 16px 10px;
    border-bottom: 1px solid #dbe7ef;
}

.topFlow__list span {
    margin: 0 10px 5px 0;
    color: #0f5f8f;
    font-size: 17px;
    font-weight: bold;
}

.topFlow__list strong {
    margin: 0 0 5px;
    color: #1e3a5f;
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.5;
}

.topFlow__list em {
    display: block;
    color: #333;
    font-size: 13px;
    font-style: normal;
    line-height: 1.7;
}

.topCompare__item {
    padding: 22px 18px;
    background: #f4fcff;
    border: 1px solid #dbe7ef;
    border-radius: 14px;
}

.topCompare__item--accent {
    border-color: #f59e0b;
    background: #fffdf7;
}

.topCompare__item h3 {
    margin: 0 0 12px;
    color: #1e3a5f;
    font-size: 19px;
    font-size: 1.9rem;
    line-height: 1.45;
}

.topCompare__item ul {
    margin: 0;
    padding: 0 0 0 1.4em;
}

.topCompare__item li {
    margin: 0 0 8px;
    line-height: 1.7;
}

.topCompare__item p {
    margin: 16px 0 0;
}

.topCompare__item p a {
    font-weight: bold;
    color: #003366 !important;
}

.topMiniCard {
    display: block;
    padding: 17px 16px;
    color: #1f2937 !important;
    text-decoration: none !important;
    background: #fff;
    border-left: 5px solid #003366;
	border-top: 1px solid #003366;
	border-right: 1px solid #003366;
	border-bottom: 1px solid #003366;
    border-radius: 12px;
    box-shadow: 0 5px 14px rgba(15, 39, 66, 0.05);
}

.topMiniCard strong {
    display: block;
    margin: 0 0 5px;
    color: #1e3a5f;
    font-size: 16px;
    font-size: 1.6rem;
}

.topMiniCard span {
    display: block;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
}

.topAfter__grid{
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
	flex-wrap: wrap;
	justify-content: space-between;
}

.topAfter__grid a{
    display: block;
	width:49%;
	margin-bottom:10px;
    padding: 12px 14px;
    color: #003366 !important;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    text-decoration: none !important;
    background: #f8fbfd;
    border: 1px solid #dbe7ef;
    border-radius: 999px;
}

.topArea__list a,
.topTrust__links a {
    display: block;
    padding: 12px 14px;
    color: #003366 !important;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    text-decoration: none !important;
    background: #f8fbfd;
    border: 1px solid #dbe7ef;
    border-radius: 999px;
}


.topFaq__list details {
    margin: 0 0 10px;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 12px;
}

.topFaq__list summary {
    position: relative;
    padding: 15px 46px 15px 16px;
    color: #1e3a5f;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.6;
    cursor: pointer;
    list-style: none;
}

.topFaq__list summary::-webkit-details-marker {
    display: none;
}

.topFaq__list summary:after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 16px;
    color: #f59e0b;
    font-size: 22px;
    line-height: 1;
    transform: translateY(-50%);
}

.topFaq__list details[open] summary:after {
    content: "−";
}

.topFaq__list p {
    margin: 0;
    padding: 0 16px 16px;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.8;
}

.topFinalCta {
    padding: 30px 20px;
    text-align: center;
    background: #f4f8fb;
    border-radius: 16px;
    border: 1px solid #dbe7ef;
}

.topFinalCta h2 {
    margin: 0 0 10px;
    color: #1e3a5f;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.5;
}

.topFinalCta p {
    margin: 0;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.75;
}

.topSecText {
	margin: -4px 0 18px;
	color: #333;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.03em;
}



}/* SP end 
--------------------------------------------------------------------------------------------------------------------*/


/* 運営者情報
--------------------------------------------------------------------------------------------------------------------*/
.aboutPage {
    color: #333;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.9;
}

.aboutPage a {
    color: #003366;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.aboutPage a:hover {
    text-decoration: none;
}

.aboutIntro {
    margin-bottom: 42px;
    padding: 34px 36px;
    background: #f4f8fb;
    border: 1px solid #dbe7ef;
    border-radius: 14px;
}

.aboutIntro h1 {
    margin: 0 0 18px;
    padding-left: 18px;
    color: #1e3a5f;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.45;
    border-left: 6px solid #f59e0b;
}

.aboutIntro p {
    margin: 0;
}

.aboutSection {
    margin-bottom: 46px;
}

.aboutSection:last-child {
    margin-bottom: 0;
}

.aboutSection h2 {
    margin: 0 0 22px;
    padding: 12px 16px;
    color: #fff;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.5;
    background: #003366;
    border-radius: 6px;
}

.aboutSection p {
    margin: 0 0 16px;
}

.aboutSection p:last-child {
    margin-bottom: 0;
}

.aboutTable {
    margin: 0;
    border-top: 1px solid #dbe7ef;
}

.aboutTable > div {
    display: flex;
    border-right: 1px solid #dbe7ef;
    border-bottom: 1px solid #dbe7ef;
    border-left: 1px solid #dbe7ef;
}

.aboutTable dt,
.aboutTable dd {
    box-sizing: border-box;
    margin: 0;
    padding: 16px 18px;
}

.aboutTable dt {
    flex: 0 0 180px;
    color: #1e3a5f;
    font-weight: bold;
    background: #f4f8fb;
    border-right: 1px solid #dbe7ef;
}

.aboutTable dd {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
    background: #fff;
}

@media screen and (max-width: 900px) {
    .aboutPage {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.85;
    }

    .aboutIntro {
        margin-bottom: 32px;
        padding: 24px 18px;
        border-radius: 10px;
    }

    .aboutIntro h1 {
        margin-bottom: 14px;
        padding-left: 13px;
        font-size: 23px;
        font-size: 2.3rem;
        border-left-width: 5px;
    }

    .aboutSection {
        margin-bottom: 34px;
    }

    .aboutSection h2 {
        margin-bottom: 16px;
        padding: 10px 13px;
        font-size: 19px;
        font-size: 1.9rem;
    }

    .aboutTable > div {
        display: block;
    }

    .aboutTable dt,
    .aboutTable dd {
        width: 100%;
        padding: 12px 14px;
    }

    .aboutTable dt {
        border-right: 0;
        border-bottom: 1px solid #dbe7ef;
    }
}


/* お問い合わせフォーム（Contact Form 7）
--------------------------------------------------------------------------------------------------------------------*/
.contactNotes {
    margin: 0;
    padding: 20px 24px 20px 44px;
    background: #f8fbfd;
    border: 1px solid #dbe7ef;
    border-radius: 10px;
}

.contactNotes li {
    margin-bottom: 8px;
    line-height: 1.75;
}

.contactNotes li:last-child {
    margin-bottom: 0;
}

.contactForm {
    margin-top: 26px;
}

.contactForm__row {
    margin-bottom: 24px;
}

.contactForm__row > label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: #1e3a5f;
    font-weight: bold;
    line-height: 1.6;
}

.contactForm__row > label br {
    display: none;
}

.contactForm__row > br {
    display: none;
}

.contactForm__row > .contactForm__required,
.contactForm__row > .contactForm__optional {
    margin-right: 0;
    margin-bottom: 8px;
    margin-left: 8px;
    vertical-align: middle;
}

.contactForm__required,
.contactForm__optional {
    display: inline-block;
    flex: 0 0 auto;
    margin-left: 0;
    padding: 2px 8px;
    color: #fff;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: normal;
    line-height: 1.5;
    vertical-align: 1px;
    border-radius: 4px;
}

.contactForm__required {
    background: #c2410c;
}

.contactForm__optional {
    background: #64748b;
}

.contactForm .wpcf7-form-control-wrap {
    display: block;
}

.contactForm input[type="text"],
.contactForm input[type="email"],
.contactForm input[type="tel"],
.contactForm input[type="url"],
.contactForm select,
.contactForm textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 12px 14px;
    color: #1f2937;
    font-family: inherit;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
    background: #fff;
    border: 1px solid #aebdca;
    border-radius: 6px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.contactForm select {
    min-height: 50px;
}

.contactForm textarea {
    min-height: 220px;
    resize: vertical;
}

.contactForm input[type="text"]:focus,
.contactForm input[type="email"]:focus,
.contactForm input[type="tel"]:focus,
.contactForm input[type="url"]:focus,
.contactForm select:focus,
.contactForm textarea:focus {
    outline: 3px solid rgba(245, 158, 11, 0.28);
    outline-offset: 1px;
    border-color: #003366;
    box-shadow: 0 0 0 1px #003366;
}

.contactForm .wpcf7-not-valid {
    border-color: #b91c1c !important;
}

.contactForm .wpcf7-not-valid-tip {
    margin-top: 6px;
    color: #b91c1c;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
}

.contactForm__privacy {
    margin: 30px 0 24px;
    padding: 18px 20px;
    line-height: 1.75;
    background: #f4f8fb;
    border: 1px solid #dbe7ef;
    border-radius: 8px;
}

.contactForm__privacy .wpcf7-list-item {
    margin: 0;
}

.contactForm__privacy label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.contactForm__privacy input[type="checkbox"] {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin: 4px 0 0;
    accent-color: #003366;
}

.contactForm__submit {
    position: relative;
    text-align: center;
}

.contactForm input[type="submit"] {
    box-sizing: border-box;
    min-width: 300px;
    padding: 15px 36px;
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    cursor: pointer;
    background: #003366;
    border: 2px solid #003366;
    border-radius: 999px;
    box-shadow: 0 6px 14px rgba(0, 51, 102, 0.18);
    transition: color 0.2s, background-color 0.2s, transform 0.2s;
}

.contactForm input[type="submit"]:hover {
    color: #003366;
    background: #fff;
    transform: translateY(-1px);
}

.contactForm input[type="submit"]:focus-visible {
    outline: 3px solid #f59e0b;
    outline-offset: 3px;
}

.contactForm input[type="submit"]:disabled {
    cursor: not-allowed;
    opacity: 0.55;
    transform: none;
}

.contactForm .wpcf7-spinner {
    vertical-align: middle;
}

.contactForm .wpcf7-response-output {
    margin: 24px 0 0 !important;
    padding: 14px 16px !important;
    color: #1f2937;
    line-height: 1.7;
    background: #f8fbfd;
    border: 2px solid #003366 !important;
    border-radius: 8px;
}

.contactForm form.invalid .wpcf7-response-output,
.contactForm form.unaccepted .wpcf7-response-output,
.contactForm form.payment-required .wpcf7-response-output {
    background: #fff7ed;
    border-color: #c2410c !important;
}

.contactForm form.sent .wpcf7-response-output {
    background: #f0fdf4;
    border-color: #15803d !important;
}

@media screen and (max-width: 900px) {
    .contactNotes {
        padding: 16px 16px 16px 36px;
    }

    .contactForm {
        margin-top: 20px;
    }

    .contactForm__row {
        margin-bottom: 20px;
    }

    .contactForm input[type="text"],
    .contactForm input[type="email"],
    .contactForm input[type="tel"],
    .contactForm input[type="url"],
    .contactForm select,
    .contactForm textarea {
        padding: 11px 12px;
        font-size: 16px;
        font-size: 1.6rem;
    }

    .contactForm textarea {
        min-height: 180px;
    }

    .contactForm__privacy {
        margin-top: 24px;
        padding: 15px 14px;
    }

    .contactForm input[type="submit"] {
        width: 100%;
        min-width: 0;
        padding: 14px 20px;
    }

    .contactForm .wpcf7-spinner {
        display: block;
        margin: 12px auto 0;
    }
}


/* お問い合わせページの余白調整
--------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 901px) {
    .contactPage .aboutIntro {
        margin-bottom: 28px;
        padding-top: 28px;
        padding-bottom: 28px;
    }

    .contactPage .aboutSection {
        margin-bottom: 32px;
    }

    .contactPage .aboutSection h2 {
        margin-bottom: 16px;
    }

    .contactPage .contactForm {
        margin-top: 18px;
    }

    .contactPage .contactForm__row {
        margin-bottom: 16px;
    }

    .contactPage .contactForm__row > label {
        margin-bottom: 5px;
    }

    .contactPage .contactForm__privacy {
        margin-top: 20px;
        margin-bottom: 18px;
    }

    .contactPage .contactForm textarea {
        min-height: 180px;
    }
}

@media screen and (max-width: 900px) {
    .contactPage {
        width: 100%;
        margin: 0 auto;
        padding: 0;
    }

    .contactPage .aboutIntro {
        margin-bottom: 24px;
        padding: 22px 16px;
    }

    .contactPage .aboutSection {
        margin-bottom: 28px;
    }

    .contactPage .aboutSection h2 {
        margin-right: 0;
        margin-left: 0;
    }

    .contactPage .contactNotes {
        padding: 14px 14px 14px 32px;
    }

    .contactPage .contactForm {
        margin-top: 16px;
    }

    .contactPage .contactForm__row {
        margin-bottom: 16px;
    }

    .contactPage .contactForm__row > label {
        margin-bottom: 5px;
    }

    .contactPage .contactForm__row p,
    .contactPage .contactForm__row .wpcf7-form-control-wrap p {
        margin: 0;
    }

    .contactPage .contactForm__privacy {
        margin-top: 20px;
        margin-bottom: 16px;
    }

    .contactPage .contactForm textarea {
        min-height: 160px;
    }

    .side {
        display: none;
    }
}


/* 会社設立の基本ページ
--------------------------------------------------------------------------------------------------------------------*/
.guidePage {
    color: #333;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.9;
}

.guidePage a {
    color: #003366;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.guidePage a:hover {
    text-decoration: none;
}

.guideIntro {
    margin-bottom: 34px;
    padding: 34px 36px;
    background: linear-gradient(135deg, #f4f8fb 0%, #fff 68%, #fff7e6 100%);
    border: 1px solid #dbe7ef;
    border-radius: 14px;
}

.guideIntro__label {
    margin: 0 0 8px;
    color: #b45309;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
}

.guideIntro h1 {
    margin: 0 0 18px;
    padding-left: 18px;
    color: #1e3a5f;
    font-size: 29px;
    font-size: 2.9rem;
    line-height: 1.45;
    border-left: 6px solid #f59e0b;
}

.guideIntro p {
    margin: 0 0 14px;
}

.guideIntro p:last-child {
    margin-bottom: 0;
}

.guideIntro__lead {
    color: #1f2937;
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1.8;
}

.guideFigure > img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 18px;
}

.guideSummary {
    margin-bottom: 34px;
    padding: 26px;
    background: #fff;
    border: 2px solid #003366;
    border-radius: 12px;
}

.guideSummary h2 {
    margin: 0 0 18px;
    color: #1e3a5f;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.5;
}

.guideSummary__list {
    margin: 0;
    border-top: 1px solid #dbe7ef;
}

.guideSummary__list > div {
    display: flex;
    border-right: 1px solid #dbe7ef;
    border-bottom: 1px solid #dbe7ef;
    border-left: 1px solid #dbe7ef;
}

.guideSummary__list dt,
.guideSummary__list dd {
    box-sizing: border-box;
    margin: 0;
    padding: 13px 15px;
}

.guideSummary__list dt {
    flex: 0 0 190px;
    color: #1e3a5f;
    font-weight: bold;
    background: #f4f8fb;
    border-right: 1px solid #dbe7ef;
}

.guideSummary__list dd {
    flex: 1 1 auto;
    min-width: 0;
}

.guideToc {
    margin-bottom: 42px;
    padding: 24px 26px;
    background: #f8fbfd;
    border: 1px solid #cbdde9;
    border-radius: 12px;
}

.guideToc__title {
    margin: 0 0 12px;
    color: #1e3a5f;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
}

.guideToc ol {
    margin: 0;
    padding-left: 1.7em;
}

.guideToc li {
    margin-bottom: 6px;
}

.guideToc li:last-child {
    margin-bottom: 0;
}

.guideSection {
    margin-bottom: 54px;
    scroll-margin-top: 90px;
}

.guideSection > h2 {
    margin: 0 0 22px;
    padding: 13px 16px;
    color: #fff;
    font-size: 23px;
    font-size: 2.3rem;
    line-height: 1.5;
    background: #003366;
    border-radius: 7px;
}

.guideSection > h3,
.guideSection > div > h3,
.guideSection > .guideNote > h3,
.guideSection > .guideCaution > h3 {
    margin: 30px 0 16px;
    padding: 9px 12px;
    color: #1e3a5f;
    font-size: 19px;
    font-size: 1.9rem;
    line-height: 1.55;
    background: #f4f8fb;
    border-left: 5px solid #f59e0b;
}

/* 補足・注意・計算例の見出しは、本文見出しとは異なる控えめな装飾にする */
.guideSection > .guideNote > h3,
.guideSection > .guideCaution > h3,
.guideSection > .guideExample > h3,
.guideSection > .guideNote > h4,
.guideSection > .guideCaution > h4,
.guideSection > .guideExample > h4 {
	position: relative;
	margin: 0 0 14px;
	padding: 0 0 10px 22px;
	color: #1e3a5f;
	line-height: 1.55;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #fed7aa;
}

.guideSection > .guideNote > h3,
.guideSection > .guideCaution > h3,
.guideSection > .guideExample > h3 {
	font-size: 18px;
	font-size: 1.8rem;
}

.guideSection > .guideNote > h4,
.guideSection > .guideCaution > h4,
.guideSection > .guideExample > h4 {
	font-size: 16px;
	font-size: 1.6rem;
}

.guideSection > .guideNote > h3::before,
.guideSection > .guideCaution > h3::before,
.guideSection > .guideExample > h3::before,
.guideSection > .guideNote > h4::before,
.guideSection > .guideCaution > h4::before,
.guideSection > .guideExample > h4::before {
	position: absolute;
	top: 0.78em;
	left: 2px;
	width: 8px;
	height: 8px;
	background: #f59e0b;
	border-radius: 50%;
	content: "";
	transform: translateY(-50%);
}

.guideSection > p {
    margin: 0 0 16px;
}

.guideCheckList,
.guideCautionList {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 22px 0;
}

.guideCheckList section,
.guideCautionList section {
    padding: 20px;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(15, 39, 66, 0.05);
}

.guideCheckList > li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 58px;
    margin: 0;
    padding: 15px 18px 15px 54px;
    color: #1e3a5f;
    font-weight: bold;
    line-height: 1.65;
    list-style: none;
    background: linear-gradient(135deg, #fff 0%, #f4f8fb 100%);
    border: 1px solid #cddfea;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(15, 39, 66, 0.05);
}

.guideCheckList > li::before {
    position: absolute;
    top: 50%;
    left: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    content: "\2713";
    background: #f59e0b;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(245, 158, 11, 0.25);
    transform: translateY(-50%);
}

.guideCheckList h3,
.guideCautionList h3 {
    margin: 0 0 8px;
    color: #1e3a5f;
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.5;
}

.guideCheckList p,
.guideCautionList p {
    margin: 0;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.75;
}

.guideTableWrap {
    width: 100%;
    margin: 22px 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.guideTable {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    background: #fff;
}

.guideTable th,
.guideTable td {
    padding: 13px 14px;
    line-height: 1.65;
    text-align: left;
    vertical-align: top;
    border: 1px solid #cbdde9;
}

.guideTable thead th {
    color: #fff;
    text-align: center;
    background: #003366;
}

.guideTable tbody th {
    width: 28%;
    color: #1e3a5f;
    font-weight: bold;
    background: #f4f8fb;
}

.guideTable tbody tr:nth-child(even) td {
    background: #fbfdff;
}

/* 会社設立チェックリストの確認欄
--------------------------------------------------------------------------------------------------------------------*/
.guideChecklistPage .guideTable tbody > tr > td:first-child {
    width: 56px;
    min-width: 56px;
    padding-right: 8px;
    padding-left: 8px;
    color: #f59e0b;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

.guideChecklistPage .guideTable tbody > tr > td:first-child + th {
    width: auto;
}

.guideNote {
    margin: 22px 0;
    padding: 18px 20px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-left: 6px solid #f59e0b;
    border-radius: 8px;
}

.guideSection > .guideNote {
    margin-top: 22px;
    margin-bottom: 22px;
}

.guideNote p {
    margin: 0 0 8px;
}

.guideNote p:last-child {
    margin-bottom: 0;
}

.guideSource {
    padding: 12px 14px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.7;
    background: #f8fbfd;
    border-radius: 6px;
}

.guideMore {
    margin-top: 22px !important;
    text-align: center;
}

.guideMore a {
    display: inline-block;
    padding: 10px 18px;
    color: #fff !important;
    font-weight: bold;
    text-decoration: none !important;
    background: #003366;
    border: 2px solid #003366;
    border-radius: 999px;
}

.guideMore a:hover {
    color: #003366 !important;
    background: #fff;
    opacity: 1;
}

.guideFlow {
    margin: 24px 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.guideFlow > li {
    position: relative;
    display: flex;
    gap: 18px;
    margin-bottom: 14px;
    padding: 20px;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 10px;
}

.guideFlow > li:not(:last-child):after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 55px;
    width: 2px;
    height: 15px;
    background: #9fb9cc;
}

.guideFlow__number {
    flex: 0 0 78px;
    align-self: flex-start;
    padding: 7px 6px;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    background: #003366;
    border-radius: 999px;
}

.guideFlow h3 {
    margin: 0 0 6px;
    color: #1e3a5f;
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.5;
}

.guideFlow p {
    margin: 0;
    line-height: 1.75;
}

.guideBulletList {
    margin: 18px 0;
    padding: 18px 20px 18px 42px;
    background: #f8fbfd;
    border: 1px solid #dbe7ef;
    border-radius: 9px;
}

.guideBulletList li {
    margin-bottom: 7px;
}

.guideBulletList li:last-child {
    margin-bottom: 0;
}

.guideNumberList {
    display: grid;
    gap: 12px;
    margin: 22px 0;
    padding: 0;
    list-style: none;
    counter-reset: guide-number-list;
}

.guideNumberList > li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 58px;
    margin: 0;
    padding: 16px 18px 16px 62px;
    line-height: 1.75;
    list-style: none;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(15, 39, 66, 0.05);
    counter-increment: guide-number-list;
}

.guideNumberList > li::before {
    position: absolute;
    top: 50%;
    left: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
    content: counter(guide-number-list);
    background: #003366;
    border-radius: 50%;
    transform: translateY(-50%);
}

.guideCompare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 24px 0;
}

.guideCompare__item {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 26px 24px 24px;
    overflow: hidden;
    background: linear-gradient(180deg, #f4f8fc 0%, #fff 100%);
    border: 1px solid #cbdde9;
    border-top: 5px solid #003366;
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(15, 39, 66, 0.08);
}

.guideCompare__item--expert {
    background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
    border-color: #fed7aa;
    border-top-color: #f59e0b;
}

.flowPage .guideCompare--companyType .guideCompare__item--corporation {
    background: linear-gradient(180deg, #f2f7fc 0%, #fff 100%);
    border-color: #cbdde9;
    border-top-color: #003366;
}

.flowPage .guideCompare--companyType .guideCompare__item--llc {
    background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
    border-color: #fed7aa;
    border-top-color: #f59e0b;
}

.flowPage .guideCompare--selfOrExpert .guideCompare__item--self {
    background: linear-gradient(180deg, #f2f7fc 0%, #fff 100%);
    border-color: #cbdde9;
    border-top-color: #003366;
}

.flowPage .guideCompare--selfOrExpert .guideCompare__item--expert {
    background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
    border-color: #fed7aa;
    border-top-color: #f59e0b;
}

.guideCompare h3 {
    margin: 0 0 12px;
    color: #1e3a5f;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5;
}

.guideCompare ul {
    flex-grow: 1;
    margin: 0 0 2px;
    padding-left: 1.4em;
}

.guideCompare li {
    margin-bottom: 10px;
}

.guideCompare li:last-child {
    margin-bottom: 0;
}

.guideCompare .guideMore {
    margin-top: auto !important;
    padding-top: 22px;
}

.guideCompare .guideMore a {
    box-sizing: border-box;
    width: 100%;
    max-width: 360px;
    padding: 11px 18px;
}

.guideLinkGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 24px;
}

.guideLinkGrid a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 10px 12px;
    color: #003366 !important;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    text-decoration: none !important;
    background: #f8fbfd;
    border: 1px solid #cbdde9;
    border-radius: 8px;
}

.guideLinkGrid a:hover {
    background: #eaf3f8;
    opacity: 1;
}

.guideFaq__list details {
    margin-bottom: 12px;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 9px;
}

.guideFaq__list summary {
    position: relative;
    padding: 16px 48px 16px 18px;
    color: #1e3a5f;
    font-weight: bold;
    line-height: 1.6;
    cursor: pointer;
    list-style: none;
}

.guideFaq__list summary::-webkit-details-marker {
    display: none;
}

.guideFaq__list summary:after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 18px;
    color: #f59e0b;
    font-size: 24px;
    line-height: 1;
    transform: translateY(-50%);
}

.guideFaq__list details[open] summary:after {
    content: "−";
}

.guideFaq__list details p {
    margin: 0;
    padding: 0 18px 18px;
    line-height: 1.8;
}

.guideFinalCta {
    margin: 54px 0 32px;
    padding: 34px 30px;
    text-align: center;
    background: #f4f8fb;
    border: 1px solid #cbdde9;
    border-radius: 14px;
}

.guideFinalCta__label {
    margin: 0 0 6px;
    color: #b45309;
    font-weight: bold;
}

.guideFinalCta h2 {
    margin: 0 0 12px;
    color: #1e3a5f;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
}

.guideFinalCta > p {
    margin: 0 0 14px;
}

.guideFinalCta__button {
    margin-top: 22px !important;
}

.guideFinalCta__button a {
    display: inline-block;
    min-width: 300px;
    padding: 13px 24px;
    color: #fff !important;
    font-weight: bold;
    text-decoration: none !important;
    background: #f59e0b;
    border: 2px solid #f59e0b;
    border-radius: 999px;
    box-shadow: 0 6px 14px rgba(245, 158, 11, 0.2);
}

.guideFinalCta__button a:hover {
    color: #b45309 !important;
    background: #fff;
    opacity: 1;
}

.guideEditorialNote {
    margin-top: 32px;
    padding: 18px 20px;
    color: #4b5563;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.75;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.guideEditorialNote > h2 {
    margin: 0 0 8px;
    color: #1e3a5f;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.6;
}

.guideEditorialNote p {
    margin: 0 0 8px;
}

.guideEditorialNote p:last-child {
    margin-bottom: 0;
}

/* アフィリエイトCTA
--------------------------------------------------------------------------------------------------------------------*/
.affiliateCta {
    margin: 44px 0 54px;
    padding: 28px;
    background: linear-gradient(180deg, #fffaf2 0%, #f8fbfd 42%);
    border: 1px solid #cbdde9;
    border-top: 5px solid #f59e0b;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(15, 39, 66, 0.08);
    scroll-margin-top: 90px;
}

.affiliateCta--consultation {
    margin-bottom: 0;
    background: #fffaf2;
}

.affiliateCta--flowServices {
    margin-top: 36px;
}

.affiliateCta--flowConsultation {
    margin: 36px 0 44px;
}

.affiliateCta--costServices,
.affiliateCta--costConsultation {
    margin: 36px 0 44px;
}

.affiliateCta--documentsServices,
.affiliateCta--documentsConsultation {
    margin: 36px 0 44px;
}

.affiliateCta--checklistServices,
.affiliateCta--checklistConsultation {
    margin: 36px 0 44px;
}

.affiliateCta--beforeServices,
.affiliateCta--beforeConsultation {
    margin: 36px 0 44px;
}

.affiliateCta__label {
    display: inline-block;
    margin: 0 0 10px !important;
    padding: 3px 9px;
    color: #fff;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.08em;
    background: #6b7280;
    border-radius: 999px;
}

.affiliateCta .affiliateCta__title {
    margin: 0 0 14px;
    padding: 0;
    color: #1e3a5f;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.55;
    background: transparent;
    border: 0;
}

.affiliateCta__text {
    margin: 0 0 20px;
}

.affiliateCta__guide {
    margin: 20px 0 24px;
    padding: 16px 18px;
    color: #26384a;
    background: #fff;
    border: 1px solid #f2c98d;
    border-radius: 10px;
}

.affiliateCta__guideTitle {
    margin: 0 0 8px;
    color: #9a3412;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.6;
}

.affiliateCta__guide ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.affiliateCta__guide li {
    position: relative;
    margin: 5px 0;
    padding-left: 1.5em;
}

.affiliateCta__guide li::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #c2410c;
    font-weight: bold;
    content: "✓";
}

.affiliateCta__choices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 22px 0;
}

.affiliateCta__choices--virtualOffice > .affiliateCta__choice:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.affiliateCta__choice.affiliateCta__choice--expert {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 34%);
    gap: 28px;
    align-items: center;
    padding: 22px 24px;
    background: #fffaf3;
    border-color: #f3c77e;
}

.affiliateCta__choice--expert .affiliateCta__badge {
    color: #9a3412;
    background: #ffedd5;
}

.affiliateCta__choice--expert .affiliateCta__benefits {
    margin-bottom: 0;
}

.affiliateCta__expertAction {
    width: 100%;
    max-width: 340px;
    justify-self: end;
}

.affiliateCta__expertAction .affiliateCta__linkSlot {
    margin-top: 0;
}

.affiliateCta__choice {
    display: flex;
    flex-direction: column;
    padding: 20px;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-top: 4px solid #f59e0b;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(15, 39, 66, 0.07);
}

.affiliateCta__badge {
    align-self: flex-start;
    margin: 0 0 10px;
    padding: 4px 10px;
    color: #9a3412;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.5;
    background: #fff3df;
    border: 1px solid #f2c98d;
    border-radius: 999px;
}

.affiliateCta__choice h3 {
    margin: 0 0 14px;
    color: #1e3a5f;
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.55;
}

.affiliateCta__fit {
    margin: 0 0 14px;
    color: #26384a;
    font-weight: bold;
    line-height: 1.7;
}

.affiliateCta__benefits {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
}

.affiliateCta__benefits li {
    position: relative;
    margin: 7px 0;
    padding-left: 1.6em;
    color: #374151;
    line-height: 1.65;
}

.affiliateCta__benefits li::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #c2410c;
    font-weight: bold;
    content: "✓";
}

.affiliateCta__linkSlot {
    margin: auto 0 0;
}

.affiliateCta__linkSlot > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 11px 16px;
    color: #fff !important;
    font-weight: bold;
    line-height: 1.55;
    text-align: center;
    text-decoration: none !important;
    background: #c2410c;
    border: 2px solid #c2410c;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(194, 65, 12, 0.22);
}

.affiliateCta__linkSlot > a:hover,
.affiliateCta__linkSlot > a:focus-visible {
    color: #fff !important;
    background: #9a3412;
    border-color: #9a3412;
    opacity: 1;
}

.affiliateCta__microcopy {
    margin: 9px 0 0;
    color: #6b7280;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.6;
    text-align: center;
}

.affiliateCta__linkSlot > a:focus-visible,
.affiliateFloat .affiliateFloat__link:focus-visible {
    outline: 3px solid #fbbf24;
    outline-offset: 3px;
}

.affiliateCta__notes {
    margin-top: 18px;
    padding-top: 14px;
    color: #4b5563;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.7;
    border-top: 1px solid #dbe7ef;
}

.affiliateCta__notes p {
    margin: 0 0 4px;
}

.affiliateCta__notes p:last-child {
    margin-bottom: 0;
}

.affiliateCta--sitewide,
.sitewideNextCta {
    clear: both;
}

.affiliateCta__choices--single {
    grid-template-columns: minmax(0, 620px);
    justify-content: center;
}

.sitewideNextCta {
    margin-top: 44px;
}

.affiliateFloat[hidden] {
    display: none;
}

.affiliateFloat {
    position: fixed;
    right: auto;
    bottom: max(16px, env(safe-area-inset-bottom));
    left: 50%;
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 12px;
    width: min(720px, calc(100% - 32px));
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid #cbdde9;
    border-radius: 12px;
    box-shadow: 0 10px 32px rgba(15, 39, 66, 0.22);
    opacity: 0;
    transform: translate(-50%, 16px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.affiliateFloat.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.affiliateFloat__label {
    flex: 0 0 auto;
    padding: 3px 7px;
    color: #fff;
    font-size: 10px;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.06em;
    background: #6b7280;
    border-radius: 999px;
}

.affiliateFloat .affiliateFloat__link {
    flex: 1 1 auto;
    min-width: 0;
    padding: 10px 14px;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    background: #c2410c;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(194, 65, 12, 0.22);
}

.affiliateFloat .affiliateFloat__link:hover,
.affiliateFloat .affiliateFloat__link:focus-visible {
    color: #fff;
    background: #9a3412;
    opacity: 1;
}

.affiliateFloat__close {
    flex: 0 0 auto;
    padding: 8px;
    color: #4b5563;
    font: inherit;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.4;
    cursor: pointer;
    background: transparent;
    border: 0;
    border-radius: 6px;
}

.affiliateFloat__close:hover,
.affiliateFloat__close:focus-visible {
    color: #003366;
    background: #edf4f8;
}

@media (prefers-reduced-motion: reduce) {
    .affiliateFloat {
        transition: none;
    }
}

/* 会社設立後の経理
--------------------------------------------------------------------------------------------------------------------*/
.accountingPage .guideTable {
    width: 100%;
    min-width: 0;
    margin: 22px 0;
    overflow-x: auto;
    background: transparent;
    border-collapse: separate;
    -webkit-overflow-scrolling: touch;
}

.accountingPage .guideTable table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    background: #fff;
}

.accountingPage .guideTable th,
.accountingPage .guideTable td {
    padding: 13px 14px;
    line-height: 1.65;
    text-align: left;
    vertical-align: top;
    border: 1px solid #cbdde9;
}

.accountingPage .guideTable thead th {
    color: #fff;
    text-align: center;
    background: #003366;
}

.accountingPage .guideTable tbody th {
    width: 28%;
    color: #1e3a5f;
    font-weight: bold;
    background: #f4f8fb;
}

.accountingPage .guideTable tbody tr:nth-child(even) td {
    background: #fbfdff;
}

.accountingPage.guideChecklistPage .guideTable tbody > tr > td:first-child {
    width: 56px;
    min-width: 56px;
    padding-right: 8px;
    padding-left: 8px;
    color: #f59e0b;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

.accountingPage.guideChecklistPage .guideTable tbody > tr > td:first-child + th {
    width: auto;
}

.accountingPage .guideFlow ol {
    margin: 24px 0;
    padding: 0;
    list-style: none;
    counter-reset: accounting-flow;
}

.accountingPage .guideFlow li {
    position: relative;
    margin-bottom: 14px;
    padding: 20px 20px 20px 76px;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 10px;
    counter-increment: accounting-flow;
}

.accountingPage .guideFlow li::before {
    position: absolute;
    top: 20px;
    left: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #fff;
    font-weight: bold;
    content: counter(accounting-flow);
    background: #003366;
    border-radius: 50%;
}

.accountingPage .guideFlow li:not(:last-child)::after {
    position: absolute;
    bottom: -15px;
    left: 37px;
    width: 2px;
    height: 15px;
    content: "";
    background: #9fb9cc;
}

.accountingPage .guideFlow strong,
.accountingPage .guideFlow span {
    display: block;
}

.accountingPage .guideFlow strong {
    margin-bottom: 5px;
    color: #1e3a5f;
    font-size: 17px;
    font-size: 1.7rem;
}

.accountingPage .guideCautionList > li {
    position: relative;
    margin: 0;
    padding: 16px 17px 16px 46px;
    line-height: 1.7;
    list-style: none;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 10px;
}

.accountingPage .guideCautionList > li::before {
    position: absolute;
    top: 16px;
    left: 16px;
    color: #d97706;
    font-weight: bold;
    content: "!";
}

.accountingPage .guideFAQ details {
    margin-bottom: 12px;
    background: #fff;
    border: 1px solid #dbe7ef;
    border-radius: 9px;
}

.accountingPage .guideFAQ summary {
    position: relative;
    padding: 16px 48px 16px 18px;
    color: #1e3a5f;
    font-weight: bold;
    line-height: 1.6;
    cursor: pointer;
    list-style: none;
}

.accountingPage .guideFAQ summary::-webkit-details-marker {
    display: none;
}

.accountingPage .guideFAQ summary::after {
    position: absolute;
    top: 50%;
    right: 18px;
    color: #f59e0b;
    font-size: 24px;
    line-height: 1;
    content: "+";
    transform: translateY(-50%);
}

.accountingPage .guideFAQ details[open] summary::after {
    content: "−";
}

.accountingPage .guideFAQ details p {
    margin: 0;
    padding: 0 18px 18px;
    line-height: 1.8;
}

.accountingPage .guideSource ul {
    margin: 12px 0;
    padding-left: 1.6em;
    list-style: disc outside;
}

.accountingPage .guideSource li {
    margin-bottom: 7px;
}

.accountingPage .guideSource li::marker {
    color: #f59e0b;
}

/* 法人カード
--------------------------------------------------------------------------------------------------------------------*/
.corporateCardPage .guideTableWrap {
    scrollbar-color: #9fb9cc #edf4f8;
    scrollbar-width: thin;
}

.corporateCardPage .guideTableWrap::-webkit-scrollbar {
    height: 8px;
}

.corporateCardPage .guideTableWrap::-webkit-scrollbar-track {
    background: #edf4f8;
    border-radius: 999px;
}

.corporateCardPage .guideTableWrap::-webkit-scrollbar-thumb {
    background: #9fb9cc;
    border-radius: 999px;
}

.corporateCardPage .guideTable td {
    overflow-wrap: anywhere;
}

.corporateCardPage .guideCompare__item {
    border-top: 4px solid #003366;
}

.corporateCardPage .guideCompare__item:last-child {
    border-top-color: #f59e0b;
}

.corporateCardPage .guideCautionList > li {
    position: relative;
    margin: 0;
    padding: 16px 17px 16px 46px;
    line-height: 1.7;
    list-style: none;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 10px;
}

.corporateCardPage .guideCautionList > li::before {
    position: absolute;
    top: 16px;
    left: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: #fff;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1;
    content: "!";
    background: #d97706;
    border-radius: 50%;
}

.corporateCardPage #card-additional .guideCheckList > li {
    background: #fff;
}

.corporateCardPage .guideFaq__list details:last-child {
    margin-bottom: 0;
}

/* 会社ホームページの作り方
--------------------------------------------------------------------------------------------------------------------*/
.companyWebsitePage .guideTableWrap {
    scrollbar-color: #9fb9cc #edf4f8;
    scrollbar-width: thin;
}

.companyWebsitePage .guideTableWrap::-webkit-scrollbar {
    height: 8px;
}

.companyWebsitePage .guideTableWrap::-webkit-scrollbar-track {
    background: #edf4f8;
    border-radius: 999px;
}

.companyWebsitePage .guideTableWrap::-webkit-scrollbar-thumb {
    background: #9fb9cc;
    border-radius: 999px;
}

.companyWebsitePage .guideTable td {
    overflow-wrap: anywhere;
}

.companyWebsitePage .guideCompare__item {
    border-top: 4px solid #003366;
}

.companyWebsitePage .guideCompare__item:nth-child(even) {
    border-top-color: #f59e0b;
}

.companyWebsitePage .guideCautionList > li {
    position: relative;
    margin: 0;
    padding: 16px 17px 16px 46px;
    line-height: 1.7;
    list-style: none;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 10px;
}

.companyWebsitePage .guideCautionList > li::before {
    position: absolute;
    top: 16px;
    left: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: #fff;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1;
    content: "!";
    background: #d97706;
    border-radius: 50%;
}

.companyWebsitePage #website-pages .guideTable tbody th,
.companyWebsitePage #website-check .guideTable tbody th {
    width: 25%;
}

.companyWebsitePage #website-images .guideCompare__item {
    background: #f8fbfd;
    border-color: #cbdde9;
    border-top-color: #003366;
}

.companyWebsitePage #website-images .guideCompare__item:last-child {
    background: #fff7ed;
    border-color: #fed7aa;
    border-top-color: #f59e0b;
}

.companyWebsitePage .guideFaq__list details:last-child {
    margin-bottom: 0;
}

/* エリア別の会社設立情報
--------------------------------------------------------------------------------------------------------------------*/
.areaGuidePage .guideTableWrap {
    scrollbar-color: #9fb9cc #edf4f8;
    scrollbar-width: thin;
}

.areaGuidePage .guideTableWrap::-webkit-scrollbar {
    height: 8px;
}

.areaGuidePage .guideTableWrap::-webkit-scrollbar-track {
    background: #edf4f8;
    border-radius: 999px;
}

.areaGuidePage .guideTableWrap::-webkit-scrollbar-thumb {
    background: #9fb9cc;
    border-radius: 999px;
}

.areaGuidePage .guideTable td {
    overflow-wrap: anywhere;
}

.areaGuidePage .guideCompare__item {
    border-top: 4px solid #003366;
}

.areaGuidePage .guideCompare__item:nth-child(even) {
    border-top-color: #f59e0b;
}

.areaGuidePage .guideCautionList > li {
    position: relative;
    margin: 0;
    padding: 16px 17px 16px 46px;
    line-height: 1.7;
    list-style: none;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 10px;
}

.areaGuidePage .guideCautionList > li::before {
    position: absolute;
    top: 16px;
    left: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: #fff;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1;
    content: "!";
    background: #d97706;
    border-radius: 50%;
}

.areaGuidePage #area-list .guideLinkGrid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.areaGuidePage #area-list .guideLinkGrid a {
    position: relative;
    min-height: 86px;
    padding: 16px 12px 34px;
    background: #fff;
    border-top: 4px solid #003366;
    box-shadow: 0 4px 12px rgba(15, 39, 66, 0.06);
}

.areaGuidePage #area-list .guideLinkGrid a::after {
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    color: #f59e0b;
    font-size: 18px;
    line-height: 1;
    content: "→";
}

.areaGuidePage #area-list .guideLinkGrid a:hover {
    color: #fff !important;
    background: #003366;
}

.areaGuidePage .guideFaq__list details:last-child {
    margin-bottom: 0;
}

/* 地域別の会社設立ページ共通
--------------------------------------------------------------------------------------------------------------------*/
.guidePage .guideTableWrap {
    scrollbar-color: #9fb9cc #edf4f8;
    scrollbar-width: thin;
}

.guidePage .guideTableWrap::-webkit-scrollbar {
    height: 8px;
}

.guidePage .guideTableWrap::-webkit-scrollbar-track {
    background: #edf4f8;
    border-radius: 999px;
}

.guidePage .guideTableWrap::-webkit-scrollbar-thumb {
    background: #9fb9cc;
    border-radius: 999px;
}

.guidePage .guideTable td {
    overflow-wrap: anywhere;
}

.guidePage .guideCompare__item {
    border-top: 4px solid #003366;
}

.guidePage .guideCompare__item:last-child {
    border-top-color: #f59e0b;
}

.guidePage .guideCautionList > li {
    position: relative;
    margin: 0;
    padding: 16px 17px 16px 46px;
    line-height: 1.7;
    list-style: none;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 10px;
}

.guidePage .guideCautionList > li::before {
    position: absolute;
    top: 16px;
    left: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: #fff;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1;
    content: "!";
    background: #d97706;
    border-radius: 50%;
}

.guidePage .guideFaq__list details:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 900px) {
    .guidePage {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.85;
    }

    .guideIntro {
        margin-bottom: 26px;
        padding: 24px 18px;
        border-radius: 10px;
    }

    .guideIntro h1 {
        margin-bottom: 14px;
        padding-left: 13px;
        font-size: 23px;
        font-size: 2.3rem;
        border-left-width: 5px;
    }

    .guideIntro__lead {
        font-size: 15px;
        font-size: 1.5rem;
    }

    .guideSummary {
        margin-bottom: 26px;
        padding: 18px 14px;
    }

    .guideSummary h2 {
        font-size: 19px;
        font-size: 1.9rem;
    }

    .guideSummary__list > div {
        display: block;
    }

    .guideSummary__list dt,
    .guideSummary__list dd {
        width: 100%;
        padding: 11px 12px;
    }

    .guideSummary__list dt {
        border-right: 0;
        border-bottom: 1px solid #dbe7ef;
    }

    .guideToc {
        margin-bottom: 34px;
        padding: 18px 16px;
    }

    .guideToc__title {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .guideSection {
        margin-bottom: 40px;
        scroll-margin-top: 76px;
    }

    .guideSection > h2 {
        margin-bottom: 17px;
        padding: 11px 13px;
        font-size: 19px;
        font-size: 1.9rem;
    }

    .guideSection > h3,
    .guideSection > div > h3,
    .guideSection > .guideNote > h3,
    .guideSection > .guideCaution > h3 {
        margin-top: 24px;
        font-size: 17px;
        font-size: 1.7rem;
    }

    .guideSection > .guideNote > h3,
    .guideSection > .guideCaution > h3,
    .guideSection > .guideExample > h3,
    .guideSection > .guideNote > h4,
    .guideSection > .guideCaution > h4,
    .guideSection > .guideExample > h4 {
		margin: 0 0 12px;
		padding: 0 0 8px 20px;
		background: transparent;
		border: 0;
		border-bottom: 1px solid #fed7aa;
	}

    .guideSection > .guideNote > h3,
    .guideSection > .guideCaution > h3,
    .guideSection > .guideExample > h3,
    .guideSection > .guideNote > h4,
    .guideSection > .guideCaution > h4,
    .guideSection > .guideExample > h4 {
		font-size: 16px;
		font-size: 1.6rem;
	}

    .guideCheckList,
    .guideCautionList,
    .guideCompare {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .guideCheckList section,
    .guideCautionList section,
    .guideCompare__item {
        padding: 17px 15px;
    }

    .guideCheckList > li {
        min-height: 54px;
        padding: 13px 14px 13px 48px;
    }

    .guideCheckList > li::before {
        left: 14px;
        width: 23px;
        height: 23px;
        font-size: 14px;
        font-size: 1.4rem;
    }

    .guideTableWrap {
        position: relative;
        margin: 18px 0;
        padding-bottom: 5px;
    }

    .guideTable {
        min-width: 600px;
        font-size: 13px;
        font-size: 1.3rem;
    }

    .guideTable th,
    .guideTable td {
        padding: 10px 11px;
    }

    .guideChecklistPage .guideTable tbody > tr > td:first-child {
        width: 44px;
        min-width: 44px;
        padding-right: 6px;
        padding-left: 6px;
    }

    .guideNote {
        padding: 15px 14px;
    }

    .guideMore {
        text-align: left;
    }

    .guideMore a {
        display: block;
        width: 100%;
        padding: 10px 14px;
        text-align: center;
    }

    .guideFlow > li {
        display: block;
        padding: 17px 15px;
    }

    .guideFlow > li:not(:last-child):after {
        left: 38px;
    }

    .guideFlow__number {
        display: inline-block;
        margin-bottom: 10px;
    }

    .guideBulletList {
        padding: 15px 14px 15px 34px;
    }

    .guideNumberList {
        gap: 10px;
        margin: 18px 0;
    }

    .guideNumberList > li {
        min-height: 54px;
        padding: 14px 14px 14px 54px;
    }

    .guideNumberList > li::before {
        left: 14px;
        width: 26px;
        height: 26px;
        font-size: 13px;
        font-size: 1.3rem;
    }

    .guideLinkGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .guideLinkGrid a {
        min-height: 54px;
        padding: 9px 8px;
        font-size: 13px;
        font-size: 1.3rem;
    }

    .guideFaq__list summary {
        padding: 14px 44px 14px 14px;
    }

    .guideFaq__list details p {
        padding: 0 14px 15px;
    }

    .guideFinalCta {
        margin-top: 40px;
        padding: 26px 16px;
    }

    .guideFinalCta h2 {
        font-size: 20px;
        font-size: 2rem;
    }

    .guideFinalCta__button a {
        width: 100%;
        min-width: 0;
        padding: 12px 16px;
    }

    .guideEditorialNote {
        padding: 15px 14px;
    }

    .affiliateCta {
        margin: 34px 0 40px;
        padding: 21px 16px;
        scroll-margin-top: 76px;
    }

    .affiliateCta--consultation {
        margin-bottom: 0;
    }

    .affiliateCta .affiliateCta__title {
        font-size: 19px;
        font-size: 1.9rem;
    }

    .affiliateCta__guide {
        padding: 14px;
    }

    .affiliateCta__choices {
        grid-template-columns: 1fr;
        gap: 12px;
        margin: 18px 0;
    }

    .affiliateCta__choices--virtualOffice > .affiliateCta__choice:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .affiliateCta__choice {
        padding: 16px 14px;
    }

    .affiliateCta__choice.affiliateCta__choice--expert {
        display: flex;
        grid-column: auto;
        gap: 0;
        padding: 16px 14px;
    }

    .affiliateCta__choice--expert .affiliateCta__benefits {
        margin-bottom: 17px;
    }

    .affiliateCta__expertAction {
        max-width: none;
    }

    .affiliateCta__benefits {
        margin-bottom: 17px;
    }

    .affiliateCta__linkSlot > a {
        min-height: 50px;
        padding: 10px 12px;
    }

    .affiliateFloat {
        bottom: max(8px, env(safe-area-inset-bottom));
        gap: 7px;
        width: calc(100% - 16px);
        padding: 7px;
        border-radius: 10px;
    }

    .affiliateFloat .affiliateFloat__link {
        padding: 9px 8px;
        font-size: 12px;
        font-size: 1.2rem;
        white-space: nowrap;
    }

    .affiliateFloat__close {
        padding: 7px 5px;
        font-size: 11px;
        font-size: 1.1rem;
        white-space: nowrap;
    }

    .accountingPage .guideTable {
        margin: 18px 0;
        padding-bottom: 5px;
    }

    .accountingPage .guideTable table {
        min-width: 600px;
        font-size: 13px;
        font-size: 1.3rem;
    }

    .accountingPage .guideTable th,
    .accountingPage .guideTable td {
        padding: 10px 11px;
    }

    .accountingPage.guideChecklistPage .guideTable tbody > tr > td:first-child {
        width: 44px;
        min-width: 44px;
        padding-right: 6px;
        padding-left: 6px;
    }

    .accountingPage .guideFlow li {
        padding: 17px 15px 17px 64px;
    }

    .accountingPage .guideFlow li::before {
        top: 17px;
        left: 15px;
        width: 34px;
        height: 34px;
    }

    .accountingPage .guideFlow li:not(:last-child)::after {
        left: 31px;
    }

    .accountingPage .guideCautionList > li {
        padding: 14px 14px 14px 42px;
    }

    .accountingPage .guideCautionList > li::before {
        top: 14px;
        left: 14px;
    }

    .accountingPage .guideFAQ summary {
        padding: 14px 44px 14px 14px;
    }

    .accountingPage .guideFAQ details p {
        padding: 0 14px 15px;
    }

    .corporateCardPage .guideCompare__item {
        border-top-width: 3px;
    }

    .corporateCardPage .guideCautionList > li {
        padding: 14px 14px 14px 44px;
    }

    .corporateCardPage .guideCautionList > li::before {
        top: 14px;
        left: 14px;
        width: 19px;
        height: 19px;
        font-size: 12px;
        font-size: 1.2rem;
    }

    .companyWebsitePage .guideCompare__item {
        border-top-width: 3px;
    }

    .companyWebsitePage .guideCautionList > li {
        padding: 14px 14px 14px 44px;
    }

    .companyWebsitePage .guideCautionList > li::before {
        top: 14px;
        left: 14px;
        width: 19px;
        height: 19px;
        font-size: 12px;
        font-size: 1.2rem;
    }

    .areaGuidePage .guideCompare__item {
        border-top-width: 3px;
    }

    .areaGuidePage .guideCautionList > li {
        padding: 14px 14px 14px 44px;
    }

    .areaGuidePage .guideCautionList > li::before {
        top: 14px;
        left: 14px;
        width: 19px;
        height: 19px;
        font-size: 12px;
        font-size: 1.2rem;
    }

    .areaGuidePage #area-list .guideLinkGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .areaGuidePage #area-list .guideLinkGrid a {
        min-height: 76px;
        padding: 13px 8px 30px;
        border-top-width: 3px;
    }

    .areaGuidePage #area-list .guideLinkGrid a:last-child {
        grid-column: 1 / -1;
    }

    .guidePage .guideCompare__item {
        border-top-width: 3px;
    }

    .guidePage .guideCautionList > li {
        padding: 14px 14px 14px 44px;
    }

    .guidePage .guideCautionList > li::before {
        top: 14px;
        left: 14px;
        width: 19px;
        height: 19px;
        font-size: 12px;
        font-size: 1.2rem;
    }
}


/* 本文内リストの共通表示
--------------------------------------------------------------------------------------------------------------------*/
.aboutSection ul,
.contactNotes,
.topCompare__item ul,
.guideBulletList,
.guideCompare ul {
    list-style: disc outside;
}

.aboutSection ol,
.guideToc ol {
    list-style: decimal outside;
}

.aboutSection ul,
.aboutSection ol {
    margin: 16px 0;
    padding-left: 1.6em;
}

.aboutSection li {
    margin-bottom: 8px;
    line-height: 1.75;
}

.aboutSection li:last-child {
    margin-bottom: 0;
}

.aboutSection li::marker,
.contactNotes li::marker,
.topCompare__item li::marker,
.guideBulletList li::marker,
.guideCompare li::marker,
.guideToc li::marker {
    color: #f59e0b;
    font-weight: bold;
}

@media screen and (max-width: 900px) {
    .aboutSection ul,
    .aboutSection ol {
        padding-left: 1.5em;
    }

    .guideToc ol {
        padding-left: 1.6em;
    }
}

/* 会社設立前に決めること：次に読む記事
--------------------------------------------------------------------------------------------------------------------*/
#before-next .guideLinkGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

#before-next .guideLinkGrid a {
    position: relative;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    min-height: 118px;
    padding: 18px 52px 18px 20px;
    box-sizing: border-box;
    text-align: left;
    font-weight: normal;
    background: #fff;
    border-top: 4px solid #f59e0b;
    box-shadow: 0 4px 12px rgba(0, 51, 102, 0.08);
}

#before-next .guideLinkGrid a::after {
    position: absolute;
    top: 50%;
    right: 20px;
    color: #d94b00;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1;
    content: "\2192";
    transform: translateY(-50%);
}

#before-next .guideLinkGrid strong,
#before-next .guideLinkGrid span {
    display: block;
    width: 100%;
    word-break: normal;
    overflow-wrap: anywhere;
}

#before-next .guideLinkGrid strong {
    margin-bottom: 7px;
    color: #003366;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.45;
}

#before-next .guideLinkGrid span {
    color: #40576a;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.7;
}

#before-next .guideLinkGrid a:hover {
    background: #f8fbfd;
    border-color: #9fb9cc;
    border-top-color: #f59e0b;
    box-shadow: 0 6px 16px rgba(0, 51, 102, 0.12);
}

@media screen and (max-width: 767px) {
    #before-next .guideLinkGrid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    #before-next .guideLinkGrid a {
        min-height: auto;
        padding: 15px 44px 15px 16px;
    }

    #before-next .guideLinkGrid a::after {
        right: 16px;
        font-size: 20px;
        font-size: 2rem;
    }

    #before-next .guideLinkGrid strong {
        font-size: 16px;
        font-size: 1.6rem;
    }

    #before-next .guideLinkGrid span {
        font-size: 14px;
        font-size: 1.4rem;
    }
}
