@charset "UTF-8";
@font-face {
    font-family: "NotoSans Bold";
    src: url("../font/NotoSansJP-Bold.otf") format("otf");
}
@font-face {
    font-family: "NotoSans Medium";
    src: url("../font/NotoSansJP-Medium.otf") format("otf");
}
@font-face {
    font-family: "OleoScript";
    src: url("../font/OleoScript-Regular.ttf") format("ttf");
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    empty-cells: show;
}
table.fxd {
    table-layout: fixed;
}
table.thl th {
    text-align: left;
}
table.thr th {
    text-align: right;
}
th {
    font-weight: normal;
}
tr.nobr th, tr.nobr td {
    white-space: nowrap;
}
tr.tc th, tr.tc td {
    text-align: center;
}
table th.nb, table td.nb {
    border: none;
}
table.full {
    width: 100%;
}
table.half {
    width: 50%;
}
table.third {
    width: 33.33333%;
}
table.quarter {
    width: 25%;
}
table.vtop th, table.vtop td, th.vtop, td.vtop {
    vertical-align: top;
}
table.vbtm th, table.vbtm td, th.vbtm, td.vbtm {
    vertical-align: bottom;
}
table.thtc th {
    text-align: center;
}
table.thtr th {
    text-align: right;
}
table.tdtc td {
    text-align: center;
}
table.tdtr td {
    text-align: right;
}
blockquote:before, blockquote:after, q:before, q:after {
    content: "";
}
sub {
    vertical-align: -0.2em;
}
img {
    vertical-align: top;
    border: none;
}
img.mid {
    vertical-align: middle;
}
img.fit, object.fit, embed.fit, iframe.fit {
    width: 100%;
    height: auto;
}
form img {
    vertical-align: middle;
}
input, select, textarea {
    vertical-align: middle;
    font-size: 100%;
}
button {
    vertical-align: middle;
    cursor: pointer;
}
optgroup {
    padding-left: 0.4em;
    font-weight: bold;
    font-style: italic;
}
option {
    padding-left: 0.4em;
    padding-right: 0.2em;
    font-weight: normal;
    font-style: normal;
}
optgroup option {
    padding-left: 0.8em;
    padding-right: 0.2em;
}
label {
    white-space: nowrap;
    display: inline-block;
    cursor: pointer;
}
fieldset, iframe {
    border: none;
}
.none {
    display: none;
}
.hidden {
    visibility: hidden;
}
.reader {
    line-height: 0;
    font-size: 0;
    position: absolute;
    left: -9999px;
}
.nobr {
    white-space: nowrap;
}
.block {
    display: block;
}
.inline {
    display: inline;
}
.table {
    display: table;
}
.cell {
    display: table-cell;
}
.noimg {
    background-image: none !important;
}
.sss {
    font-size: 40%;
}
.ss {
    font-size: 60%;
}
.s, small {
    font-size: 80%;
}
.l, big {
    font-size: 120%;
}
.ll {
    font-size: 140%;
}
.lll {
    font-size: 160%;
}
.fs0 {
    font-size: 0;
}
.fs1 {
    font-size: 100%;
}
.fs2 {
    font-size: 150%;
}
.fs3 {
    font-size: 190%;
}
.fs4 {
    font-size: 250%;
}
.fs5 {
    font-size: 300%;
}
.fs6 {
    font-size: 350%;
}
.fs7 {
    font-size: 400%;
}
.fs8 {
    font-size: 450%;
}
.fs9 {
    font-size: 500%;
}
@media screen and (max-width: 800px) {
    .fs0 {
        font-size: 0;
    }
    .fs1 {
        font-size: 100%;
    }
    .fs2 {
        font-size: 125%;
    }
    .fs3 {
        font-size: 150%;
    }
    .fs4 {
        font-size: 175%;
    }
    .fs5 {
        font-size: 200%;
    }
    .fs6 {
        font-size: 225%;
    }
    .fs7 {
        font-size: 250%;
    }
    .fs8 {
        font-size: 275%;
    }
    .fs9 {
        font-size: 300%;
    }
}
@media screen and (max-width: 480px) {
    .fs0 {
        font-size: 0;
    }
    .fs1 {
        font-size: 100%;
    }
    .fs2 {
        font-size: 120%;
    }
    .fs3 {
        font-size: 140%;
    }
    .fs4 {
        font-size: 160%;
    }
    .fs5 {
        font-size: 180%;
    }
    .fs6 {
        font-size: 200%;
    }
    .fs7 {
        font-size: 220%;
    }
    .fs8 {
        font-size: 240%;
    }
    .fs9 {
        font-size: 260%;
    }
    .sfs95p {
        font-size: 95%;
    }
    .sfs90p {
        font-size: 90%;
    }
    .sfs85p {
        font-size: 85%;
    }
    .sfs80p {
        font-size: 80%;
    }
}
.normal {
    font-style: normal !important;
    font-weight: normal !important;
}
.bold {
    font-weight: bold;
}
.upper {
    text-transform: uppercase;
}
.lower {
    text-transform: lowercase;
}
.caps {
    text-transform: capitalize;
}
.ttnone {
    text-transform: none;
}
.ba {
    word-break: break-all;
}
.tl {
    text-align: left !important;
}
.tr > * {
    margin-right: auto;
    margin-left: 0;
}
.tr {
    text-align: right !important;
}
.tr > * {
    margin-left: auto;
    margin-right: 0;
}
.tc {
    text-align: center !important;
}
.tc > * {
    margin-left: auto;
    margin-right: auto;
}
.tc caption {
    margin-left: auto;
    margin-right: auto;
}
.fl {
    float: left !important;
}
.fr {
    float: right !important;
}
.fix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    font-size: 0;
}
.fix {
    display: inline-block;
}
.fix {
    display: block;
}
.clr {
    clear: both;
}
ul.number li {
    text-indent: -1.2em;
    margin-left: 1.2em;
    margin-bottom: 0.1em;
    padding: 0;
}
ul.bullet li {
    text-indent: -1em;
    margin-left: 1em;
    margin-bottom: 0.1em;
    padding: 0;
}
.abs {
    position: absolute !important;
}
.rel {
    position: relative !important;
}
.fixed {
    position: fixed !important;
}
.abs-l {
    position: absolute !important;
    left: 0;
}
.abs-r {
    position: absolute !important;
    right: 0;
}
.abs-t {
    position: absolute !important;
    top: 0;
}
.abs-b {
    position: absolute !important;
    bottom: 0;
}
.abs-tr {
    position: absolute !important;
    top: 0;
    right: 0;
}
.abs-tl {
    position: absolute !important;
    top: 0;
    left: 0;
}
.abs-br {
    position: absolute !important;
    bottom: 0;
    right: 0;
}
.abs-bl {
    position: absolute !important;
    bottom: 0;
    left: 0;
}
.abs-cc {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
.pos0 {
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
}
.ma0 {
    margin: 0 !important;
}
.mt0 {
    margin-top: 0 !important;
}
.mr0 {
    margin-right: 0 !important;
}
.mb0 {
    margin-bottom: 0 !important;
}
.ml0 {
    margin-left: 0 !important;
}
.ma1 {
    margin: 1px;
}
.mt1 {
    margin-top: 1px;
}
.mr1 {
    margin-right: 1px;
}
.mb1 {
    margin-bottom: 1px;
}
.ml1 {
    margin-left: 1px;
}
.ma2 {
    margin: 2px;
}
.mt2 {
    margin-top: 2px;
}
.mr2 {
    margin-right: 2px;
}
.mb2 {
    margin-bottom: 2px;
}
.ml2 {
    margin-left: 2px;
}
.ma3 {
    margin: 3px;
}
.mt3 {
    margin-top: 3px;
}
.mr3 {
    margin-right: 3px;
}
.mb3 {
    margin-bottom: 3px;
}
.ml3 {
    margin-left: 3px;
}
.ma4 {
    margin: 4px;
}
.mt4 {
    margin-top: 4px;
}
.mr4 {
    margin-right: 4px;
}
.mb4 {
    margin-bottom: 4px;
}
.ml4 {
    margin-left: 4px;
}
.ma5 {
    margin: 5px;
}
.mt5 {
    margin-top: 5px;
}
.mr5 {
    margin-right: 5px;
}
.mb5 {
    margin-bottom: 5px;
}
.ml5 {
    margin-left: 5px;
}
.ma6 {
    margin: 6px;
}
.mt6 {
    margin-top: 6px;
}
.mr6 {
    margin-right: 6px;
}
.mb6 {
    margin-bottom: 6px;
}
.ml6 {
    margin-left: 6px;
}
.ma7 {
    margin: 7px;
}
.mt7 {
    margin-top: 7px;
}
.mr7 {
    margin-right: 7px;
}
.mb7 {
    margin-bottom: 7px;
}
.ml7 {
    margin-left: 7px;
}
.ma8 {
    margin: 8px;
}
.mt8 {
    margin-top: 8px;
}
.mr8 {
    margin-right: 8px;
}
.mb8 {
    margin-bottom: 8px;
}
.ml8 {
    margin-left: 8px;
}
.ma9 {
    margin: 9px;
}
.mt9 {
    margin-top: 9px;
}
.mr9 {
    margin-right: 9px;
}
.mb9 {
    margin-bottom: 9px;
}
.ml9 {
    margin-left: 9px;
}
.ma10 {
    margin: 10px;
}
.mt10 {
    margin-top: 10px;
}
.mr10 {
    margin-right: 10px;
}
.mb10 {
    margin-bottom: 10px;
}
.ml10 {
    margin-left: 10px;
}
.ma15 {
    margin: 15px;
}
.mt15 {
    margin-top: 15px;
}
.mr15 {
    margin-right: 15px;
}
.mb15 {
    margin-bottom: 15px;
}
.ml15 {
    margin-left: 15px;
}
.ma20 {
    margin: 20px;
}
.mt20 {
    margin-top: 20px;
}
.mr20 {
    margin-right: 20px;
}
.mb20 {
    margin-bottom: 20px;
}
.ml20 {
    margin-left: 20px;
}
.ma25 {
    margin: 25px;
}
.mt25 {
    margin-top: 25px;
}
.mr25 {
    margin-right: 25px;
}
.mb25 {
    margin-bottom: 25px;
}
.ml25 {
    margin-left: 25px;
}
.ma30 {
    margin: 30px;
}
.mt30 {
    margin-top: 30px;
}
.mr30 {
    margin-right: 30px;
}
.mb30 {
    margin-bottom: 30px;
}
.ml30 {
    margin-left: 30px;
}
.ma35 {
    margin: 35px;
}
.mt35 {
    margin-top: 35px;
}
.mr35 {
    margin-right: 35px;
}
.mb35 {
    margin-bottom: 35px;
}
.ml35 {
    margin-left: 35px;
}
.ma40 {
    margin: 40px;
}
.mt40 {
    margin-top: 40px im !important;
}
.mr40 {
    margin-right: 40px;
}
.mb40 {
    margin-bottom: 40px;
}
.ml40 {
    margin-left: 40px;
}
.ma45 {
    margin: 45px;
}
.mt45 {
    margin-top: 45px;
}
.mr45 {
    margin-right: 45px;
}
.mb45 {
    margin-bottom: 45px;
}
.ml45 {
    margin-left: 45px;
}
.ma50 {
    margin: 50px;
}
.mt50 {
    margin-top: 50px;
}
.mr50 {
    margin-right: 50px;
}
.mb50 {
    margin-bottom: 50px;
}
.ml50 {
    margin-left: 50px;
}
.ma1p {
    margin: 1%;
}
.mt1p {
    margin-top: 1%;
}
.mr1p {
    margin-right: 1%;
}
.mb1p {
    margin-bottom: 1%;
}
.ml1p {
    margin-left: 1%;
}
.ma2p {
    margin: 2%;
}
.mt2p {
    margin-top: 2%;
}
.mr2p {
    margin-right: 2%;
}
.mb2p {
    margin-bottom: 2%;
}
.ml2p {
    margin-left: 2%;
}
.ma3p {
    margin: 3%;
}
.mt3p {
    margin-top: 3%;
}
.mr3p {
    margin-right: 3%;
}
.mb3p {
    margin-bottom: 3%;
}
.ml3p {
    margin-left: 3%;
}
.ma4p {
    margin: 4%;
}
.mt4p {
    margin-top: 4%;
}
.mr4p {
    margin-right: 4%;
}
.mb4p {
    margin-bottom: 4%;
}
.ml4p {
    margin-left: 4%;
}
.ma5p {
    margin: 5%;
}
.mt5p {
    margin-top: 5%;
}
.mr5p {
    margin-right: 5%;
}
.mb5p {
    margin-bottom: 5%;
}
.ml5p {
    margin-left: 5%;
}
.pa0 {
    padding: 0 !important;
}
.pt0 {
    padding-top: 0 !important;
}
.pr0 {
    padding-right: 0 !important;
}
.pb0 {
    padding-bottom: 0 !important;
}
.pl0 {
    padding-left: 0 !important;
}
.pa1 {
    padding: 1px;
}
.pt1 {
    padding-top: 1px;
}
.pr1 {
    padding-right: 1px;
}
.pb1 {
    padding-bottom: 1px;
}
.pl1 {
    padding-left: 1px;
}
.pa2 {
    padding: 2px;
}
.pt2 {
    padding-top: 2px;
}
.pr2 {
    padding-right: 2px;
}
.pb2 {
    padding-bottom: 2px;
}
.pl2 {
    padding-left: 2px;
}
.pa3 {
    padding: 3px;
}
.pt3 {
    padding-top: 3px;
}
.pr3 {
    padding-right: 3px;
}
.pb3 {
    padding-bottom: 3px;
}
.pl3 {
    padding-left: 3px;
}
.pa4 {
    padding: 4px;
}
.pt4 {
    padding-top: 4px;
}
.pr4 {
    padding-right: 4px;
}
.pb4 {
    padding-bottom: 4px;
}
.pl4 {
    padding-left: 4px;
}
.pa5 {
    padding: 5px;
}
.pt5 {
    padding-top: 5px;
}
.pr5 {
    padding-right: 5px;
}
.pb5 {
    padding-bottom: 5px;
}
.pl5 {
    padding-left: 5px;
}
.pa6 {
    padding: 6px;
}
.pt6 {
    padding-top: 6px;
}
.pr6 {
    padding-right: 6px;
}
.pb6 {
    padding-bottom: 6px;
}
.pl6 {
    padding-left: 6px;
}
.pa7 {
    padding: 7px;
}
.pt7 {
    padding-top: 7px;
}
.pr7 {
    padding-right: 7px;
}
.pb7 {
    padding-bottom: 7px;
}
.pl7 {
    padding-left: 7px;
}
.pa8 {
    padding: 8px;
}
.pt8 {
    padding-top: 8px;
}
.pr8 {
    padding-right: 8px;
}
.pb8 {
    padding-bottom: 8px;
}
.pl8 {
    padding-left: 8px;
}
.pa9 {
    padding: 9px;
}
.pt9 {
    padding-top: 9px;
}
.pr9 {
    padding-right: 9px;
}
.pb9 {
    padding-bottom: 9px;
}
.pl9 {
    padding-left: 9px;
}
.pa10 {
    padding: 10px;
}
.pt10 {
    padding-top: 10px;
}
.pr10 {
    padding-right: 10px;
}
.pb10 {
    padding-bottom: 10px;
}
.pl10 {
    padding-left: 10px;
}
.pa15 {
    padding: 15px;
}
.pt15 {
    padding-top: 15px;
}
.pr15 {
    padding-right: 15px;
}
.pb15 {
    padding-bottom: 15px;
}
.pl15 {
    padding-left: 15px;
}
.pa20 {
    padding: 20px;
}
.pt20 {
    padding-top: 20px;
}
.pr20 {
    padding-right: 20px;
}
.pb20 {
    padding-bottom: 20px;
}
.pl20 {
    padding-left: 20px;
}
.pa25 {
    padding: 25px;
}
.pt25 {
    padding-top: 25px;
}
.pr25 {
    padding-right: 25px;
}
.pb25 {
    padding-bottom: 25px;
}
.pl25 {
    padding-left: 25px;
}
.pa30 {
    padding: 30px;
}
.pt30 {
    padding-top: 30px;
}
.pr30 {
    padding-right: 30px;
}
.pb30 {
    padding-bottom: 30px;
}
.pl30 {
    padding-left: 30px;
}
.pa35 {
    padding: 35px;
}
.pt35 {
    padding-top: 35px;
}
.pr35 {
    padding-right: 35px;
}
.pb35 {
    padding-bottom: 35px;
}
.pl35 {
    padding-left: 35px;
}
.pa40 {
    padding: 40px;
}
.pt40 {
    padding-top: 40px;
}
.pr40 {
    padding-right: 40px;
}
.pb40 {
    padding-bottom: 40px;
}
.pl40 {
    padding-left: 40px;
}
.pa45 {
    padding: 45px;
}
.pt45 {
    padding-top: 45px;
}
.pr45 {
    padding-right: 45px;
}
.pb45 {
    padding-bottom: 45px;
}
.pl45 {
    padding-left: 45px;
}
.pa50 {
    padding: 50px;
}
.pt50 {
    padding-top: 50px;
}
.pr50 {
    padding-right: 50px;
}
.pb50 {
    padding-bottom: 50px;
}
.pl50 {
    padding-left: 50px;
}
.pa1p {
    padding: 1%;
}
.pt1p {
    padding-top: 1%;
}
.pr1p {
    padding-right: 1%;
}
.pb1p {
    padding-bottom: 1%;
}
.pl1p {
    padding-left: 1%;
}
.pa2p {
    padding: 2%;
}
.pt2p {
    padding-top: 2%;
}
.pr2p {
    padding-right: 2%;
}
.pb2p {
    padding-bottom: 2%;
}
.pl2p {
    padding-left: 2%;
}
.pa3p {
    padding: 3%;
}
.pt3p {
    padding-top: 3%;
}
.pr3p {
    padding-right: 3%;
}
.pb3p {
    padding-bottom: 3%;
}
.pl3p {
    padding-left: 3%;
}
.pa4p {
    padding: 4%;
}
.pt4p {
    padding-top: 4%;
}
.pr4p {
    padding-right: 4%;
}
.pb4p {
    padding-bottom: 4%;
}
.pl4p {
    padding-left: 4%;
}
.pa5p {
    padding: 5%;
}
.pt5p {
    padding-top: 5%;
}
.pr5p {
    padding-right: 5%;
}
.pb5p {
    padding-bottom: 5%;
}
.pl5p {
    padding-left: 5%;
}
.ratio {
    position: relative;
    width: 100%;
}
.ratio .u1 {
    width: 100%;
}
.ratio .u2 {
    width: 50%;
}
.ratio .u3 {
    width: 33.33333%;
}
.ratio .u4 {
    width: 25%;
}
.ratio .u5 {
    width: 20%;
}
.ratio .u6 {
    width: 16.66667%;
}
.ratio .u7 {
    width: 14.28571%;
}
.ratio .u8 {
    width: 12.5%;
}
.ratio .u9 {
    width: 11.11111%;
}
.ratio .u10 {
    width: 10%;
}
.ratio .p1 {
    width: 10%;
}
.ratio .p2 {
    width: 20%;
}
.ratio .p3 {
    width: 30%;
}
.ratio .p4 {
    width: 40%;
}
.ratio .p5 {
    width: 50%;
}
.ratio .p6 {
    width: 50%;
}
.ratio .p7 {
    width: 70%;
}
.ratio .p8 {
    width: 80%;
}
.ratio .p9 {
    width: 90%;
}
.ratio .p10 {
    width: 100%;
}
.w5p {
    width: 5%;
}
.w10p {
    width: 10%;
}
.w15p {
    width: 15%;
}
.w20p {
    width: 20%;
}
.w25p {
    width: 25%;
}
.w30p {
    width: 30%;
}
.w35p {
    width: 35%;
}
.w40p {
    width: 40%;
}
.w45p {
    width: 45%;
}
.w50p {
    width: 50%;
}
.w55p {
    width: 55%;
}
.w60p {
    width: 60%;
}
.w65p {
    width: 65%;
}
.w70p {
    width: 70%;
}
.w75p {
    width: 75%;
}
.w80p {
    width: 80%;
}
.w85p {
    width: 85%;
}
.w90p {
    width: 90%;
}
.w95p {
    width: 95%;
}
.w100p {
    width: 100%;
}
.w96p {
    width: 96%;
}
.w97p {
    width: 97%;
}
.w98p {
    width: 98%;
}
.w99p {
    width: 99%;
}
.h99p {
    height: 99%;
}
.w5x {
    width: 5px;
}
.w10x {
    width: 10px;
}
.w15x {
    width: 15px;
}
.w20x {
    width: 20px;
}
.w25x {
    width: 25px;
}
.w30x {
    width: 30px;
}
.w35x {
    width: 35px;
}
.w40x {
    width: 40px;
}
.w45x {
    width: 45px;
}
.w50x {
    width: 50px;
}
.w55x {
    width: 55px;
}
.w60x {
    width: 60px;
}
.w65x {
    width: 65px;
}
.w70x {
    width: 70px;
}
.w75x {
    width: 75px;
}
.w80x {
    width: 80px;
}
.w85x {
    width: 85px;
}
.w90x {
    width: 90px;
}
.w95x {
    width: 95px;
}
.w100x {
    width: 100px;
}
.w1em {
    width: 1em;
}
.w2em {
    width: 2em;
}
.w3em {
    width: 3em;
}
.w4em {
    width: 4em;
}
.w5em {
    width: 5em;
}
.w6em {
    width: 6em;
}
.w7em {
    width: 7em;
}
.w8em {
    width: 8em;
}
.w9em {
    width: 9em;
}
.w10em {
    width: 10em;
}
.w11em {
    width: 11em;
}
.w12em {
    width: 12em;
}
.w13em {
    width: 13em;
}
.w14em {
    width: 14em;
}
.w15em {
    width: 15em;
}
.w16em {
    width: 16em;
}
.w17em {
    width: 17em;
}
.w18em {
    width: 18em;
}
.w19em {
    width: 19em;
}
.w20em {
    width: 20em;
}
.w21em {
    width: 21em;
}
.w22em {
    width: 22em;
}
.w23em {
    width: 23em;
}
.w24em {
    width: 24em;
}
.w25em {
    width: 25em;
}
.w26em {
    width: 26em;
}
.w27em {
    width: 27em;
}
.w28em {
    width: 28em;
}
.w29em {
    width: 29em;
}
.w30em {
    width: 30em;
}
.w31em {
    width: 31em;
}
.w32em {
    width: 32em;
}
.w33em {
    width: 33em;
}
.w34em {
    width: 34em;
}
.w35em {
    width: 35em;
}
.w36em {
    width: 36em;
}
.w37em {
    width: 37em;
}
.w38em {
    width: 38em;
}
.w39em {
    width: 39em;
}
.w40em {
    width: 40em;
}
.w41em {
    width: 41em;
}
.w42em {
    width: 42em;
}
.w43em {
    width: 43em;
}
.w44em {
    width: 44em;
}
.w45em {
    width: 45em;
}
.w46em {
    width: 46em;
}
.w47em {
    width: 47em;
}
.w48em {
    width: 48em;
}
.w49em {
    width: 49em;
}
.w50em {
    width: 50em;
}
.h1em {
    height: 1em;
}
.h2em {
    height: 2em;
}
.h3em {
    height: 3em;
}
.h4em {
    height: 4em;
}
.h5em {
    height: 5em;
}
.h6em {
    height: 6em;
}
.h7em {
    height: 7em;
}
.h8em {
    height: 8em;
}
.h9em {
    height: 9em;
}
.h10em {
    height: 10em;
}
.h11em {
    height: 11em;
}
.h12em {
    height: 12em;
}
.h13em {
    height: 13em;
}
.h14em {
    height: 14em;
}
.h15em {
    height: 15em;
}
.h16em {
    height: 16em;
}
.h17em {
    height: 17em;
}
.h18em {
    height: 18em;
}
.h19em {
    height: 19em;
}
.h20em {
    height: 20em;
}
.h21em {
    height: 21em;
}
.h22em {
    height: 22em;
}
.h23em {
    height: 23em;
}
.h24em {
    height: 24em;
}
.h25em {
    height: 25em;
}
.h26em {
    height: 26em;
}
.h27em {
    height: 27em;
}
.h28em {
    height: 28em;
}
.h29em {
    height: 29em;
}
.h30em {
    height: 30em;
}
.h31em {
    height: 31em;
}
.h32em {
    height: 32em;
}
.h33em {
    height: 33em;
}
.h34em {
    height: 34em;
}
.h35em {
    height: 35em;
}
.h36em {
    height: 36em;
}
.h37em {
    height: 37em;
}
.h38em {
    height: 38em;
}
.h39em {
    height: 39em;
}
.h40em {
    height: 40em;
}
.h41em {
    height: 41em;
}
.h42em {
    height: 42em;
}
.h43em {
    height: 43em;
}
.h44em {
    height: 44em;
}
.h45em {
    height: 45em;
}
.h46em {
    height: 46em;
}
.h47em {
    height: 47em;
}
.h48em {
    height: 48em;
}
.h49em {
    height: 49em;
}
.h50em {
    height: 50em;
}
.mh1em {
    min-height: 1em;
}
.mh2em {
    min-height: 2em;
}
.mh3em {
    min-height: 3em;
}
.mh4em {
    min-height: 4em;
}
.mh5em {
    min-height: 5em;
}
.mh6em {
    min-height: 6em;
}
.mh7em {
    min-height: 7em;
}
.mh8em {
    min-height: 8em;
}
.mh9em {
    min-height: 9em;
}
.mh10em {
    min-height: 10em;
}
.mh11em {
    min-height: 11em;
}
.mh12em {
    min-height: 12em;
}
.mh13em {
    min-height: 13em;
}
.mh14em {
    min-height: 14em;
}
.mh15em {
    min-height: 15em;
}
.mh16em {
    min-height: 16em;
}
.mh17em {
    min-height: 17em;
}
.mh18em {
    min-height: 18em;
}
.mh19em {
    min-height: 19em;
}
.mh20em {
    min-height: 20em;
}
.mh21em {
    min-height: 21em;
}
.mh22em {
    min-height: 22em;
}
.mh23em {
    min-height: 23em;
}
.mh24em {
    min-height: 24em;
}
.mh25em {
    min-height: 25em;
}
.mh26em {
    min-height: 26em;
}
.mh27em {
    min-height: 27em;
}
.mh28em {
    min-height: 28em;
}
.mh29em {
    min-height: 29em;
}
.mh30em {
    min-height: 30em;
}
.mh31em {
    min-height: 31em;
}
.mh32em {
    min-height: 32em;
}
.mh33em {
    min-height: 33em;
}
.mh34em {
    min-height: 34em;
}
.mh35em {
    min-height: 35em;
}
.mh36em {
    min-height: 36em;
}
.mh37em {
    min-height: 37em;
}
.mh38em {
    min-height: 38em;
}
.mh39em {
    min-height: 39em;
}
.mh40em {
    min-height: 40em;
}
.mh41em {
    min-height: 41em;
}
.mh42em {
    min-height: 42em;
}
.mh43em {
    min-height: 43em;
}
.mh44em {
    min-height: 44em;
}
.mh45em {
    min-height: 45em;
}
.mh46em {
    min-height: 46em;
}
.mh47em {
    min-height: 47em;
}
.mh48em {
    min-height: 48em;
}
.mh49em {
    min-height: 49em;
}
.mh50em {
    min-height: 50em;
}
.lh0 {
    line-height: 0 !important;
}
.lh1 {
    line-height: 1 !important;
}
.lh2 {
    line-height: 2 !important;
}
.lh3 {
    line-height: 3 !important;
}
.lh4 {
    line-height: 4 !important;
}
.lh5 {
    line-height: 5 !important;
}
.lh6 {
    line-height: 6 !important;
}
.lh7 {
    line-height: 7 !important;
}
.lh8 {
    line-height: 8 !important;
}
.lh9 {
    line-height: 9 !important;
}
.lh10 {
    line-height: 10 !important;
}
.lh11 {
    line-height: 11 !important;
}
.lh12 {
    line-height: 12 !important;
}
.lh13 {
    line-height: 13 !important;
}
.lh14 {
    line-height: 14 !important;
}
.lh15 {
    line-height: 15 !important;
}
.lh16 {
    line-height: 16 !important;
}
.lh17 {
    line-height: 17 !important;
}
.lh18 {
    line-height: 18 !important;
}
.lh19 {
    line-height: 19 !important;
}
.lhdef {
    line-height: 1.5 !important;
}
@media screen and (max-width: 600px) {
    .slh0 {
        line-height: 0 !important;
    }
    .slh1 {
        line-height: 1 !important;
    }
    .slh2 {
        line-height: 2 !important;
    }
    .slh3 {
        line-height: 3 !important;
    }
    .slh4 {
        line-height: 4 !important;
    }
    .slh5 {
        line-height: 5 !important;
    }
    .slh6 {
        line-height: 6 !important;
    }
    .slh7 {
        line-height: 7 !important;
    }
    .slh8 {
        line-height: 8 !important;
    }
    .slh9 {
        line-height: 9 !important;
    }
    .slh10 {
        line-height: 10 !important;
    }
    .slh11 {
        line-height: 11 !important;
    }
    .slh12 {
        line-height: 12 !important;
    }
    .slh13 {
        line-height: 13 !important;
    }
    .slh14 {
        line-height: 14 !important;
    }
    .slh15 {
        line-height: 15 !important;
    }
    .slh16 {
        line-height: 16 !important;
    }
    .slh17 {
        line-height: 17 !important;
    }
    .slh18 {
        line-height: 18 !important;
    }
    .slh19 {
        line-height: 19 !important;
    }
    .slhdef {
        line-height: 1.5 !important;
    }
}
.r1deg {
    transform: rotate(1deg);
    transform: rotate(1deg);
}
.r2deg {
    transform: rotate(2deg);
    transform: rotate(2deg);
}
.r3deg {
    transform: rotate(3deg);
    transform: rotate(3deg);
}
.r4deg {
    transform: rotate(4deg);
    transform: rotate(4deg);
}
.r5deg {
    transform: rotate(5deg);
    transform: rotate(5deg);
}
.r6deg {
    transform: rotate(6deg);
    transform: rotate(6deg);
}
.r7deg {
    transform: rotate(7deg);
    transform: rotate(7deg);
}
.r8deg {
    transform: rotate(8deg);
    transform: rotate(8deg);
}
.r9deg {
    transform: rotate(9deg);
    transform: rotate(9deg);
}
.r10deg {
    transform: rotate(10deg);
    transform: rotate(10deg);
}
.r-1deg {
    transform: rotate(-1deg);
    transform: rotate(-1deg);
}
.r-2deg {
    transform: rotate(-2deg);
    transform: rotate(-2deg);
}
.r-3deg {
    transform: rotate(-3deg);
    transform: rotate(-3deg);
}
.r-4deg {
    transform: rotate(-4deg);
    transform: rotate(-4deg);
}
.r-5deg {
    transform: rotate(-5deg);
    transform: rotate(-5deg);
}
.r-6deg {
    transform: rotate(-6deg);
    transform: rotate(-6deg);
}
.r-7deg {
    transform: rotate(-7deg);
    transform: rotate(-7deg);
}
.r-8deg {
    transform: rotate(-8deg);
    transform: rotate(-8deg);
}
.r-9deg {
    transform: rotate(-9deg);
    transform: rotate(-9deg);
}
.r-10deg {
    transform: rotate(-10deg);
    transform: rotate(-10deg);
}
.youtube {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.flickr {
    position: relative;
    padding-bottom: 71%;
    height: 0;
    overflow: hidden;
}
.flickr iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}
.googlemap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
.googlemap iframe, .googlemap object, .googlemap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.ls1 {
    letter-spacing: 0.1em;
}
.ls2 {
    letter-spacing: 0.2em;
}
.ls3 {
    letter-spacing: 0.3em;
}
.ls4 {
    letter-spacing: 0.4em;
}
.ls5 {
    letter-spacing: 0.5em;
}
.ls6 {
    letter-spacing: 0.6em;
}
.ls7 {
    letter-spacing: 0.7em;
}
.ls8 {
    letter-spacing: 0.8em;
}
.ls9 {
    letter-spacing: 0.9em;
}
.ls0 {
    letter-spacing: 0 !important;
}
table.sp1 th, table.sp1 td {
    padding: 0.2em 0.4em;
}
table.sp2 th, table.sp2 td {
    padding: 0.4em 0.8em;
}
table.sp3 th, table.sp3 td {
    padding: 0.6em 1.2em;
}
table.sp4 th, table.sp4 td {
    padding: 0.8em 1.6em;
}
table.sp5 th, table.sp5 td {
    padding: 1em 2em;
}
table.tb1 th, table.tb1 td {
    padding-top: 0.2em;
    padding-bottom: 0.2em;
}
table.tb2 th, table.tb2 td {
    padding-top: 0.4em;
    padding-bottom: 0.4em;
}
table.tb3 th, table.tb3 td {
    padding-top: 0.6em;
    padding-bottom: 0.6em;
}
table.tb4 th, table.tb4 td {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
}
table.tb5 th, table.tb5 td {
    padding-top: 1em;
    padding-bottom: 1em;
}
table.lr1 th, table.lr1 td {
    padding-left: 0.2em;
    padding-right: 0.2em;
}
table.lr2 th, table.lr2 td {
    padding-left: 0.4em;
    padding-right: 0.4em;
}
table.lr3 th, table.lr3 td {
    padding-left: 0.6em;
    padding-right: 0.6em;
}
table.lr4 th, table.lr4 td {
    padding-left: 0.8em;
    padding-right: 0.8em;
}
table.lr5 th, table.lr5 td {
    padding-left: 1em;
    padding-right: 1em;
}
.sp1 {
    padding: 0.2em 0.4em !important;
}
.sa1 {
    padding: 0.2em !important;
}
.sp2 {
    padding: 0.4em 0.8em !important;
}
.sa2 {
    padding: 0.4em !important;
}
.sp3 {
    padding: 0.6em 1.2em !important;
}
.sa3 {
    padding: 0.6em !important;
}
.sp4 {
    padding: 0.8em 1.6em !important;
}
.sa4 {
    padding: 0.8em !important;
}
.sp5 {
    padding: 1em 2em !important;
}
.sa5 {
    padding: 1em !important;
}
.tb1 {
    padding-top: 0.2em !important;
    padding-bottom: 0.2em !important;
}
.tb2 {
    padding-top: 0.4em !important;
    padding-bottom: 0.4em !important;
}
.tb3 {
    padding-top: 0.6em !important;
    padding-bottom: 0.6em !important;
}
.tb4 {
    padding-top: 0.8em !important;
    padding-bottom: 0.8em !important;
}
.tb5 {
    padding-top: 1em !important;
    padding-bottom: 1em !important;
}
.lr1 {
    padding-left: 0.2em !important;
    padding-right: 0.2em !important;
}
.lr2 {
    padding-left: 0.4em !important;
    padding-right: 0.4em !important;
}
.lr3 {
    padding-left: 0.6em !important;
    padding-right: 0.6em !important;
}
.lr4 {
    padding-left: 0.8em !important;
    padding-right: 0.8em !important;
}
.lr5 {
    padding-left: 1em !important;
    padding-right: 1em !important;
}
table.sp1, table.sp2, table.sp3, table.sp4, table.sp5 {
    padding: 0 !important;
}
table.tb1, table.tb2, table.tb3, table.tb4, table.tb5 {
    padding: 0 !important;
}
table.lr1, table.lr2, table.lr3, table.lr4, table.lr5 {
    padding: 0 !important;
}
table.th10p th {
    width: 11%;
    white-space: nowrap;
}
table.th20p th {
    width: 22%;
    white-space: nowrap;
}
table.th30p th {
    width: 33%;
    white-space: nowrap;
}
.bn-l {
    border-left-width: 0 !important;
}
.bn-r {
    border-right-width: 0 !important;
}
.bn-t {
    border-top-width: 0 !important;
}
.bn-b {
    border-bottom-width: 0 !important;
}
.bn-b2 {
    border-bottom-width: 0 !important;
}
.bn-lr {
    border-left-width: 0 !important;
    border-right-width: 0 !important;
}
.bn-tb {
    border-top-width: 0 !important;
    border-bottom-width: 0 !important;
}
.tablet {
    display: none !important;
}
.sumaho {
    display: none !important;
}
.notablet.sumaho {
    display: inherit !important;
}
@media screen and (max-width: 960px) {
    .tablet {
        display: inherit !important;
    }
    .notablet {
        display: none !important;
    }
    .notablet.sumaho {
        display: none !important;
    }
    table.sp1 th, table.sp1 td {
        padding: 0.15em 0.3em;
    }
    table.sp2 th, table.sp2 td {
        padding: 0.3em 0.6em;
    }
    table.sp3 th, table.sp3 td {
        padding: 0.45em 0.9em;
    }
    table.sp4 th, table.sp4 td {
        padding: 0.6em 1.2em;
    }
    table.sp5 th, table.sp5 td {
        padding: 0.75em 1.3em;
    }
    table.tb1 th, table.tb1 td {
        padding-top: 0.15em;
        padding-bottom: 0.15em;
    }
    table.tb2 th, table.tb2 td {
        padding-top: 0.3em;
        padding-bottom: 0.3em;
    }
    table.tb3 th, table.tb3 td {
        padding-top: 0.45em;
        padding-bottom: 0.45em;
    }
    table.tb4 th, table.tb4 td {
        padding-top: 0.6em;
        padding-bottom: 0.6em;
    }
    table.tb5 th, table.tb5 td {
        padding-top: 0.75em;
        padding-bottom: 0.75em;
    }
    table.lr1 th, table.lr1 td {
        padding-left: 0.15em;
        padding-right: 0.15em;
    }
    table.lr2 th, table.lr2 td {
        padding-left: 0.3em;
        padding-right: 0.3em;
    }
    table.lr3 th, table.lr3 td {
        padding-left: 0.45em;
        padding-right: 0.45em;
    }
    table.lr4 th, table.lr4 td {
        padding-left: 0.6em;
        padding-right: 0.6em;
    }
    table.lr5 th, table.lr5 td {
        padding-left: 0.75em;
        padding-right: 0.75em;
    }
    .sp1 {
        padding: 0.15em 0.3em !important;
    }
    .sa1 {
        padding: 0.15em !important;
    }
    .sp2 {
        padding: 0.3em 0.6em !important;
    }
    .sa2 {
        padding: 0.3em !important;
    }
    .sp3 {
        padding: 0.45em 0.9em !important;
    }
    .sa3 {
        padding: 0.45em !important;
    }
    .sp4 {
        padding: 0.6em 1.2em !important;
    }
    .sa4 {
        padding: 0.6em !important;
    }
    .sp5 {
        padding: 0.75em 1.3em !important;
    }
    .sa5 {
        padding: 0.75em !important;
    }
    .tb1 {
        padding-top: 0.15em !important;
        padding-bottom: 0.15em !important;
    }
    .tb2 {
        padding-top: 0.3em !important;
        padding-bottom: 0.3em !important;
    }
    .tb3 {
        padding-top: 0.45em !important;
        padding-bottom: 0.45em !important;
    }
    .tb4 {
        padding-top: 0.6em !important;
        padding-bottom: 0.6em !important;
    }
    .tb5 {
        padding-top: 0.75em !important;
        padding-bottom: 0.75em !important;
    }
    .lr1 {
        padding-left: 0.15em !important;
        padding-right: 0.15em !important;
    }
    .lr2 {
        padding-left: 0.3em !important;
        padding-right: 0.3em !important;
    }
    .lr3 {
        padding-left: 0.45em !important;
        padding-right: 0.45em !important;
    }
    .lr4 {
        padding-left: 0.6em !important;
        padding-right: 0.6em !important;
    }
    .lr5 {
        padding-left: 0.75em !important;
        padding-right: 0.75em !important;
    }
    .tw100p {
        width: 100%;
    }
    .twauto {
        width: auto;
    }
    .scroll {
        overflow: auto;
    }
    .scroll table {
        white-space: nowrap;
        font-size: 90%;
    }
}
@media screen and (max-width: 767px) {
    .googlemap {
        width: 90%;
        margin: 0 auto;
        padding-bottom: 90%;
    }
    .sumaho {
        display: inherit !important;
    }
    .nosumaho {
        display: none !important;
    }
    .notablet.sumaho {
        display: inherit !important;
    }
    table.sp1 th, table.sp1 td {
        padding: 0.1em 0.2em;
    }
    table.sp2 th, table.sp2 td {
        padding: 0.3em 0.4em;
    }
    table.sp3 th, table.sp3 td {
        padding: 0.3em 0.6em;
    }
    table.sp4 th, table.sp4 td {
        padding: 0.4em 0.8em;
    }
    table.sp5 th, table.sp5 td {
        padding: 0.5em 1em;
    }
    table.tb1 th, table.tb1 td {
        padding-top: 0.1em;
        padding-bottom: 0.1em;
    }
    table.tb2 th, table.tb2 td {
        padding-top: 0.3em;
        padding-bottom: 0.3em;
    }
    table.tb3 th, table.tb3 td {
        padding-top: 0.3em;
        padding-bottom: 0.3em;
    }
    table.tb4 th, table.tb4 td {
        padding-top: 0.4em;
        padding-bottom: 0.4em;
    }
    table.tb5 th, table.tb5 td {
        padding-top: 0.5em;
        padding-bottom: 0.5em;
    }
    table.lr1 th, table.lr1 td {
        padding-left: 0.1em;
        padding-right: 0.1em;
    }
    table.lr2 th, table.lr2 td {
        padding-left: 0.3em;
        padding-right: 0.3em;
    }
    table.lr3 th, table.lr3 td {
        padding-left: 0.3em;
        padding-right: 0.3em;
    }
    table.lr4 th, table.lr4 td {
        padding-left: 0.4em;
        padding-right: 0.4em;
    }
    table.lr5 th, table.lr5 td {
        padding-left: 0.5em;
        padding-right: 0.5em;
    }
    table.oneline th, table.oneline td {
        display: block;
    }
    .sp1 {
        padding: 0.1em 0.2em !important;
    }
    .sa1 {
        padding: 0.1em !important;
    }
    .sp2 {
        padding: 0.3em 0.4em !important;
    }
    .sa2 {
        padding: 0.3em !important;
    }
    .sp3 {
        padding: 0.3em 0.6em !important;
    }
    .sa3 {
        padding: 0.3em !important;
    }
    .sp4 {
        padding: 0.4em 0.8em !important;
    }
    .sa4 {
        padding: 0.4em !important;
    }
    .sp5 {
        padding: 0.5em 1em !important;
    }
    .sa5 {
        padding: 0.5em !important;
    }
    .tb1 {
        padding-top: 0.1em !important;
        padding-bottom: 0.1em !important;
    }
    .tb2 {
        padding-top: 0.3em !important;
        padding-bottom: 0.3em !important;
    }
    .tb3 {
        padding-top: 0.3em !important;
        padding-bottom: 0.3em !important;
    }
    .tb4 {
        padding-top: 0.4em !important;
        padding-bottom: 0.4em !important;
    }
    .tb5 {
        padding-top: 0.5em !important;
        padding-bottom: 0.5em !important;
    }
    .lr1 {
        padding-left: 0.1em !important;
        padding-right: 0.1em !important;
    }
    .lr2 {
        padding-left: 0.3em !important;
        padding-right: 0.3em !important;
    }
    .lr3 {
        padding-left: 0.3em !important;
        padding-right: 0.3em !important;
    }
    .lr4 {
        padding-left: 0.4em !important;
        padding-right: 0.4em !important;
    }
    .lr5 {
        padding-left: 0.5em !important;
        padding-right: 0.5em !important;
    }
    .sw100p {
        width: 100%;
    }
    .swauto {
        width: auto;
    }
}
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*, ::before, ::after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
}
/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
    -webkit-tap-highlight-color: transparent;
    /* 3*/
}
/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
    font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
    font-feature-settings: "palt";
}
/**
 * Render the `main` element consistently in IE.
 */
main {
    display: block;
}
/* Vertical rhythm */
/* ============================================ */
p, table, blockquote, address, pre, iframe, form, figure, dl {
    margin: 0;
}
/* Headings */
/* ============================================ */
h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    margin: 0;
}
/* Lists (enumeration) */
/* ============================================ */
ul, ol {
    margin: 0;
    padding: 0;
    list-style: none;
}
/* Lists (definition) */
/* ============================================ */
dt {
    font-weight: bold;
}
dd {
    margin-left: 0;
}
/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: inherit;
    /* 2 */
}
address {
    font-style: inherit;
}
/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
}
a:hover {
    opacity: 0.7;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    text-decoration: underline;
    /* 2 */
    text-decoration: underline dotted;
    /* 2 */
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b, strong {
    font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code, kbd, samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: inherit;
    /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sub {
    bottom: -0.25em;
}
sup {
    top: -0.5em;
}
/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img, embed, object, iframe {
    vertical-align: bottom;
}
/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button, input, optgroup, select, textarea {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    outline: 0;
    border-radius: 0;
    text-align: inherit;
}
/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
    -webkit-appearance: checkbox;
    appearance: checkbox;
}
[type=radio] {
    -webkit-appearance: radio;
    appearance: radio;
}
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button, input {
    /* 1 */
    overflow: visible;
}
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button, select {
    /* 1 */
    text-transform: none;
}
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button, [type=button], [type=reset], [type=submit] {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}
button[disabled], [type=button][disabled], [type=reset][disabled], [type=submit][disabled] {
    cursor: default;
}
/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText;
}
/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
    display: none;
}
/**
 * Remove padding
 */
option {
    padding: 0;
}
/**
 * Reset to invisible
 */
fieldset {
    margin: 0;
    padding: 0;
    min-width: 0;
}
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto;
}
/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
    outline-offset: -2px;
    /* 1 */
}
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */ ::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}
/**
 * Clickable labels
 */
label[for] {
    cursor: pointer;
}
/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}
/*
 * Remove outline for editable content.
 */
[contenteditable] {
    outline: none;
}
/* Table */
/* ============================================ */
table {
    border-collapse: collapse;
    border-spacing: 0;
}
caption {
    text-align: left;
}
td, th {
    vertical-align: top;
    padding: 0;
}
th {
    text-align: left;
    font-weight: bold;
}
/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
    display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}
/* 202605更新分 */
.home {
    background-image: url(../../img/background01.jpg);
    background-repeat: repeat;
    background-size: 100%;
}
header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #FFF;
    padding: 30px 20px 30px 30px;
    box-sizing: border-box;
}
header h1 {
    width: 20%;
}
header img {
    width: 100%;
    height: auto;
}
header nav {
    position: relative;
}
header nav ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
}
header nav ul li {
    position: relative;
}
header nav ul li a {
    font-size: 14px;
    font-weight: bold;
    padding: 8px 0;
}
/*
header nav ul li:nth-child(8) a {
    color: #FFF;
    padding: 8px 10px;
    background-color: #ec8a05;
}
*/
header nav ul li:last-child a {
    color: #ec8a05;
    padding: 8px 10px;
    border: 1px solid #ec8a05;
}
.has_dropdown {
    position: relative;
}
.dropdown_menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-10px);
    width: 180px;
    margin-top: 10px;
    background-color: #ec8a05;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
}
.dropdown_menu::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #ec8a05;
}
.dropdown_inner_vertical {
    display: flex;
    flex-direction: column;
    gap: 0px;
    padding: 10px;
}
.dropdown_inner_vertical li {
    width: 100%;
}
.dropdown_inner_vertical li a {
    display: block;
    color: #fff !important;
    font-size: 13px;
    padding: 10px;
    text-align: left;
    text-decoration: none;
    transition: background-color 0.2s;
}
.c-hamburger {
    display: none; /* PC時は非表示 */
}
@media (max-width: 1000px) {
    header {
        padding: 15px 20px;
    }
    header h1 {
        width: 200px;
    }
    .g-nav ul {
        display: flex;
        gap: 20px;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .c-hamburger {
        display: block;
        position: relative;
        z-index: 1001;
        width: 30px;
        height: 20px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
    }
    .c-hamburger span {
        display: block;
        position: absolute;
        width: 100%;
        height: 1px;
        background-color: #333;
        left: 0;
    }
    .c-hamburger span:nth-child(1) {
        top: 0;
    }
    .c-hamburger span:nth-child(2) {
        top: 10px;
    }
    .c-hamburger span:nth-child(3) {
        top: 20px;
    }
    .g-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: rgba(255, 255, 255, 0.98);
        z-index: 1000;
        padding: 100px 40px 40px;
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        box-sizing: border-box;
    }
    .g-nav ul {
        flex-direction: column;
        align-items: center;
        gap: 25px;
    }
    .g-nav ul li {
        width: 100%;
        text-align: center;
    }
    .g-nav ul li a {
        font-size: 18px;
        display: block;
        padding: 10px 0;
    }
    .has_dropdown {
        position: relative;
    }
    .dropdown_menu {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        box-shadow: none !important;
        background-color: #f9f9f9 !important;
        padding: 10px 0 !important;
        margin-top: 10px;
        display: none;
    }
    .dropdown_menu::before {
        display: none !important;
    }
    .dropdown_inner_vertical li a {
        color: #333 !important;
        text-align: center !important;
    }
}
.mainvisual {
    position: relative;
    width: 100%;
    height: 600px;
    overflow: hidden;
}
.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    /*  opacity: 0;*/
}
.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 画像を枠いっぱいに綺麗に収める */
}
@media (max-width: 896px) {
    .mainvisual {
        height: 300px;
    }
}
.program {
    padding: 80px 0 0;
    background-color: #FFF;
}
.program_inner {
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1000px;
}
.program_inner h3 {
    color: #ec8a05;
    font-weight: bold;
    font-size: 48px;
    line-height: 1.8;
}
.program_inner__text {
    width: 50%;
}
.program_inner__text .text_box {
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 50px;
}
.program_inner__text .text_box p {
    margin-bottom: 20px;
}
.program_carousel {
    width: 100%;
    overflow: hidden;
    margin-top: 60px;
    padding-bottom: 30px;
    position: relative;
}
.carousel_track {
    display: flex;
    width: max-content;
}
.carousel_item {
    position: relative;
    width: 320px;
    margin-right: 10px;
    flex-shrink: 0;
}
.carousel_item img {
    width: 100%;
    height: auto;
    display: block;
}
.carousel_label {
    position: absolute;
    top: 0;
    left: 10%;
    background-color: #e68a00;
    width: 80%;
    color: #fff;
    font-size: 20px;
    line-height: 40px;
    font-weight: bold;
    text-align: center;
    border-radius: 0 0 10px 10px;
}
@media (max-width: 896px) {
    .program {
        padding: 40px 0 0;
    }
    .program_inner {
        flex-direction: column;
    }
    .program_inner h3 {
        font-size: 36px;
        line-height: 1.6;
        margin-bottom: 30px;
    }
    .program_inner__text {
        margin: auto;
        width: 80%;
        text-align: center;
    }
    .program_inner__text .text_box {
        font-size: 16px;
        margin-bottom: 0;
    }
    .program_inner__text .text_box p {
        text-align: left;
    }
    .program_inner__text .text_box br {
        display: none;
    }
    .program_carousel {
        margin-top: 40px;
        padding-bottom: 20px;
    }
    .carousel_track {
        display: flex;
        width: max-content;
    }
    .carousel_item {
        width: 200px;
        margin-right: 5px;
    }
    .carousel_label {
        font-size: 14px;
        line-height: 30px;
    }
}
.support {
    padding: 0;
    background-color: #ec8a05;
}
.support_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.support_inner .photo {
    width: 40%;
}
.support_inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.support_inner__text {
    padding: 20px 10%;
    width: 60%;
    color: #FFF;
    box-sizing: border-box;
}
.support_inner h3 {
    font-weight: bold;
    font-size: 30px;
    line-height: 1.6;
    margin-bottom: 30px;
}
.support_inner__text .text_box {
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 30px;
}
.support_inner__text .c-link_sub {
    display: flex;
    justify-content: flex-end;
}
@media (max-width: 896px) {
    .support {
        padding: 0;
    }
    .support_inner {
        flex-direction: column;
    }
    .support_inner .photo {
        width: 100%;
        height: 250px;
    }
    .support_inner__text {
        padding: 30px 5%;
        width: 90%;
    }
    .support_inner h3 {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .support_inner__text .text_box {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .support_inner__text .c-link_sub {
        justify-content: center;
    }
}
.insta {
    padding: 80px 0;
    text-align: center;
    background-color: #FFF;
}
#sb_instagram #sbi_images {
    margin: 40px 0 20px;
}
@media (max-width: 896px) {
    .insta {
        padding: 40px 0;
    }
    #sb_instagram #sbi_images {
        margin: 20px 0 10px;
    }
}
.offering {
    padding: 80px 0;
}
.offering_inner {
    text-align: center;
}
.offering_inner h3 {
    margin-bottom: 30px;
}
.offering_inner h3 span {
    font-weight: bold;
    font-size: 30px;
    line-height: 1.6;
    padding-left: 50px;
    background: url(../../img/top_icon_01.svg) 0 0 no-repeat;
}
.offering_inner .text_box {
    margin: auto;
    width: 50%;
    line-height: 1.8;
    text-align: left;
    margin-bottom: 30px;
}
@media (max-width: 896px) {
    .offering {
        padding: 40px 0;
    }
    .offering_inner h3 {
        margin-bottom: 20px;
    }
    .offering_inner h3 span {
        font-size: 24px;
        padding-left: 40px;
        background-size: auto 30px;
    }
    .offering_inner .text_box {
        width: 80%;
        margin-bottom: 20px;
    }
}
footer {
    background-color: #FFF;
}
.footer_inner {
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1000px;
    padding: 60px 0;
}
.footer_inner__about img {
    width: 280px;
    height: auto;
    margin-bottom: 30px;
}
.footer_inner__about address {
    line-height: 1.8;
}
.footer_inner__link {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.footer_inner__link ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
    margin: 20px 0 40px;
}
.footer_inner__link ul li a {
    font-size: 14px;
    font-weight: bold;
}
.footer_inner__link ul li {
    position: relative;
    display: flex;
    align-items: center;
}
.footer_inner__link ul li:not(:last-child)::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 14px;
    background-color: #ccc;
    margin-left: 30px;
}
.footer_inner__link ul li a {
    text-decoration: none;
    color: #333;
}
.footer_inner__link .banner_link {
    width: 180px;
}
.footer_inner__link .banner_link span {
    display: block;
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.4;
}
small {
    display: block;
    padding: 8px 0;
    text-align: center;
    font-size: 12px;
    color: #FFF;
    background-color: #ec8a05;
}
@media (max-width: 896px) {
    .footer_inner {
        flex-direction: column;
        justify-content: center;
        padding: 40px 0 20px;
    }
    .footer_inner__about img {
        width: 240px;
        margin-bottom: 10px;
    }
    .footer_inner__about address {
        text-align: center;
        margin-bottom: 10px;
    }
    .footer_inner__link {
        align-items: center;
    }
    .footer_inner__link ul {
        justify-content: center;
        gap: 20px;
    }
}
.trial {
    padding: 80px 0 0;
}
.leadtext {
    padding: 50px 0 80px;
    line-height: 1.6em;
    text-align: center;
}
.trial_inner {
    background-image: url(../../img/background01.jpg);
    background-repeat: repeat;
    background-size: 100%;
    padding: 80px 0;
    text-align: center;
}
.trial_inner h3 {
    font-weight: bold;
    font-size: 30px;
    line-height: 1.6;
    margin-bottom: 30px;
}
.step_card {
    background-color: #fff;
    max-width: 800px;
    width: 80%;
    margin: auto;
    padding: 80px;
    border-radius: 20px;
    text-align: left;
    box-sizing: border-box;
}
.step_item {
    display: flex;
    align-items: flex-start;
    gap: 80px;
}
.step_num {
    text-align: center;
    font-weight: bold;
    line-height: 1.1;
    flex-shrink: 0;
}
.step_txt {
    display: block;
    font-size: 24px;
    letter-spacing: 1px;
}
.step_val {
    display: block;
    font-size: 60px;
}
.step_content {
    flex-grow: 1;
}
.step_content h4 {
    font-size: 28px;
    font-weight: bold;
    color: #e68a00;
    margin-bottom: 20px;
}
.step_content p {
    line-height: 1.8;
}
.step_arrow {
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 14px solid #000;
    margin: 30px 0 30px 20px;
}
.c-btn_orange {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #e68a00;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
    margin-top: 20px;
    padding: 20px 60px;
    width: 100%;
    max-width: 400px;
    border-radius: 4px;
    position: relative;
    box-sizing: border-box;
    transition: background-color 0.3s;
}
.c-btn_orange::after {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    background: #fff;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.c-btn_orange::before {
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #e68a00;
    border-right: 2px solid #e68a00;
    z-index: 2;
}
.c-btn_orange:hover {
    background-color: #cc7a00;
}
.trial_bottom {
    margin-top: 40px;
}
.c-btn_orange.large {
    max-width: 500px;
}
.c-btn_orange.small {
    margin-left: auto;
    max-width: 300px;
    padding: 15px 60px;
}
@media (max-width: 896px) {
    .trial {
        padding: 40px 0 0;
    }
    .leadtext {
        padding: 40px 10% 40px;
        font-size: 14px;
        text-align: left;
        line-height: 1.8;
    }
    .trial_inner {
        padding: 40px 0;
    }
    .trial_inner h3 {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .step_card {
        width: 90%;
        padding: 20px;
        box-sizing: border-box;
    }
    .step_item {
        flex-direction: column;
        gap: 20px;
    }
    .step_arrow {
        margin: 20px auto;
    }
    .step_num {
        display: flex;
        align-items: baseline;
        gap: 8px;
    }
    .step_txt {
        font-size: 20px;
    }
    .step_val {
        font-size: 40px;
    }
    .step_content h4 {
        font-size: 20px;
        font-weight: bold;
        color: #e68a00;
        margin-bottom: 20px;
    }
    .step_content p {
        font-size: 14px;
    }
    .step_arrow {
        margin: 20px auto;
    }
    .c-btn_orange {
        font-size: 16px;
        padding: 20px 40px;
    }
    .trial_bottom {
        margin-top: 40px;
    }
    .c-btn_orange.large {
        margin: 5px 5%;
        width: 90%;
    }
    .c-btn_orange.small {
        margin: 0 5%;
        width: 90%;
    }
}
.information {
    padding: 80px 0 0;
}
.information__box_02 {
    background-image: url(../../img/background01.jpg);
    background-repeat: repeat;
    background-size: 100%;
    padding: 80px 0;
    text-align: center;
}
@media (max-width: 896px) {
    .information {
        padding: 40px 0 0;
    }
    .information__box_02 {
        padding: 40px 0;
    }
}
.school_section {
    padding: 60px 20px 160px;
    background-color: #fff;
}
.school_container {
    max-width: 1000px;
    margin: 0 auto;
}
.school_heading {
    font-size: 32px;
    font-weight: bold;
    color: #000;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 60px;
}
.school_heading::after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background-color: #ddd;
}
.school_list {
    display: flex;
    flex-direction: column;
    gap: 60px;
}
.school_item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 80px;
}
.school_info {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.school_title {
    font-size: 28px;
    color: #e68a00;
    margin: 0 0 20px;
    font-weight: bold;
}
.school_text {
    font-size: 14px;
    line-height: 1.7;
    margin: 0 0 25px 0;
    text-align: justify;
}
.school_img {
    width: 50%;
    flex-shrink: 0;
}
.school_img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}
@media (max-width: 896px) {
    .school_section {
        padding: 20px 5% 40px;
    }
    .school_heading {
        font-size: 20px;
        margin-bottom: 30px;
    }
    .school_list {
        gap: 40px;
    }
    .school_item {
        flex-direction: column-reverse;
        gap: 20px;
    }
    .school_info {
        align-items: center;
    }
    .school_info .c-btn_orange.small {
        margin: 0;
        width: 100%;
        max-width: 400px;
    }
    .school_title {
        font-size: 20px;
        margin-bottom: 10px;
    }
    .school_img {
        width: 100%;
    }
    .school_text {
        margin-bottom: 20px;
    }
}
#fee {
    background-image: url(../../img/background01.jpg);
    background-repeat: repeat;
    background-size: 100%;
    padding: 80px 0;
    text-align: center;
}
.staff_banner_link {
    display: block;
    text-decoration: none;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 4px;
}
.staff_banner_container {
    display: flex;
    width: 100%;
}
.staff_photo_single {
    width: 65%;
    flex-shrink: 0;
    height: 400px;
}
.staff_photo_single img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.staff_info_content {
    flex-grow: 1;
    background-color: #e68a00;
    padding: 30px 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    position: relative;
}
.staff_info_inner {
    max-width: 80%;
}
.staff_banner_title {
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 12px 0;
    letter-spacing: 1px;
}
.staff_banner_text {
    font-size: 14px;
    line-height: 1.6;
    opacity: 0.9;
}
.staff_banner_icon {
    width: 24px;
    height: 24px;
    background-color: #fff;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
    margin-left: 20px;
}
.staff_banner_icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 8px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #e68a00;
    border-right: 2px solid #e68a00;
    transform: translateY(-50%) rotate(45deg);
}
.staff_banner_link:hover .staff_photo_single img {
    transform: scale(1.03);
}
.staff_banner_link:hover .staff_info_content {
    background-color: #cc7a00;
}
@media (max-width: 896px) {
    #fee {
        padding: 40px 5%;
    }
    .staff_banner_container {
        flex-direction: column;
    }
    .staff_photo_single {
        width: 100%;
        height: auto;
    }
    .staff_photo_single img {
        height: auto;
    }
    .staff_info_content {
        padding: 30px 20px;
    }
    .staff_banner_title {
        font-size: 20px;
        margin-bottom: 10px;
    }
}
/* 例：カスタム投稿タイプ「staff」の一覧・詳細ページの場合 */
.postid-988 .p-section05_date, .postid-910 .p-section05_date, .postid-912 .p-section05_date, .postid-913 .p-section05_date, .postid-914 .p-section05_date, .postid-1784 .p-section05_date, .postid-1515 .p-section05_date {
    display: none !important;
}
/*1.フェードインアニメーションの指定*/
.js-scrollanime {
    opacity: 0;
}
/*一瞬表示されるのを防ぐ*/
.fadeInDown {
    animation-name: fadeInDown;
    animation-duration: 3s;
    animation-fill-mode: forwards;
}
@keyframes fadeInDown {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
        transform: translate(0);
    }
}
/*2.上下の動きを指定*/
.updown {
    transform: translateY(-100px);
}
.downup {
    transform: translateY(100px);
}
/*3.左右の動きを指定*/
.sect02 {
    overflow: hidden;
}
/*横スクロールバーを隠す*/
.slide-right {
    transform: translateX(200px);
}
.slide-left {
    transform: translateX(-200px);
}
.c-link_main {
    display: inline;
    color: #d68922;
    font-size: 18px;
    font-weight: bold;
    padding-bottom: 14px;
    padding-right: 7px;
}
@media screen and (max-width: 767px) {
    .c-link_main {
        font-size: 14px;
        padding-right: 0;
        padding-bottom: 7px;
    }
}
.c-link_main span {
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
    margin-bottom: 4px;
    margin-left: 8px;
}
.c-link_main span:before, .c-link_main span:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.c-link_main span:before {
    width: 20px;
    height: 20px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #d68922;
}
.c-link_main span:after {
    left: 7px;
    width: 5px;
    height: 5px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
    .c-link_main span:before {
        width: 15px;
        height: 15px;
    }
    .c-link_main span:after {
        left: 4px;
    }
}
.c-link_sub {
    display: inline;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    padding-bottom: 14px;
    padding-right: 7px;
}
@media screen and (max-width: 767px) {
    .c-link_sub {
        font-size: 15px;
        padding-right: 0;
        padding-bottom: 7px;
    }
}
.c-link_sub span {
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
    margin-bottom: 4px;
    margin-left: 8px;
}
.c-link_sub span:before, .c-link_sub span:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.c-link_sub span:before {
    width: 20px;
    height: 20px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}
@media screen and (max-width: 767px) {
    .c-link_sub span:before {
        width: 15px;
        height: 15px;
    }
    .c-link_main.large, .c-link_sub.large {
        font-size: 24px;
    }
}
.c-link_sub span:after {
    left: 6px;
    width: 5px;
    height: 5px;
    border-top: 2px solid #db9a3b;
    border-right: 2px solid #db9a3b;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
    .c-link_sub span:after {
        left: 4px;
    }
}
.c-title_ja {
    font-size: 26px;
    font-weight: bold;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-title_ja {
        font-size: 20px;
    }
}
.c-title_en {
    color: #d68922;
    font-size: 24px;
    font-weight: bold;
    font-style: italic;
    font-family: "Rooney", rooney-web, sans-serif;
    margin-top: 10px;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-title_en {
        font-size: 14px;
    }
}
.c-title01 {
    color: #ec8905;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.75;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-title01 {
        font-size: 18px;
        text-align: left;
    }
}
.c-text01 {
    color: #2d2d2d;
    font-size: 16px;
    line-height: 1.7;
}
@media screen and (max-width: 767px) {
    .c-text01 {
        font-size: 14px;
    }
}
.c-text02 {
    color: #2d2d2d;
    font-size: 16px;
    line-height: 1.7;
    margin-top: 30px;
}
@media screen and (max-width: 767px) {
    .c-text02 {
        font-size: 14px;
        margin-top: 10px;
    }
}
.c-text03 {
    font-size: 18px;
    text-align: center;
    line-height: 1.75;
    margin-top: 40px;
}
@media screen and (max-width: 767px) {
    .c-text03 {
        font-size: 14px;
        margin-top: 20px;
        padding: 0 15px;
    }
}
.c-text04 {
    font-size: 15px;
    text-decoration: underline;
    position: relative;
}
.c-text04:hover {
    opacity: 0.7;
}
.c-text04:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 3px;
    left: -27px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 7px;
    border-color: transparent transparent transparent #ec8805;
}
.c-text_green {
    color: #81b479;
}
.c-pager ul {
    display: flex;
    justify-content: center;
}
.c-pager ul li {
    margin-right: 20px;
}
.c-pager ul li:last-child {
    margin-right: 0;
}
.c-pager ul li a span {
    color: #d68922;
}
.c-button01 {
    color: #fff;
    font-size: 20px;
    padding: 20px 0;
    width: 500px;
    background-color: #ec8905;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .c-button01 {
        width: 80%;
        font-size: 14px;
        padding: 15px 0;
    }
}
.c-button01 span {
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
    margin-bottom: 4px;
    margin-left: 8px;
}
.c-button01 span:before, .c-button01 span:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.c-button01 span:before {
    width: 20px;
    height: 20px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}
.c-button01 i {
    font-style: normal;
    font-weight: bold;
    padding-left: 40px;
    background: url(../../img/pdf_icon.svg) 0 0 no-repeat;
}
@media screen and (max-width: 767px) {
    .c-button01 span:before {
        width: 15px;
        height: 15px;
    }
}
.c-button01 span:after {
    left: 6.5px;
    width: 5px;
    height: 5px;
    border-top: 2px solid #ec8905;
    border-right: 2px solid #ec8905;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
    .c-button01 span:after {
        left: 4px;
    }
}
.p-about {
    position: absolute;
    z-index: 1000;
    /* top: -38%; */
    top: 30px;
    right: 0;
    width: 46.4%;
    background-color: #fff;
    padding: 78px 20px 68px;
    border-radius: 30px 0 0 30px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
    text-align: center;
}
@media screen and (max-width: 767px) {
    .p-about {
        position: inherit;
        width: 100%;
        box-shadow: none;
        border-radius: 0;
        padding: 30px 20px 45px;
    }
}
.p-about_text {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 1.2px;
    margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
    .p-about_text {
        font-size: 11px;
        margin-bottom: 20px;
    }
}
.p-subVisual {
    background-image: url(../../img/background01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}
.p-subVisual_inner {
    padding-top: 180px;
    display: flex;
}
@media screen and (max-width: 767px) {
    .p-subVisual_inner {
        padding-top: 0;
    }
}
.p-subVisual_image {
    flex: 1;
}
.p-event {
    padding: 80px 0;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .p-event {
        padding: 50px 0;
    }
}
.p-event_contents {
    margin: 30px auto 50px;
    padding: 0 40px;
    display: flex;
    max-width: 1080px;
}
@media screen and (max-width: 767px) {
    .p-event_contents {
        margin: 0 auto 30px;
        padding: 0 15px;
        flex-wrap: wrap;
    }
}
.p-event_box {
    width: calc(100% / 4 - 120px / 4);
    margin-right: 40px;
    text-align: left;
    margin-top: 20px;
}
@media screen and (max-width: 767px) {
    .p-event_box {
        width: calc(100% / 2 - 30px / 2);
        margin-right: 30px;
    }
}
@media screen and (max-width: 767px) {
    .p-event_box:nth-child(even) {
        margin-right: 0;
    }
}
.p-event_box:last-child {
    margin-right: 0;
}
.p-event_box_image img {
    border-radius: 10px;
    width: 100%;
    height: 170px;
    object-fit: cover;
}
.p-event_box_date {
    margin-top: 12px;
    font-size: 12px;
}
@media screen and (max-width: 767px) {
    .p-event_box_date {
        font-size: 10px;
    }
}
.p-event_box_title {
    margin-top: 10px;
    font-size: 18px;
    line-height: 1.4;
    min-height: 68px;
}
@media screen and (max-width: 767px) {
    .p-event_box_title {
        font-size: 12px;
    }
}
.p-event_box_text {
    font-size: 13px;
    line-height: 1.6;
}
@media screen and (max-width: 767px) {
    .p-event_box_text {
        font-size: 10px;
    }
}
.p-news {
    display: flex;
    flex-direction: row-reverse;
}
@media screen and (max-width: 991px) {
    .p-news {
        display: block;
    }
}
.p-news_contents {
    flex: 1;
    text-align: center;
    padding: 70px 10px 65px;
    background-color: #fff;
}
@media screen and (max-width: 767px) {
    .p-news_contents {
        padding: 50px 0 50px;
    }
}
.p-news_block {
    padding: 35px 0 55px;
}
@media screen and (max-width: 767px) {
    .p-news_block {
        padding: 30px 0;
    }
}
.p-news_box {
    text-align: left;
    padding-left: 7%;
    display: block;
}
@media screen and (max-width: 767px) {
    .p-news_box {
        display: flex;
        padding-left: 15px;
    }
}
.p-news_date {
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    padding: 10px 35px 10px 0;
}
@media screen and (max-width: 767px) {
    .p-news_date {
        font-size: 12px;
        padding: 10px 10px 10px 0;
    }
}
.p-news_title {
    display: inline-block;
    text-align: left;
    font-size: 16px;
    padding: 10px 0;
}
@media screen and (max-width: 1199px) {
    .p-news_title {
        font-size: 12px;
    }
}
.p-news_image {
    padding: 0 10px;
    flex: 1;
    background-image: url(../../img/image09.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}
.p-news_image img {
    display: none;
}
@media screen and (max-width: 991px) {
    .p-news_image img {
        display: block;
    }
}
.p-recruit {
    padding: 10px 15px 75px;
}
@media screen and (max-width: 767px) {
    .p-recruit {
        width: 90%;
        margin: 0 auto;
        padding: 10px 0 40px;
    }
}
.p-recruit_contents {
    max-width: 1000px;
    margin: 0 auto;
    background-color: #db9a3b;
    border-radius: 30px;
    display: flex;
    padding: 18px;
}
@media screen and (max-width: 767px) {
    .p-recruit_contents {
        display: block;
        padding: 15px 15px 50px 15px;
    }
}
.p-recruit_contents_image {
    margin-right: 80px;
}
@media screen and (max-width: 767px) {
    .p-recruit_contents_image {
        margin-right: 0;
    }
}
.p-recruit_contents_image img {
    border-radius: 20px;
}
.p-recruit_contents_block {
    text-align: center;
    width: 45%;
}
@media screen and (max-width: 767px) {
    .p-recruit_contents_block {
        width: 100%;
    }
}
.p-recruit_contents_title {
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    margin-top: 40px;
}
@media screen and (max-width: 991px) {
    .p-recruit_contents_title {
        font-size: 14px;
        margin-top: 30px;
    }
}
.p-recruit_contents_text {
    color: #fff;
    font-size: 13px;
    line-height: 1.6;
    margin-top: 25px;
    margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
    .p-recruit_contents_text {
        font-size: 12px;
        margin-top: 15px;
        text-align: left;
    }
}
.p-footer {
    background-image: url(../../img/background01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 75px;
    text-align: center;
    position: relative;
}
@media screen and (max-width: 767px) {
    .p-footer {
        padding-top: 40px;
    }
}
.p-footer_logo_text01 {
    font-size: 12px;
    margin-bottom: 9px;
}
@media screen and (max-width: 767px) {
    .p-footer_logo_text01 {
        font-size: 10px;
    }
}
.p-footer_logo_text02 {
    width: 230px;
    display: block;
    margin: 0 auto;
}
@media screen and (max-width: 991px) {
    .p-footer_logo_text02 {
        width: 200px;
    }
}
.p-footer_address {
    margin-top: 15px;
    font-size: 13px;
    line-height: 1.6;
}
@media screen and (max-width: 767px) {
    .p-footer_address {
        font-size: 10px;
    }
}
.p-footer_nav {
    margin-top: 28px;
}
.p-footer_nav_block {
    display: flex;
    justify-content: center;
}
@media screen and (max-width: 767px) {
    .p-footer_nav_block {
        display: block;
    }
}
.p-footer_nav_list {
    font-size: 16px;
    margin-right: 20px;
    letter-spacing: 0.8px;
    text-decoration: underline;
}
@media screen and (max-width: 767px) {
    .p-footer_nav_list {
        margin-top: 10px;
        font-size: 10px;
    }
}
.p-footer_nav_list:last-child {
    margin-right: 0;
}
.p-footer_nav_list:hover {
    opacity: 0.7;
}
@media screen and (max-width: 767px) {
    .p-footer_nav_list01 {
        margin-right: 0;
    }
}
.p-footer_nav_flex {
    display: flex;
    justify-content: center;
}
.p-footer_sns {
    margin-top: 20px;
    display: flex;
    justify-content: center;
}
.p-footer_sns a {
    margin-right: 20px;
}
.p-footer_sns a:last-child {
    margin-right: 0;
}
.p-footer_sns img {
    width: 40px;
}
.p-footer_toto img {
    width: 60px;
    height: 40px;
}
.p-footer_link {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}
.p-footer_link a {
    height: 14px;
    border-left: 1px solid #4d4d4d;
}
.p-footer_link a:nth-child(4) {
    border-right: 1px solid #4d4d4d;
}
.p-footer_link_text {
    font-size: 13px;
    padding: 0 18px;
}
.p-footer_link_text:nth-child(3) {
    border-right: 1px solid #4d4d4d;
}
.p-footer_copyright {
    margin-top: 15px;
    background-color: #db9a3b;
    padding: 13px 0 15px;
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.3px;
}
@media screen and (max-width: 767px) {
    .p-footer_copyright {
        font-size: 10px;
    }
}
.p-footer_banner {
    position: absolute;
    right: 30px;
    bottom: 70px;
}
.p-section01 {
    padding-top: 85px;
}
@media screen and (max-width: 767px) {
    .p-section01 {
        padding-top: 50px;
    }
}
.p-section01_images {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}
@media screen and (max-width: 767px) {
    .p-section01_images {
        margin-top: 20px;
    }
}
.p-section01_images img {
    width: 500px;
}
.p-section02 {
    margin: 80px auto;
    padding: 0 15px;
    width: 830px;
}
@media screen and (max-width: 767px) {
    .p-section01_images img {
        display: block;
        margin: 0 auto 20px;
        width: 80%;
    }
    .p-section02 {
        margin: 20px auto 40px;
        width: 90%;
    }
}
.p-section02_button {
    display: flex;
    justify-content: center;
    margin-top: 50px;
}
@media screen and (max-width: 767px) {
    .p-section02_button {
        margin-top: 20px;
    }
}
.p-section03 {
    margin: 0 auto;
    width: 830px;
    display: flex;
    flex-wrap: wrap;
    padding: 60px 15px 0;
}
@media screen and (max-width: 767px) {
    .p-section03 {
        margin: 20px 0;
        width: 100%;
        justify-content: space-between;
        padding: 20px 5%;
    }
}
.p-section03_block01 {
    display: flex;
    width: 100%;
}
@media screen and (max-width: 767px) {
    .p-section03_block01 {
        display: block;
    }
}
.p-section03_block02 {
    width: calc(100% / 3 - 80px / 3);
    margin-top: 50px;
    margin-right: 40px;
    overflow: hidden;
}
@media screen and (max-width: 767px) {
    .p-section03_block02 {
        width: calc(100% / 2 - 20px / 2);
        margin-top: 20px;
        margin-right: 20px;
    }
}
@media screen and (max-width: 767px) {
    .p-section03_block02:nth-child(3), .p-section03_block02:nth-child(5) {
        margin-right: 0 !important;
    }
}
.p-section03_block02:nth-child(4) {
    margin-right: 0;
}
@media screen and (max-width: 767px) {
    .p-section03_block02:nth-child(4) {
        margin-right: 20px;
    }
}
.p-section03_block02:nth-child(7) {
    margin-right: 0;
}
.p-section03_block02 img {
    border-radius: 10px;
    width: 100%;
    height: 170px;
    object-fit: cover;
}
.p-section03_box {
    flex: 1;
    margin-right: 30px;
}
@media screen and (max-width: 767px) {
    .p-section03_box {
        margin-right: 0;
    }
}
.p-section03_box:last-child {
    margin-right: 0;
}
.p-section03_box img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.p-section03_date {
    font-size: 12px;
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .p-section03_date {
        margin-top: 10px;
    }
}
.p-section03_title {
    font-size: 20px;
    font-weight: bold;
    margin-top: 10px;
}
@media screen and (max-width: 767px) {
    .p-section03_title {
        font-size: 14px;
    }
}
.p-section03_text {
    color: #2d2d2d;
    font-size: 14px;
    margin-top: 10px;
    line-height: 1.7;
}
@media screen and (max-width: 767px) {
    .p-section03_text {
        font-size: 12px;
    }
}
.p-section04 {
    margin: 0 auto;
    width: 830px;
    padding: 0 15px;
}
@media screen and (max-width: 767px) {
    .p-section04 {
        margin: 20px 0;
        width: 100%;
    }
}
.p-section04_block {
    display: flex;
    flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
    .p-section04_block {
        justify-content: space-between;
    }
}
.p-section04_box {
    width: calc(100% / 3 - 80px / 3);
    margin-top: 50px;
    margin-right: 40px;
    overflow: hidden;
}
@media screen and (max-width: 767px) {
    .p-section04_box {
        width: calc(100% / 2 - 20px / 2);
        margin-top: 20px;
        margin-right: 20px;
    }
}
@media screen and (max-width: 767px) {
    .p-section04_box:nth-child(2n+2) {
        margin-right: 0 !important;
    }
}
.p-section04_box:nth-child(3n+3) {
    margin-right: 0;
}
@media screen and (max-width: 767px) {
    .p-section04_box:nth-child(3n+3) {
        margin-right: 20px;
    }
}
.p-section04_box img {
    width: 100%;
    height: auto;
}
.p-section04_date {
    font-size: 12px;
    font-weight: bold;
    margin-top: 10px;
}
.p-section04_title {
    font-size: 18px;
    font-weight: bold;
    margin-top: 10px;
    min-height: 68px;
}
@media screen and (max-width: 767px) {
    .p-section04_title {
        font-size: 14px;
    }
}
.p-section04_text {
    color: #2d2d2d;
    font-size: 14px;
    margin-top: 10px;
    line-height: 1.7;
}
@media screen and (max-width: 767px) {
    .p-section04_text {
        font-size: 12px;
    }
}
.p-section04_flex {
    display: flex;
    justify-content: center;
}
.p-section04_flex a {
    width: 100%;
}
.p-section05 {
    margin: 40px auto 110px;
    width: 830px;
    padding: 0 15px;
}
@media screen and (max-width: 767px) {
    .p-section05 {
        margin: 20px 0 50px;
        width: 100%;
    }
}
.p-section05 iframe {
    display: block;
    margin: 30px auto 0;
}
@media screen and (max-width: 767px) {
    .p-section05 iframe {
        width: 100%;
    }
}
.p-section05_flex {
    display: flex;
    justify-content: center;
}
@media screen and (max-width: 767px) {
    .p-section05_flex {
        display: block;
    }
}
.p-section05_flex ul {
    margin-right: 85px;
}
@media screen and (max-width: 767px) {
    .p-section05_flex ul {
        margin-right: 0;
        margin-left: 40px;
    }
}
@media screen and (max-width: 767px) {
    .p-section05_flex ul:last-child {
        margin-right: 0;
        margin-top: 35px;
    }
}
.p-section05_flex ul li {
    margin-top: 35px;
}
.p-section05_flex ul li:first-child {
    margin-top: 0;
}
.p-section05_image {
    margin: 0 auto;
    width: 75%;
}
.p-section05_image img {
    width: 100%;
    height: auto;
}
@media screen and (max-width: 767px) {
    .p-section05_image {
        width: 100%;
    }
}
.p-section05_title {
    margin-top: 85px;
    font-size: 27px;
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .p-section05_title {
        margin-top: 20px;
        font-size: 14px;
    }
}
.p-section05_date {
    margin-top: 35px;
    color: #808080;
    font-size: 17px;
}
@media screen and (max-width: 767px) {
    .p-section05_date {
        margin-top: 20px;
        font-size: 12px;
    }
}
.p-section05_text {
    margin-top: 35px;
    color: #2d2d2d;
    font-size: 16px;
    line-height: 1.75;
}
@media screen and (max-width: 767px) {
    .p-section05_text {
        margin-top: 20px;
        font-size: 12px;
    }
}
.p-section05_text p {
    margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
    .p-section05_text p {
        margin-bottom: 20px;
    }
}
.p-section05_text figure {
    margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
    .p-section05_text figure {
        margin-bottom: 20px;
    }
}
.p-section06 {
    margin: 0 auto;
    width: 830px;
    padding: 0 15px 220px;
}
@media screen and (max-width: 767px) {
    .p-section06 {
        margin: 20px 0;
        width: 100%;
        padding: 0 15px 50px;
    }
}
.p-section06_button_box {
    width: 60%;
    margin: 0 auto;
}
.p-section06_button_title {
    font-size: 18px;
    font-weight: bold;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
@media screen and (max-width: 767px) {
    .p-section06_button_title {
        font-size: 12px;
    }
}
.p-section06_button_date {
    margin-top: 10px;
    color: #808080;
    font-size: 17px;
}
@media screen and (max-width: 767px) {
    .p-section06_button_date {
        font-size: 10px;
    }
}
.p-section06_button01, .p-section06_button02 {
    border: 1px solid #e8e8e8;
    position: relative;
    padding: 35px 0;
    display: flex;
    justify-content: center;
}
@media screen and (max-width: 767px) {
    .p-section06_button01 {
        padding: 15px 0 15px 10px;
    }
}
.p-section06_button01:before {
    content: "";
    position: absolute;
    left: 13%;
    top: 44%;
    width: 10px;
    height: 10px;
    border-top: solid 2px #ec8905;
    border-right: solid 2px #ec8905;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
@media screen and (max-width: 767px) {
    .p-section06_button01:before {
        left: 5%;
    }
}
@media screen and (max-width: 767px) {
    .p-section06_button02 {
        padding: 15px 10px 15px 0;
    }
}
.p-section06_button02:after {
    content: "";
    position: absolute;
    right: 13%;
    top: 44%;
    width: 10px;
    height: 10px;
    border-top: solid 2px #ec8905;
    border-right: solid 2px #ec8905;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
    .p-section06_button02:after {
        right: 5%;
    }
}
.p-contact {
    width: 690px;
    margin: 20px auto 100px;
}
@media screen and (max-width: 767px) {
    .p-contact {
        width: 80%;
        padding: 0 15px;
        margin: 20px auto 40px;
    }
}
@media screen and (max-width: 575px) {
    .p-contact {
        width: 100%;
        padding: 0 15px;
    }
}
.p-contact_item {
    margin-top: 30px;
    display: flex;
}
@media screen and (max-width: 767px) {
    .p-contact_item {
        display: block;
    }
}
.p-contact_required {
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    background-color: #ec8905;
    width: 70px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 767px) {
    .p-contact_required {
        font-size: 12px;
        width: 40px;
    }
}
.p-contact_title {
    display: flex;
}
@media screen and (max-width: 767px) {
    .p-contact_title {
        margin-bottom: 15px;
    }
}
.p-contact_address {
    width: 430px;
}
@media screen and (max-width: 767px) {
    .p-contact_address {
        width: 100%;
    }
}
.p-contact_space {
    margin-left: 70px;
}
@media screen and (max-width: 767px) {
    .p-contact_space {
        margin-left: 0;
        margin-bottom: 10px;
        padding-left: 0 !important;
    }
}
.p-contact_zip {
    display: flex;
}
.p-contact_zip01 {
    width: 65px !important;
}
.p-contact_zip02 {
    width: 80px !important;
}
.p-contact_zip_detail {
    margin-top: 10px;
    height: 25px;
    width: 100% !important;
}
.p-contact_zip_button {
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    background-color: #ec8905;
    width: 70px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    margin-left: 10px;
}
.p-contact_building {
    display: flex;
    margin-top: 10px;
}
.p-contact_building label {
    margin-right: 10px;
    padding-left: 0 !important;
    width: unset !important;
}
.p-contact_building input {
    width: 100% !important;
}
.p-contact_button {
    display: flex;
    justify-content: center;
    margin-top: 50px;
    position: relative;
}
.p-contact_button_detail {
    color: #fff;
    font-size: 20px;
    padding: 28px 0;
    width: 350px;
    background-color: #ec8905;
    border-radius: 15px;
    text-align: center;
    cursor: pointer;
}
@media screen and (max-width: 767px) {
    .p-contact_button_detail {
        width: 200px;
        font-size: 14px;
        padding: 15px 0;
    }
}
.p-contact_button span {
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
    margin-bottom: 4px;
    margin-left: 8px;
}
.p-contact_button span:before, .p-contact_button span:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.p-contact_button span:before {
    width: 20px;
    height: 20px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}
@media screen and (max-width: 767px) {
    .p-contact_button span:before {
        width: 15px;
        height: 15px;
    }
}
.p-contact_button span:after {
    left: 6.5px;
    width: 5px;
    height: 5px;
    border-top: 2px solid #ec8905;
    border-right: 2px solid #ec8905;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
    .p-contact_button span:after {
        left: 4px;
    }
}
.p-contact_button_icon {
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
    margin-bottom: 4px;
    margin-left: 8px;
}
.p-contact_button_icon:before, .p-contact_button_icon:after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.p-contact_button_icon:before {
    width: 20px;
    height: 20px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
    right: 85px;
}
@media screen and (max-width: 767px) {
    .p-contact_button_icon:before {
        width: 15px;
        height: 15px;
        right: 30px;
    }
}
.p-contact_button_icon:after {
    width: 5px;
    height: 5px;
    right: 94px;
    border-top: 2px solid #ec8905;
    border-right: 2px solid #ec8905;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
    .p-contact_button_icon:after {
        left: 4px;
        right: -135px;
    }
}
.p-contact_input {
    background-color: #f1f1f1;
    width: 430px;
    height: 30px;
    font-size: 14px;
    font-family: "Yu Gothic Medium";
    padding: 10px 0 7px 15px;
}
@media screen and (max-width: 767px) {
    .p-contact_input {
        width: 100%;
        font-size: 12px;
    }
}
.p-contact label {
    font-size: 14px;
    padding-left: 30px;
    width: 180px;
    height: 25px;
    display: flex;
    align-items: center;
}
@media screen and (max-width: 767px) {
    .p-contact label {
        padding-left: 10px;
        font-size: 12px;
    }
}
.p-contact textarea {
    background-color: #f1f1f1;
    width: 430px;
    height: 145px;
    resize: none;
    padding: 5px 10px;
}
@media screen and (max-width: 767px) {
    .p-contact textarea {
        width: 100%;
    }
}
.p-contact button:hover {
    opacity: 0.7;
}
.mw_wp_form .error {
    margin-top: 5px;
}
.wp-pagenavi {
    margin: 90px auto;
    width: 57%;
    text-align: center;
}
.wp-pagenavi span.current {
    font-weight: normal !important;
}
.wp-pagenavi a, .wp-pagenavi span {
    border: 1px solid #ec8905 !important;
    padding: 3px 8px !important;
    margin: 4px !important;
    color: #ec8905 !important;
    font-family: "Noto Sans JP";
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
    color: #fff !important;
    background-color: #ec8905;
}
.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
    color: #ec8905;
    border: none !important;
    font-weight: bold;
    font-size: 0;
    position: relative;
}
.wp-pagenavi .previouspostslink:hover, .wp-pagenavi .nextpostslink:hover {
    color: #ec8905 !important;
    background-color: #fff !important;
}
.wp-pagenavi .previouspostslink:before {
    content: "";
    position: absolute;
    right: 1px;
    top: -8px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #ec8905;
    border-right: 2px solid #ec8905;
    transform: rotate(-135deg);
}
.wp-pagenavi .nextpostslink:before {
    content: "";
    position: absolute;
    left: 1px;
    top: -8px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #ec8905;
    border-right: 2px solid #ec8905;
    transform: rotate(45deg);
}
.prev-link, .next-link {
    width: 50%;
}
.prev-link {
    float: left;
}
.next-link {
    float: right;
}
/*-------------------------
PC用
margin-top
-------------------------*/
.mt90 {
    margin-top: 90px !important;
}
/*-------------------------
PC用
margin-right
-------------------------*/
/*-------------------------
PC用
margin-bottom
-------------------------*/
.mb110 {
    margin-bottom: 110px !important;
}
.mb130 {
    margin-bottom: 130px !important;
}
.mb140 {
    margin-bottom: 140px !important;
}
.mb145 {
    margin-bottom: 145px !important;
}
.mb155 {
    margin-bottom: 155px !important;
}
/*-------------------------
PC用
margin-left
-------------------------*/
/*-------------------------
sp用
margin-top
-------------------------*/
/*-------------------------
sp用
margin-right
-------------------------*/
/*-------------------------
sp用
margin-bottom
-------------------------*/
@media screen and (max-width: 767px) {
    .smb30 {
        margin-bottom: 30px !important;
    }
}
@media screen and (max-width: 767px) {
    .smb50 {
        margin-bottom: 50px !important;
    }
}
/*-------------------------
sp用
margin-left
-------------------------*/
/*-------------------------
PC用
padding-top
-------------------------*/
/*-------------------------
PC用
padding-right
-------------------------*/
/*-------------------------
PC用
padding-bottom
-------------------------*/
/*-------------------------
PC用
padding-left
-------------------------*/
/*-------------------------
sp用
padding-top
-------------------------*/
/*-------------------------
sp用
padding-right
-------------------------*/
/*-------------------------
sp用
padding-bottom
-------------------------*/
/*-------------------------
sp用
padding-left
-------------------------*/
/* -----------------------
foundation
----------------------- */
/* -----------------------
layout
----------------------- */
/* -----------------------
object
 |
 |__component
----------------------- */
/* -----------------------
object
 |
 |__project
----------------------- */
/* -----------------------
object
 |
 |__utility
----------------------- */
/*# sourceMappingURL=style.css.map */
/*-------------------------------
イベントjoinエリア
-------------------------------*/
@media screen and (min-width: 768px) {
    #join {
        position: relative;
        display: block;
        margin-top: -150px;
        padding-top: 150px;
        max-width: 100%;
        width: 830px;
    }
}
#join p {
    margin-bottom: 40px;
}
#join img {
    width: 100%;
    height: auto;
    object-fit: contain;
}
#join aside img:nth-of-type(1) {
    margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
    #join aside > p {
        margin-bottom: 80px;
        text-align: center;
        font-size: 20px;
    }
    #join aside div:nth-of-type(1) {
        margin-bottom: 20px;
        overflow-y: hidden;
    }
    #join aside .join_item_01 img {
        margin: 0;
        position: absolute;
        width: 17%;
        transform: translateX(-20px);
    }
    #join aside .join_item_01 p {
        display: inline-block;
        margin: 0;
        padding: 40px 0;
        width: 82%;
        font-size: 20px;
        line-height: 26px;
        box-sizing: border-box;
        float: right;
    }
}
#join aside img:nth-of-type(2) {
    margin-bottom: 40px;
}
#join aside img:nth-of-type(3) {
    margin-bottom: 20px;
}
#join aside img:nth-of-type(4) {
    margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
    #join aside ul {
        margin-bottom: 40px;
        padding-left: 40px;
        list-style: disc;
    }
    #join aside ul li {
        font-size: 14px;
        line-height: 18px;
    }
    #join aside .join_item_02 {
        margin-bottom: 40px;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }
    #join aside .join_item_02 img:nth-of-type(1) {
        width: 46%;
    }
    #join aside .join_item_02 img:nth-of-type(2) {
        width: 52%;
        object-position: top;
    }
    #join aside .join_item_03 iframe {
        width: 100%;
        height: 1000px;
    }
}
/*--sp用--*/
@media screen and (max-width: 767px) {
    #join {
        position: relative;
        display: block;
        margin-top: -70px;
        padding-top: 70px;
        max-width: 100%;
        width: 830px;
    }
    #join aside > p {
        margin-bottom: 40px;
        text-align: center;
        font-size: 14px;
    }
    #join aside div:nth-of-type(1) {
        margin-bottom: 20px;
    }
    #join aside .join_item_01 img {
        position: relative;
        margin: 0 auto 20px;
        display: block;
        width: 20%;
    }
    #join aside .join_item_01 p {
        margin-bottom: 20px;
        width: 100%;
        display: inline-block;
        font-size: 14px;
        line-height: 20px;
        box-sizing: border-box;
    }
    #join aside ul {
        margin-bottom: 40px;
        padding-left: 20px;
        list-style: disc;
    }
    #join aside ul li {
        font-size: 12px;
        line-height: 18px;
    }
    #join aside .join_item_03 iframe {
        width: 100%;
        height: 1020px;
    }
}
.c-youtube_inner {
    width: 60%;
    height: 320px;
    margin: auto;
}
@media screen and (max-width: 767px) {
    .c-youtube_inner {
        width: 90%;
        height: 200px;
        margin: auto;
    }
}
.c-youtube_inner iframe {
    width: 100%;
    height: 100%;
}
.p-about_youtube .c-youtube_inner {
    width: 60%;
    margin: 30px auto 0;
}
@media screen and (max-width: 767px) {
    .p-about_youtube .c-youtube_inner {
        width: 90%;
        margin: 20px auto 0;
    }
}
.p-about_youtube.c-youtube {
    padding-bottom: 85px;
}
@media screen and (max-width: 767px) {
    .p-about_youtube.c-youtube {
        padding-bottom: 40px;
    }
}
.p-event_inner .p-section02_button {
    margin-top: 72px;
}
@media screen and (max-width: 767px) {
    .p-event_inner .p-section02_button {
        margin-top: 32px;
    }
}
.p-footer .p-section02 {
    margin-top: 20px;
    margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
    .p-footer .p-section02 {
        margin-top: 16px;
        margin-bottom: 40px;
    }
}
.c-row {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
@media screen and (max-width: 767px) {
    .c-row {
        display: block;
    }
}
.c-row li {
    width: 48%;
    margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
    .c-row li {
        width: 100%;
        margin-bottom: 16px;
    }
}
.c-row li p {
    font-weight: bold;
    margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
    .c-row li p {
        margin-bottom: 8px;
    }
}
.c-row li .mov {
    width: 100%;
    height: 200px;
}
@media screen and (max-width: 767px) {
    .c-row li .mov {
        width: 100%;
        height: 180px;
    }
}
.c-row li .mov iframe {
    width: 100%;
    height: 100%;
}
.youtube_list .p-section02_button {
    width: 100%;
}
#join.p-section01 {
    margin-top: 0;
    padding-top: 85px;
}
@media screen and (max-width: 767px) {
    #join.p-section01 {
        padding-top: 40px;
    }
}
.p-section03_inner {
    width: 80%;
    max-width: 800px;
    margin: auto;
    line-height: 1.6;
}
.info_list {
    padding: 40px;
    border: 1px solid #aaa;
    margin-top: 20px;
    background-color: #FFF;
    text-align: left;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
    .info_list {
        padding: 20px;
    }
}
@media screen and (max-width: 767px) {
    .p-header_link_text, .p-footer_link_text {
        padding-left: 8px;
        padding-right: 8px;
    }
}
.join_item_02 {
    margin-bottom: 0;
    justify-content: center;
}
@media screen and (min-width: 768px) {
    .join_item_02 img {
        width: 80% !important;
        margin: auto;
    }
    #join .p-section02_button {
        margin-top: 30px;
        margin-bottom: 50px;
    }
}
@media screen and (max-width: 767px) {
    #join .c-button01 {
        width: 260px;
    }
}
/* 20230223 追記 */
.join-content {
    margin: auto;
    width: 90%;
    max-width: 800px;
    line-height: 1.75;
}
.c-title_ja.is-org {
    color: #ec8905;
    margin-bottom: 20px;
}
.join-content__text {
    font-size: 16px;
    font-weight: 500;
}
.join-content__list {
    margin-top: 24px;
    margin-bottom: 77px;
}
.join-content__list li {
    display: flex;
    justify-content: center;
    margin-bottom: 26px;
}
.join-content__list .-flow {
    color: #ec8905;
    font-weight: 900;
    font-size: 15px;
    display: block;
    width: 72px;
}
.join-content__list .-text {
    display: block;
    line-height: 1;
}
.join-content__list .-number {
    font-size: 30px;
    line-height: 1;
}
.join-content__list .-content {
    padding-top: 11px;
    width: 499px;
}
.join-content__list .-content p {
    margin-bottom: 36px !important;
}
.join-content__list-title {
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 15px;
}
.join-content .p-section02_button {
    margin-bottom: unset !important;
}
.join-content__list .-content dl {
    display: flex;
}
.join-content__list .-content dt {
    width: 60px;
}
.c-text__center {
    text-align: center;
}
.c-text__center.is-read {
    font-weight: 700;
    font-size: 20px;
}
.join-price-table {
    width: 100%;
    margin-top: 35px;
    letter-spacing: 0.1em;
    background-color: #FFF;
}
.join-price-table tr {
    width: 100%;
}
.join-price-table th {
    font-weight: 700;
    font-size: 16px;
    text-align: center;
    background: #f0f0f0;
    border: 1px solid #ccc;
    text-align: center;
    vertical-align: middle;
    height: 53px;
}
.join-price-table td {
    font-weight: 700;
    font-size: 35px;
    text-align: right;
    border: 1px solid #ccc;
    vertical-align: middle;
    padding: 0 19px 0 0;
}
.join-price-table td span {
    font-size: 13px;
    display: inline-block;
    margin-left: 10px;
}
.join-content__icon {
    width: 40px;
    margin: 30px auto 0;
}
.join-content__tshirt {
    position: relative;
    padding: 32px 0;
    width: 100%;
    max-width: 687px;
    margin: 0 auto 14px;
}
.join-content__tshirt::after {
    position: absolute;
    content: "";
    width: 292px;
    height: 203px;
    background: url(../../img/bg-tshirt.png);
    background-size: cover;
    background-position: center right;
    top: 0;
    right: 0;
}
.join-content__tshirt-wrap {
    width: 100%;
    max-width: 475px;
    border: 1px solid #ccc;
    padding: 10px 60px 15px 10px;
}
.join-content__tshirt-head {
    display: flex;
    justify-content: center;
    align-items: center;
}
.join-content__tshirt-head .-title {
    font-weight: 700;
    margin-bottom: unset !important;
    font-size: 20px;
}
.join-content__tshirt-head .-price {
    font-size: 40px;
    font-weight: 700;
    margin-left: 30px;
    margin-bottom: unset !important;
}
.join-content__tshirt-head .-price span {
    font-size: 20px;
}
.join-content__tshirt-wrap .-text {
    text-align: center;
    margin-bottom: unset !important;
}
.join-support {
    border: 1px solid #ec8805;
    border-radius: 20px;
    padding: 65px 36px 0;
    margin-bottom: 120px;
    position: relative;
}
.join-support .-title {
    display: inline-block;
    font-weight: 700;
    background: #fff;
    padding: 0 26px;
    font-size: 24px;
    letter-spacing: 0.1em;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -20px;
}
.join-support .-text {
    text-align: center;
}
.join-support table {
    width: 100%;
    margin-top: 50px;
    margin-bottom: 47px;
}
.join-support tr {
    width: 100%;
    border-bottom: 1px solid #ccc;
}
.join-support tr:last-child {
    border-bottom: unset;
}
.join-support th {
    padding: 0 10px;
    font-weight: 700;
    font-size: 16px;
    text-align: center;
    border-left: 1px solid #ccc;
    vertical-align: middle;
    padding-bottom: 14px;
}
.join-support th:last-child {
    border-right: 1px solid #ccc;
}
.join-support th span {
    font-size: 13px;
    font-weight: 500;
    display: block;
}
.join-support td {
    padding: 0 10px;
    font-weight: 700;
    font-size: 32px;
    text-align: center;
    border-left: 1px solid #ccc;
    width: 38%;
}
.join-support td:last-child {
    border-right: 1px solid #ccc;
}
.join-support td span {
    font-size: 13px;
    font-weight: 500;
    display: inline-block;
    margin-left: 10px;
}
.program-content__list {
    margin-top: 200px;
}
.program-content__list li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 86px;
}
.program-content__list .-video {
    display: block;
    width: 50%;
}
.program-content__list .-video iframe {
    display: block;
    height: 207px;
    width: 100%;
}
.program-content__list .-content {
    width: 44%;
}
.program-content__list .-title {
    font-size: 23px;
    font-weight: 700;
    padding-bottom: 10px;
    display: inline-block;
    padding-right: 30px;
    border-bottom: 5px solid #ec8905;
    margin-bottom: 20px;
    white-space: nowrap;
}
.program-content__list p {
    line-height: 28px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: justify;
}
.join-content__list .-flow {
    position: relative;
}
.join-content__list .-flow::after {
    position: absolute;
    content: "";
    width: 12px;
    height: 100%;
    background: url("../../img/flow-dots.png");
    background-size: contain;
    background-position: top;
    background-repeat: no-repeat;
    top: 60px;
    left: 10px;
}
.join-content__list .-flow::before {
    position: absolute;
    content: "";
    width: 45px;
    height: 88px;
    background: url("../../img/flow-arrow.png");
    background-size: contain;
    background-position: bottom;
    background-repeat: no-repeat;
    bottom: 0px;
    left: 0px;
}
.join-content__list li:last-child .-flow::before {
    display: none;
}
.c-text__attention {
    margin-top: 20px;
    text-align: left;
}
@media screen and (max-width: 767px) {
    .join-content {
        margin: 0px;
        width: 100%;
    }
    .join-content__text {
        font-size: 14px;
    }
    .join-content__list {
        margin-top: 20px;
        margin-bottom: 50px;
    }
    .join-content__list .-flow {
        color: #ec8905;
        font-weight: 900;
        font-size: 13px;
        display: block;
        width: 50px;
        text-align: center;
    }
    .join-content__list .-content {
        width: calc(100% - 70px);
    }
    .join-content__list .-content p {
        margin-bottom: 20px !important;
    }
    .join-content__list-title {
        font-size: 18px;
        margin-bottom: 10px;
    }
    .join-content__list .-content dt {
        width: 50px;
    }
    .c-text__center.is-read {
        font-size: 18px;
    }
    .join-price-table {
        margin-top: 20px;
        letter-spacing: unset;
    }
    .join-price-table th {
        font-size: 13px;
        height: 40px;
    }
    .join-price-table td {
        font-size: 20px;
        padding: 0 5px 0 0;
    }
    .join-price-table td span {
        font-size: 10px;
        margin-left: 4px;
    }
    .join-content__icon {
        width: 30px;
        margin: 20px auto 0;
    }
    .program-content__list {
        margin-top: 100px;
    }
    .program-content__list li {
        flex-direction: column;
        margin-bottom: 50px;
    }
    .program-content__list .-video {
        width: 100%;
    }
    .program-content__list .-video iframe {
        height: 150px;
    }
    .program-content__list .-content {
        width: 100%;
    }
    .program-content__list .-title {
        font-size: 20px;
        padding-right: 30px;
        border-bottom: 2px solid #ec8905;
        margin-bottom: 10px;
        white-space: unset;
    }
    .program-content__list p {
        line-height: 20px;
        font-size: 15px;
    }
    .join-content__list .-flow::after {
        left: 18px;
        top: 62px;
    }
    .join-content__list .-flow::before {
        width: 33px;
        height: 65px;
        bottom: 0px;
        left: 7px;
    }
    .join-content__tshirt {
        padding: 32px 0;
        width: 100%;
        max-width: 687px;
        margin: 0 auto 14px;
    }
    .join-content__tshirt::after {
        width: 162px;
        height: 110px;
        top: -40px;
    }
    .join-content__tshirt-wrap {
        padding: 10px 10px 15px 10px;
    }
    .join-content__tshirt-head .-title {
        font-size: 16px;
    }
    .join-content__tshirt-head .-price {
        font-size: 30px;
        margin-left: 20px;
    }
    .join-content__tshirt-head .-price span {
        font-size: 18px;
    }
    .join-content__tshirt-wrap .-text {
        font-size: 13px;
    }
    .c-text__attention {
        font-size: 12px;
    }
    .join-support {
        padding: 49px 10px 0;
        margin-bottom: 80px;
    }
    .join-support .-title {
        padding: 0 15px;
        font-size: 20px;
        top: -20px;
        white-space: nowrap;
    }
    .join-support .-text {
        font-size: 14px;
    }
    .join-support th {
        padding: 0 5px;
        font-size: 14px;
        padding-bottom: 10px;
    }
    .join-support th span {
        font-size: 10px;
    }
    .join-support td {
        padding: 0 5px;
        font-size: 20px;
        width: 38%;
    }
    .join-support td span {
        font-size: 12px;
        margin-left: 0;
    }
}
.c-button01 a {
    display: block;
    text-align: center;
}
.p-news {
    display: block;
    padding: 75px 0;
}
@media screen and (max-width: 767px) {
    .p-news {
        display: block;
        padding: 40px 0 45px;
    }
}
.insta_inner {
    max-width: 1000px;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
    .insta_inner {
        width: 90%;
        margin: 0 auto;
    }
}
.p-mainVisual .mv_copy {
    opacity: 0 !important;
}
/* 20250314追記 */
.contact_box {
    padding: 80px 0 0;
}
.contact_box br.clear {
    display: none;
}
.contact_box .leadtext {
    padding: 50px 0 80px;
    line-height: 1.6em;
    text-align: center;
}
.contact_box .contact_item {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin: 0 auto 80px;
    width: 90%;
    max-width: 800px;
}
.contact_box .contact_item > div {
    position: relative;
    flex: 1;
    padding: 0 25px 25px;
    text-align: center;
    line-height: 1.6em;
    border: 1px solid #db9a3c;
    border-radius: 20px;
    box-sizing: border-box;
}
.contact_box .contact_item div h4 {
    position: relative;
    top: -12px;
    margin: auto;
    width: 80%;
    font-size: 24px;
    font-weight: bold;
    background-color: #FFF;
}
.contact_box .contact_item .textlink {
    margin-bottom: 25px;
    padding: 30px 0 40px;
    font-size: 32px;
    border-bottom: 1px solid #db9a3c;
}
.contact_box .item_line {
    position: relative;
    flex: 1;
    margin: 0 auto 100px;
    padding: 0 25px 25px;
    width: 90%;
    max-width: 800px;
    text-align: center;
    line-height: 1.6em;
    border: 1px solid #db9a3c;
    border-radius: 20px;
    box-sizing: border-box;
}
.contact_box .item_line h4 {
    position: relative;
    top: -12px;
    margin: auto;
    width: 260px;
    font-size: 24px;
    font-weight: bold;
    background-color: #FFF;
}
.contact_box .item_line .linelink {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    margin-bottom: 25px;
    padding: 30px 0 40px;
    border-bottom: 1px solid #db9a3c;
}
.contact_box .item_line .linelink a {
    padding: 0 50px 0 20px;
    color: #FFF;
    height: 40px;
    font-weight: bold;
    line-height: 40px;
    background: #05b956 url("../../img/lineicon.png") center right 20px no-repeat;
    background-size: 14px;
    border-radius: 10px;
}
.contact_box .item_line .linelink img {
    width: 70px;
}
@media screen and (max-width: 767px) {
    .contact_box {
        padding: 60px 0 0;
    }
    .contact_box br.clear {
        display: block;
    }
    .contact_box .leadtext {
        padding: 40px 5%;
        font-size: 13px;
    }
    .contact_box .contact_item {
        flex-flow: wrap;
        gap: 40px;
        margin: 0 auto 40px;
    }
    .contact_box .contact_item > div {
        padding: 0 20px 20px;
        font-size: 13px;
    }
    .contact_box .contact_item div h4 {
        width: 80%;
        font-size: 20px;
    }
    .contact_box .contact_item .textlink {
        margin-bottom: 20px;
        padding: 10px 0 20px;
        font-size: 25px;
    }
    .contact_box .item_line {
        margin: 0 auto 60px;
        padding: 0 20px 20px;
        font-size: 13px;
    }
    .contact_box .item_line h4 {
        width: 80%;
        font-size: 20px;
    }
    .contact_box .item_line .linelink {
        gap: 20px;
        margin-bottom: 25px;
        padding: 10px 0 20px;
    }
    .contact_box .item_line .linelink a {
        padding: 0 45px 0 15px;
    }
    .contact_box .item_line .linelink img {
        width: 50px;
    }
}