@charset "UTF-8";
/*基本タグ*/
* {
    -webkit-backface-visibility: hidden;
}

html {
    height: 100vh;
    font-family: "游ゴシック Medium", "游ゴシック", "游ゴシック体", "Yu Gothic Medium", "Yu Gothic", "YuGothic", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", "MS Gothic", sans-serif;
}

@media screen and (max-width: 767px) {
    html {
        font-size: 5vw;
    }
}
@media screen and (min-width: 768px) {
    html {
        font-size: 1.7vw;
    }
}
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
    height: auto !important;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow-x: hidden;
    word-wrap: break-word;
    text-align: justify;
}

h1.l-header__logo {
    margin: 0;
}

input[type=radio], input[type=checkbox] {
    width: 1rem;
    height: 1rem;
}

@media screen and (max-width: 767px) {
    input[type=radio], input[type=checkbox] {
        width: 0.6rem;
        height: 0.6rem;
    }
}
a {
    word-break: break-all;
}
a:hover {
    opacity: 0.7;
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    a {
        transition: opacity 0.3s;
    }
}

ul {
    padding-left: 1rem;
}

object {
    pointer-events: none;
}

input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

table {
    position: inherit;
}

/*共有パーツ*/
.header {
    position: fixed;
    top: 0px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    height: 5rem;
    z-index: 2;
}
.header .navbar-default {
    background-color: white;
    height: auto;
    border: none !important;
}
.header .header-logo {
    position: absolute;
    top: 0;
    left: 0;
    margin: 1.25rem 0px 1.25rem 3rem;
    width: 6.5rem;
    height: 2rem;
}
.header .logo {
    background-image: url(../image/bunrirogo.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    width: 7rem;
    height: 2rem;
}
.header .navbar-nav {
    margin-right: 0;
}
.header .navbar .navbar-header .navbar-toggle {
    border: none;
    padding: 0.5rem;
    width: 4rem;
}
.header .navbar .navbar-header .navbar-toggle img {
    width: 100%;
}

.breadcrumb {
    width: 100%;
    background: no-repeat;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-bottom: 5rem;
    margin: auto;
    font-size: 16px;
    max-width: 1400px;
}

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

.breadcrumb li {
    display: flex;
    align-items: center;
}

.breadcrumb li + li::before {
    content: "";
    width: 0.55em;
    height: 0.55em;
    margin: 0 0.6em;

    border-top: 1px solid #888;
    border-right: 1px solid #888;

    transform: rotate(45deg) scaleX(0.7);
}

.adj-dropdown {
    padding: 0;
}
.adj-dropdown ul > li > a {
    font-size: 18px;
    margin: 2rem 0.75rem !important;
    padding: 0 0 0 1rem;
    color: black !important;
    width: 100%;
}
.adj-dropdown ul > li > a :hover {
    text-decoration: underline !important;
    opacity: 0.8;
}
.adj-dropdown ul li:last-child {
    margin-right: 2.25rem;
}

.nav > li > a:hover {
    text-decoration: underline !important;
}

.footer-img {
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 2rem;
    width: 100%;
    height: 15rem;
}

.page-body .footer {
    width: 100%;
    height: auto;
    margin: -3rem auto 0 auto;
    padding: 0px;
    overflow: hidden;
}
.page-body .footer .container-fluid {
    width: 80%;
}
.page-body .footer .row {
    text-align: center;
    margin: 0;
}
.page-body .footer a {
    margin: 0px 2%;
    color: white;
    font-size: 0.75rem;
}
.page-body .footer p {
    margin: 3% 0px;
    text-align: center;
    font-size: 0.75rem;
    color: white;
}

.under-footer {
    position: fixed;
    max-width: 1400px;
    width: 100%;
    height: 100vh;
}

.dog-ear {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 2rem;
    height: 2rem;
}
.dog-ear .ear-inner {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    transition: 0.3s;
}

.can-animate {
    display: inline-block;
    vertical-align: middle;
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    overflow: hidden;
    transition-duration: 0.3s;
    transition-property: color, background-color;
}

.content-headline {
    font-size: larger;
    font-weight: bold;
    margin-bottom: 1.5em;
}

.content-img {
    margin-top: 1em;
}

.frame-headline {
    border: solid 1px #7f7f7f;
    display: inline-block;
    line-height: 1.5rem;
    padding: 0.25rem 1rem;
    border-radius: 1rem;
    margin-bottom: 1rem;
}

.grey-headline {
    background-color: #bfbfbf;
    display: inline-block;
    line-height: 1.5rem;
    padding: 0.25rem 1rem;
    border-radius: 1rem;
    color: white;
    margin-bottom: 1rem;
}

@media screen and (max-width: 767px) {
    .content-headline {
        font-size: 0.8rem;
    }
    .margin-left-1em {
        margin-left: 0;
        font-size: 0.75rem;
    }
    .margin-left-2em {
        margin-left: 0;
        font-size: 0.75rem;
    }
    .content-img {
        width: 100%;
    }
    .frame-headline {
        font-size: 0.65rem;
    }
}
@media screen and (min-width: 768px) {
    .content-headline {
        font-size: larger;
    }
    .margin-left-1em {
        margin-left: 1em;
    }
    .margin-left-2em {
        margin-left: 2em;
    }
    .content-img {
        width: 75%;
    }
}
#index .omimai {
    background-color: white;
    width: 100%;
    text-align: center;
    padding: 1rem;
    line-height: 2rem;
    font-size: 0.7rem;
}
#index #indiv-customer .can-animate:hover {
    transition-duration: 0.3s;
    background-color: #eebbdd;
    color: white;
}
#index #indiv-customer .can-animate:hover .panel-title {
    transition-duration: 0.3s;
    color: white;
}
#index #indiv-customer .can-animate:hover .ear-inner {
    transition-duration: 0.3s;
    background: linear-gradient(to bottom right, #f3f3f3 50%, #dd77aa 50.5%) no-repeat top left/100% 100%;
}
#index #school .can-animate:hover {
    transition-duration: 0.3s;
    background-color: #99dddd;
    color: white;
}
#index #school .can-animate:hover .panel-title {
    transition-duration: 0.3s;
    color: white;
}
#index #school .can-animate:hover .ear-inner {
    transition-duration: 0.3s;
    background: linear-gradient(to bottom right, #f3f3f3 50%, #33bbbb 50.5%) no-repeat top left/100% 100%;
}
#index #bookshop .can-animate:hover {
    transition-duration: 0.3s;
    background-color: #ddbbee;
    color: white;
}
#index #bookshop .can-animate:hover .panel-title {
    transition-duration: 0.3s;
    color: white;
}
#index #bookshop .can-animate:hover .ear-inner {
    transition-duration: 0.3s;
    background: linear-gradient(to bottom right, #f3f3f3 50%, #bb88cc 50.5%) no-repeat top left/100% 100%;
}
#index #news .can-animate:hover {
    transition-duration: 0.3s;
    background-color: #aaddff;
    color: white;
}
#index #news .can-animate:hover .panel-title {
    transition-duration: 0.3s;
    color: white;
}
#index #news .can-animate:hover .ear-inner {
    transition-duration: 0.3s;
    background: linear-gradient(to bottom right, #f3f3f3 50%, #55bbff 50.5%) no-repeat top left/100% 100%;
}
#index #recruit .can-animate:hover {
    transition-duration: 0.3s;
    background-color: #ddccbb;
    color: white;
}
#index #recruit .can-animate:hover .panel-title {
    transition-duration: 0.3s;
    color: white;
}
#index #recruit .can-animate:hover .ear-inner {
    transition-duration: 0.3s;
    background: linear-gradient(to bottom right, #f3f3f3 50%, #bb9977 50.5%) no-repeat top left/100% 100%;
}
#index #index-ikosochi .can-animate:hover {
    transition-duration: 0.3s;
    background-color: #eebbdd;
    color: white;
}
#index #index-ikosochi .can-animate:hover .panel-title {
    transition-duration: 0.3s;
    color: white;
}
#index #index-ikosochi .can-animate:hover .ear-inner {
    transition-duration: 0.3s;
    background: linear-gradient(to bottom right, #f3f3f3 50%, #dd77aa 50.5%) no-repeat top left/100% 100%;
}

@media screen and (max-width: 767px) {
    #index .omimai {
        line-height: 1.2rem;
        font-size: 0.5rem;
    }
}
#corporate #recruit_top .can-animate:hover .panel-title {
    text-decoration: underline;
}

#index #gakken .can-animate:hover {
    transition-duration: 0.3s;
    background-color: #bbdd99;
    color: white;
}
#index #gakken .can-animate:hover .panel-title {
    transition-duration: 0.3s;
    color: white;
}
#index #gakken .can-animate:hover .ear-inner {
    transition-duration: 0.3s;
    background: linear-gradient(to bottom right, #f3f3f3 50%, #99bb55 50.5%) no-repeat top left/100% 100%;
}

.catch-copy {
    position: relative;
    width: 100%;
    height: auto;
}
.catch-copy p {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0px;
    width: 80%;
    transform: translate(-50%, -50%);
    font-weight: 600;
    font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif;
    color: #99bb55;
    text-align: center;
    z-index: 1;
}

.page-top .var-panel {
    background-color: transparent;
}
.page-top .var-panel .panel-title {
    font-size: 1.8rem;
    margin: 0 0 2rem 0 !important;
    line-height: 1;
}

.top-img {
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
}

.img-100 {
    width: 100%;
}

.page-body {
    width: 100%;
    height: 100%;
    padding: 0;
}
.page-body .row {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 0 16px;
    max-width: 1400px;
    margin: auto;
    justify-content: center;
    align-items: center;
}
.page-body .row .panel-base {
    margin-bottom: 2rem;
}

.var-panel {
    position: relative;
    height: auto;
    width: 100%;
    overflow: hidden;
    background: white;
    transition: 0.1s;
    -webkit-transition: 0.1s;
}
.var-panel .panel-title {
    width: 100%;
    text-align: center;
}
.var-panel .content {
    width: 100%;
    margin-bottom: 3.5rem;
}
.var-panel .content .content-title, .var-panel .content .content-long-title {
    width: 100%;
    font-size: 1.25rem;
}
.var-panel .content .content-text {
    width: 100%;
    margin-top: 1rem;
    padding-left: 1rem;
}
.var-panel .content .text-date {
    margin-top: 1rem;
    width: 100%;
    text-align: right;
    line-height: 1;
    font-size: 1rem;
}

.margin-top-ae {
    margin-top: 3.5rem !important;
}

.to-top-button {
    position: fixed;
    display: none;
    padding: 0;
    border: 0;
    bottom: 10px;
    right: 10px;
    background-color: grey;
    opacity: 0.6;
}

.arrow-up {
    position: relative;
    height: 60px;
    width: 60px;
    overflow: hidden;
}
.arrow-up:before {
    content: "";
    height: 30px;
    width: 30px;
    display: block;
    border: 5px solid white;
    border-left-width: 0;
    border-bottom-width: 0;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    position: absolute;
    top: 23px;
    left: 15px;
}

.content-separator {
    border-bottom: 2px solid #f3f3f3;
    width: 100%;
}

.curio-logo {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0 3rem 0 0;
    height: 3rem;
    width: 7.5rem;
}

.text-center {
    text-align: center !important;
}

.text-left {
    text-align: left !important;
}

.text-red {
    color: red;
}

.font-smaller {
    font-size: smaller !important;
}

@media screen and (max-width: 767px) {
    .page-body .row {
        padding-left: 8px;
        padding-right: 8px;
    }
    .header .header-logo {
        margin: 0.8rem;
    }
    .adj-dropdown {
        background-color: rgba(255, 255, 255, 0.8);
    }
    .header {
        height: 6rem;
    }
    .page-body {
        padding: 0;
    }
    .footer-img {
        height: 4.6rem;
    }
    .page-body .footer {
        margin: 0 auto;
    }
    .var-panel .content {
        margin-bottom: 2rem !important;
    }
    .page-top .var-panel {
        background-color: transparent;
    }
    .page-top .var-panel .panel-title {
        margin: 2.25rem 0 !important;
        padding: 0rem;
        font-size: 1.6rem;
        line-height: 1;
    }
    .text-left-xs {
        text-align: left !important;
    }
}
.row-eq-height {
    display: flex;
    flex-wrap: wrap;
}

.under-line {
    text-decoration: underline;
}

.wavy-line {
    -webkit-text-decoration: wavy underline;
    text-decoration: wavy underline;
}

/*index*/
#index .top-img {
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
}

.top-bg {
    background-color: #99bb55;
}

.catch-copy {
    position: relative;
}

#index .blue-bird {
    position: absolute;
    top: 1rem;
    left: 12rem;
    background-image: url(../image/sp_bird1.png);
    background-repeat: no-repeat;
    background-size: contain;
    height: 4rem;
    width: 4rem;
}
#index .yellow-bird {
    position: absolute;
    top: 3rem;
    right: 15rem;
    background-image: url(../image/sp_bird2.png);
    background-repeat: no-repeat;
    background-size: contain;
    height: 3rem;
    width: 3rem;
}
#index .red-bird {
    position: absolute;
    top: 0.5rem;
    right: 8rem;
    background-image: url(../image/sp_bird3.png);
    background-repeat: no-repeat;
    background-size: contain;
    height: 4rem;
    width: 3.5rem;
}
#index .var-panel {
    height: 7.8rem;
}
#index #indiv-customer .var-panel .panel-title,
#index #school .var-panel .panel-title {
    text-align: center;
    margin: 2rem 0 0 0;
}

#bookshop .var-panel .panel-title {
    text-align: center;
    margin: 2.5rem 0 0 0;
}

#index #news .var-panel .panel-title,
#index #recruit .var-panel .panel-title {
    text-align: center;
    margin: 2.5rem 0 0 0;
}
#index #gakken .var-panel .panel-title {
    text-align: center;
    margin: 1.5rem 0 0 0;
}
#index .var-panel .link-intro {
    text-align: center;
    margin: 0.5rem 0 0 0;
}
#index .var-panel .link-panel {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}
#index #indiv-customer .panel-title {
    color: #dd77aa;
}
#index #indiv-customer .ear-inner {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #eebbdd 50.5%) no-repeat top left/100% 100%;
}
#index #school .panel-title {
    color: #33bbbb;
}
#index #school .ear-inner {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #99dddd 50.5%) no-repeat top left/100% 100%;
}
#index #bookshop .panel-title {
    color: #bb88cc;
}
#index #bookshop .ear-inner {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #ddbbee 50.5%) no-repeat top left/100% 100%;
}
#index #news .panel-title {
    color: #55bbff;
}
#index #news .ear-inner {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #aaddff 50.5%) no-repeat top left/100% 100%;
}
#index #recruit .panel-title {
    color: #bb9977;
}
#index #recruit .ear-inner {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #ddccbb 50.5%) no-repeat top left/100% 100%;
}
#index #gakken {
    color: #99bb55;
}
#index #gakken .panel-title {
    color: #99bb55;
}
#index #gakken .ear-inner {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #bbdd99 50.5%) no-repeat top left/100% 100%;
}
#index #index-ikosochi .panel-title {
    color: #dd77aa;
    font-size: 1.25rem;
    margin-top: 2.25rem;
    padding: 0 0.5rem 0 0.5rem;
}
#index #index-ikosochi .ear-inner {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #eebbdd 50.5%) no-repeat top left/100% 100%;
}
#index .footer-img {
    background-image: url(../image/pc_footer2000pix.svg);
}

@media screen and (max-width: 767px) {
    #index .top-img {
        background-image: url(../image/sp_topimg.png);
        height: 8.5rem;
    }
    #index .catch-copy {
        padding-top: 7rem;
    }
    #index .catch-copy p {
        font-size: 1rem;
        font-family: "游明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HiraMinProN-W3", "ＭＳ 明朝", "MS Mincho", "Source Han Serif JP", "Noto Serif CJK JP", sans-serif;
    }
    #index .blue-bird {
        background-image: url(../image/pc_bird1.png);
        top: 4rem;
        left: 1rem;
        height: 2.5rem;
        width: 2.5rem;
    }
    #index .yellow-bird {
        background-image: url(../image/pc_bird2.png);
        top: 5rem;
        right: 5rem;
        height: 2rem;
        width: 2rem;
    }
    #index .red-bird {
        background-image: url(../image/pc_bird3.png);
        top: 4rem;
        right: 1.5rem;
        height: 2rem;
        width: 2rem;
    }
    #index .panel-base .panel-title {
        font-size: 1.75rem;
    }
    #index .panel-base .link-intro {
        font-size: 0.75rem;
    }
}
@media screen and (min-width: 768px) {
    #index .top-img {
        background-image: url(../image/pc_topimg1200pix.png);
        height: 14.5rem;
    }
    #index .catch-copy {
        padding-top: 6rem;
    }
    #index .catch-copy p {
        font-size: 0.75rem;
    }
    #index .panel-base .panel-title {
        font-size: 1.75rem;
    }
    #gakken-title {
        font-size: 1.5rem !important;
        line-height: 0;
    }
    #index .panel-base .link-intro {
        font-size: 0.75rem;
    }
}
@media screen and (min-width: 992px) {
    #index .row .panel-base {
        padding: 0 1rem;
    }
}
@media screen and (min-width: 1200px) {
    #index .top-img {
        background-image: url(../image/pc_topimg2000pix.png);
        height: 14.5rem;
    }
}
/*corporate*/
.company-bg {
    background-color: #bb9977;
}

#corporate .var-panel .content {
    margin-bottom: 3.5rem;
}
#corporate .page-top .var-panel .panel-title {
    font-size: 2.25rem;
}
#corporate .row .panel-base:first-child:not(#recruit_top.panel-base) {
    margin-top: 0;
}
#corporate .var-panel .panel-title {
    font-size: 1.75rem;
}
#corporate #recruit_top .page-top .var-panel .panel-title {
    font-size: 2.25rem;
}
#corporate #recruit_top .var-panel .panel-title {
    font-size: 1.3rem;
}
#corporate .panel-subtitle {
    font-size: 1.75rem;
    display: flex;
    gap: 1em;
    justify-content: center;
}
#corporate .panel-base .content-text {
    font-size: 1rem;
    padding-left: 0 !important;
}
#corporate #recruit_top .panel-base .link-intro {
    font-size: 0.75rem;
}
#corporate .company-font-color {
    color: #c89b76;
}
#corporate .area-table {
    width: 100%;
    border-right: #f3f3f3 solid 1px;
    border-collapse: collapse;
}
#corporate .area-table p {
    margin-bottom: 0px;
}
#corporate table.area-table thead th {
    background: #f3f3f3;
    color: black;
    padding: 10px 15px;
    border-right: #fff solid 1px;
    border-bottom: #fff solid 1px;
    text-align: center;
    vertical-align: middle;
}
#corporate table.area-table thead th:last-child {
    border-right: #f3f3f3 solid 1px;
}
#corporate table.area-table tbody th {
    background: white;
    color: black;
    padding: 10px 15px;
    border-bottom: #f3f3f3 solid 1px;
    border-left: #f3f3f3 solid 1px;
    vertical-align: middle;
    white-space: nowrap;
}
#corporate table.area-table tbody td {
    background: white;
    padding: 10px 15px;
    border-left: #f3f3f3 solid 1px;
    border-bottom: #f3f3f3 solid 1px;
    padding: 1em;
    vertical-align: middle;
    white-space: nowrap;
}
#corporate table.area-table tbody td[label=電話番号] p, #corporate table.area-table tbody td[label=FAX] p {
    text-align: center;
}
#corporate table.area-table tbody td:nth-child(2) {
    white-space: normal;
}
#corporate .table-row {
    display: flex;
    width: 100%;
    align-items: center;
    padding: 1.5rem 0px;
    border-top: 1px solid gainsboro;
    line-height: 2;
}
#corporate .corporate-table .table-row:last-child {
    border-bottom: 1px solid gainsboro;
}
#corporate .left-column {
    margin-right: 3%;
    width: 25%;
}
#corporate .right-column {
    width: 72%;
}
#corporate .right-column ul {
    margin-bottom: 0;
}
#corporate #history .corporate-table .table-row {
    padding: 0.5rem 0px;
}
#corporate ul.none-dot li {
    list-style-type: none;
}
#corporate ol.list-parentheses li {
    list-style-type: none;
    list-style-position: inside;
    counter-increment: cnt;
}
#corporate ol.list-parentheses li:before {
    display: marker;
    content: "(" counter(cnt) ") ";
    margin-left: -1.5rem;
}

@media screen and (max-width: 767px) {
    #corporate table.area-table tbody td[label=電話番号] p, #corporate table.area-table tbody td[label=FAX] p {
        text-align: left;
    }
}
#recruit .panel-title a {
    color: #e4cdbc !important;
}

#corporate .ear-inner {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #e4cdbc 50.5%) no-repeat top left/100% 100%;
}
#corporate .var-panel-gray {
    background-color: #e6e6e6;
}
#corporate .var-panel-blue {
    background-color: #eefcfc;
}
#corporate .link-menu {
    display: flex;
    justify-content: center;
    width: 100%;
}
#corporate .link-menu .link-item {
    padding: 0.5rem 0.75rem;
    border-radius: 0.25rem;
    margin: 1rem;
    background-color: #cea485;
    color: white;
    text-align: center;
    font-size: 0.6rem;
}
#corporate .btn-container {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
#corporate .link-btn {
    width: 14rem;
    height: 2rem;
    background-color: #cea485;
    margin: auto;
    color: black;
    text-align: center;
    font-size: 1rem;
    color: white;
    transition: 0.3s;
    position: relative;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
}
#corporate .link-btn:after {
    content: "";
    position: absolute;
    height: 0.75rem;
    width: 0.75rem;
    overflow: hidden;
    display: block;
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
    border: 0.2rem solid #f3f3f3;
    border-bottom: 0;
    border-left: 0;
    transform: rotate(45deg);
}
#corporate .link-btn-longtext{
    width: 32rem;
}
#corporate .link-btn-longtext br{
    display: none;
}
#corporate .link-btn:hover {
    background-color: #d5b298;
}
#corporate .content-separator {
    margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
    #corporate .link-menu {
        flex-direction: column;
        align-items: center;
        margin-bottom: 1rem;
    }
    #corporate .link-menu .link-item {
        margin: 0.25rem;
        width: 80%;
    }
    #corporate .anchor {
        padding-top: 6rem;
        margin-top: -6rem;
    }
    #corporate .link-btn-longtext {
        font-size: 0.5rem;
    }
    #corporate .link-btn-longtext br{
        display: block;
    }
}
#corporate #recruit_top .row .var-panel {
    height: 8rem;
    padding: 0 1rem;
}
#corporate #recruit_top .panel-base .panel-title {
    margin: 2rem 0 0.5rem 0;
}
#corporate #recruit_top .panel-base .link-intro {
    text-align: justify;
}
#corporate #recruit_top .var-panel .link-panel {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}
#corporate #contact_us .page-top .panel-title p {
    margin-top: 0.5rem;
    font-size: 1rem;
}
#corporate #contact_us .content .content-text .question {
    margin-bottom: 2em;
}
#corporate #contact_us .content .content-text .q-title {
    width: 100%;
    padding: 1em 0px;
    border-bottom: solid 1px black;
    margin-bottom: 0.5em;
}
#corporate #contact_us .content .content-text .q-title:before {
    content: "Q.";
    font-weight: bold;
}
#corporate #about_bunri #president-panel .content {
    display: flex;
    align-items: flex-start;
}
#corporate #about_bunri .president-prof {
    display: flex;
    height: auto;
}
#corporate #about_bunri .president-prof .name {
    width: 100%;
}
#corporate #about_bunri .president-text {
    display: flex;
    width: 70%;
    flex-wrap: wrap;
}
#corporate #about_bunri .president-text .text-body {
    width: 100%;
    line-height: 1.5;
}
#corporate #about_bunri .second .panel-title {
    margin: 3.5rem 0 !important;
}
#corporate #about_bunri #link .content {
    margin: 2rem 0 3.5rem 0;
}
#corporate #about_bunri #link .content-text {
    padding: 0;
}
#corporate #about_bunri #link ul li {
    font-size: 1rem;
    margin: 0.5rem 0;
}
#corporate #about_bunri #office {
    margin-top: -5rem;
    padding-top: 5rem;
}
#corporate #about_bunri #healthcare .content-long-title {
    text-decoration: underline;
}
#corporate #about_bunri #healthcare .small-table {
    margin-bottom: 1rem;
}
#corporate #about_bunri #healthcare .small-table td {
    border: 1px solid black;
    border-collapse: collapse;
    padding: 1em 1.5em;
    text-align: center;
}
#corporate #about_bunri #healthcare .two-column {
    display: flex;
}
#corporate #about_bunri #healthcare .two-column p {
    display: block;
    white-space: nowrap;
}
#corporate #about_bunri #healthcare .two-column ul li {
    list-style: none;
    margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
    #corporate #philosophy .panel-title {
        font-size: 1rem;
    }
    #corporate .panel-subtitle {
        font-size: 1.75rem;
        flex-direction: column;
        gap: 0;
    }
    #corporate .link-btn-fontsmaller {
        font-size: 0.55rem;
    }
    #corporate #philosophy .content-text {
        font-size: 0.5rem;
        line-height: 1rem !important;
    }
}
#corporate #philosophy .message {
    font-weight: bold;
}
#corporate #philosophy .bold {
    font-weight: bold;
}
#corporate #philosophy .lh-2 {
    line-height: 2rem;
}
#corporate #philosophy .content-2col {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}
@media screen and (max-width: 992px) {
    #corporate #philosophy .content-2col {
        flex-direction: column;
    }
}
#corporate #philosophy #naruhodo2 .content-text {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
@media screen and (max-width: 768px) {
    #corporate #philosophy #naruhodo2 .content-text.lh-2 {
        font-size: 1rem;
        margin-top: 0.25rem;
    }
}
#corporate #philosophy #naruhodo2 .content-text .catchword {
    width: 100%;
    display: flex;
}
#corporate #philosophy .catchword {
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
}
@media screen and (max-width: 768px) {
    #corporate #philosophy .catchword {
        margin-bottom: 0.5rem;
        margin-left: 2rem;
    }
}
#corporate #philosophy .catchword .initial-char {
    flex-shrink: 0;
    color: white;
    font-weight: bold;
    font-size: 1.5rem;
    background-color: black;
    border-radius: 50%;
    width: 3rem;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 1rem;
    padding-top: 0.1rem;
}
@media screen and (max-width: 768px) {
    #corporate #philosophy .catchword .initial-char {
        width: 2rem;
        height: 2rem;
        font-size: 1rem;
    }
}
#corporate #philosophy .img-wrapper {
    margin-top: 1rem;
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
}
#corporate #philosophy .img-wrapper img {
    width: 20%;
}
#corporate .corporate-table {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    background-color: white;
}
#corporate .footer-img {
    background-image: url(../image/pc_footer_bw.svg);
}
#corporate .anchor {
    padding-top: 5rem;
    margin-top: -5rem;
    width: 0;
    height: 0;
}
@media screen and (max-width: 767px) {
    #corporate .anchor {
        padding-top: 6rem;
        margin-top: -6rem;
    }
}

@media screen and (max-width: 767px) {
    #corporate #recruit_top .row .var-panel {
        padding: 0 2rem;
    }
}
@media screen and (max-width: 767px) {
    #corporate #about_bunri .second .panel-title {
        margin: 2.25rem 0 !important;
    }
}
@media screen and (max-width: 767px) {
    #corporate #about_bunri #link .content {
        margin: 2rem 0;
    }
}
@media screen and (max-width: 767px) {
    #corporate #about_bunri #link ul li {
        font-size: 0.75rem;
    }
}
@media screen and (max-width: 767px) {
    #corporate .var-panel .content {
        margin-bottom: 2rem;
    }
    #corporate .page-body .row,
    #corporate .row .panel-base:first-child {
        margin-top: 0;
    }
    #corporate .var-panel {
        padding: 0px 2rem;
    }
    #corporate .page-top .var-panel .panel-title {
        margin: 2.25rem 0;
    }
    #corporate #about_bunri .long-title,
    #corporate #contact_us .long-title {
        font-size: 1.2rem !important;
    }
    #corporate #about_bunri .long-title2 {
        font-size: 1rem !important;
        margin-bottom: 1rem;
    }
    #corporate .row .var-panel .panel-title {
        margin: 2.25rem 0;
    }
    #corporate .area-table {
        font-size: 0.6rem;
    }
    #corporate table.area-table thead {
        display: none;
    }
    #corporate table.area-table tbody th {
        display: block;
        background: #f3f3f3;
        color: black;
    }
    #corporate table.area-table tbody td {
        display: block;
    }
    #corporate table.area-table tbody td::before {
        content: attr(label);
        float: left;
        clear: both;
        font-weight: bold;
    }
    #corporate table.area-table tbody td p {
        padding-left: 6em;
    }
    #corporate #recruit_top .var-panel {
        height: 8rem;
    }
    #corporate #recruit_top .small-panel {
        height: 6rem !important;
    }
    #corporate #recruit_top .page-top .var-panel {
        height: auto;
    }
    #corporate #recruit_top .page-top .var-panel .panel-title {
        margin: 2.25rem 0;
    }
    #corporate #recruit_top .var-panel .panel-title {
        font-size: 1rem;
        margin: 1.5rem 0 0.5rem 0;
    }
    #corporate #recruit_top .panel-base .link-intro {
        font-size: 0.6rem;
    }
    #corporate #about_bunri #president-panel .content {
        flex-wrap: wrap;
    }
    #corporate #about_bunri #president-panel .content .president-prof {
        width: 100%;
        flex-wrap: nowrap;
        align-items: center;
    }
    #corporate #about_bunri .president-prof .president-img img {
        text-align: center;
        width: 7rem;
    }
    #corporate #about_bunri .president-prof .role {
        margin-top: 1em;
        padding-left: 1rem;
        line-height: 2;
        width: 100%;
        font-size: 0.6rem;
    }
    #corporate #about_bunri .president-prof .role .name {
        width: 100%;
        font-size: 1rem;
    }
    #corporate #about_bunri #president-panel .president-text {
        width: 100%;
        margin-top: 1em;
    }
    #corporate #about_bunri .president-text .text-body {
        font-size: 0.6rem;
        line-height: 1.8;
    }
    #corporate #about_bunri .text-date {
        font-size: 0.6rem !important;
    }
    #corporate .content-title {
        font-size: 1rem;
    }
    #corporate .content-long-title {
        font-size: 0.75rem;
    }
    #corporate #about_bunri .content-text,
    #corporate #contact_us .content-text {
        font-size: 0.6rem;
        line-height: 1.8;
    }
    #corporate .table-row {
        flex-wrap: wrap;
    }
    #corporate .left-column {
        float: right !important;
        width: 100% !important;
        font-size: 1rem;
    }
    #corporate .right-column {
        float: right !important;
        width: 100% !important;
        font-size: 0.8rem;
    }
    #corporate #history .corporate-table .right-column,
    #corporate #history .corporate-table .left-column {
        font-size: 0.6rem;
    }
    #corporate #recruit-page .long-title {
        font-size: 1.5rem;
    }
    #corporate #recruit-page .panel-base .panel-title {
        margin: 2em 0 1em 0;
    }
}
@media screen and (min-width: 768px) {
    #corporate .date-time:before {
        content: "お問い合わせ日時　";
    }
    #corporate .var-panel {
        padding: 0px 3.5rem;
    }
    #corporate .page-top .var-panel .panel-title {
        margin: 4rem 0 3.5rem 0;
    }
    #corporate .row .var-panel .panel-title {
        margin: 3.5rem 0 2.25rem 0;
    }
    #corporate #about_bunri #president-panel .president-prof {
        flex-wrap: wrap;
        width: 13.25rem;
    }
    #corporate #about_bunri .president-prof .president-img img {
        width: 10rem;
    }
    #corporate #about_bunri .president-prof .role {
        margin-top: 1em;
        line-height: 2;
        width: 100%;
        font-size: 0.75rem;
    }
    #corporate #about_bunri .president-text .text-body {
        font-size: 1rem;
    }
    #corporate #about_bunri .president-prof .name {
        font-size: 1.5rem;
    }
    #corporate .area-table {
        font-size: 0.8rem;
    }
    #corporate #recruit-page .panel-base .panel-title {
        margin: 1em 0 1em 0;
    }
    #corporate .left-column,
    #corporate .right-column {
        font-size: 1rem;
    }
    #corporate #history .corporate-table .right-column,
    #corporate #history .corporate-table .left-column {
        font-size: 0.8rem;
    }
}
/*news*/
.news-bg {
    background-color: #55bbff;
}

#news .row {
    margin-top: 0;
}
#news .news-font-color {
    color: #00bcff;
}
#news .ear-inner {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #98d6f6 50.5%) no-repeat top left/100% 100%;
}
#news .row .panel-base:first-child {
    margin-top: 0;
}
#news .row .panel-title {
    width: 100%;
    text-align: center;
    font-size: 1.75rem;
}
#news .disp-switcher {
    float: right !important;
    font-size: 0.8rem;
    margin: 1rem 1rem;
}
#news .news-table {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding: 3.5rem;
    margin-bottom: 3%;
    font-size: 20px;
    background-color: white;
}
#news .news-row {
    display: flex;
    width: 100%;
    align-items: flex-start;
    padding: 1.25rem 0px;
    border-top: 1px solid gainsboro;
    line-height: 2;
}
#news .news-table .news-row:last-child {
    border-bottom: 1px solid gainsboro;
}
#news .news-date {
    margin-right: 1.25rem;
    width: 10rem;
}
#news .news-text {
    width: 38rem;
    font-size: 1rem;
}
#news .footer-img {
    background-image: url(../image/pc_footer_b.svg);
}

@media screen and (max-width: 767px) {
    #news .page-body .row {
        margin-top: 0;
    }
    #news .page-top .panel-title {
        margin: 2.25rem 0;
        padding: 0 1rem;
    }
    #news .news-table {
        padding: 2rem;
    }
    #news .news-row {
        flex-wrap: wrap;
    }
    #news .news-date {
        float: right !important;
        margin: 3% 0px !important;
        width: 100% !important;
        font-size: smaller;
        text-align: center;
    }
    #news .news-text {
        float: right !important;
        width: 100% !important;
    }
    #news .news-date {
        font-size: 0.5rem;
    }
}
@media screen and (min-width: 768px) {
    #news .page-top .panel-title {
        margin: 4.5rem 0 3.5rem 0;
    }
    #news .news-date {
        font-size: 1rem;
    }
}
/*sitemap*/
#sitemap .var-panel a {
    color: black;
    text-decoration: underline;
}

.sitemap-bg {
    background-color: #cccccc;
}

#sitemap .footer p,
#sitemap .footer a {
    color: black;
}
#sitemap .panel-base,
#sitemap .page-top .panel-title {
    margin-top: 0;
}
#sitemap .var-panel {
    background: none;
}
#sitemap .separator {
    border: 1px solid gainsboro;
}
#sitemap .middle-title {
    font-size: 0.75rem !important;
    margin-top: 1rem !important;
}
#sitemap .content {
    margin-bottom: 1rem;
}
#sitemap #etc .content {
    margin-top: 2rem;
    font-size: 1rem;
}
#sitemap .var-panel .content .content-title,
#sitemap .var-panel .content .content-long-title {
    margin-top: 1.5rem;
}
#sitemap .var-panel .content .content-text {
    width: 100%;
    margin-top: 0.5rem;
    padding-left: 1rem;
}
#sitemap .footer-img {
    background-image: url(../image/pc_footer_g.svg);
}

@media screen and (max-width: 767px) {
    #sitemap .content-title {
        font-size: 1rem;
    }
    #sitemap .content-text {
        font-size: 0.75rem;
    }
}
@media screen and (min-width: 768px) {
    #sitemap .content-title {
        font-size: 1rem;
    }
    #sitemap .content-text {
        font-size: 0.75rem;
    }
}
/*privacy notice copyright*/
#privacy .policy li {
    margin-bottom: 0.5rem;
}
#privacy .text-block {
    padding-left: 1rem;
}
@media screen and (max-width: 767px) {
    #privacy * {
        font-size: smaller !important;
    }
    #privacy .panel-title {
        font-size: 1rem !important;
        font-weight: bold;
        line-height: 1.5rem !important;
    }
    #privacy .content-title {
        font-size: 0.8rem !important;
    }
    #privacy .content-text {
        margin-top: 1rem !important;
    }
    #privacy h3 {
        font-size: 1.1rem;
        font-weight: bold;
    }
    #privacy .bold-text {
        font-weight: bold;
    }
    #privacy ul {
        padding-left: 1rem;
    }
    #privacy .target-infos {
        display: inline-block;
        border: 1px solid black;
        padding: 0.25rem;
        margin: 0.5rem;
    }
    #privacy .target-infos span {
        margin: 0 1rem;
        font-weight: bold;
        white-space: nowrap;
    }
    #privacy table {
        margin: 0.5rem;
    }
    #privacy table tr.highlight td {
        background-color: #f5f9eb;
    }
    #privacy table td {
        width: 50%;
        padding: 0.5rem;
        border: 1px solid black;
        font-size: 0.7rem;
    }
}
@media screen and (min-width: 768px) {
    #privacy .sp-hidden {
        display: none;
    }
    #privacy h3 {
        font-size: 1.1rem;
        font-weight: bold;
    }
    #privacy .bold-text {
        font-weight: bold;
    }
    #privacy ul {
        padding-left: 2rem;
    }
    #privacy .target-infos {
        display: inline-block;
        border: 1px solid black;
        padding: 0.25rem;
        margin: 0.5rem;
    }
    #privacy .target-infos span {
        margin: 0 1rem;
        font-weight: bold;
    }
    #privacy table {
        margin: 0.5rem;
    }
    #privacy table tr.highlight td {
        background-color: #f5f9eb;
    }
    #privacy table td {
        width: 50%;
        padding: 0.5rem;
        border: 1px solid black;
        font-size: 0.7rem;
    }
}

#privacy .page-top .var-panel .panel-title,
#notice .page-top .var-panel .panel-title,
#copyright .page-top .var-panel .panel-title {
    font-size: 2rem;
}

#privacy .panel-base,
#notice .panel-base,
#copyright .panel-base {
    margin-top: 0;
}

.grey-bg {
    background-color: #cccccc;
}

#privacy .footer a,
#notice .footer a,
#copyright .footer a,
#privacy .footer p,
#notice .footer p,
#copyright .footer p {
    color: black;
}

#privacy .page-body,
#notice .page-body,
#copyright .page-body {
    background-color: white;
}

#privacy .row,
#notice .row,
#copyright .row {
    margin-top: 0;
}

#privacy .content,
#notice .content,
#copyright .content {
    width: 100%;
    margin: 3.5rem 0 4em 0;
}

#privacy .content:first-child,
#notice .content:first-child,
#copyright .content:first-child {
    width: 100%;
    margin: 0;
}

#privacy .content-title,
#notice .content-title,
#copyright .content-title {
    width: 100%;
    text-align: center;
    font-size: 1.25rem;
}

#privacy .content-text,
#notice .content-text,
#copyright .content-text {
    margin-top: 2rem;
    font-size: 1rem;
}

#privacy .footer-img,
#notice .footer-img,
#copyright .footer-img {
    background-image: url(../image/pc_footer_g.svg);
}

@media screen and (max-width: 767px) {
    #privacy .page-top .var-panel .panel-title,
    #notice .page-top .var-panel .panel-title,
    #copyright .page-top .var-panel .panel-title {
        margin: 2.25rem 0;
    }
    #privacy .page-top .panel-title {
        padding: 0 2rem;
        line-height: 2.5rem;
    }
}
@media screen and (min-width: 768px) {
    #privacy .page-top .var-panel .panel-title,
    #notice .page-top .var-panel .panel-title,
    #copyright .page-top .var-panel .panel-title {
        margin: 4.5rem 0 3.5rem 0;
    }
}
/*gakken*/
#gakken .row .content {
    margin-bottom: 0;
}
#gakken #efforts .page-top .panel-title {
    color: #99bb55;
}
#gakken .content-text {
    padding: 0;
}
#gakken .footer-img {
    background-image: url(../image/pc_footer2000pix.svg);
}

.gakken-bg {
    background-color: #99bb55;
}

#gakken #efforts .dog-ear {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #bbdd99 50.5%) no-repeat top left/100% 100%;
}
#gakken #efforts .row .row div {
    margin: 0.5rem auto;
    text-align: center;
}
#gakken #efforts .row .row div img {
    width: 100%;
}
#gakken #efforts a {
    text-decoration: none !important;
}
#gakken #efforts .gakken-link {
    width: 100%;
    height: auto;
    padding: 1.5rem 0 1.5rem 0;
    background-color: #cff2d4;
    color: black;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 2rem;
    text-indent: 1rem;
}
#gakken #efforts .gakken-link .link-arrow {
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 1rem solid #049837;
    border-top: 0.5rem solid transparent;
    border-right: 0rem solid transparent;
    border-bottom: 0.5rem solid transparent;
    transform: translate(-0.5rem, 0rem);
    margin: 0 !important;
    line-height: 3rem;
}
#gakken #efforts .gakken-link:hover {
    opacity: 0.8;
}
#gakken #efforts .two-line {
    padding: 0.5rem 0 0.5rem 0;
}

@media screen and (max-width: 767px) {
    #gakken .page-top .var-panel .panel-title {
        font-size: 1.3rem;
    }
    #gakken .var-panel {
        padding: 0px 2rem;
    }
    #gakken .page-top .panel-title {
        margin: 2.25rem 0;
    }
    #gakken .page-body .row,
    #gakken .page-body .panel-base {
        margin-top: 0;
    }
    #gakken .content-text {
        margin-top: 2.25rem;
    }
    #gakken #efforts .content .row {
        margin: 1rem 0;
    }
    #gakken #efforts .content-text {
        font-size: 0.6rem;
    }
    #gakken #efforts .gakken-link {
        font-size: 0.75rem;
        line-height: 1.5rem;
    }
    #gakken #efforts .gakken-link .link-arrow {
        border-left: 0.5rem solid #049837;
        border-top: 0.3rem solid transparent;
        border-right: 0rem solid transparent;
        border-bottom: 0.3rem solid transparent;
    }
}
@media screen and (min-width: 768px) {
    #gakken #efforts .row {
        margin: 1rem 0;
    }
    #gakken #efforts .var-panel {
        padding: 0px 3.5rem;
    }
    #gakken #efforts .content-text {
        margin-top: 2rem;
        font-size: 1rem;
    }
}
/*#enquete*/
.enquete-bg {
    background-color: #dd77aa;
}

#enquete #kekka .page-top .var-panel {
    padding: 0 3.5rem;
}
#enquete #kekka .content {
    margin-bottom: 2.5rem;
}
#enquete #kekka .content .content-text {
    font-size: 0.9rem !important;
    padding: 0;
}
#enquete #kekka .prizewinner-wrapper {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border-bottom: 2px solid #bbbbbb;
}
#enquete #kekka .prizewinner-wrapper * {
    text-align: center;
}
#enquete #kekka .prizewinner-wrapper .enq-title {
    width: 100%;
    border-top: 2px solid #bbbbbb;
    background-color: #ffddee;
    padding: 0.25rem;
    font-size: 0.9rem;
    font-weight: bold;
}
#enquete #kekka .prizewinner-wrapper .winner-list {
    width: 50%;
}
#enquete #kekka .prizewinner-wrapper .winner-list:last-child {
    border-left: 1px solid #bbbbbb;
}
#enquete #kekka .prizewinner-wrapper .winner-list .winner {
    display: flex;
    flex-wrap: nowrap;
}
#enquete #kekka .prizewinner-wrapper .winner-list .winner div {
    height: 2rem;
    line-height: 2rem;
    font-size: 0.9rem;
    border-top: 1px solid #bbbbbb;
}
#enquete #kekka .prizewinner-wrapper .winner-list .winner .prefecture {
    width: 30%;
}
#enquete #kekka .prizewinner-wrapper .winner-list .winner .name {
    width: 70%;
}
#enquete #kekka .prizewinner-wrapper .winner-list .winner .prefecture {
    border-right: 1px solid #bbbbbb;
}
#enquete #kekka .prizewinner-table {
    width: 100%;
    border-top: 2px solid #bbbbbb;
    border-bottom: 2px solid #bbbbbb;
    text-align: center;
    table-layout: fixed;
    font-size: 1rem;
}
#enquete #kekka .prizewinner-table th {
    background-color: #ffddee;
    padding: 0.25rem;
    text-align: center;
}
#enquete #kekka .prizewinner-table td {
    border-right: 1px solid #bbbbbb;
    border-top: 1px solid #bbbbbb;
    padding: 0.25rem;
}
#enquete #kekka .prizewinner-table td:nth-child(2) {
    border-right: 3px solid #bbbbbb;
}
#enquete #kekka .prizewinner-table td:nth-child(4) {
    border-right: 0;
}
#enquete .ear-inner {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #eebbdd 50.5%) no-repeat top left/100% 100%;
}
#enquete .var-panel .content {
    margin-bottom: 1rem;
}
#enquete .var-panel .content:last-child {
    margin-bottom: 3.5rem;
}
#enquete .page-top .var-panel .panel-title {
    font-size: 2.25rem;
}
#enquete .var-panel .panel-title {
    font-size: 1.75rem;
}
#enquete .content-title {
    font-size: 1.5rem;
}
#enquete .content-text {
    font-size: 1rem;
    padding-left: 0;
    margin-top: 0;
}
#enquete .panel-base .enquete-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 1rem;
}
#enquete .question-col {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    border-bottom: 1px solid black;
    padding: 0.5rem;
    margin-bottom: 0.5rem;
    font-weight: bold;
}
#enquete .question-col .required:after {
    content: "［必須］";
    color: red;
}
#enquete .option-col {
    padding-left: 0.5rem;
    width: 100%;
}
#enquete .option-col .w-90per {
    width: 90%;
}
#enquete .form-row {
    width: 100%;
    margin: 0.25rem 0;
}
#enquete #form .question-col .seq-col {
    min-width: 3rem;
}
#enquete #customer-info .question-col .seq-col {
    width: 2rem;
}
#enquete .ref-mark {
    color: red;
}
#enquete .footer-btn-area {
    position: relative;
    display: flex;
    width: 100%;
    padding-top: 1rem;
    justify-content: flex-start;
}
#enquete .btn-container {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}
#enquete .btn-container a {
    text-decoration: none !important;
}
#enquete .submit-btn {
    position: relative;
    font-size: 1rem;
    padding: 0.25rem 0.5rem;
    width: auto;
    text-decoration: none;
    border-radius: 0.5rem;
    color: white;
    background-color: grey;
    border: 0;
    transition: 0.3s;
}
#enquete .submit-btn:hover {
    opacity: 0.6;
}
#enquete .footer-img {
    background-image: url(../image/pc_footer_m.svg);
}
#enquete #warning .content:last-child {
    color: red;
}

@media screen and (max-width: 767px) {
    #enquete #kekka .page-top .var-panel {
        padding: 0 1rem;
    }
}
@media screen and (max-width: 767px) {
    #enquete #kekka .prizewinner-wrapper .winner-list:last-child {
        border-left: 0;
    }
}
@media screen and (max-width: 767px) {
    #enquete #kekka .prizewinner-wrapper .winner-list {
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    #enquete .page-top .var-panel .panel-title {
        font-size: 1.5rem;
    }
    #enquete .var-panel {
        padding: 0px 1rem;
    }
    #enquete .page-top .var-panel .panel-title {
        margin: 2.25rem 0;
    }
    #enquete .row .var-panel .panel-title {
        margin: 2.25rem 0 1rem 0;
    }
    #enquete .panel-base .enquete-row {
        border-bottom: 0;
    }
    #enquete .panel-base .content .enquete-row:first-child {
        border-top: 0;
    }
    #enquete #form .question-col .seq-col {
        min-width: 2rem;
    }
    #enquete .content-title {
        font-size: 1rem;
    }
    #enquete .content-text {
        font-size: 0.6rem;
    }
    #enquete .ref-mark {
        width: 1rem !important;
    }
    #enquete .footer-btn-area {
        justify-content: center;
        flex-wrap: wrap;
    }
    #enquete .footer-btn-area .submit-btn:first-child {
        left: 50%;
        transform: translateX(-50%);
    }
    #enquete .footer-btn-area .submit-btn:last-child {
        transform: translateX(50%);
        transform: translateY(100%);
        left: 50%;
    }
}
@media screen and (min-width: 768px) {
    #enquete .var-panel {
        padding: 0px 3.5rem;
    }
    #enquete .page-top .var-panel .panel-title {
        margin: 4rem 0 3.5rem 0;
    }
    #enquete .row .var-panel .panel-title {
        margin: 4rem 0 2.25rem 0;
    }
    #enquete .footer-btn-area .submit-btn:first-child {
        left: 50%;
        transform: translateX(-50%);
    }
    #enquete .footer-btn-area .submit-btn:last-child {
        right: 10%;
        transform: translateX(50%);
    }
}
/*#infosrv*/
/* .indiv-bg {
    background-color: #dd77aa;
} */

.indiv-font-color {
    color: #cc6699;
}

#infosrv .listen-exp {
    display: flex;
    flex-direction: column;
    padding: 0.5rem;
    border: solid 1px #7f7f7f;
    border-radius: 0.25rem;
    flex-wrap: nowrap;
    flex: auto;
}
#infosrv .listen-exp .listen-exp-row {
    display: flex;
    flex-direction: row;
}
#infosrv .listen-exp .listen-exp-row .listen-exp-column {
    white-space: nowrap;
}
#infosrv .listen-exp .listen-exp-row .listen-exp-column span {
    width: 1em;
    display: inline-block;
    text-align: center;
}
#infosrv .listen-exp .listen-exp-row .listen-exp-column:last-child {
    padding-left: 1em;
    white-space: normal;
}
#infosrv .text-center-all * {
    text-align: center !important;
}
#infosrv .border-right {
    border-right: 1px solid #bbbbbb;
}
#infosrv .w-5rem {
    width: 5rem;
}
#infosrv .w-6rem {
    width: 6rem;
}
#infosrv .w-7rem {
    width: 7rem;
}
#infosrv .w-8rem {
    width: 8rem;
}
#infosrv .anchor {
    padding-top: 5rem;
    margin-top: -5rem;
    width: 0;
    height: 0;
}
#infosrv .link-menu {
    display: flex;
    gap: 0.8rem;
    justify-content: center;
    width: 100%;
    max-width: 1400px;
    margin: auto auto 2rem;
}
#infosrv .link-menu .link-item {
    padding: 0.8rem  0;
    border-radius: 0.25rem;
    background-color: #dd77aa;
    color: white;
    text-align: center;
    font-size: 0.75rem;
    flex: 1;
    min-width: 0;
}
@media screen and (max-width: 767px) {
    #infosrv .link-menu {
        flex-direction: column;
        align-items: center;
        margin-bottom: 1rem;
    }
    #infosrv .link-menu .link-item {
        width: 80%;
        font-size: 18px;
    }
    #infosrv .anchor {
        padding-top: 6rem;
        margin-top: -6rem;
    }
}
#infosrv .flex {
    display: flex;
    flex-wrap: wrap;
}
#infosrv .smaller-page-title {
    font-size: 1.25rem !important;
}
#infosrv .listening-title {
    font-size: 1.6rem !important;
}
#infosrv #top .btn-container {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
#infosrv #top .btn-container .form-text {
    margin-bottom: 1.25rem;
    width: 100%;
    font-size: 0.75rem;
    text-align: left;
}
#infosrv #top .btn-container .form-area {
    margin: auto;
    display: flex;
    flex-wrap: nowrap;
}
#infosrv #top .btn-container .form-area:before {
    /*アクセスコード*/
    content: "アクセスコード";
    font-size: 0.75rem;
    font-weight: 700;
    position: absolute;
    top: -2.25rem;
    left: 0;
    padding-left: 12.5rem;
}
#infosrv #top .btn-container .form-area input {
    width: 15.5rem;
    height: 2.5rem;
    font-size: 18px;
}
#infosrv #top .btn-container .form-area a {
    margin-left: 0.5rem;
}
#infosrv #top .btn-container .form-area .next-btn {
    width: 8rem;
    height: 2.5rem;
    padding: 0 1rem;
    background-color: #dd77aa;
    margin: auto;
    color: white;
    text-align: center;
    transition: 0.3s;
    border: 0;
    margin-left: 0.5rem;
    font-size: 18px;
    border-radius: 0.25rem;
}
#infosrv #top .btn-container .form-area .next-btn:after {
    content: "次へ";
    color: white;
    font-size: 1rem;
}
#infosrv #top .btn-container .form-area .next-btn:hover {
    background-color: #cc6699;
}
#infosrv #top .link-btn {
    width: 14rem;
    height: 2.5rem;
    padding: 0 1rem;
    background-color: #dd77aa;
    margin: auto;
    line-height: 2.5rem;
    color: black;
    text-align: center;
    font-size: 18px;
    color: white;
    transition: 0.3s;
    border-radius: 0.25rem;
    position: relative;
}
#infosrv #top .link-btn:after {
    content: "";
    position: absolute;
    height: 0.8rem;
    width: 0.8rem;
    overflow: hidden;
    display: block;
    top: 0.85rem;
    transform: translateY(-50%);
    right: 1rem;
    border: 0.2rem solid #f3f3f3;
    border-bottom: 0;
    border-left: 0;
    transform: rotate(45deg);
}
#infosrv #top .link-btn:hover {
    background-color: #cc6699;
}
#infosrv .btn-container {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
#infosrv .btn-container .link-btn-onhai {
    width: 14rem;
    height: 4rem;
    padding: 0 0.5rem;
    background-color: #dd77aa;
    margin: auto;
    line-height: 4rem;
    color: black;
    text-align: left;
    font-size: 1rem;
    color: white;
    transition: 0.3s;
}
#infosrv .btn-container .link-btn-onhai:after {
    content: "";
    position: absolute;
    height: 1rem;
    width: 1rem;
    overflow: hidden;
    display: block;
    top: 1.5rem;
    right: 16.5rem;
    border: 0.2rem solid #f3f3f3;
    border-bottom: 0;
    border-left: 0;
    transform: rotate(45deg);
}
#infosrv .btn-container .link-btn-onhai:hover {
    background-color: #cc6699;
}
#infosrv #tsuika .dl-table {
    width: 100%;
    font-size: 1rem;
    border-bottom: 2px solid #bbbbbb;
}
#infosrv #tsuika .dl-table .w-80per {
    width: 80%;
}
#infosrv #tsuika .dl-table .text-center {
    text-align: center;
}
#infosrv #tsuika .dl-table .text-left {
    text-align: left;
}
#infosrv #tsuika .dl-table tr {
    height: 2rem;
}
#infosrv #tsuika .dl-table tr th {
    text-align: center;
    vertical-align: middle;
    background-color: #ffddee;
    border-top: 2px solid #bbbbbb;
    border-right: 1px solid #bbbbbb;
    padding: 0.75rem 0;
}
#infosrv #tsuika .dl-table tr th:last-child {
    border-right: 0;
}
#infosrv #tsuika .dl-table tr td {
    vertical-align: middle;
    border-top: 2px solid #bbbbbb;
    border-right: 1px solid #bbbbbb;
    padding: 0.75rem 0.5rem;
}
#infosrv #tsuika .dl-table tr td a:before {
    content: "";
    background-image: url(../image/icon_zip_pc.png);
    width: 4rem;
    height: 2rem;
    background-size: cover;
    display: inline-block;
    vertical-align: middle;
}
#infosrv #tsuika .dl-table tr td:last-child {
    text-align: center;
    border-right: 0;
}
#infosrv #tsuika .btn-container {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 1rem;
}
#infosrv #tsuika .btn-container .link-btn {
    width: 14rem;
    height: 2.5rem;
    padding: 0 0.5rem;
    background-color: #dd77aa;
    margin: auto;
    line-height: 2.5rem;
    color: black;
    text-align: center;
    font-size: 18px;
    color: white;
    padding-top: 0.75rem;
    transition: 0.3s;
}
#infosrv #tsuika .btn-container .link-btn:after {
    content: "";
    position: absolute;
    height: 0.8rem;
    width: 0.8rem;
    overflow: hidden;
    display: block;
    top: 0.85rem;
    transform: translateY(-50%);
    right: 16.5rem;
    border: 0.2rem solid #f3f3f3;
    border-bottom: 0;
    border-left: 0;
    transform: rotate(45deg);
}
#infosrv #tsuika .btn-container .link-btn:hover {
    background-color: #cc6699;
}
#infosrv #tsuika .btn-container .link-ikosochi {
    padding-top: 1.5rem !important;
    line-height: 1rem !important;
}
#infosrv #ikosochi .left-col {
    width: 25%;
}
#infosrv #ikosochi .right-col {
    width: 75%;
}
#infosrv #ikosochi .btn-container {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 1rem;
}
#infosrv #ikosochi .btn-container .link-btn {
    width: 14rem;
    height: 2.5rem;
    padding: 0 0.5rem;
    background-color: #dd77aa;
    margin: auto;
    line-height: 2.5rem;
    color: black;
    text-align: center;
    font-size: 18px;
    color: white;
    padding-top: 0.75rem;
    transition: 0.3s;
}
#infosrv #ikosochi .btn-container .link-btn:after {
    content: "";
    position: absolute;
    height: 0.8rem;
    width: 0.8rem;
    overflow: hidden;
    display: block;
    top: 0.85rem;
    transform: translateY(-50%);
    right: 16.5rem;
    border: 0.2rem solid #f3f3f3;
    border-bottom: 0;
    border-left: 0;
    transform: rotate(45deg);
}
#infosrv #ikosochi .btn-container .link-btn:hover {
    background-color: #cc6699;
}
#infosrv #ikosochi .btn-container .link-ikosochi {
    padding-top: 1.5rem !important;
    line-height: 1rem !important;
}
#infosrv #score .btn-container .form-area {
    margin: auto;
    display: flex;
    flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
    #infosrv #score .btn-container .form-area {
        flex-direction: column;
    }
}
#infosrv #score .btn-container .form-area input {
    width: 15.5rem;
    height: 3rem;
    font-size: 1.5rem;
}
#infosrv #score .btn-container .form-area a {
    margin-left: 0.5rem;
}
#infosrv #score .btn-container .form-area .next-btn {
    width: 8rem;
    height: 2.5rem;
    padding: 0 1rem;
    background-color: #dd77aa;
    margin: auto;
    color: white;
    text-align: center;
    transition: 0.3s;
    border: 0;
    margin-left: 0.5rem;
    font-size: 18px;
    border-radius: 0.25rem;
}
#infosrv #score .btn-container .form-area .next-btn:after {
    content: "次へ";
    color: white;
    font-size: 1rem;
}
#infosrv #score .btn-container .form-area .next-btn:hover {
    background-color: #cc6699;
}
#infosrv #score .score-form-table {
    width: 100%;
    border-bottom: 2px solid #bbbbbb;
    font-size: 0.9rem;
    table-layout: fixed;
}
#infosrv #score .score-form-table th {
    background-color: #ffddee;
    text-align: center;
    border-top: 2px solid #bbbbbb;
    padding: 1rem;
}
#infosrv #score .score-form-table th:nth-child(1) {
    width: 25%;
}
#infosrv #score .score-form-table th:nth-child(2) {
    border-right: 1px solid #bbbbbb;
    border-left: 1px solid #bbbbbb;
    width: 50%;
}
#infosrv #score .score-form-table th:nth-child(3) {
    width: 25%;
}
#infosrv #score .score-form-table td {
    border-top: 2px solid #bbbbbb;
    padding: 1rem;
}
#infosrv #score .score-form-table td:nth-child(2) {
    border-right: 1px solid #bbbbbb;
    border-left: 1px solid #bbbbbb;
}
#infosrv #score .score-form-table td:nth-child(3) {
    width: 25%;
}
#infosrv #score .score-form-table td:nth-child(3) input {
    width: 5rem;
}
#infosrv #score .submit-btn {
    width: 4rem;
    height: 3rem;
    padding: 0 1rem;
    background-color: #dd77aa;
    line-height: 3rem;
    color: white;
    text-align: center;
    transition: 0.3s;
    border: 0;
    margin-top: 1rem;
    margin-left: 50%;
    transform: translateX(-50%);
    font-size: 1rem;
}
#infosrv #score .submit-btn:after {
    content: "次へ";
    color: white;
    font-size: 1rem;
}
#infosrv #score .submit-btn:hover {
    background-color: #cc6699;
}
#infosrv #score select {
    width: 12rem;
    font-size: 0.8rem;
}
@media screen and (max-width: 767px) {
    #infosrv #score select {
        width: 13rem;
        padding: 0.8rem 0;
        font-size: 18px;
    }
    #infosrv #score .btn-container .form-area .next-btn {
        margin: auto;
        margin-top: 2rem;
        border-radius: 0.25rem;
    }
}
#infosrv .row {
    margin-top: 0;
}
#infosrv .var-panel {
    padding: 0;
}

#infosrv .row .panel-base:first-child {
    margin-top: 0;
}
#infosrv .row .panel-title {
    width: 100%;
    text-align: center;
    font-size: 1.5rem;
}
#infosrv .middle-title {
    width: 100%;
    text-align: center;
    font-size: 1.25rem;
    margin-bottom: 1.75rem;
}
#infosrv .content-text {
    padding-left: 0;
    font-size: 18px;
    margin-bottom: 2.25rem;
}
#infosrv .disp-switcher {
    float: right !important;
    font-size: 0.8rem;
    margin: 1rem 1rem;
}
#infosrv .footer-img {
    background-image: url(../image/pc_footer_m.svg);
}
#infosrv .content-separator {
    margin-bottom: 1rem;
}
#infosrv .text-center {
    text-align: center;
}
#infosrv #voice-top .link-btn-2line {
    line-height: 1.5rem !important;
    padding-top: 0.5rem !important;
}
#infosrv #voice-top .btn-row {
    display: flex;
}
@media screen and (max-width: 767px) {
    #infosrv #voice-top .btn-row {
        flex-direction: column;
    }
}
#infosrv #voice-top .btn-container {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
#infosrv #voice-top .link-btn {
    width: 14rem;
    height: 2.5rem;
    padding: 0 1rem;
    background-color: #dd77aa;
    margin: auto;
    line-height: 2.5rem;
    color: black;
    text-align: center;
    font-size: 18px;
    color: white;
    transition: 0.3s;
    position: relative;
}
#infosrv #voice-top .link-btn:after {
    content: "";
    position: absolute;
    height: 0.8rem;
    width: 0.8rem;
    overflow: hidden;
    display: block;
    top: 0.85rem;
    right: 1rem;
    border: 0.2rem solid #f3f3f3;
    border-bottom: 0;
    border-left: 0;
    transform: rotate(45deg);
}
#infosrv #voice-top .link-btn:hover {
    background-color: #cc6699;
}
#infosrv #voice-top .voice-list {
    list-style: none;
    padding-left: 0rem;
}
#infosrv #voice-top .voice-list li {
    margin: 1rem 0;
}
#infosrv #voice-top .voice-list li a {
    text-decoration: underline;
    color: black;
}
#infosrv #all-dl .dl-table {
    width: 100%;
    font-size: 1rem;
    border-bottom: 2px solid #bbbbbb;
}
#infosrv #all-dl .dl-table tr {
    height: 2rem;
}
#infosrv #all-dl .dl-table tr th {
    text-align: center;
    vertical-align: middle;
    background-color: #ffddee;
    border-top: 2px solid #bbbbbb;
    border-right: 1px solid #bbbbbb;
    padding: 0.75rem 0;
}
#infosrv #all-dl .dl-table tr th:last-child {
    border-right: 0;
}
#infosrv #all-dl .dl-table tr td {
    vertical-align: middle;
    border-top: 2px solid #bbbbbb;
    border-right: 1px solid #bbbbbb;
    padding: 0.75rem 0.5rem;
}
#infosrv #all-dl .dl-table tr td a:before {
    content: "";
    background-image: url(../image/icon_zip_pc.png);
    width: 4rem;
    height: 2rem;
    background-size: cover;
    display: inline-block;
    vertical-align: middle;
}
#infosrv #all-dl .dl-table tr td:last-child {
    text-align: center;
    border-right: 0;
}
#infosrv #single-dl .dl-table {
    width: 100%;
    border-bottom: 2px solid #bbbbbb;
    vertical-align: middle;
    text-align: center;
    font-size: 1rem;
    table-layout: fixed;
}
#infosrv #single-dl .dl-table tr th {
    border-top: 2px solid #bbbbbb;
    background-color: #ffddee;
    padding: 0.75rem 0 0.75rem 1rem;
}
#infosrv #single-dl .dl-table tr td {
    border-top: 2px solid #bbbbbb;
    border-right: 1px solid #bbbbbb;
    padding: 0.75rem 0;
}
#infosrv #single-dl .dl-table tr td p.explanation:before {
    content: "説明　：";
}
#infosrv #single-dl .dl-table tr td p.q3:before {
    content: "問題３：";
}
#infosrv #single-dl .dl-table tr td p.q4:before {
    content: "問題４：";
}
#infosrv #single-dl .dl-table tr td p.example:before {
    content: "例文：";
}
#infosrv #single-dl .dl-table tr td p.question:before {
    content: "問題：";
}
#infosrv #single-dl .dl-table tr td .cell-wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 3rem;
    grid-template-rows: 3rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}
#infosrv #single-dl .dl-table tr td .cell-wrapper > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
}
#infosrv #single-dl .dl-table tr td .cell-wrapper > *:nth-child(2) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
}
#infosrv #single-dl .dl-table tr td .cell-wrapper > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
}
#infosrv #single-dl .dl-table tr td .cell-wrapper a {
    padding-left: 0.25rem;
}
#infosrv #single-dl .dl-table tr td .cell-wrapper * {
    height: 100%;
    width: 100%;
    line-height: 3rem;
    margin: 0;
}
#infosrv #single-dl .dl-table tr td .cell-wrapper *:not(:nth-child(1)) {
    border-top: 1px solid #bbbbbb;
}
#infosrv #single-dl .dl-table tr td .cell-wrapper .row2 {
    line-height: 6rem;
}
#infosrv #single-dl .dl-table tr td .cell-separate {
    height: 8rem;
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}
#infosrv #single-dl .dl-table tr td .cell-separate > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
}
#infosrv #single-dl .dl-table tr td .cell-separate > *:nth-child(2) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
}
#infosrv #single-dl .dl-table tr td .cell-separate * {
    height: 100%;
    width: 100%;
    line-height: 4rem;
    margin: 0;
}
#infosrv #single-dl .dl-table tr td .cell-separate *:not(:nth-child(1)) {
    border-top: 1px solid #bbbbbb;
}
#infosrv #single-dl .dl-table tr td .cell-separate div.long-text {
    line-height: normal;
}
#infosrv #single-dl .dl-table tr td .cell-separate div.long-text p {
    line-height: 4rem;
    height: auto;
}
#infosrv #single-dl .dl-table tr td .cell-separate a {
    padding-left: 0.5rem;
}
#infosrv #single-dl .dl-table tr td .quest-type-container {
    display: flex;
    flex-wrap: wrap;
    /*問題１*/
    /*問題２*/
}
#infosrv #single-dl .dl-table tr td .quest-type-container div {
    width: 100%;
    border-top: 1px solid #bbbbbb;
    height: 3.5rem;
    line-height: 3.5rem;
}
#infosrv #single-dl .dl-table tr td .quest-type-container div:nth-child(1) {
    border-top: 0;
}
#infosrv #single-dl .dl-table tr td .quest-type-container div:nth-child(1):before {
    /*例題*/
    content: "例題　：";
}
#infosrv #single-dl .dl-table tr td .quest-type-container div:nth-child(2):before {
    content: "問題１：";
}
#infosrv #single-dl .dl-table tr td .quest-type-container div:nth-child(3):before {
    content: "問題２：";
}
#infosrv #single-dl .dl-table tr td .files-container {
    display: flex;
    flex-wrap: wrap;
}
#infosrv #single-dl .dl-table tr td .files-container div {
    width: 100%;
    border-top: 1px solid #bbbbbb;
}
#infosrv #single-dl .dl-table tr td .files-container div:nth-child(1) {
    border-top: 0;
    padding-bottom: 0.75rem;
}
#infosrv #single-dl .dl-table tr td .files-container div:nth-child(2) {
    padding: 0.75rem 0;
}
#infosrv #single-dl .dl-table tr td .files-container div:nth-child(3) {
    padding-top: 0.75rem;
}
#infosrv #single-dl .dl-table tr td a:not(.pdf):before {
    content: "";
    background-image: url(../image/icon_mp3_pc.png);
    width: 4rem;
    height: 2rem;
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
}
#infosrv #single-dl .dl-table tr td .pdf:before {
    content: "";
    background-image: url(../image/icon_pdf_pc.png);
    width: 4rem;
    height: 2rem;
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
}
#infosrv #single-dl .dl-table tr .container-wrapper {
    padding: 0;
}
#infosrv #single-dl .dl-table tr td:last-child {
    border-right: 0;
}
#infosrv #single-dl .dl-table tr .text-left {
    text-align: left;
    padding-left: 0.5rem;
}
#infosrv #single-dl .dl-table .two-cell td {
    text-align: center !important;
}
#infosrv #single-dl .dl-table .col-name {
    background-color: #f8f8ff;
}
#infosrv #single-dl .dl-table .col-name td {
    text-align: center !important;
}
#infosrv #single-dl .dl-table .unit-col {
    width: 50%;
}
#infosrv #single-dl .dl-table .page-col,
#infosrv #single-dl .dl-table .data-col {
    width: 25%;
}
#infosrv #wakaru #single-dl .dl-table .col-name {
    background-color: #ffddee !important;
    font-weight: bold;
}
#infosrv #highclass #single-dl .dl-table .col-name {
    background-color: #ffddee !important;
    font-weight: bold;
}
#infosrv #highclass #single-dl .unit-col {
    width: 40%;
}
#infosrv #top .dl-table {
    text-align: center;
    border-bottom: 2px solid #bbbbbb;
    width: 100%;
    table-layout: fixed;
    margin-bottom: 2.25rem;
}
#infosrv #top .dl-table tr {
    height: 3.5rem;
}
#infosrv #top .dl-table tr td {
    border-top: 2px solid #bbbbbb;
    border-right: 1px solid #bbbbbb;
    font-size: 1rem;
    padding: 0.75rem 1rem;
}
#infosrv #top .dl-table tr td:first-child {
    background-color: #ffddee;
    text-align: left;
    padding-left: 1rem;
}
#infosrv #top .dl-table tr td:last-child {
    border-right: 0;
}
#infosrv #top .dl-table tr a {
    color: black;
    text-decoration: underline;
}
#infosrv #top .dl-table tr a:first-child {
    margin-right: 1rem;
}
#infosrv #top .dl-table tr a:first-child::before {
    content: "";
    background: url(../image/icon_pdf_pc.png);
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
    width: 4rem;
    height: 2rem;
}
#infosrv #testdl .content-text {
    margin-top: 3.5rem;
}
#infosrv #testdl .red-font {
    color: red;
}
#infosrv #testdl .dl-table {
    text-align: center;
    border-bottom: 2px solid #bbbbbb;
    width: 100%;
    table-layout: fixed;
    margin-bottom: 2.25rem;
    font-size: 0.75rem;
}
#infosrv #testdl .dl-table tr th {
    background-color: #ffddee;
    text-align: center;
    padding: 0.75rem 0;
}
#infosrv #testdl .dl-table tr th:nth-child(2) {
    border-right: 1px solid #bbbbbb;
    border-left: 1px solid #bbbbbb;
    width: 60%;
}
#infosrv #testdl .dl-table tr td {
    border-top: 2px solid #bbbbbb;
    border-right: 1px solid #bbbbbb;
    padding: 0.75rem 0;
}
#infosrv #testdl .dl-table tr td:nth-child(2) {
    text-align: left;
    padding: 0.75rem 0.5rem;
}
#infosrv #testdl .dl-table tr td:last-child {
    border-right: 0;
}
#infosrv #testdl .dl-table tr a::before {
    content: "";
    background: url(../image/icon_pdf_pc.png);
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
    width: 4rem;
    height: 2rem;
    text-align: center;
}
#infosrv #archive02 .dl-table {
    text-align: center;
    border-bottom: 2px solid #bbbbbb;
    width: 100%;
    table-layout: fixed;
    margin-bottom: 2.25rem;
    margin-top: 3.5rem;
}
#infosrv #archive02 .dl-table tr th {
    border-top: 2px solid #bbbbbb;
    background-color: #ffddee;
    padding: 1rem;
    font-size: 1rem;
}
#infosrv #archive02 .dl-table tr td {
    border-top: 2px solid #bbbbbb;
    border-right: 1px solid #bbbbbb;
    font-size: 1rem;
    padding: 0.75rem 1rem;
}
#infosrv #archive02 .dl-table tr td:first-child {
    text-align: left;
    padding-left: 1rem;
}
#infosrv #archive02 .dl-table tr td:last-child {
    border-right: 0;
}
#infosrv #archive02 .dl-table tr a {
    color: black;
    text-decoration: underline;
}
#infosrv #archive02 .dl-table tr a:first-child {
    margin-right: 1rem;
}
#infosrv #archive02 .dl-table tr a:first-child::before {
    content: "";
    background: url(../image/icon_pdf_pc.png);
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
    width: 4rem;
    height: 2rem;
}
#infosrv #wakaru-gakunen .table-title {
    font-size: 1rem;
    font-weight: bold;
}
#infosrv #wakaru-gakunen .dl-table {
    text-align: center;
    border-bottom: 2px solid #bbbbbb;
    width: 100%;
    table-layout: fixed;
    margin-bottom: 2.25rem;
    margin-top: 0.5rem;
}
#infosrv #wakaru-gakunen .dl-table tr .unit-col {
    width: 6rem;
}
#infosrv #wakaru-gakunen .dl-table tr .page-col {
    width: 5rem;
}
#infosrv #wakaru-gakunen .dl-table tr .sound-col {
    width: 7rem;
}
#infosrv #wakaru-gakunen .dl-table tr th {
    border-top: 2px solid #bbbbbb;
    background-color: #ffddee;
    /*padding: 1rem;
    font-size: 1rem;*/
}
#infosrv #wakaru-gakunen .dl-table tr td {
    border-top: 2px solid #bbbbbb;
    border-right: 1px solid #bbbbbb;
    /*font-size: 1rem;
    padding: 0.75rem 1rem;*/
    /*&:first-child {
        text-align: left;
        padding-left: 1rem;
    }*/
}
#infosrv #wakaru-gakunen .dl-table tr td:last-child {
    border-right: 0;
}
#infosrv #wakaru-gakunen .dl-table tr a {
    color: black;
    text-decoration: underline;
}
#infosrv #wakaru-gakunen .dl-table tr a:first-child::before {
    content: "";
    background: url(../image/icon_zip_pc.png);
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
    width: 4rem;
    height: 2rem;
}
@media screen and (max-width: 767px) {
    #infosrv #wakaru-gakunen .dl-table {
        font-size: small;
    }
    #infosrv #wakaru-gakunen .dl-table .unit-col {
        width: 2rem !important;
    }
    #infosrv #wakaru-gakunen .dl-table .page-col {
        width: 2rem !important;
    }
    #infosrv #wakaru-gakunen .dl-table .sound-col {
        width: 3rem !important;
    }
    #infosrv #wakaru-gakunen .table-title {
        font-size: 0.75rem;
    }
}

#srv .text-bottom p:not(:first-child) {
    text-indent: 3em;
}

@media screen and (max-width: 767px) {
    #infosrv .text-bottom {
        font-size: 0.5rem;
    }
    #infosrv .text-bottom p:not(:first-child) {
        text-indent: 0;
    }
}
@media screen and (max-width: 767px) {
    #infosrv .listening-title {
        font-size: 1.25rem !important;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #ikosochi .ikosochi-title {
        font-size: 1.25rem !important;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #tsuika .tsuika-title {
        font-size: 1.25rem !important;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #score .score-form-table {
        font-size: 0.5rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #score .score-form-table th {
        padding: 0.5rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #score .score-form-table th:nth-child(2) {
        width: 40%;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #score .score-form-table th:nth-child(3) {
        width: 35%;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #score .score-form-table td {
        padding: 0.5rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #score .score-form-table td:nth-child(3) {
        width: 35%;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #score .score-form-table td:nth-child(3) input {
        width: 2rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #all-dl .dl-table tr td a:before {
        background-image: url(../image/icon_zip_pc.png);
        width: 2rem;
        height: 1rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #single-dl .dl-table tr td .quest-type-container div {
        height: 2.5rem;
        line-height: 2.5rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #single-dl .dl-table tr td a:not(.pdf):before {
        background-image: url(../image/icon_mp3_sp.png);
        width: 2rem;
        height: 1rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #single-dl .dl-table tr td .pdf:before {
        background-image: url(../image/icon_pdf_sp.png);
        width: 2rem;
        height: 1rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #top .dl-table tr a:first-child::before {
        background-image: url(../image/icon_pdf_sp.png);
        width: 2rem;
        height: 1rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #testdl .content-text {
        font-size: 0.75rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #testdl .dl-table tr th:nth-child(2) {
        width: 40%;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #testdl .dl-table tr a::before {
        background-image: url(../image/icon_pdf_sp.png);
        width: 2rem;
        height: 1rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #archive02 .dl-table tr td {
        font-size: 0.6rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv #archive02 .dl-table tr a:first-child::before {
        background-image: url(../image/icon_pdf_sp.png);
        width: 2rem;
        height: 1rem;
    }
}
@media screen and (max-width: 767px) {
    #infosrv .smaller-title {
        font-size: 1.2rem !important;
    }
    #infosrv .smaller-title-onsei {
        font-size: 1.25rem !important;
    }
    #infosrv .form-panel-title {
        font-size: 0.9rem !important;
    }
    #infosrv .page-body .row {
        margin-top: 0;
    }
    #infosrv .page-top .panel-title {
        margin: 1.25rem 0 1rem !important;
        padding: 0rem;
        font-size: 1rem;
    }
    #infosrv .row .var-panel .panel-title {
        margin: 2rem 0 1rem 0;
        font-size: 1rem;
    }
    #infosrv .middle-title {
        font-size: 1rem;
    }
    #infosrv .var-panel {
        padding: 0;
    }
    #infosrv .dl-table {
        font-size: 0.5rem !important;
    }
    #infosrv .dl-table th {
        font-size: 0.6rem !important;
    }
    #infosrv .has-container td:first-child {
        width: 40% !important;
    }
    #infosrv .has-container td:nth-child(n+2) {
        width: 30% !important;
    }
    #infosrv .has-container .dl-table .unit-col {
        width: 40% !important;
    }
    #infosrv .has-container .dl-table .page-col,
    #infosrv .has-container .dl-table .data-col {
        width: 30% !important;
    }
    #infosrv .link-btn,
    #infosrv .link-btn-onhai {
        width: 13rem !important;
    }
    #infosrv .link-btn:after,
    #infosrv .link-btn-onhai:after {
        right: 1rem !important;
    }
    #infosrv #top .btn-container {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }
    #infosrv #top .btn-container .form-text {
        margin-bottom: 1.25rem;
        width: 100%;
        font-size: 0.75rem;
        text-align: left;
    }
    #infosrv #top .btn-container .form-area {
        flex-wrap: wrap;
        justify-content: center;
    }
    #infosrv #top .btn-container .form-area:before {
        /*アクセスコード*/
        content: "アクセスコード";
        font-size: 0.75rem;
        font-weight: 700;
        position: absolute;
        top: -2.25rem;
        left: 0;
        padding-left: 4rem;
    }
    #infosrv #top .btn-container .form-area input {
        width: 13rem;
    }
    #infosrv #top .btn-container .form-area a {
        margin-left: 0.5rem;
    }
    #infosrv #top .btn-container .form-area .next-btn {
        margin: auto;
        margin-top: 2rem;
        border-radius: 0.25rem;
    }
    #infosrv #top .btn-container .form-area .next-btn:after {
        content: "次へ";
        color: white;
        font-size: 1rem;
    }
    #infosrv #top .dl-table td {
        font-size: 0.75rem !important;
    }
    #infosrv #top .dl-table td a img {
        width: 3rem;
        height: 1rem;
    }
    #infosrv #voice-top .voice-list a {
        font-size: 0.75rem;
    }
}
@media screen and (min-width: 768px) {
    #infosrv .page-top .panel-title {
        margin: 4.5rem 0 3.5rem 0;
    }
    #infosrv .row .var-panel .panel-title {
        margin: 1.5rem 0 2.25rem 0;
    }
}
/*#records*/
#records .emote-icon {
    width: 100%;
    text-align: center;
}
#records .emote-icon img {
    width: 80%;
}
#records .result-comment {
    margin-top: 1rem;
    font-size: 18px;
}
#records .barchart-container {
    position: relative;
    width: 100%;
    height: 2rem;
    padding: 1px 3% 1px 0;
}
#records .radarchart-wrapper {
    height: 100%;
}
#records .radarchart-container {
    position: relative;
    width: 200%;
    left: -50%;
}
#records .panel-padding {
    padding: 1rem;
}
#records .content-text {
    font-size: 1rem;
}
#records .panel-margin {
    margin-bottom: 1rem;
}
#records .comment-panel .panel-title {
    margin: 0.2rem 0 0 !important;
    font-size: 1.2rem !important;
}
#records .comment-panel .content {
    margin-bottom: 0 !important;
}
#records .comment-panel .content .content-text {
    font-size: 18px;
    margin-bottom: 1rem !important;
}
#records .panel-base {
    margin-top: 0 !important;
}
#records .score-contaner .score-box:nth-child(1) {
    border-top: 1px solid black;
    min-height: 2rem;
    line-height: 2rem;
}
#records .score-box {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: nowrap;
    width: 100%;
    min-height: 3rem;
    line-height: 3rem;
    font-size: 0.5rem;
    border-left: 1px solid black;
}
#records .score-box:first-child {
    background-color: #ffddee;
}
#records .score-box .score-col {
    display: table-cell;
    position: relative;
    text-align: center;
    vertical-align: middle;
    border-bottom: 1px solid black;
    border-right: 1px solid black;
    flex: 1 0 auto;
}
#records .score-box .lefttext {
    text-align: left;
    padding-left: 0.5em;
}
#records .score-box .score-col:nth-child(1) {
    min-width: 10%;
}
#records .score-box .score-col:nth-child(2) {
    min-width: 20%;
}
#records .score-box .score-col:nth-child(3), #records .score-box .score-col:nth-child(4) {
    min-width: 12.5%;
}
#records .score-box .score-col:nth-child(5) {
    min-width: 45%;
}
#records .score-box .barchart-col {
    padding: 1px 3% 1px 0;
}
#records .score-box .ratio-col {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
}
#records .score-box .ratio-col .ratio-row {
    width: 100%;
    height: 1rem;
    line-height: 1rem;
}
#records .score-box .ratio-col .ratio-row:last-child {
    padding-right: 0.1rem;
    display: inline-flex;
}
#records .score-table {
    border-top: 1px solid black;
    border-left: 1px solid black;
    text-align: center;
    font-size: 0.55rem;
    width: 100%;
}
#records .score-table .header-row {
    display: flex;
    background-color: #ffddee;
}
#records .score-table .header-row .col {
    min-height: 2rem;
    line-height: 2rem;
}
#records .score-table .header-row .col:nth-child(5) {
    min-width: 40%;
    display: flex;
    flex-wrap: wrap;
    height: 100%;
}
#records .score-table .header-row .col:nth-child(5) .ratio-row {
    width: 100%;
    height: 1rem;
    line-height: 1rem;
}
#records .score-table .header-row .col:nth-child(5) .ratio-row:last-child {
    padding-right: 0.1rem;
    display: inline-flex;
}
#records .score-table .score-row {
    display: flex;
    min-height: 3rem;
}
#records .score-table .score-row .col {
    min-height: 3rem;
    /* line-height: 3rem; */
}
#records .score-table .score-row .col:nth-child(2) {
    min-width: 25%;
    text-align: left;
    text-indent: 0.5rem;
}
#records .score-table .score-row .col:nth-child(5) {
    padding: 1px 1em 1px 0;
}
#records .score-table .col {
    border-bottom: 1px solid black;
    border-right: 1px solid black;
}
#records .score-table .col:nth-child(1) {
    min-width: 13%;
}
#records .score-table .col:nth-child(2) {
    min-width: 25%;
}
#records .score-table .col:nth-child(3), #records .score-table .col:nth-child(4) {
    min-width: 11%;
}
#records .score-table .col:nth-child(5) {
    min-width: 40%;
    max-height: 3rem;
}
#records .ratio-row p {
    text-align: right;
    margin: 0;
    width: 25%;
}
#records .score-color {
    color: red;
}
#records .basescore-color {
    color: #32bd25;
}
#records .print-btn {
    width: 14rem;
    min-width: 240px;
    height: 2.5rem;
    padding: 0 1rem;
    background-color: #dd77aa;
    margin: auto;
    line-height: 2.5rem;
    color: black;
    text-align: center;
    font-size: 18px;
    color: white;
    transition: 0.3s;
    border-radius: 0.25rem;
    position: relative;
}
#records .print-btn::after {
    content: "";
    position: absolute;
    height: 0.8rem;
    width: 0.8rem;
    overflow: hidden;
    display: block;
    top: 0.85rem;
    transform: translateY(-50%);
    right: 1rem;
    border: 0.2rem solid #f3f3f3;
    border-bottom: 0;
    border-left: 0;
    transform: rotate(45deg);
}
#records .print-btn:hover {
    background-color: #cc6699;
    cursor: pointer;
}
#records .btn-wrapper {
    position: relative;
    text-align: center;
    margin-top: 2rem;
    margin-bottom: -3rem;
    height: 3rem;
}

@media screen and (max-width: 767px) {
    #records .radarchart-container {
        margin-top: 1rem;
    }
}
@media screen and (max-width: 767px) {
    #records .score-box .score-col {
        height: auto;
        line-height: 1rem;
    }
}
@media screen and (max-width: 767px) {
    #records .score-table .header-row .col {
        line-height: 1rem;
    }
}
@media screen and (max-width: 767px) {
    #records .score-table .score-row .col {
        line-height: 1rem;
    }
}
@media screen and (max-width: 767px) {
    #records .score-table .score-row .col:nth-child(2) {
        text-indent: 0rem;
    }
}
/*#bookshop*/
.bookshop-font-color {
    color: #bb88cc;
}

.bookshop-bg {
    background-color: #aa88cc;
}

#bookshop .notes {
    display: flex;
}
#bookshop .howto-img {
    width: 75%;
    cursor: pointer;
}
#bookshop .link-btn {
    text-align: center;
    border: 2px solid #bb88cc;
    border-radius: 5px;
    color: #bb88cc;
    font-weight: bold;
    height: 2.5rem;
    padding: 0.5rem;
    margin: auto;
    margin-top: 1rem;
    vertical-align: middle;
    cursor: pointer;
    font-size: 18px;
}
#bookshop .link-btn:hover {
    color: white;
    background-color: #bb88cc;
}
#bookshop .anchor {
    padding-top: 5rem;
    margin-top: -5rem;
    width: 0;
    height: 0;
}
#bookshop .line-height-taller {
    line-height: 1.25rem;
}
@media screen and (max-width: 767px) {
    #bookshop #purchase-order .intro {
        text-align: left !important;
    }
    #bookshop .anchor {
        padding-top: 6rem;
        margin-top: -6rem;
    }
    #bookshop .howto-img {
        width: 100%;
    }
    #bookshop #test-pop .content-text {
        font-size: 0.75rem;
    }
    #bookshop #purchase-order .content-text {
        font-size: 0.75rem;
    }
    #bookshop .xs-height-6rem {
        height: 6rem !important;
    }
}
#bookshop .row {
    margin-top: 0;
}
#bookshop .panel-base {
    margin-top: 0 !important;
}
#bookshop .panel-base:first-child {
    margin-top: 0;
}
#bookshop .var-panel {
    padding: 0 3.5rem;
}
#bookshop .page-top .var-panel .panel-title {
    font-size: 2.25rem;
}
#bookshop .var-panel .panel-title {
    font-size: 1.75rem;
}
@media screen and (max-width: 767px) {
    #bookshop .var-panel .long-title {
        font-size: 1.1rem;
    }
}
#bookshop .ear-inner {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #ddbbee 50.5%) no-repeat top left/100% 100%;
}
#bookshop .panel-padding {
    padding: 1rem;
}
#bookshop .panel-margin {
    margin-bottom: 1rem;
}
#bookshop .content-title {
    margin: 1.5rem 0;
    text-align: center;
}
#bookshop .content-text {
    font-size: 1rem;
    padding-left: 0;
}
#bookshop #purchase-order .content-text {
    text-align: center;
    padding-left: 0;
}
#bookshop #purchase-order table {
    width: 100%;
    margin-top: 1rem;
    border-top: solid 2px #bbbbbb;
    border-bottom: solid 2px #bbbbbb;
    font-size: 1rem;
}
#bookshop #purchase-order table a {
    margin-left: 1rem;
    color: black;
    text-decoration: underline;
}
#bookshop #purchase-order table tr {
    height: 3rem;
}
#bookshop #purchase-order table tr td {
    padding: 1rem;
    width: 50%;
    vertical-align: middle;
    border-top: 2px solid #bbbbbb;
}
#bookshop #purchase-order table tr td:first-child {
    background-color: #eeddff;
    border-right: solid 1px #bbbbbb;
}
#bookshop #purchase-order table tr td:last-child {
    text-align: center;
}
#bookshop #purchase-order table tr td .pdf-icon {
    color: white;
    display: inline-block;
    vertical-align: middle;
    height: 2rem;
    line-height: 2rem;
    width: 5rem;
    background-color: palevioletred;
}
#bookshop #purchase-order table tr td a:first-child::before {
    content: "";
    background: url(../image/icon_pdf_pc.png);
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
    width: 4rem;
    height: 2rem;
}
#bookshop .bookshop-table-frame {
    display: flex;
    width: 100%;
    text-align: center;
    vertical-align: middle;
    font-size: 0.9rem;
    flex-wrap: nowrap;
}
#bookshop .bookshop-table-frame .subject-column {
    display: flex;
    flex-direction: column;
    width: 4rem;
    border-bottom: 2px solid #bbbbbb;
    background-color: #eeddff;
}
#bookshop .bookshop-table-frame .subject-column .subject-cell {
    height: 5rem;
    border-top: 2px solid #bbbbbb;
    border-right: 1px solid #bbbbbb;
    /*line-height: 5rem;*/
    display: flex;
    align-items: center;
    justify-content: center;
}
#bookshop .bookshop-table-frame .grade-column {
    display: flex;
    flex-direction: column;
    border-right: 1px solid #bbbbbb;
    border-bottom: 2px solid #bbbbbb;
}
#bookshop .bookshop-table-frame .grade-column .grade-header {
    border-right: 0 !important;
    width: 100% !important;
}
#bookshop .bookshop-table-frame .grade-column:last-child {
    border-right: 0 !important;
}
#bookshop .bookshop-table-frame .grade-column .grade-row:first-child {
    background-color: lavender;
}
#bookshop .bookshop-table-frame .grade-column .grade-cell {
    width: 50%;
    height: 5rem;
    /*line-height: 5rem;*/
    border-top: 2px solid #bbbbbb;
    display: flex;
    align-items: center;
    justify-content: center;
}
#bookshop .bookshop-table-frame .grade-column .half-cell {
    height: 2.5rem !important;
    line-height: 2.5rem !important;
}
#bookshop .bookshop-table-frame .grade-column .grade-cell:first-child {
    border-right: 1px solid #bbbbbb;
}
#bookshop .bookshop-table-frame .grade-column .w-100per {
    width: 100% !important;
    border-right: none !important;
}
#bookshop .bookshop-table-frame .grade-column .grade-row {
    height: 5rem;
    display: flex;
    flex-direction: row;
}
#bookshop .bookshop-table-frame .grade-column .has-half {
    flex-direction: column !important;
}
#bookshop .bookshop-table-frame .grade-column .half-row {
    display: flex;
    flex-direction: row;
}
#bookshop .bookshop-table-frame .long-text {
    line-height: 1.125rem !important;
    font-size: 0.75rem;
}
#bookshop .bookshop-table-frame .middle-text {
    line-height: 1.5rem !important;
    font-size: 0.75rem;
}
#bookshop .bookshop-table-frame .half-cell-border {
    border-top: 2px solid #bbbbbb;
}
#bookshop .subject-column,
#bookshop .grade-column {
    margin-top: 1rem;
}
#bookshop #elementary-school .bookshop-table-frame .grade-column {
    width: calc((100% - 2.5rem) / 3);
}
#bookshop #elementary-school .content-text {
    font-size: 0.75rem;
}
#bookshop #junior-high-school .content-text {
    font-size: 0.75rem;
}
#bookshop #junior-high-school .subject-cell:not(.soc):not(.music):not(.art):not(.health):not(.tech),
#bookshop #junior-high-school .grade-cell:not(.soc):not(.music):not(.art):not(.health):not(.tech) {
    height: 2rem;
    line-height: 2rem;
}
#bookshop #junior-high-school .grade-row:not(.soc):not(.music):not(.art):not(.health):not(.tech) .grade-cell {
    height: inherit;
    line-height: inherit;
}
#bookshop #junior-high-school .multi-line {
    line-height: 1rem !important;
    padding-top: 1rem;
}
#bookshop #junior-high-school .grade-column div {
    width: 100%;
}
#bookshop #junior-high-school .grade-column .grade-cell:first-child {
    background-color: lavender;
}
#bookshop .footer-img {
    background-image: url(../image/pc_footer_pp.svg);
}

@media screen and (max-width: 767px) {
    #bookshop #purchase-order table a {
        margin-left: 0;
    }
}
@media screen and (max-width: 767px) {
    #bookshop #purchase-order table tr td a:first-child::before {
        background-image: url(../image/icon_pdf_sp.png);
        width: 3rem;
        height: 1.5rem;
    }
}
@media screen and (max-width: 767px) {
    #bookshop #purchase-order table {
        font-size: 0.5rem;
    }
    #bookshop #purchase-order table tr td .pdf-icon {
        height: 1rem;
        line-height: 1rem;
        width: 3rem;
    }
    #bookshop .bookshop-table-frame {
        font-size: 0.75rem;
    }
    #bookshop .bookshop-table-frame .subject-column {
        width: 2.5rem;
    }
    #bookshop .page-body .row {
        margin-top: 0;
    }
    #bookshop .page-top .panel-title {
        margin: 2.25rem 0;
        padding: 0 1rem;
    }
    #bookshop .var-panel {
        padding: 0 2rem;
    }
    #bookshop #elementary-school .bookshop-table-frame .grade-column {
        width: calc((100% - 2.5rem) / 2);
    }
    #bookshop #junior-high-school .bookshop-table-frame .grade-column {
        width: calc((100% - 2.5rem) / 3);
    }
    #bookshop .bookshop-table-frame {
        flex-wrap: wrap;
    }
    #bookshop .bookshop-table-frame .long-text {
        font-size: 0.6rem;
    }
    #bookshop .bookshop-table-frame .middle-text {
        font-size: 0.8rem;
    }
    #bookshop .xs-none-border {
        border-right: none !important;
    }
}
@media screen and (min-width: 768px) {
    #bookshop .page-top .panel-title {
        margin: 4.5rem 0 3.5rem 0;
    }
    #bookshop .var-panel {
        padding: 0 3.5rem;
    }
    #bookshop #elementary-school .bookshop-table-frame .grade-column {
        width: calc((100% - 4rem) / 6);
    }
    #bookshop #junior-high-school .bookshop-table-frame .grade-column {
        width: calc((100% - 4rem) / 3);
    }
    #bookshop #junior-high-school .bookshop-table-frame .long-text {
        padding: 0.75rem 0;
    }
    #bookshop .bookshop-table-frame .middle-text {
        padding: 1rem 0;
    }
}
/*#reccomendation*/
#recommend .row {
    margin-top: 0;
}
#recommend .var-panel {
    padding: 0 3.5rem;
}
#recommend .ear-inner {
    background: linear-gradient(to bottom right, #f3f3f3 50%, #eebbdd 50.5%) no-repeat top left/100% 100%;
}
#recommend .row .panel-base:first-child {
    margin-top: 0;
}
#recommend .row .panel-title {
    width: 100%;
    text-align: center;
    font-size: 1.75rem;
}
#recommend .middle-title {
    width: 100%;
    text-align: center;
    font-size: 1.25rem;
}
#recommend .content-text {
    padding-left: 0;
    font-size: 0.9rem;
    margin-bottom: 2.25rem;
}
#recommend .disp-switcher {
    float: right !important;
    font-size: 0.8rem;
    margin: 1rem 1rem;
}
#recommend .footer-img {
    background-image: url(../image/pc_footer_m.svg);
}
#recommend .content-separator {
    margin-bottom: 1rem;
}
#recommend .text-center {
    text-align: center;
}
#recommend .btn-container {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
#recommend .btn-container .link-btn {
    width: 14rem;
    height: 2.5rem;
    padding: 0 1rem;
    background-color: #dd77aa;
    margin: auto;
    line-height: 2.5rem;
    color: black;
    text-align: center;
    font-size: 18px;
    color: white;
    transition: 0.3s;
}
#recommend .btn-container .link-btn:after {
    content: "";
    position: absolute;
    height: 0.8rem;
    width: 0.8rem;
    overflow: hidden;
    display: block;
    top: 0.85rem;
    right: 16.5rem;
    border: 0.2rem solid #f3f3f3;
    border-bottom: 0;
    border-left: 0;
    transform: rotate(45deg);
}
#recommend .btn-container .link-btn:hover {
    background-color: #cc6699;
}
#recommend .content .enq-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
#recommend .content .enq-container div {
    width: 50%;
    font-size: 0.9rem;
    margin-bottom: 1rem;
}
#recommend .content .enq-container div:last-child {
    margin-bottom: 0;
}
#recommend .content .enq-container div a {
    text-decoration: underline;
    color: black;
}

@media screen and (max-width: 767px) {
    #recommend .page-body .row {
        margin-top: 0;
    }
    #recommend .page-top .panel-title {
        margin: 2.25rem 0;
        padding: 0 1rem;
    }
    #recommend .row .var-panel .panel-title {
        margin: 2.25rem 0;
    }
    #recommend .var-panel {
        padding: 0 2rem;
    }
    #recommend .content .enq-container div {
        width: 100%;
    }
    #recommend .link-btn {
        width: 13rem !important;
    }
    #recommend .link-btn:after {
        right: 0.5rem !important;
    }
}
@media screen and (min-width: 768px) {
    #recommend .page-top .panel-title {
        margin: 4.5rem 0 3.5rem 0;
    }
    #recommend .row .var-panel .panel-title {
        margin: 3.5rem 0 2.25rem 0;
    }
    .content .enq-container div a {
        padding-left: 1rem;
    }
}


/* ========================================================================== */
/* レイアウト - フッター */
/* ========================================================================== */
.l-footer {
    color: var(--color-white);
    padding: 0;
}

.l-footer__inner {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

@media (max-width: 768px) {
    .l-footer__inner {
        flex-direction: column-reverse;
    }
}

.l-footer__logo {
    background: #fff;
    padding: 20px;
    text-align: center;
}

.l-footer__copyright {
    background: #fff;
    color: #333;
    text-align: center;
    padding: 10px;
    font-size: 14px;
    border-top: 1px solid #a7a7a7;
}

.l-footer__logo {
    background: white;
    padding: 30px 0;
    text-align: center;
}
.l-footer__pagetop {
    height: auto;
    right: 7rem;
    width: 5rem;
    position: fixed;
    z-index: 1000;
    background: linear-gradient(162.27deg, rgba(59, 170, 255, 0.95) 9%, rgba(127, 191, 39, 0.95) 126.52%);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    font-weight: bold;
    font-family: var(--font-accent);
    aspect-ratio: 1 / 1;
    line-height: 1.2;
    display: flex!important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
}
.l-footer__pagetop::before {
    content: "";
    width: 8px;
    height: 8px;
    border-left: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: rotate(45deg);
}

.l-footer__copyright {
    background: white;
    color: var(--color-text-main);
    text-align: center;
    padding: 15px 0;
    font-size: 16px;
}

@media screen and (max-width: 768px) {
    .l-footer__pagetop {
        padding: 0;
        position: fixed;
        right: 0.75rem;
    }
    .l-footer__copyright {
        border-top: 1px solid var(--color-palegray);
    }
}

.l-footer__pagetop {
    width: 70px;
    height: 70px;
    right: 3rem;
    bottom: 24px;
    color: #fff;
}

.c-breadcrumb {
    width: 100%;
    padding-bottom: 3rem!important;
}
.l-content__container {
    max-width: 1200px;
}
.row.flex {
    flex-direction: row;
}
#records .panel-padding {
    padding: 0.5rem;
}
#records .records-result {
    max-width: 1200px!important;
    padding: 0!important;
    display: grid;
    gap: 0 1rem;
    grid-template-columns: repeat(2, 1fr);
}
#records .records-result::before {
    content: none;
}
#records .records-result > * {
    min-width: 0;
}
#records .records-result * {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.panel-base {
    background: #fff;
    font-size: 16px;
    border-radius: 15px!important;
    padding: clamp(16px, 4vw, 24px);
    box-shadow: var(--shadow);
}
.col-sm-6 {
    width: auto;
}

@media screen and (max-width: 768px) {
    .l-main {
        margin-top: 0;
        padding-top: 32px;
        display: block;
    }
    #records.l-main {
        display: block;
    }
    .l-footer__pagetop {
        right: 0.5rem;
    }
    #records .records-result {
        display: flex;
        flex-direction: column;
    }

    #records .panel-padding.comment-panel {
        padding: 0;
    }
    #records .panel-padding {
        padding: 0.5rem 0;
    }
    #records .page-body .content .row {
        padding-left: 0;
        padding-right: 0;
    }
    #records .score-contaner {
        padding-left: 0;
        padding-right: 0;
    }
}
/*# sourceMappingURL=common.css.map */