@charset "utf-8";

/* 
component.css - 全サイト共通ライブラリ（資産）
プレフィックス：c-
編集者 人間：編集する（各サイトで使いまわすテンプレートに）
	   AI ：編集しない
役割：再利用可能なUI部品。ボタン、カード、CTA、ヒーロー、フォームなど。レスポンシブはこのファイル内で完結。
禁止：ページ依存スタイル
	 URL依存命名
	 p- の記述

1. 見出し（foundation.css)
2. テキスト
3. リンク
4. 横並びカラム
5. 表・チャート
6. メディア
*/


/* 2. テキスト https://v2.s-contigo.website/regulation/text */
.c-innerpage {
	color: var(--color-txt);
	border:1px solid var(--color-border);
	margin-left: 1rem;
	font-size: 80%;
	padding: 0 0.6rem 0.2rem;
	font-weight: normal;
}

/* 2-1 リード文 */
p.c-lead {
	font-size: 2.2rem;
}

/* 2-2 強調テキスト１ */
.c-st1 {
	max-width: 600px;
	margin: 0 auto;
}
.c-st1 p {
	color: var(--color-aside-titbg);
	text-align: center;
	font-size: 3.6rem;
	line-height: 10rem;
	letter-spacing: 0.4rem;
}
.c-st1 p span {
	display: block;
	font-weight: bold;
	position: relative;
}
.c-st1 p span::before {
	content: "";
	background-color: var(--color-deco-main);
	-webkit-mask: url(/images/img/coding/guide/left-square-brackets.svg) center/contain no-repeat;
	mask: url(/images/img/coding/guide/left-square-brackets.svg) center/contain no-repeat;
	width: 14px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 4px;
}
.c-st1 p span::after {
	content: "";
	background-color: var(--color-deco-main);
	-webkit-mask: url(/images/img/coding/guide/right-square-brackets.svg) center/contain no-repeat;
	mask: url(/images/img/coding/guide/right-square-brackets.svg) center/contain no-repeat;
	width: 14px;
	height: 100%;
	position: absolute;
	right: 0;
	top: 4px;
}

/* 2-3 強調テキスト２ */
.c-st2 {
	max-width: 600px;
	margin: 0 auto;
}
.c-st2 p {
	color: var(--color-aside-titbg);
	text-align: center;
	font-size: 3.6rem;
	line-height: 10rem;
	letter-spacing: 0.4rem;
}
.c-st2 p span {
	display: block;
	font-weight: bold;
	position: relative;
}
.c-st2 p span strong {
	background:linear-gradient(transparent 60%, var(--color-st2-marker) 60%);
	padding: 0 0.4rem;
}
.c-st2 p span::before {
	content: "/";
	position: absolute;
	left: 0;
	top: 48%;
	transform: translateY(-50%);
	font-size: 4.8rem;
	font-weight: normal;
}
.c-st2 p span::after {
	content: "/";
	position: absolute;
	right: 0;
	top: 48%;
	transform: translateY(-50%);
	font-size: 4.8rem;
	font-weight: normal;
}

/* 2-4 強調テキスト３ */
.c-st3 p {
	color: var(--color-aside-titbg);
	text-align: center;
	font-size: 3.6rem;
	line-height: 10rem;
	letter-spacing: 0.4rem;
}
.c-st3 p span {
	display: block;
	font-weight: bold;
	position: relative;
	isolation: isolate;
	padding: 1.6rem 1.6rem 2.4rem;
}
.c-st3 p span::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-color: var(--color-deco-main);
	-webkit-mask: url(/images/img/coding/guide/fukidashi.svg) center/contain no-repeat;
	mask: url(/images/img/coding/guide/fukidashi.svg) center/contain no-repeat;
}

/* 2-5 注意書き */
p.c-annotation {
	font-size: 1.4rem;
	line-height: 1.6;
	color: #999;
}

/* 2-6 ulリスト */
ul.c-listing {
	margin-left: 3rem;
	margin-bottom: 2.4rem;
}
ul.c-listing li {
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 1rem;
}

/* 2-7 olリスト */
ol.c-listing {
	margin-left: 3rem;
	margin-bottom: 2.4rem;
}
ol.c-listing li {
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 1rem;
}

/* 2-8 チェックリスト */
ul.c-checklist {
	list-style: none;
	margin-bottom: 2.4rem;
}
ul.c-checklist li {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 1.2rem;
}
ul.c-checklist li::before {
	content: "\f058";
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	color: var(--color-check-icon, #2fa84c);
	font-size: 2rem;
}
ul.c-checklist li:last-child {
	margin-bottom: 0;
}

/* 2-9 番号リスト1 */
ol.c-numlist1 {
	background: #f4f5f7;
	border-left: 0.6rem solid var(--color-numlist1-border, #4472d9);
	list-style: none;
	counter-reset: numlist1;
	padding: 2.4rem 3.2rem;
	margin-bottom: 2.4rem;
}
ol.c-numlist1 li {
	counter-increment: numlist1;
	color: var(--color-numlist-txt, #6b7fd7);
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 1rem;
}
ol.c-numlist1 li::before {
	content: counter(numlist1) ".";
}
ol.c-numlist1 li:last-child {
	margin-bottom: 0;
}

/* 2-10 番号リスト2 */
ol.c-numlist2 {
	background: #fff;
	border: 1px solid var(--color-numlist2-border, #7b9bd2);
	list-style: none;
	counter-reset: numlist2;
	padding: 3.2rem;
	margin-bottom: 2.4rem;
}
ol.c-numlist2 li {
	counter-increment: numlist2;
	display: flex;
	align-items: center;
	gap: 1.2rem;
	color: var(--color-numlist-txt, #6b7fd7);
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 1.6rem;
}
ol.c-numlist2 li::before {
	content: counter(numlist2);
	background: var(--color-numlist2-num-bg, #1d50b8);
	color: #fff;
	border-radius: 50%;
	width: 2.6rem;
	height: 2.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	font-size: 1.4rem;
}
ol.c-numlist2 li:nth-child(1)::before {
	background: var(--color-numlist2-step1, #a7c1ef);
}
ol.c-numlist2 li:nth-child(2)::before {
	background: var(--color-numlist2-step2, #7fa6e8);
}
ol.c-numlist2 li:nth-child(3)::before {
	background: var(--color-numlist2-step3, #4e82de);
}
ol.c-numlist2 li:nth-child(4)::before {
	background: var(--color-numlist2-step4, #3168d4);
}
ol.c-numlist2 li:last-child {
	margin-bottom: 0;
}

/* 2-11 必要書類1 */
.c-document1 {
	background: #fff;
	border-radius: 0.8rem;
	box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.1);
	padding: 3.2rem 4rem;
	margin-bottom: 2.4rem;
}
.c-document1 > p {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	color: var(--color-check-icon, #2fa84c);
	font-size: 2rem;
	font-weight: bold;
	border-bottom: 1px solid #ddd;
	padding-bottom: 1.6rem;
	margin-bottom: 2rem;
}
.c-document1 > p::before {
	content: "\f15c";
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	font-size: 2.4rem;
}
.c-document1 > ul {
	list-style: none;
}
.c-document1 > ul li {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 1.2rem;
}
.c-document1 > ul li::before {
	content: "\f058";
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	color: var(--color-check-icon, #2fa84c);
	font-size: 2rem;
}
.c-document1 > ul li:last-child {
	margin-bottom: 0;
}

/* 2-12 必要書類2 */
.c-document2 {
	display: flex;
	align-items: stretch;
	border: 1px solid #96242e;
	position: relative;
	padding: 4.8rem 4rem;
	margin-bottom: 2.4rem;
}
.c-document2 > p {
	position: absolute;
	top: -1.5rem;
	left: 50%;
	transform: translateX(-50%);
	background: #fff;
	color: #96242e;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	white-space: nowrap;
	padding: 0 2.4rem;
	margin-bottom: 0;
}
.c-document2::before {
	content: "\f07c";
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	color: #96242e;
	font-size: 4.8rem;
	background: #f2ebeb;
	width: 24rem;
	min-height: 24rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}
.c-document2 > ul {
	flex: 1;
	list-style: none;
	background: #faf6f6;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2.4rem 2.4rem 2.4rem 6rem;
}
.c-document2 > ul li {
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 1.2rem;
}
.c-document2 > ul li::before {
	content: "・";
}
.c-document2 > ul li:last-child {
	margin-bottom: 0;
}

/* 2-13 キャプションボックス1 */
.c-caption1 > p {
	background: var(--color-deco-main);
	color: #fff;
	text-align: center;
	font-weight: bold;
	padding: 0.8rem;
	margin-bottom: 0;
	border-radius: 0.5rem 0.5rem 0 0;
}
.c-caption1 > div {
	background: var(--color-subtlebg);
	padding: 2.4rem;
	border-radius: 0 0 0.5rem 0.5rem;
}
.c-caption1 > div ol,
.c-caption1 > div ul {
	margin-left: 3rem;
}
.c-caption1 > div li {
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 1rem;
}
.c-caption1 > div :last-child {
	margin-bottom: 0;
}

/* 2-14 キャプションボックス2 */
.c-caption2 > p {
	display: inline-block;
	background: var(--color-deco-main);
	color: #fff;
	font-weight: bold;
	padding: 0.6rem 2rem;
	border-radius: 0.5rem;
	position: relative;
	z-index: 1;
	margin: 0 0 -1.8rem 2rem;
}
.c-caption2 > div {
	background: var(--color-subtlebg);
	padding: 4rem 2.4rem 2.4rem;
	border-radius: 0.5rem;
}
.c-caption2 > div ol,
.c-caption2 > div ul {
	margin-left: 3rem;
}
.c-caption2 > div li {
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 1rem;
}
.c-caption2 > div :last-child {
	margin-bottom: 0;
}

/* 2-15 キャプションボックス3 */
.c-caption3 > p {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	color: var(--color-deco-main);
	font-weight: bold;
	margin-bottom: 1.2rem;
}
.c-caption3 > p::before,
.c-caption3 > p::after {
	content: "";
	height: 1px;
	background: var(--color-deco-main);
}
.c-caption3 > p::before {
	width: 2.4rem;
}
.c-caption3 > p::after {
	flex: 1;
}
.c-caption3 > div {
	padding: 0 0.4rem;
}
.c-caption3 > div ol,
.c-caption3 > div ul {
	margin-left: 3rem;
}
.c-caption3 > div li {
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 1rem;
}
.c-caption3 > div :last-child {
	margin-bottom: 0;
}

/* 2-16 blockquote 引用 */

/* 2-17 FAQ */
dl.c-faq dt {
    font-size: 2.2rem;
    line-height: 1.6;
    padding: 0 3px;
    display: flex;
    margin-bottom: 3px;
}
dl.c-faq dt span {
    border-radius: 10px;
    padding: 10px;
    position: relative;
    background: #f0f2f4;
    width: 80%;
}

dl.c-faq dt span::before {
    position: absolute;
    content: '';
    border-right: 15px solid #f0f2f4;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    top: 30px;
    left: -15px;
    transform: translateY(-50%);
}
dl.c-faq dt::before {
    content: "Q";
    font-size: 3.6rem;
    background: var(--color-faq-q-bg);
    color: #fff;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    margin-right: 10px;
}
dl.c-faq dd {
    margin-bottom: 5rem;
    line-height: 1.4;
    padding: 0 3px;
    display: flex;
    justify-content: flex-end;
}
dl.c-faq dd span {
    border-radius: 10px;
    padding: 10px;
    position: relative;
    background: #eee;
    width: 80%;
}
dl.c-faq dd span::before {
    position: absolute;
    content: '';
    border-left: 15px solid #eee;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    top: 30px;
    right: -15px;
    transform: translateY(-50%);
}
dl.c-faq dd::after {
    content: "A";
    font-size: 3.6rem;
    background: #999;
    color: #fff;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 10px;
}
dl.c-faq img{
	display: block;
}

/* 2-18 FAQ2 */
dl.c-faq2 > div {
	background: var(--color-subtlebg);
	padding: 2rem 2.4rem;
	margin-bottom: 1.6rem;
	border-radius: 0.5rem;
}
dl.c-faq2 dt {
	position: relative;
	padding-left: 5.2rem;
	min-height: 3.6rem;
	line-height: 1.6;
	font-weight: bold;
	margin-bottom: 1.2rem;
}
dl.c-faq2 dt::before {
	content: "Q";
	position: absolute;
	left: 0;
	top: -0.5rem;
	background: var(--color-faq-q-bg);
	color: #fff;
	border-radius: 50%;
	width: 3.6rem;
	height: 3.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: cambria, sans-serif;
}
dl.c-faq2 dd {
	position: relative;
	padding-left: 5.2rem;
	min-height: 3.6rem;
	line-height: 1.8;
}
dl.c-faq2 dd::before {
	content: "A";
	position: absolute;
	left: 0;
	top: -0.4rem;
	background: #fff;
	color: var(--color-txt);
	border: 1px solid var(--color-table-border);
	border-radius: 50%;
	width: 3.6rem;
	height: 3.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: cambria, sans-serif;
}

/* 2-19 FAQ3 */
details.c-faq3 {
	border-bottom: 1px solid var(--color-table-border);
}
details.c-faq3 summary {
	padding: 2rem 4rem 2rem 4.4rem;
	line-height: 1.6;
	font-weight: bold;
	cursor: pointer;
	list-style: none;
	position: relative;
}
details.c-faq3 summary::-webkit-details-marker {
	display: none;
}
details.c-faq3 summary::before {
	content: "Q";
	position: absolute;
	left: 0.4rem;
	top: 2.1rem;
	color: var(--color-deco-main);
	font-size: 2.4rem;
	font-weight: bold;
	font-family: cambria, sans-serif;
	line-height: 1;
}
details.c-faq3 summary::after {
	content: "\f078";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	right: 0.4rem;
	transition: transform 0.2s;
}
details.c-faq3[open] summary::after {
	transform: rotate(180deg);
}
details.c-faq3 > p {
	position: relative;
	padding: 0 4rem 2rem 4.4rem;
	line-height: 1.8;
	margin-bottom: 0;
}
details.c-faq3 > p::before {
	content: "A";
	position: absolute;
	left: 0.4rem;
	top: 0.4rem;
	color: var(--color-accent);
	font-size: 2.4rem;
	font-weight: bold;
	font-family: cambria, sans-serif;
	line-height: 1;
}

/* 2-20 FAQ4 */
details.c-faq4 {
	background: #fff;
	border: 1px solid var(--color-table-border);
	border-radius: 0.5rem;
	box-shadow: var(--shadow-sm);
	margin-bottom: 1.6rem;
}
details.c-faq4 summary {
	padding: 2rem 4.8rem 2rem 6rem;
	line-height: 1.6;
	font-weight: bold;
	cursor: pointer;
	list-style: none;
	position: relative;
}
details.c-faq4 summary::-webkit-details-marker {
	display: none;
}
details.c-faq4 summary::before {
	content: "Q";
	position: absolute;
	left: 2.4rem;
	top: 2.3rem;
	color: var(--color-txtlink);
	font-size: 2rem;
	font-weight: bold;
	font-family: cambria, sans-serif;
	line-height: 1;
}
details.c-faq4 summary::after {
	content: "\f078";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	right: 2.4rem;
	transition: transform 0.2s;
}
details.c-faq4[open] summary::after {
	transform: rotate(180deg);
}
details.c-faq4 > p {
	position: relative;
	padding: 0 4.8rem 2rem 6rem;
	line-height: 1.8;
	margin-bottom: 0;
}
details.c-faq4 > p::before {
	content: "A";
	position: absolute;
	left: 2.4rem;
	top: 0.6rem;
	color: var(--color-accent);
	font-size: 2rem;
	font-weight: bold;
	font-family: cambria, sans-serif;
	line-height: 1;
}

/* 2-21 LINE風対話 */
.c-chat {
	margin-bottom: 20px;
    position: relative;
}
.c-chat:before,
.c-chat:after{
    clear: both;
    content: "";
    display: block;
}
.c-chat.left p.img {
    float: left;
    margin-right: 20px;
    width: 60px;
    height: 60px;
}
.c-chat.right p.img {
    float: right;
    margin-left: 20px;
    width: 60px;
    height: 60px;
}
.c-chat p.img img{
    width: 100%;
    height: 100%;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    margin: 0;
}
.c-chat p.img span{
    margin-top:-4px;
    font-size: 1.1rem;
    text-align: center;
    display: block;
}
.c-chat div.txt {
    position: relative;
    padding: 10px;
    border: 1px solid;
    border-radius: 10px;
    max-width: -webkit-calc(100% - 120px);
    max-width: calc(100% - 120px);
    display: inline-block;
}
.c-chat.left div.txt {
    float: left;
    border-color: #aaa;
    background: #f0f2f4;
}
.c-chat.right div.txt {
    border-color: #aaa;
    background: #c3f69d;
    float: right;
}
main .c-chat p{
    margin: 0 0 10px;
    line-height: 1.8;
}
.c-chat p:last-child {
    margin-bottom: 0;
}

.c-chat div.txt::before,
.c-chat div.txt::after {
	position: absolute;
	content: '';
	border: 10px solid transparent;
	top: 15px;
}
.c-chat.left div.txt::before {
    border-right: 10px solid #aaa;
    left: -20px;
}
.c-chat.left div.txt::after {
    border-right: 10px solid #f0f2f4;
    left: -19px;
}
.c-chat.right div.txt::before {
    border-left: 10px solid #aaa;
    right: -20px;
}
.c-chat.right div.txt::after {
    border-left: 10px solid #c3f69d;
    right: -19px;
}

/* 2-22 準備中・中央寄せ */
.c-const{
	padding: 100px 0;
	text-align: center;
	background: var(--color-subtlebg);
	border: 10px solid var(--color-mega-border);
	font-size: 2.4rem;
}

.c-concept{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.c-concept .concept-left{
	width: 48%;
}
.c-concept .tit{
	font-size: 3.0rem;
	border-bottom: 3px solid var(--color-border);
	padding-bottom: 0.7rem;
	margin-bottom: 4rem;
	display: table;
}
.c-concept .catchcopy{
	font-size:4.8rem;
	line-height: 1.6;
	font-weight: bold;
}
.c-concept .concept-right{
	width: 48%;
}
.c-concept .concept-bg{
	font-size:10rem;
	color:rgba(0,0,0,0.05);
	font-family: impact;
	text-align: center;
}

/* 2-23 Before / After */
ul.c-before-after {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1%;
    list-style: none;
    position:relative;
}
ul.c-before-after li{
    width:48%;
    margin:1%;
    line-height: 1.3;
    text-align:center;
    background: var(--color-subtlebg);
    padding:1% 0.5%;
}
ul.c-before-after li:first-child::after{
    position:absolute;
    left:50%;
    top:50%;
    transform: translate(-50%,-50%);
    content: "\f30b";
    font-family: "Font Awesome 6 Free";
    font-weight:900;
    font-size: 14rem;
    z-index:9;
}
ul.c-before-after li:first-child::before{
    content:"BEFORE";
    font-size: 3.6rem;
    font-weight: bold;
    display: block;
    margin-bottom: 1.2rem;
}
ul.c-before-after li:last-child::before{
    content:"AFTER";
    font-size: 3.6rem;
    font-weight: bold;
    display: block;
    margin-bottom: 1.2rem;
}
ul.c-before-after li img{
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 5px;
}

/* 2-24 悩み1 */
ul.c-worry1 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 2.4rem;
	list-style: none;
}
ul.c-worry1 li {
	background: var(--color-subtlebg);
	border-radius: 1.2rem;
	padding: 3.2rem 2.4rem;
	width: calc((100% - 4.8rem) / 3);
	text-align: center;
	position: relative;
}
ul.c-worry1 li::before,
ul.c-worry1 li::after {
	position: absolute;
	font-size: 4.8rem;
	font-family: cambria, sans-serif;
	font-style: italic;
	font-weight: bold;
	color: var(--color-deco-main);
	line-height: 1;
}
ul.c-worry1 li::before {
	content: "\201C";
	top: -1.2rem;
	left: -0.4rem;
}
ul.c-worry1 li::after {
	content: "\201D";
	bottom: -1.2rem;
	right: -0.4rem;
}
ul.c-worry1 li small {
	display: block;
	font-size: 1.4rem;
	color: #888;
	margin-bottom: 0.4rem;
}
ul.c-worry1 li span {
	font-weight: bold;
	border-bottom: 2px solid var(--color-deco-accent);
	padding-bottom: 0.2rem;
}

/* 2-25 数字デザイン1 */
.c-number1 {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4rem;
}
.c-number1 > div {
	text-align: center;
}
.c-number1 > div p:first-child {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 0;
}
.c-number1 > div p:last-child {
	font-size: 9.6rem;
	font-style: italic;
	font-weight: bold;
	line-height: 1.2;
	color: var(--color-deco-main);
	font-family: cambria, sans-serif;
	margin-bottom: 0;
}
.c-number1 > p {
	margin-bottom: 0;
}

/* 2-26 数字デザイン2 */
.c-number2 {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6.4rem;
}
.c-number2 > p {
	font-size: 3.2rem;
	font-weight: bold;
	padding-top: 2.4rem;
	border-top: 4px solid var(--color-deco-main);
	margin-bottom: 0;
}
.c-number2 dl div {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 2.4rem;
}
.c-number2 dl dt {
	font-size: 1.6rem;
}
.c-number2 dl dd {
	font-size: 7.2rem;
	font-style: italic;
	font-weight: bold;
	line-height: 1.2;
	color: var(--color-deco-main);
	font-family: cambria, sans-serif;
}
.c-number2 dl dd span {
	font-size: 2rem;
	font-style: normal;
	color: var(--color-txt);
	margin-left: 0.4rem;
}

/* 2-27 実績表示 */
ul.c-achievement {
	list-style: none;
	margin-bottom: 2.4rem;
}
ul.c-achievement li {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 4.8rem;
	max-width: 56rem;
	border: 2px solid var(--color-achievement-frame, #3d7edb);
	border-radius: 1.2rem;
	margin: 0 auto 3.2rem;
	padding: 2.4rem 3.2rem;
}
ul.c-achievement li:last-child {
	margin-bottom: 0;
}
ul.c-achievement li > p:first-of-type {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	margin-bottom: 0;
}
ul.c-achievement li > p:first-of-type i {
	color: var(--color-achievement-frame, #3d7edb);
	font-size: 4.8rem;
}
ul.c-achievement li > p:last-of-type {
	color: var(--color-achievement-num, #3d7edb);
	font-family: "Oswald", sans-serif;
	font-size: 6.4rem;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 0;
}
ul.c-achievement li > p:last-of-type span {
	color: var(--color-txt);
	font-size: 2.4rem;
	margin-left: 0.4rem;
}

/* 2-28 キャッチコピー１ */
.c-catch1 {
	position: relative;
	max-width: 880px;
	margin: 0 auto;
}
.c-catch1::before {
    content: "";
    background-color: var(--color-deco-main);
    -webkit-mask: url(/images/img/coding/guide/left-square-brackets.svg) center/contain no-repeat;
    mask: url(/images/img/coding/guide/left-square-brackets.svg) center/contain no-repeat;
    width: 22px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.c-catch1::after {
	content: "";
	background-color: var(--color-deco-main);
	-webkit-mask: url(/images/img/coding/guide/right-square-brackets.svg) center/contain no-repeat;
	mask: url(/images/img/coding/guide/right-square-brackets.svg) center/contain no-repeat;
	width: 22px;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
}
.c-catch1 p{
	font-size: 3.2rem;
	line-height: 1.6;
	font-weight: bold;
	text-align: center;
	color: var(--color-deco-main);
	font-family: cambria, sans-serif;
}

.c-catch2 {
	max-width: 880px;
	margin: 0 auto;
	padding: 40px 0;
	position: relative;
}
.c-catch2::before {
	content: "";
	background-color: var(--color-deco-main);
	-webkit-mask: url(/images/img/coding/guide/left-catch2.svg) left center/contain no-repeat;
	mask: url(/images/img/coding/guide/left-catch2.svg) left center/contain no-repeat;
	width: 400px;
	height: 40px;
	position: absolute;
	left: 0;
	top: 0;
}
.c-catch2::after {
	content: "";
	background-color: var(--color-deco-main);
	-webkit-mask: url(/images/img/coding/guide/right-catch2.svg) right center/contain no-repeat;
	mask: url(/images/img/coding/guide/right-catch2.svg) right center/contain no-repeat;
	width: 400px;
	height: 40px;
	position: absolute;
	right: 0;
	bottom: 0;
}
.c-catch2 p {
	font-size: 3.2rem;
	line-height: 1.6;
	font-weight: bold;
	text-align: center;
	color: var(--color-deco-main);
	font-family: cambria, sans-serif;
	margin-bottom: 0;
}

.c-catch3 {
	position: relative;
}
.c-catch3::after {
	content: "";
	height: 5px;
	background-color: var(--color-deco-main);
	position: absolute;
	width: 200px;
	bottom: 0;
	right: 0;
}
.c-catch3 .c-catch3-title {
	font-size: 4rem;
	line-height: 1;
	color: var(--color-deco-main);
	font-family: cambria, sans-serif;
	margin-bottom: 0;
	display: inline-block;
	position: relative;
	width: 200px;
}
.c-catch3 .c-catch3-title::before {
	content: "";
	width: 100%;
	height: 5px;
	background-color: var(--color-deco-main);
	position: absolute;
	bottom: -1.6rem;
	left: 0;
}
.c-catch3 .c-catch3-txt {
	font-size: 3.2rem;
	line-height: 1.6;
	font-weight: bold;
	text-align: center;
	color: var(--color-deco-main);
	font-family: cambria, sans-serif;
	padding: 8rem 0;
	letter-spacing: 0.2rem;
	margin-bottom: 0;
}

/* 2-29 1日のスケジュール（縦並び） */
.c-aday {
    position: relative;
}
.c-aday::before {
    position: absolute;
    top: 0;
    left: 7.6rem;
    width: 6px;
    height: 100%;
    background-color: var(--color-subtlebg);
    content: "";
}
.c-aday ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.c-aday li {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}
.c-aday li + li {
    margin: 4rem 0 2rem;
}
.c-aday li p {
	margin-bottom: 0;
	line-height: 1.4;
}

.c-aday-time {
    display: flex;
    justify-content: center;
    align-items: center;
	flex-shrink: 0;
    position: relative;
    width: 6rem;
	padding:0.8rem 0.4rem 1rem;
    border-radius: 6px;
    background-color: var(--color-accent);
    color: #fff;
    text-align: center;
	font-size: 1.8rem;
}
.c-aday-time::before {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateX(50%) translateY(-50%) rotate(45deg);
    width: 0.8rem;
    height: 0.8rem;
    z-index: -1;
    background-color: var(--color-accent);
    content: "";
}
.c-aday-time::after {
    position: absolute;
    top: 50%;
    left: 7rem;
    transform: translateY(-50%);
    width: 1.6rem;
    height: 1.6rem;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: var(--color-accent);
    content: "";
}

.c-aday-tit {
	font-weight: bold;
	padding: 0 0 1rem 4rem;
}

.c-aday-txt {
    margin: 0 0 0 4rem;
}

/* 2-30 1年のスケジュール（横並び） */
.c-year {
    position: relative;
}
.c-year::before {
    position: absolute;
    top: 9.4rem;
    left: 0;
    width: 100%;
    height: 6px;
    background-color: var(--color-subtlebg);
    content: "";
}
.c-year > ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: baseline;
}
.c-year > ul > li {
    position: relative;
    display: flex;
	flex-direction: column;
    align-items: center;
    width: 100%;
}
.c-year > ul > li + li {
    margin: 4rem 0 2rem;
}
.c-year > ul > li p {
	margin-bottom: 0;
	line-height: 1.4;
}

.c-year-time {
    display: flex;
    justify-content: center;
    align-items: center;
	flex-shrink: 0;
    position: relative;
    width: 6rem;
	padding:0.8rem 0.4rem 1rem;
    border-radius: 6px;
    background-color: var(--color-accent);
    color: #fff;
    text-align: center;
	font-size: 1.8rem;
}
.c-year-time::before {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) translateY(50%) rotate(45deg);
    width: 0.8rem;
    height: 0.8rem;
    z-index: -1;
    background-color: var(--color-accent);
    content: "";
}
.c-year-time::after {
    position: absolute;
    bottom: -3rem;
    left: 50%;
    transform: translateX(-50%);
    width: 1.4rem;
    height: 1.4rem;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: var(--color-accent);
    content: "";
}

.c-year-container {
	padding-left:0rem;
	padding-top:4rem;
}
.c-year-container ul {
	list-style: none;
	display: flex;
}
.c-year-container li {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	margin:0 0.4rem;
}
.c-year-container li span {
	-webkit-text-combine: horizontal;
	-ms-text-combine-horizontal: all;
	text-combine-upright: all;
}

/* 2-31 代表挨拶１ */
.c-deputy1 {
	display: flex;
	align-items: center;
}
.c-deputy1 > * {
	width: 50%;
	margin-top: 0;
}
.c-deputy1 .right {
	position: relative;
	padding: 9.6rem 4rem 3.2rem 0;
	margin-right: 4em;
}
.c-deputy1 .right::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 60%;
	height: 100%;
	background-color: var(--color-greeting1-bg, #F1F8FD);
	z-index: -1;
}
.c-deputy1 .name {
	margin: 3.2rem 0 0;
	font-size: 2rem;
	text-align: right;
	color: var(--color-aside-titbg);
	font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
	font-weight: bold;
}
.c-deputy1 .left p {
	line-height: 4.8rem;
	margin-bottom: 0;
}
.c-deputy1 .left .philosophy-txt {
	margin: 0 0 2.4rem;
	padding: 3.2rem 0 0;
	border: none;
	position: relative;
	font-size: 3.2rem;
	line-height: 4.8rem;
	font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
	color: var(--color-aside-titbg);
	font-weight: bold;
}
.c-deputy1 .left .philosophy-txt::before {
	content: "";
	position: absolute;
	width: 120px;
	height: 1px;
	background-color: var(--color-border);
	top: 0;
	left: 0;
}

/* 2-32 代表挨拶２ */
.c-deputy2 {
	position: relative;
}
.c-deputy2::before {
	content: "Philosophy";
    position: absolute;
    top: 0;
    left: -8.8rem;
    writing-mode: vertical-rl;
	font-family: cambria, sans-serif;
    font-size: 8rem;
    color: var(--color-deco-main);
}
.c-deputy2 .deputy2-container {
	margin-top: 6.4rem;
}
.c-deputy2 p {
	line-height: 3;
	margin-bottom: 0;
	max-width: 76rem;
}
.c-deputy2 .philosophy-txt {
	margin: 0 0 3.2rem;
	padding: 4.8rem 0 0;
	position: relative;
	font-size: 4rem;
	line-height: 1.6;
	border-top: 8px solid var(--color-deco-dark);
	max-width: 100%;
	font-weight: bold;
	color: var(--color-deco-dark);
	font-family: cambria, sans-serif;
}
.c-deputy2 .philosophy-txt::before {
	content: "";
	position: absolute;
	width: 30%;
	height: 8px;
	background-color: var(--color-deco-accent);
	top: -8px;
	left: 0;
}

/* 2-33 代表挨拶３ */
.c-deputy3 .philosophy-txt {
	margin: 0 0 6.4rem;
	padding-bottom: 2rem;
	position: relative;
	font-size: 4.8rem;
	line-height: 1;
	font-family: cambria, sans-serif;
	text-align: right;
	border-bottom: 1px solid var(--color-deco-main);
	letter-spacing: 0.2rem;
}
.c-deputy3 .philosophy-txt span {
	display: block;
	font-weight: normal;
	font-size: 2rem;
	margin-top: 16px;
}
.c-deputy3-container {
	display: flex;
}
.c-deputy3 .left {
	width: 55%;
}
.c-deputy3 .c-lead {
	font-size: 4rem;
	line-height: 1;
	font-weight: bold;
	color: var(--color-deco-main);
	font-family: cambria, sans-serif;
	margin-bottom: 6.4rem;
}
.c-deputy3 .txt {
	line-height: 3;
	color: var(--color-deco-main);
}
.c-deputy3 .name {
	margin: 8rem 0 0;
	font-weight: bold;
	color: var(--color-deco-main);
	font-family: cambria, sans-serif;
}
.c-deputy3-container .right {
	width: 45%;
	margin-left: 4rem;
}

/* 2-34 代表挨拶４ */
.c-deputy4 {
	background-color: #F2F2F2;
	padding: 14.4rem 4rem 4rem;
	position: relative;
}
.c-deputy4::before {
	content: "Ichiro Suzuki";
	position: absolute;
	top: 3.2rem;
	left: 4rem;
	font-size: 8rem;
	color: #fff;
	font-family: helvetica-lt-pro, sans-serif;
	font-weight: bold;
	line-height: 1;
}
.c-deputy4 .philosophy-txt {
	font-family: cambria, sans-serif;
	font-size: 2.4rem;
	font-weight: bold;
	margin: 0;
}
.c-deputy4 .name {
	font-family: cambria, sans-serif;
	font-size: 1.8rem;
	position: relative;
	font-weight: bold;
	margin: 4.8rem 0 0;
	padding-left: 4rem;
}
.c-deputy4 .name::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 3.2rem;
	height: 1px;
	background-color: #707070;
}
.c-deputy4-container {
	display: flex;
	margin-top: 5.6rem;
}
.c-deputy4-container > * {
	width: 50%;
}
.c-deputy4-container .img {
	margin-right: 5.6rem;
}
.c-deputy4-container .txt {
	line-height: 3;
	margin-bottom: 0;
}

/* 2-35 ニュース更新日 */
ul.c-update-date{
	display: flex;
	align-items: center;
	margin-bottom: 0.6rem;
}
ul.c-update-date li {
	list-style: none;
}
ul.c-update-date li span {
	background: var(--color-update-marker, #FF0);
	font-size: 1.1rem;
	padding: 4px 6px;
	border: 1px solid #ccc;
	margin-right: 1.0rem;
	display: inline-flex;
	align-items: center;
	line-height: 1;
}

/* 2-36 目次とコラム */
main.c-column {
    counter-reset: h1;
}
main.c-column h2 {
    counter-reset: h2;
}
main.c-column h2::before {
    counter-increment: h1;
    content: counter(h1) ". ";
    font-size: 70%;
    opacity: .8;
    font-weight: normal;
	display:block;
	padding-bottom:0.6rem;
}
main.c-column h3 {
    counter-reset: h3;
}
main.c-column h3::before {
    counter-increment: h2;
    content: counter(h1) "-"counter(h2) ". ";
    font-size: 70%;
    opacity: .8;
    font-weight: normal;
	display:block;
	padding-bottom:0.6rem;
}
main.c-column h4 {
    counter-reset: h4;
}
main.c-column h4::before {
    counter-increment: h3;
    content: counter(h1) "-"counter(h2) "-"counter(h3) ". ";
    font-size: 70%;
    opacity: .8;
    font-weight: normal;
	display:block;
	padding-bottom:0.6rem;
}
main.c-column h4::after {
	content:none;
}
main.c-column h5 {
    counter-reset: h5;
}
main.c-column h5::before {
    counter-increment: h4;
    content: counter(h1) "-"counter(h2) "-"counter(h3) "-"counter(h4) ". ";
    font-size: 70%;
    opacity: .8;
    font-weight: normal;
	display:block;
	padding-bottom:0.6rem;
}
main.c-column h6 {
    counter-reset: h6;
}
main.c-column h6::before {
    counter-increment: h5;
    content: counter(h1) "-"counter(h2) "-"counter(h3) "-"counter(h4) "-"counter(h5) ". ";
    font-size: 70%;
    opacity: .8;
    font-weight: normal;
	display:block;
	padding-bottom:0.6rem;
}
main.c-column h2 a,
main.c-column h3 a,
main.c-column h4 a,
main.c-column h5 a,
main.c-column h6 a {
	color:var(--color-txt);
}


div.c-page-index {
    background: var(--color-subtlebg);
    width: 96%;
    max-width: 800px;
    margin: 0px auto 50px;
    padding: 2%;
}
div.c-page-index p {
    text-align: center;
    border-bottom: 1px dotted #ccc;
}
div.c-page-index>ol {
    margin-left: 0;
}
div.c-page-index>ol ol {
    padding-left: 20px;
}
div.c-page-index ol {
    counter-reset: section;
    margin-bottom: 10px;
}
div.c-page-index ol li {
    line-height: 1.6;
    list-style: none;
}
div.c-page-index ol a {
    font-size: 1.4rem;
    color:var(--color-txt);
    text-decoration: none;
    transition: 0.5s;
}
div.c-page-index ol li span {
	border:1px solid var(--color-border);
	margin-left:1rem;
	font-size: 1.2rem;
	padding:0 0.6rem 0.2rem;
}
div.c-page-index ol a:hover {
	text-decoration: underline;
}
div.c-page-index ol>li:before {
    content: counters(section, '-') '. ';
    counter-increment: section;
    font-size: 1.4rem;
    color: #333;
}

/* 3. リンク */
/* 3-1 コンバージョン */
.c-conversion{
	margin:25px auto;
	width: 100%;
	text-align:center;
}
.c-conversion a{
	background:var(--color-conversionbg);
	color: var(--color-conversiontxt);
	padding:3.6rem;
	font-size:3.6rem;
	display:block;
	text-decoration:none;
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

/* 3-2 */
.c-miniConversion{
	margin:25px auto;
	width: 80%;
	max-width: 500px;
	text-align:center;
}
.c-miniConversion a{
	background:#ddd;
	color: #333;
	padding:2.4rem;
	font-size:2.4rem;
	display:block;
	text-decoration:none;
}

/* 3-3 外部リンクアイコン */
a.c-blank::after{
	content: "\f24d";
	font-family: "Font Awesome 6 Free";
	font-weight:900;
	padding-left:6px;
}

/* 3-4 更に詳しく */
.c-more {
	text-align: center;
	margin-top: 20px;
}
.c-more a {
	border: 1px solid var(--color-main);
	display: inline-block;
	width: 100%;
	max-width: 300px;
	font-size: 1.6rem;
	padding: 2rem 0;
	border-radius: 10px;
	color: var(--color-main);
	text-decoration: none;
}
.c-more a:hover {
	background:var(--color-morebg);
}

/* 3-5 pager */
.c-pager{
	clear:both;
	border-top:3px dotted #ddd;
	margin-top:15px;
	padding-top:15px;
}
.c-pager ul.order {
	list-style: none;
}
.c-pager ul.order li {
	border: 1px solid #ddd;
	text-align: center;
	width: 100px;
	padding: 10px 0;
}
.c-pager ul.order li.prev {
	float: left;
}
.c-pager ul.order li.next {
	float: right;
}
.c-pager ul.order li a {
	display: block;
	padding: 10px 0;
	margin: -10px 0;
	width: 101%;
	background: #ddd;
	color: #333;
	text-decoration: none;
}
.c-pager ul.direct {
	margin: 0 auto;
	display: flex;
	justify-content: center;
}
.c-pager ul.direct li {
	width: 40px;
	border: 1px solid #ddd;
	text-align: center;
	padding: 10px 0;
	margin: 0 8px;
	list-style: none;
}
.c-pager ul.direct li a {
	display: block;
	padding: 11px 0;
	margin: -11px 0;
	width: 101%;
	background: #ddd;
	color: #333;
}

/* 3-6 pdf */
a.c-pdf::after{
	content: "\f1c1";
	font-family: "Font Awesome 6 Free";
	font-weight:900;
	padding-left:6px;
}

/* 3-7 関連ページ */
.c-related-article-container{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 5rem 0;
}
.c-related-article-box {
    border: 1px solid #ccc;
    padding: 2rem 2rem 1rem;
    margin: 0 0 4rem;
    position: relative;
    width: 49%;
}
.c-related-article-box::after {
    position: absolute;
    content: "関連ページ";
    background: #eee;
    color: #111;
    width: 12rem;
    text-align: center;
    padding: 0.8rem 0;
    top: -1.5rem;
    left: 1rem;
}
.c-related-article-box a {
	display: flex;
	text-decoration: none;
	color: #333;
}
.c-related-article-box a:hover {
    opacity: 0.5;
}
.c-related-article-box div.img img {
    transition: opacity 0.3s;
    width: 20rem;
    height: 14rem;
    margin-right: 1rem;
    object-fit: cover;
}
.c-related-article-box a:hover div.img img {
    opacity: 0.5;
}
.c-related-article-box div.txt {
	width: calc(100% - 21rem);
	font-size: 2rem;
	margin-bottom: 1.2rem;
}

/* 3-8 ページ内横スクロールナビ */
.c-sidelink {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	list-style: none;
	padding: 0;
	margin: 40px 0;
	overflow-y: hidden;
	min-width: max-content; 
}
.c-sidelink::before {
	content: '';
	position: absolute;
	top: 8px;
	left: 0;
	right: 0;
	height: 1px;
	background-color: var(--color-deco-main);
}
.c-sidelink li {
	position: relative;
	margin: 0 16px;
	text-align: center;
	flex-shrink: 0;
}
.c-sidelink li::before {
	content: '';
	display: block;
	margin: 0 auto 6px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: white;
	border: 2px solid var(--color-sidelink-dot, #8ca2c3);
}
.c-sidelink li.here::before {
	background: var(--color-sidelink);
	border-color: var(--color-sidelink);
}
.c-sidelink a {
	color: var(--color-sidelink);
	text-decoration: none;
	font-weight: bold;
	font-size: 14px;
	white-space: nowrap;
}

/* 3-9 パンくずリンク */
.c-breadcrumb ol {
	display: flex;
	list-style: none;
}
.c-breadcrumb li::after { padding: 0 8px; color: #ccc; }
.c-breadcrumb li:not(:last-child)::after { content: '>'; }
.c-breadcrumb a {
	color:#999;
	text-decoration:none;
}
.c-breadcrumb a:hover {
	color:var(--color-breadcrumb-hover, #06F);
	opacity:1;
}
.c-breadcrumb li:first-child a::before {
	content: "\f015";
	font-family: "Font Awesome 6 Free";
	font-weight:900;
	padding-right:3px;
}
.c-breadcrumb.view {
	margin:5px 10px 0 0;
}

/* 3-10 CTA 1 */
.c-cta1-container {
	position: relative;
	overflow: hidden;
	padding: clamp(40px, 6vw, 80px) 24px;
	color: #fff;
}
.c-cta1-container::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("https://v2.s-contigo.website/images/img/regulation/cta/cta01.webp") center / cover no-repeat;
	z-index: 0;
}
.c-cta1-container::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 24, 48, 0.75);
	z-index: 1;
}
.c-cta1-container > h2 {
	position: relative;
	z-index: 2;
	margin: 0 0 clamp(24px, 4vw, 48px);
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
	border-bottom: none;
}
.c-cta1-container > h2 span {
	display: block;
	margin-top: 10px;
	font-size: 1.2rem;
	font-weight: inherit;
	opacity: 0.8;
}
.c-cta1-container > div {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 110rem;
	margin-inline: auto;
}
.c-cta1-container section {
	margin: 0;
	padding: clamp(24px, 4vw, 40px) clamp(20px, 3vw, 48px);
	flex: 1 1 220px;
	text-align: center;
	border-inline-start: 1px solid rgba(255, 255, 255, 0.28);
}
.c-cta1-container section:first-child {
	border-inline-start: none;
}
.c-cta1-container h3 {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 1rem 0 0;
	padding: 0;
	line-height: 1.5;
	font-weight: 700;
	font-size: 1.4rem;
	border-left:none;
}
.c-cta1-container section h3 i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 10rem;
	height: 10rem;
	margin-bottom: 1.2rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.18);
	font-size: 3.6rem;
	line-height: 1;
	font-style: normal;
}
.c-cta1-container section > div {
	margin-top: 1.6rem;
	line-height: 1.5;
}
.c-cta1-container section > div p {
	margin: 0;
	padding: 0;
	line-height: 1.5;
}

.c-cta1-container p.tel {
	font-size: 1.8rem;
	font-weight: bold;
}
.c-cta1-container p.tel + p {
	margin-top: 0.6rem;
	font-size: 1.3rem;
	opacity: 0.8;
}

.c-cta1-container section > div > a {
	display: inline-block;
	margin-top: 0;
	padding: 12px 24px;
	border-radius: 4px;
	background: #fff;
	color: var(--color-txt);
	font-weight: bold;
	text-decoration: none;
}
.c-cta1-container section p a {
	display: inline;
	margin-top: 0;
	padding: 0;
	border-radius: 0;
	background: none;
	color: inherit;
	font-weight: inherit;
	text-decoration: underline;
}
.c-cta1-container section p.tel a{
	text-decoration: none;
}

/* 3-11 CTA 2 */
.c-cta2 {
	background: linear-gradient(160deg, var(--color-cta2-grad1, #f0a055), var(--color-cta2-main, #e96a62));
	text-align: center;
	padding: 4rem 2rem 4.8rem;
	margin-bottom: 2.4rem;
}
.c-cta2 > p:first-of-type {
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: 0.3em;
	margin-bottom: 0.8rem;
}
.c-cta2 > p:nth-of-type(2) {
	color: #fff;
	font-size: 2.6rem;
	font-weight: bold;
	margin-bottom: 2.4rem;
}
.c-cta2 > div a {
	display: inline-block;
	background: #fff;
	color: var(--color-cta2-main, #e96a62);
	font-weight: bold;
	text-decoration: none;
	border: 1px solid #fff;
	outline: 1px solid #fff;
	outline-offset: 0.3rem;
	min-width: 28rem;
	padding: 1.4rem 2rem;
}
.c-cta2 > div a::after {
	content: "\f054";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 1.2rem;
	margin-left: 1.6rem;
}

/* 3-12 CTA 3 */
ul.c-cta3 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4rem;
	list-style: none;
}
ul.c-cta3 li {
	width: calc((100% - 4rem) / 2);
	background: var(--color-cta3-bg, #e8f5f0);
	border-radius: 0.4rem;
	padding: 3.2rem;
}
ul.c-cta3 li > p:first-of-type {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 1.6rem;
}
ul.c-cta3 li > p:nth-of-type(2) {
	font-size: 1.5rem;
	line-height: 1.8;
	margin-bottom: 2.4rem;
}
ul.c-cta3 li > div {
	text-align: center;
}
ul.c-cta3 li > div a {
	display: block;
	background: var(--color-cta3-btn, #8cc7b4);
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	border-radius: 0.4rem;
	padding: 1.4rem;
}
ul.c-cta3 li > div a::before {
	content: "\f019";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-right: 1rem;
}
ul.c-cta3 li:nth-child(even) > div a {
	background: #fff;
	color: var(--color-cta3-btn, #8cc7b4);
}
ul.c-cta3 li:nth-child(even) > div a::before {
	content: "\f054";
	font-size: 1.2rem;
}

/* 3-13 CTA 4 */
.c-cta4 {
	background: #e9e4d8;
	position: relative;
	text-align: center;
	padding: 2.8rem 30rem 2.8rem 4rem;
	margin-bottom: 2.4rem;
}
.c-cta4 > img {
	position: absolute;
	right: 4.8rem;
	bottom: 0;
	height: 92%;
	width: auto;
}
.c-cta4 > p:first-of-type {
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 0.8rem;
}
.c-cta4 > p:nth-of-type(2) {
	font-size: 1.3rem;
	line-height: 1.7;
	color: #666;
	margin-bottom: 1.4rem;
}
.c-cta4 > ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3.2rem;
	list-style: none;
}
.c-cta4 > ul li > p {
	font-size: 1.3rem;
	font-weight: bold;
	margin-bottom: 0.8rem;
}
.c-cta4 > ul li > div a {
	display: block;
	background: var(--color-cta4-btn1, #f5a662);
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	border-radius: 999px;
	padding: 1.2rem 4rem;
}
.c-cta4 > ul li > div a::before {
	content: "\f15c";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-right: 1rem;
}
.c-cta4 > ul li:nth-child(2) > div a {
	background: var(--color-cta4-btn2, #4c93e6);
}
.c-cta4 > ul li:nth-child(2) > div a::before {
	content: "\f3cd";
}

/* 3-14 CTA 5 */
.c-cta5 {
	position: relative;
	overflow: hidden;
	padding: 4.8rem 4.8rem 5.6rem;
	margin-bottom: 2.4rem;
}
.c-cta5 > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}
.c-cta5::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0) 70%);
	z-index: 1;
}
.c-cta5 > p,
.c-cta5 > div {
	position: relative;
	z-index: 2;
}
.c-cta5 > p:first-of-type {
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	margin-bottom: 1.2rem;
}
.c-cta5 > p:nth-of-type(2) {
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 0.4rem;
}
.c-cta5 > p:nth-of-type(3) {
	color: #fff;
	font-size: 1.3rem;
	margin-bottom: 2.4rem;
}
.c-cta5 > div a {
	display: inline-block;
	background: var(--color-cta5-btn, #2fbfa9);
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	border-radius: 999px;
	min-width: 24rem;
	text-align: center;
	padding: 1.4rem 3.2rem;
}
.c-cta5 > div a::after {
	content: "\f054";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 1.1rem;
	margin-left: 1.6rem;
}

/* 3-15 CTA 6 */
.c-cta6 {
	background: var(--color-cta6-bg, #f7ef7a);
	position: relative;
	margin: 8rem 0 2.4rem;
	padding: 4rem 4rem 4.8rem 36rem;
}
.c-cta6 > img {
	position: absolute;
	left: 8rem;
	bottom: 0;
	height: 142%;
	width: auto;
}
.c-cta6 > div p:first-of-type {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 1.2rem;
}
.c-cta6 > div p:nth-of-type(2) {
	font-size: 1.3rem;
	line-height: 1.8;
	margin-bottom: 2rem;
}
.c-cta6 > div ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
	list-style: none;
}
.c-cta6 > div ul a {
	display: block;
	background: var(--color-cta6-btn, #3b82e0);
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	min-width: 16rem;
	text-align: center;
	padding: 1.2rem 2.4rem;
}


/* 4. 横並びカラム */
ul.c-twoColumns,
ul.c-twodesign,
ul.c-threeColumns,
ul.c-fourColumns,
ul.c-fiveColumns,
ul.c-sixColumns,
ul.c-twodesign {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1%;
	list-style: none;
}
ul.c-twoColumns.center li,
ul.c-threeColumns.center li,
ul.c-fourColumns.center li,
ul.c-fiveColumns.center li,
ul.c-sixColumns.center li {
	text-align: center;
}
ul.c-twoColumns li,
ul.c-twodesign li {
	width: 48%;
	margin: 1%;
}
ul.c-threeColumns li {
	width: 31.3333%;
	margin: 1%;
}

ul.c-fourColumns li {
	width: 23%;
	margin: 1%;
}

ul.c-fiveColumns li {
	width: 18%;
	margin: 1%;
}

ul.c-sixColumns li {
	width: 14.6666%;
	margin: 1%;
}

ul.c-twoColumns li img,
ul.c-threeColumns li img,
ul.c-fourColumns li img,
ul.c-fiveColumns li img,
ul.c-sixColumns li img {
	width: 100%;
	height: auto;
	display: block;
}

ul.c-twodesign li img {
	width: calc(100% - 16px);
	margin: 0 16px  16px  0;
	box-shadow: 16px 16px 0 #F2F2F2;
}

.c-flex-container-two,
.c-flex-container-three,
.c-flex-container-four {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1%;
}
.c-flex-container-two > * {
	width: 48%;
	margin: 0 1% 3%;
}

.c-flex-container-three > * {
	width: 31.3333%;
	margin: 0 1% 3%;
}

.c-flex-container-four > * {
	width: 23%;
	margin: 0 1% 3%;
}

.c-flex-container-three p,
.c-flex-container-four p {
	font-size: 1.6rem;
	line-height: 2.8rem;
}

/* 4-10 親ページ ul li */
.c-page-parent{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1%;
}
.c-page-parent li {
	width: 48%;
	margin: 1%;
	list-style: none;
	background: #f0f2f4;
	min-height: 20.0rem;
}
.c-page-parent li a {
	display: flex;
	align-items: center;
	padding: 0 1.0rem 0 2.4rem;
	font-size: 2.4rem;
	line-height: 1.4;
	color: #333;
	text-decoration: none;
	position: relative;
	width:100%;
	height: 100%;
}
.c-page-parent li a::before {
	content: "\f0da";
	font-family: "Font Awesome 6 Free";
	font-weight:900;
	position: absolute;
	top:51%;
	left:1.2rem;
	transform:translateY(-50%);
}

/* 4-11 card 1 */
.c-card1-container {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1%;
	justify-content: center;
	align-items: stretch;
}
.c-card1-container section {
	width: 31.3333%;
	margin: 0 1% 3%;
	display: flex;
	flex-direction: column;
	border-radius: 2rem;
	box-shadow: var(--box-shadow);
	overflow: hidden;
}
.c-card1-container figure img {
	width: 100%;
	height: auto;
	display: block;
}
.c-card1-container h3 {
	margin: 2rem 2rem 1rem;
	font-size: 1.8rem;
	line-height: 1.4;
	border: none;
	padding: 0;
}
.c-card1-container p {
	font-size: 1.6rem;
	line-height: 1.6;
	margin: 0 2rem 2rem;
}

/* 4-12 card 2 */
.c-card2-container {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -2%;
	justify-content: center;
	align-items: stretch;
	counter-reset: card-case;
}
.c-card2-container section {
	position: relative;
	width: 29.3333%;
	margin: 0 2% 3%;
	padding: 3.2rem 2rem 2rem;
	border-radius: 2rem;
	box-shadow: var(--box-shadow);
	display: flex;
	flex-direction: column;
	counter-increment: card-case;
	overflow: hidden;
}
.c-card2-container section::before {
	content: "case " counter(card-case, decimal-leading-zero);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	padding: 0.4rem 1rem 0.6rem;
	background: var(--color-accent);
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.2;
	border-radius: 1.4rem 0;
}
.c-card2-container section[data-case-prefix]::before {
	content: attr(data-case-prefix) " " counter(card-case, decimal-leading-zero);
}
.c-card2-container h3 {
	margin: 0 0 1.2rem;
	padding: 0;
	border: none;
	font-size: 1.8rem;
	line-height: 1.4;
}
.c-card2-container section p {
	margin: 0 0 2rem;
	font-size: 1.6rem;
	line-height: 1.6;
}
.c-card2-container section p:last-of-type {
	margin-bottom: 0;
}
.c-card2-container section p:first-of-type[data-label]::before,
.c-card2-container section p:nth-of-type(2)[data-label]::before {
	content: attr(data-label);
	display: block;
	width: fit-content;
	margin-bottom: 0.6rem;
	padding: 0.25rem 0.65rem;
	background: #f0f2f4;
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1.4;
}
.c-card2-container section p:first-of-type[data-label]::before {
	color: var(--color-accent);
}
.c-card2-container section p:nth-of-type(2)[data-label]::before {
	color: var(--color-aside-titbg);
}

/* 4-13 card 3 */
.c-card3-container {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -2%;
	justify-content: flex-start;
	align-items: stretch;
	counter-reset: card-step;
}
.c-card3-container section {
	position: relative;
	width: 29.3333%;
	margin: 0 2% 3%;
	padding: 2.8rem 5.75rem 2.5rem 2rem;
	background: #fff;
	border-radius: 2rem;
	box-shadow: var(--box-shadow);
	display: flex;
	flex-direction: column;
	counter-increment: card-step;
	overflow: hidden;
}
.c-card3-container section::before {
	content: counter(card-step, decimal-leading-zero);
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	width: 5.5rem;
	height: 5.5rem;
	padding: 0.75rem 0.95rem;
	box-sizing: border-box;
	background: var(--color-accent);
	border-bottom-left-radius: 100%;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.c-card3-container h3 {
	margin: 0 0 1.2rem;
	padding: 0;
	border: none;
	font-size: 1.8rem;
	line-height: 1.45;
	font-weight: 700;
	color: var(--color-strong);
}
.c-card3-container section p {
	margin: 0;
	font-size: 1.5rem;
	line-height: 1.65;
	color: var(--color-main);
	width: calc(100% + 4rem);
}

/* 4-14 お客様の声1 */
ul.c-customer1 {
	list-style: none;
}
ul.c-customer1 li {
	display: flex;
	align-items: flex-start;
	gap: 2.4rem;
	background: var(--color-subtlebg);
	padding: 3.2rem;
	margin-bottom: 2.4rem;
}
ul.c-customer1 li img {
	width: 8.8rem;
	height: 8.8rem;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
ul.c-customer1 li div {
	flex: 1;
}
ul.c-customer1 li div p:first-child {
	font-weight: bold;
	border-bottom: 1px solid var(--color-table-border);
	padding-bottom: 1.2rem;
	margin-bottom: 1.2rem;
}
ul.c-customer1 li div p:first-child span {
	display: block;
	font-size: 1.3rem;
	font-weight: normal;
	margin-top: 0.4rem;
}
ul.c-customer1 li div p:last-child {
	font-size: 1.4rem;
	line-height: 1.8;
	margin-bottom: 0;
}

/* 4-15 お客様の声2 */
ul.c-customer2 {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
	list-style: none;
	padding-top: 1.2rem;
}
ul.c-customer2 li {
	width: calc((100% - 4rem) / 2);
	background: #fff;
	box-shadow: var(--shadow-md);
	padding: 3.2rem 2.4rem 2.4rem;
	position: relative;
}
ul.c-customer2 li > p:first-child {
	position: absolute;
	top: -1.2rem;
	left: 0;
	background: var(--color-deco-main);
	color: #fff;
	font-size: 1.3rem;
	padding: 0.2rem 1.2rem;
	margin-bottom: 0;
}
ul.c-customer2 li > div {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	margin-bottom: 1.6rem;
}
ul.c-customer2 li > div img {
	width: 6.4rem;
	height: 6.4rem;
	border-radius: 50%;
	object-fit: cover;
}
ul.c-customer2 li > div p {
	flex: 1;
	font-weight: bold;
	margin-bottom: 0;
}
ul.c-customer2 li > div p a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.6rem;
	text-decoration: none;
	color: var(--color-txt);
}
ul.c-customer2 li > div p a::after {
	content: "\f054";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 1.2rem;
	color: var(--color-deco-main);
}
ul.c-customer2 li > p:last-child {
	font-size: 1.4rem;
	line-height: 1.8;
	margin-bottom: 0;
}

/* 4-16 お客様の声3 */
ul.c-customer3 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3.2rem;
	list-style: none;
	margin-top: 6rem;
}
ul.c-customer3 li {
	width: calc((100% - 6.4rem) / 3);
	background: #fff;
	border-radius: 1.6rem;
	box-shadow: var(--box-shadow);
	padding: 0 2.4rem 3.2rem;
	text-align: center;
}
ul.c-customer3 li img {
	width: 12rem;
	height: 12rem;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	margin: -6rem auto 1.6rem;
	border: 0.6rem solid #fff;
	background: #fff;
}
ul.c-customer3 li p:nth-of-type(1) {
	color: var(--color-deco-main);
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 1.6rem;
}
ul.c-customer3 li p:nth-of-type(2) {
	font-weight: bold;
	text-align: left;
	margin-bottom: 1.2rem;
}
ul.c-customer3 li p:nth-of-type(3) {
	font-size: 1.4rem;
	line-height: 1.8;
	text-align: left;
	margin-bottom: 0;
}
/* 4-17 スタッフ紹介1 */
ul.c-staff1 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4rem;
	list-style: none;
}
ul.c-staff1 li {
	width: calc((100% - 8rem) / 3);
	background: #fff;
	box-shadow: 1.2rem 1.2rem 0 var(--color-subtlebg);
}
ul.c-staff1 li a {
	display: block;
	text-decoration: none;
	color: var(--color-txt);
}
ul.c-staff1 li img {
	width: 100%;
	height: auto;
	display: block;
}
ul.c-staff1 li p {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-weight: bold;
	padding: 1.6rem 2rem;
	margin-bottom: 0;
	position: relative;
}
ul.c-staff1 li p span {
	font-size: 1.2rem;
	font-weight: normal;
	color: #888;
}
ul.c-staff1 li p::after {
	content: "\f054";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 1.2rem;
	background: var(--color-deco-main);
	color: #fff;
	border-radius: 50%;
	width: 2.8rem;
	height: 2.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: 2rem;
}

/* 4-18 スタッフ紹介2 */
ul.c-staff2 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4rem;
	list-style: none;
}
ul.c-staff2 li {
	width: calc((100% - 8rem) / 3);
	position: relative;
}
ul.c-staff2 li p:first-child {
	position: absolute;
	top: 1.6rem;
	left: 0;
	background: var(--color-deco-main);
	color: #fff;
	font-size: 1.4rem;
	padding: 0.4rem 1.6rem;
	margin-bottom: 0;
}
ul.c-staff2 li img {
	width: 100%;
	height: auto;
	display: block;
}
ul.c-staff2 li p:last-child {
	font-weight: bold;
	margin: 1.2rem 0 0;
}
ul.c-staff2 li p:last-child span {
	font-size: 1.2rem;
	font-weight: normal;
	color: #888;
	margin-left: 1rem;
}

/* 4-19 スタッフ紹介3 */
ul.c-staff3 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 2.4rem;
	list-style: none;
}
ul.c-staff3 li {
	width: calc((100% - 7.2rem) / 4);
	border: 1px solid var(--color-deco-main);
	border-radius: 1.2rem;
	padding: 3.2rem 2.4rem;
	text-align: center;
}
ul.c-staff3 li img {
	width: 14rem;
	height: 14rem;
	border-radius: 50%;
	object-fit: cover;
}
ul.c-staff3 li p:first-of-type {
	color: var(--color-deco-main);
	font-weight: bold;
	text-align: left;
	margin: 2.4rem 0 1.2rem;
}
ul.c-staff3 li p:first-of-type small {
	display: block;
	font-size: 1.2rem;
	font-weight: normal;
	margin-bottom: -1.6rem;
}
ul.c-staff3 li p:first-of-type span {
	font-size: 1.2rem;
	font-weight: normal;
	color: #888;
	margin-left: 0.8rem;
}
ul.c-staff3 li p:last-of-type {
	font-size: 1.4rem;
	line-height: 1.8;
	text-align: left;
	margin-bottom: 0;
}


/* 5 表・チャート */
/* 5-1 data */
div.c-data::-webkit-scrollbar {
	height: 5px;
}
div.c-data::-webkit-scrollbar-track {
	background: #F1F1F1;
}
div.c-data::-webkit-scrollbar-thumb {
	background: #BCBCBC;
}
div.c-data table {
	width: 100%;
	margin-bottom:10px;
}
div.c-data table caption {
	margin-bottom: 5px;
	font-size: 80%;
	color: #666;
}
div.c-data table thead th {
	padding: 15px 5px;
	background: #f0f2f4;
	font-weight: bold;
	border-bottom:1px solid #ccc;
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
}
div.c-data table tbody th {
	white-space: nowrap;
}
div.c-data table tbody td {
	padding: 12px 5px;
	text-align: center;
}
div.c-data table tbody tr {
	background: #f7f7f7;
}
div.c-data table tbody tr:nth-child(2n+1) {
	background: #fff;
}
div.c-data table tr:hover {
	background: #eee;
}

/* 5-2 chart */
.c-chart table caption {
	margin-bottom: 0.6rem;
}
.c-chart table thead th {
	background: #f0f2f4;
	border-bottom: 1px solid #ccc;
	padding: 1.4rem;
	text-align: left;
}
.c-chart table thead td {
	border-bottom: 1px solid #ccc;
}
.c-chart table tbody th {
	padding: 1.4rem;
	text-align: left;
}
.c-chart table tbody td {
	padding: 1.4rem;
}
.c-chart table tbody tr {
	background: var(--color-table-bg);
}
.c-chart table tbody tr:nth-child(2n+1) {
	background: var(--color-table-bg-2n);
}
.c-chart table tbody tr:hover {
  background: var(--color-table-hover);
}
.c-chart table tbody th a {
	color: var(--color-txtlink);
	text-decoration: underline;
}

/* 5-3 scroll */
div.c-scroll table caption {
	margin-bottom: 5px;
}
div.c-scroll thead th {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1;
    padding:15px 5px;
    background:#f0f2f4;
}
div.c-scroll thead th:first-child {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 3;
    background: #f0f2f4;
}
div.c-scroll tbody tr {
	background:#f7f7f7;
}
div.c-scroll tbody tr:nth-child(2n+1) {
	background: #fff;
}
div.c-scroll tbody tr:hover {
  background: #eee;
}
div.c-scroll tbody th {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    z-index: 2;
    border:none;
    white-space: normal;
    min-width: 80px;
    padding:12px 5px;
    text-align: left;
}
div.c-scroll tbody td {
    padding:12px 5px;
    text-align: center;
}
div.c-scroll th,
div.c-scroll td {
    position: relative;
    border: none;
    z-index: 0;
    vertical-align: middle;
    line-height: 1.2;
    white-space: nowrap;
}
div.c-scroll th::before,
div.c-scroll td::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border-right: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    z-index: -1;
}
div.c-scroll thead th::before {
    border-top: 1px solid #dedede;
    z-index: -1;
}
div.c-scroll thead tr th:first-child::before,
div.c-scroll tbody tr th:first-child::before {
    border-left: 1px solid #dedede;
    z-index: -1;
}
div.c-scroll tbody tr th {
	background:#f7f7f7;
}
div.c-scroll tbody tr:nth-child(2n+1) th {
	background: #fff;
}

/* 5-4 大きな表組 */
div.c-largeT table caption {
	margin-bottom: 5px;
}
div.c-largeT thead th {
	padding: 15px 5px;
	background: #f0f2f4;
	border: 1px solid var(--color-table-border);
}
div.c-largeT tbody tr {
	background: #f7f7f7;
}
div.c-largeT tbody tr:nth-child(2n+1) {
	background: #fff;
}
div.c-largeT tbody tr:hover th,
div.c-largeT tbody tr:hover td,
div.c-largeT tbody tr:hover:nth-child(2n+1) th {
	background: #eee;
}
div.c-largeT tbody th {
    padding:12px 5px;
    text-align: left;
    border: 1px solid var(--color-table-border);
    vertical-align: middle;
    line-height: 1.2;
    white-space: nowrap;
}
div.c-largeT tbody td {
    vertical-align: middle;
    line-height: 1.2;
    border: 1px solid var(--color-table-border);
    padding:12px 5px;
}

/* 5-5 dl dt dd */
dl.c-table {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 1.5rem;
	border-top: 1px solid var(--color-table-border);
}   
dl.c-table dt {
	width: 20rem;
	background-color: var(--color-table-th-bg);
	padding: 1.4rem;       
	line-height: 1.6;    
	border-bottom: 1px solid var(--color-table-border);
}
dl.c-table dd {
	width: calc(100% - 20rem);
	padding: 1.4rem;       
	line-height: 1.6;    
	border-bottom: 1px solid var(--color-table-border);
}
dl.c-table dd ul {
	margin-left: 20px;
}
dl.c-table dd ul li {
	margin-bottom: 5px;
}

/* 5-6 フロー ol li */
div.c-flow-ol-container ol{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	background: linear-gradient(to right, #f0f2f4, #999);
	counter-reset: flow-list;
}
div.c-flow-ol-container ol li {
	list-style: none;
	width: calc(100% / 6);
	text-align: center;
	padding: 100px 0;
	background: url(/images/icons/flow-start.svg) no-repeat right center, url(/images/icons/flow-right-end.svg) no-repeat left center;
	background-size: auto 60%;
}
div.c-flow-ol-container ol li:last-child {
	background: url(/images/icons/flow-right-end.svg) no-repeat left center;
	background-size: auto 60%;
}
div.c-flow-ol-container ol li:first-child {
	background: url(/images/icons/flow-right-start.svg) no-repeat right center;
	background-size: auto 60%;
}
div.c-flow-ol-container ol li::before {
	counter-increment: flow-list;
    content: counter(flow-list);
    display: block;
    font-size: 4.8rem;
    padding-bottom: 1rem;
}

/* 5-7 フロー ol li 2 */
ol.c-flow2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem;
	list-style: none;
	counter-reset: flow2;
	padding-top: 2rem;
}
ol.c-flow2 li {
	counter-increment: flow2;
	width: calc((100% - 8rem) / 5);
	background: #fff;
	border: 1px solid var(--color-flow2-border, #dfe5ef);
	border-radius: 0.6rem;
	box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.06);
	position: relative;
	text-align: center;
	padding: 3.6rem 1.6rem 2.4rem;
}
ol.c-flow2 li::before {
	content: counter(flow2);
	position: absolute;
	top: -2rem;
	left: 50%;
	transform: translateX(-50%);
	background: var(--color-flow2-num-bg, #1f5fc5);
	color: #fff;
	border-radius: 50%;
	width: 4rem;
	height: 4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
}
ol.c-flow2 li:nth-child(1)::before {
	background: var(--color-flow2-step1, #bbd4f3);
}
ol.c-flow2 li:nth-child(2)::before {
	background: var(--color-flow2-step2, #8fb7ec);
}
ol.c-flow2 li:nth-child(3)::before {
	background: var(--color-flow2-step3, #5a93e2);
}
ol.c-flow2 li:nth-child(4)::before {
	background: var(--color-flow2-step4, #3b78d5);
}
ol.c-flow2 li > p:first-of-type {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 1.2rem;
}
ol.c-flow2 li > p:nth-of-type(2) {
	font-size: 1.2rem;
	line-height: 1.7;
	text-align: left;
	margin-bottom: 0;
}
ol.c-flow2::after {
	content: "";
	flex: 0 0 100%;
	height: 1.4rem;
	margin-top: 0.4rem;
	background: linear-gradient(90deg, var(--color-flow2-grad1, #cfe0f7), var(--color-flow2-grad2, #3f7ede));
	clip-path: polygon(0 0, calc(100% - 2rem) 0, 100% 50%, calc(100% - 2rem) 100%, 0 100%);
}

/* 5-8 フロー ol li 3 */
ol.c-flow3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	counter-reset: flow3;
}
ol.c-flow3 li {
	counter-increment: flow3;
	width: 20%;
	position: relative;
	text-align: center;
}
ol.c-flow3 li::before {
	content: counter(flow3, decimal-leading-zero);
	display: block;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 0.8rem;
}
ol.c-flow3 li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 10rem;
	left: calc(50% + 5.5rem);
	width: calc(100% - 11rem);
	height: 0.3rem;
	background: var(--color-flow3, #1a2b5e);
}
ol.c-flow3 li > p:first-of-type {
	background: #fff;
	border: 0.4rem solid var(--color-flow3, #1a2b5e);
	border-radius: 50%;
	width: 11rem;
	height: 11rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color-flow3, #1a2b5e);
	font-size: 4rem;
	margin: 0 auto 1.6rem;
}
ol.c-flow3 li > p:last-of-type {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.6;
	padding: 0 0.8rem;
	margin-bottom: 0;
}
ol.c-flow3 li > p:last-of-type span {
	display: block;
	font-size: 1.1rem;
	font-weight: normal;
}

/* 5-9 フロー ol li 4 */
ol.c-flow4 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
}
ol.c-flow4 li {
	width: 25%;
	position: relative;
	text-align: center;
	color: var(--color-flow4, #3d6bb3);
}
ol.c-flow4 li:not(:last-child)::after {
	content: "\f04b";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 1.6rem;
	position: absolute;
	top: 12rem;
	right: -0.8rem;
}
ol.c-flow4 li > p:first-of-type {
	font-family: georgia, serif;
	font-size: 4.8rem;
	line-height: 1.3;
	margin-bottom: 0.8rem;
}
ol.c-flow4 li > p:nth-of-type(2) {
	font-size: 6.4rem;
	line-height: 1;
	margin-bottom: 2rem;
}
ol.c-flow4 li > p:last-of-type {
	font-size: 1.5rem;
	line-height: 1.6;
	padding: 0 1.6rem;
	margin-bottom: 0;
}

/* 5-10 フローセクション1（フロー h2 h3） */
.c-flow-section-container{
	counter-reset: flow-section;
	background:url(/images/bg/border.svg) no-repeat center 15rem;
	background-size: contain;
}
.c-flow-section-container section {
	display: flex;
	width: calc(50% + 8rem);
	justify-content: space-between;
}
.c-flow-section-container section:nth-child(odd) {
	flex-direction: row-reverse;
	margin-left: calc(50% - 8rem);
	justify-content: flex-end;
}
.c-flow-section-container h3 {
	border:none;
	padding: 0 0 0.4rem;
	margin: 0;
	border-bottom:1px dotted #ccc;
}
.c-flow-section-container h3::before {
	counter-increment: flow-section;
    content: counter(flow-section);
    font-size: 100%;
    font-weight: normal;
    background: var(--color-flowsec-num-bg, #333e48);
    display: inline-block;
    text-align: center;
    width: 4rem;
    padding:0.4rem 0;
    color:#fff;
    margin-right: 0.4rem;
}
.c-flow-section-container div.img {
	width: 16rem;
	margin:0 0 0 2rem;
	flex-shrink: 0;
}
.c-flow-section-container section:nth-child(odd) div.img {
	margin:0 2rem 0 0;
}
.c-flow-section-container div.img img {
	border-radius: 50%;
	height: auto;
	width:100%;
}

/* 5-11 フローセクション2 */
ol.c-flow-section2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 3.2rem;
	list-style: none;
	counter-reset: flow-section2;
	background: var(--color-flowsec2-bg, #d9e795);
	padding: 4.8rem 4rem;
}
ol.c-flow-section2 li {
	counter-increment: flow-section2;
	width: calc((100% - 9.6rem) / 4);
	background: #fff;
	border-radius: 0.4rem;
	position: relative;
	text-align: center;
	padding: 2.4rem 2rem;
}
ol.c-flow-section2 li::before {
	content: "STEP " counter(flow-section2, decimal-leading-zero);
	display: block;
	color: var(--color-flowsec2-accent, #7ca83d);
	font-size: 1.3rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	margin-bottom: 0.8rem;
}
ol.c-flow-section2 li:not(:last-child)::after {
	content: "\f04b";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 1.6rem;
	color: var(--color-flowsec2-accent, #7ca83d);
	position: absolute;
	top: 50%;
	right: -2.6rem;
	transform: translateY(-50%);
}
ol.c-flow-section2 li > p:first-of-type {
	font-size: 1.8rem;
	font-weight: bold;
	border-bottom: 1px solid var(--color-flowsec2-border, #a5c05b);
	padding-bottom: 1.2rem;
	margin-bottom: 1.2rem;
}
ol.c-flow-section2 li > p:last-of-type {
	font-size: 1.3rem;
	line-height: 1.8;
	text-align: left;
	margin-bottom: 0;
}

/* 5-12 フローセクション3 （2026-07-31ページ削除・欠番） */

/* 6. メディア */
/* 6-1 iframe埋め込み */
.c-iframe-content {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
}
.c-iframe-content iframe {
    position: absolute;
    width: 100%;
    height: 100%;
}

/* 6-2 YouTube動画 */
.c-iframe-youtube {
	position: relative;
	width: 100%;
	aspect-ratio: 16/9;
}
.c-iframe-youtube iframe {
    position: absolute;
    width: 100%;
    height: 100%;
}

/* 6-3 画像横幅100% */
.c-header-img img {
	width: 100%;
	max-width: 1280px;
	height: auto;
}

/* 6-4 画像左寄せ */
div.c-leftImg .img{
	float: left;
	margin-right: 30px;
	width: 35%;
}
div.c-leftImg img {
	width: 100%;
	height: auto;
}

/* 6-5 画像右寄せ */
div.c-rightImg .img{
	float: right;
	margin-left: 30px;
	width: 35%;
}
div.c-rightImg img {
	width: 100%;
	height: auto;
}

/* 6-6 video */
/* 6-7 スクリーンショット（影付き画像） */
.c-screenshot img {
	max-width: calc(100% - 12px);
	height: auto;
	margin: 1rem auto 2rem;
	box-shadow: 0 0 6px #333;
}

/* 6-8 画像幅 100% 中央寄せ */
.c-page-img{
	text-align: center;
}
.c-page-img img {
	width: 100%;
	max-width: 1280px;
	height: auto;
	margin: 0 auto 2rem;
}

/* 6-9 添付ファイル */
ul.c-attach-file{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1%;
	list-style: none;
}
ul.c-attach-file li {
	width: 48%;
	margin: 0 1%;
	list-style: none;
	margin-bottom: 2rem;
	text-align: center;
}
ul.c-attach-file li * {
	width: 100%;
	max-width: 100rem;
	height: auto;
}
ul.c-attach-file li a.pdf {
	background: #f00;
	color: #fff;
	padding: 1rem 2rem;
	border-radius: 0.5rem;
}
ul.c-attach-file li a.pdf::after {
	content: "\f1c1";
	font-family: "Font Awesome 6 Free";
	font-weight:900;
	padding-left:6px;
}

/* 7-1 料金比較1 */
ul.c-price1 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3.2rem;
	list-style: none;
}
ul.c-price1 li {
	width: calc((100% - 6.4rem) / 3);
	background: #fff;
	border-radius: 0.8rem 0.8rem 0 0;
	box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.15);
	padding: 0 2.4rem 2.4rem;
	text-align: center;
}
ul.c-price1 li::before {
	content: "";
	display: block;
	height: 0.8rem;
	background: #c8c8c8;
	border-radius: 0.8rem 0.8rem 0 0;
	margin: 0 -2.4rem 2.4rem;
}
ul.c-price1 li:nth-child(2)::before {
	background: var(--color-price1-bar2, #4a90e2);
}
ul.c-price1 li:nth-child(3)::before {
	background: #3a3a3a;
}
ul.c-price1 li > p:first-of-type {
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 1.6rem;
}
ul.c-price1 li > p:first-of-type span {
	display: block;
	font-size: 1.2rem;
	color: #888;
}
ul.c-price1 li > p:nth-of-type(2) {
	font-size: 1.4rem;
	line-height: 1.8;
	text-align: left;
	margin-bottom: 1.6rem;
}
ul.c-price1 li > p:nth-of-type(3) {
	color: var(--color-price-num, #3c5ec8);
	font-family: "Oswald", sans-serif;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 1.6rem;
}
ul.c-price1 li > p:nth-of-type(3)::before {
	content: "\f0d6";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 2rem;
	margin-right: 0.8rem;
}
ul.c-price1 li table {
	width: 100%;
	font-size: 1.3rem;
	line-height: 1.5;
	border-collapse: collapse;
	text-align: left;
}
ul.c-price1 li table tr:nth-child(even) {
	background: #f5f5f5;
}
ul.c-price1 li table th {
	border-bottom: 1px solid #999;
	font-weight: bold;
	padding: 0.8rem 0.6rem;
}
ul.c-price1 li table td {
	border-bottom: 1px solid #ddd;
	padding: 0.8rem 0.6rem;
}

/* 7-2 料金比較2 */
ul.c-price2 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4.8rem 4rem;
	list-style: none;
	padding-top: 2.4rem;
}
ul.c-price2 li {
	width: calc((100% - 4rem) / 2);
	border: 1px solid var(--color-price2-a, #4a90e2);
	border-radius: 1.6rem;
	position: relative;
	padding: 4rem 4rem 3.2rem;
}
ul.c-price2 li:nth-child(even) {
	border-color: var(--color-price2-b, #6fa294);
}
ul.c-price2 li > p:first-of-type {
	position: absolute;
	top: -2.4rem;
	left: 50%;
	transform: translateX(-50%);
	background: var(--color-price2-a, #4a90e2);
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	border-radius: 2.4rem;
	padding: 0.8rem 4rem;
	white-space: nowrap;
	margin-bottom: 0;
}
ul.c-price2 li:nth-child(even) > p:first-of-type {
	background: var(--color-price2-b, #6fa294);
}
ul.c-price2 li dl {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	border-bottom: 1px solid #ccc;
}
ul.c-price2 li dl dt {
	font-size: 2rem;
	font-weight: bold;
	border-top: 1px solid #ccc;
	padding: 1.6rem 0;
}
ul.c-price2 li dl dt span {
	font-size: 1.2rem;
}
ul.c-price2 li dl dd {
	font-family: "Oswald", sans-serif;
	font-size: 2.4rem;
	font-weight: 700;
	border-top: 1px solid #ccc;
	text-align: right;
	padding: 1.6rem 0;
}
ul.c-price2 li dl dd span {
	font-size: 1.2rem;
	font-weight: normal;
}
ul.c-price2 li dl + p {
	font-size: 1.2rem;
	margin: 1.6rem 0 0;
}

/* 7-3 料金比較3 */
ul.c-price3 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	list-style: none;
}
ul.c-price3 li {
	width: calc(100% / 3);
	text-align: center;
}
ul.c-price3 li > p:first-of-type {
	background: #fff;
	box-shadow: 0 0.2rem 1.2rem rgba(0, 0, 0, 0.15);
	color: var(--color-price3-num1, #a89968);
	font-family: "Oswald", sans-serif;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.4;
	position: relative;
	padding: 1.6rem 0;
	margin-bottom: 0;
}
ul.c-price3 li:nth-child(2) > p:first-of-type {
	color: var(--color-price3-num2, #b22a35);
}
ul.c-price3 li:nth-child(3) > p:first-of-type {
	color: var(--color-price3-num3, #2b5cb8);
}
ul.c-price3 li > p:last-of-type {
	background: var(--color-price3-bg1, #4a5184);
	color: #fff;
	font-family: "Oswald", sans-serif;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.4;
	padding: 2rem 0;
	margin-bottom: 0;
}
ul.c-price3 li:nth-child(2) > p:last-of-type {
	background: var(--color-price3-bg2, #232b66);
}
ul.c-price3 li:nth-child(3) > p:last-of-type {
	background: var(--color-price3-bg3, #101c4f);
}
ul.c-price3 li > p:last-of-type span {
	font-size: 1.4rem;
	font-weight: normal;
	margin-left: 0.6rem;
}

/* 7-4 料金比較4 */
table.c-price4 {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0.3rem;
	text-align: center;
}
table.c-price4 tr:first-child th {
	background: var(--color-price4-th, #5b7fd0);
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.5;
	padding: 1.2rem;
}
table.c-price4 tr:first-child th:first-child {
	width: 28%;
}
table.c-price4 tr + tr th,
table.c-price4 td {
	background: var(--color-price4-td-bg, #e8edf9);
	color: var(--color-price-num, #3c5ec8);
	font-family: "Oswald", sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	vertical-align: middle;
	padding: 2.4rem 1.2rem;
}
table.c-price4 td span {
	font-size: 1.2rem;
}

/* 7-5 料金比較5 */
.c-price5 > p {
	background: var(--color-price5-th, #7cbf6b);
	color: #fff;
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	border-radius: 0.8rem 0.8rem 0 0;
	padding: 1.2rem;
	margin-bottom: 0;
}
.c-price5 table {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
}
.c-price5 table tr:nth-child(odd) {
	background: #f7f7f7;
}
.c-price5 table th,
.c-price5 table td {
	border-bottom: 1px solid #e5e5e5;
	font-size: 1.8rem;
	line-height: 1.5;
	padding: 1.6rem;
}
.c-price5 table tr:first-child th {
	background: #d9d9d9;
	font-weight: bold;
}

/* 7-6 料金比較6 */
table.c-price6 {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
}
table.c-price6 th,
table.c-price6 td {
	border: 1px solid #e0e0e0;
	font-size: 1.8rem;
	line-height: 1.5;
	vertical-align: middle;
	padding: 1.6rem;
}
table.c-price6 tr:first-child th:first-child {
	background: #d9d9d9;
}
table.c-price6 tr:first-child th:nth-child(2) {
	background: var(--color-price6-th1, #4ba3dc);
	color: #fff;
}
table.c-price6 tr:first-child th:nth-child(3) {
	background: var(--color-price6-th2, #4472c4);
	color: #fff;
}


@media screen and (max-width: 1279px) {
	.c-st1 p span::before,
	.c-st1 p span::after {
		width: 12px;
	}
}/* max-width 1279px */

@media screen and (max-width: 1025px) {
	.c-concept { 
		flex-direction: column;
	}
	.c-concept .concept-left {
		width: 96%;
		margin: 0 auto;
	}
	.c-concept .tit {
		margin: 0 auto;
	}
	.c-concept .catchcopy {
		font-size: 3.6rem;
		text-align: center;
	}
	.c-concept .catchcopy br {
		display: none;
	}
	.c-concept .concept-right {
		width: 96%;
		margin: 0 auto;
	}
	.c-concept .concept-bg {
		font-size: 6rem;
	}
	.c-concept .concept-right p br {
		display: none;
	}

	ul.c-before-after li:first-child::after {
		font-size: 12rem;
	}
	ul.c-fourColumns li {
		width: 31.3333%;
	}
	ul.c-fiveColumns li {
		width: 23%;
	}
	ul.c-sixColumns li {
		width: 23%;
	}
	.c-flex-container-three > * {
		width: 48%;
	}
	.c-flex-container-four > * {
		width: 31.3333%;
	}
	div.c-flow-ol-container ol {
		flex-direction: column;
		background: linear-gradient(to bottom, #f0f2f4, #999);
	}
	div.c-flow-ol-container ol li {
		width: 100%;
		padding: 30px 0;
		background: url(/images/icons/flow-bottom-start.svg) no-repeat center bottom, url(/images/icons/flow-bottom-end.svg) no-repeat center top;
		background-size: 160px auto;
	}
	div.c-flow-ol-container ol li:last-child {
		background: url(/images/icons/flow-bottom-end.svg) no-repeat center top;
		background-size: 160px auto;
		border: none;
	}
	div.c-flow-ol-container ol li:first-child {
		background: url(/images/icons/flow-bottom-start.svg) no-repeat center bottom;
		background-size: 160px auto;
	}
	.c-flow-section-container section {
		width: calc(50% + 6rem);
	}
	.c-flow-section-container section:nth-child(odd) {
		margin-left: calc(50% - 6rem);
	}
	.c-flow-section-container h3::before {
		width: 3rem;
		padding: 0.3rem 0;
		margin-right: 0.3rem;
	}
	.c-flow-section-container div.img {
		width: 12rem;
	}
	.c-page-parent li {
		min-height: 16.0rem;
	}
	.c-page-parent li a {
		font-size: 2.2rem;
	}
	.c-card1-container section,
	.c-card2-container section,
	.c-card3-container section{
		width: 48%;
	}


	.c-year::before {
		top: 0;
		left: 7.8rem;
		width: 6px;
		height: 100%;
	}
	.c-year > ul {
		flex-direction: column;
	}
	.c-year > ul > li {
		flex-direction: row;
	}
	.c-year > ul > li + li {
		margin: 1.5rem 0;
	}
	.c-year-time::before {
		right: 0;
		left: auto;
		bottom: auto;
		top: 50%;
		transform: translateX(50%) translateY(-50%) rotate(45deg);
	}
	.c-year-time::after {
		top: 50%;
		left: auto;
		bottom: auto;
		right: -3rem;
		transform: translateY(-50%);
	}
	.c-year-container {
		padding-left: 4rem;
		padding-top: 0;
	}
	.c-year-container ul {
		flex-direction: column;
	}
	.c-year-container li {
		margin: 0.5rem 0 0.6rem;
		-ms-writing-mode: inherit;
		writing-mode: inherit;
		text-orientation: inherit;
	}
	.c-year-container li span {
		-webkit-text-combine: inherit;
		-ms-text-combine-horizontal: inherit;
		text-combine-upright: inherit;
	}
	.c-deputy1 .right {
		margin-right: 2.4rem;
	}
	.c-deputy2 .philosophy-txt {
		margin-bottom: 3.2rem;
	}
	.c-deputy3-container {
		flex-direction: column;
	}
	.c-deputy3 .left {
		width: 100%;
	}
	.c-deputy3 .c-lead {
		margin-bottom: 3.2rem;
		line-height: 1.4;
	}
	.c-deputy3 .txt {
		line-height: 2.4;
	}
	.c-deputy3 .name {
		margin-top: 2.4rem;
	}
	.c-deputy3 .right {
		width: 100%;
		margin: 4.8rem 0 0;
	}
	.c-deputy3 .right .img {
		display: flex;
		justify-content: flex-end;
	}
	.c-deputy4 {
		padding: 12rem 2.4rem 2.4rem;
	}
	.c-deputy4::before {
		font-size: 7.2rem;
		top: 2.4rem;
		left: 2.4rem;
		z-index: 0;
	}
	.c-deputy4 .name {
		margin-top: 1.6rem;
	}
	.c-deputy4-container {
		flex-direction: column;
		margin-top: 4rem;
	}
	.c-deputy4-container > * {
		width: 100%;
	}
	.c-deputy4-container .img {
		margin: 0 0 2.4rem;
		text-align: center;
	}
	.c-catch1 {
		max-width: 720px;
	}
	.c-catch2 {
		max-width: 720px;
	}
	.c-st1 {
		max-width: 500px;
	}
	.c-st1 p {
		font-size: 3.2rem;
		line-height: 8.8rem;
	}
	.c-st2 {
		max-width: 500px;
	}
	.c-st2 p {
		font-size: 3.2rem;
		line-height: 8.8rem;
	}
	.c-st3 p {
		font-size: 3.2rem;
		line-height: 8.8rem;
	}
	ul.c-worry1 li {
		width: calc((100% - 2.4rem) / 2);
	}
	ul.c-staff1 li,
	ul.c-staff2 li {
		width: calc((100% - 4rem) / 2);
	}
	ul.c-staff3 li {
		width: calc((100% - 2.4rem) / 2);
	}
	ul.c-customer3 li {
		width: calc((100% - 3.2rem) / 2);
	}
	ul.c-price1 li {
		width: calc((100% - 3.2rem) / 2);
	}
}/* max-width 1025px */

@media screen and (max-width: 600px) {
	.c-iframe-content {
		aspect-ratio: 16 / 9;
	}
	.c-iframe-content iframe {
		inset: 0;
	}
	.c-breadcrumb {
		overflow-x: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		height: 30px;
		padding: 8px 1%;
		margin-top: 5px;
	}

	.c-breadcrumb::-webkit-scrollbar {
		height: 5px;
	}
	.c-breadcrumb::-webkit-scrollbar-track {
		background: #eee;
	}
	.c-breadcrumb::-webkit-scrollbar-thumb {
		background: #999;
	}

	.c-concept .catchcopy br {
		display: inherit;
	}
	.c-concept .concept-bg {
		font-size: 4.8rem;
	}
	ul.c-before-after li:first-child::after {
		font-size: 10rem;
	}
	ul.c-before-after li:first-child::before,
	ul.c-before-after li:last-child::before {
		font-size: 2.8rem;
		margin-bottom: 0.6rem;
	}
	.c-conversion a {
		padding: 2.8rem 0;
		font-size: 2.8rem;
	}
	.c-miniConversion {
		width: 100%;
	}
	.c-miniConversion a {
		padding: 2.0rem;
		font-size: 2.0rem;
	}
	/* 3-10 CTA 1 */
	.c-cta1-container section {
		flex: 1 1 100%;
		border-inline-start: none;
		border-block-start: 1px solid rgba(255, 255, 255, 0.28);
	}
	.c-cta1-container section:first-child {
		border-block-start: none;
	}


	div.c-largeT table thead {
		display: none;
	}
	div.c-largeT table tbody tr {
		background: #fff;
	}
	div.c-largeT table tbody th {
		background: #f0f2f4;
		display: block;
		border: none;
	}
	div.c-largeT table tbody td {
		display: flex;
		border-left: none;
		border-right: none;
	}
	div.c-largeT table tbody td::before {
		content: attr(data-label);
		font-weight: bold;
		flex-shrink: 0;
		margin-right: 1.6rem;
	}
	div.c-largeT table tbody td:last-child {
		padding-bottom: 4rem;
	}
	dl.c-table {
		flex-direction: column;
		border-top: 1px solid #ddd;
	}
	dl.c-table dt {
		width: 100%;
		padding: 1.4rem 0.8rem 0.2rem;
		background: none;
		font-weight: bold;
		border-bottom: none;
	}
	dl.c-table dd {
		width: 100%;
		padding: 0.2rem 0.8rem 1.4rem;
	}
	.c-flex-container-four > * {
		width: 48%;
	}
	.c-related-article-container {
		flex-direction: column;
	}
	.c-related-article-box {
		width: 100%;
		margin-bottom: 3rem;
	}
	.c-related-article-box div.img img {
		width: 18rem;
		height: 12rem;
	}
	.c-related-article-box div.txt {
		width: calc(100% - 19rem);
	}
	div.c-leftImg .img,
	div.c-rightImg .img {
		float: inherit;
		margin: 0 auto 1rem;
		width: 60%;
	}
	.c-page-parent li {
		min-height: 14.0rem;
	}
	.c-page-parent li a {
		font-size: 2.0rem;
	}
	
	/* 06-11 */
	.c-card1-container section {
		width: 94%;
		margin: 0 3% 5%;
	}
	.c-card2-container section {
		width: 94%;
		margin: 0 3% 5%;
	}
	.c-card3-container section {
		width: 94%;
		margin: 0 3% 5%;
		padding: 2.6rem 5.25rem 2.25rem 1.8rem;
	}

	.c-flow-section-container {
		background: none;
	}
	.c-flow-section-container section {
		width: 100%;
	}
	.c-flow-section-container section:not(:last-child) {
		background: url(/images/icons/flow-bottom-start-gray.svg) no-repeat center bottom;
		padding-bottom: 5rem;
		background-size: 15rem;
	}
	.c-flow-section-container section:nth-child(odd) {
		margin-left: 0;
	}
	.c-pager ul.direct {
		padding: 16px 0 0;
		clear: both;
	}
	.c-deputy1 {
		flex-direction: column;
	}
	.c-deputy1 > * {
		width: 100%;
	}
	.c-deputy1 .right {
		margin: 0 0 4rem;
		padding-top: 4.8rem;
		padding-right: 1.6rem;
	}
	.c-deputy1 .name {
		margin-top: 1.6rem;
	}
	.c-deputy2 p {
		line-height: 2.4;
	}
	.c-deputy2 .c-deputy2-container {
		margin-top: 5.6rem;
	}
	.c-deputy2 .philosophy-txt {
		font-size: 3.2rem;
		border-top: 5px solid var(--color-deco-dark);
		padding-top: 4rem;
		margin-bottom: 2.4rem;
	}
	.c-deputy2 .philosophy-txt::before {
		height: 5px;
		top: -5px;
	}
	.c-deputy4 {
		padding: 10rem 2.4rem 4rem;
	}
	.c-deputy4::before {
		font-size: 5.6rem;
	}
	.c-catch1 p {
		font-size: 2rem;
	}
	.c-catch2 {
		padding: 3.2rem 0;
	}
	.c-catch2 p {
		font-size: 2.4rem;
	}
	.c-catch2::before,
	.c-catch2::after {
		height: 3.2rem;
	}
	.c-catch3 .c-catch3-title {
		font-size: 3.2rem;
		width: 150px;
	}
	.c-catch3 .c-catch3-txt {
		font-size: 2.2rem;
		padding: 5.6rem 0;
	}
	.c-catch3::after {
		width: 150px;
	}
	.c-st1 {
		max-width: 400px;
	}
	.c-st1 p {
		font-size: 2.4rem;
		line-height: 6.4rem;
		letter-spacing: 0.2rem;
	}
	.c-st1 p span::before,
	.c-st1 p span::after {
		width: 8px;
		top: 2px;
	}
	.c-st2 {
		max-width: 400px;
	}
	.c-st2 p {
		font-size: 2.4rem;
		line-height: 6.4rem;
		letter-spacing: 0.2rem;
	}
	.c-st2 p span::before,
	.c-st2 p span::after {
		font-size: 4rem;
	}
	.c-st3 p {
		font-size: 2.4rem;
		line-height: 6.4rem;
		letter-spacing: 0.2rem;
	}
	.c-number1 {
		flex-direction: column;
		gap: 1.6rem;
	}
	.c-number1 > div p:last-child {
		font-size: 7.2rem;
	}
	.c-number2 {
		flex-direction: column;
		gap: 2.4rem;
	}
	.c-number2 dl dd {
		font-size: 5.6rem;
	}
	ul.c-worry1 li {
		width: 100%;
	}
	ul.c-staff1 li,
	ul.c-staff2 li {
		width: calc((100% - 2.4rem) / 2);
	}
	ul.c-staff1,
	ul.c-staff2,
	ul.c-staff3 {
		gap: 2.4rem;
	}
	ul.c-staff3 li {
		padding: 2.4rem 1.6rem;
	}
	ul.c-staff3 li img {
		width: 10rem;
		height: 10rem;
	}
	ul.c-customer1 li {
		flex-direction: column;
		align-items: center;
	}
	ul.c-customer2 li {
		width: 100%;
	}
	ul.c-customer3 {
		row-gap: 8rem;
	}
	ul.c-customer3 li {
		width: 100%;
	}
	ol.c-numlist1 {
		padding: 2rem 2.4rem;
	}
	ol.c-numlist2 {
		padding: 2.4rem 2rem;
	}
	.c-document1 {
		padding: 2.4rem 2rem;
	}
	.c-document2 {
		flex-direction: column;
		padding: 4rem 2rem 2.4rem;
	}
	.c-document2::before {
		width: 100%;
		min-height: 10rem;
	}
	.c-document2 > ul {
		padding: 2rem;
	}
	dl.c-faq2 > div {
		padding: 2rem 1.2rem;
	}
	ul.c-cta3 li {
		width: 100%;
	}
	.c-cta4 {
		padding: 2.8rem 2rem;
	}
	.c-cta4 > img {
		position: static;
		height: 18rem;
	}
	.c-cta5 {
		padding: 3.2rem 2rem;
	}
	.c-cta6 {
		margin-top: 6rem;
		padding: 3.2rem 2rem;
		text-align: center;
	}
	.c-cta6 > img {
		position: static;
		height: auto;
		width: 16rem;
	}
	.c-cta6 > div ul {
		justify-content: center;
	}
	ol.c-flow2 {
		gap: 3.6rem;
	}
	ol.c-flow2 li {
		width: 100%;
	}
	ol.c-flow3 li {
		width: 100%;
		margin-bottom: 2.4rem;
	}
	ol.c-flow3 li:not(:last-child)::after {
		display: none;
	}
	ol.c-flow4 li {
		width: 50%;
		margin-bottom: 2.4rem;
	}
	ol.c-flow4 li:not(:last-child)::after {
		display: none;
	}
	ol.c-flow-section2 {
		padding: 3.2rem 2rem;
	}
	ol.c-flow-section2 li {
		width: 100%;
	}
	ol.c-flow-section2 li:not(:last-child)::after {
		top: auto;
		right: auto;
		left: 50%;
		bottom: -2.6rem;
		transform: translateX(-50%) rotate(90deg);
	}
	ul.c-price1 li,
	ul.c-price2 li {
		width: 100%;
	}
	ul.c-price2 li {
		padding: 4rem 2.4rem 2.4rem;
	}
	ul.c-price3 li > p:first-of-type {
		font-size: 2rem;
		padding: 1.2rem 0;
	}
	ul.c-price3 li > p:last-of-type {
		font-size: 1.8rem;
		padding: 1.6rem 0;
	}
	ul.c-price3 li > p:last-of-type span {
		font-size: 1.1rem;
		margin-left: 0.2rem;
	}
	table.c-price4 tr:first-child th,
	table.c-price4 tr + tr th,
	table.c-price4 td {
		font-size: 1.4rem;
		padding: 1.2rem 0.6rem;
	}
	.c-price5 table th,
	.c-price5 table td,
	table.c-price6 th,
	table.c-price6 td {
		font-size: 1.4rem;
		padding: 1.2rem 0.8rem;
	}
}/* max-width 600px */
