/* ===================================
   パンくずリスト
   =================================== */
.bread_crumb li:nth-child(3) {
	display: none;
}

/* ===================================
   メイン要素
   =================================== */
main {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-style: normal;
	font-size: 1.2em;
}

/* ===================================
   全体レイアウト
   =================================== */
.mg-whole {
	background: #F9F9F9;
}

.mg-maincontents {
	max-width: 1200px;
	margin: auto;
	padding: 30px 0;
	background: #FFF;
}

.mg-maincontents section {
	max-width: 1000px;
	margin: auto;
}

/* ===================================
   ヘッダーセクション（H1エリア）
   =================================== */
.mg-h1 {
	max-width: 1200px;
	margin: auto;
	padding: 60px 40px;
	background: url(https://www.techs-s.com/wp-content/themes/technoa/img/product/strategy-mg/top-background.png);
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: cover;
	box-shadow: 0 2px 10px 2px rgba(0,0,0,0.1);
}

.mg-h1 > div {
	display: flex;
	justify-content: space-between;
	max-width: 1000px;
	margin: auto;
	background: #FFF;
	border-radius: 15px;
	box-shadow: 0 2px 10px 2px rgba(0,0,0,0.1);
}

.mg-h1 > div img {
	max-width: 450px;
	margin: 20px;
	border-radius: 15px;
}

.mg-h1 div > div {
	position: relative;
	padding: 30px;
	font-size: 1.5em;
}

.mg-h1 div > div p {
	margin-left: 20px;
	line-height: 1.4em;
	font-weight: 500;
}

.mg-h1 div > div div {
	position: absolute;
	top: -25px;
	left: 0;
	padding: 5px 50px;
	background: #12347C;
	color: #FFF;
	font-size: 0.8em;
	font-weight: 500;
	border-radius: 20px 0 0 0;
}

.mg-h1 div > div img {
	width: 90%;
}

/* ===================================
   見出し（H2）
   =================================== */
.mg-h2,
.qa_list h2 {
	position: relative;
	margin-top: 40px!important;
	margin-bottom: 10px!important;
	padding: 16px!important;
	padding-left: 40px!important;
	background: #FFF;
	border: 1px solid #BBB;
	color: #000!important;
	font-size: 1.2em!important;
	font-weight: 500!important;
	text-align: left!important;
	box-shadow: 0 2px 2px 2px rgba(0,0,0,0.1);
}

.mg-h2:before,
.qa_list h2:before {
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 20px;
	height: 100%;
	background: red;
}

h2:after {
	display: none!important;
}

.mg-about-about h2,
.mg-flow h2,
.mg-merit h2 {
	position: relative;
	padding: 100px 40px!important;
	background-color: #FFF;
	background-position: right;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(https://www.techs-s.com/wp-content/themes/technoa/img/product/strategy-mg/top.png);
	color: #000;
	font-weight: 500px!important;
	text-align: left!important;
	box-shadow: 0 2px 5px 1px rgba(0,0,0,0.1);
}

.mg-flow h2 {
	background-image: url(https://www.techs-s.com/wp-content/themes/technoa/img/product/strategy-mg/calc.png);
}

.mg-merit h2 {
	background-image: url(https://www.techs-s.com/wp-content/themes/technoa/img/product/strategy-mg/game.png);
	border-radius: 15px 15px 0 0;
}

.mg-about-about h2 sup {
	font-size: 0.5em;
	vertical-align: top;
}

/* ===================================
   イントロ・段落
   =================================== */
.mg-intro {
	font-size: 1.2em;
	font-weight: 500;
	text-align: center;
}

.mg-paragraph,
.mg-article div {
	margin-bottom: 50px;
	padding: 20px 40px;
	background-color: #FFF;
	border: 1px solid #BBB;
	box-shadow: 0 2px 5px 2px rgba(0,0,0,0.1);
}

.mg-paragraph img {
	width: 300px!important;
	object-fit: contain;
}

/* ===================================
   aboutセクション
   =================================== */
.mg-about-about,
.mg-flow {
	background-color: #FFF;
	border: 1px solid #BBB;
	border-radius: 15px;
	overflow: hidden;
}

.mg-about-about hr,
.mg-flow hr {
	max-width: 800px;
	height: 2px;
	margin: 20px auto 40px auto;
}

.mg-about-about p {
	padding: 0 40px;
	padding-bottom: 40px;
}

.mg-about-about figure {
	max-width: 400px;
}

.mg-sup {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: auto;
	padding: 0 40px 30px 40px;
	font-size: 0.9em;
}

.mg-sup a {
	color: #12347C;
}

.mg-sup a:before {
	content: "≫";
}

/* ===================================
   図・画像
   =================================== */
.mg-figures {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 50px;
}

.mg-figures figure {
	width: 400px;
	height: auto;
	margin: 20px;
}

.mg-figures figure img {
	border-radius: 15px;
}

.mg-figures figcaption {
	margin-top: 5px!important;
	font-size: 0.9em!important;
	font-weight: 700;
	text-align: center;
}

/* ===================================
   フレックスレイアウト
   =================================== */
.mg-flex {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* ===================================
   メリットセクション
   =================================== */
.mg-merit {
	background: #FFF;
	border: 1px solid #CCC;
	border-radius: 15px;
}

.mg-merit > dl {
	margin: 30px;
	padding: 30px;
	background: #FFF;
	border: 1px solid #555;
	border-radius: 15px;
}

.mg-merit > dl dt {
	padding-bottom: 20px;
	font-size: 1.2em;
	font-weight: 700;
}

.mg-merit figure {
	max-width: 600px;
	margin: 30px auto;
}

/* ===================================
   Plusセクション
   =================================== */
.mg-paragraph-plus {
	position: relative;
	margin: 100px 0;
	padding: 80px 0 50px 0;
	background: #fffacd;
	border: 2px solid #555;
	border-radius: 15px;
	box-shadow: 0 0 0 5px #cd853f;
}

.mg-paragraph-plus h3 {
	position: absolute;
	top: -20px;
	width: 100%;
	text-align: center;
}

.mg-paragraph-plus h3 span {
	padding: 10px 20px 15px 20px;
	background: #cd853f;
	border: 2px solid #fffacd;
	border-radius: 5px;
	color: #FFF;
	box-shadow: 0 0 0 5px #cd853f;
}

.mg-paragraph-plus ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.mg-paragraph-plus li dl {
	width: 450px;
	margin: 10px;
	border: 1px solid #000;
	font-weight: 700;
}

.mg-paragraph-plus li dl dt {
	padding: 10px 20px;
	background: #333846;
	color: #FFF;
}

.mg-paragraph-plus li dl dd {
	display: flex;
	align-items: center;
	height: 120px;
	padding: 0 20px;
	background: #FFF;
}

/* ===================================
   フローセクション
   =================================== */
.mg-flow p {
	padding: 30px 50px;
}

.mg-flow figure img {
	object-fit: contain;
}

.mg-flow-h3 {
	position: relative;
	margin-bottom: 0!important;
	padding: 30px 50px;
	font-size: 1.5em!important;
	font-weight: 700;
}

.mg-flow-h3:before {
	position: absolute;
	display: block;
	content: "";
	top: 30px;
	left: 28px;
	height: 40px;
	border: 5px solid #9EAED0;
}

.mg-flow-ol > li {
	position: relative;
	margin-bottom: 50px!important;
}

.mg-flow-ol > li:not(li:last-child):after {
	display: block;
	content: "";
	position: absolute;
	bottom: -40px;
	left: calc(50% - 50px);
	border: 50px solid transparent;
	border-top-width: 30px;
	border-bottom-width: 0;
	border-top-color: red;
}

.mg-flow-ol > li:not(li:nth-child(2)),
.mg-flow-ol > li:nth-child(2) > div:first-child {
	max-width: 400px;
	margin: auto;
	padding: 30px;
	border: 1px solid #555;
	font-size: 1.2em;
	font-weight: 700;
	text-align: center;
}

.mg-flow-ol > li:nth-child(2) > div:first-child {
	padding: 30px 10px;
	background: #EAF0F9;
}

.mg-flow-ol input {
	display: none;
}

#mg-rule-open:checked ~ ol li #mg-label-open {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	max-width: 400px;
	height: 100px;
	margin: auto;
	background: #555;
	color: #FFF;
	font-size: 1.2em;
}

#mg-rule-open:checked ~ ol li #mg-label-open:after {
	display: block;
	width: 100%;
	content: "クリックで展開";
	white-space: pre;
	font-size: 0.8em;
	font-weight: 500;
	text-align: center;
}

#mg-rule-open:checked ~ ol li #mg-label-close {
	display: none;
}

#mg-rule-open ~ ol li #mg-label-close {
	display: block;
	padding: 10px;
	text-align: center;
}

#mg-rule-open ~ ol li #mg-label-open {
	display: none;
}

#mg-rule-open:checked ~ ol li .mg-rule,
#mg-rule-open ~ ol li:nth-child(3) {
	display: none;
}

#mg-rule-open:checked ~ ol li:nth-child(3) {
	display: block;
}

label {
	cursor: pointer;
}

/* ===================================
   ゲームセクション
   =================================== */
.mg-game-section h4 {
	padding-left: 50px!important;
}

.mg-board-chips img {
	border-radius: 15px;
}

.mg-sheet img,
.finance_sheet img {
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.finance_sheet {
	text-align: center;
}

.finance_sheet + div {
	margin-top: 20px;
}

.mg-win {
	margin-bottom: 50px;
	font-size: 1.5em;
	font-weight: 700;
	text-align: center;
}

/* ===================================
   カードセクション
   =================================== */
.mg-card {
	display: flex;
	padding: 0 40px;
}

.mg-card img {
	max-width: 200px;
}

/* ===================================
   決定・リスクセクション
   =================================== */
.mg-decision {
	margin-top: 50px;
	padding-bottom: 10px;
	background: #F4F7FF;
}

.mg-decision dt {
	margin-bottom: 20px;
	padding: 10px 40px;
	background: #165F94;
	color: #FFF;
	font-size: 1.2em;
}

.mg-decision dd {
	padding: 0 40px;
}

.mg-decision ol {
	margin-bottom: 50px;
	padding: 10px;
}

.mg-decision ol li {
	position: relative;
	padding-top: 20px;
	padding-left: 40px;
	counter-increment: mycounter;
}

.mg-decision ol li span {
	display: block;
	margin-bottom: 15px;
	padding: 10px 20px;
	background: #FFF;
	border: 1px solid #999;
	border-radius: 15px;
}

.mg-decision ol li:before {
	content: counter(mycounter)'.';
	position: absolute;
	top: 12px;
	left: 0;
	color: #165F94;
	font-size: 2em;
	font-weight: 700;
}

.mg-decision figure img {
	max-width: 400px;
	margin-bottom: 30px;
	object-fit: contain!important;
}

.mg-risk {
	padding-bottom: 30px;
	background: #ffdead;
}

.mg-risk dt {
	margin-bottom: 20px;
	padding: 10px 40px;
	background: #CB6A17;
	color: #FFF;
	font-size: 1.2em;
}

.mg-risk dd {
	padding: 0 40px;
	padding-bottom: 50px;
}

.mg-risk + p {
	padding: 20px 40px;
}

/* ===================================
   記事セクション
   =================================== */
.mg-article p {
	padding: 15px 0 5px 0;
	text-align: center;
}

.mg-article span {
	padding-bottom: 20px;
	font-size: 0.8em;
}

/* ===================================
   顧客の声
   =================================== */
.mg-customers-voice li {
	position: relative;
	margin: 30px;
	margin-left: 100px;
}

.mg-customers-voice li:before {
	position: absolute;
	display: block;
	content: "";
	top: 20px;
	left: -80px;
	width: 70px;
	height: 70px;
	background: url(https://www.techs-s.com/wp-content/themes/technoa/img/product/strategy-mg/reviewer.svg);
	background-color: #FFF;
	background-size: 90%;
	background-repeat: no-repeat;
	background-position: center bottom -5px;
	border: 2px solid #9EAED0;
	border-radius: 50px;
	box-shadow: 0 0 0 5px #FFF;
}

.mg-customers-voice li div {
	position: relative;
	display: flex;
	justify-content: center;
	max-width: 780px;
	margin-left: 32px;
	margin-right: auto;
	padding: 25px;
	background: #FFF;
	border: 1px solid #555;
	border-radius: 15px;
}

.mg-customers-voice li div:after,
.mg-customers-voice li div:before {
	display: block;
	content: "";
	position: absolute;
	top: 35px;
	left: -32px;
	border: 20px solid transparent;
	border-right-width: 32px;
	border-left-width: 0;
	border-right-color: #000;
}

.mg-customers-voice li div:after {
	left: -31px;
	border-right-color: #FFF;
}

/* ===================================
   ボタン・送信エリア
   =================================== */
.mg-submit {
	margin: 60px auto!important;
	padding: 50px;
	background: repeating-linear-gradient(-45deg, #555, #555 12px, #777 12px, #777 24px);
}

.mg-submit-btn {
	display: flex;
	justify-content: center;
}

.mg-submit a {
	margin-top: 0;
	margin-bottom: 5px;
	padding: 20px 40px;
	background: #FD9134;
	border: 2px solid #FD9134;
	border-radius: 10px;
	color: #FFF;
	font-size: 1.2em;
	font-weight: 700;
	box-shadow: 0 5px #FEC899;
}

.mg-submit a:hover {
	margin-top: 5px;
	margin-bottom: 0;
	background: #FFF;
	color: #FD9134;
	text-decoration: none;
	box-shadow: 0 0 transparent;
}

.mg-btn {
	display: block;
	max-width: 500px;
	margin: 30px auto;
	padding: 20px 30px;
	border: 1px solid #CCC;
	border-radius: 30px;
	font-size: 1.2em;
	font-weight: 700;
	text-align: center;
}

.mg-bottom {
	max-width: 800px;
	margin: auto;
	margin-bottom: 50px;
	padding: 20px 10px;
	background: #333846;
	border: 2px solid #FFF;
	border-radius: 30px;
	color: #FFF;
	font-size: 1.3em;
	font-weight: 700;
	text-align: center;
	box-shadow: 0 0 0 5px #333846;
}

/* ===================================
   背景セクション
   =================================== */
.mg-bg-sky {
	width: 100%!important;
	margin: 50px 0;
	padding: 50px 0;
	background: #EAF0F9;
}

/* ===================================
   Q&Aセクション
   =================================== */
.qa_list {
	margin-bottom: 50px;
	padding: 0;
}

.qa_list ul {
	border: 1px solid #CCC;
	box-shadow: 0 2px 10px 2px rgba(0,0,0,0.1);
}

.qa_list ul li {
	padding: 10px 15px;
}

.qa_list ul li:before {
	content: "Q.";
	padding-right: 10px;
	color: #12347C;
	font-weight: bold;
}

/* ===================================
   その他
   =================================== */
.tag-strategy-mg {
	display: none;
}

.seisanzai-marketing {
	margin-top: 0!important;
	padding: 30px 0;
	background: #E5E5E5;
}

#link_to_news div {
	padding: 30px 20px;
	background: #EAF0F9;
	text-align: center;
}

#link_to_news div a {
	padding: 5px 10px;
	background: #FFF;
	border-radius: 5px;
}

/* ===================================
   レスポンシブ（900px以下）
   =================================== */
@media screen and (max-width:900px) {
	main {
		font-size: 1em;
	}
	
	.mg-h1 {
		padding: 10px;
	}
	
	.mg-h1 > div {
		flex-wrap: wrap;
		justify-content: center;
		margin: 50px 0;
	}
	
	.mg-h1 div > div div {
		top: -40px;
		left: 0;
		width: 100%;
		border-radius: 20px 20px 0 0;
		text-align: center;
	}
	
	.mg-h1 div > div {
		font-size: 2em;
	}
	
	.mg-h1 div > div p {
		text-align: center;
	}
	
	.mg-h1 > div img {
		max-width: 100%;
		margin-bottom: 50px;
		border-radius: 0;
	}
	
	.mg-h2 {
		text-align: center!important;
	}
	
	.mg-h2:before {
		height: 0;
		background: transparent;
		border: 15px solid red;
		border-bottom: 15px solid transparent;
		border-right: 15px solid transparent;
	}
	
	.mg-about-about h2,
	.mg-flow h2 {
		padding: 30px!important;
		background: #12347C;
		background-image: none;
		color: #FFF;
	}
	
	.mg-sup a {
		display: block;
		width: 100%;
		margin: 10px;
		padding: 10px 30px;
		border: 1px solid #CCC;
		border-radius: 5px;
		text-align: center;
	}
	
	.mg-sup a:before {
		display: none;
	}
	
	.mg-flow figure {
		width: 100%;
		overflow: hidden;
	}
	
	.mg-flow figure img {
		width: 100%!important;
	}
	
	.mg-bg-sky {
		padding-top: 0;
		border-radius: 15px 15px 0 0;
	}
	
	.mg-merit-h2 {
		padding: 30px!important;
		background: #12347C;
		color: #FFF!important;
		border-radius: 15px 15px 0 0;
	}
	
	.mg-maincontents {
		background: #F9F9F9;
	}
}

/*    TMS     */

.tms_top {
	display: flex;
	justify-content: center;
	align-items: stretch;
	background: #f4f9fc;
	padding-top: 80px;
}

#tms_title_h2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-bottom: 0;
}

#tms_title_h2 .tms_title_sub {
	color: #175EAB;
	text-align: center;
	font-size: 2.5rem;
}

#tms_title_h2 img + div {
	font-size: 4.2rem;
	background: #FFF;
	text-align: left;
	padding: 10px 25px 35px 25px;
	color: #000;
	width: 450px;
}

#tms_title_h2 span {
	font-size: 2rem;
}

#tms_title_h2 img {
	width: 380px;
	margin: 20px auto;
}

#tms_title_h2 strong {
	display: block;
	font-size: 2.5rem; 
}

.tms-top-main .stats_container {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 40px;
	margin-bottom: 50px;
	font-weight: bold;
}

.stat_uders {
	display: flex;
	align-items: center;
	color: #495466;
}

.stat_uders span {
	color: #005BAC;	
}

.stat_uders span em {
	font-size: 1.5em;
}

.stat_uders p {
	padding-right: 20px;
	border-right: 1px solid #495466;
	font-size: 2rem;
}

.stat_box p {
	color: #495466;
	margin: 0!important;
	padding: 0!important;
}

.stat_box .stat_number {
	font-size: 3rem;
	color: #005BAC;
	line-height: 1.5em;
}

.stat_box .stat_number span {
	font-size: 2rem;
}

.tms-top-main .stats_container .stat_box {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.tms-top-background {
	display: block;
	content: "";
	max-width: 600px;
	width: 100%;
	height: 450px;
	background: url(https://www.techs-s.com/wp-content/themes/technoa/img/product/tms/tms_top.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.tms-btn_cta {
	display: block;
	background: #005BAC;
	color: #fff;
	padding: 15px 40px;
	text-decoration: none;
	border-radius: 5px;
	font-weight: bold;
	max-width: 500px;
	border: 2px solid #FFF;
}

.tms-btn_cta:hover {
	color: #005BAC;
	background: #FFF;
	text-decoration: none;
}

.tms-btn-area {
	text-align: center;
	background: #15337E;
	display: flex;
	justify-content: center;
	padding: 15px;
}

.tms-section-wrap {
	
}

.tms-section-wrap section {
	max-width: 1000px;
	margin: auto;
}

.tms-nav-area {
	font-weight: bold;
	background: #efefef;
	padding: 10px;
}

.tms-nav-area ul {
	display: flex;
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 0;	
}

.tms-nav-area ul li {
	border-left: 1px solid #999;
	border-right: 1px solid #999;
	margin-left: -1px;
	padding: 10px;
	width: 240px;
	text-align: center;
}

#about_tms h3 {
	position: relative;
	text-align: center;
	margin: 80px auto 20px auto;
	border: 5px double #c1d1ec;
	padding: 15px 10px;
	max-width: 600px;
}

#about_tms h3 + p {
	text-align: center;
	margin-bottom: 60px;
}

#about_tms .features_grid article {
	display: flex;
	border-radius: 10px;
	padding: 10px 20px;
	background: #F4F7FF;
	border: 1px solid #c1d1ec;
	margin-bottom: 20px;
	padding-bottom: 50px;
}

#about_tms .features_grid article img {
	width: 300px;
	height: 300px;
}

.tms_about_tcss {
	background: #D2DDF0;
	padding: 20px;
	margin-top: 20px;
	font-size: 1.5rem;
}

.tms_about_tcss a {
	color: #175EAB;
}

#course_examples .course_category h4 {
	background: #12347C;
	color: #FFF;
	font-size: 2rem!important;
	padding: 5px 10px;
	width: 150px;
	border-radius: 20px;
	text-align: center;
}

.tms-h3 {
	position: relative;
}

.tms-h3:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 0;
	border-bottom: 5px dotted #5370a9;
	left: 0;
	top: 20px;
}

.tms-h3:before {
	position: absolute;
}

.tms-h3 span {
	position: relative;
	z-index: 2;
	padding: 0 15px;
	color: #555;
	font-size: 3.5rem;
}

.tms-h3 span:before {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: #FFF;
	left: 0;
	top: 0;
	z-index: -2;
}

.tms-h3 span:after {
	display: block;
	position: absolute;
	content: "";
	width: 30px;
	height: 30px;
	background: #c1d1ec;
	left: 0;
	top: 0;
	z-index: -1;
	border-radius: 20px;
}

#course_examples {
	padding: 30px 0;
}

.course_category {
	padding: 0 20px;
}

.course_category dl {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #CCC;
	background: #FFF;
}

.course_category dl dt {
	font-weight: bold;
	padding: 20px;
	width: 240px;
	flex-shrink: 0;
}

.course_category dl dt.for_manager {
	border-left: 20px solid #a4daf3;
	border-right: 3px dotted #a4daf3;
}

.course_category dl dt.for_leader {
	border-left: 20px solid #cbe9f4;
	border-right: 3px dotted #cbe9f4;
}

.course_category dl dt.for_newcomer {
	border-left: 20px solid #e7f4fb;
	border-right: 3px dotted #e7f4fb;
}

.course_category dl dd {
	padding: 20px;
}

.course_category dl dd .lecture_example {
	border-radius: 10px;
	padding: 4px 10px 6px 10px;
	line-height: 3em;
}

.course_category dl dd.for_manager .lecture_example {
	background: #a4daf3;
}

.course_category dl dd.for_leader .lecture_example {
	background: #cbe9f4;
}

.course_category dl dd.for_newcomer .lecture_example {
	background: #e7f4fb;
}

.course_category dl dd span {
	font-size: 1.5rem;
}

.course_category dl dd .tag {
	color: #5370A9;	
	padding: 0 10px;
	word-break: keep-all;
}

.course_category dl dd .tag:before {
	content: "#";
}

.course_categories {
	background: #F9F9F9;
	border-radius: 10px;
	margin-top: 20px;
	padding: 20px;
}

#format_section {
	margin: 80px auto;
}

.format_grid {
	background: #f9f9f9;
	padding: 40px 20px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 10px;
	border-radius: 10px;
}

.format_grid .card img {
	width: 300px;
}

.format_grid .card {
	background: #FFF;
	border-radius: 15px;
	padding: 10px;
	border: 1px solid #CCC;
}

.format_grid .card h4 {
	font-size: 2rem!important;
	text-align: center;
	margin: 0!important;
	background: #15337E!important;
	color: #FFF;
	border-radius: 15px;
	padding: 10px!important;
}

.format_grid .card div {
	display: flex;
	justify-content: center;
	font-size: 1.5rem;
	padding: 10px;
}

.answer_body {
	margin-top: 10px;
	font-size: 1.5rem;
	background: #F9F9F9;
	padding: 15px;
	border: 1px solid #EEE;
}

#faq_section details summary {
	cursor: pointer;
}

#faq_section details summary:active {
	background: #F4F7FF;
}

#faq_section details {
	margin: 10px 0;
	border-bottom: 1px dashed #CCC;
}

#faq_section {
	margin-bottom: 80px;
}

.step_list {
	list-style: none;
	counter-reset: step-counter;
	padding-left: 0;
}

.step_list li {
	counter-increment: step-counter;
	margin-bottom: 15px;
	position: relative;
	padding: 10px;
	padding-left: 5em;
	background: #F9F9F9;
	border-bottom: 1px solid #DDD;
}

.step_list li::before {
	content: "STEP" counter(step-counter);
	position: absolute;
	left: 10px;
	top: 10px;
	font-weight: bold;
	color: #415A83;
	background: #C1D1EC;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.9em;
}

#howto_section dl {
	margin: 0 10px 50px 0;
}

#howto_section dl dt {
	color: #415A83;
	margin-top: 20px;
	font-weight: bold;
}

#howto_section dl dd {
	padding: 10px;
}

.tms_cta_bottom {
	padding: 80px 20px 100px 20px;
	background: #F4F7FF;
}

.tms_cta_bottom h3 {
	font-size: 2rem;
	text-align: center!important;
}

.tms_cta_bottom p {
	text-align: center!important;
}

.tms_cta_bottom a.tms-btn_cta {
	margin: auto!important;
}

/* ===================================
   モバイル対応（480px以下）
   =================================== */
@media screen and (max-width: 480px) {
	/* トップセクション */
	.tms_top {
		flex-direction: column;
		padding-top: 30px;
		padding: 20px 10px;
	}
	
	#tms_title_h2 img {
		width: 100%;
		max-width: 280px;
		margin: 10px auto;
	}
	
	#tms_title_h2 img + div {
		width: 100%;
		font-size: 2rem;
		padding: 10px 15px 20px 15px;
		text-align: center;
	}
	
	#tms_title_h2 span {
		font-size: 1.4rem;
	}
	
	/* 統計情報 */
	.tms-top-main .stats_container {
		flex-direction: column;
		gap: 20px;
		margin-bottom: 30px;
		align-items: center;
	}
	
	.stat_uders p {
		font-size: 1.4rem;
		padding-right: 0;
		border-right: none;
		border-bottom: 1px solid #495466;
		padding-bottom: 15px;
		text-align: center;
	}
	
	.stat_box .stat_number {
		font-size: 2.5rem;
	}
	
	.stat_box .stat_number span {
		font-size: 1.6rem;
	}
	
	/* 背景画像 */
	.tms-top-background {
		height: 250px;
		max-width: 100%;
	}
	
	/* CTAボタン */
	.tms-btn_cta {
		padding: 12px 20px;
		font-size: 1.4rem;
		max-width: 100%;
		position: relative;
		text-align: center;
	}
	.tms-btn-area {
		padding: 10px;
	}
	
	/* ナビゲーション */
	.tms-nav-area ul {
		flex-direction: column;
	}
	
	.tms-nav-area ul li {
		width: 100%;
		border-left: none;
		border-right: none;
		border-bottom: 1px solid #999;
		margin-left: 0;
	}
	
	.tms-nav-area ul li:last-child {
		border-bottom: none;
	}
	
	/* セクション共通 */
	.tms-section-wrap p {
		padding: 0 15px;	
	}
	
	.tms-section-wrap section {
		padding: 20px 10px!important;
	}
	
	/* About TMS */
	#about_tms h3 {
		margin: 40px auto 15px auto;
		font-size: 2rem;
		padding: 10px 5px;
	}
	
	#about_tms h3 + p {
		margin-bottom: 30px;
		padding: 0 10px;
	}
	
	#about_tms .features_grid article {
		flex-direction: column;
		padding: 15px 10px;
		padding-bottom: 30px;
	}
	
	#about_tms .features_grid article:nth-child(even) {
		flex-direction: column-reverse;
	}
	
	#about_tms .features_grid article img {
		width: 100%;
		max-width: 250px;
		height: auto;
		margin: 0 auto 15px auto;
	}
	
	.tms_about_tcss {
		font-size: 1.3rem;
		padding: 15px;
	}
	
	/* 見出し */
	.tms-h3 span {
		font-size: 2.2rem;
		padding: 0 10px;
	}
	
	.tms-h3:before {
		top: 15px;
	}
	
	/* 講座カテゴリー */
	.course_category {
		padding: 0 10px;
	}
	
	.lecture_example {
		display: block;
		padding: 0 10px!important;
		margin: 10px 0;
	}	
	#course_examples .course_category h4 {
		font-size: 1.6rem!important;
		width: auto;
		padding: 8px 15px;
	}
	
	.course_category dl {
		flex-direction: column;
		align-items: flex-start;
	}
	
	.course_category dl dt {
		width: 100%;
		padding: 15px;
		border-right: none!important;
		border-bottom: 3px dotted #CCC;
	}
	
	.course_category dl dd {
		padding: 15px;
	}
	
	.course_category dl dd span {
		font-size: 1.3rem;
	}
	
	.course_category dl dd .tag {
		display: inline-block;
		margin: 3px 0;
	}
	
	.course_categories {
		padding: 15px 10px;
	}
	
	/* 開催形式 */
	#format_section {
		margin: 40px auto;
		padding: 0 10px;
	}
	
	.format_grid {
		grid-template-columns: 1fr;
		padding: 20px 10px;
		gap: 15px;
	}
	
	.format_grid .card img {
		width: 100%;
		max-width: 250px;
		height: auto;
		margin: 0 auto;
		display: block;
	}
	
	.format_grid .card h4 {
		font-size: 1.6rem!important;
		padding: 8px!important;
	}
	
	.format_grid .card div {
		font-size: 1.3rem;
	}
	
	/* FAQ */
	#faq_section {
		margin-bottom: 40px;
	}
	
	#faq_section details summary {
		font-size: 1.4rem;
		padding: 10px 5px;
	}
	
	.answer_body {
		font-size: 1.3rem;
		padding: 12px;
	}
	
	/* How to */
	.step_list li {
		padding: 10px 10px 10px 4.5em;
		font-size: 1.3rem;
	}
	
	.step_list li::before {
		font-size: 0.8em;
		left: 5px;
		top: 8px;
	}
	
	#howto_section dl {
		margin: 0 0 30px 0;
	}
	
	#howto_section dl dt {
		font-size: 1.4rem;
	}
	
	#howto_section dl dd {
		font-size: 1.3rem;
		padding: 8px;
	}
	
	/* 最下部CTA */
	.tms_cta_bottom {
		padding: 40px 15px 60px 15px;
	}
	
	.tms_cta_bottom h3 {
		font-size: 1.8rem;
	}
	
	.tms_cta_bottom p {
		font-size: 1.4rem;
	}
}

