body {
    padding-top: 6rem;
}

.font-85 {
    font-size: 85%;
}

.bg-navy {
    background-color: #191970;
}

.bg-warning-light {
    background-color: #fff3cd;
}

.bg-pink {
    background-color: #ffd4d4;
}

.bg-gray-light {
    background-color: #f2f2f2;
}

.text-navy-thin {
    color: #191970;
}

.text-success-light {
    color: #81c046;
}

.text-black {
    color: #212529;
}

.text-blue-thin {
    color: blue;
}

img.intro__logo {
    width: 120px;
    height: auto;
}

.intro__campaign {
    width: 100%;
}

.intro__top {
    margin: 3.25rem 1rem 4.75rem 1rem;
}

.intro__top_catch__lead {
    font-size: 2.5rem;
}

.intro__top_catch__name {
    padding-left: 30px;
    letter-spacing: 30px;
    font-weight: bold;
}

.intro__top_catch__desc1 {
    font-weight: 300;
    font-size: 1.5rem;
    line-height: 40px;
}

.intro__top_catch__desc_large {
    font-weight: 400;
    font-size: 2.0rem;
    line-height: 40px;
}

.intro__top_catch__desc_small {
    font-weight: 400;
    font-size: 1rem;
    line-height: 30px;
}

.intro__top_catch__desc2 {
    font-weight: 300;
    font-size: 1.4rem;
    line-height: 40px;
}

.intro__top_catch__desc3 {
    font-weight: 300;
    font-size: 1.5rem;
    line-height: 40px;
}

.intro__top_catch__button {
    height: 70px;
    font-size: 1.5rem;
}

@media (max-width: 1199px) {
   img.intro__top_mockup {
        width: 100%;
        height: auto;
        margin-top: 4.5rem;
    }
}

@media (min-width: 1200px) {
   img.intro__top_mockup {
        width: 110%;
        height: auto;
        margin-top: 2.0rem;
    }
}

.max-width-100 {
    max-width: 100%;
}

.intro__item_title p {
    font-size: 2.5rem;
    margin: 0;
}

.intro__content {
    max-width: 1140px;
    margin: 0 auto;
}

.intro__movie {
    text-align: center;
}

.intro__drafting__item_desc {
    width: calc(50% - 50px);
}

.intro__drafting__item_title {
    font-size: 1.8rem;
}

.intro__drafting__item_text {
    font-weight: 200;
    font-size: 1.3rem;
}

.intro__drafting__item_image {
    width: calc(50% - 50px);
}

.intro__drafting__item_image img {
    max-width: 100%;
}

.intro__drafting__button {
    height: 60px;
    font-size: 1.5rem;
}

.intro__merit__item {
    margin-bottom: 100px;
}

.intro__merit__item_desc {
    width: calc(50% - 50px);
}

.intro__merit__item_title {
    font-size: 2.2rem;
}

.intro__merit__item_text {
    font-weight: 200;
    font-size: 1.5rem;
}

.intro__merit__item_image {
    width: calc(50% - 50px);
}

.intro__merit__item_image img {
    max-width: 100%;
}

.intro__function_content {
    /* pcは特になし */
}

.intro__function_title {
    font-size: 2.1rem;
    margin-bottom: 10px;
}

.intro__function__item p {
    font-weight: 300;
    font-size: 1.5rem;
    margin-top: 30px;
    margin-bottom: 20px;
}

img#calendar-icon {
    width: 90px;
    height: auto;
}

img#text-icon {
    width: 90px;
    height: auto;
}

img#qa-icon {
    width: 100px;
    height: auto;
}

img#blank-icon {
    width: 90px;
    height: auto;
}

img#house-icon {
    width: 110px;
    height: auto;
    padding-top: 20px;
}

img#memo-icon {
    width: 62px;
    height: auto;
}

img#search-icon {
    width: 64px;
    height: auto;
    padding-top: 10px;
}

img#test-icon {
    width: 72px;
    height: auto;
}

.intro__concept__item_text {
    font-size: 1.1rem;
}

.intro__future__item_text {
    font-size: 1.1rem;
}

.intro__curriculum__lead {
    font-size: 1.1rem;
}

.intro__curriculum__cycle_text {
    font-size: 1.1rem;
}

img#curriculum_image {
    width: 85%;
    height: auto;
}

img#commentary_image {
    width: 100%;
    height: auto;
}

.register-btn {
    height: 80px;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 2rem;
}

.intro__commentary__text {
    font-size: 1.1rem;
}

.intro__blog {
    max-width: 380px;
    margin: 0 auto;
}

a.underline {
    text-decoration: underline;
}
span.under-red {
    border-bottom: solid 2px red;
}

span.red {
    color: red;
}

.unit-small-table tr th, .unit-small-table tr td {
    padding: 0.25rem;
}

.kiso-koza-card {
    margin: 3rem auto 3rem auto;
}

.bg-success-light {
    background-color: #d3ecd9;
}

.bg-danger-light {
    background-color: #f8d7da;
}

.swiper-parent {
    position: relative;
}

.swiper-container {
    width: calc(100% - 100px); /* ☆前・次ページボタンの幅をそれぞれ50pxとして、その分を引く */
    padding-bottom: 30px !important; /* ★ページネーション・スクロールバー分の余白50pxを下に取る */
    box-sizing: content-box;
}

/* 前・次スライドボタンの縦位置調整（スライドの高さの中央に合わせる） */
.swiper-button-prev, .swiper-button-next {
	top: calc((100% - 30px) * 0.5) !important;	/* ページネーション（30px）を除く縦位置の中央（＝スライドの高さの中央）に一旦配置 */
	margin-top: -40px !important;  /* カードの高さが違うので、ちょっと上めにずらす */
}

.swiper-pagination-bullet-active {
    background-color: black !important;
}

a.gray-link-underline {
    font-size: 1.5rem;
    text-decoration: underline !important;
    color: #5a6268 !important;
    cursor: pointer;
}

/* ul.liの点を小さく */
ul.dot-small li {
    list-style-type: none;
}

ul.dot-small li::before {
    position: relative;
    top: -5px;
    left: -13px;

    display: inline-block;

    width: 4px;
    height: 4px;

    content: '';

    border-radius: 100%;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    background: black;
}

span.good-deal {
    padding: 0.25rem 0.4rem;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

.lesson-desc-title {
    display: inline-block;
    border-bottom: solid 4px darkblue;
}

img.point {
    width: 62px;
    height: 62px;
}

.intro__content_title {
    font-size: 2rem;
    font-weight: 400;
}

.intro__concept_text {
    font-size: 1.15rem;
    font-weight: 300;
    line-height: 32px;
}

.accent {
    font-weight: 600;
}

img#graph1 {
    max-width: 350px;
    height: auto;
}

img#ac-test-result {
    max-width: 450px;
    height: auto;
}

img#comprehension {
    max-width: 400px;
    height: auto;
}

img#free-management {
    max-width: 380px;
    height: auto;
}

.shadow1 {
    box-shadow: 0 5px 12px #bbbbbb;
}

.square-green {
   width: 25px;
   height: 25px;
   background: #53a451;
   border-radius: 5px;
}

.square-light-green {
   width: 25px;
   height: 25px;
   background: #81c046;
   border-radius: 5px;
}

.intro__function__icon {
    width: 50px;
    height: auto;
}

img#func-house-icon {
    padding-top: 2px;
    max-width: 55px !important;
    height: auto;
}

img#func-memo-icon {
    max-width: 40px !important;
    height: auto;
}

img#func-search-icon {
    max-width: 46px !important;
    height: auto;
}

img#func-test-icon {
    max-width: 46px !important;
    height: auto;
}

img#func-qa-icon {
    max-width: 54px !important;
    height: auto;
}

.prices__item_title p {
    font-size: 1.9rem;
    margin: 0 2rem;
}

table.table-member-price th.item {
    width: 16%;
}

table.table-member-price th.free {
    width: 42%;
}

table.table-member-price th.paid {
    width: 42%;
}
