@charset "UTF-8";

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url('../fonts/ZenKakuGothicNew-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url('../fonts/ZenKakuGothicNew-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url('../fonts/ZenKakuGothicNew-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url('../fonts/ZenKakuGothicNew-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

/*共通*/
.center {
    text-align: center;
}

.right {
    text-align: right;
}

.left {
    text-align: left;
}

.floatl {
    float: left;
}

.floatr {
    float: right;
}

.bold {
    font-weight: bold;
}

.none {
    display: none;
}

.red {
    color: #EA5511;
}

.blue {
    color: #00b9ef;
}

.black {
    color: #000000;
}

.white {
    color: #FFFFFF;
}

.yellow {
    color: #fff9b1;
}


.top05 {
    margin-top: 5px;
}

.top10 {
    margin-top: 10px;
}

.top20 {
    margin-top: 20px;
}

.top30 {
    margin-top: 30px;
}

.top40 {
    margin-top: 40px;
}

.top50 {
    margin-top: 50px;
}

.top60 {
    margin-top: 60px;
}

.top70 {
    margin-top: 70px;
}

.top80 {
    margin-top: 80px;
}

.top90 {
    margin-top: 90px;
}

.top100 {
    margin-top: 100px;
}

.ptop05 {
    padding-top: 5px;
}

.ptop10 {
    padding-top: 10px;
}

.ptop20 {
    padding-top: 20px;
}

.ptop30 {
    padding-top: 30px;
}

.ptop40 {
    padding-top: 40px;
}

.ptop50 {
    padding-top: 50px;
}

.ptop60 {
    padding-top: 60px;
}

.ptop70 {
    padding-top: 70px;
}

.ptop80 {
    padding-top: 80px;
}

.ptop90 {
    padding-top: 90px;
}

.ptop100 {
    padding-top: 100px;
}

.bottom05 {
    margin-bottom: 5px;
}

.bottom08 {
    margin-bottom: 8px;
}

.bottom10 {
    margin-bottom: 10px;
}

.bottom20 {
    margin-bottom: 20px;
}

.bottom30 {
    margin-bottom: 30px;
}

.bottom40 {
    margin-bottom: 40px;
}

.bottom50 {
    margin-bottom: 50px;
}

.bottom60 {
    margin-bottom: 60px;
}

.bottom70 {
    margin-bottom: 70px;
}

.bottom80 {
    margin-bottom: 80px;
}

.bottom90 {
    margin-bottom: 90px;
}

.bottom100 {
    margin-bottom: 100px;
}

.pbottom05 {
    padding-bottom: 5px;
}

.pbottom10 {
    padding-bottom: 10px;
}

.pbottom20 {
    padding-bottom: 20px;
}

.pbottom30 {
    padding-bottom: 30px;
}

.pbottom40 {
    padding-bottom: 40px;
}

.pbottom50 {
    padding-bottom: 50px;
}

.pbottom60 {
    padding-bottom: 60px;
}

.pbottom70 {
    padding-bottom: 70px;
}

.pbottom80 {
    padding-bottom: 80px;
}

.pbottom90 {
    padding-bottom: 90px;
}

.pbottom100 {
    padding-bottom: 100px;
}

.left05 {
    margin-left: 5px;
}

.left10 {
    margin-left: 10px;
}

.left15 {
    margin-left: 15px;
}

.left15 {
    margin-left: 15px;
}

.left20 {
    margin-left: 20px;
}

.left30 {
    margin-left: 30px;
}

.left40 {
    margin-left: 40px;
}

.left50 {
    margin-left: 50px;
}

.left60 {
    margin-left: 60px;
}

.left70 {
    margin-left: 70px;
}

.left80 {
    margin-left: 80px;
}

.left90 {
    margin-left: 90px;
}

.left100 {
    margin-left: 100px;
}

.pleft05 {
    padding-left: 5px;
}

.pleft10 {
    padding-left: 10px;
}

.pleft20 {
    padding-left: 20px;
}

.pleft30 {
    padding-left: 30px;
}

.pleft40 {
    padding-left: 40px;
}

.pleft50 {
    padding-left: 50px;
}

.pleft60 {
    padding-left: 60px;
}

.pleft70 {
    padding-left: 70px;
}

.pleft80 {
    padding-left: 80px;
}

.pleft90 {
    padding-left: 90px;
}

.pleft100 {
    padding-left: 100px;
}

.right05 {
    margin-right: 5px;
}

.right10 {
    margin-right: 10px;
}

.right15 {
    margin-right: 15px;
}

.right20 {
    margin-right: 20px;
}

.right25 {
    margin-right: 25px;
}

.right30 {
    margin-right: 30px;
}

.right40 {
    margin-right: 40px;
}

.right50 {
    margin-right: 50px;
}

.right60 {
    margin-right: 60px;
}

.right70 {
    margin-right: 70px;
}

.right80 {
    margin-right: 80px;
}

.right90 {
    margin-right: 90px;
}

.right100 {
    margin-right: 100px;
}

.pright05 {
    padding-right: 5px;
}

.pright10 {
    padding-right: 10px;
}

.pright20 {
    padding-right: 20px;
}

.pright30 {
    padding-right: 30px;
}

.pright40 {
    padding-right: 40px;
}

.pright50 {
    padding-right: 50px;
}

.pright60 {
    padding-right: 60px;
}

.pright70 {
    padding-right: 70px;
}

.pright80 {
    padding-right: 80px;
}

.pright90 {
    padding-right: 90px;
}

.pright100 {
    padding-right: 100px;
}

.drop10 {
    padding-left: 1.0em;
    text-indent: -1.0em;
}

.drop12 {
    padding-left: 1.2em;
    text-indent: -1.2em;
}

.drop13 {
    padding-left: 1.3em;
    text-indent: -1.3em;
}

.drop15 {
    padding-left: 1.5em;
    text-indent: -1.0em;
}

.drop18 {
    padding-left: 1.8em;
    text-indent: -1.8em;
}

.drop20 {
    padding-left: 2.0em;
    text-indent: -2.0em;
}

.drop25 {
    padding-left: 2.5em;
    text-indent: -1.0em;
}

.drop30 {
    padding-left: 3.0em;
    text-indent: -1.0em;
}

.drop34 {
    padding-left: 3.7em;
    text-indent: -1.0em;
}

.drop40 {
    padding-left: 4.0em;
    text-indent: -1.0em;
}

.drop200 {
    padding-left: 2.0em;
    text-indent: -2.0em;
}

.drop300 {
    padding-left: 3.0em;
    text-indent: -3.0em;
}

.drop400 {
    padding-left: 4.0em;
    text-indent: -4.0em;
}

.drop01 {
    padding-left: 1.0em;
}

.drop02 {
    padding-left: 2.0em;
}

.drop03 {
    padding-left: 3.0em;
}

.drop04 {
    padding-left: 4.0em;
}

.drop05 {
    padding-left: 5.0em;
}

ul.list_num {}

ul.list_num li:nth-child(1)::before {
    content: "①";
}

ul.list_num li:nth-child(2)::before {
    content: "②";
}

ul.list_num li:nth-child(3)::before {
    content: "③";
}

ul.list_num li:nth-child(4)::before {
    content: "④";
}

ul.list_num li:nth-child(5)::before {
    content: "⑤";
}

ul.list_num li:nth-child(6)::before {
    content: "⑥";
}

ul.list_num li:nth-child(7)::before {
    content: "⑦";
}

ul.list_num li:nth-child(8)::before {
    content: "⑧";
}

ul.list_num li:nth-child(9)::before {
    content: "⑨";
}

ul.list_num li:nth-child(10)::before {
    content: "⑩";
}

ul.list_num li:nth-child(11)::before {
    content: "⑪";
}

ul.list_num li:nth-child(12)::before {
    content: "⑫";
}

ul.list_num li:nth-child(13)::before {
    content: "⑬";
}

ul.list_num li:nth-child(14)::before {
    content: "⑭";
}

ul.list_num li:nth-child(15)::before {
    content: "⑮";
}

ul.list_num li:nth-child(16)::before {
    content: "⑯";
}

ul.list_num li:nth-child(17)::before {
    content: "⑰";
}

ul.list_num li:nth-child(18)::before {
    content: "⑱";
}

ul.list_num li:nth-child(19)::before {
    content: "⑲";
}

ul.list_num li:nth-child(20)::before {
    content: "⑳";
}

ul.list_num01 {}

ul.list_num01 li:nth-child(1)::before {
    content: "1. ";
}

ul.list_num01 li:nth-child(2)::before {
    content: "2. ";
}

ul.list_num01 li:nth-child(3)::before {
    content: "3. ";
}

ul.list_num01 li:nth-child(4)::before {
    content: "4. ";
}

ul.list_num01 li:nth-child(5)::before {
    content: "5. ";
}

ul.list_num01 li:nth-child(6)::before {
    content: "6. ";
}

ul.list_num01 li:nth-child(7)::before {
    content: "7. ";
}

ul.list_num01 li:nth-child(8)::before {
    content: "8. ";
}

ul.list_num01 li:nth-child(9)::before {
    content: "9. ";
}

ul.list_num02 {}

.list_num02 li:nth-child(1)::before {
    content: "（１）";
}

.list_num02 li:nth-child(2)::before {
    content: "（２）";
}

.list_num02 li:nth-child(3)::before {
    content: "（３）";
}

.list_num02 li:nth-child(4)::before {
    content: "（４）";
}

.list_num02 li:nth-child(5)::before {
    content: "（５）";
}

.list_num02 li:nth-child(6)::before {
    content: "（６）";
}

.list_num02 li:nth-child(7)::before {
    content: "（７）";
}

.list_num02 li:nth-child(8)::before {
    content: "（８）";
}

.list_num02 li:nth-child(9)::before {
    content: "（９）";
}

.list_num02 li:nth-child(10)::before {
    content: "（10）";
}

.list_num02 li:nth-child(11)::before {
    content: "（11）";
}

.list_num02 li:nth-child(12)::before {
    content: "（12）";
}

.list_num02 li:nth-child(13)::before {
    content: "（13）";
}

.list_num02 li:nth-child(14)::before {
    content: "（14）";
}

.list_num02 li:nth-child(15)::before {
    content: "（15）";
}

.list_num02 li:nth-child(16)::before {
    content: "（16）";
}

.list_num02 li:nth-child(17)::before {
    content: "（17）";
}

.list_num02 li:nth-child(18)::before {
    content: "（18）";
}

.list_num02 li:nth-child(19)::before {
    content: "（19）";
}

.list_num02 li:nth-child(20)::before {
    content: "（20）";
}

ul.list_dott {}

ul.list_dott li:nth-child(1):before,
ul.list_dott li:nth-child(2):before,
ul.list_dott li:nth-child(3):before,
ul.list_dott li:nth-child(4):before,
ul.list_dott li:nth-child(5):before,
ul.list_dott li:nth-child(6):before,
ul.list_dott li:nth-child(7):before,
ul.list_dott li:nth-child(8):before,
ul.list_dott li:nth-child(9):before,
ul.list_dott li:nth-child(10):before {
    content: "・";
}

ul.list_disc {}

ul.list_disc li:nth-child(1):before,
ul.list_disc li:nth-child(2):before,
ul.list_disc li:nth-child(3):before,
ul.list_disc li:nth-child(4):before,
ul.list_disc li:nth-child(5):before,
ul.list_disc li:nth-child(6):before,
ul.list_disc li:nth-child(7):before,
ul.list_disc li:nth-child(8):before,
ul.list_disc li:nth-child(9):before,
ul.list_disc li:nth-child(10):before {
    content: "○";
}

.fade00 {
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.fade00:hover {
    opacity: 0.0;
}

.fade10 {
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.fade10:hover {
    opacity: 0.1;
}

.fade20 {
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.fade20:hover {
    opacity: 0.2;
}

.fade30 {
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.fade30:hover {
    opacity: 0.3;
}

.fade40 {
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.fade40:hover {
    opacity: 0.4;
}

.fade50 {
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.fade50:hover {
    opacity: 0.5;
}

.fade60 {
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.fade60:hover {
    opacity: 0.6;
}

.fade70 {
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.fade70:hover {
    opacity: 0.7;
}

.fade80 {
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.fade80:hover {
    opacity: 0.8;
}

.fade90 {
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.fade90:hover {
    opacity: 0.9;
}

.scale10 {
    -moz-transition: -moz-transform 0.1s linear;
    -webkit-transition: -webkit-transform 0.1s linear;
    -o-transition: -o-transform 0.1s linear;
    -ms-transition: -ms-transform 0.1s linear;
    transition: transform 0.1s linear;
}

.scale10:hover {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

.scale20 {
    -moz-transition: -moz-transform 0.1s linear;
    -webkit-transition: -webkit-transform 0.1s linear;
    -o-transition: -o-transform 0.1s linear;
    -ms-transition: -ms-transform 0.1s linear;
    transition: transform 0.1s linear;
}

.scale20:hover {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

.scale30 {
    -moz-transition: -moz-transform 0.1s linear;
    -webkit-transition: -webkit-transform 0.1s linear;
    -o-transition: -o-transform 0.1s linear;
    -ms-transition: -ms-transform 0.1s linear;
    transition: transform 0.1s linear;
}

.scale30:hover {
    -webkit-transform: scale(1.3);
    -moz-transform: scale(1.3);
    -o-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3);
}

.scale40 {
    -moz-transition: -moz-transform 0.1s linear;
    -webkit-transition: -webkit-transform 0.1s linear;
    -o-transition: -o-transform 0.1s linear;
    -ms-transition: -ms-transform 0.1s linear;
    transition: transform 0.1s linear;
}

.scale40:hover {
    -webkit-transform: scale(1.4);
    -moz-transform: scale(1.4);
    -o-transform: scale(1.4);
    -ms-transform: scale(1.4);
    transform: scale(1.4);
}

.scale50 {
    -moz-transition: -moz-transform 0.1s linear;
    -webkit-transition: -webkit-transform 0.1s linear;
    -o-transition: -o-transform 0.1s linear;
    -ms-transition: -ms-transform 0.1s linear;
    transition: transform 0.1s linear;
}

.scale50:hover {
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -o-transform: scale(1.5);
    -ms-transform: scale(1.5);
    transform: scale(1.5);
}

.scale60 {
    -moz-transition: -moz-transform 0.1s linear;
    -webkit-transition: -webkit-transform 0.1s linear;
    -o-transition: -o-transform 0.1s linear;
    -ms-transition: -ms-transform 0.1s linear;
    transition: transform 0.1s linear;
}

.scale60:hover {
    -webkit-transform: scale(1.6);
    -moz-transform: scale(1.6);
    -o-transform: scale(1.6);
    -ms-transform: scale(1.6);
    transform: scale(1.6);
}

.scale70 {
    -moz-transition: -moz-transform 0.1s linear;
    -webkit-transition: -webkit-transform 0.1s linear;
    -o-transition: -o-transform 0.1s linear;
    -ms-transition: -ms-transform 0.1s linear;
    transition: transform 0.1s linear;
}

.scale70:hover {
    -webkit-transform: scale(1.7);
    -moz-transform: scale(1.7);
    -o-transform: scale(1.7);
    -ms-transform: scale(1.7);
    transform: scale(1.7);
}

.scale80 {
    -moz-transition: -moz-transform 0.1s linear;
    -webkit-transition: -webkit-transform 0.1s linear;
    -o-transition: -o-transform 0.1s linear;
    -ms-transition: -ms-transform 0.1s linear;
    transition: transform 0.1s linear;
}

.scale80:hover {
    -webkit-transform: scale(1.8);
    -moz-transform: scale(1.8);
    -o-transform: scale(1.8);
    -ms-transform: scale(1.8);
    transform: scale(1.8);
}

.scale90 {
    -moz-transition: -moz-transform 0.1s linear;
    -webkit-transition: -webkit-transform 0.1s linear;
    -o-transition: -o-transform 0.1s linear;
    -ms-transition: -ms-transform 0.1s linear;
    transition: transform 0.1s linear;
}

.scale90:hover {
    -webkit-transform: scale(1.9);
    -moz-transform: scale(1.9);
    -o-transform: scale(1.9);
    -ms-transform: scale(1.9);
    transform: scale(1.9);
}

.fade-in,
.fade-up,
.fade-left,
.fade-left02,
.fade-right,
.fade-right02,
.fade-bottom,
.fade-bottom02 {
    transition: .8s;
    opacity: 0;
}

.fade-in01 {
    transition: 1.0s;
    opacity: 0;
}

.fade-in02 {
    transition: 3.0s;
    opacity: 0;
}

.fade-in03 {
    transition: 4.0s;
    opacity: 0;
}

.fade-in-top {
    animation-name: fade-in-top;
    animation-duration: 2s;
    animation-iteration-count: 1;
    opacity: 1;
}

@keyframes fade-in-top {
    from {
        opacity: 0;
        transform: translateY(0px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-up-top {
    animation-name: fade-up-top;
    animation-duration: 0.8s;
    animation-iteration-count: 1;
    opacity: 1;
}

@keyframes fade-up-top {
    from {
        opacity: 0;
        transform: translateY(50px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-bottom-top {
    animation-name: fade-bottom-top;
    animation-duration: 0.8s;
    animation-iteration-count: 1;
    opacity: 1;
}

@keyframes fade-bottom-top {
    from {
        opacity: 0;
        transform: translateY(-50px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-left-top {
    animation-name: fade-left-top;
    animation-duration: 0.8s;
    animation-iteration-count: 1;
    opacity: 1;
}

@keyframes fade-left-top {
    from {
        opacity: 0;
        transform: translateX(10px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.fade-right-top {
    animation-name: fade-right-top;
    animation-duration: 0.8s;
    animation-iteration-count: 1;
    opacity: 1;
}

@keyframes fade-right-top {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.width10 {
    width: 10%;
}

.width15 {
    width: 15%;
}

.width20 {
    width: 20%;
}

.width25 {
    width: 25%;
}

.width30 {
    width: 30%;
}

.width35 {
    width: 35%;
}

.width40 {
    width: 40%;
}

.width45 {
    width: 45%;
}

.width50 {
    width: 50%;
}

.width55 {
    width: 55%;
}

.width60 {
    width: 60%;
}

.width65 {
    width: 65%;
}

.width70 {
    width: 70%;
}

.width75 {
    width: 75%;
}

.width80 {
    width: 80%;
}

.width85 {
    width: 85%;
}

.width90 {
    width: 90%;
}

.width95 {
    width: 95%;
}

.width100 {
    width: 100%;
}

/*共通*/


/*リセット*/
h1,
h2,
h3,
h4,
h5 {
    margin: 0px;
    padding: 0px;
}

h1 {}

h2 {}

h3 {}

h4 {}

h5 {}

ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
}

li {
    margin: 0px;
    padding: 0px;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    table-layout: fixed;
    /* レイアウト安定 */
}

th,
td {
    padding: 0;
    margin: 0;
    border: 0;
    text-align: left;
    vertical-align: top;
    font-weight: normal;
    background: transparent;
}

caption {
    text-align: left;
    font-weight: normal;
}

thead,
tbody,
tfoot {
    border: none;
}

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

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden],
template {
    display: none;
}

a {
    background: transparent;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0);
    color: #595757;
    overflow-wrap: anywhere;
    word-break: break-word;
}

a:active,
a:hover {
    outline: 0;
}

a img {
    border: none;
    display: block;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b,
strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

img {
    border: 0;
    margin: 0px;
    padding: 0px;
    display: block;
    width: 100%;
}

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

textarea {
    overflow: auto;
}

input[type="submit"],
input[type="reset"],
input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
    border-radius: 0px;
}

input[type="submit"]::focus,
input[type="reset"]::focus,
input[type="button"]::focus {
    outline-offset: -2px;
    border-radius: 0px;
}

p {
    margin: 0px;
    padding: 0px;
}

dl,
dt,
dd {
    margin: 0px;
    padding: 0px;
}

/*リセット*/


html {
    font-size: 62.5%;
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Zen Kaku Gothic New', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "ＭＳ Ｐゴシック", "Osaka", sans-serif;
    -webkit-text-size-adjust: 100%;
    max-height: 999999px;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 150%;
    text-align: justify;
    color: #595757;
    overflow-x: hidden;
}

#mobi_menu {
    display: none;
}



/*header*/
.header_box {}

.header_box .header_list {
    display: flex;
    justify-content: center;
    background: #fff;
    position: relative;
    z-index: 1000;
}

.header_box .header_list_inner {
    width: 90%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.header_box .header_logo {
    width: 120px;
    flex-shrink: 0;
}

.header_box .header_logo img {
    width: 100%;
    height: auto;
    display: block;
}

.header_english {
    position: absolute;
    top: 10px;
    right: 0;
    z-index: +1
}

.header_english a {
    color: #b13b23;
    text-decoration: none;
    font-weight: 700;
}

.g_nav {
    width: 100%;
    background: #fff;
}

.g_nav_list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin: 0 0 0 2%;
    padding: 0;
    list-style: none;
}

.g_nav_list > li {
    position: relative;
    list-style: none;
}

.g_nav_list > li > a {
    position: relative;
    display: block;
    padding: 20px 0;
    color: #002e5e;
    text-decoration: none;
    font-weight: 700;
    font-size: clamp(1.1rem, 1.1vw, 1.7rem);
    white-space: nowrap;
}

/* 全メニュー共通の下線アニメーション */
.g_nav_list > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 8px;
    width: 100%;
    height: 2px;
    background: #b76a4b;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.25s ease;
}

.g_nav_list > li:hover > a::after {
    transform: scaleX(1);
}

/* 子メニュー */
.sub-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 9999;
    width: max-content;
    min-width: 220px;
    max-width: 400px;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fff;
    border: 1px solid #b76a4b;
    box-sizing: border-box;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(10px);
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}

.sub-menu li {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.sub-menu li + li {
    border-top: 1px solid #b76a4b;
}

.sub-menu li a {
    display: block;
    width: 100%;
    margin: 0;
    padding: 12px 16px;
    box-sizing: border-box;
    color: #002e5e;
    text-decoration: none;
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 700;
    background: #fff;
    white-space: normal;
    border: none !important;
    text-align: center;
}

.sub-menu li a:hover {
    background: #f7f7f7;
    color: #002e5e;
    border: none !important;
}

/* hover時に表示 */
.menu-item-has-children:hover .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.header_img {
    height: 700px;
    overflow: hidden;
}

.header_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/*header*/





/* ハンバーガー */
.hamburger_btn {
    display: none;
    width: 44px;
    height: 44px;
    padding: 0;
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    position: relative;
    z-index: 10003;
}

.hamburger_btn span {
    display: block;
    width: 28px;
    height: 2px;
    margin: 0 auto;
    background: #002e5e;
    transition: 0.25s;
}

.hamburger_btn span + span {
    margin-top: 7px;
}

.hamburger_btn.is-active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.hamburger_btn.is-active span:nth-child(2) {
    opacity: 0;
}

.hamburger_btn.is-active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

/* SPメニュー */
.sp_nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background: rgba(255, 255, 255, 0.98);
    z-index: 10002;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    overflow-y: auto;
}

.sp_nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.sp_nav_inner {
    width: 88%;
    margin: 0 auto;
    padding: 20px 0 40px 0;
}

.sp_nav_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sp_nav_logo {
    width: 120px;
}

.sp_nav_logo img {
    width: 100%;
    height: auto;
    display: block;
}

.sp_nav_close {
    background: none;
    border: none;
    color: #002e5e;
    font-size: 3.2rem;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.sp_nav_list {
    margin-top: 30px;
    border-top: 1px solid #b76a4b;
}

.sp_nav_list > li {
    border-bottom: 1px solid #b76a4b;
}

.sp_nav_list > li > a,
.sp_toggle {
    display: block;
    width: 100%;
    padding: 16px 36px 16px 0;
    background: none;
    border: none;
    text-align: left;
    color: #002e5e;
    text-decoration: none;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    box-sizing: border-box;
    position: relative;
    cursor: pointer;
}

.sp_toggle::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    color: #b76a4b;
    font-size: 2.4rem;
    font-weight: 400;
}

.sp_has_children.is-open .sp_toggle::after {
    content: "−";
}

.sp_submenu {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-4px);
    transition: max-height 0.5s ease, opacity 1s ease, transform 1s ease;
}

.sp_has_children.is-open .sp_submenu {
    max-height: 1000px;
    opacity: 1;
    transform: translateY(0);
}

.sp_submenu li a {
    display: block;
    padding: 10px 0 10px 18px;
    color: #002e5e;
    text-decoration: none;
    font-size: 1.5rem;
    line-height: 1.5;
    position: relative;
}

.sp_submenu li a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 21px;
    width: 10px;
    height: 1px;
    background: #b76a4b;
}

body.menu-open {
    overflow: hidden;
}

/* ハンバーガー */


/* 最後のメニューだけ右揃えで開く */
.g_nav_list > li.menu-item-right-edge > .sub-menu {
    left: auto;
    right: 0;
    transform: translateX(0) translateY(10px);
}

.g_nav_list > li.menu-item-right-edge:hover > .sub-menu {
    transform: translateX(0) translateY(0);
}


/*footer*/
.footer_box {
    margin-top: 150px;
    position: relative;
    z-index: 10;
}

.footer_box .footer_list_inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    overflow: visible;
}

.footer_box .footer_logo {
    width: 180px;
    margin: 0 auto 30px auto;
}

.footer_box .footer_nav {
    width: 100%;
    background: transparent;
    overflow: visible;
}

.footer_box .footer_nav .g_nav_list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 36px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: visible;
}

.footer_box .footer_nav .g_nav_list > li {
    position: relative;
    list-style: none;
    overflow: visible;
}

.footer_box .footer_nav .g_nav_list > li > a {
    position: relative;
    display: block;
    padding: 16px 0;
    color: #002e5e;
    text-decoration: none;
    font-weight: 700;
    font-size: clamp(1.1rem, 1.1vw, 1.6rem);
    white-space: nowrap;
}

/* フッターの下線 */
.footer_box .footer_nav .g_nav_list > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 2px;
    background: #b76a4b;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.25s ease;
}

.footer_box .footer_nav .g_nav_list > li:hover > a::after,
.footer_box .footer_nav .g_nav_list > li:focus-within > a::after {
    transform: scaleX(1);
}

/* フッターのサブメニュー：下から上へ */
.footer_box .footer_nav .g_nav_list > li > .sub-menu {
    position: absolute;
    top: auto;
    bottom: 100%;
    left: 50%;
    z-index: 9999;
    width: max-content;
    min-width: 220px;
    max-width: 400px;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fff;
    border: 1px solid #b76a4b;
    box-sizing: border-box;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-50%) translateY(10px);
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}

/* 右端だけ右寄せ */
.footer_box .footer_nav .g_nav_list > li.menu-item-right-edge > .sub-menu {
    left: auto;
    right: 0;
    transform: translateX(0) translateY(10px);
}

/* hoverで表示 */
.footer_box .footer_nav .g_nav_list > li.menu-item-has-children:hover > .sub-menu,
.footer_box .footer_nav .g_nav_list > li.menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.footer_box .footer_nav .g_nav_list > li.menu-item-right-edge:hover > .sub-menu,
.footer_box .footer_nav .g_nav_list > li.menu-item-right-edge:focus-within > .sub-menu {
    transform: translateX(0) translateY(0);
}

.footer_box .footer_nav .sub-menu li {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.footer_box .footer_nav .sub-menu li + li {
    border-top: 1px solid #b76a4b;
}

.footer_box .footer_nav .sub-menu li a {
    display: block;
    width: 100%;
    margin: 0;
    padding: 12px 16px;
    box-sizing: border-box;
    color: #002e5e;
    text-decoration: none;
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 700;
    background: #fff;
    white-space: normal;
    text-align: center;
    border: none !important;
}

.footer_box .footer_nav .sub-menu li a:hover {
    background: #f7f7f7;
    color: #002e5e;
}

.footer_copy {
    text-align: center;
    margin-top: 40px;
    margin-bottom: 20px;
}

.footer_copy a {
    margin-left: 4em;
    text-decoration: none;
}

/*footer*/




/*共通*/
article {
    max-width: 1050px;
    width: 90%;
    margin: 0px auto;
    position: relative;
}

.pankuzu {
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0 0 -1em;
    position: relative;
}

.pankuzu li {
    white-space: nowrap;
    margin-left: 1em;
    display: flex;
    align-items: center;
}

.pankuzu li a {
    text-decoration: none;
    margin-top: 3px;
}

.contents_box {
    margin-top: 100px;
}

.contents_box_inner02 {
    max-width: 1050px;
    width: 90%;
    margin: 0px auto;
    position: relative;
}

.contents_box h1:nth-child(n+2),
.contents_box h2 {
    font-size: clamp(2.0rem, 2.5vw, 3.0rem);
    line-height: 100%;
    color: #002e5e;
    border-left: solid 8px #b13b23;
    padding: 5px 10px;
    letter-spacing: 0.25rem;
    line-height: 1.3;
}

.contents_box h2 span {
    display: block;
}

.contents_box p {
    margin-top: 40px;
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
}

.contents_box a {
    color: #b13b23;
}

.top_header_logo {
    width: 600px;
    margin: 10px auto 0px auto;
}

/*共通*/





/*top*/
#top {
    background: #ffffff;
}

#top article {
    max-width: 100%;
    width: 100%;
    margin: 0px auto;
    position: relative;
}

#top .box01,
#top .box02,
#top .box03_inner {
    max-width: 1050px;
    width: 90%;
    margin: 0px auto;
    position: relative;
}

#top .box01 {
    margin-top: -105px;
    position: relative;
}

#top .box01 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#top .box01 ul li {
    width: 48%;
    max-width: 480px;
    height: 210px;
    background: #fff;
    border-radius: 2px;
    border: solid 3px #002e5e;
}

#top .box01 ul li:nth-child(n + 3) {
    margin-top: 4em;
}

#top .box01 ul li a {
    width: 100%;
    height: 210px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: clamp(2rem, 2.5vw, 3rem);
    text-decoration: none;
    font-weight: 400;
    color: #002e5e;
    letter-spacing: 0.2em;
    background: url(../img/common/arrow01.svg) no-repeat #fff;
    background-size: 40px;
    background-position: bottom 20px right 30px;
    transition: 0.2s;
}

#top .box01 ul li a:hover {
    background-position: bottom 20px right 20px;
    transition: 0.2s;
    box-shadow: 10px 10px 10px rgba(0, 46, 94, 0.2);
}

#top .box01_img {
    width: 60px;
    transition: 0.2s;
}

#top .box01 ul li a:hover .box01_img {
    width: 70px;
    transition: 0.2s;
}

#top .box01_text {
    margin-top: 1em;
}

#top .box02 {
    padding-top: 50px;
}

#top .box02.event_page_box02 {
    padding-top: 0px;
}

#top .contents_box + .box02 {
    margin-top: 0px
}

#top .box02_title {
    width: 165px;
    position: absolute;
    top: 50px;
    left: -205px;
    background: #002e5e;
    padding: 3px;
    transition: 0.2s;
}

#top .box02 h2 {
    color: #fff;
    text-align: center;
    line-height: 100%;
    letter-spacing: 0.2em;
    font-size: 2.0rem;
    font-weight: 400px;
    background: #002e5e;
    border: solid 1px #fff;
    padding: 5px 0;
    line-height: 100%;
}

#top .box02_inner {
    margin-top: 0px;
}

#top .box02 ul.box02_menu {
    display: flex;
    width: 100%;
}

#top .box02 ul.box02_menu li {
    width: 25%;
    height: 100px;
    text-align: center;
    line-height: 120%;
}

#top .box02 ul.box02_menu li.active {
    background: #e7ebf0;
}

#top .box02 ul.box02_menu li a {
    width: calc(100% - 3px);
    height: 85px;
    border: solid 3px #002e5e;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.2s;
    text-decoration: none;
    letter-spacing: 0.2em;
    color: #002e5e;
    font-size: clamp(1.2rem, 1.5vw, 2rem);
    line-height: 120%;
    background: url(../img/common/arrow_bottom_b.svg) no-repeat;
    background-size: 20px;
    background-position: center bottom 10px;
    padding-bottom: 10px;
    position: relative;
    font-weight: 400;
}

#top .box02 ul.box02_menu li.active a {
    color: #fff;
    background: url(../img/common/arrow_bottom_w.svg) no-repeat #b13b23;
    background-size: 20px;
    background-position: center bottom 10px;
}

#top .box02 ul.box02_menu li:first-child a {
    width: calc (100% - 3px);
    border: solid 3px #002e5e;
}

#top .box02 ul.box02_menu li a:hover {
    background: url(../img/common/arrow_bottom_b.svg) no-repeat #e7ebf0;
    background-size: 20px;
    background-position: center bottom 8px;
    transition: 0.2s;
    box-shadow: 0px 10px 10px rgba(0, 46, 94, 0.4);
}

#top .box02 ul.box02_menu li.active a:hover {
    background: url(../img/common/arrow_bottom_w.svg) no-repeat #b13b23;
    background-size: 20px;
    background-position: center bottom 8px;
}

#top .box02 ul.box02_menu li a span {
    display: block;
}

#top .box02 ul.box02_menu li a::before {
    content: "";
    display: block;
    width: calc(100% - 20px);
    border: solid 2px #fff;
    position: absolute;
    top: 5px;
}

#top .box02 ul.box02_list {
    width: 100%;
    margin-top: 50px;
    font-size: 1.8rem;
    display: none;
}

#top .box02 ul.box02_list.active {
    display: block;
}

#top .box02 ul.box02_list li {
    border-bottom: solid 1px #002e5e;
    display: flex;
    padding: 1em;
    transition: 0.8s;
}

#top .box02 ul.box02_list li:last-child {
    border-bottom: none;
}

#top .box02 ul.box02_list li:hover {
    background: #e7ebf0;
    transition: 0.2s;
}

#top .box02 .box02_list_date {
    width: 150px;
    text-align: center;
    white-space: nowrap;
    padding-top: 2px;
    line-height: 150%;
}

#top .box02 .box02_list_category {
    margin-left: 40px;
    width: 150px;
}

#top .box02 .box02_list_category a {
    border: solid 2px #002e5e;
    text-align: center;
    display: block;
    white-space: nowrap;
    font-size: 1.6rem;
    text-decoration: none;
    background: #fff;
    padding: 5px 0;
    line-height: 100%;
}

#top .box02 .box02_list_text {
    margin-left: 40px;
    padding-top: 2px;
    width: calc(100% - 380px);
    line-height: 150%;
}

#top .box02 .box02_list_text a {
    text-decoration: none;
    transition: 0.2s;
}

#top .box02 .box02_list_text a:hover {
    color: #b13b23;
    transition: 0.2s;
}

#top .box02_tab_wrap {
    display: none;
}

#top .box02_tab_wrap.is-show {
    display: block;
}

#top .box02_inner .box02_list {
    margin: 40px 0 0 0;
    padding: 0;
    list-style: none;
}

#top .box02_inner .box02_list li {
    display: none;
}

#top .box02_inner .box02_list li.is-empty {
    display: block !important;
}

/* =========================
   ページャー共通（トップと統一）
========================= */

/* コンテナ */
#top .box02_pager,
.pager .page-numbers {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 40px 0 0;
    padding: 0;
    list-style: none;
}

/* liリセット（paginate_links対策） */
.pager .page-numbers li {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ボタン */
#top .box02_pager a,
.pager .page-numbers a,
.pager .page-numbers span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #0b3b78;
    color: #0b3b78;
    text-decoration: none;
    background: #fff;
    transition: 0.3s;
    box-sizing: border-box;
}

/* 現在ページ（トップ：is-current / 他：current） */
#top .box02_pager a.is-current,
.pager .page-numbers .current {
    background: #c24d2c;
    color: #fff;
    border-color: #c24d2c;
}

/* hover */
#top .box02_pager a:hover,
.pager .page-numbers a:hover {
    background: #c24d2c;
    color: #fff;
    border-color: #c24d2c;
}

/* トップページ最新情報：省略付きページャー */
#top .box02_pager .page-dots {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 4px;
    color: #0b3b78;
    box-sizing: border-box;
}


/* =========================
   ページャー共通移設用
========================= */
.pager {
    margin: 40px 0 0;
}

.pager .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 40px 0 0;
    padding: 0;
    list-style: none;
}

.pager .page-numbers li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pager .page-numbers a,
.pager .page-numbers span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #0b3b78;
    color: #0b3b78;
    text-decoration: none;
    background: #fff;
    box-sizing: border-box;
    transition: 0.3s;
    font-size: 1.4rem;
    line-height: 1;
}

/* 現在ページ */
.pager .page-numbers .current {
    background: #c24d2c;
    color: #fff;
    border-color: #c24d2c;
}

/* hover */
.pager .page-numbers a:hover {
    background: #c24d2c;
    color: #fff;
    border-color: #c24d2c;
}

/* 前へ・次へ */
.pager .page-numbers .prev,
.pager .page-numbers .next {
    width: auto;
    min-width: 40px;
    padding: 0 12px;
}



#top .box03 {
    width: 100%;
    margin: 0px auto;
    padding: 40px 0 50px 0;
    position: relative;
    background: #002e5e;
    margin-top: 40px;
}

#top .box03_title {
    width: 165px;
    position: absolute;
    top: 20px;
    left: -205px;
    background: #fff;
    padding: 3px;
    transition: 0.2s;
}

#top .box03 h2 {
    color: #002e5e;
    text-align: center;
    line-height: 100%;
    letter-spacing: 0.2em;
    font-size: 2.0rem;
    font-weight: 400px;
    background: #fff;
    border: solid 1px #002e5e;
    padding: 5px 0;
    line-height: 100%;
}

#top .box03 ul.box03_list {
    width: 100%;
    font-size: 1.8rem;
}

#top .box03 ul.box03_list li {
    border-bottom: solid 1px #fff;
    display: flex;
    padding: 1em 0;
    transition: 0.8s;
}

#top .box03 ul.box03_list li.is-empty {
color: #fff;
display: flex;
align-items: center;
}

#top .box03 ul.box03_list li.is-empty div {
margin-top: 8px;
}

#top .box03 ul.box03_list li:last-child {
    border: none;
}

#top .box03 ul.box03_list li:hover {
    background: #6ca9e0;
    transition: 0.2s;
}

#top .box03 ul.box03_list li.is-empty:hover {
background: none;
}

#top .box03 .box03_list_date {
    width: 150px;
    text-align: left;
    white-space: nowrap;
    padding-top: 2px;
    color: #fff;
}

#top .box03 .box03_list_category {
    margin-left: 20px;
    width: 150px;
}

#top .box03 .box03_list_category a {
    border: solid 2px #002e5e;
    text-align: center;
    display: block;
    white-space: nowrap;
    font-size: 1.6rem;
    text-decoration: none;
    background: #fff;
    transition: 0.2s;
    color: #333;
}

#top .box03 .box03_list_category a:hover {
    background: #002e5e;
    transition: 0.2s;
    color: #fff;
    box-shadow: 0px 10px 10px rgba(0, 46, 94, 0.4);
}

#top .box03 .box03_list_text {
    margin-left: 20px;
    padding-top: 2px;
    width: calc(100% - 180px);
}

#top .box03 .box03_list_text a {
    text-decoration: none;
    transition: 0.2s;
    color: #fff;
}

#top .box03 .box03_list_text a:hover {
    color: #002e5e;
    transition: 0.2s;
}

#top .box03 .pager .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#top .background_img {
    margin: 100px auto 0;
    width: 100%;
    height: 600px;
}

#top .background_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/*top*/





/*about*/
#about {}

#about .contents_box ul.list_box {
    margin-top: 80px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#about .contents_box ul.list_box li {
    width: 47%;
    border: solid 3px #002e5e;
}

#about .contents_box ul.list_box li:nth-child(n+3) {
    margin-top: 40px;
}

#about .contents_box ul.list_box li a {
    text-decoration: none;
    padding: 50px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: clamp(1.6rem, 2.0vw, 2.8rem);
    letter-spacing: 0.1em;
    color: #002e5e;
    transition: 0.2s;
    line-height: 150%;
    height: calc(100% - 100px);
}

#about .contents_box ul.list_box li a:hover {
    background: #b13b23;
    color: #fff;
    transition: 0.2s;
}

#about .contents_box .contents_box_fontsize_l {
    margin-top: 130px;
    padding-bottom: 50px;
    display: flex;
    justify-content: center;
}

#about .contents_box .contents_box_fontsize_l img {
    width: 60%;
}

#about .contents_box .contents_img {
    width: 70%;
    margin: 60px auto;
}

#about .houshin_wrapper {
    display: flex;
}

#about .houshin01 {
    border: solid 2px #002e5e;
    margin-top: 40px;
    width: 50%;
}

#about .houshin01 h2 {
    margin: 20px 0 0 20px;
}

#about .houshin01 + .houshin01 {
    border-left: none;
}

#about .houshin01 ul {
    margin: 10px 20px;
}

#about .houshin01 ul li {
    border-bottom: solid 2px #002e5e;
    padding: 20px 20px 20px 40px;
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
}

#about .houshin01 ul li:last-child {
    border-bottom: none;
}

#about .houshin02 {
    margin-top: 60px;
}

#about .houshin02 ul {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#about .houshin02 ul li {
    width: 28%;
    padding: 30px 2%;
    border: solid 2px #002e5e;
}

#about .houshin02 ul li:last-child {
    width: 96%;
    margin-top: 1.5%;
}

#about .houshin02 ul li h3 {
    font-size: clamp(1.8rem, 2.0vw, 2.8rem);
    color: #002e5e;
    text-align: center;
}

#about .houshin02 ul li:last-child p {
    text-align: center;
}

#about .houshin02 ul li p {
    margin-top: 20px;
}

#about h3.contents_title {
    margin-top: 60px;
    font-size: clamp(1.8rem, 2.0vw, 2.4rem);
    line-height: 180%;
    letter-spacing: 0.1em;
}

#about h4.contents_title {
    margin-top: 60px;
    font-size: clamp(1.8rem, 2.0vw, 2.4rem);
    text-align: center;
    color: #002e5e;
    line-height: 180%;
    letter-spacing: 0.1em;
}

#about .contents_img {
    width: 50%;
    max-width: 400px;
}

#about .contents_flexbox {
    display: flex;
}

#about .contents_l {
    max-width: 400px;
    width: 50%;
}

#about .contents_r {
    display: flex;
    align-items: center;
}

#about .contents_r ul {
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
    margin-left: 10%;
}

#about .contents_r ul li {
    line-height: 200%;
}

#about .contents_wrapper {
    border: solid 2px #333;
    padding: 5% 10%;
    margin-top: 40px;
}

#about .contents_wrapper ul {}

#about .contents_wrapper ul li {
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    line-height: 180%;
}

#about .contents_wrapper ul li + li {
    margin-top: 1em;
}

#about .saishinjoho ul {
    margin-top: 40px;
}

#about .saishinjoho ul li + li {
    margin-top: 20px;
    line-height: 180%;
}

#about .saishinjoho li {
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
}

#about .saishinjoho li.drop13 span {
    display: block;
    margin-left: 1.5em;
}

#about .saishinjoho .link_box {
    margin-top: 80px;
}

#about .saishinjoho .link_box h3 {
    color: #002e5e;
    text-align: center;
    font-size: clamp(1.8rem, 2.2vw, 2.4rem);
}

#about .saishinjoho .link_box ul + h3 {
    margin-top: 60px;
}

#about .saishinjoho .link_box h4 {
    color: #002e5e;
    text-align: center;
    font-size: clamp(2.0rem, 2.0vw, 2.8rem);
    transition: 0.5s;
}

#about .saishinjoho .link_box h3 + ul {
    margin-top: 30px;
}

#about .saishinjoho .link_box ul {
    display: flex;
    justify-content: space-between;
}

#about .saishinjoho .link_box ul li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: solid 2px #002e5e;
    width: 21%;
    padding: 30px 5%;
    transition: 0.5s;
}

#about .saishinjoho .link_box ul li:nth-child(n+2) {
    margin-top: 0px;
}

#about .saishinjoho .link_box ul li:only-child {
    width: 90%;
}

#about .saishinjoho .link_box ul li a {
    text-align: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
    font-size: clamp(1.6rem, 1.6vw, 1.8rem);
    line-height: 180%;
    transition: 0.2s;
}

#about .saishinjoho .link_box ul li:hover {
    background: #002e5e;
    transition: 0.2s;
}

#about .saishinjoho .link_box ul li:hover h4 {
    color: #fff;
    transition: 0.2s;
}

#about .saishinjoho .link_box ul li:hover a {
    color: #fff;
    transition: 0.2s;
}

#about .saishinjoho .link_box ul li a span {
    display: block;
}

#about .saishinjoho .link_box ul li p {
    margin-top: 20px;
}

#about .kokunaiuchiage {}

#about .kokunaiuchiage ul {
    margin-top: 40px;
}

#about .kokunaiuchiage ul li {
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
}

#about .kokunaiuchiage ul li + li {
    margin-top: 1em;
}

#about .contents_img04 {
    display: flex;
    justify-content: center;
    margin-top: 60px;
}

#about .contents_img04 img {
    width: 70%;
    max-width: 500px;
}

#about .contents_img05 {
    margin-top: 60px;
}

#about .contents_img05 img {}

#about .contents_pdpo_box {
    margin-top: 60px;
}

#about .contents_pdpo_box {}

#about .contents_pdpo_box ul {
    display: flex;
    flex-direction: column;
    padding: 0 30px 30px 30px;
    margin-bottom: 30px;
    background: linear-gradient(to bottom,
            #ffffff 0%,
            #002e5e 40%);
}

#about .contents_pdpo_box ul li {
    border: solid 2px #002e5e;
    background: #fff;
    padding: 30px;
    display: flex;
    flex-wrap: wrap;
}

#about .contents_pdpo_box ul li + li {
    margin-top: 30px;
}

#about .contents_pdpo_box ul li .contents_l {
    width: 40%;
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
    letter-spacing: 0.1em;
    margin-top: 20px;
}

#about .contents_pdpo_box ul li .contents_l p {
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
    margin-top: 20px;
    text-align: center;
}

#about .contents_pdpo_box ul li .contents_r {
    width: 55%;
    margin-left: 5%;
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    line-height: 180%;
    margin-top: 20px;
}

#about .contents_pdpo_box h3 {
    font-size: clamp(1.8rem, 2.0vw, 2.4rem);
    color: #002e5e;
    letter-spacing: 0.1em;
    width: 100%;
}

#about .contents_pdpo_box dl {
    display: flex;
}

#about .contents_pdpo_box dl dt {
    width: 70px;
}

#about .contents_pdpo_box dl dd {
    margin-left: 1.5em;
    font-size: clamp(1.4rem, 1.4vw, 1.8rem);
    width: calc(100% - 70px - 1.5em)
}

#about .contents_pdpo_box .contents_l_c {
    border: solid 1px #002e5e;
    text-align: center;
    margin-top: 20px;
    padding: 10px 20px;
}

#about .contents_pdpo_box .contents_l_c dl dt {
    width: 95px;
}

#about .contents_pdpo_box .contents_l_c dl dd {
    margin-left: 1em;
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
    width: calc(100% - 95px - 1.0em)
}

#about .contents_jaxa_box ul {
    background: none;
}

#about ul.contents_list {
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
    margin-top: 40px;
}

#about .contents_img06 {
    margin-top: 60px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

#about .contents_img06 img {
    width: 100%;
    max-width: 790px;
}

#about .contents_img06 img.sp {
    display: none;
}

#about .contents_pobox {
    margin-top: 20px;
    border: solid 2px #002e5e;
    background: #fff;
}

#about .contents_pobox + .contents_pobox {
    margin-top: 0;
    border-top: none;
}

#about .contents_pobox .contents_pobox_table {
    width: 100%;
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
}

#about .contents_pobox .contents_pobox_table tr {
    border-bottom: solid 1px #002e5e;
    transition: 0.5s;
}

#about .contents_pobox .contents_pobox_table tr th {
    text-align: center;
}

#about .contents_pobox .contents_pobox_table tr:nth-child(n+2):hover {
    background: #e7ebf0;
    color: #000;
    transition: 0.2s;
}

#about .contents_pobox .contents_pobox_table tr:last-child {
    border: none;
}

#about .contents_pobox .contents_pobox_table tr.thead {
    background: #002e5e;
    color: #fff;
}

#about .contents_pobox .contents_pobox_table tr th,
#about .contents_pobox .contents_pobox_table tr td {
    padding: 10px;
}

#about .contents_pobox .contents_pobox_table tr th:first-child {
    width: 40%;
}

#about .contents_pobox .contents_pobox_table tr th:nth-child(n+2) {
    width: 15%;
    text-align: center;
}

#about .contents_pobox .contents_pobox_table tr td:first-child {
    width: 40%;
}

#about .contents_pobox .contents_pobox_table tr td:nth-child(n+2) {
    width: 15%;
    text-align: center;
}

#about .contents_pobox .contents_pobox_table tr td:last-child span {
    display: block;
    font-size: 1.2rem;
}

/*about*/





/*kobo*/
#kobo .setsumeikai ul li {
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
}

#kobo .setsumeikai ul li {}

.page-numbers {
    display: flex;
    margin-top: 40px;
    text-align: center;
    justify-content: center;
}

/*kobo*/





/*keiyaku*/
#keiyaku {}

#keiyaku p.contents_text {
    text-align: center;
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
}

#keiyaku ul.keiyaku_list {
    margin-top: 60px;
}

#keiyaku ul.keiyaku_list li + li {
    margin-top: 40px;
}

#keiyaku ul.keiyaku_list li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: solid 2px #002e5e;
    width: 90%;
    padding: 30px 5%;
    text-decoration: none;
    color: #002e5e;
    transition: 0.5s;
}

#keiyaku ul.keiyaku_list li a:hover {
    background: #002e5e;
    color: #fff;
    transition: 0.2s;
}

#keiyaku ul.keiyaku_list li a:hover p {
    color: #fff;
    transition: 0.2s;
}

#keiyaku ul.keiyaku_list li a h3 {
    font-size: clamp(1.8rem, 2.0vw, 2.8rem);
}

#keiyaku ul.keiyaku_list li a p {
    margin-top: 20px;
    color: #333;
    transition: 0.5s;
}

/*keiyaku*/





/*contact*/
#contact ul.contact_list {
    margin-top: 60px;
}

#contact h3.contents_title {
    margin-top: 60px;
    font-size: clamp(1.8rem, 2.0vw, 2.8rem);
}

#contact p.contact_text {
    text-align: center;
}

#contact ul.contact_list li {}

#contact ul.contact_list li + li {
    margin-top: 40px;
}

#contact ul.contact_list li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: solid 2px #002e5e;
    width: 90%;
    padding: 30px 5%;
    text-decoration: none;
    color: #002e5e;
    transition: 0.5s;
}

#contact ul.contact_list li a h3 {
    font-size: clamp(1.8rem, 2.0vw, 2.8rem);
    line-height: 1.4;
    text-align: center;
    transition: 0.2s;
}

#contact ul.contact_list li a:hover {
    background: #002e5e;
    transition: 0.2s;
    color: #fff;
}

#contact ul.contact_list li a:hover h3 {
    color: #fff;
    transition: 0.2s;
}

#contact .contact_link {
    text-align: center;
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
    margin-top: 60px;
}

#contact p + ul.list_text {
    font-size: clamp(1.6rem, 2.0vw, 2.0rem);
    line-height: 180%;
}

/*contact*/





/*search*/
#search {}

#search .box01 {}

#search .box02 {}

#search .box02 .selectedcompany-search-group {
    margin-top: 60px;
}

#search .box02 ul.koubo_list {
    margin-top: 60px;
}

#search .box02 ul.koubo_list li.list_first {}

#search .box02 ul.koubo_list li {
    border-bottom: solid 1px #002e5e;
    display: flex;
    padding: 1em;
    transition: 0.8s;
}

#search .box02 ul.koubo_list li:hover {
    background: #e7ebf0;
    transition: 0.2s;
}

#search .box02 ul.koubo_list .list_date {
    width: 150px;
    text-align: center;
    white-space: nowrap;
    padding-top: 2px;
    display: flex;
    align-items: center;
    font-size: clamp(1.6rem, 2.0vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
}

#search .box02 ul.koubo_list .list_category {
    margin-left: 40px;
    width: 150px;
    font-size: clamp(1.6rem, 2.0vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
    text-align: center;
}

#search .box02 ul.koubo_list .list_category a:nth-child(1) {
    border: solid 2px #002e5e;
    border-bottom: none;
    text-align: center;
    display: block;
    white-space: nowrap;
    font-size: 1.6rem;
    text-decoration: none;
    background: #002e5e;
    transition: 0.2s;
    color: #fff;
}

#search .box02 ul.koubo_list .list_category a:nth-child(2) {
    border: solid 2px #002e5e;
    text-align: center;
    display: block;
    white-space: nowrap;
    font-size: 1.6rem;
    text-decoration: none;
    background: #fff;
    transition: 0.2s;
    color: #333;
}

#search .box02 ul.koubo_list .list_text {
    margin-left: 40px;
    padding-top: 2px;
    width: calc(100% - 380px);
    font-size: clamp(1.6rem, 2.0vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
}

#search .box02 ul.koubo_list .list_text a {
    text-decoration: none;
    transition: 0.2s;
    display: flex;
    align-items: center;
    height: 100%;
    color: #333;
}

#search .box02 ul.koubo_list .list_text a:hover {
    color: #b13b23;
    transition: 0.2s;
}

#search .box02 ul.koubo_list li.list_first {
    border-bottom: none !important;
}

#search .box02 ul.koubo_list li.list_first div {
    border: solid 2px #002e5e;
    text-align: center !important;
    justify-content: center;
    padding: 5px 0;
}

#search .box02 .
}


#search .box03 {}

#search .box03 ul {
    width: 80%;
    margin: 60px auto 0 auto;
}

#search .box03 ul li + li {
    margin-top: 60px;

}

#search .box03 ul li {
    border: solid 3px #002e5e;
}

#search .box03 ul li a {
    text-decoration: none;
    color: #002e5e;
    text-align: center;
    display: block;
    font-size: clamp(2.0rem, 2.5vw, 3rem);
    line-height: 100%;
    padding: 60px;
    transition: 0.2s;
}

#search .box03 ul li a:hover {
    background: #b13b23;
    color: #fff;
    transition: 0.2s;
}

#search .box04 {}

/*search*/





/*jigyou*/
#jigyou .jigyou_table_wrap {
    margin-top: 60px;
}

#jigyou table.jigyou_table {
    border: solid 2px #002e5e;
    margin-top: 60px;
}

#jigyou table.jigyou_table tr:first-child {
    background: #002e5e;
    color: #fff;
}

#jigyou table.jigyou_table tr:first-child th {
    text-align: center;
    padding: 10px;
}

#jigyou table.jigyou_table tr {
    transition: 0.2s;
}

#jigyou table.jigyou_table tr:nth-child(n + 2):hover {
    background: #f4f4f4;
    transition: 0.2s;
}

#jigyou table.jigyou_table tr th {
    vertical-align: middle;
}

#jigyou table.jigyou_table tr td {
    text-align: center;
    border-right: solid 1px #002e5e;
    border-top: none;
    border-left: none;
    border-bottom: none;
    padding: 10px;
    vertical-align: middle;
}

#jigyou table.jigyou_table tr th:nth-child(1) {
    width: 11%;
    min-width: 5em;
}

#jigyou table.jigyou_table tr th:nth-child(2) {
    width: 27%;
}

#jigyou table.jigyou_table tr th:nth-child(3) {
    width: 18%;
}

#jigyou table.jigyou_table tr th:nth-child(4) {
    width: 18%;
}

#jigyou table.jigyou_table tr th:nth-child(5) {
    width: 13%;
    line-height: 120%;
}

#jigyou table.jigyou_table tr th:nth-child(6) {
    width: 13%;
    line-height: 120%;
}

#jigyou table.jigyou_table tr td:nth-child(1),
#jigyou table.jigyou_table tr td:nth-child(5) {
    white-space: nowrap;
}

#jigyou table.jigyou_table tr td {
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
    line-height: 150%;
}

#jigyou .box02 .selectedcompany-search-group {
    margin-top: 60px;
}

#jigyou .contents_pr {
    display: flex;
    margin-top: 40px;
}

#jigyou .contents_pr li + li {
    margin-left: 2em;
}

#jigyou .contents_pr li a {
    border: solid 2px #002e5e;
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    padding: 1em 2em;
    color: #002e5e;
    text-decoration: none;
    display: block;
    transition: 0.2s;
}

#jigyou .contents_pr li a:hover {
    transition: 0.2s;
    background: #002e5e;
    color: #fff;
}


/*event*/
#event article {
    max-width: 100%;
    width: 100%;
    margin: 0px auto;
    position: relative;
}

#event .box01,
#event .box02,
#event .box03_inner {
    max-width: 1050px;
    width: 90%;
    margin: 0px auto;
    position: relative;
}

#event .event_box {
    background: #002e5e;
    color: #fff;
    padding: 30px 0;
    text-align: center;
    margin-top: 60px;
}

#event .event_box h3 {
    font-size: clamp(1.8rem, 2.0vw, 2.8rem);
    line-height: 180%;
}

#event .event_box h3 a {
    color: #b13b23;
}

#event .box02_menu {
    display: flex;
}

#event .box02_menu li {}

#event .box02_menu li + li {
    margin-left: 2em;
}

#event .box02_menu li a {
    width: 250px;
    height: 70px;
    display: flex;
    align-items: center;
    color: #fff;
    text-decoration: none;
    padding: 0 0 0 20px;
    font-size: 2.0rem;
    background: url(../img/common/arrow_right.svg) no-repeat;
    background-size: 13px;
    background-position: center right 20px;
}

#event .box02_menu li.interview {
    background: #b13b23;
}

#event .box02_menu li.event {
    background: #002e5e;
}

#event .box02_menu li.report {
    background: #595757;
}

#event .box02_menu li {}

#event .box02_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 80px;
}

#event .box02_contents {
    width: 300px;
    margin-bottom: 40px;
    display: block;
}

#event .box02_contents:nth-child(3n+2):last-child {
    margin-right: calc(300px * 1 + ((100% - 300px * 3) / 2) * 1);
}

#event .box02_contents_cate a {
    text-decoration: none;
    color: #fff;
    width: 145px;
    height: 30px;
    padding: 0 10px;
    line-height: 100%;
    display: flex;
    align-items: center;
    transition: 0.2s;
}

#event .box02_contents_cate a:hover {
    opacity: 0.8;
    transition: 0.2s;
}

#event .box02_contents_cate a.interview {
    background: #b13b23;
}

#event .box02_contents_cate a.event {
    background: #002e5e;
}

#event .box02_contents_cate a.report {
    background: #595757;
}

#event .box02_contents_img img {
    border: solid 2px #002e5e;
    margin-top: 20px;
}

#event .box02_contents_date {
    font-size: 1.8rem;
    margin-top: 10px;
}

#event .box02_contents_title {
    margin-top: 10px;
}

#event .box02_contents_title a {
    font-size: 1.8rem;
    text-decoration: none;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    overflow: hidden;

    /* 文字組みリセット */
    text-align: left;
    text-align-last: auto;
    text-justify: auto;
    letter-spacing: normal;
    word-spacing: normal;
    text-indent: 0;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    line-break: auto;
    font-feature-settings: normal;
    line-height: 150%;
}

#event .event_pagination {
    margin-top: 60px;
}

#event .event_pagination ul {
    display: flex;
    justify-content: center;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

#event .event_pagination li {
    margin: 0;
}

#event .event_pagination a,
#event .event_pagination span {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #1f3f74;
    background: #fff;
    color: #1f3f74;
    text-decoration: none;
}

#event .event_pagination .current {
    background: #b13b23;
    border-color: #b13b23;
    color: #fff;
}

/*event*/





/*モーダル表示*/
body.is-pr-pdf-modal-open {
    overflow: hidden;
}

.pr-pdf-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.pr-pdf-modal.pr-pdf-modal-is-ready {
    display: block;
}

.pr-pdf-modal.pr-pdf-modal-is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.35s ease, visibility 0.35s ease;
}

.pr-pdf-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    opacity: 0;
    transition: opacity 0.35s ease;
}

.pr-pdf-modal.pr-pdf-modal-is-open .pr-pdf-modal__overlay {
    opacity: 1;
}

.pr-pdf-modal__content {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(94vw, 1200px);
    height: min(90vh, 900px);
    transform: translate(-50%, -50%) scale(0.96);
    opacity: 0;
    background: #fff;
    box-sizing: border-box;
    padding: 50px 20px 20px;
    overflow: hidden;
    z-index: 2;
    transition: opacity 0.35s ease, transform 0.35s ease;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.pr-pdf-modal.pr-pdf-modal-is-open .pr-pdf-modal__content {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.pr-pdf-modal__close {
    position: absolute;
    top: 8px;
    right: 12px;
    border: 0;
    background: transparent;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    color: #002e5e;
    z-index: 3;
}

.pr-pdf-modal__body {
    width: 100%;
    height: 100%;
}

.pr-pdf-modal__body iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: none;
}

/*モーダル表示*/

/*jigyou*/






/* ========================================
採択事業検索ボタンUI（完成版）
======================================== */

.selectedcompany-search-form {
    margin-top: 40px;
}

.selectedcompany-search-group {
    margin-bottom: 26px;
}

/* =====================
リスト全体
===================== */
.selectedcompany-checkbox-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 2.6%;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* =====================
各項目（23%＋max230px）
===================== */
.selectedcompany-checkbox-list li {
    width: 23%;
    max-width: 230px;
    margin: 0;
    padding: 0;
}

/* =====================
「すべて」だけ1段目中央
===================== */
.selectedcompany-checkbox-list li:first-child {
    width: 100%;
    max-width: none;
    display: flex;
    justify-content: center;
    margin-bottom: 4px;
}

.selectedcompany-checkbox-list li:first-child label {
    width: 23%;
    max-width: 230px;
}

/* =====================
label
===================== */
.selectedcompany-checkbox-list label {
    display: block;
    width: 100%;
    cursor: pointer;
}

/* checkbox隠す */
.selectedcompany-checkbox-list input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* =====================
ボタン本体（フォント統一）
===================== */
.selectedcompany-checkbox-list label span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 58px;
    padding: 0 18px 0 50px;
    box-sizing: border-box;
    border: 2px solid #003b78;
    font-size: clamp(1.6rem, 2.0vw, 2.0rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.12em;
    transition: opacity 0.25s ease;
}

/* =====================
チェック枠
===================== */
.selectedcompany-checkbox-list label span::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 50%;
    width: 20px;
    height: 20px;
    border: 2px solid currentColor;
    transform: translateY(-50%);
}

/* レ点 */
.selectedcompany-checkbox-list label span::after {
    content: "";
    position: absolute;
    left: 22px;
    top: 50%;
    width: 9px;
    height: 16px;
    border-right: 3px solid currentColor;
    border-bottom: 3px solid currentColor;
    transform: translateY(-60%) rotate(45deg);
    opacity: 0;
}

.selectedcompany-checkbox-list input[type="checkbox"]:checked + span::after {
    opacity: 1;
}

/* hover */
.selectedcompany-checkbox-list label:hover span {
    opacity: 0.9;
}

/* =====================
上段（領域）
===================== */
.sentaku_list01 label span {
    background: #003b78;
    color: #fff;
    border-color: #003b78;
}

.sentaku_list01 label span::before,
.sentaku_list01 label span::after {
    border-color: #fff;
}

/* =====================
下段（期分け）
===================== */
.sentaku_list02 label span {
    background: #fff;
    color: #003b78;
    border-color: #003b78;
}

.sentaku_list02 label span::before,
.sentaku_list02 label span::after {
    border-color: #003b78;
}

/* =====================
検索ボタン
===================== */
.selectedcompany-search-button {
    text-align: center;
    margin-top: 40px;
}

.selectedcompany-search-button button {
    width: 230px;
    height: 60px;
    border: 2px solid #b13b23;
    background: #b13b23;
    color: #fff;
    font-size: clamp(1.8rem, 2.2vw, 2rem);
    line-height: 1;
    cursor: pointer;
    box-sizing: border-box;
    border-radius: 100px;
    position: relative;
    padding-left: 25px;
    cursor: pointer;
}

.selectedcompany-search-button button span {
    position: relative;
}

.selectedcompany-search-button button span::after {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/common/kensaku_icon.svg) no-repeat;
    background-size: 25px;
    width: 25px;
    height: 25px;
    top: 0;
    left: -35px;
}

.selectedcompany-search-button button:hover {
    opacity: 0.8;
}

/* =====================
キーワード非表示
===================== */
.selectedcompany-search-keyword {
    display: flex;
}

/* =====================
タブレット
===================== */
@media screen and (max-width: 1024px) {

    .selectedcompany-checkbox-list {
        gap: 12px 2%;
    }

    .selectedcompany-checkbox-list li {
        width: 23.5%;
    }

    .selectedcompany-checkbox-list li:first-child label {
        width: 23.5%;
    }

    .selectedcompany-checkbox-list label span {
        height: 44px;
        padding: 0 14px 0 42px;
        font-size: clamp(1.5rem, 1.8vw, 1.8rem);
    }

    .selectedcompany-checkbox-list label span::before {
        left: 12px;
        width: 16px;
        height: 16px;
    }

    .selectedcompany-checkbox-list label span::after {
        left: 17px;
        width: 5px;
        height: 10px;
    }

    .selectedcompany-search-button {
        text-align: center;
        margin-top: 40px;
    }

    .selectedcompany-search-button button {
        height: 50px;
        font-size: clamp(1.6rem, 1.8vw, 1.8rem);
        padding-left: 20px;
    }

    .selectedcompany-search-button button span::after {
        position: absolute;
        content: "";
        display: block;
        background: url(../img/common/kensaku_icon.svg) no-repeat;
        background-size: 20px;
        width: 20px;
        height: 20px;
        top: 0;
        left: -30px;
    }


}

/* =====================
SP
===================== */
@media screen and (max-width: 767px) {

    .selectedcompany-search-form {
        margin-top: 28px;
    }

    .selectedcompany-search-group {
        margin-bottom: 18px;
    }

    .selectedcompany-checkbox-list {
        gap: 10px 12px;
    }

    .selectedcompany-checkbox-list li {
        width: calc(50% - 6px);
        max-width: none;
    }

    .selectedcompany-checkbox-list li:first-child {
        width: 100%;
    }

    .selectedcompany-checkbox-list li:first-child label {
        width: min(100%, 220px);
    }

    .selectedcompany-checkbox-list label span {
        height: 42px;
        padding: 0 10px 0 36px;
    }

    .selectedcompany-checkbox-list label span::before {
        left: 10px;
        width: 15px;
        height: 15px;
    }

    .selectedcompany-checkbox-list label span::after {
        left: 15px;
        width: 5px;
        height: 9px;
    }

    .selectedcompany-search-button button {
        height: 40px;
        font-size: clamp(1.6rem, 1.6vw, 1.8rem);
        padding-left: 20px;


    }
}

/* =========================
   キーワード検索エリア
========================= */
.selectedcompany-search-keyword {
    display: flex;
    align-items: center;
    gap: 24px;
    width: 100%;
    margin-top: 30px;
    box-sizing: border-box;
}

.selectedcompany-search-keyword input[type="text"] {
    flex: 1;
    min-width: 0;
    height: 60px;
    padding: 0 25px;
    box-sizing: border-box;
    border: 2px solid #0b3a6d;
    background: #fff;
    color: #0b3a6d;
    font-size: clamp(1.8rem, 2.2vw, 2rem);
    line-height: 1;
}

.selectedcompany-search-keyword input[type="text"]::placeholder {
    color: #0b3a6d;
    opacity: 1;
}

.selectedcompany-search-keyword-button {
    flex: 0 0 150px;
    height: 60px;
    border: 2px solid #b13b23;
    background: #b13b23;
    color: #fff;
    font-size: clamp(1.8rem, 2.2vw, 2rem);
    line-height: 1;
    cursor: pointer;
    box-sizing: border-box;
    border-radius: 100px;
    position: relative;
    padding-left: 25px;
}

.selectedcompany-search-keyword-button span {
    position: relative;

}

.selectedcompany-search-keyword-button span::after {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/common/kensaku_icon.svg) no-repeat;
    background-size: 25px;
    width: 25px;
    height: 25px;
    left: -30px;
    top: 0;
}

.selectedcompany-search-keyword-button:hover {
    opacity: 0.8;
}

/* =========================
   スマホでも横並び維持
========================= */
@media screen and (max-width: 767px) {
    .selectedcompany-search-keyword {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        gap: 12px;
        width: 100%;
        margin-top: 20px;
    }

    .selectedcompany-search-keyword input[type="text"] {
        flex: 1 1 auto;
        min-width: 0;
        height: 50px;
        padding: 0 16px;
        font-size: 1.6rem;
    }

    .selectedcompany-search-keyword-button {
        flex: 0 0 100px;
        height: 50px;
        font-size: 1.6rem;
    }
    
.selectedcompany-search-keyword-button span::after {
            background: url(../img/common/kensaku_icon.svg) no-repeat;
        background-size: 20px;
        width: 20px;
        height: 20px;
        top: 0;
        left: -25px;
}
    
    
    
}



/*saitaku*/
#saitaku {}

#saitaku .pankuzu li:last-child {
    white-space: normal;
}


#saitaku .category {
    margin-top: 60px;
    display: flex;
    justify-content: flex-start;
}

#saitaku .category div {
    margin-top: 60px;
    padding: 20px 20px;
    border: solid 1px #002e5e;
    text-align: center;
    font-weight: 700;
    margin-bottom: 30px;
    font-size: clamp(1.8rem, 2.0vw, 2.8rem);
    letter-spacing: 0.2em;
    display: flex;
    justify-content: center;
    align-items: center;
}

#saitaku dl {
    display: flex;
    padding: 20px 20px;
    border-bottom: solid 1px #002e5e;
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    letter-spacing: 0.1em;
    line-height: 180%;
}

#saitaku dl:last-child {
    border: none;
}

#saitaku dl dt {
    color: #002e5e;
    font-weight: 700;
    width: 20%;
}

#saitaku dl dd {
    width: 80%;
}

#saitaku dl dd p {
    margin-top: 0;
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    letter-spacing: 0em !important;
    line-height: 180%;
}

#saitaku.single h1:nth-child(n + 2),
#saitaku h2 {
    margin-top: 80px;
}

#saitaku h3 {
    padding: 40px 20px 20px 20px;
    color: #002e5e;
    font-size: clamp(1.8rem, 2.0vw, 2.8rem);
    letter-spacing: 0.1em;
    line-height: 180%;
}

#saitaku.single h3 {
    padding: 40px 20px 0 0;
}

#saitaku.single h4 {
    font-size: clamp(1.8rem, 2.0vw, 2.0rem);
    padding: 40px 20px 0 0;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 180%;
    color: #002e5e;
}

#saitaku.single p {
    margin-top: 20px;
}

#saitaku.single h3 + p,
#saitaku.single h4 + p {
    margin-top: 10px;
}

#saitaku .contents_box ul {
    margin-left: 2em;
}

#saitaku .contents_box ul li {
    line-height: 180%;
    letter-spacing: 0.1em;
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
}

#saitaku .youtube-16-9 {
    width: 100%;
    aspect-ratio: 16 / 9;
}

#saitaku .youtube-16-9 iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

#saitaku .pc {
    display: block;
}

#saitaku .sp {
    display: none;
}

#saitaku .category_wrapper {}

#saitaku .category_wrapper ul {
    display: flex;
    margin-left: 0;
}

#saitaku .category_wrapper ul li {
    width: 5em;
    padding: 10px 20px;
    border: solid 2px #002e5e;
    color: #002e5e;
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    text-align: center;
}

#saitaku .category_wrapper ul li:first-child {
    background: #002e5e;
    color: #fff;
}

#saitaku .category_wrapper ul li + li {
    margin-left: 20px;
}

#saitaku .contents_title {
    border-bottom: solid 2px #002e5e;
    margin-top: 40px;
}

#saitaku .contents_title h1 {
    font-size: clamp(1.8rem, 2.0vw, 2.8rem);
    line-height: 180%;
    color: #002e5e;
    padding-bottom: 10px;
}

#saitaku .contents_box div {
    font-size: clamp(1.6rem, 1.6vw, 2.0rem);
    line-height: 180%;
    letter-spacing: 0.1em;
    margin-top: 20px;
}



/*saitaku*/







/*レスポンシブ　1470px以下*/

@media screen and (max-width:1470px) {

    #top .box02_title {
        width: 165px;
        position: relative;
        top: 0;
        left: 0;
        margin-bottom: 20px;
    }

    #top .box03_title {
        width: 165px;
        position: relative;
        top: 0;
        left: 0;
    }

}

/*レスポンシブ　1470px以下*/













/*レスポンシブ　1000px以下*/

@media screen and (max-width:1000px) {
    .g_nav {
        display: none;
    }

    .hamburger_btn {
        display: block;
        margin-left: auto;
    }

    .header_box .header_logo {
        width: 120px;
    }

    .header_english {
        display: none;
    }

    #jigyou .jigyou_table_wrap {
        overflow-x: scroll;
    }

    #jigyou table.jigyou_table {
        border: solid 2px #002e5e;
        min-width: 900px;
    }

    .footer_box .footer_list_inner ul {
        display: none;
    }

    #jigyou .contents_pr {
        display: flex;
        justify-content: space-between;
        margin-top: 20px;
    }

    #jigyou .contents_pr li + li {
        margin-left: 0em;
    }

    #jigyou .contents_pr li {
        width: 49%;
    }

    #jigyou .contents_pr li a {
        border: solid 2px #002e5e;
        font-size: clamp(1.4rem, 1.4vw, 1.6rem);
        padding: 1em 0;
        color: #002e5e;
        text-decoration: none;
        text-align: center;
        display: block;
        transition: 0.2s;
    }

    #jigyou .contents_pr li a span {
        display: block;
    }

}

/*レスポンシブ　1000px以下*/





/*レスポンシブ　750px以下*/
@media screen and (max-width:750px) {

    /*header*/
    .header_box .header_list_inner {
        padding: 15px 0;
    }

    .header_box .header_logo {
        width: 120px;
    }

    .header_box .header_list_inner ul {
        display: none;
    }

    .header_english {
        display: none;
    }

    /*header*/





    /*footer*/
    .footer_box {
        margin-top: 80px;
    }

    .footer_box .footer_list_inner {
        padding: 15px 0;
        display: flex;
        justify-content: center;
    }

    .footer_box .footer_logo {
        width: 120px;
    }

    .footer_copy {
        text-align: center;
        margin-bottom: 20px;
        margin-top: 30px;
        display: flex;
        flex-direction: column;
        font-size: clamp(1.2rem, 1.2vw, 1.6rem);
    }

    .footer_copy a {
        margin: 0;
    }

    /*footer*/





    /*共通*/
    article {}

    .contents_box {
        margin-top: 50px;
    }

    .contents_box p {
        margin-top: 30px;
    }

    .contents_box h1,
    .contents_box h2 {
        font-size: clamp(1.8rem, 2.2vw, 2.2rem);
        letter-spacing: 0.1rem;
    }

    .contents_box h2 span {
        display: inline;
    }

    .top_header_logo {
        max-width: 300px;
        width: 90%;
        margin: 0px auto 0px auto;
    }

    /*共通*/





    /*top*/
    #top {}

    #top .box01 {
        margin-top: -10%;
    }

    #top .box01 ul {}

    #top .box01 ul li {
        width: 47%;
        height: auto;
        border: solid 3px #002e5e;
    }

    #top .box01 ul li:nth-child(n + 3) {
        margin-top: 1.5em;
    }

    #top .box01 ul li a {
        width: auto;
        height: calc(100% - 35px);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        font-size: 1.6rem;
        text-decoration: none;
        font-weight: 400;
        color: #002e5e;
        letter-spacing: 0.1em;
        background: url(../img/common/arrow01.svg) no-repeat #fff;
        background-size: 25px;
        background-position: bottom 10px right 10px;
        transition: 0.2s;
        padding: 15px 15px 20px 15px;
    }

    #top .box01 ul li a:hover {
        background-position: bottom 10px right 10px;
        transition: 0.2s;
        box-shadow: 10px 10px 10px rgba(0, 46, 94, 0.2);
    }

    #top .box01_img {
        width: 40px;
        transition: 0.2s;
    }

    #top .box01 ul li a:hover .box01_img {
        width: 40px;
        transition: 0.2s;
    }

    #top .box01_text {
        margin-top: 1em;
    }

    #top .box02 {
        padding-top: 40px;
    }

    #top .box02_inner {
        margin-top: 30px;
    }

    #top .box02 ul.box02_menu {
        width: 100%;
    }

    #top .box02 ul.box02_menu li {
        height: 65px;
    }

    #top .box02 ul.box02_menu li:nth-child(1) {
        width: 23%;
    }

    #top .box02 ul.box02_menu li:nth-child(2) {
        width: 23%;
    }

    #top .box02 ul.box02_menu li:nth-child(3) {
        width: 25%;
    }

    #top .box02 ul.box02_menu li:nth-child(4) {
        width: 29%;
    }

    #top .box02 ul.box02_menu li a {
        width: auto;
        height: 50px;
        padding: 0 10px 10px 10px;
        border-left: none;
        flex-direction: column;
        letter-spacing: 0;
        line-height: 120%;
        background-size: 15px;
        background-position: center bottom 7px;
        font-size: clamp(1.2rem, 1.2vw, 1.6rem);
    }

    #top .box02 ul.box02_menu li.active a {
        background-size: 15px;
        background-position: center bottom 10px;
    }

    #top .box02 ul.box02_menu li.active a:hover {
        background-size: 15px;
        background-position: center bottom 10px;
    }

    #top .box02 ul.box02_menu li:first-child {}

    #top .box02 ul.box02_menu li:first-child a {
        width: auto;
        border: solid 3px #002e5e;
    }

    #top .box02 ul.box02_menu li a:hover {
        background-size: 15px;
        background-position: center bottom 7px;
        transition: 0.2s;
        box-shadow: 0px 10px 10px rgba(0, 46, 94, 0.3);
    }

    #top .box02 ul.box02_menu li a span {
        display: block;
    }

    #top .box02 ul.box02_menu li a::before {
        display: none;
    }

    #top .box02 ul.box02_list {
        margin-top: 30px;
    }

    #top .box02 ul.box02_list li {
        flex-wrap: wrap;
        padding: 1em 0.5em;
    }

    #top .box02 .box02_list_date {
        width: 50%;
        max-width: 150px;
        text-align: left;
        padding-top: 2px;
        font-size: 1.6rem;
    }

    #top .box02 .box02_list_category {
        width: 50%;
        max-width: 150px;
        margin: 0;
    }

    #top .box02 .box02_list_category a {
        width: 150px;
        font-size: 1.4rem;
    }

    #top .box02 .box02_list_text {
        margin: 0;
        padding-top: 8px;
        width: 100%;
        font-size: 1.6rem;
    }

    #top .box03 {
        padding: 20px 0 40px 0;
        margin-top: 20px;
    }

    #top .box03 ul.box03_list {
        margin-top: 0px;
    }

    #top .box03 ul.box03_list li {
        flex-wrap: wrap;
        padding: 0.5em 0.5em;
    }

    #top .box03 .box03_list_date {
        width: 50%;
        text-align: left;
        white-space: nowrap;
        padding-top: 2px;
        color: #fff;
    }

    #top .box03 .box03_list_category {
        width: 50%;
        max-width: 150px;
        margin: 0;
    }

    #top .box03 .box03_list_category a {
        width: 150px;
        font-size: 1.4rem;
    }

    #top .box03 .box03_list_text {
        margin: 0;
        padding-top: 8px;
        width: 100%;
        font-size: 1.6rem;
    }

    #top .event_box {
        padding: 20px 0 0 0;
        margin-top: 40px;
    }

    /* コンテナ */
    #top .box02_pager,
    .pager .page-numbers {
        margin: 20px 0 0;
    }

    /* 前へ・次へ */
    #top .box03 .pager .page-numbers .prev,
    #top .box03 .pager .page-numbers .next {
        width: auto;
        min-width: 40px;
        padding: 0 12px;
        display: none;
    }

    #top .background_img {
        margin: 100px auto 0;
        width: 100%;
        height: 200px;
    }

    #top .box02_title {
        width: 120px;
        position: relative;
        top: 0;
        left: 0;
        margin-bottom: 20px;
    }

    #top .box03_title {
        width: 120px;
        position: relative;
        top: 0;
        left: 0;
    }

    #top .box02_title h2,
    #top .box03_title h2 {
        font-size: 1.8rem;
        font-weight: 400;
        line-height: 100%;
    }


    /*top*/





    /*about*/
    #about {}

    #about .contents_box ul.list_box {
        margin-top: 40px;
    }

    #about .contents_box ul.list_box li {
        border: solid 3px #002e5e;

    }

    #about .contents_box ul.list_box li:nth-child(n+3) {
        margin-top: 20px;
    }

    #about .contents_box ul.list_box li a {
        padding: 30px 0;
        font-size: clamp(1.4rem, 1.8vw, 1.8rem);
        height: calc(100% - 60px);
    }

    #about .contents_box ul.list_box li:first-child a {
        letter-spacing: 0;
    }

    #about .contents_box .contents_box_fontsize_l {
        margin-top: 60px;
        padding-bottom: 20px;
    }

    #about .contents_box .contents_box_fontsize_l img {
        width: 75%;
    }

    #about .contents_box .contents_img {
        width: 70%;
        margin: 30px auto;
    }

    #about .houshin_wrapper {
        flex-direction: column;
    }

    #about .houshin01 h2 {
        margin: 15px 0 0 15px;
    }

    #about .houshin01 + .houshin01 {
        border-left: solid 2px #002e5e;
    }

    #about .houshin01 {
        margin-top: 30px;
        width: 100%;
    }

    #about .houshin01 ul {
        margin: 8px 15px;
    }

    #about .houshin01 ul li {
        padding: 15px 15px 15px 30px;
        font-size: clamp(1.6rem, 1.6vw, 2.0rem);
        line-height: 180%;
    }

    #about .houshin01 ul li:last-child {
        border-bottom: none;
    }

    #about .houshin02 {
        margin-top: 30px;
    }

    #about .houshin02 ul {
        margin-top: 10px;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    #about .houshin02 ul li {
        width: 96%;
        padding: 20px 2%;
        border: solid 2px #002e5e;
    }

    #about .houshin02 ul li + li {
        margin-top: 1.5%;
    }

    #about .houshin02 ul li:last-child {
        width: 96%;
        margin-top: 1.5%;
    }

    #about .houshin02 ul li h3 {
        font-size: clamp(1.8rem, 2.0vw, 2.8rem);
        color: #002e5e;
        text-align: center;
    }

    #about .houshin02 ul li:last-child p {
        text-align: center;
    }

    #about .houshin02 ul li p {
        margin-top: 10px;
    }

    #about .contents_flexbox {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #about .contents_l {
        max-width: 350px;
        width: 70%;
    }

    #about .contents_r {
        display: flex;
        align-items: center;
        margin-top: 40px;
    }

    #about .contents_r ul {
        margin-left: 0;
    }

    #about .contents_r ul li {
        line-height: 180%;
    }

    #about .contents_wrapper {
        padding: 5% 5%;
        margin-top: 20px;
    }

    #about .contents_wrapper ul {}

    #about .contents_wrapper ul li {
        font-size: clamp(1.6rem, 1.6vw, 2.0rem);
        line-height: 180%;
    }

    #about .contents_wrapper ul li + li {
        margin-top: 1em;
    }

    #about .contents_img04 {
        margin-top: 20px;
    }

    #about .contents_img04 img {
        width: 80%;
        max-width: 500px;
    }

    #about .contents_img05 {
        margin-top: 20px;
    }

    #about .contents_img05 img {}

    #about .saishinjoho ul {
        margin-top: 30px;
    }

    #about .saishinjoho ul li + li {
        margin-top: 15px;
    }

    #about .saishinjoho li.drop13 span {
        display: inline;
        margin-left: 0;
    }

    #about .saishinjoho .link_box {
        margin-top: 60px;
    }

    #about .saishinjoho .link_box h3 {
        font-size: clamp(1.6rem, 2.0vw, 2.8rem);
    }

    #about .saishinjoho .link_box ul + h3 {
        margin-top: 40px;
    }

    #about .saishinjoho .link_box h4 {
        color: #002e5e;
        text-align: center;
        font-size: clamp(2.0rem, 2.0vw, 2.8rem);
    }

    #about .saishinjoho .link_box h3 + ul {
        margin-top: 20px;
    }

    #about .saishinjoho .link_box ul {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    #about .saishinjoho .link_box ul li {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border: solid 2px #002e5e;
        width: 90%;
        padding: 30px 5%;
    }

    #about .saishinjoho .link_box ul li:nth-child(n+2) {
        margin-top: 20px;
    }

    #about .saishinjoho .link_box ul li:only-child {
        width: 90%;
    }

    #about .saishinjoho .link_box ul li a {
        text-align: center;
        display: flex;
        justify-content: center;
        flex-direction: column;
        font-size: clamp(1.6rem, 1.6vw, 1.8rem);
        line-height: 180%;
    }

    #about .saishinjoho .link_box ul li a span {
        display: block;
    }

    #about .saishinjoho .link_box ul li p {
        margin-top: 10px;
    }

    #about h3.contents_title {
        margin-top: 30px;
    }

    #about h4.contents_title {
        margin-top: 30px;
    }

    #about .contents_pdpo_box {
        margin-top: 40px;
    }

    #about .contents_pdpo_box {}

    #about .contents_pdpo_box ul {
        padding: 0 5% 20px 5%;
        margin-bottom: 20px;
    }

    #about .contents_pdpo_box ul li {
        padding: 20px;
        display: flex;
        flex-direction: column;
    }

    #about .contents_pdpo_box ul li + li {
        margin-top: 20px;
    }

    #about .contents_pdpo_box ul li .contents_l {
        width: 100%;
        max-width: 100%;
        margin-top: 20px;
    }

    #about .contents_pdpo_box ul li .contents_l p {
        margin-top: 15px;
    }

    #about .contents_pdpo_box ul li .contents_r {
        width: 100%;
        margin-left: 0;
        margin-top: 15px;
    }

    #about .contents_pdpo_box h3 {}

    #about .contents_pdpo_box .contents_l_c {
        margin-top: 15px;
    }

    #about ul.contents_list {
        margin-top: 20px;
    }

    #about .contents_img06 {
        margin-top: 30px;
    }

    #about .contents_img06 img.pc {
        display: none;
    }

    #about .contents_img06 img.sp {
        display: block;
    }

    #about .contents_pobox {
        margin-top: 15px;
        overflow-x: scroll;
    }

    #about .contents_pobox_table {
        min-width: 900px;
    }

    #about .contents_pobox h3 {
        padding: 10px 15px;
    }

    #about .contents_pobox .contents_pobox_table tr th,
    #about .contents_pobox .contents_pobox_table tr td {
        padding: 5px;
    }

    #about .contents_pobox .contents_pobox_table tr th:first-child {
        width: 40%;
    }

    #about .contents_pobox .contents_pobox_table tr th:nth-child(n+2) {
        width: 15%;
    }

    #about .contents_pobox .contents_pobox_table tr th:nth-child(n+2) span {
        display: block;
    }

    #about .contents_pobox .contents_pobox_table tr td:first-child {
        width: 40%;
    }

    #about .contents_pobox .contents_pobox_table tr td:nth-child(n+2) {
        width: 15%;
        text-align: center;
    }

    /*about*/





    /*keiyaku*/
    #keiyaku {}

    #keiyaku p.contents_text {
        text-align: left;
    }

    #keiyaku ul.keiyaku_list {
        margin-top: 30px;
    }

    #keiyaku ul.keiyaku_list li + li {
        margin-top: 20px;

    }

    #keiyaku ul.keiyaku_list li a {
        padding: 20px 5%;
    }

    #keiyaku ul.keiyaku_list li a h3 {
        font-size: clamp(1.8rem, 2.0vw, 2.8rem);
    }

    #keiyaku ul.keiyaku_list li a p {
        margin-top: 15px;
    }

    /*keiyaku*/





    /*contact*/
    #contact h3.contents_title {
        margin-top: 30px;
    }

    #contact p.contact_text {
        text-align: left;
    }

    #contact ul.contact_list {
        margin-top: 30px;
    }

    #contact ul.contact_list li + li {
        margin-top: 20px;
    }

    #contact ul.contact_list li a {
        padding: 20px 5%;
    }

    #contact ul.contact_list li a h3 {
        font-size: clamp(1.8rem, 2.0vw, 2.8rem);
    }

    #contact .contact_link {
        margin-top: 30px;
    }

    /*contact*/





    /*jigyou*/
    #jigyou .jigyou_table_wrap {
        overflow-x: scroll;
    }

    #jigyou table.jigyou_table {
        border: solid 2px #002e5e;
        min-width: 800px;
    }

    #jigyou table.jigyou_table tr:first-child {
        background: #002e5e;
        color: #fff;
    }

    #jigyou table.jigyou_table tr:first-child th {
        text-align: center;
        padding: 10px;
    }

    #jigyou table.jigyou_table tr {
        transition: 0.2s;
    }

    #jigyou table.jigyou_table tr:nth-child(n + 2):hover {
        background: #f4f4f4;
        transition: 0.2s;
    }

    #jigyou table.jigyou_table tr th {
        vertical-align: middle;
    }

    #jigyou table.jigyou_table tr td {
        text-align: center;
        border-right: solid 1px #002e5e;
        border-top: none;
        border-left: none;
        border-bottom: none;
        padding: 10px;
        vertical-align: middle;
    }

    #jigyou table.jigyou_table tr td:nth-child(1),
    #jigyou table.jigyou_table tr td:nth-child(5) {
        white-space: nowrap;
    }

    /*jigyou*/
    /*saitaku*/
    #saitaku {}

    #saitaku .category {}


    #saitaku .category {
        margin-top: 30px;
    }

    #saitaku .category div {
        padding: 10px 15px;
        text-align: center;
        margin-bottom: 15px;
    }



    #saitaku dl {
        padding: 10px 15px;
        flex-direction: column;
    }

    #saitaku dl dt {
        width: 100%;
    }

    #saitaku dl dd {
        width: 100%;
    }

    #saitaku h3 {
        padding: 15px 15px 5px 15px;
        color: #002e5e;
        font-size: clamp(1.8rem, 2.0vw, 2.8rem);
        letter-spacing: 0.1em;
        line-height: 150%;
    }

    /*saitaku*/





    /*search*/
    #search {}

    #search .box01 {}

    #search .box02 {}

    #search .box02 .selectedcompany-search-group {
        margin-top: 40px;
    }

    #search .box02 ul.koubo_list {
        margin-top: 40px;
    }

    #search .box02 ul.koubo_list li {
        border-bottom: solid 1px #002e5e;
        display: flex;
        flex-wrap: wrap;
        padding: 1em;
        transition: 0.8s;
    }

    #search .box02 ul.koubo_list .list_date {
        width: 50%;
        padding-top: 2px;
    }

    #search .box02 ul.koubo_list .list_category {
        margin-left: 0px;
        width: 50%;
    }

    #search .box02 ul.koubo_list .list_text {
        margin-left: 0px;
        width: 100%;
        padding-top: 10px;
        font-size: clamp(1.6rem, 2.0vw, 2.0rem);
        line-height: 180%;
        letter-spacing: 0.1em;
    }

    #search .box02 ul.koubo_list .list_text a {
        text-decoration: none;
        transition: 0.2s;
        display: flex;
        align-items: center;
        height: 100%;
        color: #333;
    }

    #search .box02 ul.koubo_list .list_text a:hover {
        color: #b13b23;
        transition: 0.2s;
    }

    #search .box02 ul.koubo_list li.list_first {
        border-bottom: none !important;
    }

    #search .box02 ul.koubo_list li.list_first div {
        border: solid 2px #002e5e;
        text-align: center !important;
        justify-content: center;
        padding: 5px 0;
    }

    #search h3 {
        font-size: clamp(1.6rem, 2.0vw, 2.0rem);
    }

    #search .box03 {}

    #search .box03 ul {
        width: 80%;
        margin: 60px auto 0 auto;
    }

    #search .box03 ul li + li {
        margin-top: 60px;

    }

    #search .box03 ul li {
        border: solid 3px #002e5e;
    }

    #search .box03 ul li a {
        text-decoration: none;
        color: #002e5e;
        text-align: center;
        display: block;
        font-size: clamp(2.0rem, 2.5vw, 3rem);
        line-height: 100%;
        padding: 60px;
        transition: 0.2s;
    }

    #search .box03 ul li a:hover {
        background: #b13b23;
        color: #fff;
        transition: 0.2s;
    }

    #search .box04 {}

    #saitaku .sp {
        display: block;
    }

    #saitaku .pc {
        display: none;
    }

    #saitaku .contents_title {
        margin-top: 30px;
    }

    /*search*/





    /*event*/
    #event .box01,
    #event .box02,
    #event .box03_inner {
        max-width: 1050px;
        width: 90%;
        margin: 0px auto;
        position: relative;
    }

    #event .event_box {
        padding: 15px;
        margin-top: 15px;

    }

    #event .event_box h3 {
        font-size: clamp(1.6rem, 1.6vw, 2.8rem);
        line-height: 150%;
    }

    #event .box02_menu {
        display: flex;
        justify-content: space-between
    }

    #event .box02_menu li {
        width: 32%;
    }

    #event .box02_menu li + li {
        margin-left: 0;
    }

    #event .box02_menu li a {
        width: 100%;
        height: 40px;
        padding: 10px 0 0 0;
        font-size: clamp(1.2rem, 1.2vw, 1.6rem);
        background: none;
        letter-spacing: 0;
        text-align: center;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        position: relative;

    }

    .box02_menu li a::after {
        content: "";
        width: 12px;
        height: 12px;
        background: url(../img/common/arrow_right.svg) no-repeat center center;
        background-size: contain;
        position: absolute;
        bottom: 7px;
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
    }

    #event .box02_wrapper {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 40px;
    }

    #event .box02_contents {
        width: 48%;
        margin-bottom: 30px;
    }

    #event .box02_contents:nth-child(3n+2):last-child {
        margin-right: 0;
    }

    #event .box02_contents_cate a {
        text-decoration: none;
        color: #fff;
        width: calc(100% - 20px);
        height: 30px;
        padding: 0 10px;
        line-height: 100%;
        font-size: clamp(1.4rem, 1.4vw, 1.6rem);
    }

    #event .box02_contents_img img {
        margin-top: 10px;
        width: calc(100% - 4px);
    }

    #event .box02_contents_date {
        font-size: clamp(1.6rem, 1.6vw, 1.8rem);
        margin-top: 10px;
    }

    #event .box02_contents_title {
        margin-top: 5px;
    }

    #event .box02_contents_title a {
        font-size: clamp(1.6rem, 1.6vw, 1.8rem);
    }

    #event .event_pagination {
        margin-top: 40px;
    }

    #event .event_pagination ul {
        display: flex;
        justify-content: center;
        gap: 10px;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    #event .event_pagination li {
        margin: 0;
    }

    #event .event_pagination a,
    #event .event_pagination span {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #1f3f74;
        background: #fff;
        color: #1f3f74;
        text-decoration: none;
    }

    #event .event_pagination .current {
        background: #b13b23;
        border-color: #b13b23;
        color: #fff;
    }









#top .box02_pager a.page-arrow {
display: none;
}









}

/*レスポンシブ　750px以下*/

/* トップページ最新情報ページャー：省略記号・矢印の位置調整 */
#top .box02_pager {
    align-items: center;
}

#top .box02_pager a,
#top .box02_pager .page-dots {
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    vertical-align: middle;
    box-sizing: border-box;
}

#top .box02_pager .page-dots {
    border: none;
    background: transparent;
    color: #0b3b78;
    font-size: 18px;
    font-weight: 700;
    transform: translateY(-1px);
    padding-bottom: 10px;
}

#top .box02_pager a.page-arrow {
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    padding-bottom: 5px;
}
