@charset "utf-8";
@import "math_layOut.css";
@import "math_isActive.css";
@import "calc_type1.css";

.blueT {
    color: #00a0ff
}

.redT {
    color: #e94d40
}

.redLine {
    border: 2px solid #e94d40;
    border-radius: 5px
}

.blueLine {
    border: 2px solid #00a0ff;
    border-radius: 5px
}

.minus {
    display: inline-block;
    width: 18px;
    height: 3px;
    margin: -10px 2px 0 2px;
    background-color: #000;
    vertical-align: middle
}

header .title .minus {
    width: 12px;
    height: 2px;
    margin: 0 2px 0 2px;
    background-color: #845e4d
}

h2 .minus {
    height: 3px;
    margin: -6px 2px 0 2px
}

.answer .minus {
    background-color: #00a0ff
}

.plusArrowImg {
    position: absolute;
    width: 65px;
    height: 37px;
    background: url(../../contents/images/math/plusArrow.png) center/contain no-repeat
}

[class*="shape_"] {
    display: inline-block;
    width: 35px;
    height: 35px;
    margin-top: 6px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    vertical-align: top;
    cursor: default
}

.shape_cube {
    background-image: url(../../contents/images/math/shape_cube.png)
}

.shape_cylinder {
    background-image: url(../../contents/images/math/shape_cylinder.png)
}

.shape_globe {
    background-image: url(../../contents/images/math/shape_globe.png)
}

.shape_square {
    background-image: url(../../contents/images/math/shape_square.png)
}

.shape_circle {
    background-image: url(../../contents/images/math/shape_circle.png)
}

.shape_circle_line {
    background-image: url(../../contents/images/math/shape_circle_line.png)
}

.answer .shape_circle_line {
    background-image: url(../../contents/images/math/shape_circle_line_blue.png)
}

.shape_triangle {
    background-image: url(../../contents/images/math/shape_triangle.png)
}

.shape_triangle_line {
    background-image: url(../../contents/images/math/shape_triangle_line.png)
}

.answer .shape_triangle_line {
    background-image: url(../../contents/images/math/shape_triangle_line_blue.png)
}

.shape_pentagon {
    background-image: url(../../contents/images/math/shape_pentagon.png)
}

.shape_hexagon {
    background-image: url(../../contents/images/math/shape_hexagon.png)
}

.shape_pentagon.blue {
    background-image: url(../../contents/images/math/shape_pentagon_blue.png)
}

.shape_hexagon.blue {
    background-image: url(../../contents/images/math/shape_hexagon_blue.png)
}

.bunsuContainer {
    font-size: inherit
}

.bunsuContainer.mb-10 {
    margin-bottom: -10px
}

.bunsuContainer.mb-20 {
    margin-bottom: -20px
}

.bunsuContainer.mb-30 {
    margin-bottom: -30px
}

.bunsuContainer.inline {
    display: inline-block
}

.bunsuContainer .bunsu {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    padding: 0 2px;
    margin: -6px 0 0;
    text-align: center;
    font-size: inherit;
    line-height: 1em
}

header .bunsuContainer .bunsu>li:nth-of-type(1) {
    padding: 3px 0;
    border-bottom: 2px solid #000
}

.bunsuContainer .bunsu>li:nth-of-type(1) {
    padding: 3px 0;
    border-bottom: 3px solid #000
}

.bunsuContainer .bunsu>li {
    position: relative;
    min-width: .8em
}

.bunsuContainer .bunsu>li.line:after {
    content: '';
    position: absolute;
    width: 36px;
    height: 3px;
    top: 18px;
    left: 50%;
    transform-origin: left center;
    background-color: #e94d40;
    transform: rotate(-50deg) translate(-50%)
}

.bunsuContainer .bunsu>li .subText {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translate(-50%)
}

.contentsTitle .bunsuContainer .bunsu:after {
    background-color: #fff
}

.answer .bunsuContainer .bunsu>li:nth-of-type(1),
.answer.bunsuContainer .bunsu>li:nth-of-type(1) {
    border-color: #00a0ff
}

header .bunsuContainer .bunsu>li:nth-of-type(1) {
    border-color: #845e4d
}

.bunsuContainer .symbol {
    display: inline-block;
    vertical-align: middle;
    margin: -7px 4px 0
}

.bunsuContainer .bullet.exam {
    margin: .93em .3em 0 0
}

h2 .bunsuContainer {
    margin: -6px 0 0 0
}

h2 .bunsuContainer .bunsu {
    margin: -12px 0 0
}

.bunsuContainer.inToggle .bunsu>li {
    box-sizing: border-box
}

.bunsuContainer.inToggle .bunsu>li:nth-of-type(1) {
    height: 44px;
    padding: 0
}

.bunsuContainer.inToggle .bunsu>li:nth-of-type(2) {
    padding: 3px 0 0 0;
    height: 47px
}

.bunsuContainer.inToggle .toggle {
    padding: 4px 12px
}

.bunsuContainer.inToggle .toggle:after {
    width: 36px;
    height: 36px;
    font-size: 24px;
    line-height: 30px
}

.bunsuContainer.inToggle .bunsu.withToggle .toggle {
    line-height: 1
}

.bunsuContainer.inToggle .bunsu.withToggle>li:nth-of-type(1) .toggle {
    top: -5px
}

.bunsuContainer.inToggle .symbol {
    margin: -16px 4px 0
}

.contentsList .bunsuContainer {
    margin: -10px 0 0 0
}

.mathCalBox {
    flex-shrink: 0;
    margin-right: 10px;
    color: #fff;
    padding: 0 15px;
    min-width: 76px;
    height: 76px;
    line-height: 1.3em;
    border-radius: 15px;
    text-align: center;
    box-sizing: border-box
}

.mathCalBox.blue {
    background-color: #3198da
}

.mathCalBox.skyBlue {
    background-color: #5ca2e7
}

.mathCalBox.violet {
    background-color: #ba8ece
}

.mathCalcContainer {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.mathCalcContainer .operator {
    position: relative
}

.mathCalcContainer .operator.remainder {
    top: -6px
}

.mathCalcContainer .answerBox,
.mathCalcContainer .inputBox {
    position: relative;
    width: 100%;
    border-radius: 8px;
    box-sizing: border-box
}

.mathCalcContainer .answerBox {
    min-width: 100px;
    text-align: center;
    padding: 3px 12px 0;
    background-color: #efefef
}

.mathCalcContainer .answerBox.on {
    cursor: pointer
}

.mathCalcContainer .answerBox:after {
    content: '?';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    color: #fff;
    font-size: 26px;
    font-family: YGJAL;
    line-height: 38px;
    border-radius: 50%;
    border: 4px solid #3bb5fe;
    background-color: #01a0fe;
    transform: translate(-50%, -50%);
    box-sizing: border-box
}

.mathCalcContainer .answerBox .answer {
    text-align: right;
    font-size: inherit
}

.mathCalcContainer .answerBox.complete {
    background-image: none;
    background-color: #fff;
    pointer-events: none
}

.mathCalcContainer .answerBox.complete:after {
    content: none
}

.mathCalcContainer .answerBox.complete .answer {
    height: 100%;
    opacity: 0;
    visibility: visible;
    cursor: default;
    letter-spacing: normal;
    animation: opacityEff 1s ease-out forwards;
    -webkit-animation: opacityEff 1s ease-out forwards;
    -moz-animation: opacityEff 1s ease-out forwards
}

.mathCalcContainer .inputBox {
    padding: 0 12px 6px;
    border: 4px solid #ffac6b;
    text-align: right;
    background-color: #fff
}

.mathCalcContainer input {
    width: 100%;
    height: 100%;
    padding: 0;
    line-height: 1;
    font-size: inherit;
    text-align: right
}

.mathCalcContainer .answerBox,
.mathCalcContainer .inputBox {
    height: 110px
}

.mathCalcContainer .minus {
    height: 5px;
    width: 34px;
    margin: 0 auto;
    background-color: #000
}

.mathCalcContainer table tr td {
    text-align: center
}

.mathCalcContainer .vertical table tr:last-of-type {
    border-top: 4px solid #000
}

.mathCalcContainer .vertical table tr td {
    padding-bottom: 16px
}

.mathCalcContainer .vertical table tr td:last-of-type {
    padding-right: 14px
}

.mathCalcContainer .vertical table tr:last-of-type td {
    padding-top: 16px
}

.mathCalcContainer .vertical .operator {
    top: 14px;
    line-height: 1
}

.mathCalcContainer .vertical.dev table {
    background-image: url(../images/math/vertical_line.png);
    background-position: right 96px;
    background-repeat: no-repeat
}

.mathCalcContainer .vertical.dev table tr td:first-of-type {
    padding-right: 20px
}

.mathCalcContainer .vertical.dev table tr:last-of-type {
    border-top: 0
}

.mathCalcContainer .vertical.dev table tr:last-of-type td:not(:first-of-type) {
    border-top: 3px solid #000
}

.blindBox {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100
}

.horizonContainer {
    position: relative
}

.horizonContainer .lineContainerBox {
    width: 100%
}

.horizonContainer .lineContainer {
    position: relative;
    left: 35px;
    height: 36px;
    z-index: 1
}

.basicSlider_slides.inner .horizonContainer .lineContainer {
    left: 0
}

.horizonContainer .horizonLine {
    position: absolute;
    top: 18px;
    left: 0;
    height: 2px;
    width: 100%;
    background-color: #000
}

.horizonContainer .verticalContainer {
    position: relative;
    top: 18px;
    left: 0
}

.horizonContainer .verticalContainer>li {
    position: absolute;
    top: -18px;
    width: 2px;
    height: 36px;
    background-color: #000
}

.horizonContainer .textContainer {
    position: relative
}

.horizonContainer .textContainer>li {
    position: absolute;
    display: inline-block;
    min-width: 72px;
    height: 66px;
    top: 0;
    line-height: 66px;
    text-align: center;
    font-family: NotoM
}

.horizonContainer .toggle {
    z-index: 1
}

.mathCalcContainer.center input,
.mathCalcContainer.center .answerBox .answer {
    text-align: center
}

.arrowLine {
    position: absolute;
    text-align: center
}

.arrowLine.sky {
    border: 3px solid #00b0f0
}

.arrowLine.red {
    border: 3px solid red
}

.arrowLine:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 6px
}

.arrowLine.btb {
    border-bottom: 0
}

.arrowLine.btb:after {
    border-style: solid;
    border-width: 10px 6px
}

.arrowLine.btb.sky:after {
    border-color: #00b0f0 transparent transparent transparent
}

.arrowLine.btb.red:after {
    border-color: #f00 transparent transparent transparent
}

.arrowLine.tbt {
    border-top: 0
}

.arrowLine.tbt.sky:after {
    border-color: transparent transparent #00b0f0 transparent
}

.arrowLine.tbt.red:after {
    border-color: transparent transparent #e94d40 transparent
}

.curveLine {
    position: absolute
}

.curveLine:after {
    content: '';
    position: absolute;
    top: 13px;
    left: 44px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 6px;
    transform: rotate(18deg)
}

.curveLine.red:after {
    border-color: transparent transparent #e94d40 transparent
}

.curveLine.sky:after {
    border-color: transparent transparent #00b0f0 transparent
}

.curveLine.purple:after {
    border-color: transparent transparent #cabfe0 transparent
}

.curveLine.top:after {
    top: 8px;
    left: 47px;
    transform: rotate(31deg)
}

.curveLine .line {
    position: absolute;
    width: 50px;
    height: 50px;
    border-width: 3px;
    border-style: solid;
    border-radius: 100%;
    box-sizing: border-box;
    clip: rect(25px, 50px, 50px, 0);
    transform: rotate(0)
}

.curveLine.top .line {
    clip: rect(0, 50px, 25px, 0)
}

.curveLine.red .line {
    border-color: #e94d40
}

.curveLine.sky .line {
    border-color: #00b0f0
}

.curveLine.purple .line {
    border-color: #cabfe0
}

.curveLine.dash .line {
    border-style: dashed
}
.flex-wrap .math_calc_table{
    flex:0;
}
.math_calc_table {
    position: relative;
}
.math_calc_table.class3 {
    width: auto !important;
    display: inline-flex;
}
.math_calc_table.class3 table{width:auto !important}
.math_calc_table th,
.math_calc_table td {
    position: relative;
    text-align: center
}
.solve .math_calc_table tr td {
    box-sizing: border-box;
}
.math_calc_table tr td {
    line-height: 1;
    box-sizing: border-box;
}

.guide .math_calc_table tr:first-child td::after{content:""; display: block; width:1px; height:300px; border-left:1px dashed red; position: absolute; top:0; left:50%; z-index: 10;} 
.guide .math_calc_table tr td:first-child::before{content:""; display: block; width:300px; height:1px; border-top:1px dashed red; position: absolute; top:50%; left:0; z-index: 10;} 

.solve .math_calc_table.class3 tr td {
    width:40px; height:40px; min-width:40px; min-height:40px; padding:1px !important;
}
.math_calc_table.class3 tr td {
    width:50px; height:50px; min-width:50px; min-height:50px; padding:1px !important;
}
.math_calc_table.class3 tr.line-tr td,
.math_calc_table.class3 tr.line td{
    height:8px !important;
}
.math_calc_table tr.line-tr td,
.math_calc_table tr.line td{
    height:2px !important;
}
.math_calc_table.class3  tr:nth-last-of-type(2) td {
    padding-bottom: 0
}

.math_calc_table .lineDotted,
.math_calc_table td.dotted:after {
    position: absolute;
    border-right: 2px dashed #b0a7ab;
}

.math_calc_table .lineDotted {
    top: 0;
    height: 100%
}

.math_calc_table td.dotted:after {
    content: '';
    right: 0
}

.math_calc_table .rowLine {
    position: absolute;
    height: 3px;
    background-color: #000
}

.math_calc_table .smallDigits {
    position: absolute;
    left: 50%;
    font-size: .75em;
    line-height: 1;
    transform: translate(-50%)
}

.math_calc_table .rowLine.dev:before {
    content: "";
    position: absolute;
    top: -2px;
    left: -1px;
    background: url(../images/math/divide.png) center/contain no-repeat
}

.math_calc_table .toggle {
    display: block;
    width: 100%;
    padding: 6px 14px;
    line-height: 1;
    background-size: 50px;
    /* height:50px; */
    position: relative;
}
.math_calc_table.class3 .toggle {
    height:calc(100% - 4px); 
    margin-top:2px;
}
.math_calc_table.class3 .toggle .answer{
    position: absolute;
    right:-15px;
    letter-spacing: 27.5px !important;
    text-align: right !important;
    top:2px;
}
.circleChain {
    position: relative;
    display: flex;
    align-items: center
}

.circleChain.center {
    justify-content: center
}

.circleChain.between {
    justify-content: space-between
}

.circleChain>li {
    position: relative;
    border: 8px solid;
    border-radius: 50%;
    min-width: 110px;
    padding: 26px 0;
    text-align: center;
    background-color: #fff;
    box-sizing: border-box
}

.circleChain.square>li {
    border-radius: 10px
}

.circleChain>li:not(:last-of-type) {
    margin-right: 10px
}

.circleChain::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 130%;
    height: 8px;
    transform: translate(-50%, -50%)
}

.circleChain.full:before {
    width: 96%
}

.circleChain.noLine:before {
    content: none
}

.circleChain .toggle {
    width: 100%
}

.circleChain.green>li {
    border-color: #e0ed9f
}

.circleChain.sky>li {
    border-color: #c1e8ec
}

.circleChain.yellow>li {
    border-color: #f4e8bd
}

.circleChain.deeppink>li {
    border-color: #ffb7b8
}

.circleChain.orange>li {
    border-color: #fda671
}

.circleChain.bg.green>li,
.circleChain.green::before {
    background-color: #e0ed9f
}

.circleChain.bg.sky>li,
.circleChain.sky::before {
    background-color: #c1e8ec
}

.circleChain.bg.yellow>li,
.circleChain.yellow::before {
    background-color: #f4e8bd
}

.circleChain.bg.deeppink>li,
.circleChain.deeppink::before {
    background-color: #ffb7b8
}

.circleChain.bg.orange>li,
.circleChain.orange::before {
    background-color: #fda671
}

.circleChain.blackLine:before {
    background-color: black
}

.circleChain>li.none,
.circleChain.bg>li {
    border: 0
}

h2 .toggleBlank.green {
    border-color: #e0ed9f
}

h2 .toggleBlank.sky {
    border-color: #c1e8ec
}

h2 .toggleBlank.yellow {
    border-color: #f4e8bd
}

h2 .toggleBlank.deeppink {
    border-color: #ffb7b8
}

h2 .toggleBlank.orange {
    border-color: #fda671
}

.squareTable {
    border: 3px solid #ccc
}

.squareTable.solid tr td:not(:last-of-type) {
    border-right: 3px solid #ccc
}

.squareTable tr td:not(:last-of-type) {
    border-right: 3px dashed #ccc
}

.squareTable tr:not(:last-of-type) td {
    border-bottom: 3px dashed #ccc
}

.squareTable.dotted tr td:not(:last-of-type) {
    border-right-style: dotted
}

.squareTable.dotted tr:not(:last-of-type) td {
    border-bottom-style: dotted
}

.squareTable .sky {
    background-color: #c1e8ec
}

.squareTable .pink {
    background-color: #f0e1da
}

.squareTable .yellow {
    background-color: #f4e8bd
}

.squareTable .beige {
    background-color: #f8e9d5
}

.squareTable .green {
    background-color: #e0ed9f
}

.lineTableContainer table {
    border-collapse: separate;
    border-radius: 10px;
    overflow: hidden
}

.lineTableContainer table tr td {
    position: relative;
    padding: 10px 20px
}

.lineTableContainer table tr td.center {
    text-align: center
}

.lineTableContainer table tr td.left {
    text-align: left
}

.lineTableContainer table tr td img {
    vertical-align: top
}

.lineTableContainer .icon.icon_o,
.lineTableContainer .icon.icon_x,
.lineTableContainer .icon.icon_tri {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: 110px;
    background-position-x: calc(50%);
    background-position-y: calc(50% - -4px)
}

.lineTableContainer table {
    border: 3px solid #5e3e18;
    box-shadow: 0 0 0 6px #f6e7d4
}

.lineTableContainer table tr td:not(:last-of-type) {
    border-right: 3px solid #5e3e18
}

.lineTableContainer table tr:not(:last-of-type)>* {
    border-bottom: 3px solid #5e3e18
}

.suhi .lineTableContainer table {
    border: 3px solid #666;
    box-shadow: 0 0 0 6px #f0f6d4
}

.suhi .lineTableContainer table tr td:not(:last-of-type) {
    border-right: 3px solid #666
}

.suhi .lineTableContainer table tr:not(:last-of-type)>* {
    border-bottom: 3px solid #666
}
.math_calc_table.class3 .rowLine{
    top: 2px;
}
.math_calc_table .rowLine {
    width: 100%;
    top: 0;
    left: 0;
    height: 2px;
}
.solve .math_calc_table{font-size: 35px;}
.solve .math_calc_table .sup{
    font-size: 20px;
}
.math_calc_table .sup {
    position: absolute;
    top: -40px;
    left: 50%;
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0;
    transform: translate(-50%, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.math_calc_table .sup.s2 {
    top: -78px;
}

.math_calc_table .sup.complete .answer {
    opacity: 0;
animation: opacityEff 1s ease-out forwards;
    -webkit-animation: opacityEff 1s ease-out forwards;
    -moz-animation: opacityEff 1s ease-out forwards;
    visibility: visible;
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0;
}

.math_calc_table .del.complete {
    opacity: 0;
    z-index: 1; animation: opacityEff 1s ease-out forwards;
    -webkit-animation: opacityEff 1s ease-out forwards;
    -moz-animation: opacityEff 1s ease-out forwards;
}

.math_calc_table .del {
    position: absolute;
    border-top: 5px solid #e94d40;
    width: 70%;
    height: 0;
    transform: rotate(-45deg);
    opacity: 0;
    top: 50%;
    left: 16%;
}

.math_calc_table .sup .answer {
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0;
}

.math_calc_table .toggle .answer {
    text-align: center;
}

.math_calc_table .del.blue {
    border-color: #00a0ff;
}

.math_calc_table .del.green {
    border-color: green;
}

.math_calc_table .del.black {
    border-color: #000;
}

#wrap main {
    font-size: 40px;
}
.toggle.hand {background-color:transparent}
.toggle.hand:after {
    width: 51px;
    height: 70px;
    border-radius:0;
    border:none;
    content:'';
    background: url("../../../common/contents/images/icon/icon_click_finger.png") center/contain no-repeat;
    -webkit-animation: opacity 1.5s ease-in 3;
    -o-animation: opacity 1.5s ease-in 3;
    animation: opacity 1.5s ease-in 3;
    left:50%;
    margin-left:-25px;
}
.toggle.hand.complete:after {display:none}

.carditem{width:52px; height:64px;}
.carditem.n0{background: url(../../../common/contents/images/numcard/numCard_etc_0.png) no-repeat 0 0 / cover;}
.carditem.n1{background: url(../../../common/contents/images/numcard/numCard_etc_1.png) no-repeat 0 0 / cover;}
.carditem.n2{background: url(../../../common/contents/images/numcard/numCard_etc_2.png) no-repeat 0 0 / cover;}
.carditem.n3{background: url(../../../common/contents/images/numcard/numCard_etc_3.png) no-repeat 0 0 / cover;}
.carditem.n4{background: url(../../../common/contents/images/numcard/numCard_etc_4.png) no-repeat 0 0 / cover;}
.carditem.n5{background: url(../../../common/contents/images/numcard/numCard_etc_5.png) no-repeat 0 0 / cover;}
.carditem.n6{background: url(../../../common/contents/images/numcard/numCard_etc_6.png) no-repeat 0 0 / cover;}
.carditem.n7{background: url(../../../common/contents/images/numcard/numCard_etc_7.png) no-repeat 0 0 / cover;}
.carditem.n8{background: url(../../../common/contents/images/numcard/numCard_etc_8.png) no-repeat 0 0 / cover;}
.carditem.n9{background: url(../../../common/contents/images/numcard/numCard_etc_9.png) no-repeat 0 0 / cover;}
.carditem.n_dot{background: url(../../../common/contents/images/numcard/numCard_etc_dot.png) no-repeat 0 0 / cover;}

.bunsuWrap ul li:first-child .toggle {position:relative;top:-2px}
.bunsuWrap ul li:last-child .toggle {position:relative;top:2px}