@charset "UTF-8";

/* PC固定ページ 共通設定 */
.common-page_main {
    background-image: url(/wp-content/themes/child/image/contact_back.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    padding: 5vw 0;
    position: relative;
    z-index: 1;
}

.common-page_main::before {
    content: "";
    position: absolute;
    background: rgba(0, 0, 0, 0.3);
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
}

.common-page_main .title_box {
    position: relative;
    z-index: 1;
}

.common-page_main .title_box .title {
    color: #fff;
    font-size: 3vw;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.4;
}

.common-page_main .title_box .sub_title {
    color: #fff;
    font-size: 2vw;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-top: 0.5vw;
    padding-bottom: 1vw;
}

.page-id-277 {
    background-color: #faf8f2;
}

#page_flow .flow_theme {
    font-size: 1.3vw;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 0.1em;
}

#page_flow .flow_link_box {
    margin-top: 3vw;
}

#page_flow .flow_link_box ul {
    flex-wrap: nowrap;
    align-items: center;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 2vw;
}

#page_flow .flow_link_box ul li {
    height: 6.9vw;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

#page_flow .flow_link_box ul li .link {
    height: 100%;
    position: relative;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.5;
    text-align: center;
    color: #333;
    font-size: 1.2vw;
}

#page_flow .flow_link_box ul li .link::before {
    content: "";
    position: absolute;
    width: 1vw;
    height: 1vw;
    border-left: 3px solid #333;
    border-bottom: 3px solid #333;
    transform: translateY(-50%) rotate(-45deg);
    right: 1vw;
    top: 50%;
    z-index: 1;
}

#page_flow .flow_link_box ul li .theme {
    position: absolute;
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.6;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    text-align: center;
    font-size: 1.3vw;
}

#page_flow .flow_link_box ul li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#page_flow .flow_sec_box {
    margin-top: 6.5vw;
}

#page_flow .flow_sec_box .flow_box .img_box {
    flex-wrap: nowrap;
    align-items: center;
}

#page_flow .flow_sec_box .flow_box .img_box .img {
    width: 45vw;
    height: 35vw;
    flex-shrink: 0;
    margin-left: auto;
}

#page_flow .flow_sec_box .flow_box .img_box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#page_flow .flow_sec_box .flow_box .img_box .ttl {
    font-size: 2.2vw;
    font-weight: 900;
    color: #00ae91;
    letter-spacing: 0.12em;
    line-height: 1.4;
    padding-left: 10.5vw;
}

#page_flow .flow_sec_box .flow_box .flow_text_box {
    margin-top: 5vw;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    padding: 3vw 4vw;
    background-color: #fff;
}

#page_flow .flow_sec_box .flow_box .flow_text_box .theme {
    font-size: 1.4vw;
    letter-spacing: 0.08em;
    font-weight: 600;
    line-height: 1;
    border-bottom: 1px dashed #bfbfbf;
}

#page_flow .flow_sec_box .flow_box .flow_text_box .theme .number {
    font-size: 4vw;
    color: #00ae91;
    padding-right: 0.8vw;
}

#page_flow .flow_sec_box .flow_box .flow_text_box .box {
    margin-top: 1vw;
}

#page_flow .flow_sec_box .flow_box .flow_text_box .box .text {
    font-size: 1.1vw;
    letter-spacing: 0.08em;
    line-height: 1.6;
    font-weight: 400;
}

#page_flow .flow_sec_box .flow_box .flow_text_box .box .text+.text {
    margin-top: 1.2vw;
}

#page_flow .flow_sec_box .flow_box .flow_text_box .box .top_text {
    margin-top: 1vw;
}

#page_flow .flow_sec_box .flow_box .flow_text_box .box .text_list_box {
    margin: 1.2vw 0 1vw;
}

#page_flow .flow_sec_box .flow_box .flow_text_box .box .text_list_box .list_text {
    font-weight: 600;
    letter-spacing: 0.1em;
    font-size: 1.2vw;
    padding-left: 1.5vw;
    position: relative;
}

#page_flow .flow_sec_box .flow_box .flow_text_box .box .text_list_box .list_text+.list_text {
    margin-top: 0.5vw;
}

#page_flow .flow_sec_box .flow_box .flow_text_box .box .text_list_box .list_text::before {
    content: "";
    position: absolute;
    width: 1vw;
    height: 1vw;
    background-color: #00ae91;
    border-radius: 50%;
    left: -0.3vw;
    top: 0.6vw;
}

#page_flow .flow_sec_box .flow_box .flow_text_box .box .text_list_box .list_small_text {
    font-size: 1vw;
    letter-spacing: 0.08em;
}

#page_flow .flow_sec_box .flow_box .flow_text_box+.flow_text_box {
    margin-top: 4vw;
    position: relative;
}

#page_flow .flow_sec_box .flow_box .flow_text_box::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2vw 4vw 0 4vw;
    border-color: #fff transparent transparent transparent;
    filter: drop-shadow(0px 3px 2px rgba(0, 0, 0, 0.2));
    left: 50%;
    transform: translateX(-50%);
    top: -4vw;
}

#page_flow .flow_sec_box .flow_box {
    margin-top: 10vw;
}

.cmn_page_section .content {
    margin-top: 5vw;
}

.cmn_page_section .content ul li .common_title_box {
    line-height: 1;
}

.cmn_page_section .content ul li .common_title_box .title {
    font-size: 1.3vw;
    letter-spacing: 0.08em;
    line-height: 1;
    border-bottom: 1px dashed;
    margin-bottom: 1em;
    font-weight: 600;
}

.cmn_page_section .content ul li .common_title_box .title .number {
    font-size: 4vw;
    padding-right: 1vw;
    color: #00ae91;
}

.cmn_page_section .top_text_box .top_text {
    text-align: center;
    color: #333;
    font-size: 1.3vw;
    font-weight: 400;
    line-height: 2.2;
}

.cmn_page_section .content ul li .text {
    font-size: 1.1vw;
    letter-spacing: 0.08em;
    line-height: 1.6;
}

.cmn_page_section .content ul li .text+.text {
    margin-top: 1vw;
}

.cmn_page_section .content ul li {
    background: #fafafa;
    padding: 2vw;
}

.cmn_page_section .content ul li+li {
    margin-top: 2.5vw;
}

@keyframes mask_slide {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

#page_check_moving .content .cmn_content_ttl_box {
    align-items: center;
    flex-wrap: nowrap;
    margin-bottom: 2.5vw;
    text-align: center;
}

#page_check_moving .content .cmn_content_ttl_box .img {
    width: 25vw;
    height: 17vw;
    border-radius: 15px;
    flex-shrink: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    margin-right: 8vw;
    overflow: hidden;
}

#page_check_moving .content .cmn_content_ttl_box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#page_check_moving .content .cmn_content_ttl_box .title {
    font-size: 2vw;
    font-weight: 900;
    letter-spacing: 0.12em;
    color: #00ae91;
    text-align: center;
    background: url(/wp-content/themes/child/image/icon_cmn_title.svg) no-repeat;
    background-size: 3vw;
    background-position: 0;
    display: inline-block;
    padding-left: 5vw;
    padding-top: .5vw;
}

#glossary_top_sec {
    margin-bottom: 5.55vw;
}

#glossary_top_sec .top_text {
    margin-bottom: 1.39vw;
}

#glossary_top_sec .top_text .text {
    font-size: 1.25vw;
    letter-spacing: 0.08em;
    font-weight: bold;
    color: #00ae91;
    padding-bottom: 0.69vw;
    border-bottom: 1px solid;
}

#glossary_top_sec .cont .block {
    width: 31%;
}

#glossary_top_sec .cont .block .item {
    flex-wrap: nowrap;
    line-height: 1;
    align-items: center;
    padding: 0 1.04vw;
}

#glossary_top_sec .cont .block .item+.item {
    margin-top: 2.08vw;
}

#glossary_top_sec .cont .block .item .label {
    font-weight: bold;
    font-size: 1.25vw;
}

#glossary_top_sec .cont .block .item a {
    padding: 0.69vw 0.62vw;
    margin-left: 1.39vw;
    background: #eeeeee;
    text-decoration: none;
    color: #000000;
    box-shadow: 2px 2px 2px #c9c1c1;
    transition: 0.5s;
    display: inline-block;
    font-size: 1.1vw;
}

#glossary_top_sec .cont .block .item a:hover {
    box-shadow: none;
}

#glossary_info_sec .cont .block+.block {
    margin-top: 2.78vw;
}

#glossary_info_sec .cont .block .ttl {
    align-items: center;
    flex-wrap: nowrap;
    padding: 0.97vw 1.39vw;
    background-color: #00ae91;
    font-size: 1.6vw;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    margin-bottom: 1.39vw;
}

#glossary_info_sec .cont .block .ttl::before {
    content: "";
    display: block;
    width: 2.08vw;
    height: 0.07vw;
    background-color: #fff;
}

#glossary_info_sec .cont .block .box+.box {
    margin-top: 1.04vw;
}

#glossary_info_sec .cont .block .box .name {
    font-size: 1.25vw;
    letter-spacing: 0.05em;
    margin-bottom: 0.35vw;
}

#glossary_info_sec .cont .block .box .text {
    font-size: 1.04vw;
    letter-spacing: 0.05em;
    line-height: 1.6;
}

#page_guardian .guardian_box {
    flex-wrap: nowrap;
    align-items: center;
}

#page_guardian .guardian_box .text_box {
    padding-left: 10.5vw;
}

#page_guardian .guardian_box .text_box .text {
    font-size: 1.3vw;
    letter-spacing: 0.08em;
    line-height: 1.8;
}

#page_guardian .guardian_box .text_box .text+.text {
    margin-top: 3vw;
}

#page_guardian .guardian_box .img {
    width: 50vw;
    height: 36vw;
    flex-shrink: 0;
    margin-left: 5vw;
}

#page_guardian .guardian_box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#page_guardian .introduction_box {
    margin-top: 6vw;
}

#page_guardian .introduction_box .text_box {
    margin-top: 1.5vw;
}

#page_guardian .introduction_box .text_box .text {
    font-size: 1.1vw;
    letter-spacing: 0.08em;
    line-height: 1.6;
}

#page_guardian .introduction_box .text_box .text+.text {
    margin-top: 0.8vw;
}

#page_guardian .appearance_box {
    margin-top: 6vw;
}

#page_guardian .appearance_box ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 3.5vw;
    margin-top: 4vw;
}

#page_guardian .appearance_box ul li {
    position: relative;
}

#page_guardian .appearance_box ul li .img {
    background-color: #f0f0f0;
    border-radius: 10px;
    width: 100%;
    height: 18vw;
}

#page_guardian .appearance_box ul li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

#page_guardian .appearance_box ul li .ab_name {
    position: absolute;
    background-color: #00ae91;
    color: #fff;
    font-weight: 600;
    font-size: 1.4vw;
    letter-spacing: 0.12em;
    width: 17vw;
    line-height: 3.5vw;
    text-align: center;
    border-radius: 20px;
    top: -1.6vw;
    left: 50%;
    transform: translateX(-50%);
}

#page_guardian .cmn_sec_box .ttl {
    font-size: 1.75vw;
    letter-spacing: 0.08em;
    line-height: 1;
    border-left: 5px solid #00ae91;
    padding-left: 1vw;
    font-weight: 600;
}

#page_guardian .cmn_contact_btn {
    margin: 5vw auto 0;
}

.cmn_contact_btn {
    width: 22.3vw;
    height: 5.6vw;
}

.cmn_contact_btn .btn {
    background-color: #00ae91;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.2vw;
    font-weight: 600;
    letter-spacing: 0.06em;
    transition: 0.3s;
    line-height: 1.5;
    position: relative;
    border-radius: 6px;
    border: 1px solid #fff;
}

.cmn_contact_btn .btn::before {
    content: "";
    transition: 0.3s;
    background-image: url(/wp-content/themes/child/image/icon_mail.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 2.6vw;
    height: 2.5vw;
    display: block;
    margin-right: 1vw;
}

.cmn_contact_btn .btn:hover {
    background-color: #fff;
    color: #00ae91;
    border: 1px solid #00ae91;
}

.cmn_contact_btn .btn:hover::before {
    background-image: url(/wp-content/themes/child/image/icon_mail_hover.png);
}

.common-page_wrap {
    padding: 100px 0;
}

.common-page_title {
    text-align: center;
    margin-bottom: 2em;
}

.common-page_title h2 {
    font-size: 30px;
}

.common-page_title .sub_title {
    font-size: 14px;
    letter-spacing: 0.1em;
}

.reserve_text {
    text-align: center;
    font-size: 30px;
}

.common-btn {
    display: block;
    width: 300px;
    line-height: 50px;
    background-color: #333;
    color: #fff;
    margin: 0 auto;
    transition: 0.3s;
}

.common-btn:hover {
    opacity: 0.7;
}

/* パンくず */
.breadcrumb {
    font-size: 1vw;
    margin-top: 0.5vw;
}

.breadcrumb a {
    text-decoration: none;
    color: initial;
}

/* PC固定ページ 会社概要 */
.company_profile {
    margin-bottom: 100px;
}

.company_profile table {
    width: 100%;
    border-collapse: collapse;
}

.company_profile table th,
.company_profile table td {
    padding: 1em;
    border-bottom: 1px solid;
    font-size: 14px;
}

.company_profile table th {
    width: 20%;
}

.company_profile table td {
    width: 80%;
}

.company_access .map {
    height: 350px;
}

.company_access .map iframe {
    width: 100%;
    height: 100%;
}

/* PC固定ページ お問い合わせ */
#page_contact table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 50px;
}

#page_contact table th,
#page_contact table td {
    padding: 1em;
    font-size: 14px;
}

#page_contact table th {
    width: 25%;
}

#page_contact table th .hissu {
    color: #c70000;
    margin-right: 0.3em;
}

#page_contact table td {
    width: 75%;
}

#page_contact input[type=text],
#page_contact input[type=email],
#page_contact #zip {
    width: 60%;
    height: 50px;
    border: 1px solid #ccc;
    padding: 1em;
}

#page_contact input.tel {
    border: 1px solid #ccc;
    padding: 1em;
    width: 18.8%;
}

#page_contact select {
    outline: none;
    background: transparent;
    padding: 1em;
    width: 50%;
    border: 1px solid #ccc;
}

#page_contact textarea {
    width: 60%;
    border: 1px solid #ccc;
    padding: 1em;
    height: 200px;
}

#page_contact .attention {
    font-size: 12px;
}

#page_contact #btn_wrap {
    justify-content: center;
}

#page_contact #btn_wrap button {
    background-color: #00ae91;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 300px;
    line-height: 50px;
    border-radius: 50px;
    font-size: 15px;
    transition: 0.3s;
    text-align: center;
}

#page_contact #btn_wrap button[name=submitBack] {
    background-color: #333;
    margin-left: 20px;
}

#page_contact #btn_wrap button:hover {
    opacity: 0.7;
}

/* ラジオボタン デザイン */
/* ラジオボタンを隠す */
.radio-btns input[type=radio].radio-btns__item {
    display: none;
}

.radio-btns label {
    display: inline-block;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio-btns .radio-btns__item+span {
    padding-left: 2em;
    display: inline-block;
    position: relative;
}

/* 各パーツを作成 */
.radio-btns .radio-btns__item+span::after,
.radio-btns .radio-btns__item+span::before {
    content: "";
    display: block;
    position: absolute;
    border: 1px solid #aaaaaa;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    top: 0;
    left: 0;
}

/* after上書き */
.radio-btns .radio-btns__item+span::after {
    width: 14px;
    height: 14px;
    top: 3px;
    left: 3px;
    border: none;
    background: #f18800;
    -webkit-transform: scale(0);
    /*--ここを0にすることで下線は非表示となる--*/
    -ms-transform: scale(0);
    /*--ここを0にすることで下線は非表示となる--*/
    transform: scale(0);
    transition: all 0.3s;
    /*--0.3秒かけて下線が表示される--*/
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio-btns .radio-btns__item:checked+span {
    color: #f18800;
}

.radio-btns .radio-btns__item:checked+span::after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

/* チェックボックス デザイン */
#page_contact input[type=checkbox] {
    /* デフォルトcheckボックス非表示*/
    display: none;
}

.mwform-checkbox-field-text {
    display: inline-block;
    position: relative;
    padding: 0 36px 0 36px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
    content: "";
    position: absolute;
    display: block;
}

.mwform-checkbox-field-text::before {
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 2px;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
    border-width: 3px;
    border-color: transparent transparent #f18800 #f18800;
    border-style: solid;
    width: 20px;
    height: 10px;
    margin-top: -0.2em;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(-45deg);
    opacity: 0;
}

input[type=checkbox]:checked+.mwform-checkbox-field-text::after {
    opacity: 1;
}

.mw_wp_form .horizontal-item {
    margin-right: 10px;
    margin-bottom: 10px;
    display: inline-block;
}

.mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0 !important;
}

.common-contactform table .sub_text {
    font-size: 12px;
    letter-spacing: 0.05em;
    margin-top: 5px;
}

.common-contactform table .date_select_block .date_select_box {
    flex-wrap: nowrap;
    align-items: center;
}

.common-contactform table .date_select_block .date_select_box+.date_select_box {
    margin-top: 15px;
}

.common-contactform table .date_select_block .date_select_box .label {
    font-size: 15px;
    flex-shrink: 0;
    letter-spacing: 0.06em;
    margin-right: 20px;
}

.common-contactform table .date_select_block .date_select_box .date_box {
    width: 86%;
}

#page_contact .privacy_box {
    width: 70%;
    margin: 0 auto 50px;
}

#page_contact .privacy_box .title {
    font-size: 18px;
    letter-spacing: .05em;
    font-weight: 700;
    margin-bottom: 10px;
    text-align: center;
}

#page_contact .privacy_box .content {
    height: 300px;
    overflow: scroll;
    border: 1px solid #ccc;
    padding: 1.5em;
}

#page_contact .privacy_box .content .box {
    font-size: 14px;
    line-height: 1.8;
}

#page_contact .privacy_box .content li+li {
    margin-top: 30px;
}

#page_contact .privacy_box .content li .text {
    letter-spacing: .05em;
    font-size: 14px;
}

#page_contact .privacy_box .content li .text+.text {
    margin-top: 15px;
}

/* サンクスページ */
#page_contact .thanks_textArea {
    text-align: center;
}

#page_contact .thanks_textArea p {
    font-size: 16px;
    line-height: 2;
}

#page_contact .thanks_textArea .contact_text {
    margin-bottom: 20px;
}

#page_contact .thanks_textArea .ichiran_link {
    background-color: #00ae91;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 300px;
    line-height: 50px;
    border-radius: 50px;
    font-size: 15px;
    transition: 0.3s;
    margin: 0 auto;
    text-decoration: none;
    transition: 0.3s;
}

#page_contact .thanks_textArea .ichiran_link:hover {
    opacity: 0.7;
}

/* ステップバー デザイン */
#page_contact .progressbar {
    margin-bottom: 30px;
}

#page_contact .progressbar .item {
    position: relative;
    width: 33%;
    text-align: center;
    position: relative;
    align-items: center;
    justify-content: center;
    padding: 13px 0;
    line-height: 1.5;
    background: #f5f5f5;
    color: #999999;
}

#page_contact .progressbar .item:not(:last-child)::before,
#page_contact .progressbar .item:not(:last-child)::after {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 100%;
    content: "";
    border: 37px solid transparent;
    border-left: 20px solid #f5f5f5;
    margin: auto;
}

#page_contact .progressbar .item:not(:last-child)::before {
    margin-left: 1px;
    border-left-color: #fff;
}

/* active */
#page_contact .progressbar .item.active {
    z-index: 1;
    background: #00ae91;
    color: #fff;
}

#page_contact .progressbar .item.active:not(:last-child)::after {
    border-left-color: #00ae91;
}

#page_contact .progressbar .item.active:not(:last-child)::before {
    border-left: none;
}

/* PC固定ページ 個人情報保護方針 */
.privacy_page .main_text {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 3em;
}

.privacy_page .box {
    font-size: 14px;
    line-height: 2.2;
}

.privacy_page dl {
    margin-bottom: 30px;
}

.privacy_page dl:last-child {
    margin-bottom: 0;
}

.privacy_page dl dt {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 0.5em;
    border-left: 5px solid #00ae91;
    padding-left: 1em;
}

.privacy_page dl dd {
    font-size: 14px;
    line-height: 2;
}

/* PC固定ページ 404ページ */
#page-404 {
    text-align: center;
}

#page-404 .num {
    font-size: 100px;
    font-family: "Montserrat", "Noto Sans JP", sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#page-404 .text {
    margin-bottom: 1em;
    font-size: 16px;
}

#page_company .company_access .common_title_area {
    text-align: center;
    margin-bottom: 1vw;
}

#page_company .company_access .common_title_area .ttl {
    font-weight: 600;
}

.page_cmn_university .university_text_box {
    background-color: #f2f1ed;
    width: 100%;
    padding: 3vw 1vw;
    text-align: center;
}

.page_cmn_university .university_text_box .theme {
    color: #00ae91;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.8;
    font-size: 1.5vw;
}

.page_cmn_university .university_text_box .text {
    margin-top: 1vw;
    font-size: 1.2vw;
    letter-spacing: 0.08em;
    font-weight: 400;
    line-height: 1.7;
}

.page_cmn_university .cmn_contact_btn {
    margin: 3vw auto 0;
}

#page_school .school_box .box_ttl {
    font-size: 1.7vw;
    font-weight: 600;
    border-left: 5px solid #00ae91;
    padding-left: 0.8vw;
    line-height: 1.2;
}

#page_school .school_box ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    gap: 1.1vw 1.2vw;
    margin-top: 1.8vw;
}

#page_school .school_box ul li {
    height: 8vw;
}

#page_school .school_box ul li .link {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    font-size: 1.2vw;
    text-align: center;
    line-height: 1.6;
    color: #333333;
    font-weight: 600;
    letter-spacing: 0.08em;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    background-color: #fff;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    transition: 0.4s;
    z-index: 1;
}

#page_school .school_box ul li .link::before,
#page_school .school_box ul li .link::after {
    content: "";
    position: absolute;
}

#page_school .school_box ul li .link::before {
    width: 0.8vw;
    height: 0.8vw;
    border-top: 2.5px solid #333;
    border-right: 2.5px solid #333;
    transform: rotate(45deg);
    top: 3.6vw;
    right: 1vw;
    transition: 0.4s;
}

#page_school .school_box ul li .link::after {
    width: 5vw;
    height: 5vw;
    top: -3.2vw;
    left: -3.2vw;
    border-radius: 50%;
    background-color: #00ae91;
    transition: 0.4s;
    z-index: -1;
}

#page_school .school_box ul li .link:hover {
    color: #fff;
}

#page_school .school_box ul li .link:hover::before {
    border-top: 2.5px solid #fff;
    border-right: 2.5px solid #fff;
}

#page_school .school_box ul li .link:hover::after {
    width: 30vw;
    height: 30vw;
    top: -8vw;
    left: -8vw;
}

#page_school .school_box+.school_box {
    margin-top: 3vw;
}

.single_university_top_banner_list {
    padding: 40px;
    background-color: #faf8f2;
    border-radius: 8px;
    margin-bottom: 80px;
}

.single_university_top_banner_list ul li {
    width: 23%;
    aspect-ratio: 1/1;
}

.single_university_top_banner_list.column_5 ul li {
    width: 18%;
}

.single_university_top_banner_list ul li:nth-child(2) {
    animation-delay: .1s;
}

.single_university_top_banner_list ul li:nth-child(3) {
    animation-delay: .2s;
}

.single_university_top_banner_list ul li:nth-child(4) {
    animation-delay: .3s;
}

.single_university_top_banner_list ul li:nth-child(5) {
    animation-delay: .4s;
}

.single_university_top_banner_list ul .img {
    line-height: 1;
}

.single_university_top_banner_list ul .img img {
    width: 100%;
}

.single_university_top_banner_list ul li .inner {
    height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
    text-align: center;
    border-radius: 8px;
    border: 3px solid #04ba9c;
}

.single_university_top_banner_list ul li .inner .icon {
    width: 30px;
    margin: 0 auto 10px;
    line-height: 1;
}

.single_university_top_banner_list.column_5 ul li .inner .icon {
    width: 25px;
    margin: 0 auto 8px;
}

.single_university_top_banner_list ul li .inner .icon img {
    width: 100%;
}

.single_university_top_banner_list ul li .inner .text {
    font-size: 21px;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 1.5;
}

.single_university_top_banner_list.column_5 ul li .inner .text {
    font-size: 18px;
}

.single_university_top_banner_list ul li .inner .text .big {
    font-size: 28px;
    color: #00ae91;
}

.single_university_top_banner_list.column_5 ul li .inner .text .big {
    font-size: 23px;
}


.single_university_title_box {
    position: relative;
    z-index: 0;
    padding: 3.2vw 0;
    overflow: hidden;
}

.single_university_title_box::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(/wp-content/themes/child/image/single_university_title_bg.jpg);
    z-index: -100;
    opacity: 0.2;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.single_university_img_box {
    position: absolute;
    /* top: 50%; */
    right: 100px;
    z-index: -50;
    height: 100%;
    /* translate: 0 -50%; */
    bottom: 0vw;
    aspect-ratio: 1.32 / 1;
}

.single_university_img_box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.single_university_title_text_box {
    transform: skew(0deg, -3deg);
    translate: 0 -1.5vw;
}

.single_university_title_text_box .fukidashi_box .text {
    background-color: #04ba9c;
    width: fit-content;
    color: #fff;
    font-size: 1.8vw;
    font-weight: bold;
    letter-spacing: 0.04em;
    padding: 10px 30px 10px 100px;
}

.single_university_title_text_box .title_box .sub_title {
    font-size: 1.9vw;
    font-weight: bold;
    letter-spacing: 0.04em;
    background-color: #e14d64;
    color: #fff;
    width: fit-content;
    padding: 9px 30px 7px 100px;
    margin-bottom: 0.8vw;
}

.single_university_title_text_box .fukidashi_box {
    margin-bottom: 0.6vw;
}

.single_university_title_text_box .title_box .title {
    font-size: 3.6vw;
    font-weight: bold;
    letter-spacing: 0.07em;
    line-height: 1.2;
    padding: 0 0 0 100px;
}

.single_university_title_text_box .title_box .title .big {
    font-size: 1.8em;
    display: inline-block;
    background-image: linear-gradient(0deg, #f3c249 2vw, transparent 2.2vw);
    position: relative;
}

.single_university_title_text_box .title_box .title .big .small {
    font-size: 34%;
    position: absolute;
    top: -1em;
    right: 0;
    display: inline-block;
}

.postid-893 .single_university_title_text_box .title_box .sub_title {
    margin-bottom: 2.4vw;
}

.postid-893 .single_university_img_box {
    height: 95%;
}

.single_university_title_scroll_box {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 100;
    background-color: #e3141e;
}

.single_university_title_scroll_box a {
    color: #fff;
    display: flex;
    align-items: center;
    column-gap: 10px;
    padding: 8px 20px;
}

.single_university_title_scroll_box .text {
    font-size: 1.6vw;
    font-weight: bold;
    letter-spacing: 0.04em;
}

.single_university_title_scroll_box .arrow {
    display: flex;
    width: 20px;
    height: 20px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    translate: 0 -3px;
}

.single_university_title_scroll_box .arrow .arrow_item {
    display: block;
    width: 10px;
    height: 10px;
    border-bottom: 2px solid currentColor;
    border-left: 2px solid currentColor;
    rotate: -45deg;
    flex-shrink: 0;
    opacity: 0;
    animation-name: flashArrow;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}

@keyframes flashArrow {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.single_university_title_scroll_box .arrow>*+* {
    margin-top: -2px;
}

.single_university_h2_box {
    display: grid;
    grid-template-columns: 52px 1fr;
    align-items: center;
    column-gap: 14px;
    width: fit-content;
    margin: 0 auto;
}

.single_university_h2_box .title {
    font-size: 1.8vw;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 1;
}

.single_university_h2_box .en {
    font-weight: bold;
    letter-spacing: 0.06em;
    color: #c5c5c5;
    font-size: 13px;
    margin-top: 6px;
}

.single_university_h2_box .title .color {
    color: #04ba9c;
    font-size: 1.2em;
    margin-right: 3px;
    background-image: linear-gradient(0deg, #f3c249 8px, transparent 8px);
    padding: 0 4px 2px;
}

.single_university_search_campus_container {
    width: 60vw;
    margin: 40px auto 0;
}

.single_university_search_campus_item {
    background-color: #faf8f2;
    display: grid;
    grid-template-columns: 30% 1fr;
    column-gap: 40px;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
    align-items: center;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(249, 249, 249, 1) 10px, rgba(249, 249, 249, 1) 20px);
}

.single_university_search_campus_container>*+* {
    margin-top: 20px;
}

.single_university_search_campus_item .img {
    overflow: hidden;
    border-radius: 6px;
    aspect-ratio: 4 / 3;
    background-color: #fff;
    border: 3px solid #04ba9c;
}

.single_university_search_campus_item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single_university_search_campus_item .station_box {
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: flex-end;
    font-size: 15px;
    font-weight: bold;
}

.single_university_search_campus_item .station_box .label {
    flex-shrink: 0;
    margin-right: 10px;
    letter-spacing: 0.05em;
}

.single_university_search_campus_item .title {
    font-weight: bold;
    letter-spacing: 0.04em;
    font-size: 23px;
    border-left: 4px solid #04ba9c;
    padding: 0 0 0 14px;
}

.single_university_search_campus_item .link_box>ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 20px;
}

.single_university_search_campus_item .link_box>ul>li a {
    display: flex;
    text-align: center;
    background-color: #fff;
    border: 3px solid #04ba9c;
    border-radius: 6px;
    color: #000;
    font-weight: bold;
    letter-spacing: 0.04em;
    padding: 8px 0;
    justify-content: center;
    align-items: baseline;
}

.single_university_search_campus_item .link_box {
    margin-top: 22px;
}

.single_university_search_campus_item .link_box>ul>li a::after {
    content: '';
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    rotate: 45deg;
    margin-left: 12px;
}

.single_university_search_campus_item .link_box>ul>li a .color {
    color: #04ba9c;
    font-size: 1.1em;
    margin-right: 3px;
}

.single_university_search_campus .waseda_campus_list {
    margin-top: 60px;
    margin-bottom: 70px;
}

.single_university_search_campus .waseda_campus_list ul li {
    width: 23.5%;
    flex-direction: column;
    flex-wrap: nowrap;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #ccc;
}

.single_university_search_campus .waseda_campus_list ul li .name_box {
    padding: 15px 0;
    border-bottom: 1px solid #ccc;
    background-color: #fafafa;
    text-align: center;
}

.single_university_search_campus .waseda_campus_list ul li .name_box .name {
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0.08em;
    line-height: 1;
}

.single_university_search_campus .waseda_campus_list ul li .course_box {
    padding: 20px 20px;
    gap: 6px 20px;
}

.single_university_search_campus .waseda_campus_list ul li .course_box .course_text {
    display: flex;
    align-items: center;
    font-size: 14px;
    letter-spacing: 0.05em;
}

.single_university_search_campus .waseda_campus_list ul li .course_box .course_text::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 5px;
    background-color: currentColor;
}

.single_university_top_tokyo_map_block {
    padding: 50px 0;
    background-color: #f6f0cf;
}

.single_university_top_tokyo_map_block .img {
    width: 100%;
    line-height: 1;
}

.single_university_top_tokyo_map_block .img+.img {
    margin-top: 50px;
}

.single_university_top_tokyo_map_block .img.width {
    margin: 0 auto;
    width: 65%;
}

.single_university_top_tokyo_map_block .img img {
    width: 100%;
}

.single_university_top_tokyo_map_block .text_cont {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    padding: 15px;
    background-color: #fff;
    border-radius: 8px 0 0 0;
}

.single_university_top_tokyo_map_block_note {
    margin: 10px 0 100px;
    letter-spacing: .05em;
    font-size: 14px;
}

.single_university_top_tokyo_map_block .text_cont .ttl_box {
    background-color: #dc8c9d;
    padding: 13px 20px;
    margin-bottom: 20px;
}

.single_university_top_tokyo_map_block .text_cont .ttl_box .ttl {
    font-size: 16px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.08em;
}

.single_university_top_tokyo_map_block .text_cont .cont .data_cont {
    flex-wrap: nowrap;
    margin-bottom: 15px;
}

.single_university_top_tokyo_map_block .text_cont .cont .data_cont .line_box {
    flex-shrink: 0;
    width: 47%;
    margin-right: 2%;
}

.single_university_top_tokyo_map_block .text_cont .cont .data_cont .label {
    padding-left: 13px;
    border-left: 2px solid #dc8c9d;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 8px;
}

.single_university_top_tokyo_map_block .text_cont .cont .data_cont .line_box .graph {
    width: 100%;
    line-height: 1;
}

.single_university_top_tokyo_map_block .text_cont .cont .data_cont .line_box .graph img {
    width: 100%;
}

.single_university_top_tokyo_map_block .text_cont .cont .data_cont .station_box {
    width: 100%;
}

.single_university_top_tokyo_map_block .text_cont .cont .data_cont .station_box .graph {
    width: 100%;
    line-height: 1;
    margin-bottom: 5px;
}

.single_university_top_tokyo_map_block .text_cont .cont .data_cont .station_box .graph img {
    width: 100%;
}

.single_university_top_tokyo_map_block .text_cont .cont .data_cont .station_box .add_text {
    font-size: 10px;
    letter-spacing: 0.05em;
    line-height: 1.4;
    flex-wrap: nowrap;
    align-items: baseline;
}

.single_university_top_tokyo_map_block .text_cont .cont .data_cont .station_box .add_text::before {
    content: "※";
    display: block;
    font-size: 10px;
    flex-shrink: 0;
    margin-right: 2px;
}

.single_university_top_tokyo_map_block .text_cont .cont .last_text_box {
    padding: 13px 5%;
    border: 2px solid #dc8c9d;
    border-radius: 8px;
    text-align: center;
}

.single_university_top_tokyo_map_block .text_cont .cont .last_text_box .text {
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.5;
    color: #dc8c9d;
}

.single_university_search_map {
    margin-top: 75px;
}

.single_university_map_container .map {
    width: 60vw;
    margin: 0 auto 0;
    border: 3px solid #04ba9c;
    border-radius: 10px;
    position: relative;
    z-index: 0;
}

.single_university_map_container {
    margin-top: 40px;
}

.single_university_map_container .map img {
    width: 100%;
}

.single_university_waseda_map_block {
    margin-top: 3vw;
}

.single_university_waseda_map_block .cont .img {
    width: 60vw;
    margin: 0 auto;
    line-height: 1;
}

.single_university_waseda_map_block .cont .img+.img {
    margin-top: -5vw;
}

.single_university_waseda_map_block .cont .img img {
    width: 100%;
}

.map_flag {
    position: absolute;
    z-index: 100;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: fit-content;
    margin: auto;
    height: fit-content;
}

/* マップの一つひとつの位置 */
.map_flag.the_university_tokyo_komaba {
    top: 16vw;
    left: -15.5vw;
}

.map_flag.the_university_tokyo_hongo {
    top: -18vw;
    left: 3vw;
}

.map_flag.waseda_university_tokorozawa_campus {
    top: -31vw;
    left: -40.2vw;
}

.map_flag.waseda_university_higashifushimi_campus {
    top: 5vw;
    left: -19vw;
}

.map_flag.waseda_university_nishiwaseda_campus {
    top: 19vw;
    left: 28vw;
}

.map_flag.waseda_university_toyama_campus {
    left: 28vw;
    top: 11vw;
}

.map_flag.waseda_university_waseda_campus {
    left: 28vw;
    top: 3vw;
}

.map_flag.sophia_university_yotsuya_campus {
    top: -9vw;
    left: 18vw;
}

.map_flag.keio_university_sanda_campus {
    top: 6vw;
    left: 22vw;
}

.map_flag.keio_university_hiyoshi_campus {
    bottom: -38vw;
    right: 8vw;
}

.map_flag.keio_university_yagami_campus {
    bottom: -29vw;
    right: 12vw;
}

.map_flag.keio_university_shinano_campus {
    top: -9vw;
    left: 12vw;
}

.map_flag.keio_university_shiba_campus {
    top: -2vw;
    left: 24vw;
}

.map_flag.tokyo_university_of_Science_kagurazaka_campus {
    top: -10vw;
    left: 15vw;
}

.map_flag.meiji_university_surugadai_campus {
    top: -14vw;
    left: 24vw;
}

.map_flag.meiji_university_nakano_campus {
    top: -15vw;
    left: -1vw;
}

.map_flag.meiji_university_izumi_campus {
    top: -7vw;
    left: -4vw;
}

.map_flag.aoyama_gakuin_university_kagurazaka_campus {
    top: -1vw;
    left: 13vw;
}

.map_flag.rikkyo_university_ikebukuro_campus {
    top: -25vw;
    left: 11vw;
}

.map_flag.chuo_university_kourakuen_campus {
    top: -17vw;
    left: 22vw;
}

.map_flag.chuo_university_ichigaya_campus {
    top: -10vw;
    left: 13vw;
}

.map_flag.chuo_university_myogadani_campus {
    top: -25vw;
    left: 13vw;
}

.map_flag.hosei_university_tama_campus {
    top: 9vw;
    left: -29vw;
}

.map_flag.hosei_university_ichigaya_campus {
    top: -5vw;
    left: 45vw;
}

.map_flag.hosei_university_koganei_campus {
    top: -13vw;
    left: 1vw;
}

.map_flag.nihon_university_college_of_law {
    left: 24vw;
    top: -25vw;
}

.map_flag.nihon_university_college_of_humanities_and_sciences {
    top: -1vw;
    left: -9vw;
}

.map_flag.nihon_university_economics {
    top: -18vw;
    left: 24vw;
}

.map_flag.nihon_university_college_of_commerce {
    top: 20vw;
    left: -9vw;
}

.map_flag.nihon_university_college_of_art {
    left: -10vw;
    top: -29vw;
}

.map_flag.nihon_university_college_of_risk_management {
    top: 13vw;
    left: -9vw;
}

.map_flag.nihon_university_college_of_sports_sciences {
    top: 6vw;
    left: -9vw;
}

.map_flag.nihon_university_science_and_technology {
    top: -11vw;
    left: 24vw;
}

.map_flag.nihon_university_schoolof_medicine {
    top: -32vw;
    left: 8vw;
}

.map_flag.nihon_university_dentistry {
    top: -4vw;
    left: 24vw;
}

.map_flag.toyo_university_akabanedai_campus {
    top: -35vw;
    left: 18vw;
}

.map_flag.toyo_university_hakusan_campus {
    top: -22vw;
    left: 21vw;
}

.map_flag.komazawa_university_komazawa_campus {
    top: 4vw;
    left: -11vw;
}

.map_flag.senshu_university_kanda_campus {
    top: -12vw;
    left: 24vw;
}

.map_flag.daito_bunka_university_itabashi {
    top: 10vw;
    left: 17vw;
}

.map_flag.j_f_oberlin_university_sinjuku_campus {
    top: -16vw;
    left: 11vw;
}

.map_flag.ochanomizu_university {
    top: -23vw;
    left: 21vw;
}

.map_flag.kogakuin_university {
    top: -16vw;
    left: 11vw;
}

.map_flag.shukutoku_university_tokyo_campus {
    top: 27%;
    left: 35%;
}

.map_flag.shukutoku_university_saitama_campus {
    top: 1%;
    left: -8%;
}

.map_flag.chiba_university_of_commerce {
    top: -20vw;
    left: 47vw;
}

.map_flag.tsuda_university_kodaira_campus {
    top: -14vw;
    left: -29vw;
}

.map_flag.tsuda_university_sendagaya_campus {
    top: 4vw;
    left: 27vw;
}

.map_flag.tokyo_metropolitan_university_hino_campus {
    top: 0vw;
    left: -25vw;
}

.map_flag.tokyo_metropolitan_university_arakawa_campus {
    top: -21vw;
    left: 46vw;
}

.map_flag.tokyo_metropolitan_university_minamiosawa_campus {
    top: 7vw;
    left: -39vw;
}

.map_flag.tokyo_university_of_marine_science_and_technology_etchuujima_campus {
    top: -6vw;
    left: 45vw;
}

.map_flag.tokyo_university_of_marine_science_and_technology_shinagawa_campus {
    top: 13vw;
    left: 25vw;
}

.map_flag.tokyo_university_of_the_arts_senju_campus {
    top: -24vw;
    left: 24vw;
}

.map_flag.tokyo_university_of_the_arts_ueno_campus {
    top: -32vw;
    left: 24vw;
}

.map_flag.tokyo_institute_of_technology_ookayama_campus {
    top: 19vw;
    left: 5vw;
}

.map_flag.tokyo_polytechnic_university_nakano_campus {
    top: -18vw;
    left: -4vw;
}

.map_flag.tokyo_university_of_agriculture_and_technology_hutyu_campus {
    top: 4vw;
}

.map_flag.tokyo_university_of_agriculture_and_technology_koganei_campus {
    top: -9vw;
    left: 3vw;
}

.map_flag.toho_university_omori_campus {
    top: 30vw;
}

.map_flag.toho_university_narashino_campus {
    top: -2vw;
    left: 44vw;
}

.map_flag.japan_college_of_social_work {
    top: -23vw;
    left: -11vw;
}

.map_flag.japan_womens_university_mejiro_campus {
    top: -6vw;
    left: 27vw;
}

.map_flag.japanese_red_cross_college_of_nursing_omiya_campus {
    top: 2vw;
    left: 5vw;
}

.map_flag.japanese_red_cross_college_of_nursing_hiro_campus {
    top: 9vw;
    left: 5vw;
}

.map_flag.hoshi_university {
    top: 11vw;
    left: 5vw;
}

.map_flag.musashi_university_egota_campus {
    top: -28vw;
    left: -14vw;
}

.map_flag.meiji_pharmaceutical_university {
    top: -26vw;
    left: -7vw;
}

.map_flag.wako_university {
    top: 18vw;
    left: -11vw;
}

.map_flag.saitama_university {
    top: -24vw;
    left: -9vw;
}

.map_flag.sinjuku_college_of_medical {
    top: -5vw;
}

.map_flag.sinjuku_japanese_language_school {
    top: -5vw;
}

.map_flag.ecc_japanese_language_school {
    top: -5vw;
}

.map_flag.takabi {
    top: -5vw;
}

.map_flag.japan_welfare_education_college {
    top: -5vw;
}

.map_flag.japan_juvenile_education_college {
    top: -5vw;
}

.map_flag.akabori_confectionery_vocational_school {
    top: -16.5vw;
}

.map_flag.takara_beauty_college {
    top: 9vw;
    left: 7.3vw;
}

.map_flag.the_belle_epoque_beauty_school_tokyo {
    top: -5vw;
    left: 44vw;
}

.map_flag.the_belle_epoque_beauty_school_harajuku {
    top: 4vw;
    left: -5.5vw;
}

.map_flag.bangtan_group_creator_academy a,
.map_flag.bangtan_group_kadokawa_anime a,
.map_flag.bangtan_group_kadokawa_manga a,
.map_flag.bangtan_group_design_laboratory a,
.map_flag.bangtan_group_game_academy a,
.map_flag.bangtan_group_lecole a,
.map_flag.bangtan_group_venus_academy a,
.map_flag.bangtan_group_kadokawa_dowango a {
    font-size: 0.8vw;
    padding: 0.5vw 1vw;
}

.map_flag.bangtan_group_creator_academy {
    top: 37vw;
    left: 2vw;
}

.map_flag.bangtan_group_design_laboratory {
    top: -9vw;
    left: 1vw;
}

.map_flag.bangtan_group_game_academy {
    top: 18vw;
    left: -2vw;
}

.map_flag.bangtan_group_lecole {
    top: -3vw;
    left: -1vw;
}

.map_flag.bangtan_group_venus_academy {
    top: 11vw;
    left: 1vw;
}

.map_flag.bangtan_group_kadokawa_dowango {
    top: 4vw;
    left: 2vw;
}

.map_flag.bangtan_group_kadokawa_anime {
    top: 25vw;
    left: -1vw;
}

.map_flag.bangtan_group_kadokawa_manga {
    top: 31vw;
    left: 1vw;
}

.map_flag.science_tokyo_yushima_campus {
    top: -17vw;
    left: 26vw;
}

.map_flag.daito_bunka_university_higashimatsuyama {
    top: -28vw;
    left: -19vw;
}

/* マップの一つひとつの位置 ここまで */

.map_flag a {
    display: flex;
    color: #fff;
    background-color: #04ba9c;
    border: 0.2vw solid currentColor;
    padding: 0.8vw 1.5vw;
    font-weight: bold;
    letter-spacing: 0.06em;
    font-size: 1.2VW;
    position: relative;
    z-index: 0;
    border-radius: 0.6VW;
    align-items: center;
    column-gap: 0.5VW;
    transition-duration: .3s;
}

.map_flag a::before {
    content: '';
    position: absolute;
    bottom: -0.6VW;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 1vw solid transparent;
    border-left: 1vw solid currentColor;
    rotate: -45deg;
}

.map_flag a::after {
    content: '';
    width: 0.5em;
    height: 0.5em;
    border-top: 0.2vw solid currentColor;
    border-right: 0.2vw solid currentColor;
    rotate: 45deg;
    flex-shrink: 0;
}

.map_flag a:hover {
    background-color: #fff;
    color: #04ba9c;
}

.university_archive_page .block+.block {
    margin-top: 50px;
}

.university_archive_page .block .label {
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 20px;
}

.university_archive_page .block .list ul::before {
    content: "";
    display: block;
    width: 24%;
    order: 1;
}

.university_archive_page .block .list ul::after {
    content: "";
    display: block;
    width: 24%;
}

.university_archive_page .block .list ul {
    gap: 20px 0;
}

.university_archive_page .block .list ul li {
    width: 24%;
}

.university_archive_page .block .list ul li a {
    width: 100%;
    align-items: center;
    flex-wrap: nowrap;
    padding: 10px 20px;
    border-left: 5px solid #04ba9c;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
    color: #000;
    transition: .3s;
    border-radius: 5px;
}

.university_archive_page .block .list ul li a:hover {
    background-color: #04ba9c;
    color: #fff;
}

.university_archive_page .block .list ul li a .img {
    flex-shrink: 0;
    margin-right: 12px;
    width: 70px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #eee;
}

.university_archive_page .block .list ul li a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.university_archive_page .block .list ul li a .text_box {
    width: 100%;
}

.university_archive_page .block .list ul li a .text_box .name {
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0.05em;
}

/* キャンペーンテキスト */
.common_campaign_box {
    border: solid 3px #e14d64;
    border-radius: 10px;
    width: 60%;
    margin: 0 auto 30px;
    min-width: 680px;
}

.common_campaign_box .campaign_text {
    font-size: 35px;
    font-weight: 700;
    letter-spacing: .05em;
    color: #e14d64;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 15px;
    padding: 5px;
}

.common_campaign_box .campaign_text::before,
.common_campaign_box .campaign_text::after {
    content: "";
    display: block;
    width: 15px;
    aspect-ratio: 1/1;
    background-color: #04ba9c;
    flex-shrink: 0;
    min-width: 0;
    rotate: 45deg;
}

@media (max-width: 750px) {
    .common-page_main {
        padding: 8vw 0 10vw;
    }

    .common-page_main::before {
        background: rgba(0, 0, 0, 0.4);
    }

    .common-page_main .title_box {
        text-align: center;
    }

    .common-page_main .title_box .title {
        font-size: 5vw;
    }

    .common-page_main .title_box .sub_title {
        font-size: 4vw;
        margin-top: 0.5vw;
    }

    /* パンくず */
    .breadcrumb {
        font-size: 3vw;
        margin-top: 2vw;
    }

    #page_flow .flow_theme {
        font-size: 3.4vw;
    }

    #page_flow .flow_sec_box {
        margin-top: 6.5vw;
    }

    #page_flow .flow_sec_box .flow_box .img_box {
        padding: 0 10vw;
        flex-wrap: wrap;
        flex-direction: column-reverse;
        align-items: unset;
    }

    #page_flow .flow_sec_box .flow_box .img_box .img {
        width: 100%;
        height: 40vw;
    }

    #page_flow .flow_sec_box .flow_box .img_box .ttl {
        font-size: 4.8vw;
        margin-top: 4.5vw;
        padding: 0;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box {
        margin-top: 2.8vw;
        padding: 4vw 5vw;
        box-shadow: unset;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box::after {
        border-color: #00ae91 transparent transparent transparent;
        filter: unset;
        opacity: 0.6;
        top: -7vw;
    }

    #page_flow .flow_link_box {
        margin-top: 6vw;
    }

    #page_flow .flow_link_box ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 1vw;
    }

    #page_flow .flow_link_box ul li {
        height: 18vw;
    }

    #page_flow .flow_link_box ul li .link {
        font-size: 3.4vw;
    }

    #page_flow .flow_link_box ul li .link::before {
        width: 2.5vw;
        height: 2.5vw;
        border-left: 1px solid #333;
        border-bottom: 1px solid #333;
        right: 2vw;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box .theme {
        font-size: 3.8vw;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box .theme .number {
        font-size: 9vw;
        padding-right: 2.5vw;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box .box {
        margin-top: 1vw;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box .box .text {
        font-size: 3.3vw;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box .box .text+.text {
        margin-top: 2vw;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box .box .top_text {
        margin-top: 3.5vw;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box .box .text_list_box {
        margin-top: 1.5vw;
        padding: 3vw 1vw;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box .box .text_list_box .list_text {
        font-size: 3.4vw;
        font-weight: 600;
        padding-left: 4.3vw;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box .box .text_list_box .list_text::before {
        width: 3vw;
        height: 3vw;
        left: 0vw;
        top: 0.5vw;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box .box .text_list_box .list_small_text {
        font-size: 3vw;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box+.flow_text_box {
        margin-top: 11vw;
    }

    #page_flow .flow_sec_box .flow_box {
        margin-top: 10vw;
    }

    #page_flow .flow_sec_box .flow_box .flow_text_box .box .text_list_box .list_text+.list_text {
        margin-top: 1vw;
    }

    .cmn_page_section .top_text_box .top_text {
        font-size: 3.4vw;
    }

    .cmn_page_section .content {
        background: #fff;
        padding: 0;
        margin-top: 10vw;
    }

    .cmn_page_section .content ul li .common_title_box {
        margin-bottom: 0vw;
        line-height: 1;
    }

    .cmn_page_section .content ul li .common_title_box .title {
        font-size: 3.8vw;
        font-weight: 600;
    }

    .cmn_page_section .content ul li .common_title_box .title .number {
        font-size: 10vw;
        padding-right: 2vw;
    }

    .cmn_page_section .content ul li .text {
        font-size: 3.4vw;
        line-height: 1.6;
    }

    .cmn_page_section .content ul li .text+.text {
        margin-top: 2vw;
    }

    .cmn_page_section .content ul li+li {
        margin-top: 4vw;
    }

    .cmn_page_section .content ul li {
        padding: 2.5vw 4vw;
    }

    #page_check_moving .content .cmn_content_ttl_box {
        margin-bottom: 3vw;
    }

    #page_check_moving .content .cmn_content_ttl_box .img {
        width: 40vw;
        height: 28vw;
        margin-right: 5vw;
    }

    #page_check_moving .content .cmn_content_ttl_box .title {
        font-size: 4.5vw;
        background-size: 6vw;
        padding-left: 8.5vw;
        padding-top: 1vw;
    }

    #page_check_moving .content .cmn_content_ttl_box {
        text-align: unset;
    }

    #glossary_top_sec {
        margin-bottom: 70px;
    }

    #glossary_top_sec .top_text {
        margin-bottom: 20px;
    }

    #glossary_top_sec .top_text .text {
        font-size: 4vw;
        letter-spacing: 0.05em;
        padding-bottom: 10px;
    }

    #glossary_top_sec .cont {
        display: block;
    }

    #glossary_top_sec .cont .block {
        width: 100%;
    }

    #glossary_top_sec .cont .block .item {
        padding: 0;
        margin-bottom: 15px;
    }

    #glossary_top_sec .cont .block .item+.item {
        margin-top: 0px;
    }

    #glossary_top_sec .cont .block .item .label {
        font-size: 4vw;
    }

    #glossary_top_sec .cont .block .item a {
        padding: 8px 8px;
        margin-left: 5vw;
        box-shadow: 2px 2px 2px #c9c1c1;
        font-size: 4vw;
    }

    #glossary_top_sec .cont .block .item a:hover {
        box-shadow: 2px 2px 2px #c9c1c1;
    }

    #glossary_info_sec .cont .block+.block {
        margin-top: 30px;
    }

    #glossary_info_sec .cont .block .ttl {
        padding: 10px 3.5vw;
        font-size: 4vw;
        margin-bottom: 18px;
    }

    #glossary_info_sec .cont .block .ttl::before {
        width: 3.5vw;
    }

    #glossary_info_sec .cont .block .box+.box {
        margin-top: 15px;
    }

    #glossary_info_sec .cont .block .box .name {
        font-size: 3.8vw;
        margin-bottom: 5px;
    }

    #glossary_info_sec .cont .block .box .text {
        font-size: 3.5vw;
    }

    /* SP固定ページ 会社概要 */
    .company_profile {
        margin-bottom: 20vw;
    }

    .company_profile table th,
    .company_profile table td {
        font-size: 3.2vw;
        width: 100%;
        display: block;
    }

    .company_profile table {
        border-top: 1px solid;
    }

    .company_profile table th {
        width: 100%;
        background-color: #f2f2f2;
    }

    .company_profile table td {
        width: 100%;
    }

    .company_access .map {
        height: 50vw;
    }

    /* SP固定ページ お問い合わせ */
    #page_contact table {
        margin-bottom: 10vw;
    }

    #page_contact table th,
    #page_contact table td {
        font-size: 4vw;
        display: block;
    }

    #page_contact table th {
        width: 100%;
        text-align: left;
        padding: 0 0 .8em;
    }

    #page_contact table td {
        width: 100%;
        padding: 0 0 2em;
    }

    #page_contact input[type=text],
    #page_contact input[type=email],
    #page_contact #zip {
        width: 100%;
        height: 12vw;
    }

    #page_contact input.tel {
        width: 30%;
    }

    #page_contact select {
        width: 100%;
    }

    #page_contact textarea {
        width: 100%;
        height: 60vw;
    }

    #page_contact #btn_wrap button {
        width: 80%;
        line-height: 12vw;
        border-radius: 12vw;
        font-size: 4vw;
    }

    #page_contact #btn_wrap button[name=submitBack] {
        margin-left: 0;
        margin-top: 4vw;
    }

    .mwform-checkbox-field.horizontal-item {
        display: block;
    }

    .mw_wp_form .horizontal-item+.horizontal-item {
        margin-left: 0;
        margin-top: 2vw;
    }

    #page_contact .attention {
        font-size: 3vw;
        margin-bottom: 6vw;
    }

    .common-contactform table .date_select_block .date_select_box .label {
        font-size: 3.6vw;
        margin-right: 3.5vw;
    }

    #page_contact .privacy_box {
        width: 100%;
        margin: 0 auto 10vw;
    }

    #page_contact .privacy_box .title {
        font-size: 4vw;
        margin-bottom: 2.5vw;
    }

    #page_contact .privacy_box .content {
        height: 60vw;
    }

    #page_contact .privacy_box .content li+li {
        margin-top: 7vw;
    }

    #page_contact .privacy_box .content li .text {
        font-size: 3.5vw;
        line-height: 1.7;
    }

    #page_contact .privacy_box .content li .text+.text {
        margin-top: 3vw;
    }

    #page_contact .privacy_box .content li .text a {
        word-break: break-all;
    }

    /* サンクスページ */
    #page_contact .thanks_textArea p {
        font-size: 4vw;
    }

    #page_contact .thanks_textArea .contact_text {
        margin-bottom: 2em;
    }

    #page_contact .thanks_textArea .ichiran_link {
        width: 80%;
        line-height: 12vw;
        border-radius: 12vw;
        font-size: 4vw;
    }

    /* ステップバー デザイン */
    #page_contact .progressbar .item {
        font-size: 11px;
        line-height: 1.4;
        padding: 10px 0;
    }

    #page_contact .progressbar .item:not(:last-child)::before,
    #page_contact .progressbar .item:not(:last-child)::after {
        border-width: 25px;
        border-left-width: 12px;
    }

    /* SP固定ページ 個人情報保護方針 */
    .privacy_page .main_text {
        font-size: 3.5vw;
    }

    .privacy_page dl {
        margin-bottom: 10vw;
    }

    .privacy_page dl dt {
        font-size: 4vw;
    }

    .privacy_page dl dd {
        font-size: 3.5vw;
        margin-left: 5vw;
    }

    /* SP固定ページ 404ページ */
    #page-404 .num {
        font-size: 20vw;
        line-height: 1.5;
    }

    #page-404 .text {
        font-size: 3.5vw;
    }

    #page_guardian .guardian_box {
        flex-wrap: wrap;
        align-items: unset;
        flex-direction: column-reverse;
    }

    #page_guardian .guardian_box .text_box {
        padding: 0 5vw;
        margin-top: 3vw;
    }

    #page_guardian .guardian_box .text_box .text {
        font-size: 3.5vw;
    }

    #page_guardian .guardian_box .text_box .text+.text {
        margin-top: 2vw;
    }

    #page_guardian .guardian_box .img {
        width: 100%;
        height: 48vw;
        margin: 0;
    }

    #page_guardian .introduction_box {
        margin-top: 10vw;
    }

    #page_guardian .introduction_box .text_box {
        margin-top: 2.8vw;
    }

    #page_guardian .introduction_box .text_box .text {
        font-size: 3.4vw;
    }

    #page_guardian .introduction_box .text_box .text+.text {
        margin-top: 1.8vw;
    }

    #page_guardian .appearance_box {
        margin-top: 10vw;
    }

    #page_guardian .appearance_box ul {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8vw 0;
        margin-top: 7vw;
    }

    #page_guardian .appearance_box ul li .img {
        height: 44vw;
    }

    #page_guardian .appearance_box ul li .ab_name {
        font-size: 3.8vw;
        width: 50vw;
        line-height: 8vw;
        top: -3.5vw;
    }

    #page_guardian .cmn_sec_box .ttl {
        font-size: 4.8vw;
        border-left: 3.5px solid #00ae91;
        padding-left: 2.4vw;
    }

    #page_guardian .cmn_contact_btn {
        margin: 10vw auto 0;
    }

    .cmn_contact_btn {
        width: 80%;
        height: 14vw;
    }

    .cmn_contact_btn .btn {
        font-size: 3.5vw;
    }

    .cmn_contact_btn .btn::before {
        width: 7vw;
        height: 6.8vw;
        margin-right: 5vw;
    }

    .cmn_contact_btn .btn:hover {
        background-color: #00ae91;
        color: #fff;
        border: 1px solid #fff;
    }

    .cmn_contact_btn .btn:hover::before {
        background-image: url(/wp-content/themes/child/image/icon_mail.png);
    }

    .page_cmn_university .university_text_box {
        padding: 5vw 0.5vw;
    }

    .page_cmn_university .university_text_box .theme {
        font-size: 3.8vw;
        line-height: 1.5;
    }

    .page_cmn_university .university_text_box .text {
        margin-top: 2vw;
        font-size: 3.4vw;
    }

    .page_cmn_university .cmn_contact_btn {
        margin: 6vw auto 0;
    }

    #page_school .school_box .box_ttl {
        font-size: 4.8vw;
        border-left: 3px solid #00ae91;
        padding-left: 2vw;
    }

    #page_school .school_box ul {
        grid-template-columns: 1fr 1fr;
        gap: 3vw 2.5vw;
        margin-top: 4vw;
    }

    #page_school .school_box ul li {
        height: 20vw;
    }

    #page_school .school_box ul li .link {
        font-size: 3.5vw;
        transition: 0s;
    }

    #page_school .school_box ul li .link::before {
        width: 2vw;
        height: 2vw;
        border-top: 1.5px solid #333;
        border-right: 1.5px solid #333;
        top: 8.6vw;
        right: 2vw;
        transition: 0s;
    }

    #page_school .school_box ul li .link::after {
        width: 10vw;
        height: 10vw;
        top: -5.2vw;
        left: -5.2vw;
        transition: 0s;
    }

    #page_school .school_box ul li .link:hover {
        color: #333;
    }

    #page_school .school_box ul li .link:hover::before {
        border-top: 1.5px solid #333;
        border-right: 1.5px solid #333;
    }

    #page_school .school_box ul li .link:hover::after {
        width: 10vw;
        height: 10vw;
        top: -5.2vw;
        left: -5.2vw;
    }

    #page_school .school_box+.school_box {
        margin-top: 8vw;
    }

    .single_university_top_banner_list {
        width: 100vw;
        margin-left: -5vw;
        padding: 6vw 5vw;
        margin-bottom: 15vw;
    }

    .single_university_top_banner_list ul {
        gap: 3.5vw 0;
    }

    .single_university_top_banner_list ul li {
        width: 48%;
        aspect-ratio: 1/1;
    }

    .single_university_top_banner_list.column_5 ul li {
        width: 48%;
    }

    .single_university_top_banner_list.column_5 ul li:first-child {
        display: none;
    }

    .single_university_top_banner_list ul li:nth-child(2) {
        animation-delay: 0s;
    }

    .single_university_top_banner_list ul li:nth-child(3) {
        animation-delay: 0s;
    }

    .single_university_top_banner_list ul li:nth-child(4) {
        animation-delay: 0s;
    }

    .single_university_top_banner_list ul li:nth-child(5) {
        animation-delay: 0s;
    }

    .single_university_top_banner_list ul li .inner {
        height: 100%;
        border: 2px solid #04ba9c;
    }

    .single_university_top_banner_list ul li .inner .icon {
        width: 5vw;
        margin: 0 auto 2vw;
    }

    .single_university_top_banner_list.column_5 ul li .inner .icon {
        width: 5vw;
        margin: 0 auto 2vw;
    }

    .single_university_top_banner_list ul li .inner .text {
        font-size: 4vw;
    }

    .single_university_top_banner_list.column_5 ul li .inner .text {
        font-size: 3.8vw;
    }

    .single_university_top_banner_list ul li .inner .text .big {
        font-size: 5vw;
    }

    .single_university_top_banner_list.column_5 ul li .inner .text .big {
        font-size: 4.8vw;
    }

    .single_university_img_box {
        right: -5vw;
        height: auto;
        width: 54vw;
        bottom: -5vw;
    }

    .single_university_title_text_box .fukidashi_box .text {
        padding: 1vw 1vw 1vw 4vw;
        font-size: 3.2vw;
    }

    .single_university_title_text_box .title_box .sub_title {
        padding: 1vw 1vw 1vw 4vw;
        font-size: 3.2vw;
    }

    .single_university_title_text_box .fukidashi_box {
        margin-bottom: 1vw;
    }

    .single_university_title_text_box .title_box .title {
        padding-left: 4vw;
        font-size: 4.4vw;
    }

    .single_university_title_text_box .title_box .title .big .small {
        font-size: 25%;
    }

    .postid-893 .single_university_img_box {
        height: auto;
    }

    .single_university_title_box {
        padding: 8vw 0;
    }

    .single_university_title_scroll_box a {
        padding: 1.4vw 4vw;
        column-gap: 8px;
    }

    .single_university_title_scroll_box .text {
        font-size: 3vw;
    }

    .single_university_title_scroll_box .arrow {
        width: auto;
        height: auto;
        translate: 0 -1px;
    }

    .single_university_title_scroll_box .arrow .arrow_item {
        width: 1.5vw;
        height: 1.5vw;
        border-bottom-width: 2px;
        border-left-width: 2px;
    }

    .single_university_title_scroll_box .arrow>*+* {
        margin-top: 0;
    }

    .single_university_h2_box {
        grid-template-columns: 32px 1fr;
    }

    .single_university_h2_box .title {
        font-size: 4.5vw;
    }

    .single_university_h2_box .en {
        font-size: 10px;
    }

    .single_university_search_campus_container {
        width: 100%;
        margin-top: 3vw;
    }

    .single_university_search_campus_item {
        padding: 4vw 4vw;
        grid-template-columns: 140px 1fr;
        column-gap: 3vw;
        align-items: flex-start;
    }

    .single_university_search_campus_item .text_box {
        display: flex;
        flex-direction: column;
    }

    .single_university_search_campus_item .station_box {
        justify-content: flex-start;
        font-size: 3.2vw;
        margin-bottom: 0;
        margin-top: 2vw;
        order: 2;
    }

    .single_university_search_campus_item .station_box .label {
        flex-shrink: 0;
        margin-right: 2vw;
        letter-spacing: 0.05em;
    }

    .single_university_search_campus_item .title {
        font-size: 4vw;
        border-left-width: 3px;
        padding-left: 2vw;
        order: 1;
    }

    .single_university_search_campus_item .link_box {
        order: 3;
    }

    .single_university_search_campus_item .link_box>ul {
        grid-template-columns: 1fr;
        row-gap: 1.5vw;
    }

    .single_university_search_campus_item .link_box>ul>li a {
        font-size: 3.2vw;
        border-width: 2px;
    }

    .single_university_search_campus_item .img {
        border-width: 2px;
    }

    .single_university_search_campus_container>*+* {
        margin-top: 4vw;
    }

    .single_university_search_campus_item .link_box {
        margin-top: 3vw;
    }

    .single_university_search_campus .waseda_campus_list {
        margin-top: 10vw;
        margin-bottom: 12vw;
    }

    .single_university_search_campus .waseda_campus_list ul {
        display: block;
    }

    .single_university_search_campus .waseda_campus_list ul li {
        width: 100%;
        display: block;
    }

    .single_university_search_campus .waseda_campus_list ul li+li {
        margin-top: 4vw;
    }

    .single_university_search_campus .waseda_campus_list ul li .name_box {
        padding: 3vw 0;
    }

    .single_university_search_campus .waseda_campus_list ul li .name_box .name {
        font-size: 4.2vw;
    }

    .single_university_search_campus .waseda_campus_list ul li .course_box {
        padding: 5vw 3.5vw;
        gap: 2vw 3vw;
    }

    .single_university_search_campus .waseda_campus_list ul li .course_box .course_text {
        font-size: 3.5vw;
    }

    .single_university_search_campus .waseda_campus_list ul li .course_box .course_text::before {
        width: 2vw;
        height: 2vw;
        margin-right: 1vw;
    }

    .single_university_top_tokyo_map_block {
        padding: 7vw 0;
        background-color: transparent;
    }

    .single_university_top_tokyo_map_block .img {
        /* display: none; */
        background-color: #f6f0cf;
    }

    .single_university_top_tokyo_map_block .img+.img {
        margin-top: 5vw;
        margin-bottom: 7vw;
    }

    .single_university_top_tokyo_map_block .img.width {
        width: 100%;
        border: 3px solid #f6f0cf;
    }

    .single_university_top_tokyo_map_block .text_cont {
        position: inherit;
        width: 100%;
        padding: 0;
        border-radius: 0;
    }

    .single_university_top_tokyo_map_block .text_cont .ttl_box {
        padding: 2vw 3.5vw;
        margin-bottom: 6vw;
    }

    .single_university_top_tokyo_map_block .text_cont .ttl_box .ttl {
        font-size: 4.2vw;
    }

    .single_university_top_tokyo_map_block .text_cont .cont .data_cont {
        display: block;
        margin-bottom: 5vw;
    }

    .single_university_top_tokyo_map_block .text_cont .cont .data_cont .line_box {
        width: 100%;
        margin-right: 0%;
        margin-bottom: 5vw;
    }

    .single_university_top_tokyo_map_block .text_cont .cont .data_cont .label {
        padding-left: 3vw;
        border-left: 2px solid #dc8c9d;
        font-size: 4vw;
        margin-bottom: 3vw;
    }

    .single_university_top_tokyo_map_block .text_cont .cont .data_cont .station_box .graph {
        margin-bottom: 2vw;
    }

    .single_university_top_tokyo_map_block .text_cont .cont .data_cont .station_box .add_text {
        font-size: 3vw;
    }

    .single_university_top_tokyo_map_block .text_cont .cont .data_cont .station_box .add_text::before {
        font-size: 3vw;
        margin-right: 1vw;
    }

    .single_university_top_tokyo_map_block .text_cont .cont .last_text_box {
        padding: 3vw 3.5vw;
        border: 2px solid #dc8c9d;
    }

    .single_university_top_tokyo_map_block .text_cont .cont .last_text_box .text {
        font-size: 3.8vw;
    }

    .single_university_search_map {
        margin-top: 10vw;
    }

    .single_university_map_container {
        margin-top: 3vw;
    }

    .single_university_waseda_map_block {
        display: none;
    }

    .single_university_map_container .map {
        width: 90vw;
        border-width: 2px;
    }

    .map_flag a {
        font-size: 3vw;
        padding: 1vw 3.5vw;
        column-gap: 1.6vw;
    }

    .map_flag a::before {
        bottom: -1.2vw;
        border-top-width: 2vw;
        border-left-width: 2vw;
    }

    /* マップの一つひとつの位置 */
    .map_flag.the_university_tokyo_komaba {
        top: 23vw;
        left: -24vw;
    }

    .map_flag.the_university_tokyo_hongo {
        top: -29vw;
        left: 4vw;
    }

    .map_flag.waseda_university_tokorozawa_campus {
        left: -59vw;
        top: -49vw;
    }

    .map_flag.waseda_university_higashifushimi_campus {
        left: -32vw;
        top: 8vw;
    }

    .map_flag.waseda_university_nishiwaseda_campus {
        left: 44vw;
        top: 26vw;
    }

    .map_flag.waseda_university_toyama_campus {
        left: 44vw;
        top: 12vw;
    }

    .map_flag.waseda_university_waseda_campus {
        left: 44vw;
        top: -2vw;
    }

    .map_flag.sophia_university_yotsuya_campus {
        top: -16vw;
        left: 26vw;
    }

    .map_flag.keio_university_sanda_campus {
        top: 18vw;
        left: 27vw;
    }

    .map_flag.keio_university_hiyoshi_campus {
        bottom: -50vw;
        right: 5vw;
    }

    .map_flag.keio_university_yagami_campus {
        bottom: -34vw;
        right: 6vw;
    }

    .map_flag.keio_university_shinano_campus {
        top: -15vw;
        left: 19vw;
    }

    .map_flag.keio_university_shiba_campus {
        top: 4vw;
        left: 35vw;
    }

    .map_flag.tokyo_university_of_Science_kagurazaka_campus {
        top: -18vw;
        left: 24vw;
    }

    .map_flag.meiji_university_surugadai_campus {
        top: -26vw;
        left: 37vw;
    }

    .map_flag.meiji_university_nakano_campus {
        top: -15vw;
        left: -2vw;
    }

    .map_flag.meiji_university_izumi_campus {
        top: -1vw;
        left: -8vw;
    }

    .map_flag.aoyama_gakuin_university_kagurazaka_campus {
        top: -3vw;
        left: 21vw;
    }

    .map_flag.rikkyo_university_ikebukuro_campus {
        top: -40vw;
        left: 17vw;
    }

    .map_flag.chuo_university_kourakuen_campus {
        top: -29vw;
        left: 34vw;
    }

    .map_flag.chuo_university_ichigaya_campus {
        top: -16vw;
        left: 21vw;
    }

    .map_flag.chuo_university_myogadani_campus {
        top: -2vw;
        left: 13vw;
    }

    .map_flag.hosei_university_tama_campus {
        top: 9vw;
        left: -34vw;
    }

    .map_flag.hosei_university_ichigaya_campus {
        top: -12vw;
        left: 53vw;
    }

    .map_flag.hosei_university_koganei_campus {
        top: -23vw;
        left: 1vw;
    }

    .map_flag.nihon_university_college_of_art {
        left: -24vw;
        top: -51vw;
    }

    .map_flag.nihon_university_schoolof_medicine {
        top: -58vw;
        left: 14vw;
    }

    .map_flag.nihon_university_college_of_humanities_and_sciences {
        top: -14vw;
        left: -19vw;
    }

    .map_flag.nihon_university_college_of_sports_sciences {
        top: 0vw;
        left: -17vw;
    }

    .map_flag.nihon_university_college_of_risk_management {
        top: 13vw;
        left: -18vw;
    }

    .map_flag.nihon_university_college_of_commerce {
        top: 26vw;
        left: -19vw;
    }

    .map_flag.nihon_university_college_of_law {
        left: 30vw;
        top: -31vw;
    }

    .map_flag.nihon_university_science_and_technology {
        top: -5vw;
        left: 33vw;
    }

    .map_flag.nihon_university_dentistry {
        top: 8vw;
        left: 29vw;
    }

    .map_flag.nihon_university_economics {
        top: -18vw;
        left: 33vw;
    }

    .map_flag.toyo_university_akabanedai_campus {
        top: -57vw;
        left: 27vw;
    }

    .map_flag.toyo_university_hakusan_campus {
        top: -37vw;
        left: 33vw;
    }

    .map_flag.komazawa_university_komazawa_campus {
        top: 4vw;
        left: -13vw;
    }

    .map_flag.senshu_university_kanda_campus {
        top: -20vw;
        left: 35vw;
    }

    .map_flag.daito_bunka_university_itabashi {
        top: 14vw;
        left: 24vw;
    }

    .map_flag.j_f_oberlin_university_sinjuku_campus {
        top: -28vw;
        left: 17vw;
    }

    .map_flag.ochanomizu_university {
        top: -38vw;
        left: 32vw;
    }

    .map_flag.kogakuin_university {
        top: -26vw;
        left: 17vw;
    }

    .map_flag.shukutoku_university_tokyo_campus {
        top: 16vw;
        left: 32vw;
    }

    .map_flag.shukutoku_university_saitama_campus {
        top: -1vw;
        left: -6vw;
    }

    .map_flag.chiba_university_of_commerce {
        top: -28vw;
        left: 59vw;
    }

    .map_flag.tsuda_university_kodaira_campus {
        top: -27vw;
        left: -49vw;
    }

    .map_flag.tsuda_university_sendagaya_campus {
        top: 2vw;
        left: 40vw;
    }

    .map_flag.tokyo_metropolitan_university_minamiosawa_campus {
        top: 14vw;
        left: -45vw;
    }

    .map_flag.tokyo_metropolitan_university_hino_campus {
        top: 0vw;
        left: -41vw;
    }

    .map_flag.tokyo_metropolitan_university_arakawa_campus {
        top: -32vw;
        left: 56vw;
    }

    .map_flag.tokyo_university_of_marine_science_and_technology_shinagawa_campus {
        top: 17vw;
        left: 39vw;
    }

    .map_flag.tokyo_university_of_marine_science_and_technology_etchuujima_campus {
        top: -8vw;
        left: 53vw;
    }

    .map_flag.tokyo_university_of_the_arts_ueno_campus {
        top: -42vw;
        left: 39vw;
    }

    .map_flag.tokyo_university_of_the_arts_senju_campus {
        top: -29vw;
        left: 39vw;
    }

    .map_flag.tokyo_institute_of_technology_ookayama_campus {
        top: 31vw;
        left: 8vw;
    }

    .map_flag.tokyo_polytechnic_university_nakano_campus {
        top: -30vw;
        left: -6vw;
    }

    .map_flag.tokyo_university_of_agriculture_and_technology_hutyu_campus {
        top: 0vw;
        left: -3vw;
    }

    .map_flag.tokyo_university_of_agriculture_and_technology_koganei_campus {
        top: -23vw;
        left: 0vw;
    }

    .map_flag.toho_university_omori_campus {
        top: 43vw;
    }

    .map_flag.toho_university_narashino_campus {
        top: -5vw;
        left: 53vw;
    }

    .map_flag.japan_college_of_social_work {
        top: -37vw;
        left: -17vw;
    }

    .map_flag.japan_womens_university_mejiro_campus {
        top: -11vw;
        left: 41vw;
    }

    .map_flag.japanese_red_cross_college_of_nursing_omiya_campus {
        top: 4vw;
    }

    .map_flag.japanese_red_cross_college_of_nursing_hiro_campus {
        top: -10vw;
    }

    .map_flag.hoshi_university {
        top: 13vw;
        left: 9vw;
    }

    .map_flag.musashi_university_egota_campus {
        top: -45vw;
        left: -25vw;
    }

    .map_flag.meiji_pharmaceutical_university {
        top: -41vw;
        left: -12vw;
    }

    .map_flag.wako_university {
        top: 25vw;
        left: -15vw;
    }

    .map_flag.saitama_university {
        top: -37vw;
        left: -13vw;
    }

    .map_flag.sinjuku_college_of_medical {
        top: -9vw;
    }

    .map_flag.sinjuku_japanese_language_school {
        top: -9vw;
    }

    .map_flag.ecc_japanese_language_school {
        top: -9vw;
    }

    .map_flag.takabi {
        top: -9vw;
    }

    .map_flag.japan_welfare_education_college {
        top: -9vw;
    }

    .map_flag.japan_juvenile_education_college {
        top: -9vw;
    }

    .map_flag.akabori_confectionery_vocational_school {
        top: -27vw;
    }

    .map_flag.takara_beauty_college {
        top: 11vw;
        left: 10.5vw;
    }

    .map_flag.the_belle_epoque_beauty_school_tokyo {
        top: -10vw;
        left: 61vw;
    }

    .map_flag.the_belle_epoque_beauty_school_harajuku {
        top: 5vw;
        left: -7.5vw;
    }

    .map_flag.bangtan_group_creator_academy a,
    .map_flag.bangtan_group_kadokawa_anime a,
    .map_flag.bangtan_group_kadokawa_manga a,
    .map_flag.bangtan_group_design_laboratory a,
    .map_flag.bangtan_group_game_academy a,
    .map_flag.bangtan_group_lecole a,
    .map_flag.bangtan_group_venus_academy a,
    .map_flag.bangtan_group_kadokawa_dowango a {
        font-size: 3vw;
        padding: 1vw 2.5vw;
    }

    .map_flag.bangtan_group_creator_academy {
        top: 56vw;
        left: 2vw;
    }

    .map_flag.bangtan_group_design_laboratory {
        top: -51vw;
        left: 1vw;
    }

    .map_flag.bangtan_group_game_academy {
        top: 10vw;
        left: -2vw;
    }

    .map_flag.bangtan_group_lecole {
        top: -37vw;
        left: -1vw;
    }

    .map_flag.bangtan_group_venus_academy {
        top: -7vw;
        left: 1vw;
    }

    .map_flag.bangtan_group_kadokawa_dowango {
        top: -23vw;
        left: 2vw;
    }

    .map_flag.bangtan_group_kadokawa_anime {
        top: 25vw;
        left: -1vw;
    }

    .map_flag.bangtan_group_kadokawa_manga {
        top: 40vw;
        left: 1vw;
    }

    .map_flag.science_tokyo_yushima_campus {
        top: -27vw;
        left: 40vw;
    }

    .map_flag.daito_bunka_university_higashimatsuyama {
        top: -44vw;
        left: -28vw;
    }

    /* マップの一つひとつの位置 ここまで */

    .university_archive_page .block+.block {
        margin-top: 10vw;
    }

    .university_archive_page .block .label {
        font-size: 6vw;
        margin-bottom: 3vw;
    }

    .university_archive_page .block .list ul::before {
        content: none;
    }

    .university_archive_page .block .list ul::after {
        content: none;
    }

    .university_archive_page .block .list ul {
        flex-direction: column;
        gap: 2vw 0;
    }

    .university_archive_page .block .list ul li {
        width: 100%;
    }

    .university_archive_page .block .list ul li a {
        padding: 2vw 3.5vw;
        border-left: 3px solid #04ba9c;
    }

    .university_archive_page .block .list ul li a:hover {
        background-color: #fff;
        color: #000;
    }

    .university_archive_page .block .list ul li a .img {
        margin-right: 4vw;
        width: 15vw;
    }

    .university_archive_page .block .list ul li a .text_box .name {
        font-size: 3.8vw;
    }

    .privacy_page .box {
        font-size: 3.5vw;
    }

    #page_contact .privacy_box .content .box {
        font-size: 3.3vw;
    }

    .single_university_top_tokyo_map_block_note {
        font-size: 3.5vw;
        letter-spacing: .03em;
        margin: 5vw 0 22vw;
    }

    /* キャンペーンテキスト */
    .common_campaign_box {
        width: 100%;
        min-width: auto;
        margin: 0 0 5vw;
        border-width: 2px;
        padding: 0.4em;
    }

    .common_campaign_box .campaign_text {
        font-size: 4.7vw;
        line-height: 1.4;
        gap: 0 3vw;
    }

    .common_campaign_box .campaign_text::before,
    .common_campaign_box .campaign_text::after {
        width: 2.5vw;
    }

}