@charset "UTF-8";

@media screen and (max-width: 1024px) {
    header .inner {
        max-width: 1000px;
    }
    header .nav ul li {
        font-size: 75.5%;
        margin-left: 30px;
    }
    #news {
        width: 1000px;
        padding: 60px 20px;
    }
}

@media screen and (max-width: 599px) {
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    /*-----------------*/
    header .inner {
        width: 89.3%;
        padding: 15px 0;
    }
    header .logo {
        width: 46.9%;
    }
    #menuTrigger {
        width: 24px;
        height: 20px;
        background: #fff;
    }
    #menuTrigger div {
        width: 24px;
        height: 20px;
        margin-top: 0;
    }
    #menuTrigger div span {
        background-color: #005bac;
    }
    #menuTrigger div span:nth-of-type(2) {
        top: 9px;
    }
    #menuTrigger div.active span:nth-of-type(1) {
        transform: translateY(9px) rotate(
    -45deg
    );
    }
    #menuTrigger div.active span:nth-of-type(3) {
        transform: translateY(-10px) rotate(
    45deg
    );
    }
    header #headerPanel {
        padding: 0;
        background: #fff;
    }
    header .nav ul {
        display: block;
    }
    header .nav ul li {
        margin-left: 0;
        font-size: 100%;
        text-align: left;
        font-weight: 400;
        border-top: 1px solid #cccccc;
        position: relative;
    }
    header .nav ul li:last-child {
        border-bottom: 1px solid #cccccc;
    }
    header .nav ul li::after {
        content: '';
        display: inline-block;
        width: 6px;
        height: 13px;
        background-image: url(../images/header_nav_arrow.png);
        background-size: contain;
        vertical-align: middle;
        position: absolute;
        top: 50%;
        right: 20px;
        margin-top: -7px;
    }
    header .nav ul li:first-child a,
    header .nav ul li a {
        color: #000;
        display: block;
        padding: 25px 15px;
    }
    header .closeNav {
        font-size: 86.6%;
        border: 1px solid #000;
        width: 40%;
        margin: 30px auto 0;
        text-align: center;
        padding: 10px 0;
    }



    /*******************************
    #key
    *******************************/
    #key {
        margin-bottom: 30px;
    }

    .addTxt0622 p {
      font-size: 100%;
      width: 89.3%;
      margin: 0 auto 30px auto;
      text-align: left;
    }
    /*******************************
    #about
    *******************************/
    #about {
        padding-top: 0;
        margin-bottom: 50px;
    }
    #about .txtBox {
        width: 100%;
    }
    #about .txtBox h2 {
        font-size: 137.5%;
        margin-bottom: 15px;
        letter-spacing: 0.06em;
    }
    #about .bgBox {
        position: relative;
        display: flex;
        justify-content: flex-end;
        z-index: 1;
    }
    #about .bgBox .img01 {
        display: none;
    }
    #about .bgBox .img02 {
        width: 85.7%;
        position: relative;
    }
    #about .txtBox {
        position: relative;
        top: 0;
        transform: inherit;
        left: 0;
        box-shadow: 0px 2px 7px 0px rgb(0 0 0 / 20%);
        padding: 50px 0;
        margin-top: -25px;
    }
    #about .txtBox .inner {
        width: 89.3%;
        margin: 0 auto;
    }
    #about .txtBox p {
        font-size: 86.6%;
        letter-spacing: 0.04em;
    }
    /*******************************
    #news
    *******************************/
    #news {
        width: 89.3%;
        display: block;
        padding: 30px 0 10px 0;
        margin: 0 auto 50px auto;
    }
    #news h2 {
        font-size: 133.3%;
        margin-bottom: 20px;
    }
    #news .kijiBox {
        width: 100%;
    }
    #news .kijiBox dl {
        display: block;
        font-size: 86.6%;
    }
    #news .kijiBox dl dt,
    #news .kijiBox dl dd {
        width: auto;
    }
    #news .kijiBox ul li {
        margin-bottom: 20px;
    }
    #news .kijiBox ul li:last-child {
        border-bottom: none;
    }
    #news .kijiBox ul .mod_panel .panelTitle a {
        display: block;
    }
    #news .kijiBox ul .mod_panel .mod_panel_inner {
        font-size: 86.6%;
        width: 100%;
        padding: 10px 0 0 0;
        margin-top: 10px;
    }
    /*******************************
    #program
    *******************************/
    #program {
        padding: 40px 0;
    }
    #program h2 {
        font-size: 137.5%;
        margin-bottom: 30px;
    }
    #program ul {
        width: 89.3%;
    }
    #program ul li:nth-child(-n+3) {
        margin-bottom: 15px;
    }

    /*******************************
    #link01
    *******************************/
    #link01 {
        padding: 40px 0 50px 0;
    }
    #link01 .bg {
        height: 140px;
    }
    #link01 .boxWrap01{
        width: 89.3%;
        padding: 40px 20px 35px 20px;
    }
    #link01 .boxWrap01 .title img {
        margin-bottom: 15px;
        width: 17.6%;
    }
    #link01 .boxWrap01 .title p {
        font-size: 100%;
        margin-bottom: 10px;
        letter-spacing: 0;
    }
    #link01 .boxWrap01 .title h2 {
        font-size: 137.5%;
        margin-bottom: 30px;
    }
    #link01 .boxWrap01 .txtImp {
        font-size: 93.3%;
        margin-bottom: 30px;
    }
    #link01 .linkBtn {
        width: 100%;
        margin-top: 30px;
        font-size: 100%;
        height: 47px;
        line-height: 47px;
    }
    #link01 .boxWrap01 .box01 .sec01 {
        display: block;
        margin-top: 2em;
    }
    #link01 .boxWrap01 .box01 .sec01 section {
        width: 100%;
    }
    #link01 .boxWrap01 .box01 .sec01 .icon01 {
        font-size: 70%;
    }
    #link01 .boxWrap01 .box01 .sec01 .img01 {
        width: 20%;
    }
    #link01 .boxWrap01 .box01 .sec01:nth-child(1) .img01 {
        top: 0;
        width: 22%;
    }
    #link01 .boxWrap01 .box01 .sec01:nth-child(2) .img01 {
        right: 5%;
    }
    #link01 .boxWrap01 .box01 .sec01 h3 {
        font-size: 112.5%;
        margin-top: 0.25em;
        line-height: 1.4;
    }
    #link01 .boxWrap01 .box01 .sec01 p {
        font-size: 86.6%;
    }
    #link01 .boxWrap02, #link01 .boxWrap03 {
        width: 89.3%;
        padding: 20px;
    }
    #link01 .boxWrap02 h3 {
        font-size: 125%;
    }
    #link01 .boxWrap02 .box01 {
        margin-top: 0.5em;
    }
    #link01 .boxWrap02 .box01 dl dt {
        font-size: 86.6%;
        width: 68%;
    }
    #link01 .boxWrap02 .box01 dl dd {
        font-size: 100%;
        width: 30%;
    }
    #link01 .boxWrap02 .box02 {
        display: block;
        margin-top: 1.5em;
    }
    #link01 .boxWrap02 .box02 h4 {
        font-size: 86.6%;
    }
    #link01 .boxWrap02 .box02 ul {
        margin-left: 0.875em;
        font-size: 86.6%;
    }
    #link01 .boxWrap02 .box02 .box0202 {
        width: 100%;
    }
    #link01 .boxWrap03 h3 {
        font-size: 125%;
    }
    #link01 .boxWrap03 .each {
        display: block;
        margin-top: 1em;
    }
    #link01 .boxWrap03 .each .icon {
        width: 15%;
        margin: 0 auto;
        display: block;
    }
    #link01 .boxWrap03 .each:nth-child(odd) .icon {
        margin: 0 auto;
    }
    #link01 .boxWrap03 .each .baloon {
        width: 100%;
        font-size: 86.6%;
        padding: 0.75em 3.5%;
    }
    #link01 .boxWrap03 .each .baloon::before {
        left: 60%;
        bottom: auto;
        top: -0.5em;
        transform: rotate(90deg);
    }
    #link01 .boxWrap03 .each:nth-child(odd) .baloon::before {
        transform: scale(-1, 1) rotate(90deg);
        right: 60%;
    }

    /*******************************
    #link02
    *******************************/
    #link02 {
        padding: 40px 0 50px 0;
    }
    #link02 .bg {
        height: 140px;
    }
    #link02 .boxWrap01 {
        width: 89.3%;
        padding: 40px 20px 35px 20px;
        margin: 0 auto;
    }
    #link02 .boxWrap01 .title img {
        margin-bottom: 15px;
        width: 17.6%;
    }
    #link02 .boxWrap01 .title p {
        font-size: 100%;
        margin-bottom: 10px;
        letter-spacing: 0;
    }
    #link02 .boxWrap01 .title h2 {
        font-size: 137.5%;
        margin-bottom: 30px;
    }
    #link02 .leadTxt {
        font-size: 86.6%;
        margin-bottom: 30px;
    }
    #link02 .classDay {
        font-size: 79.6%;
        margin-bottom: 30px;
    }
    #link02 .classDay dt {
        font-size: 84.6%;
        margin-right: 5px;
        padding: 5px;
    }
    #link02 .classDay dd p:first-child {
        margin-bottom: 3px;
    }
    #link02 .classTxt ul {
        font-size: 100%;
        margin-bottom: 30px;
    }
    #link02 .classTxt ul li {
        text-indent: -1.2em;
        padding-left: 1.2em;
    }
    #link02 .table01 {
        margin-bottom: 30px;
    }
    #link02 .table01 tr th,
    #link02 .table01 tr td {
        display: block;
        width: 100%;
    }
    #link02 .table01 tr th {
        padding: 10px 0;
        text-align: center;
        font-size: 86.6%;
        border-bottom: none;
    }
    #link02 .table01 tr td {
        padding: 15px;
        font-size: 86.6%;
        border-top: none;
    }
    #link02 .table01 tr td .list02 li {
        text-indent: -0.5em;
        padding-left: 0.5em;
    }
    #link02 .mod_panel {
        margin-bottom: 30px;
    }
    #link02 .mod_panel_inner {
        padding: 20px;
    }
    #link02 .mod_panel_inner .flWrap {
        display: block;
    }
    #link02 .mod_panel_inner table {
        width: 100%;
    }
    #link02 .mod_panel_inner table:first-child {
        margin-bottom: 15px;
    }
    #link02 .mod_panel_inner table tr th {
        font-size: 66.6%;
        padding: 10px 0;
    }
    #link02 .mod_panel_inner table .wrap {
        padding: 10px 0;
        font-size: 53.3%;
    }
    #link02 .mod_panel_inner table tr:nth-child(n+3) td:nth-child(1) {
        padding: 10px 12px;
        font-size: 53.3%;
        width: 50%;
    }
    #link02 .mod_panel_inner table tr:nth-child(n+3) td:nth-child(2) {
        padding: 10px 6px;
        font-size: 53.3%;
        width: 50%;
    }
    #link02 .table02 {
        margin-bottom: 10px;
    }
    #link02 .table02 tr:first-child th {
        font-size: 106.6%;
    }
    #link02 .table02 tr:last-child {
        display: flex;
        flex-wrap: wrap;
    }
    #link02 .table02 tr:last-child th {
        display: block;
        width: 35.4%;
        font-size: 60%;
        padding: 10px 0;
    }
    #link02 .table02 tr:last-child td {
        display: block;
        width: 64.6%;
        padding: 5px 8px;
        font-size: 93.3%;
    }
    #link02 .subTxt {
        font-size: 66.6%;
        text-indent: -2.5em;
        padding-left: 2.5em;
    }
    #link02 .linkBtn {
        margin-top: 30px;
        width: 100%;
        font-size: 100%;
        height: 47px;
        line-height: 47px;
    }
    #link02 .linkTxt {
        font-size: 86.6%;
    }


    /*******************************
    #link03
    *******************************/
    #link03 {
        padding: 40px 0 50px 0;
    }
    #link03 .bg {
        height: 140px;
    }
    #link03 .boxWrap01 {
        width: 89.3%;
        padding: 40px 20px 35px 20px;
        margin: 0 auto;
    }
    #link03 .boxWrap01 .title img {
        margin-bottom: 15px;
        width: 17.6%;
    }
    #link03 .boxWrap01 .title p {
        font-size: 100%;
        margin-bottom: 10px;
        letter-spacing: 0;
    }
    #link03 .boxWrap01 .title h2 {
        font-size: 137.5%;
        margin-bottom: 30px;
    }
    #link03 .leadTxt {
        font-size: 86.6%;
        margin-bottom: 30px;
    }
    #link03 .impTxt {
        font-size: 93.3%;
        margin-bottom: 30px;
    }
    #link03 .classDay {
        margin-bottom: 30px;
        font-size: 86.6%;
    }
    #link03 .classDay dt {
        font-size: 73.3%;
        padding: 15px 10px;
    }
    #link03 .table01 {
        margin-bottom: 30px;
    }
    #link03 .table01 tr th,
    #link03 .table01 tr td {
        display: block;
        width: 100%;
    }
    #link03 .table01 tr th {
        padding: 10px 0;
        text-align: center;
        font-size: 86.6%;
        border-bottom: none;
    }
    #link03 .table01 tr td {
        padding: 15px;
        font-size: 86.6%;
        border-top: none;
    }
    #link03 .table01 tr td p.red {
        text-indent: -4.5em;
        padding-left: 4.5em;
    }
    #link03 .mod_panel {
        margin-bottom: 30px;
    }
    #link03 .mod_panel_inner {
        padding: 20px;
    }
    #link03 .table02 tr th {
        font-size: 66.6%;
        padding: 10px 0;
    }
    #link03 .table02 tr:nth-child(2) td {
        font-size: 53.3%;
    }
    #link03 .table02 tr:nth-child(n+3) td:nth-child(1) {
        font-size: 53.3%;
        padding: 12px 15px 12px 5px;
    }
    #link03 .table02 tr:nth-child(n+3) td:nth-child(1) span {
      font-size: 80%;
    }
    #link03 .table02 tr:nth-child(n+3) td:nth-child(2) {
        font-size: 53.3%;
        padding: 12px 8px 12px 8px;
    }
    #link03 .table03 {
        margin-bottom: 10px;
    }
    #link03 .table03 tr th {
        font-size: 106.6%;
    }
    #link03 .table03 tr td {
        font-size: 93.3%;
    }
    #link03 .txt01 {
        font-size: 66.6%;
    }
    #link03 .list02 {
        font-size: 66.6%;
    }
    #link03 .list02 li {
        text-indent: -1.2em;
        padding-left: 1.2em;
    }
    #link03 .linkBtn {
        flex-wrap: wrap;
        margin: 0 auto;
        gap: 0px;
    }
    #link03 .linkBtn a {
        width: 100%;
        margin-top: 30px;
        font-size: 100%;
        height: 47px;
        line-height: 47px;
    }
    #link03 .linkBtn_end_txt {
      font-size: 66.6%;
    }

    #link03 .panelTitle {
        font-size: 76.6%;
        text-align: left;
        padding-left: 1em;
    }

    /*******************************
    #link04
    *******************************/
    #link04 {
        padding: 40px 0 50px 0;
        margin-bottom: 50px;
    }
    #link04 .bg {
        height: 140px;
    }
    #link04 .boxWrap01 {
        width: 89.3%;
        padding: 40px 20px 35px 20px;
        margin: 0 auto;
    }
    #link04 .boxWrap01 .title img {
        margin-bottom: 15px;
        width: 17.6%;
    }
    #link04 .boxWrap01 .title p {
        font-size: 100%;
        margin-bottom: 10px;
        letter-spacing: 0;
    }
    #link04 .boxWrap01 .title h2 {
        font-size: 137.5%;
        margin-bottom: 30px;
    }
    #link04 .leadTxt {
        font-size: 86.6%;
        margin-bottom: 30px;
    }
    #link04 .classDay {
        margin-bottom: 30px;
        font-size: 86.6%;
    }
    #link04 .classDay dt {
        font-size: 84.6%;
        margin-right: 5px;
        padding: 12px 3px;
    }
    #link04 .table01 {
        margin-bottom: 30px;
    }
    #link04 .table01 tr th,
    #link04 .table01 tr td {
        display: block;
        width: 100%;
    }
    #link04 .table01 tr th {
        padding: 10px 0;
        text-align: center;
        font-size: 86.6%;
        border-bottom: none;
    }
    #link04 .table01 tr td {
        padding: 15px;
        font-size: 86.6%;
        border-top: none;
    }
    #link04 .table01 tr td dl {
        letter-spacing: 0;
    }
    #link04 .table01 tr td dl dt {
        margin-right: 0;
        width: 26.4%;
    }
    #link04 .table01 tr td dl dd {
        width: 73.6%;
    }
    #link04 .mod_panel {
        margin-bottom: 30px;
    }
    #link04 .mod_panel_inner {
        padding: 20px;
    }
    #link04 .table02 tr:nth-child(odd) th {
        padding: 10px 0;
        font-size: 66.6%;
    }
    #link04 .table02 tr td {
        font-size: 53.3%;
        padding: 10px 5px;
        display: flex;
        align-items: center;
    }
    #link04 .table02 tr:nth-child(even) td:first-child {
        display: block;
        width: 41.2%;
        border-bottom: 1px solid #cccccc;
    }
    #link04 .table02 tr:nth-child(even) td:nth-child(2) {
        display: block;
        width: 58.8%;
        border-bottom: 1px solid #cccccc;
        border-right: 1px solid #3b3231;
    }
    #link04 .table02 tr:nth-child(even) td:nth-child(3) {
        display: flex;
        width: 41.2%;
    }
    #link04 .table02 tr:nth-child(even) td:last-child {
        display: flex;
        width: 58.8%;
        border-right: 1px solid #3b3231;
    }
    #link04 .table02 tr:nth-child(even) {
        display: flex;
        flex-wrap: wrap;
    }
    #link04 .details {
        font-size: 66.6%;
    }
    #link04 .table03 {
        margin-bottom: 10px;
    }
    #link04 .table03 tr th {
        font-size: 106.6%;
    }
    #link04 .table03 tr:nth-child(n+2) th {
        font-size: 73.3%;
        font-weight: 400;
        background-color: #eeeeee;
        padding: 7px 0;
        color: #0f0f0f;
        border: 1px solid #cccccc;
        width: 21.7%;
    }
    #link04 .table03 tr td {
        width: 78.3%;
        font-size: 93.3%;
        padding: 9px 10px;
    }
    #link04 .table03 tr:nth-child(n+3) td:nth-child(2) {
        font-size: 93.3%;
        font-weight: 700;
        padding: 9px 10px;
    }
    #link04 .txt01 {
        font-size: 66.6%;
    }
    #link04 .linkBtn {
        width: 100%;
        margin-top: 30px;
        font-size: 100%;
        height: 47px;
        line-height: 47px;
    }

    #link04 .txt02 {
        font-size: 66.6%;
    }

    /*******************************
    #access
    *******************************/
    #access {
        width: 92%;
        margin: 0 auto;
    }
    #access h2 {
        font-size: 137.5%;
        margin-bottom: 30px;
    }
    #access .txtBox dl {
        font-size: 86.6%;
    }
    #access .txtBox {
        margin-bottom: 30px;
    }

    /*******************************
    footer
    *******************************/
    footer {
        padding-top: 50px;
    }
    footer img {
        width: 53.3%;
    }
    footer .copyright {
        font-size: 60%;
        padding: 15px 0;
    }

    /*******************************
    #pagetop
    *******************************/
    #pagetop .pagetopBtn {
        height: 40px;
        line-height: 40px;
        width: 40px;
    }
    #pagetop .pagetopBtn img {
        width: 15px;
    }


    /* 2021 06 29 add
    ------------------------------*/
    /*******************************
    .add210629
    *******************************/
    .add210629 .txt01 {
        font-size: 86.6%;
    }
    .add210629 .perWrap dl {
        width: 49%;
        padding: 10px;
    }
    .add210629 .perWrap dl:first-child {
        margin-right: 2%;
    }
    .add210629 .perWrap dl dt {
        font-size: 66.6%;
    }
    .add210629 .perWrap dl dd {
        align-items: center;
        margin-top: 8px;
    }
    .add210629 .perWrap dl dd .tag {
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 66.6%;
        margin-right: 5px;
    }
    .add210629 .perWrap dl dd .percent {
        font-size: 200%;
    }
    .add210629 .txt02 {
        width: 100%;
        font-size: 66.6%;
    }

    .endTxt {
      font-size: 100%;
      margin-bottom: 15px;
    }

    .tokuten {
      width: 89.3%;
      margin: 0 auto 30px auto;
    }



}
