﻿*{
	margin:0;
	padding:0;
}

html {
	overscroll-behavior: none;
}

body {
	font-size: 1.6rem;
    line-height: 1.4;
}

p {
	font-weight: bold;
	color: #333;
}

img {
	user-select: none;
}

.ac {
	text-align: center !important;
}

.al {
	text-align: left !important;
}

.ar {
	text-align: right !important;
}

.col1 {
	float: left;
	width: 50px;
	margin: 0 !important;
	display: table;
}

.col3 {
	float: left;
	width: 210px;
	margin: 0 !important;
	display: table;
}

.col4 {
	float: left;
	width: 280px;
	margin: 0 !important;
	display: table;
}

.col5 {
	float: left;
	width: 405px;
	margin: 0 !important;
	display: table;
}

.col6 {
	float: left;
	width: 440px;
	margin: 0 !important;
	display: table;
}

.col8 {
	float: left;
	width: 560px;
	margin: 0 20px 0 0 !important;
	display: table;
}

.col9 {
	float: left;
	width: 620px;
	margin: 0 20px 0 0 !important;
	display: table;
}

.fr {
	float: right;
	margin: 0 10px;
}

.cf:after {
	content: "";
	display: block;
	clear: both;
}

/*
#main {
	width: 960px;
	height: 100%;
	background-color: #FFFFFF;
}

#contentContainer {
	width:920px;
	height:100%;
	padding: 20px;
}
*/
body {
	margin: 0;
	padding: 0;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
	-moz-user-select: none;
	-khtml-user-select: none;
	-webkit-user-drag: none;
	-khtml-user-drag: none;
	overflow-y: scroll;
	overflow-x: hidden;
	position: relative;
	/* overflow: auto; */
	width: 100%;
	height: 100%;
	display: block;
	align-items: center;
	justify-content: center;

	min-height: 100vh; /* Fallback */
	min-height: calc(var(--vh, 1vh) * 100);
}

body * {
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;
}

#contentHeader{
	width: 1280px;
	height: 100px;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 1
}

#contentContainer {
	width: 1280px;
	/* t-frame */
	height: auto;
	/* t-frame */
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	/*overflow: hidden;*/
	position: absolute;
	overflow-y: scroll;
	overflow-x: hidden;
}

#inner {
	width: 1280px;
	height: auto;
	position: relative;
}

#inner.has-header{
	padding-top: 100px;
}

.title {
	padding: 10px;
	margin-bottom: 30px;
	background-color: #E6F2FA;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	text-align: center;
}

.content {
}

#title-wrapper{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 600px;
	vertical-align: middle;
	font-weight: bold;
	z-index: 10;
}

#contentType{
	position: absolute;
    /* top: 34.5px;
	left: 42px; */
	top: 37px;
	left: 47.5px;
    vertical-align: middle;
	/* width: 136px; */
    width: 125px;
    color: #fff;
    font-size: 23px;
    text-align: center;
    --icon-size: 1em;
    --icon-margin: 0.25em;
}

#chapter{
	position: absolute;
    top: 34.5px;
    left: 202px;
    font-size: 23px;
}

#section{
	position: absolute;
    top: 34.5px;
    left: 248px;
    font-size: 23px;
}

#contentTitle{
	position: absolute;
    top: 36px;
    left: 262px;
	width: 280px;
    font-size: 23px;
	line-height: 30px;
}

#pageNum{
	position: absolute;
    top: 36.5px;
    left: 525px;
    width: 100px;
    font-size: 19px;
    text-align: end;
}

.c-h-btn {
    position: absolute;
    width: 378px;
    height: 80px;
    top: 18px;
    right: 18px;
    display: inline-flex;
	flex-direction: row-reverse;
}

.c-h-btn button {
    height: 70px;
    width: 110px;
    margin: 0px 15px;
    border-radius: 8px;
}

.c-h-btn button p {
    color: #000;
    font-weight: normal;
    font-size: 20px;
}

.c-h-btn button img {
    width: 130px;
}

ul {
	list-style: none;
	padding: 10px 0;
}

dl {
	width: 100%;
}

dt {
	display: block;
	width: 50%;
	clear: left;
	float: left;
	padding: 15px 0;
	text-align: left;
}

dt span {
	font-size: 1.4rem;
	font-weight: bold;
}

dd {
	display: block;
	width: 50%;
	float: left;
}


table {
	width: 100%;
}

table, th, td {
    border-collapse: collapse;
    border: 1.5px solid #ccc;
	padding: 15px;
}

th {
	background-color: #444;
	color: #fff;
	font-weight: bold;
}

.btnAll,
.btnAll01,
.btnAll02,
.btnAll03 {
	cursor:pointer;
}

.mask,
.mask1,
.mask2,
.mask3,
.mask4,
.mask5,
.mask6,
.mask7,
.mask8,
.mask9,
.mask10 {
	cursor:pointer;
	background-color: #FAFAEB;
	background-image: url(../img/img_mask.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto 3rem;
	user-select: none;
	-webkit-user-select: none; /* Safari、Chromeなど */
}

.btn
{
	font-size: 1.4rem;
	cursor: pointer;
	background-color: #f0f0f0;
	border: 2px solid #ddd;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	padding: 5px 40px;
	text-align: center;
	user-select: none;
	-webkit-user-select: none; /* Safari、Chromeなど */
}

.btnB
{
	font-size: 1.4rem;
	font-weight: bold;
	cursor: pointer;
	background-color: #5082D2;
	color: #fff;
	border: none;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	padding: 5px 40px;
	text-align: center;
	user-select: none;
	-webkit-user-select: none; /* Safari、Chromeなど */
}

.kaito
{
	visibility:hidden;
}
img {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-khtml-user-select: none;
	-webkit-user-drag: none;
	-khtml-user-drag: none;
}
button{
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
	overflow: visible;
	text-transform: none;
	color:rgba(255,255,255,0);
	background-color: rgba(255,255,255,0);
	border-color: rgba(255,255,255,0);
	padding: 0%;
	border: none;
}
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

 button,
 [type="button"],
 [type="reset"],
 [type="submit"] {
   -webkit-appearance: none;
 }
 
 /**
  * Remove the inner border and padding in Firefox.
  */
 
 button::-moz-focus-inner,
 [type="button"]::-moz-focus-inner,
 [type="reset"]::-moz-focus-inner,
 [type="submit"]::-moz-focus-inner {
   border-style: none;
   padding: 0;
 }
 
 /**
  * Restore the focus styles unset by the previous rule.
  */
 
 button:-moz-focusring,
 [type="button"]:-moz-focusring,
 [type="reset"]:-moz-focusring,
 [type="submit"]:-moz-focusring {
   outline: 0;
 }
button:hover,
button:focus {
	cursor:pointer;
	outline: 0;
}

input {
	font-size: 1.6rem;
	margin: 10px 0;
	padding: 3px;
	text-align: right;
	width: 350px;
}

input.small {
	width: 150px;
}

input.middle {
	width: 300px;
}

.colorPicker input {
	width: 100px !important;
}

.output {
	background-color: #FFEBEB;
	padding: 5px 10px;
}

.wrapper {
	padding: 20px;
	border: 2px solid #ccc;
	text-align: center;
	margin-bottom: 30px;
}

.wrapper .content{
	position: relative;
	display: inline-block;
}

.fieldArea {
	margin: 10px;
}

.fieldArea input {
	width: 240px;
}

.fieldArea li {
	margin: 20px auto;
}

.fieldArea li .btn,
.fieldArea li .btnB {
	width: 220px;
	display: block;
	padding-left: 0;
	padding-right: 0;
	margin: auto;
}

.col4 .fieldArea {
	display: table-cell;
    vertical-align: middle;
}

.arrow-under {
	width: 50px;
	margin: 25px auto;
}

.arrow-right {
	display: table-cell;
    vertical-align: middle;
	padding: 12px;
}

.arrow-right img{
	margin-top: 50px;
}


sup {
	font-size: 0.8rem;
	font-weight: bold;
	padding: 0 2px;
}

sub {
	font-size: 0.8rem;
	font-weight: bold;
	padding: 0 2px;
}

.questionContents {
	width: 1280px;
	margin: auto;
}

/* .question img {
	width: 100%;
} */

/*****************************************
　章末問題
*****************************************/
.btnAns {
	float: left;
}

.answer {
	display: none;
	margin-left: 20px;
	line-height: 1.6;
	float: left;
}

.fieldArea.shomatsu li.txt_idt {
	padding-left:1em;
	text-indent:-1em;
}

.fieldArea.shomatsu li .btnB {
    width: 100px;
	float: left;
	display: inline-block;
}

.ansArea {
    width: 450px;
	float: left;
	display: block;
	margin-left: 20px;
	min-height: 38px;
	border: 1px solid #333;
	line-height: 1.4;
}

.ansArea.middle {
    width: 300px;
}

.ansArea .answer {
	padding-top: 2px;
	line-height: 1.4;
}

.show {
	display: block;
}

.shomatsu p {
	padding: 5px 0;
}

.shomatsu.fieldArea li {
	margin: 10px auto;
}


.shomatsu .kaito {
	display: inline-block;
	padding: 0 20px;
}

.shomatsu .mask1,
.shomatsu .mask2,
.shomatsu .mask3 {
	padding: 5px 0;
	margin-left: 5px;
	background-size: contain;
}

.ansTable2,
.ansTable3,
.ansTable4 {
	width: auto;
}

.shomatsu .ansTable .kaito,
.shomatsu .ansTable2 .kaito,
.shomatsu .ansTable3 .kaito,
.shomatsu .ansTable4 .kaito {
	padding: 0;
}

.shomatsu .ansTable .mask,
.shomatsu .ansTable2 .mask,
.shomatsu .ansTable3 .mask,
.shomatsu .ansTable4 .mask {
	background-size: contain;
}

.ansTable th,
.ansTable2 th,
.ansTable3 th,
.ansTable4 th {
	width: 20px;
	font-size: 1.2rem;
}

.ansTable2 td {
	width: 220px;
}

.ansTable3 td {
	width: 130px;
}

.ansTable4 td {
	width: 80px;
}

.ansTable th,
.ansTable td,
.ansTable2 th,
.ansTable2 td,
.ansTable3 th,
.ansTable3 td,
.ansTable4 th,
.ansTable4 td {
	padding: 5px 10px;
	line-height: 1.2;
}

.shomatome {
	display: table;
	min-height: 450px;
}
.shomatome .mask1,
.shomatome .mask2,
.shomatome .mask3,
.shomatome .mask4,
.shomatome .mask5,
.shomatome .mask6,
.shomatome .mask7,
.shomatome .mask8,
.shomatome .mask9,
.shomatome .mask10 {
	background-size: contain;
}

.shomatome .vm {
	display: table-cell;
	vertical-align: middle;
}

/*****************************************
　エラーメッセージ
*****************************************/

#error_msg {
	position: absolute;
    top: 315px;
    left: 60px;
	font-size: 1.0rem;
	font-weight: bold;
	color: #DC4628;
}


/*****************************************
　モーダルウィンドウ
*****************************************/

.remodal-overlay,
.remodal-wrapper {
  background-color: rgba(0,0,0,0.4);
}

.remodal {
	position: relative;
	padding: 0;
	width: auto;
	max-width: 80%;
	height: auto;
	color: #333;
	background-color: #fff;
	border-radius: 10px; 
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

.remodal h1 {
	font-size: 2.4rem;
	font-weight: bold;
	padding: 25px 80px 25px 40px;
	text-align: left;
	border-bottom: 2px solid #ddd;
}

.remodal-body {
	padding: 25px 40px;
	text-align: left;
}

.remodal-body p {
	padding: 5px 0;
	font-size: 1.4rem;
}

.remodal-body p.caption {
    font-weight: bold;
}

.remodal-body img {
	width: 100%;
	margin: 0 auto;
}

.remodal-body ul.imgbox li {
	float: left;
	display: inline;
	width: 40%;
	padding: 10px 20px 10px 0;
}

.remoda-bodyl ul.imgbox li p {
	font-weight: bold;
}

.remodal-body ul.imgbox li img {
	width: 100%;
}

.remodal-body table td {
	font-size: 1.2rem;
	font-weight: bold;
}

.remodal-close {
	position: absolute;
	top: 20px;	
  	right: 20px;
	color: #fff;
	background-color: #555;
	transition: 0.6s;
}

.remodal-close:hover,
.remodal-close:focus {	
	background-color: rgba(85, 85, 85, 0.7);
	transition: 0.6s;
}

.remodal-close:before {
	font-size: 3.5rem;
	line-height: 50px;
	width: 50px;
}



/*****************************************
　チェックボックスとラジオボタン
*****************************************/
.chkbox {
	margin: 0;
}

.chkbox input {
	width: 50px;
}

/* ラベルのスタイル　*/
.chkbox label {
	font-size: 32px;
	line-height: 32px;
	display: inline-block;
	cursor: pointer;
}

/* ボックスのスタイル */
.chkbox label:before {
	content: "";
	width: 32px; /* ボックスの横幅 */
	height: 32px; /* ボックスの縦幅 */
	display: inline-block;
	left: 0;
	background-color: #fff;
	border: 1px solid #333;
	border-radius: 6px 6px 6px 6px;
	vertical-align: bottom;
}
/* 元のチェックボックスを表示しない */
.chkbox input[type=checkbox] {
	display: none;
}
/* チェックした時のスタイル */
.chkbox input[type=checkbox]:checked + label:before {
	content: '\2713'; /* チェックの文字 */ 
	font-size: 32px; /* チェックのサイズ */
	color: #333; /* チェックの色 */
	background-color: #fff; /* チェックした時の色 */
}



/*答えボタン関連*/
.stepBtnB
{
	font-size: 1.4rem;
	font-weight: bold;
	cursor: pointer;
	background-color: #5082D2;
	color: #fff;
	border: none;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	padding: 5px 20px;
	text-align: center;
	user-select: none;
	-webkit-user-select: none; /* Safari、Chromeなど */
}
.stepItem{
	display:none;	
}

.blueBtn
{
	cursor: pointer;
}
/* 白塗り */
.hideBox{
	position:absolute;
	opacity:1;
	background-color:#fff;
	display: block;
}
/* 白塗り枠付き*/
.hideBoxBoder{
	position:absolute;
	opacity:1;
	background-color:#fff;
	display: block;
	border:3px solid #70BEF2;
}
/* 画像表示 */
.hideImg{
	position:absolute;
	opacity:0;
	display: none;
}
/* 子box */
.hideImg_bind{
	position:absolute;
}
.helpText{
	font-family: "TS MathJ", 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
    font-size: 2.0rem;
    font-weight: 500;
	display:none;
	background-color:#fff;
	border:1px solid #000;
	z-index:99999;
}

.subImg{
	width: 100%;
	height: auto;
}

/* canvas基本 */
#canvasPointer{
	/* position: absolute; 背景画像がない場合はつけない*/
	top: 0px;
	left: 0px;
	width: 1280px;
	height: 794px;
}


/* --------------------------------------------------------
	コンテンツ
-------------------------------------------------------- */
/*	ステップ表示ボタン
-------------------------------------------------------- */
.btn_step_wrap{
	min-width:325px;
	position: absolute;
	transform-origin:left top;
	transform:scale(1.25);
}

.btn_step {
	height: 48px;
	float: left;
	margin-right: 8px;
	
}
.btn_step_main{
	clear:both;
}
.btn_step_tool{
	float: right;
	margin: 10px;
	opacity:0.7;
	width:40px;
	height: 40px;

}
.btn_step_open{
	display:none;
	width:40px;
	height: 40px;

}
.btn_step_open img{
	object-fit: contain;
	width:40px;
	height: 40px;
}
.btn_step_close{
	width:40px;
	height: 40px;
}
.btn_step_close img{
	object-fit: contain;
	width:40px;
	height: 40px;
}
.btn_step:last-child {
	margin-right: 0;
}

.btn_step:active {
	border-bottom: none;
}

.btn_step_ans {
	width: 100px;
}

.btn_step_ans img {
	height: 48px;
}

.btn_step_toggle {
	width: 100px;
}

.btn_step_toggle img {
	height: 48px;
}

.btn_step_up,
.btn_step_down {
	width: 48px;
}

.btn_step_up img,
.btn_step_down img {
	height: 48px;
}

/*	答えボタン
-------------------------------------------------------- */
.btn_wrap{
	min-width:48px;
	transform-origin:left top;
	transform:scale(1.25);
}
.btn_ans {

	width: 100px;
}

.btn_ans img {
	height: 48px;
}
/*	答えあわせボタン
-------------------------------------------------------- */
.btn_awase_wrap{
	min-width:130px;
	transform-origin:left top;
	transform:scale(1.25);
}
.btn_ans_awase {
	float: left;
	width: 130px;
}

.btn_ans_awase img {
	height: 48px;
}

/*	ヒント表示ボタン
-------------------------------------------------------- */
.hint_similar {
	z-index: 5;
}

.btn_hint {
	width: 100px;
}

.btn_hint img {
	height: 48px;
}

/*	類題表示ボタン
-------------------------------------------------------- */
.btn_similar {
	width: 100px;
	margin-top: 10px;
}

.btn_similar img {
	height: 48px;
}

/* 自由ボタン
-------------------------------------------------------- */
.btn_free {
	font-size: 14px;
	font-weight: bold;
	color: #555;
	padding: 0 2px;
}

.btn_free img {
	width: auto;
	height: 100%;
}
.btn_free_wrap{
	min-width:160px;
	transform-origin:left top;
}
/*	汎用ボタン
-------------------------------------------------------- */
.btn_normal {
	padding: 0 20px;
	height: 44px;
}

.btn_normal:active {
	border-bottom: none;
	margin-top: 0px;
}


/*	方向ボタン（上下左右）
-------------------------------------------------------- */
.btn_direction_wrap {
	width: 158px;
	height: 162px;
	position: relative;
}

.btn_direction {
	font-size: 14px;
	font-weight: bold;
	color: #555;
	width: 48px;
	height: 48px;
	line-height: 0;
}

.btn_direction:active {
	border-bottom: none;
}

.btn_direction_top {
	position: absolute;
	top: 0;
	left: 55px;
}

.btn_direction_top img {
	width: 18px;
	height: 12px;
}

.btn_direction_right {
	position: absolute;
	top: 55px;
	right: 0;
}

.btn_direction_right img {
	width: 12px;
	height: 18px;
}

.btn_direction_bottom {
	position: absolute;
	bottom: 0;
	left: 55px;
}

.btn_direction_bottom img {
	width: 18px;
	height: 12px;
}

.btn_direction_left {
	position: absolute;
	top: 55px;
	left: 0;
}

.btn_direction_left img {
	width: 12px;
	height: 18px;
}


/*	番号付き順序ボタン
-------------------------------------------------------- */
.btn_num {
	height: 44px;
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	padding: 0 10px;
	line-height: 1;
}

.btn_num:active {
	border-bottom: none;
}

.btn_num img {
	width: 20px;
	height: 24px;
	margin-top: -3px;
	margin-right: 8px;
	vertical-align: middle;
}


/*	空欄エリア
-------------------------------------------------------- */
.blank_area {
	background: #ffff82;
	border: 1px solid #00aae6;
	width: 320px;
	height: 64px;
	cursor: pointer;
}


/* クリック反転白塗り
------------------------------------------------------- */
.whiteFill{
	cursor:pointer;
	background-color:#FFFFFF;
	opacity: 1;
}
/* クリック反転白塗り枠付き
------------------------------------------------------- */
.hideBoxBoderFill{
	cursor:pointer;
	background-color:#FFFFFF;
	opacity: 1;
	border:3px solid #70BEF2;
}
/* クリック反転画像表示
------------------------------------------------------- */
.imgFill{
	cursor:pointer;
	opacity: 0;
}
.imgFill img{
	width: 100%;
}


/*	コンテンツ内リンクスタイル
-------------------------------------------------------- */
.link_area {
	cursor:pointer;
	/*background-color:#FF0066;
	opacity:0.3;*/
}


/*	セレクトボックス変更対応
-------------------------------------------------------- */
.selectArea{
	font-size: 1.2rem;
}
.selectBox{
	border: 1px solid #000;
	cursor:pointer;	
	padding: 5px;
	box-sizing: border-box;
}
.selectBox:after {
content: "▼";
float: right;
}
.selectBtn{
	background-color: #fff;
	color: #000;
	border: 1px solid #d2d2d2;
	cursor:pointer;
	padding: 5px;
	box-sizing: border-box;
}
.selectBtn:hover{
	color:#fff;
	background-color: #0050b4;
}
.selectOption{
	z-index:999999;
}
.clickField {
	cursor:pointer;
}

/* 計算機 */
/* 小算そのまま */

.pattern3{
	background-color: #fff;
	position: absolute;
	cursor: pointer;
	opacity: 0;
	box-sizing: border-box;
	border: 3px solid #fff;
	border-radius: 15px;
}
.pattern3 img{
	max-width: 100%;
	max-height: 100%;
}

.pattern1{
	background-color: #fff;
	position: absolute;
	cursor: pointer;
	opacity: 1;
	box-sizing: border-box;
	border-radius: 15px;
}
.pattern5{
	background-color: #fff;
	position: absolute;
	opacity: 1;
	display: block;
	box-sizing: border-box;
	border-radius: 15px;
}
.pattern2{
	background-color: rgb(255, 255, 255);
	position: absolute;
	cursor: pointer;
	opacity: 1;
	box-sizing: border-box;
	white-space: nowrap;
	border: 3px solid #eb6ea5;
	border-radius: 15px;
	text-align: center;
}


.pattern2b{
	background-color: rgb(255, 255, 255);
	position: absolute;
	cursor: pointer;
	opacity: 1;
	box-sizing: border-box;
	white-space: nowrap;
	border: 3px solid #DDEEFF;
	border-radius: 15px;
	text-align: center;
}
.pattern2select{
	background-color: rgb(255, 255, 255);
	position: absolute;
	cursor: pointer;
	opacity: 1;
	box-sizing: border-box;
	white-space: nowrap;
	border: 3px solid #eb6ea5;
	border-radius: 15px;
	text-align: center;
}

.selectOption{
	position: absolute;
	cursor: pointer;
	z-index: 999999;
	display: none;
}

.pattern2_btnSelect{
	position: absolute;
	cursor: pointer;
}
.pattern6{
	background-color: rgb(255, 255, 255);
	position: absolute;
	cursor: pointer;
	opacity: 1;
	box-sizing: border-box;
	white-space: nowrap;
	border: 3px solid #eb6ea5;
	border-radius: 15px;
	text-align: center;
}
.pattern6_btn{
	position: absolute;
	cursor: pointer;
}
.pattern2_all_btn{
	position: absolute;
	cursor: pointer;
}
.judgeImg{
	position:absolute;
	top:0;
	left:0;
}

.noFrame{
	border: transparent 3px solid !important;
}

.pattern2_btn{
	position: absolute;
	cursor: pointer;
}
.pattern2_btn2{
	position: absolute;
	cursor: pointer;
}

.pattern5_btn{
	position: absolute;
	cursor: pointer;
}

.btn-calc {
	position: absolute;
	left: 1032px;
	top: 100px;
	z-index: 2; }
	.btn-calc img {
	  width: 72px;
	  height: 72px;
	cursor: move; }
  
  .calc-content {
	display: none;
	background: url(../../common_image/bg_calc.png) no-repeat left top/contain;
	width: 196px;
	height: 342px;
	position: absolute;
	left: 1032px;
	top: 100px;
	padding: 22px 20px;
	box-sizing: border-box;
	line-height: 1;
	cursor: -webkit-grab;
	cursor: move; }
  
  .calc-key {
	display: flex;
	flex-wrap: wrap;
	margin-right: -2.5px;
	margin-left: -2.5px; }
  
.btn-calc-key {
padding-right: 2.5px;
padding-left: 2.5px;
margin-bottom: 3px; 
}
.btn-calc-key img {
cursor: pointer; 
}
.btn-calc-key.small img {
width: 48px;
height: 48px; 
}
.btn-calc-key.medium img {
width: 101px;
height: 48px; 
}
.btn-calc-key.large img {
width: 154px;
height: 40px; 
}
.input_text{
	height: 76%;
	width: auto!important;
	max-height: 90%;
	margin: 10px 0;
}
.input_select_text{
	height: 90%;
	max-height: 90%;
	margin: 5px 0;
}


.drag {
	z-index: 1001;
}
.keyboard_drag{
	cursor: move;
	position: absolute;
	z-index: 999;
}

/* helpボタン */

.btn-help {
	position: absolute;
	z-index: 2;
	cursor: pointer;
}

.help-area {
	display: none;
	background: #87C8E6;
	border-radius: 8px;
	padding: 5px;
	position: absolute;
	z-index: 9999;
}

.help-box::after{
	content: "";
	display: block;
	clear: both;
}
.help-icon {
	float: left;
	display: flex;
	min-height: 100px;
	width: 20px;
	margin: auto 0px;
}
.help-icon img{
	padding-left: 3px;
	position:absolute;
	transform: translateY(-50%);
	-webkit-transform : translateY(-50%);
	top: 50%;
	width: 12px;
}

.help-text{
	float: right;
	background-color: #fff;
	margin: 3px;
	min-height: 100px;
	border-radius:0px 4px 4px 0px;
}
.help-area p {
	margin: 15px;
	padding: 0;
	font-size: 18px;
}
.help-area p span.icon-img{
	vertical-align: middle;
	text-align: center;
	margin: 0px 2px;
}
.tag{
	position:absolute;
	cursor: pointer;
	display:none;
}
.tagArea{
	background-color:#ffedab;
	display:block;
}
.tagBtn{
	width:184px;
	height:58px;
}
.page_next{
    position: absolute;
    top:45%;
    right: 20px;
    z-index: 100000;
}
.page_prev{
    position: absolute;
    top:45%;
    left: 20px;
    z-index: 100000;
}

/* ヒント用モーダル */
.modal {
	/* width: 850px;
	height: 485px; */
	/* border: 1px solid #000; */
	/* position: fixed; */
	/* top: 150px; */

	width: 70%;
	transform:translate(-50%, -50%);

	background-color: #fff;
	display: none;
	position: absolute;
	z-index: 100;
}

.overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	background: grey;
	opacity: .6;
	z-index: 10;
	top: 0;
	left: 0;
	right: 0;
	display: none;
}

.modal.open {
	display: block;
}

.overlay.open {
	display: block;
}

.question{
	position: relative;
}
/*　メニューへ戻るボタン */
.backMenuList{
	position: absolute;
	z-index: 200;
	width: 140px;
	height: 40px;
  }
  .backMenuList > a{
	margin: 0px;
  }
  .backMenuList > a > img{
	width: 140px;
	height: auto;
  }