/* @override http://templates.jonnotie.nl/iphone/stylesheets/main.css */

* {
	margin: 0;
	padding: 0;
}

html, body {
	background-image: url(../images/basics/bg.png);
	background-color: #231d3b;
}

body {
/*	color: #a8abb0; */ 
	color: #ffffff;
	font: 12px/18px "Lucida Grande", Lucida, "Lucida Grande Unicode", Verdana, sans-serif;
/*	text-shadow: 0px 0px -1px rgba(0,0,0,0.5); */

}

p {
	margin-bottom: 18px;
}

img {
	border-style: none;
	border-width: 0;
	vertical-align: bottom;
}

ul, ol {
	
}

h1, h2, h3, h4 {
	font-size: 12px;
	line-height: 18px;
	font-style: normal;
	font-weight: normal;
}

a:link, a:visited {
	text-decoration: underline;
	outline: 0;
/*	color: #a8abb0; */
	color: #ffffff;
}

a:link:hover, a:visited:hover {
	text-decoration: none;
	color: #fff;
}

a:link:active, a:visited:active {
	text-decoration: none;
}

/* @group basics */

#wrapper {
	width: 894px;
	margin: 0 auto;
}

/* @group columns */

.row {
	overflow: hidden;
	width: 480px;
	margin-bottom: 18px;
}

.column {
	float: left;
	margin-right: 26px;
	width: 454px;
	overflow: hidden;
	position: relative;
}

.column.six {
	width: 454px;
}

.column.six .row {
	width: 480px;
}

.column.five {
	width: 324px;
}


.column.three {
	width: 214px;
}

.column.three .row {
	width: 240px;
}

.column.four {
	width: 294px;
}

.column.four .row {
	width: 320px;
}

.column.two {
	width: 134px;
}

.column.two .row {
	width: 160px;
}

.column.oneandahalf {
	width: 94px;
}

.column.oneandahalf .row {
	width: 120px;
}

.column.one {
	margin: 0px 13px;
	width: 70px;
}

.column.store {
	width: 154px;
}

.column.store .row {
	width: 180px;
}


/* @end */

/* @group links */

.link {
	position: relative;
	width: 94px;
	height: 95px;
	display: block;
	text-indent: -9999px;
	overflow: hidden;
	z-index: 1;
	cursor: pointer;
}

.link.left {
	float: left;
	margin-right: 14px;
	margin-bottom: 18px;
}

.link.right {
	float: right;
	margin-bottom: 18px;
	margin-left: 14px;
}

.link .img {
	display: block;
	width: 94px;
	height: 95px;
	overflow: hidden;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	background-image: url(../images/basics/links/link-oneandahalf.png);
		cursor: pointer;
}

.link img {
	position: absolute;
	top: 4px;
	left: 4px;
	width: 120px;
}

/* --- */

.link:hover .img {
	background-position: 0 -95px;
}

.link:active .img {
	background-position: 0 -190px;
}

/* --- */

.link.wide {
	width: 214px;
	height: 385px;
	cursor: pointer;
}

.link.wide .img {
	width: 214px;
	background-image: url(../images/basics/links/link-three.png);
		cursor: pointer;

}

.link.wide img {
	width: 206px;
}

.link.wide2 {
	width: 214px;
	height: 150px;
	cursor: pointer;
}

.link.wide2 .img {
	width: 214px;
	background-image: url(../images/basics/links/link-three.png);
		cursor: pointer;

}

.link.wide2 img {
	width: 206px;
}

.link.landscape {
	width: 324px;
	height: 216px;
	cursor: pointer;
}

.link.landscape .img {
	width: 324px;
	background-image: url(../images/basics/links/link-three.png);
		cursor: pointer;
}

.link.landscape img {
	width: 316px;
}


.link.landscape2 {
	width: 400px;
	height: 225px;
	cursor: pointer;
	margin: 0 auto;
}

.link.landscape2 .img {
	width: 400px;
	background-image: url(../images/basics/links/link-three.png);
		cursor: pointer;

}

.link.landscape2 img {
	width: 392px;
}

.link.portrait2 {
	width: 225px;
	height: 400px;
	cursor: pointer;
	margin: 0 auto;
}

.link.portrait2 .img {
	width: 225px;
	background-image: url(../images/basics/links/link-three.png);
		cursor: pointer;

}

.link.portrait2 img {
	width: 217px;
}



/* @end */

/* @group appstore */

.appstore {
	width: 154px;
	height: 53px;
	display: block;
	background-image: url(../images/basics/links/appstore154.png);
	text-indent: -9999px;
	background-color: #29134d;
	margin-top: 20px;
}

.appstore:hover {
	background-image: url(../images/basics/links/appstore154reverse.png);
}

.appstore:active {
}

.appstore-soon {
	width: 154px;
	height: 53px;
	display: block;
	background-image: url(../images/basics/links/appstore154soon.png);
	text-indent: -9999px;
	background-color: #29134d;
	cursor: default;
	margin-top: 20px;
}

.androidmarket {
	width: 154px;
	height: 46px;
	display: block;
	background-image: url(../images/basics/links/google-play-badge154.png);
	text-indent: -9999px;
	background-color: #29134d;
	margin-top: 23px;
}

.androidmarket:hover {
	background-image: url(../images/basics/links/google-play-badge154reverse.png);
}

.androidmarket-soon {
	width:141px;
	height: 54px;
	display: block;
	background-image: url(../images/basics/links/androidmarket141soon.png);
	text-indent: -9999px;
	background-color: #29134d;
	cursor: default;
	margin-top: 15px;
}

.webedition {
	width: 154px;
	height: 54px;
	display: block;
	background-image: url(../images/basics/links/webedition.png);
	text-indent: -9999px;
	background-color: #29134d;
	margin-top: 19px;
}

.webedition:hover {
	background-image: url(../images/basics/links/webeditionreverse.png);
}

/* @end */

/* @group form */

form {
}

form p {
	margin-bottom: 0;
}

form label {
	cursor: pointer;
}

form input {
	width: 186px;
	border-width: 0;
	border-style: none;
	height: 22px;
	outline: 0;
	color: #c9ccd0;
	font: 12px/18px "Lucida Grande", Lucida, Verdana, sans-serif;
	padding: 5px 14px 0;
	background: #2e343c url(../images/basics/input.png) 100% 0;
	display: block;
	margin-top: 5px;
}

form input:focus {
	color: #e6e9ec;
	background-position: 0 -27px;
}

form textarea {
	width: 426px;
	border-width: 0;
	border-style: none;
	height: 142px;
	outline: 0;
	color: #c9ccd0;
	font: 12px/18px "Lucida Grande", Lucida, Verdana, sans-serif;
	padding: 10px 14px 3px;
	background: #2e343c url(../images/basics/textarea.png) 100% -1px;
	overflow: auto;
	margin-top: 5px;
	margin-bottom: 14px;
}

form textarea:focus {
	background-position: 100% -156px;
	color: #e6e9ec;
}

form button {
	margin-bottom: 18px;
	margin-left: auto;
	border-width: 0;
	border-style: none;
	background-image: url(../images/basics/button.png);
	width: 56px;
	height: 27px;
	display: block;
	text-indent: -9999px;
	cursor: pointer;
	background-color: #559b37;
}

form button:hover {
	background-position: 0 -27px;
}

form button:active {
	background-position: 0 -54px;
}

/* --- */

form p.error big {
	float: right;
	font-size: 12px;
	line-height: 18px;
	color: #fff;
	font-style: italic;
}



/* @end */



/* @end */

/* @group essentials */

/* @group header */

#header {
	height: 125px;
	padding-top: 122px;
	position: relative;
}

/* @group title */

#title {
	height: 99px;
	padding: 26px 52px 0 381px;
	position: relative;
	background: url(../images/essentials/header/title/bg.png) no-repeat 0 bottom;
	width: 461px;
}

#title h1 {
	font-size: 22px;
	padding-top: 35px;
	background: url(../images/essentials/header/title/EAS57.png?v=20261112) no-repeat 0 21px;
	height: 63px;
	padding-left: 82px;
	line-height: 30px;
	color: #fff;
}

#title a {
	height: 41px;
	position: absolute;
	top: 60px;
	right: 42px;
	background-image: url(../images/essentials/header/title/price-left.png);
	font-size: 18px;
	text-decoration: none;
	font-weight: bold;
	display: block;
	padding-left: 10px;
	line-height: 40px;
	background-color: #4e9430;
	color: #fff;
	margin-right: 3px;
}

#title a span {
	height: 41px;
	background: url(../images/essentials/header/title/price-right.png) no-repeat right 0;
	display: inline-block;
	cursor: pointer;
	padding-right: 10px;
}

#title a:hover {
	background-position: 0 -41px;
}

#title a:hover span {
	background-position: right -41px;
}

#title a:active {
	background-position: 0 -82px;
}

#title a:active span {
	background-position: right -82px;
}

/* --- */

.mirror #title {
	background: url(../images/essentials/header/title/bg-mirrored.png) no-repeat 0 bottom;
	padding: 26px 50px 0 51px;
	width: 793px;
}

.mirror #title a {
	right: 381px;
	top: 60px;
	position: absolute;
	display: block;
}

/* @end */

/* @group navigation */

#navigation {
	height: 31px;
	list-style-type: none;
	position: absolute;
	z-index: 1;
	overflow: hidden;
	left: 383px;
	top: 122px;
	padding-right: 50px;
}

#navigation li {
	height: 31px;
	float: left;
	margin-right: -11px;
}

#navigation li a {
	float: left;
	text-decoration: none;
	background: url(../images/essentials/header/navigation/left.png) no-repeat 3px 0;
	height: 29px;
	padding-left: 15px;
	margin-right: 22px;
	display: inline;
}

#navigation li a span {
	height: 23px;
	background: url(../images/essentials/header/navigation/right.png) no-repeat right 0;
	margin-right: -25px;
	padding-right: 25px;
	position: relative;
	z-index: 1;
	cursor: pointer;
	display: block;
	float: left;
	padding-top: 6px;
	white-space: nowrap;
}

/* --- */

#navigation li a:hover {
	position: relative;
	z-index: 1;
	background: url(../images/essentials/header/navigation/left-current.png) no-repeat 0 0;
	height: 29px;
}

#navigation li a:hover span {
	height: 23px;
	background-image: url(../images/essentials/header/navigation/right-current.png);
}

/* --- */

#navigation li a:active {
	position: relative;
	z-index: 1;
	background: url(../images/essentials/header/navigation/left-current.png) no-repeat 0 1px;
	height: 29px;
}

#navigation li a:active span {
	height: 22px;
	background: url(../images/essentials/header/navigation/right-current.png) no-repeat right 1px;
	padding-top: 7px;
}

/* --- */

#navigation li.current a {
	position: relative;
	z-index: 2;
	height: 31px;
	background: url(../images/essentials/header/navigation/left-current.png) 0 0;
	color: #fff;
}

#navigation li.current a span {
	height: 25px;
	background: url(../images/essentials/header/navigation/right-current.png) no-repeat right 0;
	padding-top: 6px;
}

#navigation li.current a:hover {
	background-position: 0 0;
	height: 31px;
}

#navigation li.current a:hover span {
	height: 25px;
}

/* --- */

.mirror #navigation {
	right: 383px;
	top: 122px;
	left: 52px;
}



/* @end */



/* @end */

/* @group main */

#main {
	background-image: url(../images/essentials/main/bg.png);
	position: relative;
	min-height:390px;
  	height:auto !important;
  	height:390px;
}


#leftside {
	width: 380px;
	position: absolute;
	top: 660px;
	line-height: 16px;
	text-align: center
}

#leftside h2 {
	margin-left: 12px;
	margin-bottom: 9px;
	color: #fff;
	font-weight: bold;
	text-align: left
}


/* @group iphone */

#iphone {
	width: 180px;
	height: 270px;
	background-image: url(../images/essentials/main/smartphone/iphone5white.png);
	position: absolute;
	top: -230px;
	padding: 92px 62px 117px 138px;
	left: 3px;
    -moz-transform-origin: 50% 100%;
	-mozi-transform: rotate(0deg);  
    -webkit-transform-origin: 50% 100%;
	-webkit-transform: rotate(0deg);
	z-index: 1;

}

#iphone .img {
	width: 181px;
	height: 320px;
	overflow: hidden;
	position: relative;
}

#iphone a {
	height: 57px;
	width: 179px;
	display: block;
	position: absolute;
	top: 150px;
	z-index: 0;
	background-image: url(../images/basics/links/clicktoplay.png);
	text-indent: -9999px;
	left: 26px;
}

#iphone img {
	width: 181px;
}

#iphone:hover {
	z-index: 2;
}




#iphone4 {
	width: 180px;
	height: 270px;
	background-image: url(../images/essentials/main/smartphone/iphone4small.png);
	position: absolute;
	top: -230px;
	padding: 98px 62px 107px 138px;
	left: 3px;
    -moz-transform-origin: 50% 100%;
	-mozi-transform: rotate(0deg);  
    -webkit-transform-origin: 50% 100%;
	-webkit-transform: rotate(0deg);
	z-index: 1;

}

#iphone4 .img {
	width: 180px;
	height: 270px;
	overflow: hidden;
	position: relative;
}

#iphone4 a {
	height: 57px;
	width: 179px;
	display: block;
	position: absolute;
	top: 150px;
	z-index: 1;
	background-image: url(../images/basics/links/clicktoplay.png);
	text-indent: -9999px;
	left: 26px;
}

#iphone4 img {
	width: 180px;
}

#iphone4:hover {
	z-index: 2;
}

/*
#iphone .hvlog img {
	opacity: 0.5;
	filter:alpha(opacity=50);
}

#iphone a:hover {
	background-position: 0 -57px;
}

#iphone a:active {
	background-position: 0 -114px;
}

#iphone object {
	width: 180px;
	height: 270px;
}

#iphone embed {
	width: 180px;
	height: 2706px;
}

.mirror #iphone {
	left: 510px;
	right: 3px;
}

*/

/* @end */

/* @group android */

#iphone2 {
	width: 180px;
	height: 270px;
	background-image: url(../images/essentials/main/smartphone/iphone5black.png);
	position: absolute;
	top: 50px;
	padding: 92px 130px 160px 63px;
	left: 3px;
    -moz-transform-origin: 50% 100%;
	-moz-transform: rotate(-4deg);  
    -webkit-transform-origin: 50% 100%;
	-webkit-transform: rotate(-4deg);
	z-index: 1;
	/* opacity: 0.3;
		filter:alpha(opacity=30);
	*/
}

#iphone2 .img {
	width: 181px;
	height: 320px;
	overflow: hidden;
	position: relative;
}


#iphone2 img {
	width: 181px;
}

#iphone2:hover {
	z-index: 2;
}

/* @group android */

#android {
	width: 180px;
	height: 300px;
	background-image: url(../images/essentials/main/smartphone/nexusonesmall.png);
	position: absolute;
	top: 50px;
	padding: 100px 130px 170px 72px;
	left: 3px;
    -moz-transform-origin: 50% 100%;
	-moz-transform: rotate(-4deg);  
    -webkit-transform-origin: 50% 100%;
	-webkit-transform: rotate(-4deg);
	z-index: 1;
	/*	opacity: 0.3;
		filter:alpha(opacity=30);
	*/
}

#android .img {
	width: 180px;
	height: 300px;
	overflow: hidden;
	position: relative;
}


#android img {
	width: 180px;
}

#android:hover {
	z-index: 2;
}

/*
#android .hvlog img {
	opacity: 0.3;
	filter:alpha(opacity=50);
}

#android a:hover {
	background-position: 0 -57px;
}

#android a:active {
	background-position: 0 -114px;
}

#android object {
	width: 180px;
	height: 270px;
}

#android embed {
	width: 180px;
	height: 276px;
}

.mirror #android {
	left: 510px;
	right: 3px;
}

*/


/* @end */



/* @group content */

#content {
	background: url(../images/essentials/main/content/bg.png) repeat-x;
	width: 454px;
	overflow: hidden;
	padding: 27px 55px 1px 385px;
	margin-bottom: -20px;
}

#content abbr {
	border-bottom: 1px dotted #666c73;
	cursor: help;
}

#content abbr:hover {
	color: #fff;
}

#content h2 {
	margin-bottom: 9px;
	color: #fff;
	font-weight: bold;
}

#content ul {
	margin-bottom: 18px;
	width: 100%;
}

#content ol {
	margin-bottom: 18px;
	width: 100%;
}

#content ul li {
	list-style-type: none;
	background: url(../images/basics/li.png) no-repeat 0 8px;
	padding-left: 15px;
	margin-bottom: 12px;

}

#content ol li {
	padding-left: 15px;
	margin-bottom: 18px;
}

#content ol li a {
	margin-left: -15px;
}


/* --- */

.mirror #content {
	padding: 30px 385px 1px 55px;
}

/* @end */



/* @end */

/* @group footer */

#footer {
	padding: 30px 18px;
	background: url(../images/essentials/footer/bg.png) no-repeat;
	text-align: center;
	position: relative;
	z-index: 1;
}



/* @end */



/* @end */

/* アプリのアイコン・起動画面のマーク（正方形）: 枠の中に全体を収める（本家の画像のように左上だけを見せない。BB の main.css と同じ） */
.link.icon img {
	width: 86px;
	height: 86px;
}

/* 理論の頁の小見出し（h3）: 白・太字。色のシミュレータの main.css（ae15795）と同じ */
#content h3 {
	margin: 16px 0 6px;
	color: #fff;
	font-weight: bold;
}

/* 処理の流れ（コードの囲み） */
pre.flow {
	margin: 6px 0 16px;
	padding: 8px 10px;
	overflow-x: auto;
	font-family: Menlo, Consolas, monospace;
	font-size: 12px;
	line-height: 20px;
	background: #29134d;
	color: #ffffff;
}

#content li p {
	margin-bottom: 6px;
}

/* 独立した式。幅が足りなければ横にスクロールする（切らない） */
.eq {
	margin: 6px 0 16px;
	padding: 4px 0;
	overflow-x: auto;
	overflow-y: hidden;
	font-size: 16px;
}

.eq .katex-display {
	margin: 0;
}

.eq .katex {
	font-size: 1em;
}

/* 図（付図）。幅いっぱいまで。高さは画像の比のまま */
.fig img {
	max-width: 100%;
	height: auto;
}

.figs {
	display: flex;
	gap: 12px;
}

.figs img {
	flex: 1 1 0;
	min-width: 0;
	width: 50%;
	height: auto;
}

/* 表（理論の頁の全部の表がこの 1 組。黒い背景に白い罫線と白い字）。幅が足りなければ横にスクロールする */
.tbl {
	margin: 6px 0 16px;
	overflow-x: auto;
}

.tbl table {
	border-collapse: collapse;
	font-size: 13px;
	line-height: 18px;
	background: #29134d;
	color: #fff;
}

.tbl th, .tbl td {
	border: 1px solid #fff;
	padding: 3px 8px;
	text-align: left;
	vertical-align: top;
	background: #29134d;
	color: #fff;
}

.tbl th {
	font-weight: bold;
	border-bottom-width: 2px;
}

/* @group 理論の頁の割り付け（body.theory。theory.html だけ）
   画面を大きく使う: 本文の狭い幅（454px）を外し、左右の iPhone の画像の横だけ文字を右へ逃がして、その下は全幅に広げる。 */

.theory #content {
	width: 784px;
	padding-left: 55px;
	padding-right: 55px;
}

.theory #content .row {
	width: auto;
}

.theory #content .column.six {
	float: none;
	width: auto;
	margin-right: 0;
	overflow: visible;
}

/* iPhone の画像（#iphone・#iphone2。絶対配置）の横に当たる分の場所。ここだけ文字は右へ逃げ、下は全幅になる */
.theory .phone-gap {
	float: left;
	width: 330px;
	height: 560px;
}

/* 箇条書き: 全体を本文の左端から 14px 内側へ入れる。番号つきの手順は、番号（項目の頭の <a>N. </a>）が項目の左端に入り、本文はその右でそろう（折り返しもそろう）。
   1 項目ごとに別の ol なので、標準の番号は消す */
.theory #content ul,
.theory #content ol {
	width: auto;
	margin-left: 14px;
}

.theory #content ol,
.theory #content ol li {
	list-style: none;
}

.theory #content ol li {
	padding-left: 26px;
}

/* 左の iPhone の画像（float）の横に当たる項目は、項目の箱ごと画像の右へ寄せる（点や番号だけが画像の下に取り残されないように） */
.theory #content li {
	display: flow-root;
}

.theory #content ol li a {
	display: inline-block;
	width: 26px;
	margin-left: -26px;
}

/* 図（<figure>）: 色のシミュレータの図は表示幅 500px を上限にする（2026-10-28 一憲さん。560px から 500px に。明るく大きくの 660px だと、ほぼ正方形の色度図が縦に大きすぎる。図の中の字の大きさの比は変えず、拡大するだけ）。狭い幅では 100% に縮む。中央揃え。キャプションは本文と同じ色・同じ大きさ（灰色・小さい字にしない）で、中央揃えと上下の余白と「図 n」の太字で本文と区別する */
.theory figure.fig {
	margin: 18px 0 28px;
	text-align: center;
}

.theory figure.fig img {
	display: block;
	width: 100%;
	max-width: 500px;
	height: auto;
	margin: 0 auto;
}

.theory figure.fig figcaption {
	max-width: 660px;
	margin: 12px auto 0;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	text-align: center;
}

.theory figure.fig figcaption b {
	color: inherit;
	font-weight: bold;
}

/* @end */

/* @group 4.0 の画像の枠（マニュアルの画面の写真。tools/build_cvs_manual.py が作る）
   本家の枠（.link.wide ほか）は高さが固定で、4.0 の写真（1179×2556、1:2.17）は切れてしまう。
   ここでは枠の高さを固定せず、画像の比のまま全部が見えるようにする（幅だけ決める。画像の高さは auto）。 */

.link.portrait3 {
	width: 214px;
	height: auto;
	padding: 4px;
	box-sizing: border-box;
	font-size: 0;       /* 「open image」の文字は画像の下に出るので隠す */
	line-height: 0;
}

.link.portrait3 img {
	position: static;
	display: block;
	width: 100%;
	height: auto;
}

/* 1 枚だけの時は中央に */
.column.six > .link.portrait3 {
	margin: 8px auto 18px;
}

/* 並べる 2〜3 枚。幅は並べる場所に合わせて縮み、はみ出して切れない */
.shots {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin: 8px 0 18px;
}

.shots .link {
	flex: 1 1 0;
	min-width: 0;
	max-width: 214px;
	width: auto;
}

/* @end */

/* @group ストアのボタン（眼の年齢シミュレータ。URL が無い間は薄くして Coming Soon を添える。build_eas_site.py の STORES） */
.store-off .appstore, .store-off .androidmarket, .store-off .webedition { opacity: 0.35; cursor: default; }
.store-off .appstore:hover { background-image: url(../images/basics/links/appstore154.png); }
.store-off .androidmarket:hover { background-image: url(../images/basics/links/google-play-badge154.png); }
.store-off .coming { display: block; width: 154px; margin-top: 4px; text-align: center; font-size: 11px; color: #a2a1c6; }
/* @end */
