@import "https://use.typekit.net/hru7hfk.css";
@import "https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@400;500;700&display=swap");
@font-face {
    font-family: Pluto;
    src: url(/assets/fonts/pluto/plutosansbold-webfont.eot);
    src: url(/assets/fonts/pluto/plutosansbold-webfont.eot?#iefix) format("embedded-opentype"), url(/assets/fonts/pluto/plutosansbold-webfont.svg#PlutoSansBold) format("svg"),
        url(/assets/fonts/pluto/plutosansbold-webfont.woff) format("woff"), url(/assets/fonts/pluto/plutosansbold-webfont.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: Pluto;
    src: url(/assets/fonts/pluto/plutosansregular-webfont.eot);
    src: url(/assets/fonts/pluto/plutosansregular-webfont.eot?#iefix) format("embedded-opentype"), url(/assets/fonts/pluto/plutosansregular-webfont.svg#PlutoSansRegular) format("svg"),
        url(/assets/fonts/pluto/plutosansregular-webfont.woff) format("woff"), url(/assets/fonts/pluto/plutosansregular-webfont.ttf) format("truetype");
    font-weight: 200;
    font-style: normal;
}

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

* {
    box-sizing: border-box;
}

input[type="color"]::-webkit-color-swatch {
    border: none;
}

input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 0;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    font-weight: inherit;
    -webkit-text-size-adjust: none;
}

body {
    line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

nav ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    transition: 0.25s;
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input,
select {
    vertical-align: middle;
}

input:focus {
    outline: none;
}

ul,
ol {
    list-style-type: none;
}

html {
    font-size: 62.5%;
}

body {
    color: #000;
    line-height: 1.5;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
}

@media screen and (max-width: 767px) {
    body {
        line-height: 1.5;
    }
}

img {
    width: 100%;
    height: auto;
    max-width: 100%;
    vertical-align: top;
}

a {
    transition: 0.25s;
    color: #000;
    text-decoration: none;
}

a:hover {
    color: #006a00;
}

a:focus,
a:hover,
a:active {
    color: #000;
}

a > img {
    transition: 0.25s;
}

a > img:focus,
a > img:hover,
a > img:active {
    opacity: 0.75;
}

a[href^="tel"] {
    color: #000;
    text-decoration: none;
    cursor: default;
}

button,
select,
input {
    cursor: pointer;
}

button {
    border: none;
    background-color: none;
    font-family: "Noto Sans JP", sans-serif;
}

strong,
b {
    font-weight: bold;
}

em,
i {
    font-style: italic;
}

body {
    padding-top: 50px;
    font-family: "Noto Sans JP", sans-serif;
}

.serif {
    font-family: "Noto Serif JP", serif;
}
.sans {
    font-family: "Noto Sans JP", serif;
}

/*
    Japanese University Guide
-------*/

.ly_jug {
    color: #4d4d4d;
}

.ly_inner {
    width: 90%;
    max-width: 1056px;
    margin: 0 auto;
    padding: 0;
}

.ly_jugthead {
    margin: 0 auto 0px;
    padding: 506px 0 40px;
    position: relative;
}
.ly_jugthead_mv {
    width: 100%;
    position: absolute;
    left: 0;
    top: 10px;
}
.ly_jugthead_mv img {
    width: 100%;
    display: block;
    margin: 0 auto;
}
.ly_jugthead_txt {
    color: #000;
    padding: 10px 13%;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    width: 100%;
}

.ly_contents_ttl {
    background: #e6e6e6;
    text-align: center;
    padding: 0 10px;
    font-size: 30px;
    line-height: 40px;
    margin: 0 0 60px;
}

.bl_listbox_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    margin: 0 0 60px;
}

.bl_listbox {
    width: 46.4%;
    margin: 0 7.2% 35px 0;
    color: #4d4d4d;
    /* border-bottom: 1px solid #ccc; */
    padding: 0 0 35px;
}

.bl_listbox_wrap.bl_listbox_center {
    display: block;
}
.bl_listbox_wrap.bl_listbox_center .bl_listbox {
    margin: 0 auto 35px;
    border-bottom: 0px;
}

.bl_listbox a {
    display: block;
    transition: 0.3s;
}
.bl_listbox:nth-child(even) {
    margin-right: 0;
}
.bl_listbox h2 {
    font-weight: 700;
    line-height: 36px;
    font-size: 26px;
    min-height: 80px;
    /*font-size: 23px;
  min-height: 54px;*/
}
.bl_listbox_icon {
    border-left: 1px solid #ccc;
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    margin: 0 0 25px;
}
.bl_listbox_icon li {
    padding: 10px 0 10px 58px;
}
.bl_listbox_icon .add {
    background: url("../img/i-add@2x.png") no-repeat 20px 8px;
    background-size: 32px 35px;
}
.bl_listbox_icon .enrolled {
    background: url("../img/i-enrolled@2x.png") no-repeat 13px 4px;
    background-size: 37px 38px;
}
.bl_listbox .bl_listbox_img {
    overflow: hidden;
}
.bl_listbox .bl_listbox_img img {
    transition: 0.3s;
}
.bl_listbox p {
    font-size: 16px;
    line-height: 32px;
}
.bl_listbox a:hover {
    opacity: 0.7;
}
.bl_listbox a:hover .bl_listbox_img img {
    transform: scale(1.1, 1.1);
}

@media screen and (max-width: 1100px) {
    .ly_jugthead {
        padding: 43% 0 40px;
    }
}

@media screen and (max-width: 767px) {
    .ly_jugthead {
        padding: 10px 0 20px;
    }
    .ly_jugthead_mv {
        position: relative;
        left: auto;
        top: auto;
    }
    .ly_jugthead_txt {
        font-size: 16px;
        text-align: left;
        padding: 10px 0;
    }
    .ly_contents_ttl {
        font-size: 21px;
        margin: 0 0 40px;
    }
    .bl_listbox {
        width: 100%;
        margin: 0 0 30px;
    }
    .bl_listbox h2 {
        font-size: 20px;
        line-height: 30px;
        min-height: 0px;
        margin: 0 0 15px;
    }
    .bl_listbox_icon {
        margin: 0 0 15px;
    }
}

.el_usname {
    font-size: 40px;
    font-weight: 700;
    line-height: 58px;
    margin: 70px 0 70px;
}

.bl_video_wrap {
    text-align: center;
    position: relative;
    margin: 50px auto 0;
    width: 100%;
    max-width: 820px;
}
.bl_video {
    width: 100%;
    padding-top: 56.25%;
}
.bl_video img {
    width: auto !important;
    height: auto;
}

.bl_video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

.bl_secbox {
    margin: 0 0 50px;
    font-size: 16px;
    line-height: 32px;
    font-family: "Noto Serif JP", serif;
}
.bl_secbox h2 {
    background: #e6e6e6;
    font-size: 26px;
    line-height: 36px;
    padding: 2px 20px 2px;
    margin: 0 0 24px;
}
.bl_secbox h3 {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 50px;
}
.bl_secbox a {
    font-family: "Noto Sans JP", serif;
    color: #29abe2;
}

.bl_span span {
    display: inline-block;
    padding: 0 5px 0 0;
    position: relative;
    font-weight: 700;
}
/*
.bl_span span:before {
  content: "";
  position: absolute;
  right: 7px;
  top: 0;
}*/
.el_blank {
    display: inline;
    padding-right: 27px;
    background: url("../img/i-blank@2x.png") no-repeat right 2px;
    background-size: 20px 19px;
    font-weight: 400;
    word-break: break-all;
}

.bl_univlist {
    margin: 13px 0 50px;
    padding: 0 0 10px;
    border-bottom: 1px solid #ccc;
}
.bl_univlist li {
    font-size: 16px;
    line-height: 32px;
    font-weight: 700;
    padding: 5px 0 5px 43px;
}
.bl_univlist li a {
    color: #29abe2;
}
.bl_univlist .el_people {
    background: url("../img/i-icon1@2x.png") no-repeat 5px 4px;
    background-size: 25px 35px;
}
.bl_univlist .el_opening {
    background: url("../img/i-icon2@2x.png") no-repeat 2px 8px;
    background-size: 30px 25px;
}
.bl_univlist .el_url {
    background: url("../img/i-icon3@2x.png") no-repeat 2px 9px;
    background-size: 30px 26px;
}

.bl_interview {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.bl_interview_l {
    width: 26.1%;
}
.bl_interview_r {
    width: 70%;
    display: flex;
    flex-direction: column;
}
.bl_interview_label {
    font-size: 20px;
}
.bl_secbox .bl_interview h3 {
    margin: 0 0 10px;
}
.bl_secbox .bl_interview h3 + p {
    margin-top: auto;
}
.bl_interview .el_btn01 a {
    margin: 10px 0 0;
}

.el_btn01 a {
    display: inline-block;
    width: 216px;
    border: 1px solid #ccc;
    border-radius: 10px;
    font-size: 16px;
    padding: 4px 0;
    text-align: center;
    margin: 20px 0 0;
    color: #727272;
}
.el_btn01 a:hover {
    background: #727272;
    color: #fff;
    border-color: #727272;
}

.bl_secbox .el_line {
    border-bottom: 1px solid #ccc;
    padding: 0 0 22px;
    margin: 0 0 22px;
}
.bl_secbox dl dt {
    font-weight: 700;
    padding-left: 20px;
    position: relative;
    font-size: 18px;
}
.bl_secbox dl dt.hp_fs16 {
    font-size: 16px;
}
.bl_secbox dl dt:before {
    content: "";
    width: 12px;
    height: 12px;
    background: #999;
    position: absolute;
    left: 0;
    top: 11px;
}

.bl_labelbox {
    padding: 25px;
    position: relative;
    background: #b3b3b3;
    margin: 116px 0 0;
}
.bl_labelbox.bl_labelbox_blue {
    background: #29abe2;
    margin: 70px 0 0;
}
.bl_labelbox_ttl {
    display: inline-block;
    background: url("../img/label_gray.png") no-repeat right top;
    background-size: auto 36px;
    padding: 10px 90px 25px 25px;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    border-radius: 10px;
    position: absolute;
    left: 0;
    top: -36px;
    z-index: 1;
}
.bl_labelbox.bl_labelbox_blue .bl_labelbox_ttl {
    background: url("../img/label_blue.png") no-repeat right top;
    background-size: auto 36px;
}
.bl_labelboxin {
    background: #fff;
    border-radius: 10px;
    padding: 30px;
}

.bl_secbox .bl_labelbox h2 {
    background: none;
    font-size: 26px;
    font-weight: 700;
    margin: 0 0 30px;
    padding: 0;
}
.bl_secbox .bl_labelbox p,
.bl_labelbox ul li {
    margin: 0 0 25px;
}
.bl_secbox .bl_labelbox p {
    word-break: break-all;
}
.bl_secbox .bl_labelbox .bl_labelboxinFlex_b:last-child p:last-child {
    overflow-wrap: anywhere;
    word-break: normal;
}
.bl_secbox .bl_labelbox p:last-child,
.bl_labelbox ul li:last-child {
    margin: 0;
}
.bl_labelboxinFlex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.bl_labelboxinFlex .bl_labelboxinFlex_b {
    width: 48%;
}
.bl_labelboxinFlex .bl_labelboxinFlex_b:first-child {
    border-right: 1px solid #999;
    padding-right: 10px;
    box-sizing: border-box;
}

.bl_labelbox ul li .hp_fwb {
    font-size: 20px;
}
.ly_jug_pttl {
    padding: 20px 0 0;
}

.bl_infobox {
    margin: 0 0 60px;
}
.bl_infobox dt {
    font-size: 16px;
    line-height: 20px;
}
.bl_infobox dd {
    border-bottom: 1px solid #ccc;
    padding: 0 0 20px;
    margin: 0 0 20px;
    font-size: 24px;
    line-height: 34px;
}
.bl_infobox dd a {
    display: block;
    color: #4d4d4d;
    font-weight: 700;
}
.bl_infobox dd a:hover {
    color: #666;
}

@media screen and (max-width: 767px) {
    .el_usname {
        font-size: 26px;
        line-height: 34px;
        margin: 40px 0 40px;
    }
    .bl_secbox h2 {
        font-size: 21px;
        line-height: 30px;
    }
    .bl_interview_l {
        width: 100%;
    }
    .bl_interview_r {
        width: 100%;
        margin: 15px 0 0;
    }
    .bl_secbox h3 {
        font-size: 20px;
        line-height: 36px;
        font-weight: 700;
        margin: 0 0 30px;
    }
    .bl_labelbox_ttl {
        padding: 6px 40px 15px 15px;
        font-size: 18px;
    }
    .bl_labelbox {
        padding: 15px;
    }
    .bl_labelboxin {
        padding: 15px;
    }
    .bl_labelboxinFlex .bl_labelboxinFlex_b {
        width: 100%;
        border-right: 0px !important;
    }
    .bl_infobox dt {
        font-size: 14px;
    }
    .bl_infobox dd {
        border-bottom: 1px solid #ccc;
        padding: 0 0 10px;
        margin: 0 0 10px;
        font-size: 20px;
        line-height: 30px;
    }
}
