@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
@font-face {
    font-family: "A-OTF-MaruFoPro-B";
    src: url('font/A-OTF-MaruFoPro-Bold.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: "Tw Cen MT Condensed Bold";
    src: url('font/TwCenMT.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: "logotypejp_mp_b";
    src: url('font/logotypejp_mp_b.woff') format('woff');
    font-display: swap;
}

.marufolk {
    font-family: "A-OTF-MaruFoPro-B";
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　合格実績　(2023-03-28　mkw)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.gokaku-university{
	font-size: 2rem;
	font-weight: bold;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
サイドバー　＞　ウィジェット
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.blog:not(.paged) div.widget_recent_entries2 {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用スタイル　＞　サイトのテーマ色を一括指定する
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* 文字色 */
body.sp[class*="voice"] ul.child_navi a[href*="voice"], body.sp dl.type01 [class*="current"] > a, body.sp dl.type01 dt, a.basic_btn02, .basic_list01 li:before, ol.basic_list02 > li:after, a.basic_color_font, [class*="current"] .basic_color_font_cur, [class*="current"] .basic_color_font_cur:hover, .basic_color_font_bf:before, .basic_color_font_af:after, .cmn_kadomaru {
    color: #00459a;
}

/* ボーダー色 */
body.sp dl.type01 > dt .arrow, h3[class*="h3a"], h2[class*="h2a"], .basic_box02, .basic_list02 > li, .basic_color_border, .basic_color_border_bg:before, .basic_color_border_af:after, .cmn_kadomaru {
    border-color: #00459a;
}

/* 背景色 */
a.basic_btn01, h3[class*="h3b"], ol.basic_list02 > li:before, .basic_color_bg, .basic_color_bg_bf:before, .basic_color_bg_af:after, #h_navi_main ul:not(.sub-menu) > li > a:after {
    background-color: #00459a;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
電話番号のフォントファミリーを指定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
div#tel_lb .num,a[href*="tel:"]:not(.ja),p.tel .num {
    font-family: 'Bebas Neue';
    letter-spacing: .05em;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用スタイル　＞　画像がない場合の汎用スタイル（一覧ページ／ショートコード／関連記事…などで共有）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.noimage {
    background-image: url(images/noimage.png);
    background-size: 80px auto;
    background-color: #cee8ff;
    background-position: 50% 50%;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
コーダー向け汎用クラス　＞　縦横のサイズ固定のボックス内にある画像について、比率を保ったまま縦横中央揃え＆トリミングして表示
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.img_container {
    /* 16:9 */
    padding-top: 56.25%;
}

ul.post_archive li .img.img_container {
    padding-top: 56.25%;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ビジュアルエディタ　＞　汎用見出し
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
h2[class*="h2"] {
    font-weight: bold;
}

h2[class*="h2b"]:before {
    width: 66px;
    height: 66px;
    right: calc(50% - 33px);
    background: url(images/h2b_before.png) no-repeat 50% 50%/contain;
}

h3[class*="h3"] {
    font-weight: bold;
}

h3[class*="h3b"] {
    background-color: #0072ff;
    border-radius: 4px;
    padding: 10px 15px 10px 25px;
    position: relative;
}

h3[class*="h3b"]::before {
    content: "";
    width: 5px;
    height: calc(100% - 14px);
    background-color: #fff;
    border-radius: 5px;
    position: absolute;
    left: 12px;
    top: 7px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ビジュアルエディタ　＞　汎用ボタン01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
a.basic_btn01 {
    padding: 20px 50px;
    border-radius: 3em;
    font-weight: bold;
    min-width: 320px;
    background-color: #0072ff;
    border: 2px solid #0072ff;
}

body.home a.basic_btn01 {
    padding: 20px 35px;
}

a.basic_btn01:hover {
    background-color: #fff;
    color: #0072ff;
    opacity: 1;
}

a.basic_btn01:after {
    right: 5px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ビジュアルエディタ　＞　汎用ボックス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.basic_box01 {
    background-color: #e5f3ff;
}

.basic_box02 {
    border-color: #0072ff;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ビジュアルエディタ　＞　テーブル01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.basic_table01 th, .basic_table01 td {
    border-color:#9ec5f5;
}

.basic_table01 th {
    background-color: #edf5ff;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　汎用クラス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* 汎用見出し */
h2.cmn_ttl {
    display: table;
    margin: 0 auto 40px;
    font-size: 3.0rem;
    padding: 0 2px 25px;
    background: url(images/cmn_ttl_bg.png) no-repeat center bottom;
    position: relative;
    letter-spacing: .1em;
}

h2.cmn_ttl::before {
    content: "";
    background: no-repeat 50% 50%/contain;
    position: absolute;
}

/* 資料請求・体験 */
.cmn_order a::before,.cmn_taiken a::before {
    content: "";
    width: 26px;
    height: 26px;
    background: no-repeat 50% 50%/contain;
    -webkit-transition: all 0.2s linear;
    -ms-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

.cmn_order a::before {
    background-image: url(images/file.svg);
}

.cmn_taiken a::before {
    background-image: url(images/taiken.svg);
}

.cmn_order a:hover::before {
    background-image: url(images/file_color.svg);
}

.cmn_taiken a:hover::before {
    background-image: url(images/taiken_color.svg);
}

/* LINE */
.cmn_line a::before {
    content: '\e902';
    font-family: "icomoon";
    font-size: 2em;
    position: absolute;
    top: calc(50% - .5em);
    line-height: 1;
    left: 25px;
    font-weight: normal;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
投稿系：新着情報　＞　swiper
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_news .swiper-container {
    overflow: visible;
}

#home_news .swiper-button-prev,#home_news .swiper-button-next {
    background-image: url("images/arrow.svg");
    background-position: 55% 50%;
    background-size: 12px 21px;
    width: 52px;
    height: 52px;
    background-color: rgba(255,255,255,.9);
    border-radius: 50%;
    box-shadow: 0 0 10px rgb(0,0,0,.4);
}

#home_news .swiper-button-prev {
    transform: scale(-1, 1);
    left: -8px;
}

#home_news .swiper-button-next {
    right: -8px;
}

#home_news .swiper-button-prev.swiper-button-disabled,
#home_news .swiper-button-next.swiper-button-disabled {
    opacity: 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
投稿系：新着情報　＞　ul.cmn_post_list
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_post_list .area_a {
    margin-bottom: 10px;
}

.cmn_post_list .area_a p.img {
    border-radius: 4px;
}

.cmn_post_list h3 {
    font-size: 1.8rem;
    font-weight: bold;
}

.cmn_post_list .meta_box {
    align-items: center;
    margin-bottom: 10px;
}

.cmn_post_list p.date {
    font-size: 1.5rem;
    font-weight: bold;
    margin-right: 20px;
    letter-spacing: .05em;
    color:#777;
}

.cmn_post_list p.cat span {
    font-size: 1.4rem;
    display: block;
    line-height: 1.2;
    border-radius: 4px;
    padding: 5px 15px;
    background-color: #00459a;
    color: #fff;
    font-weight: bold;
    min-width: 90px;
    text-align: center;
}

.cmn_post_list p.cat span:not(:first-child){
    margin-left: 5px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
投稿　ul.cmn_voice_list
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_voice_list {
    margin: 0 -20px 70px;
}

.cmn_voice_list li {
    width: 580px;
    margin: 0 20px;
    display: flex;
    flex-wrap: wrap;
    background-color: #fff;
    border-radius: 4px;
    padding: 35px 30px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}

.cmn_voice_list li .area_a {
    width: 160px;
    margin-right: 25px;
}

.cmn_voice_list li .area_a p.img {
    padding-top: 100%;
    border-radius: 4px;
}

.cmn_voice_list li .area_b {
    width: calc(100% - 160px - 25px);
}

.cmn_voice_list li .area_b .inner{
    margin-bottom: 10px;
}

.cmn_voice_list li .area_b p.school {
    background-color: #002757;
    color: #fff;
    font-size: 2.0rem;
    font-weight: bold;
    text-align: center;
    padding: 2px 20px;
    margin-bottom: 5px;
}

.cmn_voice_list li .area_b p.name {
    font-weight: bold;
}

.cmn_voice_list li .area_b p.name > span:not(:first-child) {
    margin-left:1em;
}

body.home .cmn_voice_list li .area_b .txt {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size: 1.6rem;
    line-height: 1.6;
}

/* アーカイブ */
body.archive .cmn_voice_list {
    margin: 0;
}

body.archive .cmn_voice_list li {
    width: 100%;
    margin: 0;
}

body.archive .cmn_voice_list li:not(:first-child) {
    margin-top: 3em;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層ページ　＞　ヘッダー画像
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_promo .img_wrap {
    height: 300px;
}

.page_promo .txt_box {
    color: #fff;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層ページ　＞　フォーム
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
span.form_icon::before {
    font-family: "icomoon";
    content: '\f073';
    color: #00459a;
    font-size: 1em;
    margin-right: .5em;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
カスタム投稿一覧　＞　ギャラリーの画像拡大機能
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.post-type-archive-voice .gallery-item dt {
    position: relative;
}

body.post-type-archive-voice .gallery-item dt::after {
    font-size: 2.4rem;
    font-family: "icomoon";
    content: '\e905';
    line-height: 1;
    color: #fff;
    position: absolute;
    bottom: 0;
    right: 0;
    text-shadow: none;
    background-color: rgba(0, 0, 0, .6);
    padding: 3px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　一言コメント
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.tweet_area {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　新着情報
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_news.kugiri_m {
    padding-top: 45px;
    padding-bottom: 70px;
}

#home_news dl.news_box {
    border: 1px solid #020d65;
    border-radius: 4px;
    width: 1000px;
    margin: 0 auto 50px;
}

#home_news dl.news_box dt {
    background-color: #020d65;
    color: #fff;
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    padding: 8px 20px;
    letter-spacing: .1em;
}

#home_news dl.news_box dd {
    padding: 20px 30px;
}

#home_news .inner {
    position: relative;
}

#home_news .inner h2.main_ttl {
    font-size: 3.0rem;
    letter-spacing: .1em;
    background: url(images/pen.png) no-repeat 0 50%/auto 100%;
    padding: 5px 200px 11px 70px;
    margin-bottom: 25px;
}

#home_news .inner p.btn {
    position: absolute;
    right: 0;
    top: 10px;
}

#home_news .inner p.btn a {
    display: block;
    border: 2px solid #151515;
    color: inherit;
    font-size: 1.7rem;
    font-weight: bold;
    border-radius: 4px;
    padding: 5px 37px;
    position: relative;
    letter-spacing: .075em;
}

#home_news .inner p.btn a:hover {
    background-color: #151515;
    color: #fff;
    opacity: 1;
}

#home_news .inner p.btn a::after {
    font-family: "icomoon";
    content: '\ea3c';
    font-size: 1.3em;
    position: absolute;
    top: calc(50% - .52em);
    line-height: 1;
    right: 5px;
    font-weight: normal;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　コース案内
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_course {
    background-color: #e5f4ff;
}

#home_course.kugiri_m {
    padding-top: 70px;
    padding-bottom: 80px;
}

#home_course h2.cmn_ttl{
    max-width:210px;
}

#home_course ul.items {
    margin:0 -15px -25px;
    position: relative;
	justify-content: center;
}

#home_course ul.items::before {
    content: "";
    background: no-repeat 50% 100%/contain;
    position: absolute;
    width: 174px;
    height: 150px;
    background-image: url(images/course_before.svg);
    background-position: 50% 100%;
    right: calc(50% - 270px);
    top: -150px;
}

#home_course ul.items li {
    margin: 0 15px 25px;
    width: 585px;
}

#home_course ul.items li a {
    border: 2px solid;
    height: 230px;
    border-radius: 4px;
    overflow: hidden;
    padding: 20px 20px 20px calc(268px + 20px);
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}

#home_course ul.items li.primary a {
    border-color: #ff556e;
    background-color: #ff556e;
    color: #ff556e;
}

#home_course ul.items li.junior a {
    border-color: #00b0cc;
    background-color: #00b0cc;
    color: #00b0cc;
}

#home_course ul.items li.high a {
    border-color: #fb8e2c;
    background-color: #fb8e2c;
    color: #fb8e2c;
}

#home_course ul.items li.programming a {
    border-color: #a155ff;
    background-color: #a155ff;
    color: #a155ff;
}

#home_course ul.items li a .img {
    position: absolute;
    left: 0;
    top: 0;
    width: 268px;
    height: 226px;
    overflow: hidden;
}

#home_course ul.items li a .img img {
    -webkit-transition: all 0.2s linear;
    -ms-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

#home_course ul.items li a img:hover {
    opacity: 1;
}

#home_course ul.items li a:hover img {
    transform: scale(1.1);
}

#home_course ul.items li a .en {
    font-family: 'Bebas Neue';
    letter-spacing: .05em;
    font-size: 1.8rem;
    color: #fff;
    line-height: 1.2;
}

#home_course ul.items li a .ja {
    font-size: 2.8rem;
    font-weight: bold;
    color: #fff;
    margin-bottom: 5px;
}

#home_course ul.items li a .grade {
    padding: 1px 25px;
    background-color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    border-radius: 2em;
    line-height: 1.6;
    min-width: 150px;
}

#home_course ul.items li a .more {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 12px;
    height: 12px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    overflow: hidden;
}

#home_course ul.items li a .more::after {
    content: '';
    width: 20px;
    height: 20px;
    border: 1px solid #fff;
    position: absolute;
    right: -13px;
    bottom: -14px;
    transform: rotate(45deg);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　体験授業受付中
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_taiken {
    background-size: auto auto;
    background-color: rgba(66, 187, 252, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 17px, rgba(40, 171, 242, 1) 17px, rgba(40, 171, 242, 1) 34px );
}

#home_taiken.kugiri_m {
    padding-top: 30px;
    padding-bottom: 40px;
}

#home_taiken p.img {
    text-align: center;
}

#home_taiken p.img a img {
    -webkit-transition: all 0.15s linear;
    -ms-transition: all 0.15s linear;
    -moz-transition: all 0.15s linear;
    transition: all 0.15s linear;
}
#home_taiken p.img a:hover img{
    opacity: 1;
    margin: 5px 0px -5px 0px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　お得なキャンペーン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_cp.kugiri_m {
    padding-top: 60px;
    padding-bottom: 60px;
}

#home_cp h2.cmn_ttl::before {
    width: 94px;
    height: 90px;
    background-image: url(images/cp_before.svg);
    left: -155px;
    bottom: 17px;
}

#home_cp ul.items {
    justify-content: space-between;
}

#home_cp ul.items li {
    margin: 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　こんなお悩みありませんか？
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_trouble {
    background-color: #cef4fa;
    position: relative;
}

#home_trouble.kugiri_m {
    padding-top: 70px;
    padding-bottom: 55px;
}

#home_trouble::after {
    content: "";
    border-top: 46px solid #cef4fa;
    border-right: 135px solid transparent;
    border-left: 135px solid transparent;
    position: absolute;
    bottom: -45px;
    left: calc(50% - 135px);
}

#home_trouble .inner_box {
    width: 1000px;
    margin: 0 auto;
    background-color: #fff;
    border: 2px solid #555555;
    border-radius: 4px;
    padding: 60px 120px 65px;
}

#home_trouble .inner_box h2.main_ttl {
    display: table;
    padding: 0 18px;
    margin: 0 auto 35px;
    font-size: 3.2rem;
    font-weight: bold;
    position: relative;
    z-index: 1;
}

#home_trouble .inner_box h2.main_ttl::before {
    content: "";
    width: 104px;
    height: 155px;
    background: url(images/mama.svg) no-repeat 50% 50%/contain;
    position: absolute;
    left: -120px;
    bottom: -5px;
}

#home_trouble .inner_box h2.main_ttl::after {
    content: "";
    width: 100%;
    height: 23px;
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(45deg, transparent, transparent 6px, rgba(243, 236, 70, 1) 6px, rgba(243, 236, 70, 1) 12px );
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

#home_trouble .inner_box h2.main_ttl .orange {
    color: #ff6600;
}

#home_trouble .inner_box ul.items {
    margin-bottom: -15px;
}

#home_trouble .inner_box ul.items li {
    width: 50%;
    margin: 0 0 15px;
    padding-left: 40px;
    position: relative;
    font-size: 2.0rem;
    font-weight: bold;
}

#home_trouble .inner_box ul.items li::before {
    content: "";
    width: 35px;
    height: 27px;
    background: url(images/check.svg) no-repeat 50% 50%/contain;
    position: absolute;
    left: 0;
    top: 4px;
}

#home_trouble p.main_img {
    text-align: center;
    margin-top: -60px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　ヒーローズの特長
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_point.kugiri_m {
    padding-top: 100px;
    padding-bottom: 80px;
}

#home_point ol.items {
    margin-bottom: 100px;
}

#home_point ol.items li {
    margin: 0;
    width: 100%;
    min-height: 420px;
    position: relative;
}

#home_point ol.items li:nth-child(even) {
    justify-content: flex-end;
}

#home_point ol.items li:not(:last-child) {
    margin-bottom: 80px;
}

#home_point ol.items li .area_a {
    position: absolute;
}

#home_point ol.items li:nth-child(1) .area_a {
    top: 0;
    right: 0;
}

#home_point ol.items li:nth-child(2) .area_a {
    bottom: 0;
    left: 0;
}

#home_point ol.items li:nth-child(3) .area_a {
    bottom: 0;
    right: 0;
}

#home_point ol.items li .area_b {
    width: 700px;
    background-color: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    border-radius: 4px;
    padding: 50px 65px 70px;
    position: relative;
    z-index: 1;
}

#home_point ol.items li:nth-child(1) .area_b {
    margin-top: 105px;
}

#home_point ol.items li:nth-child(2) .area_b {
    margin-bottom: 80px;
}

#home_point ol.items li:nth-child(3) .area_b {
    margin-bottom: 75px;
}

#home_point ol.items li .area_b h3 {
    font-size: 3.0rem;
    font-weight: bold;
    line-height: 1.5;
    position: relative;
    padding: 15px 0 15px 115px;
    margin-bottom: 25px;
}

#home_point ol.items li .area_b h3::before {
    content: "";
    width: 95px;
    height: 117px;
    background: url(images/point_bg.svg) no-repeat 50% 50%/contain;
    position: absolute;
    left: 0;
    top: calc(50% - 58px);
}

#home_point ol.items li .area_b h3::after {
    content: "0"counters(ol_cnt, "");
    font-size: 4.4rem;
    position: absolute;
    left: 18px;
    top: calc(50% - .58em);
    font-family: "Tw Cen MT Condensed Bold";
    font-weight: normal;
    letter-spacing: 0;
}

#home_point ol.items li .area_b p.txt {
    font-size: 1.8rem;
    line-height: 2;
}

#home_point .taisaku_box {
    width: 1000px;
    margin: 0 auto;
    border-style: solid;
    border-width: 25px 25px 84px;
    -moz-border-image: url(images/kokuban.png) 25 25 84;
    -webkit-border-image: url(images/kokuban.png) 25 25 84;
    -o-border-image: url(images/kokuban.png) 25 25 84;
    border-image: url(images/kokuban.png) 25 25 84 fill;
    padding: 40px;
    position: relative;
    color: #fff;
    z-index: 1;
}

#home_point .taisaku_box::before {
    content: "";
    width: 448px;
    height: 210px;
    background: url(images/doit.png) no-repeat 50% 50%/contain;
    position: absolute;
    left: -55px;
    top: -65px;
}

#home_point .taisaku_box h2.main_ttl {
    font-size: 3.0rem;
    text-align: center;
    margin-bottom: 45px;
    padding-bottom: 20px;
    background: url(images/under_line.svg) no-repeat 50% 100%;
}

#home_point .taisaku_box ul.items {
    padding-right: 310px;
}

#home_point .taisaku_box ul.items li {
    font-size: 2.2rem;
    font-weight: bold;
    position: relative;
    margin: 0;
    padding-left: 85px;
    line-height: 1.6;
}

#home_point .taisaku_box ul.items li:not(:last-child) {
    margin-bottom: 35px;
    border-bottom: 2px solid #57907c;
    padding-bottom: 35px;
}

#home_point .taisaku_box ul.items li::before {
    content: "";
    width: 46px;
    height: 68px;
    background: url(images/point_before.svg) no-repeat 50% 50%/contain;
    position: absolute;
    left: 20px;
    top: -20px;
}

#home_point .taisaku_box ul.items li .yellow {
    color: #ffff2e;
}

#home_point .taisaku_box p.img {
    position: absolute;
    bottom: 35px;
    right: 20px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　成果
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_seika {
    background-color: #e5f4ff;
}

#home_seika.kugiri_m {
    padding-top: 70px;
    padding-bottom: 80px;
}

#home_seika h2.main_ttl {
    text-align: center;
    font-size: 3.6rem;
    font-weight: bold;
    margin-bottom: 60px;
}

#home_seika h2.main_ttl .pink {
    color: #ff556e;
}

#home_seika p.img {
    margin-bottom: 50px;
}

#home_seika .inner_box {
    background-color: #fff;
    width: 1000px;
    margin: 0 auto 80px;
    padding: 30px 55px;
    align-items: center;
    font-weight: bold;
    border-radius: 4px;
}

#home_seika .inner_box > * {
    width: 50%;
}

#home_seika .inner_box h3.ttl {
    font-size: 3.0rem;
    font-weight: bold;
    text-align: center;
    position: relative;
}

#home_seika .inner_box h3.ttl::after {
    content: "";
    width: 576px;
    height: 80px;
    background: url(images/maker.svg) no-repeat 50% 50%/contain;
    transform: scale(-1, 1);
    position: absolute;
    left: -135px;
    bottom: -35px;
}

#home_seika .inner_box .area_b {
    min-height: 174px;
    background: url(images/pct.jpg) no-repeat 100% 50%;
    padding: 35px 190px 10px 40px;
}

#home_seika .inner_box p.txt {
    font-size: 2.2rem;
}

#home_seika .inner_box p.sub_txt {
    font-size: 1.4rem;
}

#home_seika .txt_box {
    background: url(images/seika_bg.png) repeat-x 0 0/contain;
    padding: 70px 0 80px;
}

#home_seika .txt_box p.main_lead {
    font-size: 2.6rem;
    font-weight: bold;
    text-align: center;
    position: relative;
    z-index: 2;
}

#home_seika .txt_box p.main_lead::before,#home_seika .txt_box p.main_lead::after {
    content: "";
    background: no-repeat 50% 50%/contain;
    position: absolute;
    z-index: -1;
}

#home_seika .txt_box p.main_lead::before {
    width: 677px;
    height: 446px;
    background-image: url(images/jump.png);
    bottom: -165px;
    left: 7vw;
}

@media screen and (max-width: 1600px) {
    #home_seika .txt_box p.main_lead::before {
        left: calc(50% - 680px);
    }
}

#home_seika .txt_box p.main_lead::after {
    width: 160px;
    height: 130px;
    background-image: url(images/book.svg);
    bottom: -120px;
    right: calc(50% - 505px);
}

#home_seika .txt_box p.main_lead .inner {
    display: inline-block;
    max-width: 730px;
}

#home_seika .txt_box p.main_lead .pink {
    color: #ff0c33;
}

#home_seika p.btn {
    text-align: center;
    margin-top: -55px;
    position: relative;
    z-index: 2;
}

#home_seika p.btn a {
    background-color: #ff556e;
    border-color: #ff556e;
}

#home_seika p.btn a:hover {
    background-color: #fff;
    color: #ff556e;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　合格実績
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_result.kugiri_m {
    padding-top: 60px;
    padding-bottom: 70px;
}

#home_result h2.cmn_ttl {
    padding: 0;
    background: none;
    margin-bottom: 15px;
}

#home_result h2.cmn_ttl::before {
    width: 86px;
    height: 49px;
    background-image: url(images/gokaku_before.svg);
    left: -105px;
    top: -5px;
}

#home_result p.main_lead {
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 25px;
}

#home_result ul.items {
    width: 780px;
    margin: 0 auto -20px;
    /*padding-left: 410px;*/
    position: relative;
}

#home_result ul.items li {
    margin: 0 0 20px;
    background: url(images/sketch.svg) no-repeat 50% 50%/contain;
    width: 171px;
    height: 167px;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 40px 0 20px;
}

#home_result ul.items li:nth-child(2),#home_result ul.items li:nth-child(4){
    margin-left:406px;
}

#home_result ul.items li:nth-child(even),#home_result ul.items li:nth-child(n+6):not(:last-child){
    margin-right: 32px;
}

#home_result ul.items li .inner > span {
    display: block;
    line-height: 1;
}

#home_result ul.items li .inner .name {
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 8px;
}

#home_result ul.items li .inner .num {
    font-size: 2.2rem;
    font-family: "logotypejp_mp_b";
}

#home_result ul.items li .inner .num .red {
    font-size: 6.0rem;
    color: #eb0000;
}

/* 1個目のみ */
#home_result ul.items li:nth-child(1) {
    margin: 0;
    width: 362px;
    height: 352px;
    padding: 60px 0 15px;
    position: absolute;
    left: 0;
    top: 0;
}

#home_result ul.items li:nth-child(1) .inner {
    position: relative;
}

#home_result ul.items li:nth-child(1) .inner::before, #home_result ul.items li:nth-child(1) .inner::after {
    content: "";
    background: no-repeat 50% 50%/contain;
    position: absolute;
}

#home_result ul.items li:nth-child(1) .inner::before {
    width: 190px;
    height: 250px;
    background-image: url(images/pon1.png);
    left: -180px;
    bottom: -80px;
}

#home_result ul.items li:nth-child(1) .inner::after {
    width: 170px;
    height: 240px;
    background-image: url(images/pon2.png);
    right: -160px;
    bottom: -80px;
}

#home_result ul.items li:nth-child(1) .inner .name {
    font-size: 5.0rem;
    margin-bottom: 15px;
}

#home_result ul.items li:nth-child(1) .inner .num {
    font-size: 4.0rem;
}

#home_result ul.items li:nth-child(1) .inner .num .red {
    font-size: 17.0rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　合格体験
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_voice {
    background-color: #cef4fa;
}

#home_voice.kugiri_m {
    padding-top: 55px;
    padding-bottom: 40px;
}

#home_voice h2.cmn_ttl::before {
    width: 88px;
    height: 87px;
    background-image: url(images/voice_before.svg);
    right: -120px;
    bottom: -20px;
}

#home_voice p.btn {
    text-align: center;
    position: relative;
}

#home_voice p.btn::before {
    content: "";
    width: 60px;
    height: 53px;
    background: url(images/mini_hero.png) no-repeat 50% 100%/contain;
    position: absolute;
    top: -53px;
    right: calc(50% - 140px);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　入塾の流れ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_flow.kugiri_m {
    padding-top: 60px;
    padding-bottom: 70px;
}

#home_flow h2.cmn_ttl::before {
    width: 103px;
    height: 107px;
    background-image: url(images/hint.png);
    left: -120px;
    top: -35px;
}

#home_flow ol.items {
    text-align: center;
    width: 650px;
    margin: 0 auto 30px;
}

#home_flow ol.items li {
    margin: 0;
}

#home_flow ol.items li:not(:last-child)::after {
    content: "";
    border-top: 17px solid #0072ff;
    border-right: 21px solid transparent;
    border-left: 21px solid transparent;
    display: inline-block;
    margin: 15px 0;
}

#home_flow ol.items li .inner {
    background: no-repeat 0 50%/contain;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 34px 80px;
}

#home_flow ol.items li:nth-child(1) .inner {
    background-image: url(images/flow01.svg);
}

#home_flow ol.items li:nth-child(2) .inner {
    background-image: url(images/flow02.svg);
}

#home_flow ol.items li:nth-child(3) .inner {
    background-image: url(images/flow03.svg);
}

#home_flow ol.items li:nth-child(4) .inner {
    background-image: url(images/flow04.svg);
}

#home_flow ol.items li:nth-child(5) .inner {
    background-image: url(images/flow05.svg);
}

#home_flow ol.items li .btn_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 25px 0 15px;
}

#home_flow ol.items li .btn_wrap a {
    min-width: 315px;
}

#home_flow ol.items li .btn_wrap a.web {
    background-color: #fff;
    border-color: #ff556e;
    color: #ff556e;
}

#home_flow ol.items li .btn_wrap a.web:hover {
    background-color: #ff556e;
    color: #fff;
}

#home_flow ol.items li .btn_wrap a.line {
    background-color: #00b900;
    border-color: #00b900;
    padding: 20px 65px;
}

#home_flow ol.items li .btn_wrap a.line:hover {
    background-color: #fff;
    color: #00b900;
}

#home_flow p.btn {
    text-align: center;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　アクセス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_access {
    background-color: #e5f4ff;
}

#home_access.kugiri_m {
    padding-top: 70px;
    padding-bottom: 70px;
}

#home_access .inner {
    position: relative;
    min-height: 385px;
    padding: 40px calc(640px + 25px) 0 0;
    text-align: center;
}

#home_access .inner p.logo {
    margin-bottom: 30px;
}

#home_access .inner p.img {
    position: absolute;
    right: 0;
    top: 0;
}

#home_access .inner p.addr {
    font-size: 1.8rem;
    margin-bottom: 20px;
}

#home_access .inner p.access {
    font-size: 2.0rem;
    font-weight: bold;
    color: #020d65;
    display: table;
    margin: 0 auto 15px;
}

#home_access .inner p.access::before,#home_access .inner p.access::after {
    content: "";
    width: 2px;
    height: 36px;
    background-color: #020d65;
    display: inline-block;
    margin: -10px 18px;
    transform: rotate(-37deg);
}

#home_access .inner p.access::after {
    transform: rotate(37deg);
}

#home_access .inner p.route_btn a {
    background-color: #ff8800;
    border-color: #ff8800;
    padding: 20px 75px;
}

#home_access .inner p.route_btn a:hover {
    background-color: #fff;
    color: #ff8800;
}

#home_access .inner p.route_btn a::before {
    font-family: "icomoon";
    content: '\f041';
    font-size: 1.8em;
    position: absolute;
    top: 50%;
    margin-top: -.5em;
    line-height: 1;
    left: 50px;
    font-weight: normal;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
コンタクトエリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#contact_area .kugiri_m1 {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #01459a;
}

#contact_area .inner_box {
    border-radius: 4px;
    padding: 50px;
    background: url(images/hero.jpg) no-repeat #fff;
    background-position: calc(50% + 430px) 100%;
}

#contact_area .inner_box p.main_lead {
    text-align: center;
    font-size: 2.6rem;
    font-weight: bold;
    margin-bottom: 30px;
}

#contact_area .inner_box p.main_lead .border {
    position: relative;
    display: inline-block;
    padding: 0 10px;
    z-index: 1;
}

#contact_area .inner_box p.main_lead .border::after {
    content: "";
    width: 100%;
    height: 20px;
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(45deg, transparent, transparent 6px, rgba(243, 236, 70, 1) 6px, rgba(243, 236, 70, 1) 12px );
    position: absolute;
    bottom: 6px;
    left: 0;
    z-index: -1;
}

#contact_area .inner_box p.main_lead .fuchi {
    font-size: 4.2rem;
    font-weight: bold;
    background: repeat-x 0 bottom;
    padding-bottom: 3px;
}

#contact_area .inner_box p.main_lead .pink {
    color: #ff8698;
    background-image: url(images/pink_line.svg);
}

#contact_area .inner_box p.main_lead .blue {
    color: #8ba1ff;
    background-image: url(images/blue_line.svg);
}

#contact_area .inner_box p.main_lead .kakeru {
    font-size: 2.6rem;
    font-weight: bold;
    -webkit-text-stroke: 2px;
    margin: 0 10px;
}

#contact_area .inner_box .tel_wrap {
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}

#contact_area .inner_box .tel_wrap > * {
    padding: 0 25px;
}

#contact_area .inner_box p.num {
    font-size: 5.0rem;
    letter-spacing: .05em;
    line-height: 1;
}

#contact_area .inner_box p.num a::before {
    font-family: "icomoon";
    content: '\f095';
    color: #F37200;
    font-size: .9em;
    margin-right: 5px;
    vertical-align: -4px;
}

#contact_area .inner_box p.open {
    border-left: 1px solid #000;
    font-size: 1.8rem;
}

#contact_area .btn_wrap {
    justify-content: center;
}

#contact_area .btn_wrap p:not(:first-child) {
    margin-left: 20px;
}

#contact_area .btn_wrap p a {
    display: block;
    position: relative;
    color: #fff;
    border-radius: 5px;
    font-size: 2.0rem;
    font-weight: bold;
    padding: 27px 60px;
    min-width: 320px;
    border: 2px solid;
}

#contact_area .btn_wrap p.cmn_order a {
    background-color: #5575ff;
    border-color: #5575ff;
}

#contact_area .btn_wrap p.cmn_taiken a {
    background-color: #ff556e;
    border-color: #ff556e;
}

#contact_area .btn_wrap p.cmn_line a {
    background-color: #00b900;
    border-color: #00b900;
}

#contact_area .btn_wrap p a:hover {
    opacity: 1;
}

#contact_area .btn_wrap p.cmn_order a:hover {
    background-color: #fff;
    color: #5575ff;
}

#contact_area .btn_wrap p.cmn_taiken a:hover {
    background-color: #fff;
    color: #ff556e;
}

#contact_area .btn_wrap p.cmn_line a:hover {
    background-color: #fff;
    color: #00b900;
}

#contact_area .btn_wrap p.cmn_order a::before,
#contact_area .btn_wrap p.cmn_taiken a::before {
    position: absolute;
    width: 30px;
    height: 30px;
    left: 30px;
    top: calc(50% - 15px);
}

#contact_area .btn_wrap p.cmn_line a::before {
    font-size: 3.2rem;
}

#contact_area .btn_wrap p a::after {
    font-family: "icomoon";
    content: '\e917';
    font-size: 1.5em;
    position: absolute;
    top: 50%;
    margin-top: -.48em;
    line-height: 1;
    right: 5px;
    font-weight: normal;
}

#contact_area .kugiri_m2 {
    padding-top: 30px;
    padding-bottom: 30px;
}

#contact_area p.logo {
    text-align: center;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
フッター
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#footer {
    background-color: #f7f7f7;
}

#copy_frame {
    background-color: #f7f7f7;
}

div#copy_area, div#copy_area a {
    color: inherit;
    font-weight: bold;
}
