@charset "UTF-8";
/********************************************************************************

common.css

********************************************************************************/
/*============================================================
 css変数
*============================================================*/
:root {
    --common-vh: 100vh;                         /* jsで変動 */

	--common-inner-max-width: 1128px;           /* 通常サイト幅 */
	--common-inner-max-width-wide: 100%;      /* ワイドサイト幅 */
	--common-inner-padding: 24px;               /* 通常サイト幅内余白 */
	--common-inner-padding-wide: 24px;          /* ワイドサイト幅内余白 */

    --common-color-text: #353535;           /* 基本テキスト色 */
    --common-color-main: #029FE4;           /* メイン色 */
    --common-color-sub: #FDFF00;            /* サブ色 */
    --common-color-background1: #E2F6FE;       /* 背景色1 */
    --common-color-background2: #FB3D53;       /* 背景色2 */
    --common-color-background3: #0F367A;       /* 背景色3 */
    --common-color-accent: #FB3D53;            /* アクセント色 */
    --common-color-attention: #FF451D;      /* 注意色 */

    --common-font-family: 'Noto Sans JP', sans-serif;
    --common-font-family-en: 'Lato', sans-serif;
    --common-font-family-sub: 'Noto Serif', serif;

    --common-header-height: 0;                  /* jsで変動 */
    --common-footer-height: 0;                  /* jsで変動 */
}

body {
    --inner-max-width: var(--common-inner-max-width);
    --inner-padding: var(--common-inner-padding);
}

/*============================================================
 system
*============================================================*/
/* pc-sp display switch
---------------------------------------- */
.forPC {
    display: inherit;
}
.forSP {
    display: none;
}

/*============================================================
 format
*============================================================*/
/* ベース
---------------------------------------- */
html {
    display: block;
    background-color: #fff;
}
body {
    width: 100%;
    font-family: var(--common-font-family);
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
	line-height: 2;
    color: var(--common-color-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding: 0 0 0 0;
	position: relative;
}
*[data-font="en"] {
    font-family: var(--common-font-family-en); 
}

/* レイアウト
---------------------------------------- */
#main-contents {
    width: 100%;
	padding-top: 112px;
	overflow: hidden;
}
.archive #main-contents,
.single #main-contents {
	margin-bottom: 80px;
}

/* コンテンツ内
---------------------------------------- */
h1,h2,h3 {
	font-weight: bold;
	color: var(--common-color-main);
	line-height: 1.6;
}
h1 {
	font-size: 40px;
	font-family: var(--common-font-family-sub);
}
h2 {
	font-size: 32px;
	margin-bottom: 24px;
}
h3 {
	font-size: 24px;
	margin-bottom: 16px;
}
h4 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 16px;
}

.section {
    margin-bottom: 64px;
}
.section:last-child {
    margin-bottom: 0;
}
.inner {
    width: 100%;
    max-width: var(--inner-max-width);
    padding: 0 var(--inner-padding);
    margin: 0 auto;
}

main .block {
    margin-bottom: 64px!important;
}
main .block:last-child {
    margin-bottom: 0;
}
main .block > *:not(h1, h2, h3, h4) {
    margin-bottom: 32px;
	overflow-wrap: break-word;
}
main .block > *:last-child {
    margin-bottom: 0;
}
main .block .block-title {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.6;
	color: var(--common-color-main);
}
main .block .block-title-low {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6;
	color: var(--common-color-main);
}
main .block .parts-boxes {
	gap: 40px;
}
main .block .parts-boxes > * {
	margin-bottom: 0;
}
main .block .parts-boxes > .img {
	width: 42%;
}
main .block .parts-boxes > .contents {
	width: 54%;
}
main .block .parts-boxes > .contents *:not(h1, h2, h3, h4) {
	margin-bottom: 32px;
}
main .block .parts-boxes > .contents *:last-child {
	margin-bottom: 0;
}


p {}
img {
    max-width: 100%;
    height: auto;
}
svg {
    max-width: 100%;
    height: auto;    
}
span {
    font-weight: inherit;
}
a[href^="tel:"] {
    pointer-events: none;
}
strong {}
.attention {
    font-size: 12px;
    line-height: 160%;
    color: var(--common-color-attention);
}
small {
	font-size: 12px!important;
	font-weight: bold;
}
.notice {
    font-size: 12px;
    line-height: 160%;
	 margin: 10px 0 14px;
}
.list-date {
    font-size: 12px;
    line-height: 160%;
}
dl.table > p {
	font-weight: bold;
	font-size: 18px;
	margin-bottom: 16px;
}
dl.table > div {
	padding-bottom: 16px;
	border-bottom: 1px solid #999999;
	margin-bottom: 16px;
}
dl.table dt {
	float: left;
	font-weight: bold;
}
dl.table dd {
	margin-left: 260px;
}


/*============================================================
 ページヘッダー(下層)
*============================================================*/
#page-header {
	margin-bottom: 80px;
}
#page-header.unique {
	padding-bottom: 150px;
	margin-bottom: 0;
}
#page-header.unique .page-title {
	max-width: 560px;
	min-height: 192px;
}
.single #page-header .page-title {
	margin-bottom: 16px;
}
#page-header .inner {
	position: relative;
}
#page-header .tag {
	color: var(--common-color-main);
	background: var(--common-color-sub);
	display: inline-block;
	line-height: 1.6;
	border-radius: 8px;
	padding: 8px 16px;
	margin-bottom: 24px;
}
.single #page-header .tag {
	font-size: 14px;
	padding: 2px 8px;
	margin-bottom: 0;
}
.single #page-header .date {
	font-size: 12px;
	color: var(--common-color-main);
}
#page-header .img {
	position: absolute;
	z-index: -1;
	top: -92px;
	right: calc(50% - 450px);
	max-width: 370px;
}
#page-header .img:before {
	position: absolute;
	content: "";
	background: url(../images/common/page-header-dots.svg);
	background-size: contain;
	background-repeat: no-repeat;
	top: 0;
	right: -88px;
	width: 178px;
	height: 232px;
}

/*============================================================
 パンくずリスト
*============================================================*/
/* TOPページでは非表示
---------------------------------------- */
#page-top #breadcrumb {
    display: none;
}

/* 下層ページでは表示
---------------------------------------- */
#breadcrumb {
    margin: 32px 0 48px 0;
	color: var(--common-color-main);
}
#breadcrumb ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 40px;
    line-height: 140%;
}
#breadcrumb li {
	position: relative;
}
#breadcrumb li:not(:first-child):before {
	position: absolute;
	content: "";
	background: url(../images/common/icon-arrow-right-bl.svg) no-repeat;
	background-size: contain;
	width: 24px;
	height: 24px;
	top: 0;
	left: -30px;
}
#breadcrumb li a {
    text-decoration-line: underline;
}

/*============================================================
 ページング
*============================================================*/
/* bones_page_navi使用時
---------------------------------------- */
.pagination {
    margin-top: 80px;
}
.pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    width: fit-content;
    margin: 0 auto;
    gap: 8px;
}
.pagination .page-numbers li > * {
    display: block;
    width: 32px;
    height: 32px;
    box-sizing: border-box;
    font-size: 12px;
    line-height: 32px;
    text-align: center;
}
.pagination .page-numbers li > a {
    background-color: #F5F5F5;
    border-radius: 2px;
}
.pagination .page-numbers li > .current {
    background-color: transparent;
    font-weight: bold;
}
.pagination .page-numbers li > a.prev,
.pagination .page-numbers li > a.next {
	display: none;
}
.pagination .page-numbers li > *.page-numbers.dots {
    background-color: transparent;
}

/*============================================================
 共通ブロック
*============================================================*/
/* 要素幅超スクロール
---------------------------------------- */
.block-wscroll {
    width: calc(100vw - ((100vw - 100%) / 2));
    overflow-x: auto;
}
.block-wscroll .block-wscroll-inner {
    width: max-content;
    padding: 0 var(--inner-padding) 16px 0;
}
.block-wscroll .block-wscroll-inner > * {
    width: auto;
    white-space: nowrap;
}

/* 共通設定
---------------------------------------- */
.block-common .inner > * {
	margin-bottom: 32px;
}
.block-common .inner > h2 {
	margin-top: 80px;
}
.block-common .inner > h3 {
	margin-top: 56px;
}
.block-common .inner > .parts-btn {
	margin-top: 80px;
}
.block-common .inner ul,
.block-common .inner ol {
	background: #F5F5F5;
	border-radius: 8px;
	padding: 24px 24px 24px 40px;
}
.block-common .inner ul li {
	list-style-type: disc;
	margin-bottom: 16px;
}
.block-common .inner ol li {
	list-style-type: decimal;
	margin-bottom: 16px;
}
.block-common .inner ul ol,
.block-common .inner ol ul {
	padding-left: 16px;
	padding-top: 16px;
	padding-bottom: 0;
}
.block-common .inner ul li ol li {
	list-style-type: decimal;
}
.block-common .inner ol li ul li {
	list-style-type: disc;
}
.block-common .inner ul li:last-child,
.block-common .inner ol li:last-child {
	margin-bottom: 0;
}
.block-common .inner ul li a,
.block-common .inner ol li a{
	text-decoration: underline;
	color: var(--common-color-main);
}
.block-common .inner ul > p {
	margin-left: -20px;
	font-weight: bold;
	margin-bottom: 16px;
}
.block-common .inner dl > div {
	padding-bottom: 16px;
	border-bottom: 1px solid #999999;
	margin-bottom: 16px;
}
.block-common .inner dl dt {
	float: left;
	font-weight: bold;
}
.block-common .inner dl dd {
	margin-left: 260px;
}
.block-common .inner dl dd a {
	text-decoration: underline;
	color: var(--common-color-main);
}
.block-common .inner > img {
	border-radius: 24px;
	overflow: hidden;
}
.block-common .inner > img.size-large,
.block-common .inner > img.size-full {
	width: 100%;
}
.block-common .inner > p img {
	border-radius: 24px;
	overflow: hidden;
}
.block-common .inner > p img.size-large,
.block-common .inner > p img.size-full {
	margin-top: 32px;
	width: 100%;
}
.block-common .inner .wp-caption {
	width: 100%!important;
}
.block-common .inner .wp-caption .wp-caption-text {
	font-size: 14px;
	color: #B4B4B4;
	margin-top: 12px;
}
.block-common .inner p a {
	text-decoration: underline;
	color: var(--common-color-main);
}
.block-common .inner p .color {
	font-weight: bold;
	color: var(--common-color-main);
}
.block-common .inner p strong {
	font-weight: bold;
}
.block-common .inner table td {
	vertical-align:middle;
	padding: 8px 0;
} 
.block-common .inner table td:first-child {
	font-weight: bold;
}
.block-common .inner table tr {
	border-bottom: 1px solid #999999;
}
.block-common .su-button-center a {
	text-decoration: underline;
}

/* リンク
---------------------------------------- */
.block-link {
	gap: 40px;
	flex-direction: column;
}
.block-link .item {
	padding: 24px;
	background: #fff;
    border-radius: 24px;
    overflow: hidden;
	transition: all .3s;
	gap: 40px;
}
.block-link .item:hover {
	opacity: 0.7;
}
.block-link .item-img {
	width: 160px;
	height: 160px;
	border-radius: 8px;
	overflow: hidden;
}
.block-link .item-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.block-link .item-contents {
	width: calc(100% - 200px);
	text-align: left;
}
.block-link .item-contents h3 {
	margin-bottom: 8px;
}
.block-link .item-contents p {
	font-size: 14px;
	color: #B4B4B4;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* コラム
---------------------------------------- */
.block-column {
    --gap: 56px;
    --col: 4;
    gap: var(--gap);
}
.block-column .item {
    display: block;
    width: calc((100% - var(--gap) * (var(--col) - 1)) / var(--col));
    border-radius: 24px;
	height: 228px;
	position: relative;
    overflow: hidden;
	transition: all .3s;
	background-size: cover;
	background-position: center center;
}
.block-column .item:hover {
	opacity: 0.8;
}
.block-column .item .info {
	position: absolute;
	padding: 16px;
	left: 0;
	bottom: 0;
	line-height: 1;
}
.block-column .item p {
	background: var(--common-color-sub);
	color: var(--common-color-main);
	font-size: 14px;
	padding: 6px;
	font-weight: bold;
	display: inline-block;
}
.block-column .item h3 {
	color: var(--common-color-main);
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 0;
}
.block-column .item h3 span {
	background: #fff;
	padding: 6px;
	display: inline-block;
}

/* お知らせ
---------------------------------------- */
.block-news .item {
	position: relative;
	display: block;
	padding: 16px 32px 16px 0;
	margin-bottom: 8px;
}
.block-news .item:last-child {
	margin-bottom: 0;
}
.block-news .item:before {
	position: absolute;
	content: "";
	background: url(../images/common/icon-arrow-right-bl.svg) no-repeat;
	background-size: contain;
	width: 24px;
	height: 24px;
	top: 50%;
	transform: translatey(-50%);
	right: 0;
}
.block-news .item .info {
	gap: 24px;
	line-height: 1;
	margin-bottom: 8px;
}
.block-news .item .info-date {
	font-size: 14px;
}
.block-news .item .info-cat {
	font-size: 14px;
	font-weight: bold;
	color: var(--common-color-main);
	background: var(--common-color-sub);
	display: inline-block;
	padding: 4px 6px;
}
.block-news .item .title {
	font-size: 16px;
	margin-bottom: 0;
	color: var(--common-color-main);
}

/* キャンペーン
---------------------------------------- */
.block-campaign .slick-arrow {
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	left: 976px;
	cursor: pointer;
}
.block-campaign .slick-prev {
	display: none;
}
.block-campaign .item {
	width: 311px;
	margin: 0 20px;
	border-radius: 24px;
	overflow: hidden;
}
.block-campaign .item a {
	transition: all .3s;
}
.block-campaign .item a:hover {
	opacity: 0.7;
}
.block-campaign .item img {
	width: 100%;
}

/* 共通フレーム
---------------------------------------- */
.block-frame {
	background: #fff;
	padding: 0 32px 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	border: 4px solid var(--common-color-sub);
	border-radius: 24px;
}
.block-frame h3 {
	background: var(--common-color-sub);
	border-radius: 24px;
	color: var(--common-color-main);
	display: inline-block;
	line-height: 1.2;
	padding: 14px 22px;
	margin-top: -26px;
	margin-bottom: 16px;
}


/*============================================================
 下層ページ下部リンクエリア
*============================================================*/
#other-link {
	background: var(--common-color-background1) url(../images/common/other-link-bg-nami.svg) no-repeat top center / 100% auto;
	padding: 80px 0;
}
#other-link .block {
	margin-bottom: 100px;
}
#other-link .block:last-child {
	margin-bottom: 0!important;
}
#other-link .block h2 {
	position: relative;
	z-index: 1;
	margin-bottom: 40px;
}
#other-link .block h2:before {
	position: absolute;
	content: "";
	background: url(../images/common/other-link-title-bg.svg) no-repeat;
	background-size: contain;
	width: 62px;
	height: 80px;
	top: -16px;
	left: -12px;
	z-index: -1;
}
/*#other-link .block .feature-list {
	gap: 40px;
	margin-bottom: 48px;
}
#other-link .block .feature-list .item {
	width: 48%;
	transition: all .3s;
}
#other-link .block .feature-list .item:hover {
	opacity: 0.7;
}
#other-link .block .feature-list .item .img {
	width: 100%;
	margin-bottom: 16px;
}
#other-link .block .feature-list .item .info h3 {
	line-height: 2;
	margin-bottom: 8px;
}
#other-link .block .feature-list .item .info p {
	font-size: 14px;
	color: #666666;
	line-height: 1.6;
}*/
#other-link .block .link {
	gap: 32px;
	transition: all .3s;
	margin-bottom: 48px;
}
#other-link .block .link:hover {
	opacity: 0.7;
}
#other-link .block .link .img {
	width: 344px;
	border-radius: 24px;
	overflow: hidden;
}
#other-link .block .link .info {
	width: calc(100% - 376px);
}
#other-link .block .link .info h3 {
	margin-bottom: 8px;
}
#other-link .block .link .info p {
	font-size: 14px;
	color: #666666;
	line-height: 2;
}
#other-link .block .banner {
	width: 100vw;
    margin-left: calc(50% - 50vw);
}
#other-link .block .banner-wrap {
	margin-left: calc(50% - 542px);
}

/*============================================================
 価格・プラン
*============================================================*/
#price-list .leading {
	background: #fff;
	border-radius: 24px;
	padding: 9px 24px 16px;
	font-weight: bold;
	color: var(--common-color-main);
	max-width: 795px;
	margin: 0 auto 40px;
	position: relative;
	line-height: 1;
}
#price-list .leading:before {
	content: "超特価";
	position: absolute;
	background: var(--common-color-sub);
	letter-spacing: -0.08em;
	font-weight: bold;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	top: -40px;
	right: 150px;
	text-align: center;
	padding-top: 25px;
}
#price-list .leading p {
	font-size: 28px;
	font-weight: bold;
}
#price-list .leading p > span {
	font-size: 64px;
	font-family: var(--common-font-family-en);
	color: var(--common-color-accent);
}
#price-list .leading p > span small {
	font-size: 24px!important;
	font-weight: bold;
}
#price-list .list {
	gap: 48px;
	align-items: baseline;
	flex-wrap: nowrap;
}
#price-list .item {
	width: 31%;
	border-radius: 24px;
}
#price-list .item .title {
	color: #fff;
	position: relative;
	font-size: 16px;
	font-weight: bold;
	height: 52px;
	line-height: 52px;
	text-align: center;
	border-radius: 24px 24px 0 0;
	margin-bottom: 0;
}
#price-list .item .title span {
	position: absolute;
	background: var(--common-color-sub);
	color: var(--common-color-main);
	letter-spacing: -0.08em;
	font-weight: bold;
	width: 64px;
	height: 64px;
	line-height: 1;
	font-size: 16px;
	border-radius: 50%;
	top: -10px;
	right: 10px;
	text-align: center;
	padding-top: 25px;
}
#price-list .item01 .title {
	background: var(--common-color-main);
}
#price-list .item02 .title {
	background: var(--common-color-background2);
}
#price-list .item03 .title {
	background: var(--common-color-background3);
}
#price-list .item .contents {
	background: #fff;
	padding: 24px 24px 8px;
	color: var(--common-color-text);
	min-height: 345px;
	border-radius: 0 0 24px 24px;
	position: relative;
}
#price-list .item .contents .row {
	padding-bottom: 8px;
	border-bottom: 1px solid #E3E3E5;
	font-family: var(--common-font-family-en);
}
#price-list .item .contents .row:not(:first-child) {
	margin-top: 14px;
}
#price-list .item .contents .row .unit {
	font-size: 16px;
	line-height: 1;
	font-weight: bold;
	margin-bottom: 2px;
}
#price-list .item .contents .row .value {
	font-size: 32px;
	line-height: 1.4;
	font-weight: bold;
}
#price-list .item .contents .row .value .accent {
	color: var(--common-color-accent);
}
#price-list .item .contents .row .value .small {
	margin-left: 8px;
	font-size: 20px;
	font-family: var(--common-font-family);
}
#price-list .item .contents > p {
	text-align: center;
	font-weight: bold;
	margin: 16px 0 8px;
}
#price-list .item .contents > p span {
	color: var(--common-color-accent);
}
#price-list .item .parts-btn {
	margin-top: 16px;
	position: absolute;
	left: 50%;
	transform: translatex(-50%);
	width: 160px;
	bottom: 8px;
}
#price-list .item .parts-btn > * {
	font-size: 16px;
}

/*============================================================
 シュミレーション
*============================================================*/
#simulation {
	background: var(--common-color-background1);
	border-radius: 24px;
	padding: 40px;
	margin-bottom: 56px;
}
#simulation h3 {
	text-align: center;
	margin-bottom: 32px;
}
#simulation .radio {
	max-width: 768px;
	margin: 0 auto 24px;
	gap: 24px;
}
#simulation .select {
	max-width: 768px;
	margin: 0 auto 48px;
	gap: 24px;
}
#simulation .select .col {
	width: 240px;
}
#simulation .select .col .label {
	font-size: 12px;
	color: #97999C;
	font-weight: bold;
	margin-bottom: 4px;
}
#simulation .select .col .select-wrap {
	position: relative;
}
#simulation .select .col .select-wrap:before {
	content: "";
	position: absolute;
	background: url(../images/common/icon-arrow-bottom.svg) no-repeat;
	background-size: contain;
	width: 12px;
	height: 12px;
	top: 50%;
	transform: translatey(-50%);
	right: 10px;
}
#simulation .select .col select {
	border-radius: 8px;
	cursor: pointer;
	height: 40px;
	font-size: 14px;
	padding: 0 10px;
	border: 1px solid #94A3B8;
	background: #fff;
}
/* ラジオボタンを隠す */
#simulation  input[type=radio] {
	display: none;
}
#simulation label {
	cursor: pointer;
	letter-spacing: -0.04em;
	display: inline-block;
}
/* spanの左側にボタンを配置するスペースを作る */
#simulation  input[type=radio] + span {
	padding-left: 22px;
	display: inline-block;
	position: relative;
    line-height: 24px;
} 
/* 各パーツを作成 */
#simulation  input[type=radio] + span::after,
#simulation  input[type=radio] + span::before {
	content: '';
	display: block;
	position: absolute;
	border: 1px solid #CBD5E1;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	top: 5px;
	left: 0;
}  
/* after上書き */
#simulation  input[type=radio] + span::after {
	opacity: 0;
	width: 6px;
	height: 7px;
	background: url(../images/plan/icon-check.svg) no-repeat;
	background-size: contain;
	top: 10px;
	left: 5px;
	border: none;
}
/* checked状態 */
#simulation  input[type=radio]:checked + span::before {
	border: 1px solid var(--common-color-main);
	background: var(--common-color-main);
}
#simulation input[type=radio]:checked + span::after {
	opacity: 1;
}
#simulation #calcRs {
	margin-top: 32px;
	display: none;
	text-align: center;
}
#simulation #calcRs .parts-boxes {
	justify-content: center;
	gap: 24px;
}
#simulation #calcRs .parts-boxes .plan p {
	font-size: 18px;
	font-weight: bold;
	color: var(--common-color-main);
	text-align: center;
}
#simulation #calcRs .parts-boxes .price {
	font-size: 20px;
	color: var(--common-color-accent);
}
#simulation #calcRs .parts-boxes .price .wrap:first-child {
	margin-bottom: 8px;
}
#simulation #calcRs .parts-boxes .price .wrap label {
	font-size: 14px;
}
#simulation #calcRs .parts-boxes .price p {
	line-height: 1.2;
}
#simulation #calcRs .parts-boxes .price strong {
	font-weight: bold;
}
#simulation #calcRs .parts-boxes .price strong span {
	font-size: 48px;
	font-family: var(--common-font-family-en);
}
#simulation #calcRs .add-text {
	margin-top: 24px;
	font-size: 18px;
	font-weight: bold;
}
#simulation #calcRs.done {
	display: block;
}

/*============================================================
 アーカイブページのカテゴリー
*============================================================*/
#category {
	margin-bottom: 56px;
}
#category .list {
	background: var(--common-color-sub);
	gap: 8px 24px;
	padding: 16px 64px;
	border-radius: 16px;
}
#category .item {
}
#category .item.all {
	position: relative;
	margin-right: 24px;
}
#category .item.all:before {
	position: absolute;
	content: "";
	background: #878787;
	width: 1px;
	height: 16px;
	top: 9px;
	right: -24px;
}
#category .item h2 {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 0;
	font-weight: normal;
	color: var(--common-color-text);
}
#category .item a {
	display: block;
}
#category .item.current a {
	color: var(--common-color-main);
	font-weight: bold;
}
#category .item a:hover {
	color: var(--common-color-main);
	font-weight: bold;
}


/*============================================================
 CTA
*============================================================*/
#cta .inner {
	background: var(--common-color-background1);
	text-align: center;
	padding: 40px 40px 48px;
	border-radius: 16px;
}
#cta .inner > *:not(h2,h3,h4,:last-child) {
	margin-bottom: 40px;
}
#cta h2 {
	display: inline-block;
	padding: 16px 64px;
	background: #fff;
	border-radius: 24px;
	margin-bottom: 40px;
}
#cta .lead {
	color: var(--common-color-main);
	font-size: 24px;
	margin-bottom: 40px;
	font-weight: bold;
}
#cta .accent {
	font-size: 40px;
	color: var(--common-color-accent);
	font-weight: bold;
	line-height: 1.4;
}
#cta .notes {
	color: var(--common-color-main);
	line-height: 1.6;
	text-align: left;
}

/*============================================================
 目次
*============================================================*/
#toc_container {
	background: var(--common-color-background1);
	padding: 24px 16px;
	border-radius: 8px;
}
#toc_container .toc_title {
	font-size: 12px;
	margin-bottom: 16px;
	color: var(--common-color-main);
	font-weight: bold;
	padding-bottom: 12px;
	line-height: 1;
	border-bottom: 1px solid #fff;
}
#toc_container ul {
	background: var(--common-color-background1);
	padding: 0;
}
#toc_container ul li {
	list-style: none;
	color: var(--common-color-main);
	margin-bottom: 16px;
}
#toc_container ul li a {
	text-decoration: underline;
	font-size: 18px;
}
#toc_container li ul {
	margin-top: 16px;
	padding-left: 32px;
}

/*============================================================
 クリップボードコピー用メッセージ
*============================================================*/
#clipbord-msg {
    width: 100%;
    position: fixed;
    bottom: -190px;
    left: 0;
    z-index: 999999;
	-webkit-transition: bottom 0.5s;
    transition: bottom 0.5s;
}
#clipbord-msg .msg {
    width: fit-content;
    padding: 12px 32px;
	background: var(--common-color-background1);
    border-radius: 100px;
	font-weight: bold;
    letter-spacing: 0.04em;
    color: var(--common-color-main);
    margin: 0 auto;
}
#clipbord-msg.copySuccess,
#clipbord-msg.copyError {
    bottom: 56px;
}

/*============================================================
 モーダルカスタム(Modaal.js)
 ※z-index指定　ヘッダー < .modaal-overlay < .modaal-wrapper
*============================================================*/
.modaal-wrapper {
    z-index: 999999;
}
.modaal-overlay {
    z-index: 99999;
}

/*============================================================
 システムエラー　404
*============================================================*/
#page-system-error #sec-system-error {
    height: max(600px, calc(var(--common-vh) - var(--common-footer-height) - 64px));
    padding: 200px 0 0 0;
    text-align: center;
    background-color: #fff;
    border-radius: 4px;
	margin-bottom: 80px;
}

#page-system-error #sec-system-error .system-error-num {
    font-weight: 900;
    font-size: 120px;
    line-height: 100%;
    letter-spacing: 0.04em;
    margin-bottom: 24px;
}

#page-system-error #sec-system-error .system-error-sts {
    font-weight: bold;
    font-size: 32px;
    line-height: 180%;
    margin-bottom: 24px;
}

#page-system-error #sec-system-error .system-error-lead {
    margin-bottom: 56px;
}
#page-system-error #sec-system-error .parts-btn {
    margin: 0 auto;
}


/*============================================================
 footer
*============================================================*/
#site-footer {
    background-color: var(--common-color-main);
    padding: 72px 0 64px;
    color: #fff;
}
#site-footer .main {
	gap: 40px;
	margin-bottom: 56px;
}

/* メニューリスト
---------------------------------------- */
#site-footer #fnav {
	width: calc(100% - 200px);
}
#site-footer #fnav .menu-list {
    gap: 24px;
    margin-bottom: 40px;
}
#site-footer #fnav .menu-list li {
	font-weight: bold;
}
#site-footer #fnav .menu-list li a {
	transition: all .3s;
}
#site-footer #fnav .menu-list li a:hover {
	opacity: 0.7;
}

/* ボタンリスト
---------------------------------------- */
#site-footer #fnav .btn-list {
	gap: 24px;
	margin-bottom: 40px;
}
#site-footer #fnav .btn-list .parts-btn a {
	width: 160px;
	padding: 12px 0;
}
#site-footer #fnav .btn-list .parts-btn a:hover {
	opacity: 0.7;
	background: #fff;
	border-color: #fff;
	color: var(--common-color-main)!important;
}

/* 外部リンクリスト
---------------------------------------- */
#site-footer #fnav .outer-link-list {
	gap: 32px;
}
#site-footer #fnav .outer-link-list li a {
	text-decoration: underline;
	transform: all .3s;
}
#site-footer #fnav .outer-link-list li a:hover {
	opacity: 0.7;
}
/* SNSリンク
---------------------------------------- */
#site-footer .sns-link {
	text-align: center;
	margin-bottom: 32px;
}

/* Copyright
---------------------------------------- */
#site-footer #copyright {
    font-size: 12px;
    line-height: 1.4;
    text-align: center;
}

@media screen and (max-width: 1200px) {
	#main-contents {
		padding-top: 54px;
	}
}


@media screen and (max-width: 1120px) {
	.block-campaign .slick-arrow {
		display: none!important;
	}
	.block-campaign .item {
		margin: 0 16px;
	}
}