@charset "UTF-8";

/* ==========================================================================
   利用定款ページ（/terms）専用スタイル
   既存 qa.css の設計トークン（フォントサイズ・余白の calc(vw) 手法、配色）に準拠
   ========================================================================== */

.terms_cont {padding: calc(184 / 1920 * 100vw) 0; width: 100%; background-color: #FAFAFA;}
.terms_main {max-width: calc(1200 / 1920 * 100vw); margin: 0px auto;}

/* 目次ボックス */
.terms_toc {background-color: #FFF; border: 1px solid #E8E8E8; border-radius: calc(10 / 1920 * 100vw); padding: calc(40 / 1920 * 100vw) calc(48 / 1920 * 100vw);}
.terms_toc_title {font-size: calc(20 / 1920 * 100vw); font-weight: 700; margin-bottom: calc(20 / 1920 * 100vw); position: relative; padding-left: calc(30 / 1920 * 100vw);}
.terms_toc_title:before {content: ""; width: calc(16 / 1920 * 100vw); height: calc(14 / 1920 * 100vw); background-color: #004498; clip-path: polygon(0% 0%, 0% 100%, 100% 50%); position: absolute; left: 0; top: calc(50% - calc(7 / 1920 * 100vw));}
.terms_toc ul {display: flex; flex-wrap: wrap; gap: calc(10 / 1920 * 100vw) calc(30 / 1920 * 100vw);}
.terms_toc ul li {width: calc(50% - calc(15 / 1920 * 100vw));}
.terms_toc ul li a {font-size: calc(15 / 1920 * 100vw); line-height: 160%; color: #001440; position: relative; padding-left: calc(18 / 1920 * 100vw); display: inline-block;}
.terms_toc ul li a:before {content: ""; width: calc(6 / 1920 * 100vw); height: calc(6 / 1920 * 100vw); background-color: #004498; border-radius: 50%; position: absolute; left: 0; top: calc(50% - calc(3 / 1920 * 100vw));}
.terms_toc ul li a:hover {color: #004498; text-decoration: underline;}

/* 条文リスト */
.terms_list {margin-top: calc(60 / 1920 * 100vw);}
.terms_item {background-color: #FFF; padding: calc(48 / 1920 * 100vw); margin-bottom: calc(24 / 1920 * 100vw); border-radius: calc(10 / 1920 * 100vw);}
.terms_item h2 {font-size: calc(24 / 1920 * 100vw); font-weight: 700; margin-bottom: calc(24 / 1920 * 100vw); line-height: 150%;}
.terms_item h2 span {color: #004498; margin-right: calc(12 / 1920 * 100vw);}

.terms_item p {font-size: calc(16 / 1920 * 100vw); line-height: 190%; color: #001440;}
.terms_item p.lv0 {margin-bottom: calc(12 / 1920 * 100vw);}
.terms_item p.lv1 {margin-left: calc(24 / 1920 * 100vw); margin-bottom: calc(12 / 1920 * 100vw);}
.terms_item p.lv2 {margin-left: calc(48 / 1920 * 100vw); margin-bottom: calc(10 / 1920 * 100vw); color: #3A4658;}
.terms_item p.lv1sub {font-weight: 700; font-size: calc(18 / 1920 * 100vw); margin-top: calc(24 / 1920 * 100vw); margin-bottom: calc(12 / 1920 * 100vw);}
.terms_item p:last-child {margin-bottom: 0;}

.terms_item.terms_supp,
.terms_item.terms_appendix {background-color: #F0F7FF;}

@media only screen and (max-width:1000px){
.terms_cont {padding: clamp(3.75rem, 0.227rem + 11.27vw, 11.5rem) 0;}
.terms_main {max-width: 1200px; margin: 0px 30px;}

.terms_toc {border-radius: 10px; padding: clamp(1.5rem, 1.045rem + 1.45vw, 2.5rem) clamp(1.25rem, 0.795rem + 1.45vw, 2.25rem);}
.terms_toc_title {font-size: clamp(1.125rem, 0.955rem + 0.55vw, 1.5rem); margin-bottom: 16px; padding-left: 24px;}
.terms_toc_title:before {width: 14px; height: 12px; top: calc(50% - 6px);}
.terms_toc ul {gap: 10px 20px;}
.terms_toc ul li {width: 100%;}
.terms_toc ul li a {font-size: clamp(0.813rem, 0.699rem + 0.36vw, 1rem);}

.terms_list {margin-top: clamp(2.5rem, 1.818rem + 2.18vw, 4rem);}
.terms_item {padding: clamp(1.5rem, 0.909rem + 1.91vw, 2.813rem); margin-bottom: 16px; border-radius: 10px;}
.terms_item h2 {font-size: clamp(1.25rem, 1.023rem + 0.73vw, 1.75rem); margin-bottom: 16px;}
.terms_item p {font-size: clamp(0.875rem, 0.795rem + 0.27vw, 1rem);}
.terms_item p.lv1 {margin-left: 16px;}
.terms_item p.lv2 {margin-left: 28px;}
.terms_item p.lv1sub {font-size: clamp(1rem, 0.886rem + 0.36vw, 1.25rem); margin-top: 20px;}
}
