@charset "UTF-8";
/* UTF-8 日本語 */

/* ▼ class,id指定無し部分の基本設定 */
/* 　▼ box-sizingと変数の指定(--fontMain, --fontBlack, --fontSizeBase1～3) */
*
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
:root
{
	--width100: 100vw;
}
@supports (width: 100dvw)
{
	:root
	{
		--width100: 100dvw;
	}
}
:root
{
	--scrollbarWidth: 0px;
	color-scheme: light !important;
	/* 　　▼ scroll-behavior iOS 15.3 not working */
	/* 　　　　https://caniuse.com/css-scroll-behavior */
	/*
	scroll-behavior: smooth;
	*/
	/* 　　▲ scroll-behavior iOS 15.3 not working */

	/* 　　▼ --fontBlack, Bold, Main */
	--fontBlack:      "source-han-sans-japanese", "Shin Go Bold", sans-serif;
	--fontBold:       "source-han-sans-japanese", "Shin Go DeBold", sans-serif;
	--fontMain:       "source-han-sans-japanese", "Shin Go Regular", sans-serif;
	/* 　　▲ --fontBlack, Bold, Main */
	/* 　　▼ --fontWeightNormal, WeightMedium, WeightBold, WeightBlack */
	--fontWeightNormal: 400;
	--fontWeightMedium: 500;
	--fontWeightBold:   700;
	--fontWeightBlack:  800;
	--fontWeightHeavy:  900;

	/* 　　▼ --fontMaruHeavy, MaruWeightHeavy */
	--fontMaruHeavy:       "source-han-sans-japanese", "Shin Maru Go Heavy", sans-serif;
	--fontMaruWeightHeavy: 900;
	/* 　　▲ --fontMaruHeavy */

/*
	--fontMain:  "Kosugi Maru", sans-serif;
	--fontBlack: "M PLUS Rounded 1c", sans-serif;
	--fontMain:  "Noto Sans JP", sans-serif;
	--fontBlack: var(--fontMain);
	--fontMain:  "Noto Sans JP", sans-serif;
	--fontBlack: "M PLUS 1p", sans-serif;
*/
	/* 　　▲ --fontWeightNormal, WeightMedium, WeightBold, WeightBlack */

	/* 　　■ --containerWidth ... メインコンテンツ領域の幅を100vwを基に絶対値で求める */
	--containerWidth: calc(min(var(--width100), (var(--width100) - 1080px) / 8 + 1080px - var(--scrollbarWidth)));
	/* 　　■ --containerSpace ... headerやsectionのpaddingで使用する余白(--containerWidth * 5%) */
	--containerSpace: calc(var(--containerWidth) * 0.05);
	/* 　　■ --containerBg ... コンテンツ領域背景 / background: で使用 */
	--containerBg: rgba(255, 255, 255, 0.75);

	/* 　　▼ --fontSizeBase */
	--fontSizeBase: calc(min(((var(--width100) - 700px) / 8 + 700px) / 30, var(--width100) / 30));
	/* 　　▲ --fontSizeBase */

	/* 　　▼ --lineHeightMain, None, 100, 1(160%)～6(110%) 1～6は10%刻みで減少 */
	--lineHeightMain: 175%;
	--lineHeightNone: 0%;
	--lineHeight100: 100%;
	--lineHeight1: 160%;
	--lineHeight2: 150%;
	--lineHeight3: 140%;
	--lineHeight4: 130%;
	--lineHeight5: 120%;
	--lineHeight6: 110%;
	/* 　　▲ --lineHeightMain, None, 100, 1(160%)～6(110%) 1～6は10%刻みで減少少 */

	/* 　　▼ --htmlBg, --htmlBgSize, --htmlFont, --linkDefault, --linkActive, --linkVisited, --linkHover */
	--htmlBg:             #F0F7F2 url('/w/ot4/src/body_bg.png') repeat top left;
	--htmlBgSize:         6vmin auto;
	--htmlFont:           #005C82;
	--linkDefault:        #5C81CC;
	--linkActive:         #E33;
	--linkVisited:        #759;
	--linkHover:          #E59;
	/* 　　▲ --htmlBg, --htmlBgSize, --htmlFont, --linkDefault, --linkActive, --linkVisited, --linkHover */

	/* 　　▼ --aboutFP_htmlFont, _sectionHeadBg, _sectionHeadColor, _sectionHeadBorder,  ... FP3級についてページの文字色・h2の色指定 */
	--aboutFP_htmlFont:          #005C17;
	--aboutFP_headerBg:          url('/w/ot4/src/aboutFP_header_base.png') no-repeat center center;
	--aboutFP_sectionHeadBg:     #FFF;
	--aboutFP_sectionHeadColor:  #31784E;
	/* 　　▲ --aboutFP_htmlFont, _sectionHeadBg, _sectionHeadColor, _sectionHeadBorder,  ... FP3級についてページの文字色・h2の色指定 */

	/* 　　▼ --headerBg, BgSize ... headerの帯についての指定 */
	--headerBg:     url('/w/ot4/img/header_base.webp') no-repeat center center, url('/w/ot4/img/header_base.png') no-repeat center center;
	--headerBgSize: 100% 100%, 100% 100%;
	--headerColor: #FFF;
	/* 　　▲ --headerBg, BgSize ... headerの帯についての指定 */
	/* 　　▼ --sectionHeadBg, BgSize, Color ... section内h2帯についての指定 */
	--sectionHeadBg:     url('/w/ot4/src/section_head_bg.png') no-repeat top center;
	--sectionHeadBgSize: 100% 100%;
	--sectionHeadColor: var(--headerColor);
	/* 　　▲ --sectionHeadBg, BgSize, Color ... section内h2帯についての指定 */

	/* 　　■ --sectionDocPaddingHorizonal ... section内平文左右の余白幅 */
	--sectionDocPaddingHorizonal: 7.5%;
	/* 　　■ --sectionDocFirstPaddingVertical ... section内最初の平文block上下余白 */
	--sectionDocFirstPaddingVertical: 1.5em;
	/* 　　■ --sectionDoc2DocPaddingVertical ... section内2つめの平文block上もしくは下余白 */
	--sectionDoc2DocPaddingVertical: 2em;

	/* 　　▼ --bottomMenuMaxWidth, HeightScale, Bg, Color, Border, BorderWidth */
	--menuButtonSize:        40pt;
	--bottomMenuBg:          #FFF;
	--bottomMenuColor:       #777;
	--bottomMenuBorder:      var(--bottomMenuColor);
	--bottomMenuBorderWidth: 3px;
	--bottomMenuWidth:       calc(min(540px, (95vmin - var(--bottomMenuBorderWidth)*2)));
	--bottomMenuHeightScale: 0.14;
	/* 　　▲ --bottomMenuMaxWidth, HeightScale, Bg, Color, Border, BorderWidth */

	/* 　　■ --footerBottomMargin ... fixedアプリリンクをページ下部に置く時のfooter下部余白 */
	--footerBottomMargin: calc(var(--bottomMenuWidth) * var(--bottomMenuHeightScale) + var(--bottomMenuBorderWidth) * 2 + 0.2em);

	/* 　　▼ --footerColorBg, Font, Link, BottomBg */
	--footerColorBg:          transparent;
	--footerColorFont:        #FFF;
	--footerColorLink:        #FFDD99;
	--footerColorLinkActive:  #E33;
	--footerColorLinkVisited: #A7E;
	--footerColorLinkHover:   #E59;
	--footerColorBottomBg:    #1f4666; /*#17294C;*/
	/* 　　▲ --footerColorBg, Font, Link, BottomBg */

	/* 　　▼ --textOutline1, 2, 3 ... text-shadowによる疑似アウトライン / 数字は太さ */
	--textOutline1: -1px -1px 1px #FFF, 0 -1px 1px #FFF, 1px -1px 1px #FFF, 1px 0 1px #FFF, 1px 1px 1px #FFF, 0 1px 1px #FFF, -1px 1px 1px #FFF, -1px 0 1px #FFF;
	--textOutline2: -2px -2px 1px rgba(255, 255, 255, 0.5), -1px -2px 1px rgba(255, 255, 255, 0.5), 0 -2px 1px rgba(255, 255, 255, 0.5), 1px -2px 1px rgba(255, 255, 255, 0.5), 2px -2px 1px rgba(255, 255, 255, 0.5), 2px -1px 1px rgba(255, 255, 255, 0.5), 2px 0px 1px rgba(255, 255, 255, 0.5), 2px 1px 1px rgba(255, 255, 255, 0.5), 2px 2px 1px rgba(255, 255, 255, 0.5), 1px 2px 1px rgba(255, 255, 255, 0.5), 0px 2px 1px rgba(255, 255, 255, 0.5), -1px 2px 1px rgba(255, 255, 255, 0.5), -2px 2px 1px rgba(255, 255, 255, 0.5), -2px 1px 1px rgba(255, 255, 255, 0.5), -2px 0px 1px rgba(255, 255, 255, 0.5), -2px -1px 1px rgba(255, 255, 255, 0.5);

	--textOutline3: -3px -3px 2px rgba(255, 255, 255, 0.5), -2px -3px 2px rgba(255, 255, 255, 0.5), -1px -3px 2px rgba(255, 255, 255, 0.5), 0px -3px 2px rgba(255, 255, 255, 0.5), 1px -3px 2px rgba(255, 255, 255, 0.5), 2px -3px 2px rgba(255, 255, 255, 0.5), 3px -3px 2px rgba(255, 255, 255, 0.5), 3px -2px 2px rgba(255, 255, 255, 0.5), 3px -1px 2px rgba(255, 255, 255, 0.5), 3px 0px 2px rgba(255, 255, 255, 0.5), 3px 1px 2px rgba(255, 255, 255, 0.5), 3px 2px 2px rgba(255, 255, 255, 0.5), 3px 3px 2px rgba(255, 255, 255, 0.5), 2px 3px 2px rgba(255, 255, 255, 0.5), 1px 3px 2px rgba(255, 255, 255, 0.5), 0px 3px 2px rgba(255, 255, 255, 0.5), -1px 3px 2px rgba(255, 255, 255, 0.5), -2px 3px 2px rgba(255, 255, 255, 0.5), -3px 3px 2px rgba(255, 255, 255, 0.5), -3px 2px 2px rgba(255, 255, 255, 0.5), -3px -1px 2px rgba(255, 255, 255, 0.5), -3px 0px 2px rgba(255, 255, 255, 0.5), -3px -1px 2px rgba(255, 255, 255, 0.5), -3px -2px 2px rgba(255, 255, 255, 0.5);
	/* 　　▲ --textOutline1, 2, 3 ... text-shadowによる疑似アウトライン / 数字は太さ */

	/* 　　■ --shotBoxShadow ... 画面ショットのbox-shadow */
	--shotBoxShadow: 3px 3px 2px rgba(0, 0, 0, 0.2);
	/* 　　■ --shotFilterShadow ... 画面ショットのfilter: drop-shadow */
	--shotFilterShadow: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.2));

	/* 　　▼ --docWidth1:98%, --docWidth2:95%, --docWidth3:90%, --docWidth4:85%, --docWidth5:80% */
	--docWidth1: 98%;
	--docWidth2: 95%;
	--docWidth3: 90%;
	--docWidth4: 85%;
	--docWidth5: 80%;
	/* 　　▲ --docWidth1:98%, --docWidth2:95%, --docWidth3:90%, --docWidth4:85%, --docWidth5:80% */

	/* 　　▼ --tableBorder, --tableBg ... 著者紹介などで使うテーブルのborder・background指定 */
	--tableBorder: 2px solid #2179A4;
	--tableBg:     #FFF;
	/* 　　▲ --tableBorder, --tableBg ... 著者紹介などで使うテーブルのborder・background指定 */

	/* 　　▼ --partTableHeaderBg, HeaderColor, BodyBg, BodyColor ... FP3級についてページ実技試験選択表・メインページ6パートの色指定 */
	--partTableHeaderBg:    #018D96;
	--partTableHeaderColor: #FFF;
	--partTableBodyBg:      #C8EFF3;
	--partTableBodyColor:   #004647;
	/* 　　▲ --partTableHeaderBg, HeaderColor, BodyBg, BodyColor ... FP3級についてページ実技試験選択表・メインページ6パートの色指定 */

}
/* 　▲ box-sizingと変数の指定(--fontMain, --fontBlack, --fontSizeBase1～3) */

/* 　▼ html, body */
html, body
{
	width: 100%;
/*
	height: 100%;
*/
	min-height: 100vh;
	margin: 0;
	padding: 0;
	position: relative;
}

html
{
	overflow: scroll;
	overflow-x: hidden;
}

body
{
	font-family: var(--fontMain);
	font-size: var(--fontSizeBase);
	font-weight: var(--fontWeightNormal);
	line-height: var(--lineHeightMain);
	text-autospace: ideograph-alpha;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	/* 　▼ font-feature-settings  */
	/*font-feature-settings: "pwid", "pkna", "pnum", "lnum', "kern";*/
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	/* 　▲ font-feature-settings  */

	background: var(--htmlBg);
	background-size: var(--htmlBgSize);
	color: var(--htmlFont);
}
/* 　▲ html, body */

/* 　▼ a, a:active, a:visited, a:hover */
a         { color: var(--linkDefault); }
a:active  { color: var(--linkActive); }
a:visited { color: var(--linkVisited); }
a:hover   { color: var(--linkHover); }
/* 　▲ a, a:active, a:visited, a:hover */

/* 　▼ h1～h5 */
h1, h2, h3, h4, h5
{
	font-family: var(--fontBold);
	font-weight: var(--fontWeightBold);
	line-height: var(--lineHeight2);
	margin: 0;
	padding: 0;
}
h1 { font-size: 160%; font-weight: var(--fontWeightBlack); font-family: var(--fontBlack); line-height: var(--lineHeight2); }
h2 { font-size: 200%; font-weight: var(--fontWeightBlack); font-family: var(--fontBlack); line-height: var(--lineHeight2); }
h3 { font-size: 160%; font-weight: var(--fontWeightBlack); font-family: var(--fontBlack); line-height: var(--lineHeight2); }
h4 { font-size: 135%; font-weight: var(--fontWeightBold); line-height: var(--lineHeight2); }
/* 　▲ h1～h5 */
/* 　▼メディアクエリ(～380, 381～590) */
/*
@media screen and (orientation: portrait) and (max-width: 380px), screen and (orientation: landscape) and (max-height: 380px)
{
	*
	{
		--fontSizeBase: var(--fontSizeBase3);
	}
}
@media screen and (orientation: portrait) and (min-width: 381px) and (max-width: 590px), screen and (orientation: landscape) and (min-height: 381px) and (max-height: 590px)
{
	*
	{
		--fontSizeBase: var(--fontSizeBase2);
	}
}
*/
/* 　▲メディアクエリ(～340, 341～400) */

img, video
{
	margin: 0;
}

/* 　▼ .gpu, #myLightBox / image-rendering / 画像にも背景にも適用可能 */
.gpu
,#myLightBox,
.btn
{
/*
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-ms-interpolation-mode: bicubic;
	will-change: transform;
	image-rendering: crisp-edges;
	image-rendering: high-quality;
*/
	image-rendering: -webkit-optimize-contrast;	/* "crisp-edges" prefix */
	image-rendering: optimizeQuality;						/* only FireFox */
}
/* 　▲ .gpu, #myLightBox / image-rendering / 画像にも背景にも適用可能 */

/* 　▼ コンテンツ全体幅 / body > header, body > main, footer > *:not(.item1) */
body > header, body > main
{
	display: block;
	width: var(--containerWidth);
	margin-left: auto;
	margin-right: auto;
	background: var(--containerBg);
	position: relative;
}
body > main
{
	padding-bottom: calc(var(--footerBottomMargin) + 6em);
}
footer .bottom
{
	width: calc(var(--containerWidth) * 0.95);
	margin-left: auto;
	margin-right: auto;
}
/* 　▲ コンテンツ全体幅 */


/* 　▼ .small, .large, .wNormal, .wBold, .wBlack 文字サイズ・ウェイト個別指定用 */
small, .small
{
	font-size: 80%;
	line-height: var(--lineHeightMain);
}
.smaller
{
	font-size: 90%;
	line-height: var(--lineHeightMain);
}
large, .large
{
	font-size: 110%;
	line-height: var(--lineHeightMain);
}
big, .big
{
	font-size: 120%;
	line-height: var(--lineHeightMain);
}
.copyright
{
	font-size: 60%;
	line-height: var(--lineHeight4);
}

.wNormal  { font-weight: var(--fontWeightNormal); font-family: var(--fontMain); }
.wMedium  { font-weight: var(--fontWeightMedium); font-family: var(--fontMain); }
.wBold, b { font-weight: var(--fontWeightBold); font-family: var(--fontBold); }
.wBlack   { font-weight: var(--fontWeightBlack); font-family: var(--fontBlack); }
/* 　▲ .small, .large, .wNormal, .wBold, .wBlack 文字サイズ・ウェイト個別指定用 */

/* 　▼ .halt ... 通常のfont-feature-settingsはpaltのところ、haltに切り替える */
.halt
{
	-webkit-font-feature-settings: "halt";
	font-feature-settings: "halt";
}
/* 　▲ .halt ... 通常のfont-feature-settingsはpaltのところ、haltに切り替える */

/* 　▼ .fwid ... 通常のfont-feature-settingsはpaltのところ、fwid(全角等幅)に切り替える */
.fwid
{
	-webkit-font-feature-settings: "fwid";
	font-feature-settings: "fwid";
}
/* 　▲ .fwid ... 通常のfont-feature-settingsはpaltのところ、fwid(全角等幅)に切り替える */

/* 　▼ .spSmall メディアクエリ(～590)時のみ文字サイズ小さめ */
@media screen and (orientation: portrait) and (max-width: 590px), screen and (orientation: landscape) and (max-height: 590px)
{
	.spSmall
	{
		font-size: 80%;
		line-height: var(--lineHeight2);
	}
}
/* 　▲ .spSmall メディアクエリ(～590)時のみ文字サイズ小さめ */
/* 　▼ .tabletSmall メディアクエリ(～800)時のみ文字サイズ小さめ */
@media screen and (max-width: 800px), screen and (orientation: landscape) and (max-height: 800px)
{
	.tabletSmall
	{
		font-size: 80%;
		line-height: var(--lineHeight2);
	}
}
/* 　▲ .tabletSmall メディアクエリ(～800)時のみ文字サイズ小さめ */
/* 　▼ .tabletSmall2 メディアクエリ(～900)時のみ文字サイズ小さめ */
@media screen and (max-width: 940px), screen and (orientation: landscape) and (max-height: 940px)
{
	.tabletSmall2
	{
		font-size: 80%;
		line-height: var(--lineHeight2);
	}
}
/* 　▲ .tabletSmall2 メディアクエリ(～900)時のみ文字サイズ小さめ */


/* ▲ class,id指定無し部分の基本設定 */

/* ---------------------------------------------------------------- */

#loadCover
{
	display: block;
	position: fixed;
	width: 110vw;
	height: 110vh;
	background: rgba(255, 255, 255, 1);
	top: -5vh;
	left: -5vw;
	z-index: 10000;
	opacity: 1;
	transition: opacity 0.2s ease, z-index 0.3s step-end;
}
#loadCover.hide
{
	opacity: 0;
	z-index: -1;
}
body > *
{
	opacity: 1;
	transition: opacity 0.2s ease;
}
body.hide > *
{
	opacity: 0;
}
/* ---------------------------------------------------------------- */

/* ▼ 選択不可化 .noSelect,img,button 画像・メニューボタンなど */
.noSelect, img, button, a
{
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer */
	-khtml-user-select: none; /* KHTML browsers (e.g. Konqueror) */
	-webkit-user-select: none; /* Chrome, Safari, and Opera */
	user-select: none;

	-webkit-touch-callout: none; /* Disable Android and iOS callouts*/
	touch-callout: none; /* Disable Android and iOS callouts*/
}
/* ▲ 選択不可化 .noSelect,img,button 画像・メニューボタンなど */

/* ---------------------------------------------------------------- */

/* ▼ .indent > * 汎用インデント */
.indent > *
{
	padding-left: 1.3em;
	text-indent: -1.3em;
}
/* ▲ .indent > * 汎用インデント */

/* ---------------------------------------------------------------- */

/* ▼ .spOnly メディアクエリでPCと思しき環境でdisplay: none */
@media screen and (orientation: portrait) and (min-width: 660px), screen and (orientation: landscape) and (min-height: 660px)
{
	.spOnly
	{
		display: none;
	}
}

/* ▲ .spOnly メディアクエリでPCと思しき環境でdisplay: none */
/* ▼ .pcOnly メディアクエリでSPと思しき環境でdisplay: none */
@media screen and (orientation: landscape) and (max-width: 659px), screen and (orientation: portrait) and (max-height: 659px)
{
	.pcOnly
	{
		display: none;
	}
}

/* ▲ .pcOnly メディアクエリでSPと思しき環境でdisplay: none */

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

/* ▼ header */
header
{
	padding-top: calc(var(--containerSpace) * 1.5);
	padding-bottom: calc(var(--containerSpace) * 2);
	text-align: center;
}
header > .logo > img
{
	width: 100%;
	height: auto;
}
header > .logo
{
	display: inline-block;
	position: absolute;
	top: 0;
	left: var(--containerSpace);
	transform: translateY(34%);
	width: 40%;
	height: auto;
	font-size: 0%;
	line-height: var(--lineHeight100);
}
/* 　▼ header > h1 最初の見出し・端末画像・FP3級とはリンク */
header > h1
{
	display: block;
	background: var(--headerBg);
	background-size: var(--headerBgSize);
	width: 100%;
	height: auto;
	padding: 63.888889% 0 0 0;
	position: relative;
	line-height: var(--lineHeight100);
}
header > h1 > *
{
	display: inline-block;
	position: absolute !important;
	margin: 0;
}
header > h1 > img:first-child
{
	top: calc(69 / 690 * 100%);
	left: calc(32 / 1080 * 100%);
	width: calc(643 / 1080 * 100%);
	height: auto;
}
header > h1 > img:first-child.header_str2
{
	top: calc(80 / 690 * 100%);
	left: calc(32 / 1080 * 100%);
	width: calc(599 / 1080 * 100%);
	height: auto;
}
header > h1 > *:last-child
{
	top: 0%;
	left: calc(715 / 1080 * 100%);
	width: calc(304 / 1080 * 100%);
}
header > h1 > *:last-child > img
{
	width: 100%;
}
header > h1 > *:last-child::after
{
	bottom: 5% !important;
}
header > .point4
{
	width: 95%;
	margin: calc(var(--containerSpace) * -0.5) auto calc(var(--containerSpace) * 0.5) auto;
	display: grid;
	grid-template-columns: 25% 25% 25% 25%;
	grid-gap: 0;
}
header > .point4 > *
{
	width: 100%;
	height: auto;
}
header > img:nth-of-type(2)
{
	width: 100%;
	margin: calc(var(--containerSpace) * -0.5) auto calc(var(--containerSpace) * 0.5) auto;
}
header > a.aboutFP
{
	display: inline-block;
	width: calc(800 / 1080 * 100%);
	margin: calc(var(--containerSpace) * 0.5) auto calc(var(--containerSpace) * 0.5) auto;
	position: relative;
}
header > a > img
{
	width: 100%;
}
/* 　▲ header > h1 最初の見出し・端末画像・FP3級とはリンク */
/* ▲ header */

/* ---------------------------------------------------------------- */

/* ▼ section 共通 */
/* 　▼ section 下部余白 */
section
{
	padding-bottom: calc(var(--containerSpace) * 3);
}
/* 　▲ section 下部余白 */
/* 　▼ section h2 セクションの見出し */
section h2
{
	display: grid;
	width: 100%;
	background: var(--sectionHeadBg);
	background-size: var(--sectionHeadBgSize);
	color: var(--sectionHeadColor);
	line-height: var(--lineHeight100);
	padding: 0 0 0 calc(var(--containerSpace) * 0.7);
	min-height: 2em;
	align-items: center;
}
section h2 > *
{
	display: block;
	width: 100%;
}
section h2 big, section h2 .big
{
	font-size: 130%;
	line-height: var(--lineHeight100);
}
section h2 large, section h2 .large
{
	font-size: 110%;
	line-height: var(--lineHeight100);
}
section h2 small, section h2 .small
{
	font-sizs: 80%;
	line-height: var(--lineHeight100);
}
/* 　▲ section h2 セクションの見出し */
/* 　▼ section > div セクション直下の文章や横中央画像を配置するためのdiv */
section > div, section > center
{
	text-align: center;
}
/* 　▲ section > div セクション直下の文章や横中央画像を配置するためのdiv */
/* 　▼ section > div:first-of-type セクション最初の文章(見出し直後にある)の余白設定 */
section > div:first-of-type
{
	padding: var(--sectionDocFirstPaddingVertical) var(--sectionDocPaddingHorizonal);
}
/* 　▲ section > div:first-of-type セクション最初の文章(見出し直後にある)の余白設定 */
/* 　▼ section > div.doc セクション直下かつ.docの余白設定 */
section > div.doc
{
	padding-left: var(--sectionDocPaddingHorizonal);
	padding-right: var(--sectionDocPaddingHorizonal);
}
section > div.doc:first-of-type:nth-last-of-type(n+2)
{
	padding-bottom: 0;
}
section > div.doc:nth-of-type(n+2)
{
	padding-top: var(--sectionDoc2DocPaddingVertical);
}
/* 　▲ section > div.doc セクション直下かつ.docの余白設定 */
/* 　▼ section > div > img だいたいgridの中にある画像は横中央が多いので、横marginをautoに */
section > div > img
{
	margin-left: auto;
	margin-right: auto;
}
/* 　▲ section > div > img gridの中にある画像は横中央が多いので、横marginをautoに */
/* 　▼ section .shot3 画面ショットを横3つ並べる */
section .shot3
{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	width: var(--docWidth3);
	gap: 4%;
	place-items: center;
	margin-left: auto;
	margin-right: auto;
}
section .shot3 > *
{
	display: inline-block;
	width: 100%;
/*
	box-shadow: var(--shotBoxShadow);
*/
	filter: var(--shotFilterShadow);
	-moz-filter: var(--shotFilterShadow);
	position: relative;
	line-height: 0;
}
section .shot3 > * > *
{
	width: 100%;
}
/* 　▲ section .shot3 画面ショットを横3つ並べる */
/* 　▼ section .graphAndShot 左にグラフ、右に画面ショット */
section .graphAndShot
{
	display: grid;
	grid-template-columns: 1fr 28%;
	width: var(--docWidth3);
	gap: 4%;
	place-items: center;
	margin-left: auto;
	margin-right: auto;
}
section .graphAndShot > *
{
	width: 100%;
}
section .graphAndShot > *:last-child
{

	border: 2px solid #B7B7B7;
	border-radius: 6.45% / 3.63%;

	filter: var(--shotFilterShadow);
	-moz-filter: var(--shotFilterShadow);
}
/* 　▲ section .graphAndShot 左にグラフ、右に画面ショット */
/* 　▼ section .authorTable 著者紹介テーブル */
section .authorTable
{
	display: grid;
/*
	grid-template-columns: 23% 1fr;
*/
	grid-template-columns: 1fr;
	width: var(--docWidth3);
	gap: 1%;
	align-items: center;
	justify-items: start;
	margin-left: auto;
	margin-right: auto;
	border: var(--tableBorder);
	background: var(--tableBg);
}
/*
section .authorTable > *:first-child
{
	justify-self: end;
	width: 90%;
	margin-left: 10%;
}
*/
section .authorTable > *:last-child
{
	width: 100%;
	text-align: left;
	padding: 0.7em;
}
/*
section .authorTable > *:last-child > *:last-child
{
	margin-top: 0.5em;
}
*/
section .authorTable .big
{
	font-size: 150%;
	line-height: var(--lineHeight100);
	padding-bottom: 0.2em;
}
section .authorTable hr
{
	width: 100%;
	height: 1px;
	color: transparent;
	border-color: transparent transparent var(--htmlFont) transparent;
	border-width: 1px;
	border-style: none none solid none;
	opacity: 0.5;
	margin: 0.3em auto;
}
/* 　　▼ section .authorTable 幅340px以下はgridやめてimg/float:leftが入ったblockにする */
@media (max-width: 340px)
{
	section .authorTable
	{
		display: block;
		padding: 0.7em;
	}
/*
	section .authorTable > *:first-child
	{
		display: inline-block;
		width: 25%;
		margin: 0 1em 0.5em 0;
		float: left;
	}
*/
	section .authorTable > *:last-child
	{
		display: inline;
		padding: 0;
	}
}
/* 　　▲ section .authorTable 幅340px以下はgridやめてimg/float:leftが入ったblockにする */
/* 　▲ section .authorTable 著者紹介テーブル */
/* 　▼ section .part6Table 幅広画面で3x2, 縦長画面で2x3に並べるテーブル */
section .part6Table
{
	display: grid;
	width: var(--docWidth3);
	grid-template-columns: 1fr;
	gap: 5vmin;
	margin-left: auto;
	margin-right: auto;
}
section .part6Table > *
{
	width: 100%;
}
/* 　　▼ section .part6Table > div / part1～6 文字編も用意はしたが、ブラウザの最小文字サイズにひっかかるので使用停止 */
section .part6Table > div
{
	display: block;
/*
	background-repeat: no-repeat;
	background-position: top left;
	background-size: contain;
	background-size: 130% auto;
	position: relative;
	padding-top: 112.5%;
	padding-top: 0;
*/
	background: #018D96;
	text-align: left;
	color: #FFF;
}
/*
section .part6Table > div:nth-child(1) { background-image: url('/w/ot4/img/section6_part1_bg.webp'); }
section .part6Table > div:nth-child(2) { background-image: url('/w/ot4/img/section6_part2_bg.webp'); }
section .part6Table > div:nth-child(3) { background-image: url('/w/ot4/img/section6_part3_bg.webp'); }
section .part6Table > div:nth-child(4) { background-image: url('/w/ot4/img/section6_part4_bg.webp'); }
section .part6Table > div:nth-child(5) { background-image: url('/w/ot4/img/section6_part5_bg.webp'); }
section .part6Table > div:nth-child(6) { background-image: url('/w/ot4/img/section6_part6_bg.webp'); }
*/
section .part6Table > div > *
{
	display: grid;
	align-items: center;
	justify-items: start;
	width: 100%;
	height: auto;
	min-height: 3em;
	padding-left: 4%;
	padding-right: 4%;
	position: relative;
	font-family: var(--fontBold);
	font-weight: var(--fontWeightBold);
	line-height: var(--lineHeight100);
}
@media screen and (max-width: 800px)
{
	section .part6Table > div > *
	{
		min-height: 4em;
		line-height: var(--lineHeight5);
	}
}
section .part6Table > div > *::before
{
	content: 'Part.1';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 1em;
	letter-spacing: 0.05em;
	transform: translateY(-50%);
	text-shadow:
		-0.15em -0.15em 0 #018D96, -0.1em -0.15em 0 #018D96, -0.05em -0.15em 0 #018D96, -0px -0.15em 0 #018D96, 0.05em -0.15em 0 #018D96, 0.1em -0.15em 0 #018D96, 0.15em -0.15em 0 #018D96,
		-0.15em -0.1em 0 #018D96, -0.1em -0.1em 0 #018D96, -0.05em -0.1em 0 #018D96, 0px -0.1em 0 #018D96, 0.05em -0.1em 0 #018D96, 0.1em -0.1em 0 #018D96, 0.15em -0.1em 0 #018D96,
		-0.15em -0.05em 0 #018D96, -0.1em -0.05em 0 #018D96, -0.05em -0.05em 0 #018D96, -0px -0.05em 0 #018D96, 0.05em -0.05em 0 #018D96, 0.1em -0.05em 0 #018D96, 0.15em -0.05em 0 #018D96,
		-0.15em 0 0 #018D96, -0.1em 0 0 #018D96, -0.05em 0 0 #018D96, 0px 0 0 #018D96, 0.05em 0 0 #018D96, 0.1em 0 0 #018D96, 0.15em 0 0 #018D96,
		-0.15em 0.05em 0 #018D96, -0.1em 0.05em 0 #018D96, -0.05em 0.05em 0 #018D96, -0px 0.05em 0 #018D96, 0.05em 0.05em 0 #018D96, 0.1em 0.05em 0 #018D96, 0.15em 0.05em 0 #018D96,
		-0.15em 0.1em 0 #018D96, -0.1em 0.1em 0 #018D96, -0.05em 0.1em 0 #018D96, 0px 0.1em 0 #018D96, 0.05em 0.1em 0 #018D96, 0.1em 0.1em 0 #018D96, 0.15em 0.1em 0 #018D96,
		-0.15em 0.15em 0 #018D96, -0.1em 0.15em 0 #018D96, -0.05em 0.15em 0 #018D96, -0px 0.15em 0 #018D96, 0.05em 0.15em 0 #018D96, 0.1em 0.15em 0 #018D96, 0.15em 0.15em 0 #018D96;
}
section .part6Table > div:first-child > *::before { content: 'Part.1'; }
section .part6Table > div:nth-child(2) > *::before { content: 'Part.2'; }
section .part6Table > div:nth-child(3) > *::before { content: 'Part.3'; }
section .part6Table > div:nth-child(4) > *::before { content: 'Part.4'; }
section .part6Table > div:nth-child(5) > *::before { content: 'Part.5'; }
section .part6Table > div:nth-child(6) > *::before { content: 'Part.6'; }
/*
section .part6Table > div > * > *:first-child
{
	align-self: center;
	color: #FFF;
	font-size: 78%;
	line-height: var(--lineHeight6);
	font-family: var(--fontBold);
	font-weight: var(--fontWeightBold);
}
section .part6Table > div > * > *:last-child
{
	align-self: start;
	color: #005C82;
	font-size: 60%;
	line-height: var(--lineHeightMain);
}
*/
/* 　　▲ section .part6Table > div / part1～6 文字編も用意はしたが、ブラウザの最小文字サイズにひっかかるので使用停止 */
/*
@media (min-width: 800px)
{
	section .part6Table
	{
		grid-template-columns: 1fr 1fr;
	}
}
*/
/* 　▲ section .part6Table 幅広画面で3x2, 縦長画面で2x3に並べるテーブル */
/* 　▼ section .appTable アプリ情報テーブル */
section > div.appTable:first-of-type
{
	display: grid;
	grid-template-columns: 18% 1fr;
	gap: 0.8em 0.5em;
	place-items: start;
	width: var(--docWidth1);
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
}
@media (min-width: 600px)  { section > div.appTable:first-of-type { width: var(--docWidth2); } }
@media (min-width: 700px)  { section > div.appTable:first-of-type { width: var(--docWidth3); } }
@media (min-width: 800px)  { section > div.appTable:first-of-type { width: var(--docWidth4); } }
@media (min-width: 900px)  { section > div.appTable:first-of-type { width: var(--docWidth5); } }
section .appTable > *
{
	width: 100%;
	text-align: left;
}
section .appTable > *
{
	width: 100%;
	text-align: left;
}
/* 　　▼ section .appTable > *:nth-child(odd):not(:last-child) 最後の子で無い奇数子は項目名 */
section .appTable > *:nth-child(odd):not(:last-child)
{
	font-family: var(--fontBold);
	font-weight: var(--fontWeightBold);
	text-align: right;
}
/* 　　▲ section .appTable > *:nth-child(odd):not(:last-child) 最後の子で無い奇数子は項目名 */
/* 　　▼ section .appTable > *:last-child 最後の子はアプリリンク */
section .appTable > *:last-child
{
	grid-column: 1 / 3;
	width: 70%;
	margin-left: 15%;
	padding-top: 1em;
}
/* 　　▲ section .appTable > *:last-child 最後の子はアプリリンク */

section .appTable .priceTable
{
	display: grid;
	grid-template-columns: 12em 4.5em;
	width: auto;
	height: auto;
	justify-items: start;
}
section .appTable .priceTable > *:nth-child(even)
{
	justify-self: end;
}
/*
section .appTable .priceTable
{
	display: grid;
	grid-template-columns: 8em 8em 5em;
	width: auto;
	height: auto;
	justify-items: end;
}
section .appTable .priceTable > *:nth-child(3n+2)
{
	justify-self: start;
}
*/
/* 　▲ section .appTable アプリ情報テーブル */
/* ▲ section 共通 */

/* ---------------------------------------------------------------- */
/* 　▼ .appLink は #bottomMenu & section .appTable > *:last-child 内で使用 */
.appLink
{
	width: 100%;
	padding-top: calc(100% * var(--bottomMenuHeightScale));
	position: relative;
	border-width: var(--bottomMenuBorderWidth);
	border-Color: var(--bottomMenuBorder);
	border-style: solid;
	border-radius: calc(var(--menuButtonSize) * 0.25);
	background-color: var(--bottomMenuBg);
	text-align: center;
	vertical-align: middle;
}
.appLink > *
{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0%;
	left: 0%;
	display: grid;
	grid-template-columns: calc(100% * var(--bottomMenuHeightScale)) 1fr 1fr calc(100% * var(--bottomMenuHeightScale));
	grid-gap: var(--bottomMenuBorderWidth);
	color: var(--bottomMenuColor);
	text-decoration: none;
	border-width: var(--bottomMenuBorderWidth);
	border-Color: transparent;
	border-style: solid;
}
#bottomMenu > .appLink > *
{
	grid-template-columns: calc(100% * var(--bottomMenuHeightScale)) 0 1fr 1fr calc(100% * var(--bottomMenuHeightScale));
	grid-gap: 0;
}

.appLink > * > *
{
	display: inline-block;
	width: 100%;
	position: relative;
	background-repeat: no-repeat;
	background-position: center center;
	line-height: 0;
	font-size: 0;
	padding: 0;
	margin: 0;
	vertical-align: middle;
}
.noDL .appLink > *
{
	grid-template-columns: calc(100% * var(--bottomMenuHeightScale)) 1fr !important;
	place-items: center;
}
.noDL .appLink > * > span
{
	font-family: var(--fontBlack);
	font-weight: var(--fontWeightBlack);
	color: #114499;
	font-size: 4vmin;
	line-height: 100%;
}
#bottomMenu > .appLink > *:nth-child(n+2) > *
{
	margin-left: var(--bottomMenuBorderWidth);
}
/* 　　▼.appLink > * > * > img ... AppStore, GooglePlayStoreのバッジ */
.appLink > * > * > img
{
	position: absolute;
	width: 100%;
}
/* 　　　▼ 左側 AppStoreバッジ 縦横比が正方形に近い方につき横auto縦100% */
.appLink > * > *:nth-last-child(3) > img
{
	width: auto;
	height: 100%;
	right: 0;
}
/* 　　　▲ 左側 AppStoreバッジ 縦横比が正方形に近い方につき横auto縦100% */
/* 　　　▼ 右側 GooglePlayStoreバッジ 縦横比が横長につき横100%縦auto */
.appLink > * > *:nth-last-child(2) > img
{
	width: 100%;
	height: auto;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
/* 　　　▲ 右側 GooglePlayStoreバッジ 縦横比が横長につき横100%縦auto */
/* 　　▲.appLink > * > * > img ... AppStore, GooglePlayStoreのバッジ */

.appLink > * > *:first-child
{
	width: var(--docWidth5);
	border-radius: 23%;
	align-self: center;
	justify-self: right;
/*
	box-shadow: var(--shotBoxShadow);
*/
	filter: var(--shotFilterShadow);
	-moz-filter: var(--shotFilterShadow);
}
*:not(#bottomMenu) > .appLink
{
	border-color: transparent;
	background-color: transparent;
	border-radius: none;
}
.noDL *:not(#bottomMenu) > .appLink
{
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
*:not(#bottomMenu) > .appLink > *
{
	grid-template-columns: calc(100% * var(--bottomMenuHeightScale) * 1.4) 1fr 1fr 0%;
}
*:not(#bottomMenu) > .appLink > * > *:first-child
{
	justify-self: left;
}
.appLink > * > *:nth-last-child(3)
{
	background-position: right center;
}
*:not(#bottomMenu) > .appLink > * > *:nth-last-child(2)
{
	background-position: left center;
}
/* 　▲ .appLink は #bottomMenu & section .appTable > *:last-child 内で使用 */

/* ---------------------------------------------------------------- */

/* ▼ #bottomMenu 子孫要素は.appLinkに纏め */
#bottomMenu
{
	position: fixed;
	width: var(--bottomMenuWidth);
	height: auto;
	bottom: 0%;
	bottom: env(safe-area-inset-bottom);
	right: env(safe-area-inset-right);
	z-index: 200;
	background: transparent;
}
.noDL #bottomMenu
{
	width: calc(var(--bottomMenuWidth) * 0.9);
}

@media (min-width: 700px)
{
	#bottomMenu
	{
		width: calc(min(700px, 100dvmin));
	}
	.noDL #bottomMenu
	{
		width: calc(var(--bottomMenuWidth) * 0.9);
	}

	#bottomMenu > .appLink > *
	{
		grid-template-columns: calc(100% * var(--bottomMenuHeightScale) * 0.9) calc(100% * var(--bottomMenuHeightScale)) 1fr 1fr calc(100% * var(--bottomMenuHeightScale) * 0.8);
	}
	#bottomMenu > .appLink > * > *:first-child
	{
		margin-right: 5%;
	}
	#bottomMenu > .appLink > * > img:nth-child(2)
	{
		align-self: center;
		justify-self: center;
		width: var(--docWidth5);
	}
}

/* ▲ #bottomMenu 子孫要素は.appLinkに纏め */

/* ---------------------------------------------------------------- */


/* ▼ footer 基本設定 */
footer
{
	display: block;
	position: absolute;
	top: auto;
	bottom: 0%;
/*
	left: 50%;
	transform: translateX(-50%);
*/
	width: 100%;
	padding: 0;
	text-align: center;
}
footer > *:last-child
{
/*
	background-color: var(--footerColorBottomBg);
	color: var(--footerColorFont);
	padding-top: 0.3em;
*/
}
footer > *:only-child
{
	padding-bottom: 1em;
}
footer.footerMini > *:only-child
{
	padding-bottom: 0.5em;
}
footer > *:last-child:not(:only-child)
{
	padding-bottom: var(--footerBottomMargin);
}
footer .item1
{
	font-size: 65%;
	padding: 0.3em 0;
	background-color: var(--footerColorBg);
}
footer .item1 a
{
/*
	color: var(--footerColorLink);
*/
	white-space: nowrap;
	display: inline-block;
	padding: 0em 0.5em;
}
footer .item1 a:nth-of-type(n+2)
{
	margin-left: 0.8em;
}
/*
footer .item1 a:active  { color: var(--footerColorLinkActive) !important; }
footer .item1 a:visited { color: var(--footerColorLinkVisited) !important; }
footer .item1 a:hover   { color: var(--footerColorLinkHover) !important; }
*/
footer .bottom
{
	margin-top: 0.3em;
	display: grid;
	grid-template-columns: 30% 1fr;
	align-items: center;
}
footer.footerMini .bottom
{
	margin-top: 0.2em;
	grid-template-columns: 20% 1fr;
}
footer .bottom > *:first-child
{
	display: inline-block;
	max-width: 240px;
	justify-self: left;
	margin-left: 0.5em;
}
footer .bottom > *:first-child > img
{
	width: 100%;
}
footer .bottom > *:last-child
{
	margin-right: 0.5em;
	justify-self: right;
}
/* ▲ footer 基本設定 */

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

/* ▼ body.aboutFP / FP3級についてページ */

/* 　▼ body.aboutFP～body.aboutFP h2 ページ平文文字色変更から見出しの再設定まで */
body.aboutFP
{
	color: var(--aboutFP_htmlFont);
}
body.aboutFP header > h1
{
	padding-top: 42.22222%;
	background: var(--aboutFP_headerBg);
	background-size: var(--headerBgSize);
	margin-top: calc(68 / 1080 * 100%);
}
body.aboutFP header > h1 > img
{
	width: calc(844 / 1080 * 100%);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
body.aboutFP h2
{
	font-family: var(--fontMaruHeavy);
	font-weight: var(--fontMaruWeightHeavy);

	background: var(--aboutFP_sectionHeadBg);
	color: var(--aboutFP_sectionHeadColor);
	border: var(--aboutFP_sectionHeadBorder);
	border-color: var(--aboutFP_sectionHeadColor);
	border-style: solid;
	border-width: 0.25em;
	text-align: center;
	font-size: 150%;
	line-height: var(--lineHeight100);
	padding: 0.9em 0;
	border-radius: 0.7em;
	width: var(--docWidth2);
	margin-left: auto;
	margin-right: auto;
}
/* 　▲ body.aboutFP～body.aboutFP h2 ページ平文文字色変更から見出しの再設定まで */

/* 　▼ body.aboutFP,body.news .buttonMain メインページに戻るボタン */
body.aboutFP .buttonMain,
body.news .buttonMain
{
	display: inline-block;
	padding: 0;
	width: calc(740 / 1080 * 100%);
	margin-left: auto;
	margin-right: auto;
}
body.aboutFP .buttonMain > img,
body.news .buttonMain > img
{
	width: 100%;
}
/* 　▲ body.aboutFP .buttonMain メインページに戻るボタン */

/* 　▼ body.aboutFP .partTable */
body.aboutFP .partTable
{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 2.8em 1fr;
	gap: 0;
	background: var(--partTableHeaderBg);
	color: var(--partTableHeaderColor);
	place-items: center;
	width: -moz-fit-content;
	width: fit-content;
	margin: 2em auto 0 auto;
}
body.aboutFP .partTable > *
{
	width: 100%;
	padding: 0 1em;
}
body.aboutFP .partTable > *:first-child
{
	font-family: var(--fontBold);
	font-weight: var(--fontWeightBold);
}
body.aboutFP .partTable > *:nth-child(n+2)
{
	vertical-align: middle;
	background: var(--partTableBodyBg);
	color: var(--partTableBodyColor);
}
body.aboutFP .partTable > *:nth-child(n+2) > *
{
	display: inline-block;
	text-align: left;
	padding: 0.7em 0;
}
/* 　▲ body.aboutFP .partTable */

/* ▲ body.aboutFP / FP3級についてページ */

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

/* ▼ body.news / 更新履歴ページ */

/* 　▼ body.news > header ヘッダー部分の高さ調整 */
body.news > header
{
	padding-bottom: calc(var(--containerSpace) * 1.3);
}
/* 　▲ body.news > header ヘッダー部分の高さ調整 */

/* 　▼ :root / --newsDecoColorInvert, Color01～ 色指定 */
:root
{
	--newsDecoColorInvert: #FFF;
	--newsDecoColor01: rgb(93, 155, 194);
	--newsDecoColor01_alpha: rgba(93, 155, 194, 0.2);
	--newsDecoColor01_body: #4D6980;

	--newsDecoColor02: rgb(85, 118, 185);
	--newsDecoColor02_alpha: rgba(85, 118, 185, 0.2);
	--newsDecoColor02_body: #415275;

	--newsDecoColor03: rgb(108, 118, 128);
	--newsDecoColor03_alpha: rgba(108, 118, 128, 0.2);
	--newsDecoColor03_body: #4B5259;

	--newsDecoColor04: rgb(45, 179, 123);
	--newsDecoColor04_alpha: rgba(45, 179, 123, 0.2);
	--newsDecoColor04_body: #507364;
}
/* 　▲ :root / --newsDecoColorInvert, Color01～ 色指定 */

/* 　▼ section.news > dl～section.news > dl > dd 記事一件の基本設定 */
section.news > dl
{
	display: block;
	width: var(--docWidth3);
	margin: var(--containerSpace) auto 0 auto;
	border-width: 3px;
	border-style: solid;
	border-color: var(--newsDecoColor01);
}
section.news > dl > dt
{
	font-size: 110%;
	background: var(--newsDecoColor01_alpha);
}
section.news > dl > dt, section.news > dl > dd
{
	display: block;
	position: relative;
	padding: 0;
}
section.news > dl > dt
{
	position: relative;
	margin: 0;
	padding: 0.5em 1em 0.5em 1em;
	color: var(--newsDecoColor01);
	font-family: var(--fontBold);
	font-weight: var(--fontWeightBold);
}
section.news > dl > dt > :first-child
{
	position: relative;
	display: inline-block;
	min-width: 9em;
	color: var(--newsDecoColorInvert);
	background: var(--newsDecoColor01);
	text-align: center;
	top: -0.1em;
	margin-right: 0.5em;
	padding: 0.3em 0;
	border-radius: 1em;
	font-size: 80%;
	line-height: var(--lineHeight100);
}
section.news > dl > dd
{
	margin: 0;
	padding: 0 1em 0.7em 1em;
	color: var(--newsDecoColor01_body);
}
section.news > dl > dd > p
{
	padding: 0;
	margin: 0 0.5em;
	display: flex;
	gap: 1vmin;
	flex-wrap: wrap;
}
/* 　▲ section.news > dl～section.news > dl > dd 記事一件の基本設定 */

/* 　▼ section.news > dl.color02 色指定割り当て */
section.news > dl.color02
{
	border-color: var(--newsDecoColor02);
}
section.news > dl.color02 > dt
{
	background: var(--newsDecoColor02_alpha);
}
section.news > dl.color02 > dt
{
	color: var(--newsDecoColor02);
}
section.news > dl.color02 > dt > :first-child
{
	background-color: var(--newsDecoColor02);
}
section.news > dl.color02 > dt > :first-child
{
	background: var(--newsDecoColor02);
}
section.news > dl.color02 > dd
{
	color: var(--newsDecoColor02_body);
}
/* 　▲ section.news > dl.color02 色指定割り当て */

/* 　▼ section.news > dl.color03 色指定割り当て */
section.news > dl.color03
{
	border-color: var(--newsDecoColor03);
}
section.news > dl.color03 > dt
{
	background: var(--newsDecoColor03_alpha);
}
section.news > dl.color03 > dt
{
	color: var(--newsDecoColor03);
}
section.news > dl.color03 > dt > :first-child
{
	background-color: var(--newsDecoColor03);
}
section.news > dl.color03 > dt > :first-child
{
	background: var(--newsDecoColor03);
}
section.news > dl.color03 > dd
{
	color: var(--newsDecoColor03_body);
}
/* 　▲ section.news > dl.color03 色指定割り当て */

/* 　▼ section.news > dl.color04 色指定割り当て */
section.news > dl.color04
{
	border-color: var(--newsDecoColor04);
}
section.news > dl.color04 > dt
{
	background: var(--newsDecoColor04_alpha);
}
section.news > dl.color04 > dt
{
	color: var(--newsDecoColor04);
}
section.news > dl.color04 > dt > :first-child
{
	background-color: var(--newsDecoColor04);
}
section.news > dl.color04 > dt > :first-child
{
	background: var(--newsDecoColor04);
}
section.news > dl.color04 > dd
{
	color: var(--newsDecoColor04_body);
}
/* 　▲ section.news > dl.color04 色指定割り当て */

/* ▲ body.news / 更新履歴ページ */

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

/* ▼ body.news.appInfo / アプリ更新通知システム/appInfo/ページ */
body.appInfo section > div
{
	text-align: left;
	padding: 0 calc(var(--sectionDocPaddingHorizonal) * 0.6) calc(var(--sectionDocFirstPaddingVertical) * 1) calc(var(--sectionDocPaddingHorizonal) * 0.6);
}
body.appInfo section > div:first-of-type
{
	padding-top: calc(var(--sectionDocFirstPaddingVertical) * 1);
}
body.appInfo section h2
{
	font-size: 150%;
}
body.appInfo .h3,
body.appInfo .line
{
	background-color: var(--newsDecoColor01_alpha);
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
}
body.appInfo .line
{
	padding: 0;
	margin-top: 1.5em;
	height: 0.1em;
}
body.appInfo section h3
{
	font-size: 130%;
}
body.appInfo section > ul,
body.appInfo section > ol
{
	margin-top: 0;
	margin-bottom: 0;
}
body.appInfo section > ul > li,
body.appInfo section > ol > li
{
	padding-right: 1em;
}
body.appInfo section > ul > li:nth-of-type(n+2),
body.appInfo section > ol > li:nth-of-type(n+2)
{
	margin-top: 1em;
}
/* ▲ body.news.appInfo / アプリ更新通知システム/appInfo/ページ */

/* ▼ body .bio */
.bio
{
	display: grid;
	grid-template-columns: 3.5em 1fr;
	gap: 0.3em 0.1em;
	place-items: start;
}
@media screen and (max-width: 340px)
{
	.bio
	{
		grid-template-columns: 4em 1fr;
	}
}
/* ▲ body .bio */
