@charset "utf-8";
/*@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');*/


:root {
	--main-bg-color: #ffffff;
	--sub-bg-color: #eff1f3;
	
	--main-txt-color :#333333;
	--sub-txt-color :#595756;
	--bs-white:#ffffff;
	--bs-gray: #B5B5B5;
	--bs-gray-dark: #757575;
	--bs-gray-light: #cecccb;
	--bs-gray-light-02: #cfeddb;

	--bs-light: #f8f8f8;
	--bs-dark: #333333;
	--bs-dark-rgb: 51, 51, 51;

	--bs-primary: #123d83;
	--bs-primary-rgb: 18, 61, 131;
/*	--bs-primary-light: #6FC994;
	--bs-primary-light-02: #CFEDDB;*/
	

	--bs-secondary:#e72744;
	--bs-secondary-rgb: 231, 39, 68;
/*	--bs-secondary-light: #F7C36C;
	--bs-secondary-light-02: #FCEBCE;*/

	--bs-success: #198754;
	--bs-info: #0dcaf0;
	--bs-warning: #f2eb00;
	--bs-warning-rgb: 242, 235, 0;
	--bs-danger: #EB2000;
	--bs-danger-light: #F37966;

	--bs-danger-rgb: 235, 31, 0;
	
	--def-width: 96%;
	--def-max-width: 1110px;
/*	--def-max-width-02: 1200px;
	--def-max-width-mini: 600px;*/

	--def-font-family: 'Noto Sans JP', sans-serif;
	--en-font-family: 'Roboto', sans-serif;

	--font-size--bs: 16px;
	--font-size--sm: 12px;
	--font-size--md: 22px;
	--font-size--lg: 28px;
	--font-size--xl: 32px;
	--font-size--xxl: 40px;
	--font-size--xxxl: 50px;

	--filter-box-shadow: drop-shadow(0px 0px 10px rgba(var(--bs-primary-rgb), 0.2));

	--sec-padding: 80px 0;
	--border-radius-bs: 15px;
}
@media (max-width: 992px) {
	:root {
		--font-size--bs: 16px;
		--font-size--sm: 12px;
		--font-size--md: 22px;
		--font-size--lg: 28px;
		--font-size--xl: 32px;
		--font-size--xxl: 40px;
		--font-size--xxxl: 50px;
	}
}
@media (max-width: 768px) {
	:root {
		--font-size--bs: 16px;
		--font-size--sm: 12px;
		--font-size--md: 20px;
		--font-size--lg: 24px;
		--font-size--xl: 28px;
		--font-size--xxl: 32px;
		--font-size--xxxl: 40px;

		--sec-padding: 60px 0;
	}
}
@media (max-width: 576px) {
	:root {
		--font-size--bs: 16px;
		--font-size--sm: 12px;
		--font-size--md: 20px;
		--font-size--lg: 22px;
		--font-size--xl: 26px;
		--font-size--xxl: 30px;
		--font-size--xxxl: 36px;

		--sec-padding: 60px 0;
		--home-sec-top-margin: -60px;
		--border-radius-bg: 60px 60px 0 0;
		--border-radius-bg-single: 60px;
		--border-radius-bs: 20px;

		--bs-padding: 40px;
	}
}




/* リスト要素をリセットする ---------------- */
dl,dt,dd,ol,ul,li	{
	list-style-position: outside;
	list-style-type: none;
}

/* ===================================================================

	スタイルの設定

=================================================================== */
html {
	scroll-behavior: smooth;
	font-size:var(--font-size--bs);
}
body {
	color:#000;
	line-height:1.5;
	margin:0;
	background:#fff url(../img/bk.png) repeat top center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-feature-settings: "palt";
	letter-spacing: .1em;
}
#contents {
	box-sizing: border-box;
}
#contents * {
	box-sizing: border-box;
}
img {
	max-width: 100%;
	height: auto;
}



/* ---------------- 上書き ------------- */
strong {font-weight:bold;}
p,li,dl,dt,dd {line-height:1.8;}
.red{	color:#F40027;}
.red2{	color:#DC0000;}
.blue{	color:blue;}
.blue{	color:blue;}
.txt-left {	text-align:left;}
.txt-right {	text-align:right;}

.bg {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 800;
	background-color: rgba(51,51,51,0.7);
	display: none;
}

/* ===================================================================
	通常のリンク
=================================================================== */
a {
	transition: all .3s;
}
a:link {
	color: #558BC6;
	text-decoration: none;
}
a:visited {
	color: #558BC6;
	text-decoration:none;
}
a:hover {
	color: #7BA8DB;
	text-decoration:none;
/*	opacity: 0.7;*/
}
a:active {
	color: #7BA8DB;
	text-decoration:none;
}
/* メインエリアはリンクにアンダーライン */
/*#main a{
	text-decoration:underline;
}*/

/* ===================================================================
	#header
	ヘッダー
=================================================================== */
header {
	position: fixed;
	width: var(--def-width);
	margin:  0 auto;
	padding: 10px 0;
	display: flex;
	justify-content: flex-end;
	z-index: 1000;
}

.header_contact a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	height: 60px;
	padding: 0 1.5em;
	border-radius: 30px;
	background: var(--bs-secondary);
	font-size: var(--font-size--md);
	font-weight: 700;
	color: var(--bs-white);
}

/* ===================================================================
	#footer
	フッター
=================================================================== */

footer {
	padding: 10px 0;
}

address {
	margin: 0;
	font-style: normal;
	text-align: center;
	font-weight: 500;
	letter-spacing: 0;
}

/* ===================================================================
	メインエリア
=================================================================== */

#main {
}

/* 共通
--------------------------------------------------------- */
.sec_inner {
	max-width: var(--def-max-width);
	width: var(--def-width);
	margin: 0 auto;
}

h2 {
	margin: 0 auto 40px;
	font-size: var(--font-size--xxl);
	font-weight: 700;
	color: var(--bs-primary);
	text-align: center;
}


.marker {
    background: linear-gradient(transparent 60%, #fce55b 60%);
}

/* イントロ
--------------------------------------------------------- */
.intro {

}
.intro_img {
	max-width: 1440px;
	width: 100%;
	margin: 0 auto;
}


/* なぜ進まないのか？
--------------------------------------------------------- */
.what {
	padding: var(--sec-padding);
	background: var(--sub-bg-color);
}
.problem_list {
	margin-bottom: 40px;
	display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 40px 20px;
}
.problem_list li {
	padding: 20px;
	border-radius: var(--border-radius-bs);
	background: var(--bs-white);
	filter: var(--filter-box-shadow);
}
.problem_img {
	margin: 0 auto 15px;
	text-align: center;
}
.problem_list li h3 {
	margin: 0 auto 15px;
	text-align: center;
	font-size: var(--font-size--lg);
	font-weight: 700;
	color: var(--bs-primary);
}

.problem_txt {
	font-size: var(--font-size--lg);
	font-weight: 700;
	text-align: center;
}
.problem_txt strong {
	color: var(--bs-secondary);
}



/* トレーニング
--------------------------------------------------------- */
.training_what {
	padding: var(--sec-padding);
}


.training_what_list {
	margin-bottom: 40px;
	display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 40px 20px;
}
.training_what_list li {
	padding: 20px;
	border-radius: var(--border-radius-bs);
	background: var(--bs-white);
	filter: var(--filter-box-shadow);
}
.training_what_img {
	margin: 0 auto 15px;
	text-align: center;
}
.training_what_list li h3 {
	margin: 0 auto 15px;
	text-align: center;
	font-size: var(--font-size--lg);
	font-weight: 700;
	color: var(--bs-primary);
}


/* トレーニングのフロー
--------------------------------------------------------- */
.training_flow {
	padding: var(--sec-padding);
	background: var(--sub-bg-color);
}
.training_flow_list {
	display: grid;
    grid-template-columns: repeat(auto-fit, minmax(246px, 1fr));
    gap: 40px 20px;
}
.training_flow_list li {
	border-radius: var(--border-radius-bs);
	background: var(--bs-white);
	filter: var(--filter-box-shadow);
}
.flow_day {
	display: inline-block;
	padding: 8px 20px;
	background: var(--bs-primary);
	color: var(--bs-white);
	border-radius: var(--border-radius-bs) 0 var(--border-radius-bs) 0;
	font-weight: 900;
	font-family: var(--en-font-family);
	font-size: var(--font-size--sm);
	line-height: 1;
}
.flow_day span {
	font-size: var(--font-size--md);
}
.training_flow_list li h3 {
	margin: 15px 20px;
	font-size: var(--font-size--lg);
	font-weight: 700;
	color: var(--bs-primary);
	text-align: center;
	line-height: 1.4;
}
.training_flow_list li .flow_txt {
	margin: 0 20px 20px;
}

.flow_link {
	margin: 0 20px 20px;
	font-size: var(--font-size--sm);
}


/* 研修内容
--------------------------------------------------------- */
.training_detail {
	padding: var(--sec-padding);
}


.session_detail {
	margin-bottom: 40px;
	border-radius: var(--border-radius-bs);
    background: var(--bs-white);
    filter: var(--filter-box-shadow);
}
.session_header {
/*	display: flex;
	gap: 10px;*/
}

.session_detail h3 {
	margin: 10px 20px 20px;
	font-size: var(--font-size--xl);
	font-weight: 700;
	color: var(--bs-primary);
}
.session_num {
	display: inline-block;
	padding: 8px 20px;
	background: var(--bs-primary);
	color: var(--bs-white);
	border-radius: var(--border-radius-bs) 0 var(--border-radius-bs) 0;
	font-weight: 900;
	font-family: var(--en-font-family);
	font-size: var(--font-size--md);
} 

.session_btm {
	padding: 0 20px 20px;
}
.session_btm h4 {
	margin-top: 15px;
	font-size: var(--font-size--md);
	color: var(--bs-primary);
}
.session_btm h4:first-of-type {
	margin-top: 0;
}
.session_theme {
	font-size: var(--font-size--md);
	font-weight: 700;
}

/* 成果物 */
.deliverables {
	padding: 15px;
	border-radius: var(--border-radius-bs);
	background: var(--sub-bg-color);
}
.deliverables h4 {
	margin-bottom: 5px;
}
.deliverables ul li {
	position: relative;
	padding-left: 1.6em;
	font-weight: 500;
}
.deliverables ul li:before {
    position: absolute;
    top: 0.1em;
    left: 0;
    content: '';
    display: block;
    height: 1em;
    width: 1em;
    background: var(--bs-secondary);
    border-radius: 2px;
    clip-path: polygon(80% 0, 100% 0, 100% 100%, 50% 100%, 50% 80%, 80% 80%);
    transform: rotate(45deg);
}


/* ツール比較 */
.tool_comparison {
	margin-top: 60px;
}
.tool_comparison h3 {
	margin-bottom: 10px;
	font-size: var(--font-size--lg);
	font-weight: 700;
	color: var(--bs-primary);
	text-align: center;
}

.tbl_tool_comparison {
	width: 100%;
	background: var(--bs-white);
}
.tbl_tool_comparison th,
.tbl_tool_comparison td {
	padding: 1rem 0.5rem;
	text-align: center;
	background: var(--bs-white);
	border: 1px solid var(--bs-primary);
	vertical-align: middle;
}
.tbl_tool_comparison th {
	font-weight: 700;
}
.tbl_tool_comparison thead th {
	background: var(--bs-primary);
	
	color: var(--bs-white);
}

.tbl_tool_comparison .ai_tools th {
	background: rgba(0, 74, 119,0.2);
}
.tbl_tool_comparison .ss_gas th {
	background: rgba(52, 168, 83,0.2);
}
.tbl_tool_comparison .ai_pg th {
	background: rgba(217, 119, 87,0.2);
}
.tbl_tool_comparison .notebooklm th {
	background: rgba(113, 130, 255,0.2);
}




/* 研修パッケージ詳細・料金
--------------------------------------------------------- */
.price {
	padding: var(--sec-padding);
}
.target_detail {
	max-width: 800px;
	margin: 0 auto;
	padding: 0;
	border-radius: var(--border-radius-bs);
	border: 4px solid var(--bs-primary);
	background: var(--bs-white);
}
.target_detail h3 {
	padding: 10px;
	font-size: var(--font-size--lg);
	text-align: center;
	background: var(--bs-primary);
	color: var(--bs-white);
}
.target_inner {
	padding: 20px;
}
.target {
	margin-bottom: 15px;
}
.target:last-of-type {
	margin-bottom: 0px;
}
.target dt {
	font-weight: 700;
	color: var(--bs-primary);
}
.target ul li {
	position:relative;
	padding-left: 25px;
}
.target ul li:before {
	position:absolute;
	top: 0.1em;
	left: 0;
	content:'';
	display:block;
	height: 1em;
	width: 1em;
	background: var(--bs-secondary);
	border-radius: 2px;
	clip-path: polygon(80% 0, 100% 0, 100% 100%, 50% 100%, 50% 80%, 80% 80%);
	transform: rotate(45deg);
}


.package_detail {
	max-width: 800px;
	margin: 0 auto 40px;
	padding: 0;
	border-radius: var(--border-radius-bs);
	border: 4px solid var(--bs-secondary);
	background: var(--bs-white);
}
.package_detail h3 {
	padding: 10px;
	font-size: var(--font-size--lg);
	text-align: center;
	background: var(--bs-secondary);
	color: var(--bs-white);
}
.package_price {
	margin: 10px 20px 30px;
	text-align: center;
}
.price_detail {
	font-weight: 900;
}
.price_num {
	font-family: var(--en-font-family);
	font-size: var(--font-size--xxxl);
	color: var(--bs-secondary);
}
.plan_detail {
	display: flex;
	padding: 0.75em;
	border-bottom: 1px solid rgba(var(--bs-primary-rgb),0.2);
}
.plan_detail:first-of-type {
	border-top: 1px solid rgba(var(--bs-primary-rgb),0.2);
}
.plan_detail dt {
	width: 4em;
	font-weight: 700;
}

/* CTA
--------------------------------------------------------- */
.cta_footer {
	position: relative;
	padding: var(--sec-padding);
	text-align: center;
	color: var(--bs-white);
}
.cta_footer::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -2;
	background: var(--bs-primary) url(../img/footer_bk.jpg) no-repeat center bottom;
	background-size: cover;
}
.cta_footer::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(var(--bs-primary-rgb), 0.8);
	z-index: -1;
	mix-blend-mode: multiply;
}
.cta_footer h2 {
	color: var(--bs-white);
}

.footer_btn_area {
	margin: 40px auto 0;
	display: flex;
	justify-content: center;
}

a.footer_btn_contct {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	width: 100%;
	max-width: 300px;
	height: 60px;
	padding: 0 1.5em;
	border-radius: 30px;
	background: var(--bs-secondary);
	font-size: var(--font-size--md);
	font-weight: 700;
	color: var(--bs-white);
}


/* ===================================================================
	レスポンシブ対応用
=================================================================== */


@media (max-width: 1440px) {
}

@media (max-width: 1200px) {
}

@media (max-width: 1080px) {
}

@media (max-width: 992px) {
}

@media (max-width: 768px) {
}

@media (max-width: 576px) {
}
