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: 3rem 1rem 4.5rem 1rem;
}

.intro__top_catch__lead {
    font-size: 2.15rem;
}

.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;
}

img.intro__top_mockup {
    width: 100%;
    margin-top: 3rem;
}

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

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

.intro__content {
    margin: 0 1.5rem;
}

.intro__movie {
    text-align: center;
}

.intro__drafting__item_desc {
    width: 100%;
    margin-top: 30px;
}

.intro__drafting__item_title {
    font-size: 1.5rem;
}

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

.intro__drafting__item_image {
    width: 100%;
}

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

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

.intro__merit__item {
    margin-bottom: 70px;
}

.intro__merit__item_desc {
    width: 100%;
    margin-top: 30px;
}

.intro__merit__item_title {
    font-size: 1.7rem;
}

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

.intro__merit__item_image {
    width: 100%;
}

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

.intro__function_content {
    /* スマホだとなぜか少し右寄りに見えるので感覚で調整 */
    margin-right: 10px;
}

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

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

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

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

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__movie {
    position:relative;
    width:100%;
    height:0;
    padding-top:59%;
}

.intro__movie iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

.intro__concept__item_text {
    font-size: 1.1rem;
}

.intro__future__item_text {
    font-size: 1rem;
}

.intro__curriculum__lead {
    font-size: 1rem;
}

.intro__curriculum__cycle_text {
    font-size: 1rem;
}

img#curriculum_image {
    width: 75%;
    height: auto;
    margin: 0;
}

img#commentary_image {
    width: 90%;
    height: auto;
    margin: 0;
}

.register-btn {
    height: 80px;
    font-size: 1.8rem;
    font-weight: bold;
    margin: 1.5rem auto 1rem auto;
}

.intro__commentary__text {
    font-size: 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;
}

.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% - 60px); /* ☆前・次ページボタンの幅をそれぞれ50pxとして、その分を引く */
    padding-bottom: 30px !important; /* ★ページネーション分の余白30pxを下に取る */
    box-sizing: content-box;
}

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

.swiper-button-prev {
    left: 0 !important;
}

.swiper-button-next {
    right: 0 !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%;
    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;
}

.title-font-small {
    font-size: 1.5rem !important;
}

.title-font-mid {
    font-size: 1.8rem !important;
}

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

.accent {
    font-weight: 600;
}

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

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

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

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

.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%;
}
