/* Line Break smartphone only */

@media (min-width: 768px) {
br.sp-only {
display: none;
}
}

@media (max-width: 767px) {
br.sp-only {
display: block;
}
}

/* h6 */

h6.normal {
color: black;
font-weight: bold;
margin-bottom: 0;
padding-left: 0;
}

h6.normal::before {
content: none;
}

/* Unordered List element */

ul.normal {
margin: 0;
}

ul.normal>li,
dl.place ul>li {
position: relative;
list-style: none;
font-weight: normal;
}

ul.normal>li::before,
dl.place ul>li::before {
position: absolute;
content: "";
display: inline-block;
top: .9em;
left: -1em;
width: .4em;
height: .4em;
border-radius: .2em;
background: black;
}

/* Description List element for the place of Guidance */

dl.place {
display: block;
padding-left: 1.2em;
}

dl.place>dt {
position: relative;
display: block;
font-weight: bold;
}

dl.place>dt::before {
position: absolute;
content: "";
display: inline-block;
top: .7em;
left: -1em;
width: .5em;
height: .5em;
background: black;
}

/*
dl.place>dt::before {
content: "■";
}*/

dl.place ul,
dl.place dl {
margin: 0;
}

dl.place ul>li {
list-style: disc outside;
font-weight: normal;
}

/* Description List element for the time of Guidance */

dl.guidance-time {
display: flex;
flex-wrap: wrap
}

dl.guidance-time>dt {
width: 10em;
font-weight: bold;
}

dl.guidance-time>dd {
width: calc(100% - 10em);
margin-bottom: 6px;
margin-left: 0;
}

dl.guidance-time>dd:last-child {
margin-bottom: 0;
}

@media (max-width: 767px) {
dl.guidance-time>dt {
display: block;
width: 100%;
}

dl.guidance-time>dd {
display: block;
width: 100%;
}
}

/* Responsible Table */

@media (min-width: 768px) {
table.row-table td.detail-sp {
display: none;
}
}

@media (max-width: 767px) {
/*          table.row-table tbody {
display: block;
width: 100%;
margin-bottom: .5em;
  }*/

table.row-table tr.row {
border-bottom: solid 2px #aaa;
}

table.row-table td,
table.row-table th {
display: block;
width: 100%;
}

table.row-table td.detail-sp {
display: block;
width: 100%;
}

table.row-table td.detail {
display: none;
}
}

/* rounded rectangle */

a.rounded-rectangle-blue {
border: 2px solid #0e5caf;
border-radius: 5px;
display: inline-block;
vertical-align: middle;
/* width: 8em; */
white-space: nowrap;
padding: 1px 1em;
box-sizing: border-box;
background: white;
color: #0e5caf;
text-decoration: none;
text-align: center;
margin: 0px;
}

a.rounded-rectangle-blue:hover {
background-color: aliceblue;
}

a.rounded-rectangle-blue:active,
a.rounded-rectangle-blue:focus {
box-shadow: 0 0 5px 0 #0570c7, 0 0 5px 0 #fff;
}

a.rounded-rectangle-red {
border: none;
border-radius: 4px;
display: inline-block;
vertical-align: middle;
padding: 3px;
width: 210px;
box-sizing: border-box;
background: #dc143c;
color: white;
text-decoration: none;
text-align: center;
margin: 3px;
}

a.rounded-rectangle-red:hover {
background-color: #f0204a;
}

a.rounded-rectangle-red:active,
a.rounded-rectangle-red:focus {
box-shadow: 0 0 5px 0 #0570c7, 0 0 5px 0 #fff;
}

a.rounded-rectangle-back {
border: 2px solid #0e5caf;
border-radius: 5px;
display: inline-block;
vertical-align: middle;
padding: 1px 3px;
width: 210px;
box-sizing: border-box;
background: white;
color: #0e5caf;
text-decoration: none;
text-align: center;
margin: 3px;
position: relative;
}

a.rounded-rectangle-back:hover {
background-color: aliceblue;
}

a.rounded-rectangle-back:active,
a.rounded-rectangle-back:focus {
box-shadow: 0 0 5px 0 #0570c7, 0 0 5px 0 #fff;
}

a.rounded-rectangle-back:after {
content: "";
width: 11px;
height: 6px;
background: url(/img/common/icon-uparrow-0570c7.png);
background-size: cover;
position: absolute;
right: 10px;
top: calc(50% - .2em);
}

a.rounded-rectangle-go {
border: 2px solid #0e5caf;
border-radius: 5px;
display: inline-block;
vertical-align: middle;
padding: 1px 3px;
width: 210px;
box-sizing: border-box;
background: white;
color: #0e5caf;
text-decoration: none;
text-align: center;
margin: 3px;
position: relative;
}

a.rounded-rectangle-go:hover {
background-color: aliceblue;
}

a.rounded-rectangle-go:active,
a.rounded-rectangle-go:focus {
box-shadow: 0 0 5px 0 #0570c7, 0 0 5px 0 #fff;
}

a.rounded-rectangle-go:after {
content: "";
position: absolute;
right: 10px;
top: calc(50% - 6px);
width: 9px;
height: 9px;
border-top: 2px solid currentColor;
border-right: 2px solid currentColor;
transform: rotate(135deg);
}



/* Accordion Button */

button.accordion-button {
display: block;
width: 100%;
position: relative;
border: none;
border-radius: 3px;
line-height: 1.6;
background-color: #3b4a15;
color: white;
text-align: left;
padding: 2px 1em;
}

button.accordion-button::before {
position: absolute;
right: 1em;
top: calc(50% - .125em);
content: "";
box-sizing: border-box;
width: .625em;
height: .625em;
border: .3125em solid transparent;
border-top: .3125em solid white;
transition: .5s;
}

button.accordion-button:hover {
background-color: #556b1f;
}

button.accordion-button.active::before {
position: absolute;
right: 1em;
top: calc(50% - .4375em);
content: "";
box-sizing: border-box;
width: 10px;
height: 10px;
border: 5px solid transparent;
border-bottom: 5px solid white;
transition: .5s;
}

/* Accordion Body */

.accordion-body {
padding: 0;
overflow: hidden;
margin: 0;
}

/* free dial */

.tel-block2 {
display: flex;
flex-direction: column;
align-items: center;
margin: 0 auto;
}

.tel-block2 a {
position: relative;
white-space: nowrap;
text-decoration: none;
font-size: 1.875em;
font-family: Roboto, YuGothic, YuGothicM, "游ゴシック", Yu Gothic, "ヒラギノ角ゴシック", Hiragino Sans, "ＭＳ Ｐゴシック", MS PGothic, sans-serif;
line-height: .8;
font-weight: bold;
letter-spacing: 0;
}

.tel-block2 div {
white-space: nowrap;
}

.tel-block2 a:before {
content: "";
position: absolute;
width: 1.25em;
height: 1.25em;
background: url(/img/common/free2.gif);
display: inline-block;
background-size: contain;
background-repeat: no-repeat;
left: -1.5em;
top: calc(50% - .45em);
}

.tel-block3 {
display: flex;
flex-direction: column;
align-items: center;
}

.tel-block3 p.before-tel {
font-size: 1.4rem;
line-height: normal;
}

.tel-block3 p.tel-number {
font-size: 1.5rem;
line-height: normal;
margin-bottom: -.2em;
}

.tel-block3 p.after-tel {
font-size: 1rem;
line-height: normal;
}

.tel-block3 p.tel-number a {
position: relative;
margin-left: 1.288em;
white-space: nowrap;
text-decoration: none;
font-size: 2.4em;
font-family: Roboto, YuGothic, YuGothicM, "游ゴシック", Yu Gothic, "ヒラギノ角ゴシック", Hiragino Sans, "ＭＳ Ｐゴシック", MS PGothic, sans-serif;
line-height: .8;
font-weight: bold;
letter-spacing: 0;
}

.tel-block3 div {
white-space: nowrap;
}

.tel-block3 a:before {
content: "";
position: absolute;
width: 1.288em;
height: .9752em;
background: url(/img/common/free2.gif);
background-size: contain;
background-repeat: no-repeat;
left: -1.288em;
top: .2em;
}

/* LINE and Mail Magazine */

.linemail a {
color: #ffffff;
font-size: 2rem;
font-weight: 700;
line-height: normal;
text-decoration: none;
display: block;
text-align: center;
padding: 1rem 0;
border: none;
border-radius: 4px;
width: 100%;
transition: opacity .3s;
}

.linemail a:hover {
opacity: .7;
}


.linemail a.btn-line {
background-color: #5ac463;
}

.linemail a.btn-mail {
background-color: #dc143c;
}

/* Brighten images when hover */

.hoverbrighten img {
transition: all .3s ease;
}

.hoverbrighten img:hover {
opacity: .8;
}

/* link list */

.link-list ul {
list-style-type: none;
padding-left: 0;
}

.link-list ul>li::before {
content: none;
}

.link-list ul>li {
position: relative;
display: block;
width: 100%;
background-color: white;
margin: 0;
padding: 0;
border-top: 1px solid #eee;
font-weight: normal;
}

.link-list ul>li:last-child {
border-bottom: 1px solid #eee;
}

.link-list ul a:hover {
background-color: aliceblue;
}

.link-list ul a {
color: #0f64bc;
cursor: pointer;
display: block;
width: 100%;
background-color: white;
margin: 0;
padding: 2px 4em 2px 2em;
}

.link-list ul a::after {
position: absolute;
content: "";
display: block;
top: calc(50% - 2px);
right: 3em;
width: .6em;
height: .6em;
border: 1px solid #0f64bc;
border-width: 1px 1px 0 0;
transform: rotate(45deg) translateY(-50%);
}

/* miscellaneous */

@media (max-width: 423px) {
.buttons {
text-align: center;
}
}

@media (max-width: 767px) {
iframe {
width: 100%;
}
}

table.row-table .examvenue {
font-size: 80%;
}

.reservation {
font-weight: normal;
}

.examvenue2 {
color: red;
}

strong.largered {
font-weight: bold;
font-size: 120%;
color: red;
}
/* お知らせの色分け */
.c-blog__tag[data-category="answer"]   { background-color: #f0204a; }
.c-blog__tag[data-category="zubari"]   { background-color: #f0204a; }
.c-blog__tag[data-category="moshi"]     { background-color: #0ea0ad; }
.c-blog__tag[data-category="guidance"]   { background-color: #0ea0ad; }
.c-blog__tag[data-category="kouza"]   { background-color: #0ea0ad; }

/* TOPバナーをスマホの時にスクロール */
@media (max-width: 767px) {
    .top-banner-scroll {
        overflow: visible !important;
        max-height: none !important;
    }
    .top-banner-scroll > .c-content-main {
        height: 300px;
        overflow-y: scroll !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
        touch-action: pan-y;
        position: relative;
    }
    .top-banner-scroll > .c-content-main::before {
        content: "";
        width: 90px;
        height: 75px;
        display: block;
        position: absolute;
        top: 100px;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: rgba(0, 0, 0, .6);
        border-radius: 10px;
        z-index: 10;
        pointer-events: none;
        animation: bannerGuideFade 5s ease forwards;
    }

    .top-banner-scroll > .c-content-main::after {
        content: "";
        position: absolute;
        top: 115px;
        left: 0;
        right: 0;
        margin: 0 auto;
        display: block;
        width: 40px;
        height: 40px;
        background-size: contain;
        background-position: 50%;
        background-repeat: no-repeat;
        background-image: url(/img/common/icon-scroll.svg);
        z-index: 20;
        pointer-events: none;
        animation: bannerFingerMove 2.2s ease-in-out infinite, bannerGuideFade 5s ease forwards;
    }
    @keyframes bannerFingerMove {
        0% {
            transform: translateY(-10px);
        }
        50% {
            transform: translateY(10px);
        }
        100% {
            transform: translateY(-10px);
        }
    }
    @keyframes bannerGuideFade {
        0% {
            opacity: 1;
        }
        70% {
            opacity: 1;
        }
        100% {
            opacity: 0;
            visibility: hidden;
        }
    }
}