@charset "utf-8";

.main h2 {
    background: none;
    padding: 0;
    margin: 0;
    border: none;
    color: inherit;
}

.main_inner {
    width: 748px;
}

.mv {
    background: url('/images/plan_school/main_bg.jpg');
    width: 748px;
    height: 388px;
    position: relative;
}

.mv h1 {
    position: absolute;
    top: 110px;
    left: 50%;
    margin-left: -235px;
    width: 460px;
    height: auto;
}

.mv p {
    color: #005AAB;
    text-align: center;
    line-height: 1.6;
    position: absolute;
    top: 256px;
    left: 0;
    width: 100%;
}

.plan_area {
    padding: 1.4em 16px 2em 20px;
}

#plan2 .plan_area,
.plan_area + .plan_area {
    border-top: solid 2px #F9B801;
    padding: 2em 16px 2em 20px;
}

.plan_title_exp {
    color: #996B3D;
    margin-bottom: 0.8em;
    font-weight: bold;
}

span.mark {
    color: #FFF;
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5em;
    box-sizing: border-box;
    border-radius: 0.2em;
    background: #E95A19;
    font-weight: bold;
    text-align: center;
}

.plan_title {
    font-size: 0;
    margin-bottom: 20px;
}

p.plan_symbol {
    display: inline-block;
    vertical-align: bottom;
    width: 70px;
}

p.plan_symbol span.mark {
    font-size: 38px;
}

p.plan_symbol img {
    width: 90px;
    height: auto;
    margin-left: -17px;
}

.plan_title_inner {
    display: inline-block;
    vertical-align: bottom;
    padding-bottom: 3px;
    color: #E95A19;
}

.plan_title_inner p.tagline {
    font-size: 15px;
}

.plan_title_inner h2 {
    font-size: 30px;
    color: #E95A19;
    line-height: 1.2;
    letter-spacing: 0.03em;
}

.plan_area .exp {
    padding: 0 0.3em;
}

.plan_area .detail {
    margin: 15px 0 20px;
}

.plan_area .detail > img {
    vertical-align: middle;
}

.plan_area .detail table {
    display: inline-table;
    vertical-align: middle;
    margin: 10px 0 10px 40px;
}

.plan_area table th,
.plan_area table td {
    padding: 0.1em 0.7em;
    font-size: 15px;
    vertical-align: top;
}

.plan_area table th {
    font-weight: bold;
    text-align: right;
}

.plan_area table td strong {
    color: #E95A19;
    font-weight: bold;
    font-size: 1.3em;
}

.plan_area table td.price {
    font-size: 14px;
}

.plan_area table td span.tokubetsu {
    background: #FFE966;
    display: inline-block;
    padding: 0 0.1em 0 0.3em;
    color: #E95A19;
    font-weight: bold;
    font-size: 15px;
    margin-left: 10px;
    line-height: 1.5;
}

.plan_area .plan_inner table th,
.plan_area .plan_inner table td {
    vertical-align: bottom;
}

.usually {
    text-decoration: line-through;
}

section#access ul,
.plan_area > ul,
.option_inner .text_area ul.option_imgs {
    font-size: 0;
}

section#access ul li,
.plan_area > ul li,
.option_inner .text_area ul.option_imgs li {
    display: inline-block;
    vertical-align: top;
    font-size: 16px;
    margin: 0 7px 0 6px;
}

section#access ul li span {
    display: block;
    background: #222;
    text-align: center;
    color: #FFF;
    padding: 8px 0;
    line-height: 1.2;
}

.plan_inner h3 {
    border-left: solid 6px #E95A19;
    padding-left: 0.5em;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.03em;
    margin:1.8em 0 0.6em;
    color: #333;
}

.plan_inner h3 + p.exp {
    padding: 0;
    font-size: 15px;
    text-indent: 0;
    margin: 0 0 1em;
}

.plan_inner p {
    font-size: 14px;
    margin: 1em 0 0 1.8em;
    text-indent: -1em;
}

.plan_inner p strong {
    font-size: 16px;
    font-weight: bold;
}

.option_inner .text_area ul.option_imgs {
    margin-top: 30px;
}

.option_inner .text_area ul.option_imgs li {
    margin: 0 14px 0 0;
}

.option_title_area {
    border-top: solid 2px #005AAB;
}

.option_title_area h2 {
    display: inline-block;
    background: #005AAB;
    color: #FFF;
    padding: 0.5em 1.2em;
    letter-spacing: 0.08em;
    margin-right: 1em;
}

.option_title_area p {
    display: inline-block;
    vertical-align: middle;
    font-weight: bold;
    color: #005AAB;
    letter-spacing: 0.05em;
}

.option_title_area p span.mark {
    margin: 0 2px;
    font-size: 1.2em;
    letter-spacing: 0;
}

.option_area {
    padding: 24px 14px 32px 20px;
    border-top: solid 2px #005AAB;
}

.option_area h3 {
    color: #005AAB;
    font-size: 30px;
    font-weight: bold;
    margin: 0 0 0.3em;
    letter-spacing: 0.05em;
}

.option_area p.exp {
    margin-bottom: 1em;
}

.option_area p.exp strong {
    font-weight: bold;
}

.option_inner + .option_inner {
    margin-top: 40px;
}

.option_inner > img {
    display: inline-block;
    vertical-align: top;
}

.option_inner .text_area {
    display: inline-block;
    vertical-align: top;
    margin-left: 30px;
}

.option_inner:nth-of-type(2)> img {
    margin-top: 18px;
}

.option_inner_title img,
.option_inner_title p {
    display: inline-block;
    color: #996B3D;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.option_inner_title p span {
    background: #FFE966;
    display: inline-block;
    padding: 0 0.3em;
}

.option_inner .text_area span.marker {
    position: relative;
    z-index: 1;
}

.option_inner .text_area span.marker:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: #FFE966;
    z-index: -1;
}

.option_inner .text_area table th,
.option_inner .text_area table td {
    vertical-align: top;
    padding: 0 0.7em;
}

.option_inner .text_area table th {
    font-weight: bold;
    text-align: right;
}

.option_inner .text_area table td strong {
    font-size: 1.2em;
    color: #005AAB;
    font-weight: bold;
}

.option_inner .text_area table td span.tokubetsu {
    background: #FFE966;
    display: inline-block;
    padding: 0 0.1em 0 0.3em;
    color: #005AAB;
    font-weight: bold;
    font-size: 15px;
    margin-left: 10px;
    line-height: 1.5;
}

.option_inner .text_area > p {
    font-size: 14px;
    margin: 1em 0 0 1.8em;
    text-indent: -1em;
}

.option_inner .text_area > p strong {
    font-size: 16px;
    font-weight: bold;
}

.option_inner .text_area > p.tagline {
    margin: 0.5em 0 0 0;
    color: #005AAB;
    line-height: 1.0;
    font-size: 15px;
    text-indent: 0;
}

.option_inner .text_area h4 {
    color: #005AAB;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 0.6em;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

#model_schedule {
    background: #FFF4D2;
    text-align: center;
    padding: 0 2em 2em;
    margin-top: 2em;
}

#model_schedule h2 {
    margin-top: -1.6em;
    color: #FFF;
    font-size: 24px;
    background: #E95A19;
    line-height: 1.6;
    padding: 0 1.5em;
    height: 1.6em;
    border-radius: 7px;
    display: inline-block;
    overflow: hidden;
}

p.example {
    font-size: 18px;
    font-weight: bold;
    margin: 1.6em 0 1.7em;
}

p.example span.mark {
    margin-right: 4px;
}

span.orange {
    color: #E95A19;
}
span.blue {
    color: #005AAB;
}
span.green {
    color: #3C993C;
}

span.underline_orange {
    border-bottom: solid 3px #E95A19;
}
span.underline_blue {
    border-bottom: solid 3px #005AAB;
}
span.underline_green {
    border-bottom: solid 3px #3C993C;
}

#model_schedule table {
    display: inline-table;
    margin: 0 0 2em;
}

#model_schedule table th,
#model_schedule table td {
    text-align: right;
    font-weight: bold;
    padding: 0.8em 2em;
    vertical-align: top;
}

#model_schedule table td {
    text-align: left;
    border-left: solid 1px rgba(0,0,0,0.2);
}

figure#caution {
    background: #F5F5F5;
    padding: 1.6em;
    width: 100%;
    box-sizing: border-box;
    margin: 1.5em 0 0;
}

figure#caution figcaption {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #CE284F;
    margin-bottom: 0.7em;
}

figure#caution ul li {
    text-indent: -1em;
    margin: 0 0 0.2em 1em;
    font-size: 14px;
}

figure#caution ul li:before {
    content: "●";
    color: #CE284F;
}

section#taisaku {
    padding: 2em 16px 0.5em 20px;
    border-bottom: solid 2px #666;
}

section#taisaku h2 {
    text-align: center;
    font-size: 20px;
    color: #552E15;
    font-weight: bold;
}

section#taisaku figure {
    margin: 0 0 30px;
}

section#taisaku figure#taisaku_t figcaption {
    color: #2CA6E0;
    font-weight: bold;
    font-size: 17px;
}

section#taisaku figure#taisaku_c figcaption {
    color: #E96087;
    font-weight: bold;
    font-size: 17px;
}

section#taisaku ul {
    font-size: 0;
}

section#taisaku ul li {
    display: inline-block;
    vertical-align: top;
    margin-right: 8px;
}

section#access {
    padding: 2em 0 2.5em 15px;
}

section#access h2 {
    color: #005AAB;
    display: inline-block;
    vertical-align: top;
    padding-right: 28px;
}

section#access .detail_map {
    padding: 30px 15px 24px 0;
}

section#access .detail_map p.balloon {
    background: #EEE;
    padding: 1em 1.3em;
    margin-bottom: 1em;
    position: relative;
}

section#access .detail_map p.balloon:after {
    content: "";
    width: 0;
    height: 0;
    border: solid 20px transparent;
    border-top: solid 20px #EEE;
    position: absolute;
    bottom: -40px;
    left: 60px;
}

section#access .detail_map p.balloon strong {
    font-weight: bold;
}

section#access .detail_map p.balloon span {
    color: #E95A19;
    font-weight: bold;
}

section#rain {
    background: #F5F5F5;
    text-align: center;
    padding: 30px 24px;
}

section#rain h2 {
    color: #0087CB;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.03em;
    margin-bottom: 1em;
}

section#rain h2 i {
    margin-right: 0.5em;
}

section#rain figure {
    margin: 1em 0 2em;
    text-align: left;
    display: inline-block;
}

section#rain figure figcaption {
    font-size: 17px;
    font-weight: bold;
}

section#rain figure table {
    border-top: solid 1px #222;
    border-left: solid 1px #222;
    background: #FFF;
}

section#rain figure table th,
section#rain figure table td {
    padding: 0.4em 0.7em;
    border-right: solid 1px #222;
    border-bottom: solid 1px #222;
}

section#rain figure table th {
    font-weight: bold;
    background: #DCF0F4;
}

section#rain figure table td.price {
    text-align: right;
}

section#rain ul {
    font-size: 0;
}

section#rain ul li {
    font-size: 15px;
    font-weight: bold;
    display: inline-block;
    vertical-align: top;
    margin: 0 5px;
}

section#rain ul li span {
    display: block;
    padding: 4px 0;
}

section#rain .rain_other {
    margin-top: 2em;
    border-top: solid 1px #CCC;
    padding-top: 1.6em;
    text-align: left;
}

section#rain .rain_other > img {
    display: inline-block;
    vertical-align: top;
    margin-top: 16px;
}

section#rain .rain_other > .text_area {
    display: inline-block;
    vertical-align: top;
    padding-top: 4px;
    margin-left: 30px;
    margin-top: 16px;
}

section#rain .rain_other p.rain_other_name {
    font-weight: bold;
    font-size: 16px;
}

section#rain .rain_other dl {
    display: table;
}

section#rain .rain_other dl dt,
section#rain .rain_other dl dd {
    display: table-cell;
    vertical-align: top;
}

div.cta {
    text-align: center;
    padding: 2.2em 0 0.8em;
}

div.cta .cta_catch {
    text-align: center;
    color: #005AAB;
    font-size: 20px;
    font-weight: bold;
    position: relative;
    display: inline-block;
    padding: 0 2em;
}

div.cta .cta_catch:before,
div.cta .cta_catch:after {
    content: "";
    position: absolute;
    bottom: 12px;
    width: 36px;
    height: 0;
    border: solid 1px #005AAB;
    left: 0;
    transform: rotate(45deg);
}

div.cta .cta_catch:after {
    left: auto;
    right: 0;
    transform: rotate(-45deg);
}

div.cta dl {
    display: inline-table;
    margin: 1em 0 0;
}

div.cta dl dt,
div.cta dl dd {
    display: table-cell;
    vertical-align: top;
    font-weight: bold;
    font-size: 21px;
    padding: 0 0.7em;
    letter-spacing: 0.05em;
}

div.cta dl dd {
    font-size: 17px;
    vertical-align: bottom;
    text-align: left;
}

div.cta dl dd strong {
    font-size: 29px;
    font-weight: bold;
}