@charset "UTF-8";
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, table, th, td, button {
    margin: 0;
    padding: 0;
    font-size: 100%;
    box-sizing: border-box;
    position: relative;
}
img {
    border: 0;
}
ol, ul {
    list-style: none;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 100%;
    box-sizing: border-box;
    position: relative;
}
address {
    font-style: normal;
}
sub, sup {
    line-height: 0;
}
html {
    height: 100%;
    font-size: 10px;
}
body {
    height: 100%;
}
* html div#wrapper {
    height: 100%;
}
div#wrapper {
    min-height: 100%;
    position: relative;
}
body>#wrapper {
    height: auto;
}
.clearfix {
    zoom: 1;
}
.clearfix:after {
    content: "";
    display: block;
    visibility: hidden;
    clear: both;
    height: 0.1px;
    font-size: 0.1em;
    line-height: 0;
}
.acms-column-clear, .clear {
    clear: both !important;
}
.float_n {
    float: none !important;
}
.float_l {
    float: left;
    *display: inline;
    *zoom: 1;
}
.float_r {
    float: right;
    *display: inline;
    *zoom: 1;
}
.align_l {
    text-align: left !important;
}
.align_c, .a_center {
    text-align: center !important;
}
.align_r, .a_right {
    text-align: right !important;
}
.valign_m {
    vertical-align: middle !important;
}
.font10 {
    font-size: 1.0rem !important;
}
.font11 {
    font-size: 1.1rem !important;
}
.font12 {
    font-size: 1.2rem !important;
}
.font13 {
    font-size: 1.3rem !important;
}
.font14 {
    font-size: 1.4rem !important;
}
.font15 {
    font-size: 1.5rem !important;
}
.font16 {
    font-size: 1.6rem !important;
}
.font17 {
    font-size: 1.7rem !important;
}
.font18 {
    font-size: 1.8rem !important;
}
.font19 {
    font-size: 1.9rem !important;
}
.font20 {
    font-size: 2.0rem !important;
}
.font21 {
    font-size: 2.1rem !important;
}
.font22 {
    font-size: 2.2rem !important;
}
.font23 {
    font-size: 2.3rem !important;
}
.font24 {
    font-size: 2.4rem !important;
}
.font25 {
    font-size: 2.5rem !important;
}
.font26 {
    font-size: 2.6rem !important;
}
.fontb {
    font-weight: bold !important;
}
.mt0 {
    margin-top: 0px !important;
}
.mt05 {
    margin-top: 5px !important;
}
.mt10 {
    margin-top: 10px !important;
}
.mt15 {
    margin-top: 15px !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt25 {
    margin-top: 25px !important;
}
.mt30 {
    margin-top: 30px !important;
}
.mt40 {
    margin-top: 40px !important;
}
.mt50 {
    margin-top: 50px !important;
}
.mt60 {
    margin-top: 60px !important;
}
.mb0 {
    margin-bottom: 0px !important;
}
.mb05 {
    margin-bottom: 5px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb15 {
    margin-bottom: 15px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb25 {
    margin-bottom: 25px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mb35 {
    margin-bottom: 35px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}
.mb45 {
    margin-bottom: 45px !important;
}
.mb50 {
    margin-bottom: 50px !important;
}
.mb60 {
    margin-bottom: 60px !important;
}
.mb70 {
    margin-bottom: 70px !important;
}
.mb80 {
    margin-bottom: 80px !important;
}
.mr05 {
    margin-right: 5px !important;
}
.mr10 {
    margin-right: 10px !important;
}
.mr15 {
    margin-right: 15px !important;
}
.mr20 {
    margin-right: 20px !important;
}
.mr25 {
    margin-right: 25px !important;
}
.mr30 {
    margin-right: 30px !important;
}
.mr35 {
    margin-right: 35px !important;
}
.mr40 {
    margin-right: 40px !important;
}
.ml05 {
    margin-left: 5px !important;
}
.ml10 {
    margin-left: 10px !important;
}
.ml15 {
    margin-left: 15px !important;
}
.ml20 {
    margin-left: 20px !important;
}
.ml25 {
    margin-left: 25px !important;
}
.ml30 {
    margin-left: 30px !important;
}
.ml35 {
    margin-left: 35px !important;
}
.ml40 {
    margin-left: 40px !important;
}
.ml50 {
    margin-left: 50px !important;
}
.ml60 {
    margin-left: 60px !important;
}
.m_auto {
    margin-left: auto;
    margin-right: auto;
}
.w05per {
    width: 5%;
}
.w10per {
    width: 10%;
}
.w15per {
    width: 15%;
}
.w20per {
    width: 20%;
}
.w25per {
    width: 25%;
}
.w30per {
    width: 30%;
}
.w33per {
    width: 33.3333333333333%;
}
.w35per {
    width: 35%;
}
.w40per {
    width: 40%;
}
.w45per {
    width: 45%;
}
.w50per {
    width: 50%;
}
.w55per {
    width: 55%;
}
.w60per {
    width: 60%;
}
.w65per {
    width: 65%;
}
.w70per {
    width: 70%;
}
.w75per {
    width: 75%;
}
.w80per {
    width: 80%;
}
.w85per {
    width: 85%;
}
.w90per {
    width: 90%;
}
.w95per {
    width: 95%;
}
.hidden {
    display: none;
}
p.inline_b, .inline_b li {
    display: inline-block !important;
    margin-right: 20px !important;
}
@media only screen and (max-width: 736px) {
    .inline_b li {
        display: block !important;
        margin-right: 0 !important;
    }
}
img {
    max-width: 100%;
    height: auto;
    _width: 100%;
}
.img_100per {
    width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.img_responsive {
    max-width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
    _width: 100%;
}
@font-face {
    font-family: Meiryo;
    src: local("Meiryo"), local("メイリオ");
}
body {
    color: #333333;
    font-family: Meiryo, 'メイリオ', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'MS PGothic', 'ＭＳ Ｐゴシック', sans-serif;
    font-size: 1.6rem;
    *font-size: small;
    *font: x-small;
    line-height: 2;
    background: #ffffff;
    min-width: 320px;
    padding: 144px 0 0;
    height: 100%;
    -webkit-text-size-adjust: 100%;
    letter-spacing: normal;
}
body.en {
    font-size: 1.8rem;
    font-family: 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    letter-spacing: normal;
    padding: 149px 0 0;
}
@media screen and (max-width: 1200px) {
    body, body.en {
        padding: 70px 0 0;
    }
}
@media only screen and (max-width: 736px) {
    body {
        font-size: 1.4rem;
        height: 100%;
        padding: 50px 0 0;
    }
    body.en {
        font-size: 1.6rem;
        padding: 50px 0 0;
    }
}
@supports (-webkit-touch-callout: none) {
    body {
        height: -webkit-fill-available;
    }
}
[v-cloak] {
    visibility: hidden;
}
a {
    word-break: normal;
    overflow-wrap: break-word;
    overflow-wrap: anywhere;
}
a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    text-decoration-color: #85023e;
}
a:hover, a:active {
    text-decoration: none;
}
#contents a {
    position: relative;
}
.contents_designer-contents a {
    text-decoration: none;
    border-bottom: #85023e 1px solid;
    transition: border-bottom 0s;
}
@media only screen and (min-width: 737px) {
    .contents_designer-contents a:hover {
        border-bottom: none;
    }
}
.contents_designer-contents a[href^=tel] {
    border-bottom: none;
    pointer-events: none;
}
@media screen and (max-width: 736px) {
    .contents_designer-contents a[href^=tel] {
        pointer-events: all;
    }
}
#contents a.a_gaibu:after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    margin: 0 0 0 0.5em;
    background: url(../img/common/2023_icon_popup.png) no-repeat center center/100% auto;
}
#contents a.a_gaibu02:after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 0 0 0.5em;
    background: url(../img/common/icon_gaibu03.png) no-repeat center center/100% auto;
}
#contents a.a_popup:after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    margin: 0 0 0 0.5em;
    background: url(../img/common/2023_icon_popup.png) no-repeat center center/100% auto;
}
#contents a.a_popup02:after {
    content: '';
    display: inline-block;
    width: 9px;
    height: 9px;
    margin: 0 0 0 0.5em;
    background: url(../img/common/icon_popup03.png) no-repeat center center;
}
#contents a.a_xls:after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 24px;
    margin: 0 0 0 0.5em;
    vertical-align: top;
    background: url(../img/common/2023_icon_excel.png) no-repeat center center/100% auto;
}
#contents a.a_doc:after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 24px;
    margin: 0 0 0 0.5em;
    vertical-align: top;
    background: url(../img/common/2023_icon_word.png) no-repeat center center/100% auto;
}
#contents a.a_ppt:after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 24px;
    margin: 0 0 0 0.5em;
    vertical-align: top;
    background: url(../img/common/2023_icon_ppt.png) no-repeat center center/100% auto;
}
#contents a.a_pdf:after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 24px;
    margin: 0 0 0 0.5em;
    vertical-align: top;
    background: url(../img/common/2023_icon_pdf.png) no-repeat center center/100% auto;
}
#contents a.a_other:after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 24px;
    margin: 0 0 0 0.5em;
    background: url(../img/common/2023_icon_other.png) no-repeat center center/100% auto;
}
#contents a.a_new:after {
    content: '';
    display: inline-block;
    width: 33px;
    height: 20px;
    margin: 0 0 0 0.5em;
    vertical-align: middle;
    background: url(../img/common/icon_new.png) no-repeat center center/100% auto;
}
@media only screen and (max-width: 736px) {
    #contents a.a_gaibu:after {
        width: 14px;
        height: 14px;
        margin: 0 0 0 0.5em;
    }
    #contents a.a_gaibu02:after {
        width: 10px;
        height: 10px;
        margin: 0 0 0 0.5em;
    }
    #contents a.a_popup:after {
        width: 12px;
        height: 12px;
        margin: 0 0 0 0.5em;
    }
    #contents a.a_popup02:after {
        width: 9px;
        height: 9px;
        margin: 0 0 0 0.5em;
        background: url(../img/common/icon_popup03.png) no-repeat center center;
    }
    #contents a.a_xls:after {
        width: 17px;
        height: 20px;
        margin: 0 0 0 0.5em;
    }
    #contents a.a_doc:after {
        width: 17px;
        height: 20px;
        margin: 0 0 0 0.5em;
    }
    #contents a.a_ppt:after {
        width: 17px;
        height: 20px;
        margin: 0 0 0 0.5em;
    }
    #contents a.a_pdf:after {
        width: 17px;
        height: 20px;
        margin: 0 0 0 0.5em;
    }
    #contents a.a_other:after {
        width: 17px;
        height: 17px;
        margin: 0 0 0 0.5em;
    }
    #contents a.a_new:after {
        width: 26px;
        height: 16px;
        margin: 0 0 0 0.5em;
    }
}
.visible_l {
    display: block !important;
}
.visible_s {
    display: none !important;
}
.visible_l_inline {
    display: inline !important;
}
.visible_s_inline {
    display: none !important;
}
@media only screen and (max-width: 736px) {
    .visible_l {
        display: none !important;
    }
    .visible_s {
        display: block !important;
    }
    .visible_l_inline {
        display: none !important;
    }
    .visible_s_inline {
        display: inline !important;
    }
    .sp_br {
        display: block;
    }
}
.txt_telno {}
.img_float_l {
    float: left;
    *display: inline;
    *zoom: 1;
    margin-right: 18px;
    z-index: 2;
}
.img_float_r {
    float: right;
    *display: inline;
    *zoom: 1;
    margin-left: 18px;
    z-index: 2;
}
@media only screen and (max-width: 736px) {
    .img_float_l, .img_float_r {
        float: none;
        display: block;
        width: auto !important;
        max-width: 100%;
        height: auto;
        margin: 0 auto 10px;
    }
    .img_float_l img, .img_float_r img {
        display: block;
        margin: 0 auto;
    }
}
.color_red {
    color: #ff0000;
}
.color_blue {
    color: #0057ce;
}
.color_green {
    color: #18b018;
}
.color_orange {
    color: #ff7011;
}
.color_gray {
    color: #999999;
}
.color_black {
    color: #000000;
}
.color_wine {
    color: #85023e !important;
}
.color_wine a {
    color: #85023e !important;
}
hr {
    clear: both;
    border: none;
    border-top: solid 2px #dddddd;
    height: 1px;
    color: #ffffff;
    margin: 28px 0;
}
hr.clear {
    clear: both;
    border-bottom: none;
    height: 1px;
    color: transparent;
    margin: 0;
}
.line.type-1 {
    border-top: solid 2px #dddddd;
    margin: 28px 0;
    height: 1px;
}
.line.type-2 {
    border-top: solid 4px #dddddd;
    margin: 28px 0;
    height: 1px;
}
.line.type-3 {
    border-top: dotted 2px #dddddd;
    margin: 28px 0;
    height: 1px;
}
@media only screen and (max-width: 736px) {
    #wrapper {
        padding-top: 0;
    }
}
#ttl_page {
    width: 100%;
    margin: 0 auto;
    background: #f9f2f5;
    box-sizing: border-box;
    position: relative;
    height: 182px;
}
#ttl_page .inner {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    width: 100%;
    min-width: 1080px;
    max-width: 1600px;
    margin: 0 auto;
    height: 100%;
    text-align: left;
    background: #f9f2f5;
    overflow: hidden;
    box-sizing: border-box;
}
#ttl_page .ttl {
    width: 250px;
    height: 182px;
    font-size: 2.0rem;
    color: #fff;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    letter-spacing: 0.15em;
    background: #85023e;
    background-image: -ms-linear-gradient(85deg, rgba(186, 28, 100, 0.90196) 0%, rgba(186, 28, 100, 0.9) 0%, rgb(133, 2, 62) 100%);
    background: linear-gradient(15deg, rgba(186, 28, 100, 0.8995973389) 0%, rgb(133, 2, 62) 100%);
    box-sizing: border-box;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    font-family: 'Noto Sans JP', sans-serif;
}
html[lang=en] #ttl_page .ttl {
    letter-spacing: normal;
    font-family: 'Noto Sans', sans-serif;
}
#ttl_page .ttl_inner {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
#ttl_page .sub_ttl {
    display: block;
    margin-bottom: 30px;
    color: #fff;
    font-size: 1.2rem;
    font-family: 'Noto Sans', sans-serif;
    letter-spacing: 0.05em;
    position: relative;
}
html[lang=en] #ttl_page .sub_ttl {
    font-family: 'Noto Sans JP', sans-serif;
}
#ttl_page .sub_ttl:after {
    content: '';
    position: absolute;
    width: 20px;
    height: 1px;
    left: 50%;
    bottom: -12px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: #fff;
}
#ttl_page .ttl+h1 {
    width: 74.0740740741%;
    max-width: 840px;
    margin: 0 auto;
    font-size: 3.2rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.15em;
    box-sizing: border-box;
    left: 124px;
}
html[lang=en] #ttl_page .ttl+h1 {
    letter-spacing: normal;
}
@media only screen and (max-width: 1200px) {
    #ttl_page {
        display: block;
        height: auto;
        margin-bottom: 60px;
    }
    #ttl_page .inner {
        display: block;
        min-width: auto;
        max-width: none;
        height: auto;
    }
    #ttl_page .ttl {
        position: relative;
        width: 100%;
        height: 120px;
        font-size: 2.0rem;
    }
    #ttl_page .sub_ttl {
        margin-bottom: 10px;
        font-size: 1.2rem;
    }
    #ttl_page .sub_ttl:after {
        bottom: -12px;
        bottom: -5px;
    }
    #ttl_page .ttl+h1 {
        width: 100%;
        padding: 35px 20px;
        font-size: 2.4rem;
        font-weight: 400;
        left: 0;
        text-align: center;
        line-height: 1.5;
    }
}
@media only screen and (max-width: 736px) {
    #ttl_page {
        margin-bottom: 25px;
    }
    #ttl_page .ttl {
        font-size: 1.6rem;
        height: 100px;
    }
    #ttl_page .sub_ttl {
        margin-bottom: 10px;
        font-size: 1.0rem;
    }
    #ttl_page .sub_ttl:after {
        bottom: -5px;
    }
}
#ttl_page .ttl_page_bg {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    background: url(../img/common/mv-common.jpg) no-repeat bottom center/cover;
}
@media screen and (max-width: 1200px) {
    #ttl_page .ttl_page_bg {
        height: 130px;
        position: relative;
    }
}
@media screen and (max-width: 736px) {
    #ttl_page .ttl_page_bg {
        height: 96px;
    }
}
#ttl_page.ttl_page_largebg {
    height: 360px;
    margin-bottom: 40px;
}
@media screen and (max-width: 1200px) {
    #ttl_page.ttl_page_largebg {
        height: auto;
    }
}
@media screen and (max-width: 736px) {
    #ttl_page.ttl_page_largebg {
        margin-bottom: 20px;
    }
}
@media screen and (max-width: 1200px) {
    #ttl_page.ttl_page_largebg .ttl_page_bg {
        position: relative;
        height: 190px;
    }
}
@media screen and (max-width: 736px) {
    #ttl_page.ttl_page_largebg .ttl_page_bg {
        height: 150px;
    }
}
#ttl_page.ttl_page_fullbg {
    height: 600px;
}
#ttl_page.ttl_page_fullbg .ttl_page_txt {
    position: absolute;
    width: 100%;
    top: 0;
    z-index: 2;
}
#ttl_page.ttl_page_fullbg .inner {
    justify-content: center;
    background: transparent;
}
#ttl_page.ttl_page_fullbg .ttl {
    position: relative;
    font-size: 46px;
    max-width: inherit;
    width: auto;
    padding: 0;
    height: 120px;
    max-height: 100%;
    min-height: auto;
    line-height: 120px;
    padding: 0 60px;
    background: rgba(133, 2, 62, 0.8);
    font-weight: 400;
    z-index: 3;
    margin-bottom: 8%;
}
#ttl_page.ttl_page_fullbg .ttl_inner {
    position: relative;
    left: inherit;
    top: inherit;
}
@media screen and (max-width: 1200px) {
    #ttl_page.ttl_page_fullbg {
        height: 440px;
        margin-bottom: 0;
    }
    #ttl_page.ttl_page_fullbg .inner {
        display: flex;
        width: auto;
        height: 100%;
    }
    #ttl_page.ttl_page_fullbg .ttl {
        min-width: auto;
        height: 70px;
        line-height: 70px;
        font-size: 32px;
        padding: 0 30px;
    }
    #ttl_page.ttl_page_fullbg .ttl_page_bg {
        height: 100%;
    }
}
@media screen and (max-width: 736px) {
    #ttl_page.ttl_page_fullbg {
        height: inherit;
        overflow: inherit;
        background: #fff;
    }
    #ttl_page.ttl_page_fullbg .ttl {
        height: 46px;
        line-height: 46px;
        font-size: 20px;
        padding: 0 15px;
        margin-bottom: 0;
        margin-top: 70px;
    }
    #ttl_page.ttl_page_fullbg .ttl_page_bg {
        height: 180px;
    }
}
#ttl_page.ttl_page_nonebg {
    position: absolute;
    background: none;
}
#ttl_page.ttl_page_nonebg .inner {
    background: none;
}
#ttl_page.ttl_page_nonebg .ttl_page_bg {
    display: none;
}
@media screen and (max-width: 1200px) {
    #ttl_page.ttl_page_nonebg {
        position: relative;
        margin-bottom: 0;
    }
}
.p-campus #ttl_page.ttl_page_largebg, .p-contact #ttl_page.ttl_page_largebg, .p-crisismanagement #ttl_page.ttl_page_largebg, .p-website #ttl_page.ttl_page_largebg {
    margin-bottom: 0;
}
.p-admission #ttl_page .ttl_page_bg {
    background: url(../img/admission/mv-admission.jpg) no-repeat bottom center/cover;
}
.p-campuslife #ttl_page .ttl_page_bg {
    background: url(../img/education/mv-education.jpg) no-repeat top center/cover;
}
.p-faculty #ttl_page .ttl_page_bg {
    background: url(../img/faculty/mv-faculty.jpg) no-repeat center/cover;
}
@media screen and (max-width: 736px) {
    .p-faculty #ttl_page .ttl_page_bg {
        background-image: url(../img/faculty/mv-faculty-sp.jpg);
    }
}
.p-international #ttl_page .ttl_page_bg {
    background: url(../img/international/mv-international.jpg) no-repeat center/cover;
}
.p-research #ttl_page .ttl_page_bg {
    background: url(../img/research/mv-research.jpg) no-repeat bottom center/cover;
}
.p-university #ttl_page .ttl_page_bg {
    background: url(../img/university/mv-university.jpg) no-repeat center/cover;
}
.p-targets-entrance #ttl_page .ttl_page_bg {
    background: url(../img/target/entrance/mv-entrance.jpg) no-repeat center/cover;
    position: absolute;
}
.p-targets-graduate #ttl_page .ttl_page_bg {
    background: url(../img/target/graduate/mv-graduate.jpg) no-repeat center/cover;
}
.p-targets-region #ttl_page .ttl_page_bg {
    background: url(../img/target/region/mv-region.jpg) no-repeat center/cover;
}
.p-targets-researcher #ttl_page .ttl_page_bg {
    background: url(../img/target/researcher/mv-researcher.jpg) no-repeat center/cover;
}
.p-targets-student #ttl_page .ttl_page_bg {
    background: url(../img/target/student/mv-student.jpg) no-repeat center/cover;
}
.p-news #ttl_page .ttl_page_bg, .p-admissions #ttl_page .ttl_page_bg {
    background: url(../img/news/mv-news.jpg) no-repeat center/cover;
}
@media screen and (max-width: 736px) {
    .p-news #ttl_page .ttl_page_bg, .p-admissions #ttl_page .ttl_page_bg {
        background: url(../img/news/mv-news-sp.jpg) no-repeat center/cover;
    }
}
.p-events #ttl_page .ttl_page_bg, .p-eventsforms #ttl_page .ttl_page_bg {
    background: url(../img/events/mv-events.jpg) no-repeat center/cover;
}
.p-photos #ttl_page .ttl_page_bg {
    background: url(../img/common/mv-photos.jpg) no-repeat center/cover;
}
#contents {
    margin: 0 auto;
}
#contents .container {
    width: 100%;
    min-width: auto;
    max-width: 1600px;
    margin: 0 auto;
    zoom: 1;
}
#contents .container_w {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    zoom: 1;
}
#contents .container:after {
    content: '';
    display: block;
    visibility: hidden;
    clear: both;
    height: 0.1px;
    font-size: 0.1em;
    line-height: 0;
}
#main {
    width: 84.375%;
    float: none;
    order: 2;
}
#main section {
    max-width: 840px;
    margin: 0 auto;
}
#main.single {
    width: auto;
    float: none;
}
#main.single section {
    max-width: 1000px;
}
#sub {
    width: 15.625%;
    min-width: 250px;
}
.cms-page-detail #sub {
    margin-top: 182px;
}
@media only screen and (min-width: 1201px) {
    #contents .container {
        display: flex;
        justify-content: space-between;
        flex-flow: row nowrap;
    }
    #main {
        flex: 1 1 0;
        order: 2;
        margin-bottom: 60px;
    }
    #sub {
        flex: 0 0 250px;
        order: 1;
    }
}
@media only screen and (max-width: 1200px) {
    #contents {
        background: none;
        margin-bottom: 0;
    }
    #contents .container, #contents .container_w {
        width: auto;
        min-width: auto;
        max-width: 100%;
        margin: 0;
    }
    #main {
        width: auto;
        min-width: auto;
        float: none;
        margin-bottom: 50px;
        padding: 0 30px 0 30px;
    }
    #main section, #main.single section {
        margin: 0 auto;
    }
    #sub {
        width: 100%;
        min-width: 100%;
        float: none;
    }
    .cms-page-detail #sub {
        margin-top: 0;
    }
}
@media screen and (max-width: 736px) {
    #main {
        padding: 0 20px 0 20px;
    }
}
#topic_path, #main #topic_path {
    width: 100%;
    background: #fff;
    padding: 15px 0 20px;
    margin-bottom: 25px;
}
.cms-page-detail #main #topic_path {
    margin-bottom: 29px;
    padding-bottom: 0;
    padding-top: 30px;
}
#topic_path a, #main #topic_path a {
    color: #85023e;
    text-decoration: none;
}
#topic_path a:hover, #main #topic_path a:hover {
    text-decoration: underline;
}
#topic_path ul, #main #topic_path ul {
    width: 840px;
    margin: 0 auto;
    list-style: none;
}
#main.single #topic_path ul {
    width: auto;
    max-width: 1000px;
}
#topic_path ul li, #main #topic_path ul li {
    float: left;
    font-size: 1.2rem;
    color: #999999;
    margin: 5px 0 0;
    padding: 0;
    line-height: 1.4;
}
#topic_path ul li a, #main #topic_path ul li a {
    font-size: 1.2rem;
    color: #000;
    margin-right: 1em;
    line-height: 1;
}
#topic_path ul li:before, #main #topic_path ul li:before {
    content: none;
}
#topic_path ul li:after, #main #topic_path ul li:after {
    content: '>';
    display: inline-block;
    vertical-align: middle;
    font-size: 1.2rem;
    color: #000;
    margin-right: 1em;
    background: none;
    position: static;
}
#topic_path ul li:last-child:after, #main #topic_path ul li:last-child:after {
    content: none;
}
#topic_path_sp {
    display: none;
}
@media only screen and (max-width: 1200px) {
    #topic_path, #main #topic_path {
        display: none;
    }
    #topic_path_sp {
        display: block;
        background: #fff;
        padding: 5px 0 15px;
        margin-bottom: 0;
        border-top: 1px solid #e5e5e5;
    }
    #topic_path_sp ul {
        width: auto;
        margin: 0 20px;
    }
    #topic_path_sp ul li {
        float: left;
        margin: 10px 0 0;
        padding: 0;
        color: #999999;
        margin-right: 1em;
        font-size: 1.4rem;
        line-height: 1;
        vertical-align: middle;
    }
    #topic_path_sp ul li:before {
        content: none;
    }
    #topic_path_sp ul li:after {
        content: '>';
        display: inline-block;
        vertical-align: middle;
        font-size: 1.2rem;
        color: #000;
        margin-top: -2px;
        margin-left: 1em;
        background: none;
        position: static;
    }
    #topic_path_sp ul li:last-child:after {
        content: none;
    }
    #topic_path_sp ul li a {
        display: inline-block;
        margin: 0;
        padding: 0;
        font-size: 1.4rem;
        color: #000;
        margin-left: 0;
        line-height: 1;
        vertical-align: baseline;
        text-decoration-color: initial;
    }
}
@media only screen and (max-width: 736px) {
    #topic_path_sp ul li, #topic_path_sp ul li:after, #topic_path_sp ul li a {
        font-size: 1.0rem;
    }
}
#lnav {
    width: 250px;
    height: 100%;
    border-right: #eeeeee 1px solid;
    margin-bottom: 20px;
}
#lnav img {
    display: block;
    margin: 0 auto;
}
#lnav .ttl_block {
    background: #85023e;
}
@media only screen and (min-width: 1201px) {
    #lnav .ttl_block {
        display: none;
    }
}
#lnav .ttl_block h2 {
    color: #ffffff;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 400;
}
#lnav .ttl_block a {
    display: block;
    background: #85023e;
    font-size: 1.6rem;
    color: #ffffff;
    font-weight: bold;
    text-decoration: none;
    padding: 25px 15px;
    letter-spacing: 0.15em;
}
.en #lnav .ttl_block a {
    letter-spacing: normal;
}
@media only screen and (max-width: 1200px) {
    #lnav {
        width: auto;
        margin-bottom: 0;
    }
    #lnav .ttl_block a {
        padding: 18px 20px;
    }
}
#lnav ul {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.5;
}
#lnav ul li {
    margin: 0;
    padding: 0;
    background: #f2f2f2;
}
#lnav ul li a, #lnav ul li span.nolink {
    display: block;
    font-weight: bold;
    padding: 14px 10px 14px 20px;
    text-decoration: none;
    color: #000000;
}
@media only screen and (min-width: 737px) {
    #lnav ul li a:hover {
        background: #dadada;
    }
}
#lnav .lnav_block>ul>li>.accordion_action_ttl>a, #lnav .lnav_block>ul>li>.accordion_action_ttl>span.nolink {
    border-top: #fff 1px solid;
    margin-right: 50px;
    box-sizing: border-box;
}
#lnav .lnav_block>ul>li>.accordion_action_ttl.nobtn>a, #lnav .lnav_block>ul>li>.accordion_action_ttl.nobtn>span.nolink {
    margin-right: 0;
}
#lnav .lnav_block>ul>li>.accordion_action_ttl>span.open, #lnav .lnav_block>ul>li>.accordion_action_ttl>span.close {
    display: block;
    width: 50px;
    height: 100%;
    border-top: #fff 1px solid;
    background: none;
    position: absolute;
    top: 0;
    right: 0;
    box-sizing: border-box;
    cursor: pointer;
}
@media only screen and (min-width: 737px) {
    #lnav .lnav_block>ul>li>.accordion_action_ttl>span.open:hover, #lnav .lnav_block>ul>li>.accordion_action_ttl>span.close:hover {
        background: #dadada;
        transition: 0.2s ease-in-out;
    }
}
#lnav .lnav_block>ul>li>.accordion_action_ttl>span.open::after, #lnav .lnav_block>ul>li>.accordion_action_ttl>span.close::after {
    content: '';
    display: block;
    width: 50px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 50%;
    border-left: #fff 1px solid;
    box-sizing: border-box;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#lnav .lnav_block>ul>li>.accordion_action_ttl>span.open::after {
    background: url(../img/common/lnav_off.svg) no-repeat center center/100% auto;
}
#lnav .lnav_block>ul>li>.accordion_action_ttl>span.close::after {
    background: url(../img/common/lnav_on.svg) no-repeat center center/100% auto;
}
#lnav .lnav_block>ul>li.current>.accordion_action_ttl>a, #lnav .lnav_block>ul>li.current>.accordion_action_ttl>span.nolink, #lnav .lnav_block>ul>li.current>.accordion_action_ttl>span.open, #lnav .lnav_block>ul>li.current>.accordion_action_ttl>span.close {
    background: #dadada;
}
#lnav .lnav_block>ul>li>.accordion_action_list {
    display: none;
}
#lnav .lnav_block>ul>li>.accordion_action_list>a {
    display: block;
    font-size: 1.2rem;
    border-top: #fff 1px solid;
    padding: 14px 20px 14px 30px;
    box-sizing: border-box;
    background: #e6e6e6;
}
@media only screen and (min-width: 737px) {
    #lnav .lnav_block>ul>li>.accordion_action_list>a:hover {
        background: #dadada;
    }
}
#lnav .lnav_block>ul>li>.accordion_action_list>span.nolink {
    display: block;
    font-size: 12px;
    border-top: #fff 1px solid;
    padding: 14px 20px 14px 30px;
    box-sizing: border-box;
    background: #e6e6e6;
}
#lnav .lnav_block>ul>li>.accordion_action_list>a.current, #lnav .lnav_block>ul>li>.accordion_action_list>span.nolink.current {
    background: #dadada;
}
#lnav .lnav_block>ul>li.current>.accordion_action_list {
    display: block;
}
#lnav ul li.input_form_link {
    border-left: #eeeeee 1px solid;
    border-bottom: #eeeeee 1px solid;
    background: #fff;
    box-sizing: border-box;
}
#lnav ul li.input_form_link a {
    display: block;
    margin: 0;
    padding: 0;
    border-top: #fff 1px solid;
}
#lnav ul li.input_form_link a span.input_form_link_ttl {
    display: block;
    padding: 20px 40px 20px 20px;
    font-weight: normal;
    position: relative;
    box-sizing: border-box;
}
#lnav ul li.input_form_link a span.input_form_link_ttl:after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    position: absolute;
    right: 12px;
    top: 50%;
    background: url(../img/common/input_form.png) no-repeat center center/100% auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#lnav .lnav_block ul>li:first-child>a {
    border-top: none;
}
.fixed {
    position: fixed;
    top: 20px;
}
#main h1 {
    font-size: 2.8rem;
    color: #000000;
    line-height: 1.3;
    font-weight: 400;
    margin: 0 0 35px;
    padding: 22px 0 22px;
    border-top: solid 2px #dddddd;
    border-bottom: solid 1px #cccccc;
}
html[lang=en] #main h1 {
    font-size: 3.0rem;
    letter-spacing: normal;
    font-family: 'Noto Sans', sans-serif;
}
#main h1:before {
    content: '';
    position: absolute;
    top: -2px;
    left: 0;
    width: 30%;
    height: 2px;
    background: #85023e;
}
#main h1 a {
    text-decoration: none;
    color: #000000;
}
#main h2 {
    color: #000;
    font-size: 2.8rem;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: 0.15em;
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0 0 70px;
    padding: 45px 0 0;
    background: none;
    box-sizing: border-box;
    position: relative;
}
html[lang=en] #main h2 {
    font-size: 3.0rem;
    font-weight: 500;
    letter-spacing: normal;
    font-family: 'Noto Sans', sans-serif;
}
#main h2:before {
    content: '';
    width: 102px;
    height: 1px;
    margin-top: 0;
    position: absolute;
    top: 0;
    left: 0;
    border-top: #85023e 1px solid;
    box-sizing: border-box;
    background: none;
    z-index: 1;
}
#main h2:after {
    content: '';
    width: 100%;
    height: 1px;
    margin-top: 0;
    position: absolute;
    top: 0;
    left: 0;
    border-top: #e6e6e6 1px solid;
    box-sizing: border-box;
    background: none;
    z-index: 0;
}
#main h2 a {
    text-decoration: none;
}
#main h3 {
    color: #85023e;
    font-size: 2.2rem;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.15em;
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0 0 40px;
    padding: 15px 10px;
    border-top: #85023e 1px solid;
    border-bottom: #85023e 1px solid;
    box-sizing: border-box;
    overflow: hidden;
}
html[lang=en] #main h3 {
    font-size: 2.4rem;
    font-weight: 500;
    letter-spacing: normal;
    font-family: 'Noto Sans', sans-serif;
}
#main h4 {
    color: #000;
    font-size: 2.0rem;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: 0.15em;
    font-family: 'Noto Sans JP', sans-serif;
    vertical-align: middle;
    margin: 0 0 40px;
    padding: 0 0 3px 20px;
    overflow: hidden;
    border-left: #85023e 1px solid;
    border-bottom: none;
}
html[lang=en] #main h4 {
    font-size: 2.0rem;
    letter-spacing: normal;
    font-family: 'Noto Sans', sans-serif;
}
@media only screen and (max-width: 1200px) {
    #main h1 {
        margin: 0 0 20px 0;
    }
    #main>section>h1:first-child {
        margin-top: 30px;
    }
    #main h2 {
        margin: 0 0 60px
    }
    #main h2:before {
        width: 14.13%;
    }
}
@media only screen and (max-width: 736px) {
    #main h1 {
        font-size: 2rem;
        margin: 0 0 20px 0;
    }
    html[lang=en] #main h1 {
        font-size: 2.0rem;
    }
    #main h2 {
        font-size: 2.0rem;
        margin: 0 0 45px;
        padding: 30px 0 0;
    }
    html[lang=en] #main h2 {
        font-size: 2.0rem;
    }
    #main h2:before {
        width: 21.8%;
    }
    #main h3 {
        font-size: 1.8rem;
    }
    html[lang=en] #main h3 {
        font-size: 1.8rem;
    }
    #main h4 {
        font-size: 17px;
    }
    html[lang=en] #main h4 {
        font-size: 1.7rem;
    }
}
#main p {
    font-size: 1em;
    line-height: 2;
    font-weight: 400;
    letter-spacing: 0.05em;
    margin-bottom: 40px;
}
.en #main p {
    letter-spacing: normal;
    margin-bottom: 25px;
}
#main strong, .l-container strong {
    font-weight: 900;
}
#main p.txt_midashi, #main p.headline {
    font-size: 1.8rem;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: 0.15em;
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0 0 40px;
    padding: 0 0 20px;
    border-bottom: #d9d9d9 1px solid;
}
#main p.txt_midashi strong, #main p.headline strong {
    font-weight: 500;
}
html[lang=en] #main p.txt_midashi, html[lang=en] #main p.headline {
    letter-spacing: normal;
    font-family: 'Noto Sans', sans-serif;
}
#main p.txt_vol {
    color: #cccccc;
    margin-top: -25px;
}
@media only screen and (max-width: 736px) {
    main p.txt_midashi, #main p.headline {
        font-size: 1.6rem;
    }
    html[lang=en] main p.txt_midashi, html[lang=en] #main p.headline {
        font-size: 1.8rem;
    }
}
#main ul {
    font-size: 100%;
    line-height: 1.5;
    margin-bottom: 25px;
    overflow: hidden;
}
#main td ul {
    font-size: 100%;
    line-height: 1.5;
    margin: 0;
    overflow: hidden;
}
#main ol {
    font-size: 100%;
    line-height: 1.5;
    margin-bottom: 25px;
    counter-reset: number;
    overflow: hidden;
}
#main ul ul, #main ol ol, #main ul ol, #main ol ul {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}
#main ul li {
    margin: 5px 0 0 25px;
    padding: 0 0 1px;
    overflow-wrap: break-word;
}
#main ul {
    list-style: none outside;
}
#main ul li:before {
    border-radius: 50%;
    width: 6px;
    height: 6px;
    display: block;
    position: absolute;
    left: -18px;
    top: 0.6em;
    content: '';
    background: #7f0038;
}
#main ul[style="list-style-type: circle;"], #main ul[style="list-style-type: disc;"], #main ul[style="list-style-type: square;"] {
    list-style: none outside;
}
#main ul[style="list-style-type: circle;"] li:before, #main ul[style="list-style-type: disc;"] li:before, #main ul[style="list-style-type: square;"] li:before {
    content: none;
}
#main ol {
    list-style: decimal;
}
#main ol li {
    padding: 0 0 1px;
    margin: 5px 0 0 2em;
    overflow-wrap: break-word;
}
#main ol li ul li {
    text-indent: 0;
    padding: 0;
}
#main p.asterisk, #contents p.asterisk, #main span.asterisk {
    display: block;
    margin-left: 1em;
    text-indent: -1em;
    font-size: 93%;
    line-height: 1.7142;
    color: #666666;
}
#main ul.asterisk {
    list-style: none;
    text-indent: 0;
    font-size: 93%;
    color: #666666;
}
#main .asterisk li {
    background: none;
    text-indent: -1em;
    margin-left: 1em;
    padding-left: 0;
}
#main .asterisk li:before {
    content: none;
}
#main p.asterisk_m {
    margin-left: 1em;
    text-indent: -1em;
}
#main ul.asterisk_m {
    text-indent: 0;
}
#main .asterisk_m li {
    background: none;
    margin: 0;
    text-indent: -1em;
    margin-left: 1em;
    padding-left: 0;
}
#main .asterisk_m li:before {
    display: none;
}
#main ul.asterisk_l {
    text-indent: 0;
}
#main .asterisk_l li {
    background: none;
    margin: 0;
    text-indent: -2.5em;
    margin-left: 2.5em;
    padding-left: 0;
}
#main .asterisk_l li:before {
    display: none;
}
.txtarea {
    margin: 0 0 40px;
}
.txtarea.ms0 {
    margin: 0 0 40px;
}
.contents_designer-contents {
    margin: 0;
}
.container.full_width .contents_designer-contents {
    margin: 0;
}
#contents .container.full_width {
    max-width: none;
    display: block;
}
.contents_designer-contents.headline_box {
    margin: 0;
}
.text_box {
    overflow: hidden;
}
#main .txtarea>*:last-child, #main .text-area>*:last-child {
    margin-bottom: 0;
}
@media only screen and (max-width: 736px) {
    .txtarea, .txtarea.ms0 {
        margin: 0 0 25px;
    }
    .container.full_width .contents_designer-contents {
        margin: 0;
    }
    .contents_designer-contents.headline_box {
        margin: 0;
    }
}
.beta_block {
    margin-bottom: 25px;
    padding: 4px;
    background: #dddddd;
    overflow: hidden;
}
.beta_block .beta_box {
    padding: 15px;
    background: #ffffff;
}
#main .beta_block .ttl_box {
    margin: 0;
    padding: 10px;
    font-weight: bold;
    font-size: 116%;
    line-height: 1.2;
    background: none;
    color: #333333;
    border: none;
    border-bottom: solid 2px #85023e;
}
#main .beta_block .ttl_box:before {
    display: none;
}
#main .beta_box>*:last-child {
    margin-bottom: 0;
}
@media only screen and (max-width: 736px) {
    .beta_block .beta_box {
        padding: 10px 3.125%;
    }
}
.ph {
    overflow: hidden;
}
.col_box .ph img {
    margin-bottom: 8px;
    display: block;
}
#main .col_box p, #main .col_box ul {
    margin-bottom: 0;
    overflow: hidden;
}
#main .col_box p+ul {
    margin-top: 10px;
}
.col_box .ttl_box {
    background: #f2f2f2;
    border: #f2f2f2 1px solid;
    transition: 0.2s ease-in-out;
}
@media only screen and (min-width: 737px) {
    .col_box .ttl_box:hover, .link_txt_block .col_box .ttl_box:hover {
        border: #85023e 1px solid;
        background: #fff;
        box-sizing: border-box;
    }
    .col_box .ttl_box:hover a, .link_txt_block .col_box .ttl_box a:hover {
        color: #85023e;
    }
}
.col_box .ttl_box a, .col_box .ttl_box span {
    display: block;
    font-size: 0.875em;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.05em;
    padding: 10px 20px;
    border: none;
    text-decoration: none;
}
html[lang=en] .col_box .ttl_box a, html[lang=en] .col_box .ttl_box span {
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: normal;
}
.col_box .ttl_box a:after {
    content: '';
    display: block;
    width: 6px;
    height: 10px;
    position: absolute;
    left: auto;
    right: 10px;
    top: 50%;
    margin-top: -6px;
    background: url(../img/common/2023_icon_arrow06.png) no-repeat center center/100% auto;
}
.col_box .ttl_box a.a_new:after {
    content: '';
    display: inline-block;
    width: 33px;
    height: 20px;
    margin: 0 0 0 0.5em;
    vertical-align: middle;
    background: url(../img/common/icon_new.png) no-repeat center center/100% auto;
    position: relative;
    right: inherit;
}
h3.a_new:after {
    content: '';
    display: inline-block !important;
    width: 33px;
    height: 20px;
    margin: 0 0 0 0.5em;
    vertical-align: middle;
    background: url(../img/common/icon_new.png) no-repeat center center/100% auto;
    position: relative;
    right: inherit;
}
.col2_block .col_box .ttl_box a, .col2_block .col_box .ttl_box span {
    padding: 10px 30px 10px 20px;
}
.col2_block .col_box .ttl_box a:after {
    right: 20px;
}
.link_txt_block .col_box {
    background: #f2f2f2;
}
.link_txt_block .col_box .ttl_box {
    border: #f2f2f2 1px solid;
    display: table;
    width: 100%;
    height: 100%;
    border-radius: 0;
}
.link_txt_block .col_box .ttl_box a {
    display: table-cell;
    vertical-align: middle;
    padding: 14px 32px 14px 20px;
}
#main .link_txt_block .col_box .ttl_box a.a_pdf:after, #main .link_txt_block .col_box .ttl_box a.a_xls:after, #main .link_txt_block .col_box .ttl_box a.a_doc:after, #main .link_txt_block .col_box .ttl_box a.a_ppt:after {
    left: auto;
    right: 10px;
    margin: -12px 0 0 0;
}
#main .link_txt_block .col_box .ttl_box a.a_gaibu:after, #main .link_txt_block .col_box .ttl_box a.a_popup:after {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    right: 10px;
    margin: -8px 0 0 0;
    top: 50%;
    background: url(../img/common/2023_icon_popup.png) no-repeat center center/100% auto;
}
#main .link_txt_block .col_box .ttl_box+ul {
    margin-top: 10px;
}
.link_txt_block .link_box {
    border: #f2f2f2 1px solid;
    display: table;
    width: 100%;
    border-radius: 0;
    transition: 0.2s ease-in-out;
    background: #f2f2f2;
}
@media only screen and (min-width: 737px) {
    .link_txt_block .link_box {
        max-width: 50%;
    }
    .link_txt_block .link_box:hover {
        border: #85023e 1px solid;
        background: #fff;
        box-sizing: border-box;
    }
    .link_txt_block .link_box:hover a {
        color: #85023e;
    }
}
.link_txt_block .link_box a, .link_txt_block .link_box span {
    display: table-cell;
    vertical-align: middle;
    font-size: 14px;
    font-weight: 400;
    text-align: left;
    line-height: 1.429;
    letter-spacing: 0.05em;
    padding: 14px 32px 14px 20px;
    border: none;
    text-decoration: none;
}
html[lang=en] .link_txt_block .link_box a, html[lang=en] .link_txt_block .link_box span {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: normal;
}
.link_txt_block .link_box a:after {
    content: '';
    display: block;
    width: 6px;
    height: 10px;
    position: absolute;
    left: auto;
    right: 10px;
    top: 50%;
    margin-top: -6px;
    background: url(../img/common/2023_icon_arrow06.png) no-repeat center center/100% auto;
}
#main .link_txt_block .link_box a.a_pdf:after, #main .link_txt_block .link_box a.a_xls:after, #main .link_txt_block .link_box a.a_doc:after, #main .link_txt_block .link_box a.a_ppt:after {
    left: auto;
    right: 10px;
    margin: -12px 0 0 0;
}
#main .link_txt_block .link_box a.a_gaibu:after, #main .link_txt_block .link_box a.a_popup:after {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    right: 10px;
    margin: -8px 0 0 0;
    top: 50%;
    background: url(../img/common/2023_icon_popup.png) no-repeat center center/100% auto;
}
@media only screen and (max-width: 736px) {
    .link_txt_block .col_box .ttl_box a, .link_txt_block .link_box a, .link_txt_block .link_box span {
        font-size: 14px;
        padding: 14px 30px 14px 10px;
    }
    #main .link_txt_block .col_box .ttl_box a.a_pdf:after, #main .link_txt_block .col_box .ttl_box a.a_xls:after, #main .link_txt_block .col_box .ttl_box a.a_doc:after, #main .link_txt_block .col_box .ttl_box a.a_ppt:after, #main .link_txt_block .link_box a.a_pdf:after, #main .link_txt_block .link_box a.a_xls:after, #main .link_txt_block .link_box a.a_doc:after, #main .link_txt_block .link_box a.a_ppt:after {
        margin: -10px 0 0 0;
    }
}
.aspectwrapper {
    position: relative;
    overflow: hidden;
}
.aspectwrapper:after {
    padding-top: 61.9266%;
    display: block;
    content: '';
}
.aspectwrapper>.ph {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
}
.aspectwrapper>.ph img {
    width: 100%;
    height: auto;
    max-width: none;
}
.map_block {
    position: relative;
    margin-bottom: 15px;
    padding-top: 61.9266%;
    height: 0;
    overflow: hidden;
}
.map_block iframe, .map_block>div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}
.image-area .image img.image {
    width: 100%;
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
}
.image-area .image.a_center img {
    margin: 0 auto;
}
.image_one, .image_two, .image_three, .image_link, .image_link_two, .image_link_three, .line_only, .text_one {
    margin: 0 0 40px;
}
.image_one .caption {
    text-align: center;
}
.col_block .col_box {
    margin: 0 0 20px;
}
.col2_block, .text_two .float-box, .image_two .float-box, .image_link_two .float-box {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-left: 0;
}
.col2_block .col_box, .text_two .float-box .text-area, .image_two .float-box .image-area, .image_link_two .float-box .image-area {
    float: none;
    width: 48.5%;
    margin: 0 0 20px 0;
    display: inline-block;
}
.col3_block, .image_three .float-box, .image_link_three .float-box {
    display: flex;
    flex-flow: row wrap;
    margin-left: 0;
}
.col3_block .col_box, .image_three .float-box .image-area, .image_link_three .float-box .image-area {
    float: none;
    width: 32%;
    margin: 0 16px 20px 0;
}
.col3_block .col_box:nth-of-type(3n), .image_three .float-box .image-area:nth-of-type(3n), .image_link_three .float-box .image-area:nth-of-type(3n) {
    margin: 0 0 20px 0;
}
.col4_block {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-left: 0;
}
.col4_block .col_box {
    float: none;
    width: 24%;
    margin: 0 0 20px;
    position: relative;
    text-align: center;
}
.col5_block {
    display: flex;
    flex-flow: row wrap;
    margin-left: 0;
}
.col5_block .col_box {
    float: none;
    width: 18%;
    margin: 0 21px 20px 0;
}
.col5_block .col_box:nth-of-type(5n) {
    margin: 0 0 20px 0;
}
.float-box, .btn_block, .col_box, .box_inner, .col2_block, .col3_block, .col4_block, .col5_block {
    zoom: 0;
}
.float-box:after, .btn_block:after, .col_box:after, .box_inner:after, .col2_block:after, .col3_block:after, .col4_block:after, .col5_block:after {
    content: '';
    display: block;
    visibility: hidden;
    clear: both;
    height: 0.1px;
    font-size: 0.1em;
    line-height: 0;
    display: none;
}
@media only screen and (max-width: 1200px) {
    .col3_block .col_box, .image_three .float-box .image-area, .image_link_three .float-box .image-area {
        width: 31%;
        margin: 0 3.5% 20px 0;
    }
    .col5_block .col_box {
        margin: 0 2.5% 20px 0;
    }
}
@media only screen and (max-width: 736px) {
    .col_box .ttl_box a, .col_box .ttl_box span {
        font-size: 12px;
        font-weight: 400;
        line-height: 1.417;
        letter-spacing: 0.05em;
        padding: 10px 10px;
    }
    .col2_block, .col3_block, .col5_block, .text_two .float-box {
        width: auto;
        clear: both;
        margin: 0 0 15px;
    }
    .col2_block .col_box, .col3_block .col_box, .text_two .float-box .text-area {
        width: 100%;
        margin: 0 0 20px;
    }
    .col3_block .col_box:nth-of-type(3n) {
        margin: 0 0 20px;
    }
    .col5_block {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }
    .col5_block .col_box {
        width: 48.5%;
        margin: 0 0 20px;
    }
    .col5_block .col_box:nth-of-type(5n) {
        margin: 0 0 20px;
    }
    .image_three .float-box .image-area, .image_link_three .float-box .image-area {
        width: 31%;
        margin: 0 3.5% 20px 0;
    }
    .col3_block.layout .col_box, .col2_block.layout .col_box {
        width: 100%;
        float: none;
        margin: 0;
    }
    .sp_col_block .col2_block {
        margin-left: -2.5%;
    }
    .sp_col_block .col2_block .col_box {
        float: left;
        width: 47.5%;
        margin: 0 0 20px 2.5%;
        *display: inline;
        *zoom: 1;
    }
    .sp_col_block .col3_block {
        margin-left: -2.5%;
    }
    .sp_col_block .col3_block .col_box {
        float: left;
        width: 30.83333333333333333333333333333%;
        margin: 0 0 20px 2.5%;
        *display: inline;
        *zoom: 1;
    }
    .col4_block {
        margin-left: -3%;
        margin-bottom: 15px;
    }
    .col4_block .col_box {
        width: 47%;
        float: left;
        margin: 0 0 10px 3%;
    }
    .sp_col_block .col4_block {
        margin-left: -3%;
    }
    .sp_col_block .col4_block .col_box {
        float: left;
        width: 22%;
        margin: 0 0 20px 3%;
        *display: inline;
        *zoom: 1;
        position: relative;
        text-align: center;
    }
    .col3_block .col_box img, .col2_block .col_box img, .col4_block .col_box img {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
}
.img_txt_block {
    margin-bottom: 25px;
}
#main .img_txt_block>*:last-child, #main .img_txt_block>.text_box>*:last-child {
    margin-bottom: 0;
}
.img_txt_block .img_float_l, .img_txt_block .img_float_r {
    width: 33%;
}
@media only screen and (max-width: 736px) {
    .img_txt_block {
        margin-bottom: 15px;
    }
}
@media only screen and (min-width: 737px) {
    .image-area a:hover {
        opacity: 0.7;
    }
}
.w_text_image:after {
    content: '';
    display: block;
    clear: both;
}
.w_text_image .image-area {
    float: right;
    width: 270px;
    *display: inline;
    *zoom: 1;
    margin-left: 18px;
    z-index: 2;
}
.c2_text_image .float-box {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.c2_text_image .image-area {
    width: 270px;
    margin: 0 0 0 18px;
    z-index: 2;
    order: 2;
}
.c2_text_image .text-area {
    width: 550px;
    margin: 0;
    overflow: hidden;
    order: 1;
    flex-grow: 1;
}
.c2_border_text_image .float-box {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.c2_border_text_image .image-area {
    width: 480px;
    margin: 0 0 0 18px;
    z-index: 2;
    order: 2;
}
.contents_designer-wrapper .c2_border_text_image .image-area p.image {
    padding: 0 0 0 0;
}
.c2_border_text_image .text-area {
    width: 340px;
    margin: 0;
    padding-top: 25px;
    overflow: visible;
    order: 1;
    box-sizing: border-box;
    position: relative;
    flex-grow: 1;
}
.c2_border_text_image .text-area:before {
    content: '';
    width: 28%;
    height: 1px;
    margin-top: 0;
    position: absolute;
    top: 0;
    left: 0;
    border-top: #85023e 1px solid;
    box-sizing: border-box;
    z-index: 1;
}
.c2_border_text_image .text-area:after {
    content: '';
    width: 100%;
    height: 1px;
    margin-top: 0;
    position: absolute;
    top: 0;
    left: 0;
    border-top: #e6e6e6 1px solid;
    box-sizing: border-box;
    z-index: 0;
}
#main .image-area p {
    margin-bottom: 8px;
    text-align: center;
}
#main .image-area p a img:not(.zoom) {
    width: 100%;
}
#main .image-area p.image img.zoom {
    width: 30px;
    height: 32px;
}
#main .image-area p.caption {
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
}
html[lang=en] #main .image-area p.caption {
    letter-spacing: normal;
}
@media only screen and (max-width: 1200px) {
    .c2_text_image .text-area {
        width: 56.4971751412%;
        margin: 0;
        overflow: hidden;
        order: 1;
    }
    .c2_border_text_image .image-area {
        width: 333px;
        margin: 0 0 0 18px;
        z-index: 2;
        order: 2;
    }
    .c2_border_text_image .text-area {
        width: 45%;
        margin: 0;
        padding-top: 20px;
        order: 1;
    }
}
@media only screen and (max-width: 736px) {
    .w_text_image .image-area, .c2_text_image .image-area {
        float: none;
        width: 100%;
        max-width: 500px;
        margin: 0 auto 20px;
    }
    .c2_text_image .image-area {
        order: 1;
    }
    .c2_text_image .text-area {
        width: 100%;
        order: 2;
    }
    .c2_border_text_image .image-area {
        width: 90%;
        margin: 10px auto 20px;
        z-index: 2;
        order: 2;
    }
    .c2_border_text_image .text-area {
        width: 100%;
        padding-top: 18px;
        order: 1;
    }
    #main .image-area p.caption {
        font-size: 1.2rem;
    }
    #main .image-area p.image img.zoom {
        width: 22px;
        height: auto;
    }
}
.w_image_text:after {
    content: '';
    display: block;
    clear: both;
}
.w_image_text .image-area {
    float: left;
    width: 270px;
    margin-right: 18px;
    z-index: 2;
}
.c2_image_text .float-box {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.c2_image_text .image-area {
    width: 270px;
    margin: 0 18px 0 0;
    z-index: 2;
    order: 1;
}
.c2_image_text .text-area {
    width: 550px;
    overflow: hidden;
    order: 2;
    flex-grow: 1;
}
@media only screen and (max-width: 1200px) {
    .c2_image_text .text-area {
        width: 50%;
        overflow: hidden;
        order: 2;
    }
}
@media only screen and (max-width: 736px) {
    .w_image_text .image-area, .c2_image_text .image-area {
        float: none;
        width: 100%;
        max-width: 500px;
        margin: 0 auto 20px;
    }
    .c2_image_text .text-area {
        width: 100%;
    }
}
.w_image_text, .w_text_image, .c2_image_text, .c2_text_image {
    margin-bottom: 40px;
}
#main .c2_image_text p:last-child, #main .c2_text_image p:last-child {
    margin-bottom: 0;
}
@media screen and (max-width: 736px) {
    #main .c2_image_text img, #main .c2_text_image img {
        margin-bottom: 0;
    }
}
.contents_designer-wrapper .contents_designer-contents .image-area p.image a {
    display: block !important;
    border-bottom: none !important;
}
.contents_designer-wrapper .contents_designer-contents .image-area p.image img.zoom {
    margin: 0;
    position: absolute;
    display: none;
    border: none;
    bottom: 5px;
    right: 5px;
    opacity: 1;
}
.contents_designer-wrapper .contents_designer-contents .image-area p.image img.zoom.loaded {
    display: block;
}
.contents_designer-wrapper .contents_designer-contents .image-area p.image {
    margin: 0;
    padding: 10px 0 0 0;
    text-align: center;
    font-size: 2px;
    line-height: 0;
    position: relative;
}
.btn_block p, .btn_block button, #main .btn_block p, #main .btn_block button {
    font: inherit;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    line-height: 1.5;
    font-weight: 400;
    background: #1d2023;
    color: #ffffff;
    border: none;
    margin: 10px 5px 10px;
    text-align: center;
    min-width: 180px;
    -webkit-appearance: none;
}
html[lang=en] .btn_block p, html[lang=en] .btn_block button, html[lang=en] #main .btn_block p, html[lang=en] #main .btn_block button {
    font-family: 'Noto Sans', sans-serif;
    font-size: 116%;
}
.btn_block p a, #main .btn_block p a {
    display: block;
    color: #ffffff;
    text-decoration: none;
}
.btn_block p a, #main .btn_block p a, .btn_block button, #main .btn_block button {
    padding: 13px 15px;
}
.btn_block .btn_approval, #main .btn_block .btn_approval {
    background: #1d2023;
}
.btn_block .btn_denial, #main .btn_block .btn_denial {
    background: #949494;
}
@media only screen and (max-width: 736px) {
    .btn_block p, .btn_block button, #main .btn_block p, #main .btn_block button {
        width: 50%;
        font-size: 93%;
        line-height: 1.5;
    }
    html[lang=en] .btn_block p, html[lang=en] .btn_block button, html[lang=en] #main .btn_block p, html[lang=en] #main .btn_block button {
        font-family: 'Noto Sans', sans-serif;
        font-size: 93%;
    }
    .btn_block p a, #main .btn_block p a, .btn_block button, #main .btn_block button {
        padding: 10px 10px;
    }
}
#main table {
    margin-bottom: 25px;
}
table.nostyle {
    width: auto !important;
    border-spacing: 0;
    border-collapse: separate;
    *border-collapse: collapse;
    border: none !important;
    background: transparent !important;
}
table.nostyle th {
    min-width: 110px !important;
}
table.nostyle th, table.nostyle td {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}
.table_block, .contents_designer-contents.table_list, .contents_designer-contents table {
    overflow: auto;
}
.table_block table, .table_list table, .contents_designer-contents table {
    width: 100%;
    border-spacing: 0;
    border-collapse: separate;
    *border-collapse: collapse;
    border-left: solid 1px #e6e6e6;
    border-top: solid 1px #e6e6e6;
}
.table_block table caption, .contents_designer-contents table caption {
    font-weight: bold;
    margin-bottom: 10px;
}
.table.nostyle th, .table_block table th, .table_list table th, .contents_designer-contents table th {
    padding: 20px 10px 18px;
    background: #f9f2f5;
    color: #85023e;
    font-weight: bold;
    line-height: 1.5;
    vertical-align: top;
    letter-spacing: 0.05em;
    word-break: normal;
    text-align: left;
    border-right: solid 1px #e6e6e6;
    border-bottom: solid 1px #e6e6e6;
}
html[lang=en] .table.nostyle th, html[lang=en] .table_block table th, html[lang=en] .table_list table th, html[lang=en] .contents_designer-contents table th {
    font-weight: bold;
    line-height: 1.5 !important;
    vertical-align: top;
    letter-spacing: normal !important;
    font-family: 'Noto Sans', sans-serif;
}
#main .table_block table th p, #main .table_list table th p, #main .contents_designer-contents table th p {
    font-weight: bold !important;
    line-height: 1.5 !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 0 !important;
}
html[lang=en] #main .table.nostyle th p, html[lang=en] #main .table_block table th p, html[lang=en] #main .table_list table th p, html[lang=en] #main .contents_designer-contents table th p {
    font-weight: bold !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
    font-family: 'Noto Sans', sans-serif;
}
.table_block table thead th, .table_list table thead th, .contents_designer-contents th {
    text-align: center;
}
.table_block table td, .table_list table td, .contents_designer-contents table td {
    padding: 20px 10px 18px;
    background: #ffffff;
    line-height: 1.5;
    letter-spacing: 0.05em;
    vertical-align: top;
    border-right: solid 1px #e6e6e6;
    border-bottom: solid 1px #e6e6e6;
}
html[lang=en] .table_block table td, html[lang=en] .table_list table td, html[lang=en] .contents_designer-contents table td {
    word-break: normal;
}
html[lang=en] .table.nostyle td, html[lang=en] .table_block table td, html[lang=en] .table_list table td, html[lang=en] .contents_designer-contents table td {
    font-weight: 400;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
    font-family: 'Noto Sans', sans-serif;
}
.table.nostyle td p, .table_block table td p, .table_list table td p, .contents_designer-contents table td p, #main .table.nostyle td p, #main .table_block table td p, #main .table_list table td p, #main .contents_designer-contents table td p {
    line-height: 1.5 !important;
    letter-spacing: 0.05em !important;
}
html[lang=en] #main .table.nostyle td p, html[lang=en] #main .table_block table td p, html[lang=en] #main .table_list table td p, html[lang=en] #main .contents_designer-contents table td p {
    line-height: 1.5 !important;
    letter-spacing: normal !important;
    font-family: 'Noto Sans', sans-serif;
}
.table_block table th.th_break, .table_list table th.th_break, .contents_designer-contents table th.th_break {
    word-break: break-all !important;
}
.table_block table td.td_break, .table_list table td.td_break, .contents_designer-contents table td.td_break {
    word-break: break-all !important;
}
.table_block.bold table {
    border-left: solid 1px #85023e;
    border-top: solid 1px #85023e;
}
.table_block.bold table td {
    line-height: 2;
    letter-spacing: 0.05em;
    padding: 20px 30px;
    border-right: solid 1px #85023e;
    border-bottom: solid 1px #85023e;
}
.table_block table th.w-fixed, .table_list table th.w-fixed {
    min-width: 150px;
}
.table_block table th.bg01 {
    background: #f2e0e8;
}
.table_block table th.bg02, .table_block table td.bg02 {
    background: #f8f8f8;
}
.table_block table th.bg03, .table_block table td.bg03 {
    background: #dddddd;
}
table tr.v_hidden {
    overflow: hidden;
    height: 0;
}
table tr.v_hidden th, table tr.v_hidden td {
    padding: 0;
    height: 0;
    border: none;
}
.table_smallsize th, .table_smallsize td .table_smallsize th, .table_smallsize td {
    padding: 5px 10px !important;
    font-size: 14px !important;
}
html[lang=en] #main .table_smallsize th, html[lang=en] #main .table_smallsize td .table_smallsize th, html[lang=en] #main .table_smallsize td {
    font-size: 14px !important;
}
#main table p {
    margin-bottom: 0;
}
.table_scroll.font_s>table th, .table_scroll.font_s>table td {
    padding: 13px 10px;
    font-size: 11px;
}
.layout_table th, .layout_table td {
    vertical-align: top;
}
@media only screen and (max-width: 736px) {
    .table_block {
        margin-bottom: 30px;
    }
    .table_block table th, .table_list table th, .contents_designer-contents table th {
        padding: 10px;
    }
    .table_block table td, .table_list table td, .contents_designer-contents table td {
        padding: 10px;
    }
    .table_scroll {
        width: 100%;
        margin-bottom: 25px;
        overflow-y: hidden;
        overflow-x: auto;
        -ms-overflow-style: -ms-autohiding-scrollbar;
    }
    .table_scroll>table {
        width: 701px;
    }
    .table_scroll.font_s>table th, .table_scroll.font_s>table td {
        padding: 10px;
        font-size: 11px;
    }
    .table_list>table tr, .table_list>table th, .table_list>table td {
        display: block;
        width: 100% !important;
    }
    .table_list>table th, .table_list>table td {
        display: block;
        float: left\9;
        padding: 8px 8px;
    }
    .table_block table th.w-fixed, .table_list table th.w-fixed {
        min-width: 100px;
    }
    .table_block.bold table td {
        padding: 15px 25px;
    }
    .table_smallsize>table th, .table_smallsize>table td {
        font-size: 12px !important;
    }
}
#main ul.pager {
    clear: both;
    list-style: none;
    text-align: center;
    padding: 0;
    margin: 30px 10px;
    border: 0;
    color: #333333;
    font-size: 1.7rem;
    line-height: 2;
    border-radius: 0;
    font-family: 'Noto Sans', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
}
#main ul.pager li {
    font-size: 1.4rem;
    background: #eeeeee;
    padding: 0;
    margin: 0 3px;
    height: 30px;
    display: flex;
    align-items: center;
}
#main ul.pager li:before {
    content: none;
}
#main ul.pager li a, #main ul.pager li span {
    display: inline-block;
    *display: inline;
    margin: 0 5px 10px 0;
    padding: 0;
    vertical-align: middle;
    position: relative;
    width: 30px;
    height: 30px;
    border-radius: 0;
    border: none;
    margin: 0;
    line-height: 30px;
}
#main ul.pager li span {
    background: #85023e;
    color: #ffffff;
}
#main ul.pager li a {
    text-decoration: none;
    background: #eeeeee;
    color: #333333;
}
#main ul.pager li a:hover, #main ul.pager li a:hover span {
    background: #85023e;
    color: #ffffff;
}
#main ul.pager li .nav-first, #main ul.pager li .nav-last {
    margin: 0;
    padding: 0;
    width: auto;
    background: transparent;
    border: none;
    height: 30px;
    display: flex;
    align-items: center;
}
#main ul.pager li .nav-first a, #main ul.pager li .nav-last a, #main ul.pager li a.nav-previous, #main ul.pager li a.nav-next {
    font-size: 0;
    width: 30px;
    background: #eeeeee;
    margin-bottom: 0;
}
#main ul.pager li .nav-first a:before, #main ul.pager li .nav-last a:after, #main ul.pager li .nav-first a:hover:before, #main ul.pager li .nav-last a:hover:after {
    content: '';
    display: inline-block;
    width: 11px;
    height: 9px;
    margin: 10px 0 0 0;
    background: url(../img/common/arrow-last.svg) no-repeat center center/100%;
}
#main ul.pager li a.nav-previous:before, #main ul.pager li a.nav-next:after, #main ul.pager li a.nav-previous:hover:before, #main ul.pager li a.nav-next:hover:after {
    content: '';
    display: inline-block;
    width: 7px;
    height: 9px;
    margin: 10px 0 0 0;
    background: url(../img/common/arrow-next.svg) no-repeat center center/100%;
}
#main ul.pager li a.nav-previous:before, #main ul.pager li .nav-first a:before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}
#main ul.pager li .nav-first a:hover, #main ul.pager li .nav-last a:hover, #main ul.pager li a.nav-previous:hover, #main ul.pager li a.nav-next:hover {
    background: #85023e;
    color: #ffffff;
}
#main ul.pager li a.nav-next:hover:after, #main ul.pager li .nav-first a:hover:before, #main ul.pager li .nav-last a:hover:after, #main ul.pager li a.nav-previous:hover:before {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
}
.gmaps .map-area {
    position: relative;
    margin-bottom: 15px;
    padding-top: 61.9266%;
    overflow: hidden;
    width: 100% !important;
    height: 0;
}
.gmaps iframe, .gmaps .gm-style {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}
.youtube .movie-area {
    margin: 10px auto 40px;
    position: relative;
    padding-top: 56.25%;
    height: 0;
    overflow: hidden;
}
.youtube .movie-area iframe, .youtube .movie-area object, .youtube .movie-area embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}
.file_up {
    margin-bottom: 40px;
}
.file_up+.file_up {
    margin-top: -40px;
}
.file_up .float-box {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    margin-left: 0;
}
.file_up .download-area {
    display: block;
    vertical-align: middle;
    width: 240px;
    height: 50px;
    margin: 0 0 20px 0;
    float: none;
}
.file_up .download-area a {
    display: inline-block;
    width: 240px;
    height: 50px;
    margin: 0 0.5em 0 0;
    background: url(../img/common/2023_btn_download.png) no-repeat center center/100% auto;
    border: none !important;
}
html[lang=en] .file_up .download-area a {
    background: url(../img/common_en/2023_btn_download.png) no-repeat center center/100% auto;
}
.file_up .download-area a:hover {
    opacity: 0.7;
}
.file_up .download-area a:before {
    content: '';
    display: block;
    width: 20px;
    height: 24px;
    background: url(../img/common/2023_icon_other.png) no-repeat center center/100% auto;
    position: absolute;
    top: 50%;
    left: auto;
    right: 10px;
    margin-top: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.file_up .download-area a.link_xls:before {
    background: url(../img/common/2023_icon_excel.png) no-repeat center center/100% auto;
}
.file_up .download-area a.link_doc:before {
    background: url(../img/common/2023_icon_word.png) no-repeat center center/100% auto;
}
.file_up .download-area a.link_ppt:before {
    background: url(../img/common/2023_icon_ppt.png) no-repeat center center/100% auto;
}
.file_up .download-area a.link_pdf:before {
    background: url(../img/common/2023_icon_pdf.png) no-repeat center center/100% auto;
}
.file_up .text-area {
    display: block;
    width: auto;
    margin-left: 20px;
}
#main .file_up .text-area p {
    font-size: 12px;
    padding-top: 10px;
    margin-bottom: 32px;
}
@media only screen and (max-width: 736px) {
    .file_up .download-area, .file_up .text-area {
        width: 100%;
    }
    .file_up .download-area {
        margin: 0;
    }
    .file_up .download-area a:hover {
        opacity: 1;
    }
    .file_up .text-area {
        margin-left: 0;
    }
    #main .file_up .text-area p {
        padding-top: 5px;
    }
}
.date_modified {
    text-align: right;
}
@media only screen and (max-width: 736px) {
    .date_modified {
        padding: 0 20px;
    }
}
#page_nav {
    padding: 0 0 10px 0;
    margin-bottom: 60px;
    background: none;
    border-bottom: #cccccc 1px solid;
}
#page_nav.none_border {
    border-bottom: none;
}
#page_nav nav {
    width: 100%;
    margin: 0 auto;
}
#page_nav ul {
    display: flex;
    flex-flow: row wrap;
    margin-left: -18px;
}
#page_nav ul li {
    width: auto;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    margin: 0 0 20px;
    padding-right: 18px;
    padding-left: 18px;
    font-family: 'Noto Sans JP';
    vertical-align: middle;
    float: none;
    border-right: #cccccc 1px solid;
}
html[lang=en] #page_nav ul li {
    font-family: 'Noto Sans', sans-serif;
}
#page_nav ul li:before {
    content: none;
}
#page_nav ul>li>a {
    display: inline-block;
    padding: 10px 18px 10px 0;
    background: #ffffff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.286;
    letter-spacing: 0.15em;
    border: none;
    text-decoration: none;
    position: relative;
    border-radius: 0;
}
html[lang=en] #page_nav ul>li>a {
    font-size: 1.6rem;
    line-height: 1.25;
    letter-spacing: normal;
}
#page_nav ul>li>a:before {
    content: '';
    display: block;
    width: 10px;
    height: 6px;
    margin: 0;
    background: url(../img/common/2023_icon_arrow04.png) no-repeat center/100% auto;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
@media only screen and (min-width: 737px) {
    #page_nav ul>li>a:hover {
        color: #85023e;
    }
}
@media only screen and (max-width: 736px) {
    #page_nav {
        padding: 0 0 10px 0;
        margin-bottom: 60px;
    }
    #page_nav ul {
        border-top: none;
        border-left: none;
    }
    #page_nav ul>li {
        margin: 0 0 18px;
        max-width: 50%;
    }
    #page_nav ul>li>a {
        padding: 10px 15px 10px 0;
        font-size: 1.4rem;
        line-height: 1.286;
    }
    html[lang=en] #page_nav ul>li>a {
        font-size: 1.4rem;
    }
    #page_nav ul>li>a:before {
        width: 10px;
        height: 6px;
    }
}
#ttl_page.ttl_page_fullbg #page_nav {
    max-width: 1080px;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    border-bottom: none;
}
#ttl_page.ttl_page_fullbg #page_nav ul {
    justify-content: center;
    margin-left: 8px;
}
#ttl_page.ttl_page_fullbg #page_nav ul li {
    border: none;
    margin: 0 -10px 10px 0;
    padding-left: 0;
}
#ttl_page.ttl_page_fullbg #page_nav ul>li>a {
    border-radius: 20px;
    padding: 10px 40px 10px 25px;
}
#ttl_page.ttl_page_fullbg #page_nav ul>li>a::before {
    top: 54%;
    right: 25px;
}
@media screen and (max-width: 736px) {
    #ttl_page.ttl_page_fullbg #page_nav {
        position: relative;
        margin-top: 80px;
        margin-bottom: 10px;
        padding: 0 20px;
        text-align: left;
    }
    #ttl_page.ttl_page_fullbg #page_nav ul {
        justify-content: flex-start;
        margin-left: -18px;
    }
    #ttl_page.ttl_page_fullbg #page_nav ul>li {
        margin: 0 0 10px;
        border-right: #cccccc 1px solid;
        padding-left: 18px;
    }
    #ttl_page.ttl_page_fullbg #page_nav ul>li>a {
        padding: 10px 15px 10px 0;
        border-radius: 0;
    }
    #ttl_page.ttl_page_fullbg #page_nav ul>li>a::before {
        right: 0;
    }
}
.form_block input[type=date], .form_block input[type=number], .form_block input[type=email], .form_block input[type=tel], .form_block input[type=text], .form_block select {
    margin-bottom: 4px;
    padding: 5px 12px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.428571429;
    color: #555555;
    vertical-align: middle;
    border: 1px solid #cccccc;
    border-radius: 3px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
}
.form_block input[type=date], .form_block input[type=number], .form_block input[type=email], .form_block input[type=tel], .form_block input[type=text] {
    width: 48%;
}
.form_block input[type=date], .form_block input[type=number], .form_block input[type=email], .form_block input[type=tel] {
    ime-mode: disabled;
}
.form_block textarea {
    margin-bottom: 4px;
    padding: 5px 12px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.428571429;
    color: #555555;
    vertical-align: top;
    border: 1px solid #cccccc;
    width: 100%;
    border-radius: 3px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
}
.form_block input[type=checkbox], .form_block input[type=radio] {
    margin: 0 5px;
    vertical-align: middle;
}
.-bc-form-radio-wrapper, .-bc-form-checkbox-wrapper {
    display: inline-block;
    margin-bottom: 10px;
    text-wrap: none;
}
.form_block .-bc-pseudo-select__selected-display {
    box-sizing: border-box;
    height: 35px;
    overflow: hidden;
}
.form_block .-bc-form-select {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 1px;
    height: 1px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "alpha(opacity=0)";
}
.form_block .-bc-use-default-option-list .-bc-form-select {
    width: 100%;
    height: 100%;
    z-index: 10000;
}
.form_block .-bc-pseudo-select {
    position: relative;
    display: block;
    padding: 0;
    box-sizing: border-box;
    height: 35px;
    font-size: 14px;
    line-height: 35px;
    vertical-align: middle;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    text-decoration: none !important;
}
.form_block .-bc-form-element__label--disabled .-bc-pseudo-select {
    pointer-events: none;
}
.form_block .-bc-pseudo-select__selected-display {
    display: block;
    padding: 0 40px 0 12px;
    position: relative;
    background: #ffffff;
    color: #000000;
    border: solid 1px #cccccc;
    border-radius: 3px;
}
.form_block .-bc-pseudo-select__selected-display:after {
    content: '';
    position: absolute;
    display: block;
    width: 38px;
    height: 34px;
    background: url(../img/common/icon_select.png) no-repeat center center;
    border-left: solid 1px #cccccc;
    top: 0;
    right: 0;
}
.form_block .-bc-pseudo-select__option-list {
    display: none;
    position: absolute;
    top: 35px;
    left: 0;
    width: 100%;
    border-radius: 3px;
    border: solid 1px #cccccc;
    border-top: none;
    z-index: 1000;
}
.form_block .-bc-pseudo-select--focus .-bc-pseudo-select__option-list {
    display: block;
    overflow: auto;
}
#main .form_block .-bc-pseudo-select__option-list li, .form_block .-bc-pseudo-select__option-list li {
    list-style: none;
    font-size: 14px;
    line-height: 1.5;
    padding: 7px 12px;
    background-color: #ffffff;
    border-top: dotted 1px #cccccc;
    margin: 0;
}
#main .form_block .-bc-pseudo-select__option-list li:before, .form_block .-bc-pseudo-select__option-list li:before {
    display: none;
}
.form_block .-bc-pseudo-select__option-list li:first-child {
    border-top: none;
}
#main .form_block .-bc-pseudo-select__option-list li:hover, .form_block .-bc-pseudo-select__option-list li:hover {
    background: #eeeeee;
}
.form_block .-bc-pseudo-select:hover {
    text-decoration: none;
}
.form_block table {
    width: 100%;
    border-spacing: 0;
    border-collapse: separate;
    *border-collapse: collapse;
}
.form_block table th {
    padding: 13px 20px;
    font-weight: bold;
    vertical-align: top;
    word-break: normal;
    text-align: left;
    border-bottom: solid 2px #85023e;
}
html[lang=en] .form_block table th .txt_ja {
    display: block;
}
.form_block table thead th {
    text-align: center;
}
.form_block table td {
    padding: 13px 20px;
    background: #ffffff;
    vertical-align: top;
    word-break: normal;
    border-bottom: solid 2px #eeeeee;
}
.form_block .table_list table th, .form_block .table_list table td {
    border-bottom: solid 1px #e3e3e3;
}
.form_block .-bc-form-element__label {
    margin-right: 10px;
}
.form_block p .txt_required, .form_block table th .txt_required, .form_block table td .txt_required {
    display: inline-block;
    color: #85023e;
    margin: 0 5px;
    vertical-align: middle;
    font-weight: bold;
}
.form_block table hr {
    margin: 10px 0;
    border-top: solid 1px #eeeeee;
}
.form_block table dl.clearfix dt {
    clear: left;
    float: left;
}
.form_block table .dl_date2 dt {
    width: 3.5em;
    margin-bottom: 5px;
    padding-top: 5px;
}
html[lang=en] .form_block table .dl_date2 dt {
    width: 6em;
    margin-bottom: 5px;
    padding-top: 5px;
}
.form_block table .dl_date2 dd {
    margin-left: 3.5em;
    margin-bottom: 5px;
}
html[lang=en] .form_block table .dl_date2 dd {
    margin-left: 6em;
    margin-bottom: 5px;
}
.form_block table .dl_contact dt {
    width: 5em;
    margin-bottom: 5px;
    padding-top: 5px;
}
.form_block table .dl_contact dd {
    margin-left: 5em;
    margin-bottom: 5px;
    padding-top: 5px;
}
.form_block table .dl_file dt {
    width: 6em;
    margin-bottom: 5px;
}
.form_block table .dl_file dd {
    margin-left: 6em;
    margin-bottom: 5px;
}
html[lang=en] .form_block table .dl_file2 dt {
    width: 10em;
    margin-bottom: 5px;
}
html[lang=en] .form_block table .dl_file2 dd {
    margin-left: 10em;
    margin-bottom: 5px;
}
.form_block h2 .txt_required {
    color: #ffffff !important;
}
.form_block .btn_block {
    margin-top: 30px;
}
.text_input_xs {
    width: 10% !important;
    padding: 5px 5px !important;
}
.text_input_s {
    width: 25% !important;
}
.text_input_sl {
    width: 33% !important;
}
.text_input_m {
    width: 50% !important;
}
.text_input_ml {
    width: 70% !important;
}
.text_input_l {
    width: 100% !important;
}
.katagaki_box label {
    display: inline-block;
    width: 6em;
}
.form_block table td .ph {
    text-align: center;
    margin-bottom: 10px;
}
.teiin_box {
    display: inline-block;
    width: 160px;
    vertical-align: -25px;
}
html[lang=en] .teiin_box {
    display: inline-block;
    width: 180px;
    vertical-align: -25px;
}
.form_block .err_block {
    border: solid 2px #ff0000;
    margin-bottom: 25px;
    padding: 10px;
    color: #ff0000;
}
.form_block .err_block>* {
    margin: 0 !important;
}
.form_block .txt_err {
    color: #ff0000;
}
#main table p.txt_err_select {
    margin-top: -15px;
    margin-bottom: 10px;
}
@media only screen and (max-width: 736px) {
    .teiin_box {
        width: 160px;
        vertical-align: middle;
    }
    .form_block table tr, .form_block table th, .form_block table td {
        display: block;
        width: 100% !important;
    }
    .form_block table td {
        display: block;
        float: left\9;
        padding: 10px 3.125%;
        border: none;
    }
    .form_block table th {
        display: block;
        float: left\9;
        padding: 8px 3.125%;
        border: none;
        color: #222222;
        font-weight: 400;
        background: #f2f2f2;
        background: linear-gradient(to bottom, #f2f2f2 0%, #f2f2f2 50%, #e8e8e8 52%, #e8e8e8 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#f2f2f2", endColorstr="#e8e8e8", GradientType=0);
    }
    html[lang=en] .form_block table th .txt_ja {
        display: inline;
        margin-left: 20px;
    }
    .form_block table th:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 6px;
        height: 6px;
        margin-top: -3px;
        background: #85023e;
    }
    .form_block .table_list table th, .form_block .table_list table td {
        border-right: solid 1px #e3e3e3;
        border-bottom: solid 1px #e3e3e3;
    }
    .form_block .btn_block {
        margin-top: 20px;
    }
    .form_block table dl.clearfix dt {
        clear: left;
        float: none;
    }
    .form_block table .dl_date2 dt {
        width: 3.5em;
        margin-bottom: 5px;
        padding-top: 5px;
    }
    .form_block table .dl_date2 dd {
        margin-left: 0;
        margin-bottom: 5px;
    }
    .form_block table .dl_contact dt {
        width: 5em;
        margin-bottom: 5px;
        padding-top: 5px;
    }
    .form_block table .dl_contact dd {
        margin-left: 0;
        margin-bottom: 5px;
    }
    .form_block table .dl_file dt {
        width: 6em;
        margin-bottom: 5px;
        padding-top: 5px;
    }
    .form_block table .dl_file dd {
        margin-left: 0;
        margin-bottom: 5px;
    }
    html[lang=en] .form_block table .dl_date2 dt, html[lang=en] .form_block table .dl_file2 dt {
        float: none;
        width: auto;
        margin-bottom: 5px;
    }
    html[lang=en] .form_block table .dl_date2 dd, html[lang=en] .form_block table .dl_file2 dd {
        margin-left: 0;
        margin-bottom: 5px;
    }
    .form_block input[type=date], .form_block input[type=number], .form_block input[type=email], .form_block input[type=tel], .form_block input[type=text] {
        width: 100%;
    }
    .text_input_xs {
        width: 25% !important;
        padding: 5px 12px !important;
    }
    .text_input_s {
        width: 50% !important;
    }
    .text_input_m, .text_input_sl {
        width: 100% !important;
    }
    .text_input_ml {
        width: 100% !important;
    }
}
.ui-datepicker {
    width: 20em;
}
.ui-datepicker table {
    font-size: 13px !important;
}
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
    border: 1px solid #e3e3e3;
    background: #ffffff;
    font-weight: normal;
    color: #333333;
}
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
    background: #85023e;
    color: #ffffff;
}
.ui-widget-header {
    border: 1px solid #dddddd;
    background: #85023e;
    color: #ffffff;
    font-weight: bold;
}
.ui-widget-header .ui-icon {
    background-image: url(images/ui-icons_ffffff_256x240.png);
}
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus {
    border: none;
    background: #85023e;
    color: #ffffff;
    font-weight: normal;
}
#main .sitemap_block h2 {
    margin-left: -15px;
    margin-right: -15px;
}
#main .sitemap_block h2 a {
    display: block;
    text-decoration: underline;
    border-bottom: none;
}
@media only screen and (max-width: 736px) {
    #main .sitemap_block h2 {
        margin-left: -4.6875%;
        margin-right: -4.6875%;
    }
}
#main .donation_block .col_box {
    margin-bottom: 40px;
    border-radius: 0;
}
#main .donation_block .col_box h2 {
    margin: 0 0 25px;
    padding-top: 20px;
    font-size: 2.2rem;
}
#main .donation_block .col_box p, #main .donation_block .col_box ul {
    border-top: none;
    border-bottom: none;
    padding: 0;
    margin: 0 0 15px;
}
#main .donation_block .col_box .txt_contact {
    font-weight: bold;
}
#main .donation_block .col2_block {
    margin-left: -2%;
}
#main .donation_block .col2_block .col_box {
    float: left;
    width: 48%;
    margin-left: 2%;
    *display: inline;
    *zoom: 1;
}
@media only screen and (max-width: 736px) {
    #main .donation_block .col2_block {
        width: auto;
        clear: both;
        margin-left: 0;
    }
    #main .donation_block .col2_block .col_box {
        width: 100%;
        float: none;
        margin-left: 0;
    }
}
.error_status {
    color: #85023e !important;
}
.ui_free_explain {
    border: solid 1px gray;
}
.txt_caution {
    border: solid 2px #ff0000;
    margin-bottom: 25px;
    padding: 10px;
    color: #ff0000;
}
#main .photo_search_block .form_block .tags_list {
    display: inline;
    list-style: none;
}
#main .photo_search_block .form_block .tags_list li, #main .photo_search_block .form_block .tags_more_link {
    display: inline-block;
    vertical-align: middle;
}
#main .photo_search_block .form_block .tags_list li {
    margin: 5px 3px;
}
#main .photo_search_block .form_block .tags_list li:before {
    content: none;
}
#main .photo_search_block .form_block .tags_list li span {
    display: inline-block;
    padding: 0 10px;
    background: #eee;
    border-radius: 5px;
    line-height: 2;
}
#main .photo_search_block .form_block .tags_more_link {
    display: none;
    margin: 0;
    text-decoration: underline;
    cursor: pointer;
}
#main .photo_search_block .form_block .tags_more_link[data-enable=true] {
    display: inline-block;
}
#main .photo_search_block .form_block .tags_more_link:hover {
    text-decoration: none;
}
#main .photo_index_block {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#main .photo_index_block .image-area {
    width: 224px;
    margin: 20px 9px;
}
#main .photo_index_block .image-area a {
    display: block;
    text-decoration: none;
}
img.photo-archive {
    display: block;
    width: 100%;
    height: 230px;
    object-fit: cover;
    font-family: 'object-fit: cover;'
}
#main .photo_index_block .image-area .caption {
    margin-top: 5px;
}
@media only screen and (max-width: 736px) {
    #main .photo_search_block .form_block .tags_list {
        display: block;
    }
    #main .photo_search_block .form_block .tags_more_link[data-enable=true] {
        display: block;
        text-align: center;
    }
    #main .photo_index_block {
        justify-content: flex-start;
    }
    #main .photo_index_block .image-area {
        width: calc((100% - 20px) / 2);
        margin: 0;
    }
    #main .photo_index_block .image-area:not(:nth-child(2n)) {
        margin-right: 20px;
    }
    #main .photo_index_block .image-area:nth-child(n+3) {
        margin-top: 20px;
    }
}
#main .photo_detail_block {
    padding: 0 0 35px;
    border-bottom: 2px solid #efefef;
}
#main .photo_detail_block h2 {
    margin: 0 0 10px;
    padding: 0;
    background: none;
    color: #222;
    font-size: 123%;
}
#main .photo_detail_block h2:before, #main .photo_detail_block h2:after {
    content: none;
}
#main .photo_detail_block .float_area {
    margin: 0 0 23px;
    overflow: hidden;
}
#main .photo_detail_block .image {
    float: left;
    width: 53%;
    margin-right: 2%;
    background: #eee;
    text-align: center;
}
#main .photo_detail_block .image img {
    vertical-align: top;
    max-width: 100%;
    height: auto;
}
#main .photo_detail_block .info {
    float: right;
    width: 45%;
}
#main .photo_detail_block .info>ul {
    list-style: none;
    margin-bottom: 0;
}
#main .photo_detail_block .info>ul>li {
    margin: 0 0 20px;
}
#main .photo_detail_block .info>ul>li:before {
    display: none;
}
#main .photo_detail_block .info_ttl {
    margin: 0;
    padding: 0;
    background: none;
    line-height: 1.75;
    font-weight: bold;
    font-size: 123%;
}
#main .photo_detail_block .info_ttl::before {
    content: none;
}
#main .photo_detail_block .info_type {
    display: inline-block;
    width: 70%;
    list-style: none;
    margin: 0;
    line-height: 1.92;
}
#main .photo_detail_block .info_type li {
    display: inline-block;
    margin: 0;
    padding: 0;
}
#main .photo_detail_block .info_type li:before {
    content: none;
}
#main .photo_detail_block .info_type li:not(:last-child) {
    margin-right: 0.5em;
}
#main .photo_detail_block .info_data {
    margin: 0;
    line-height: 1.92;
}
#main .photo_detail_block .info_data th {
    font-weight: normal;
    white-space: nowrap;
    vertical-align: top;
    text-align: left;
}
#main .photo_detail_block .info_data td {
    position: relative;
    vertical-align: top;
    padding: 0 0 0 1.5em;
}
#main .photo_detail_block .info_data td::before {
    content: ':';
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 0.5em;
}
#main .photo_detail_block .info_tags {
    list-style: none;
    margin: 0;
    line-height: 2.23;
}
#main .photo_detail_block .info_tags li {
    display: inline-block;
    margin: 0;
}
#main .photo_detail_block .info_tags li:before {
    content: none;
}
#main .photo_detail_block .info_tags li:not(:last-child)::after {
    content: ', ';
}
#main .photo_detail_block .download {
    padding: 22px 0 16px;
    background: #efefef;
    text-align: center;
}
#main .photo_detail_block .download .btn {
    margin: 0 0 10px;
}
#main .photo_detail_block .download .btn img {
    vertical-align: top;
    width: 260px;
    height: auto;
}
#main .photo_detail_block .download .terms {
    line-height: 19px;
}
#main .photo_detail_block .download .terms a {
    display: inline-block;
    padding: 0 23px 0 0;
    background: url(../img/common/icon_arrow04.png) no-repeat 100% calc(50% - 1px);
    text-decoration: none;
}
#main .photo_detail_block .description p:last-child {
    margin-bottom: 20px;
}
#main .photo_search_block .photo_terms {
    padding: 35px 0 0;
}
#main .photo_search_block .photo_terms h2 {
    margin: 0 0 10px;
    padding: 0 0 0 22px;
    background: transparent url(../img/common/icon_ul01.png) no-repeat 0 9px;
    line-height: 1.66;
    color: #333;
    font-weight: bold;
    font-size: 115%;
}
#main .photo_search_block .photo_terms h2::before, #main .photo_search_block .photo_terms h2::after {
    content: none;
}
#main .photo_search_block .photo_terms .txtarea {
    margin-left: 22px;
}
#main .photo_search_block .photo_terms .txtarea p {
    margin-bottom: 15px;
}
#main .photo_search_block .photo_terms .txtarea ol {
    line-height: 1.84;
}
#main .photo_search_block .photo_terms .txtarea ol li {
    margin: 0 0 0 20px;
}
#main .photo_search_block .photo_terms .txtarea ol li:not(:last-child) {
    margin-bottom: 7px;
}
#main .photo_search_block .photo_terms address h3 {
    margin: 0;
    padding: 0;
    background: transparent none;
    line-height: 1.66;
    color: #85023e;
    font-weight: bold;
    font-size: 115%;
}
#main .photo_search_block .photo_terms address h3::before {
    content: none;
}
#main .photo_search_block .photo_terms address p {
    font-weight: bold;
}
@media only screen and (max-width: 736px) {
    #main .photo_detail_block {
        margin: 0 4.6875%;
    }
    #main .photo_detail_block .image {
        float: none;
        width: auto;
        margin-bottom: 20px;
    }
    #main .photo_detail_block .info {
        float: none;
        width: auto;
    }
    #main .photo_search_block .photo_terms {
        margin: 0 4.6875%;
    }
    #main .photo_search_block .photo_terms .txtarea {
        margin-right: 0;
        margin-left: 0;
    }
}
.photo_checkbox {
    display: inline;
}
img.photo-view {
    width: 560px;
}
div#lightbox-container-image-box {
    max-width: 800px !important;
    height: auto !important;
}
div#lightbox-container-image-data-box {
    max-width: 780px !important;
    height: auto !important;
    box-sizing: content-box;
}
div#lightbox-container-image-data-box #lightbox-container-image-data {
    overflow: hidden;
}
div#lightbox-container-image-box img {
    max-width: 100%;
    height: auto;
}
@media only screen and (max-width: 1200px) and (min-width: 737px) {
    div#lightbox-container-image-data-box {
        margin-top: -1px;
        padding-top: 1px;
    }
}
@media only screen and (max-width: 736px) {
    div#lightbox-container-image-box, div#lightbox-container-image-data-box {
        width: 90% !important;
        height: auto !important;
        box-sizing: border-box;
    }
}
#LogoFormIndexForm img[src^="/img/logo_form/logo"] {
    position: relative;
    margin-top: -30px;
}
@media only screen and (max-width: 736px) {
    #LogoFormIndexForm img[src^="/img/logo_form/logo"] {
        margin-top: 0;
    }
}
.gsc-option-menu-container .gsc-selected-option-container {
    width: inherit !important;
}
.contents_designer-wrapper table div, .contents_designer-wrapper table dl, .contents_designer-wrapper table dt, .contents_designer-wrapper table dd, .contents_designer-wrapper table ul, .contents_designer-wrapper table ol, .contents_designer-wrapper table li, .contents_designer-wrapper table h1, .contents_designer-wrapper table h2, .contents_designer-wrapper table h2, .contents_designer-wrapper table h3, .contents_designer-wrapper table h4, .contents_designer-wrapper table h5, .contents_designer-wrapper table h6, .contents_designer-wrapper table p, .contents_designer-wrapper table th, .contents_designer-wrapper table td {
    position: static;
}
@media screen and (max-width: 736px) {
    .pc {
        display: none !important;
    }
}
@media screen and (min-width: 737px) {
    .sp {
        display: none !important;
    }
}
@media screen and (min-width: 737px) {
    .pad-only {
        display: none;
    }
}
@media screen and (max-width: 1200px) {
    .pc-only {
        display: none;
    }
}
@media screen and (max-width: 736px) {
    .pc-only {
        display: none;
    }
}
.gsc-result .gs-title {
    height: 1.4em !important;
}
.flag_cat {
    display: flex;
    flex-wrap: wrap;
}
.flag_cat, .flag_type {
    display: inline-block;
    font-size: 85%;
    font-weight: 400;
    background: #85023e;
    color: #ffffff;
    margin-left: 10px;
    padding: 0 8px;
    vertical-align: middle;
}
@media only screen and (max-width: 736px) {
    .flag_cat, .flag_type {
        margin-left: 8px;
        padding: 0 5px;
    }
}
.flag_type, .flag_cat {
    color: #85023e;
    background: none;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
    display: flex;
    height: 20px;
    align-items: center;
    margin: 0 0 5px 0;
    padding: 0 7px;
    word-break: keep-all;
    z-index: 1;
    letter-spacing: normal;
}
html[lang=en] .flag_type, html[lang=en] .flag_cat {
    line-height: 1;
}
.flag_cat.flag_border, .flag_cat.flag_bg {
    background: #fff;
    color: #85023e;
    border: 1px solid #85023e;
    height: 19px;
    border-radius: 10px;
    margin-right: 10px;
}
.flag_cat.flag_bg {
    background: #85023e;
    color: #ffffff;
}
.flag_list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.viewtitle+.flag_list {
    margin-bottom: 20px;
}
.flag_type.color-pink {
    color: #ce9ab2;
}
.flag_type.color-gray {
    color: #888888;
}
.research_point_block .ph {
    margin: 0 auto;
    width: 70%;
    text-align: left;
}
.research_point_block .ph img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto 10px;
}
@media only screen and (max-width: 736px) {
    .research_point_block .ph {
        margin: 0 auto 5px;
        width: auto;
        text-align: center;
    }
}
.viewtitle {
    border-bottom: 1px solid #e5e5e5;
    padding: 24px 0;
    border-top: 1px solid #e5e5e5;
    word-break: normal;
    margin-bottom: 18px;
}
#main .viewtitle h1 {
    padding: 0;
    margin: 0;
    font-weight: 400;
    font-size: 2.8rem;
    line-height: 4rem;
    color: #000;
    border: none;
    letter-spacing: 0.15em;
}
#main html[lang=en] .viewtitle h1 {
    letter-spacing: normal;
}
@media screen and (max-width: 1200px) {
    .viewtitle {
        padding: 20px 0;
        border-top: none;
    }
    #main .viewtitle h1 {
        font-size: 2.6rem;
        line-height: 3.64rem;
        letter-spacing: 0;
    }
}
@media screen and (max-width: 736px) {
    #main .viewtitle h1 {
        font-size: 2rem;
        line-height: 2.6rem;
    }
}
#main .viewtitle h1:before, #main .viewtitle h1:after {
    content: none;
}
.ic_new {
    display: inline-block;
    width: 33px;
    height: 16px;
    background: none;
    position: relative;
    top: 0;
    margin: 0;
}
.ic_new img {
    width: 100%;
}
.ic_new:after {
    content: none;
}
.viewtitle span.last {
    margin-left: 5px;
    top: -4px;
    padding: 2px 3px 3px;
    border: 1px solid #85023e;
    color: #85023e;
    border-radius: 2px;
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: 0;
    position: relative;
    display: inline-block;
}
@media screen and (max-width: 1200px) {
    .viewtitle span.last {
        top: -2px;
    }
}
.viewtitle span.txt {
    font-size: 1.6rem;
    display: block;
    line-height: 24px;
    margin: 10px 0;
}
@media screen and (max-width: 1200px) {
    .viewtitle span.txt {
        font-size: 1.5rem;
        line-height: 22px;
    }
}
@media screen and (max-width: 736px) {
    .viewtitle span.txt {
        font-size: 1.4rem;
        line-height: 21px;
    }
}
.viewtitle span.date {
    font-size: 1.2rem;
    font-family: 'Noto Sans', sans-serif;
    letter-spacing: normal;
    line-height: 1;
    display: block;
    margin: 14px 0 8px;
}
@media screen and (max-width: 736px) {
    .viewtitle span.date {
        margin: 5px 0 0;
    }
}
#main .viewcat {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 36px;
}
#main .viewcat li {
    border-left: 1px solid #a3a3a3;
    padding: 0 10px;
    margin: 0 0 10px 0;
    list-style: none;
    line-height: 1;
}
#main .viewcat li::before {
    content: none;
}
#main .viewcat li:first-child {
    padding-left: 0;
    border-left: none;
}
#main .viewcat a {
    text-decoration: none;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #000;
    vertical-align: middle;
}
@media screen and (min-width: 737px) {
    #main .viewcat a:hover {
        color: #85023e;
    }
}
@media screen and (max-width: 736px) {
    #main .viewcat {
        margin-bottom: 25px;
    }
}
#main .btn_block.btn_map {
    float: right;
    width: auto;
    font-family: 'Noto Sans', sans-serif;
    margin: 0 0 0 5px;
}
#main .btn_block.btn_map>p {
    min-width: 50px;
    margin: 0;
    background: #ffffff;
    opacity: 1 !important;
}
#main .btn_block.btn_map>p>a {
    display: block;
    font-size: 1.4rem;
    line-height: 1.15;
    font-weight: bold;
    color: #85023e;
    border: 1px solid #85023e;
    border-radius: 5px;
    max-width: 140px;
    margin: 0 auto;
    text-align: center;
    text-decoration: none;
    padding: 16px 20px;
    transition: 0.2s ease-in-out;
}
@media screen and (min-width: 737px) {
    #main .btn_block.btn_map>p>a:hover {
        background: #85023e;
        color: #ffffff;
    }
}
@media only screen and (max-width: 736px) {
    #main .btn_block.btn_map>p>a {
        padding: 10px 0;
    }
}
#main .taglist {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
}
#main .taglist li {
    margin: 0 10px 10px 0;
    list-style: none;
}
#main .taglist li::before {
    content: none;
}
#main .taglist a {
    padding: 7px 16px;
    display: block;
    background-color: #eee;
    text-decoration: none;
    color: #000;
    font-size: 1.4rem;
    line-height: 1.5;
    border: 1px solid #eee;
    box-sizing: border-box;
}
@media screen and (max-width: 1200px) {
    #main .taglist a {
        padding: 7px 15.5px 6px;
        font-size: 1.26rem;
    }
}
@media screen and (min-width: 737px) {
    #main .taglist a:hover {
        background-color: #fff;
        border: 1px solid #85023e;
        color: #85023e;
    }
}
#main .ul_sns {
    list-style: none;
    overflow: visible;
}
#main .ul_sns li {
    float: right;
    margin: 0 0 0 10px;
}
#main .ul_sns li:before {
    display: none;
}
#main .ul_sns li img {
    display: block;
}
#main .ul_sns li:before {
    display: none;
}
@media only screen and (max-width: 736px) {
    #main .ul_sns {
        margin: 0 4.6875% 25px;
        overflow: hidden;
    }
}
.socials {
    display: flex;
    justify-content: flex-end;
}
.socials li {
    margin-left: 19px;
    list-style: none;
}
.socials li:before {
    content: none !important;
}
a.btn-share-twitter {
    position: relative;
    height: 20px;
    line-height: 20px;
    box-sizing: border-box;
    padding: 0px 12px 0px 25px;
    border-radius: 9999px;
    font-weight: 500;
    cursor: pointer;
    color: #fff;
    text-decoration: none;
    font-size: 11px;
    margin-left: 15px;
    background: #1d9bf0 url(../img/common/twitter.png) no-repeat 8px center;
    background-size: 12px;
}
a.btn-share-twitterpath {
    fill: #ffffff;
}
.more-btn {
    margin-top: 30px;
}
.more-btn a {
    display: block;
    font-size: 1.4rem;
    line-height: 16px;
    font-weight: bold;
    color: #85023e;
    border: 1px solid #85023e;
    border-radius: 5px;
    max-width: 140px;
    margin: 0 auto;
    text-align: center;
    text-decoration: none;
    padding: 16px 0;
    transition: 0.2s ease-in-out;
}
@media screen and (min-width: 737px) {
    .more-btn a:hover {
        background: #85023e !important;
        color: #ffffff !important;
        border: 1px solid #85023e !important;
    }
}
.targ-float {
    margin: 0 -10px 70px;
    display: flex;
    flex-wrap: wrap;
}
.targ-float:last-child {
    margin-bottom: 0;
}
@media screen and (max-width: 1200px) {
    .targ-float {
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 40px;
    }
}
@media screen and (max-width: 736px) {
    .targ-float {
        margin-bottom: 20px;
    }
}
.targ-box {
    background: #fff;
    padding: 50px;
    float: left;
    margin: 0 10px 20px;
}
.targ-box:last-child {
    margin-bottom: 0;
}
.targ-box.w-full {
    width: calc(100% - 20px);
}
.targ-box.w-half {
    width: calc(50% - 20px);
}
@media screen and (max-width: 1200px) {
    .targ-box {
        padding: 40px 34px;
    }
    .targ-box.w-half, .targ-box.w-full {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}
@media screen and (max-width: 736px) {
    .targ-box {
        padding: 20px;
        float: none;
        width: 100%;
        margin: 0 0 20px;
    }
}
@media screen and (max-width: 374px) {
    .targ-box {
        padding-left: 10px;
        padding-right: 10px;
    }
}
.targ-box__title {
    color: #85023e;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.15em;
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0 0 40px;
    padding: 15px 10px;
    background: none;
    border-top: #85023e 1px solid;
    border-bottom: #85023e 1px solid;
    box-sizing: border-box;
    overflow: hidden;
}
html[lang=en] .targ-box__title {
    font-size: 2.4rem;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: normal;
    font-family: 'Noto Sans', sans-serif;
}
@media screen and (max-width: 1200px) {
    .targ-box__title {
        font-size: 20px;
        margin: 0 0 40px;
        padding: 15px 10px;
    }
    html[lang=en] .targ-box__title {
        font-size: 2.4rem;
    }
}
@media screen and (max-width: 736px) {
    .targ-box__title {
        font-size: 18px;
        margin: 0 0 40px;
        padding: 15px 10px;
    }
    html[lang=en] .targ-box__title {
        font-size: 1.8rem;
    }
}
.targ-box .more-btn+.targ-box__title {
    margin-top: 50px;
}
@media screen and (max-width: 736px) {
    .targ-box .more-btn+.targ-box__title {
        margin-top: 30px;
    }
}
.targ-box__inner h3 {
    margin-top: 30px;
}
@media screen and (max-width: 1200px) {
    .targ-box__inner h3 {
        margin-top: 20px;
    }
}
@media screen and (max-width: 736px) {
    .targ-box__inner h3 {
        margin-top: 10px;
    }
}
.link_notice {
    margin-bottom: 30px;
    text-align: right;
}
.link_notice>a {
    padding-right: 11px;
    background: url(../img/common/2023_icon_arrow06.png) no-repeat top 2px right/6px auto;
    font-size: 1.4rem;
    line-height: 1.6rem;
    font-weight: 700;
    color: #000;
    display: inline-block;
    text-decoration: none;
}
html[lang=en] .link_notice>a {
    background-position: top 3px right;
    padding-right: 15px;
}
@media screen and (min-width: 737px) {
    .link_notice>a:hover {
        color: #85023e;
        opacity: 1;
    }
}
@media screen and (max-width: 340px) {
    .link_notice>a {
        font-size: 1.3rem;
    }
}
#main ul.topics_list, .topics_list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}
@media screen and (max-width: 736px) {
    #main ul.topics_list, .topics_list {
        margin: 0;
    }
}
#main ul.topics_list>li, .topics_list>li {
    flex: 1 0 20%;
    margin: 0 10px;
    padding: 0;
    max-width: 230px;
}
#main ul.topics_list>li::before, .topics_list>li::before {
    content: none;
}
@media screen and (max-width: 1200px) {
    #main ul.topics_list>li, .topics_list>li {
        flex: auto;
        width: calc(50% - 20px);
        margin-bottom: 20px;
        max-width: calc(50% - 20px);
    }
}
@media screen and (max-width: 736px) {
    #main ul.topics_list>li, .topics_list>li {
        margin: 0 0 20px 0;
        width: 100%;
        max-width: none;
    }
}
#main .topics_list__item, .topics_list__item {
    text-decoration: none;
    background: #f2f2f2;
    display: block;
    height: 100%;
    transition: 0.2s ease-in-out;
}
@media screen and (min-width: 737px) {
    #main a.topics_list__item:hover, a.topics_list__item:hover {
        background: #f8f8f8;
    }
    #main a.topics_list__item:hover .txt, a.topics_list__item:hover .txt {
        color: #85023e;
    }
}
#main .topics_list__item.a_new::after, .topics_list__item.a_new::after {
    content: none;
}
#main .topics_list__item.a_new .txt::before, .topics_list__item.a_new .txt::before {
    content: '';
    display: inline-block;
    width: 33px;
    height: 20px;
    margin: 0 5px 0 0;
    vertical-align: middle;
    border-radius: 0;
    background: url(../img/common/icon_new.png) no-repeat center center/100% auto;
}
#main .topics_list__item.no_link, .topics_list__item.no_link {
    background: #f2f2f2;
    display: block;
    height: 100%;
}
#main .topics_list__item .img, .topics_list__item .img {
    display: block;
    overflow: hidden;
    height: 128px;
    border: 1px solid #e5e5e5;
    background: #ffffff;
}
@media screen and (max-width: 1200px) {
    #main .topics_list__item .img, .topics_list__item .img {
        height: auto;
        aspect-ratio: 41/23;
    }
}
#main .topics_list__item .img>img, .topics_list__item .img>img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
}
#main .topics_list__item .wrap, .topics_list__item .wrap {
    padding: 12px 15px;
    display: block;
}
#main .topics_list__item .txt, .topics_list__item .txt {
    display: block;
    font-size: 1.4rem;
    line-height: 21px;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
    font-weight: 700;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
html[lang=en] #main .topics_list__item .txt, html[lang=en] .topics_list__item .txt {
    letter-spacing: normal;
}
@media screen and (max-width: 736px) {
    #main .topics_list__item .txt, .topics_list__item .txt {
        font-size: 1.2rem;
        line-height: 1.8rem;
        margin-bottom: 10px;
    }
}
#main .topics_list__item .txt_date, .topics_list__item .txt_date {
    font-size: 1.1rem;
    letter-spacing: 0.05em;
    color: #333;
    font-weight: normal;
    display: block;
}
html[lang=en] #main .topics_list__item .txt_date, html[lang=en] .topics_list__item .txt_date {
    letter-spacing: normal;
}
@media screen and (max-width: 736px) {
    #main .topics_list__item .txt_date, .topics_list__item .txt_date {
        font-size: 1rem;
    }
}
#main .topics_list__item .txt_time, .topics_list__item .txt_time {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}
#main .topics_list__item .txt_time_box, .topics_list__item .txt_time_box {
    min-width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #85023e;
    font-size: 1.2rem;
    flex-shrink: 0;
    color: #85023e;
    box-sizing: border-box;
}
#main .topics_list__item .txt_time_label, .topics_list__item .txt_time_label {
    font-size: 1.4rem;
    line-height: 18px;
    color: #85023e;
    font-weight: bold;
    margin-left: 10px;
    flex: 1;
    display: block;
    white-space: nowrap;
}
@media screen and (max-width: 1200px) {
    #main .topics_list__item .txt_time_label, .topics_list__item .txt_time_label {
        font-size: 1.3rem;
        line-height: 1.7rem;
    }
}
@media screen and (max-width: 736px) {
    #main .topics_list__item .txt_time_label, .topics_list__item .txt_time_label {
        font-size: 1.2rem;
    }
}
#main .topics_list__item .txt_time.disable .txt_time_box, .topics_list__item .txt_time.disable .txt_time_box {
    background-color: #e6e6e6;
    border: none;
    color: #000;
}
#main .topics_list__item .txt_time.disable .txt_time_label, .topics_list__item .txt_time.disable .txt_time_label {
    color: #888;
}
.en #main .topics_list__item .language:before, .en .topics_list__item .language:before {
    content: "In ";
}
#main .topics_list__item .tag, .topics_list__item .tag {
    display: block;
    font-size: 1.2rem;
    line-height: 18px !important;
}
.targ-box.events_list .topics_list__item .flag_list .flag_cat.flag_bg {
    display: none;
}
.targ-box.events_list .topics_list__item .flag_list .flag_type {
    display: none;
}
.targ-box.events_list .topics_list__item .tag {
    display: none;
}
.events_list .topics_list .topics_list__item .img {
    height: 127px;
    border: none;
}
@media screen and (max-width: 1200px) {
    .events_list .topics_list .topics_list__item .img {
        height: auto;
        aspect-ratio: 220/123;
    }
}
#main .events_block .topics_list {
    margin: 0 -5px;
}
#main .events_block .topics_list>li {
    flex: none;
    width: calc(33.3333333333% - 10px);
    margin: 0 5px;
    margin-bottom: 10px;
    border: 1px solid #e5e5e5;
}
@media screen and (max-width: 1200px) {
    #main .events_block .topics_list>li {
        width: calc(50% - 20px);
        margin-bottom: 20px;
    }
}
@media screen and (max-width: 736px) {
    #main .events_block .topics_list>li {
        margin: 0 0 20px 0;
        width: 100%;
    }
}
@media screen and (max-width: 1200px) {
    #main .events_block .topics_list>li {
        margin: 0 10px 20px 10px;
    }
}
@media screen and (max-width: 736px) {
    #main .events_block .topics_list>li {
        margin: 0 0 20px 0;
    }
}
#main .events_block .topics_list__item .img {
    height: auto;
    border: none;
}
@media screen and (max-width: 1200px) {
    #main .events_block .topics_list__item .img {
        height: auto;
        aspect-ratio: 220/123;
    }
}
#main .events_block .topics_list__item .flag_list {
    margin: 15px 0 5px;
}
#main .events_block .topics_list__item .flag_list .flag_cat, #main .events_block .topics_list__item .flag_list .flag_type {
    margin-bottom: 10px;
}
#main .events_block .topics_list__item .flag_list .flag_type {
    padding: 0;
}
#main .events_block .topics_list__item .txt_date {
    margin-top: 10px;
}
#main .events_block a.topics_list__item {
    background: #ffffff;
}
@media screen and (min-width: 737px) {
    #main .events_block a.topics_list__item:hover {
        background: #f8f8f8;
    }
}
.news_block dl {
    overflow: hidden;
}
.news_block dl a {
    text-decoration: none;
}
.news_block dl a:hover {
    text-decoration: underline;
}
.news_block dl dt {
    margin: 15px 0 3px;
    font-weight: bold;
}
.news_block dl dd {
    font-size: 116%;
    padding-bottom: 15px;
    border-bottom: dotted 1px #dddddd;
}
@media only screen and (max-width: 736px) {
    .news_block dl dt {
        font-size: 93%;
    }
    .news_block dl dd {
        font-size: 108%;
    }
}
.news_block h3 {
    color: #85023e;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.15em;
    font-family: 'Noto Sans JP';
    margin: 0 0 40px;
    padding: 15px 10px;
    background: none;
    border-top: #85023e 1px solid;
    border-bottom: #85023e 1px solid;
    box-sizing: border-box;
    overflow: hidden;
}
html[lang=en] .news_block h3 {
    font-weight: bold;
    font-family: 'Noto Sans', sans-serif;
    letter-spacing: normal;
}
@media screen and (max-width: 1200px) {
    .news_block h3 {
        font-size: 22px;
        margin: 0 0 40px;
        padding: 15px 10px;
    }
}
@media screen and (max-width: 736px) {
    .news_block h3 {
        font-size: 18px;
        letter-spacing: 1px;
    }
}
.news_block .txtarea {
    margin: 0 0 60px;
}
.news_block .txtarea dl {
    display: flex;
    border-top: 1px solid #eeeeee;
    padding: 15px 0;
}
.news_block .txtarea dl a {
    border-bottom: none !important;
}
.news_block .txtarea dl:last-of-type {
    border-bottom: 1px solid #eeeeee;
}
@media screen and (max-width: 736px) {
    .news_block .txtarea dl {
        display: block;
        padding: 10px 15px;
    }
}
.news_block .txtarea dl dt {
    width: 123px;
    padding-right: 10px;
    margin: 0;
    font-size: 1.4rem;
    color: #000;
    text-align: center;
}
@media screen and (max-width: 736px) {
    .news_block .txtarea dl dt {
        width: 100%;
        padding: 0;
        text-align: left;
        display: flex;
        align-items: center;
    }
}
.news_block .txtarea dl dd {
    width: calc(100% - 133px);
    border-bottom: none;
    font-size: 1.4rem;
    padding-bottom: 0;
}
@media screen and (max-width: 736px) {
    .news_block .txtarea dl dd {
        width: 100%;
        padding-bottom: 0;
    }
}
.news_block .txtarea dl dd a {
    display: inline-block;
    border-bottom: none !important;
}
@media screen and (min-width: 737px) {
    .news_block .txtarea dl dd a:hover {
        text-decoration: underline !important;
        -webkit-text-decoration-color: #85023e !important;
        text-decoration-color: #85023e !important;
    }
}
.news_block.news_list .txtarea dl {
    justify-content: space-between;
    padding-top: 30px;
    padding-bottom: 30px;
}
.news_block.news_list .txtarea dl:last-of-type {
    border-bottom: none;
}
.news_block.news_list .txtarea dt {
    width: 240px !important;
    padding-right: 0 !important;
}
@media screen and (max-width: 736px) {
    .news_block.news_list .txtarea dt {
        width: 100% !important;
    }
}
.news_block.news_list .txtarea dt .img {
    width: 100%;
    height: 135px;
    overflow: hidden;
    display: block;
    aspect-ratio: 16/9;
}
.news_block.news_list .txtarea dt .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}
@media screen and (max-width: 736px) {
    .news_block.news_list .txtarea dt .img {
        width: 100%;
        height: auto;
    }
}
.news_block.news_list .txtarea dd {
    width: calc(100% - 240px - 57px);
}
@media screen and (max-width: 1200px) {
    .news_block.news_list .txtarea dd {
        width: calc(100% - 240px - 53px);
    }
}
@media screen and (max-width: 736px) {
    .news_block.news_list .txtarea dd {
        width: 100%;
        margin-top: 20px;
    }
}
.news_block.news_list .txtarea dd a, .news_block.news_list .txtarea dd span.title {
    display: inline-block;
    font-weight: bold;
    text-decoration: none;
    line-height: 24px;
    font-size: 1.6rem;
    margin: 10px 0;
    word-break: normal;
}
@media screen and (max-width: 1200px) {
    .news_block.news_list .txtarea dd a, .news_block.news_list .txtarea dd span.title {
        font-size: 1.5rem;
        line-height: 22px;
    }
}
.news_block.news_list .txtarea dd .date {
    font-size: 1.1rem;
    display: block;
}
.news_block.news_list .txtarea dd .a_new::after, .news_block.news_list .txtarea dd .p_new::after {
    content: none !important;
}
.news_block.news_list .txtarea dd .a_new::before, .news_block.news_list .txtarea dd .p_new::before {
    content: "";
    display: inline-block;
    width: 33px;
    height: 20px;
    margin: 0 5px 0 0;
    vertical-align: middle;
    border-radius: 0;
    background: url(../img/common/icon_new.png) no-repeat center center/100% auto;
}
.news_block.news_list .txtarea dd .txt {
    font-size: 1.4rem;
    margin-bottom: 0;
    display: block;
    line-height: 24px;
    margin-top: 10px;
    margin-bottom: 10px;
}
@media screen and (min-width: 737px) {
    .news_block.news_list .txtarea .a_link:hover .title {
        text-decoration: underline;
        -webkit-text-decoration-color: #85023e;
        text-decoration-color: #85023e;
    }
}
html[lang=en] .news_block.news_list .txtarea dd a {
    font-size: 1.8rem;
    word-break: normal !important;
}
#contents .news_block a.a_new:after {
    display: none;
}
#contents .news_block a.a_new::before, #contents .news_block .a_new::before {
    content: '';
    display: inline-block;
    width: 33px;
    margin-right: 10px;
    height: 20px;
    margin: 0 0.5em 0 0;
    vertical-align: middle;
    background: url(../img/common/icon_new.png) no-repeat center center/100% auto;
}
.btn-filter {
    margin: 70px auto 60px auto;
    width: -webkit-max-content;
    width: max-content;
    height: 60px;
    line-height: 58px;
    text-decoration: none;
    position: relative;
    display: block;
    padding: 0 81px 0 80px;
    letter-spacing: 1px;
    border-radius: 5px;
    border: 1px solid #85023e;
    background-color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    color: #85023e;
    cursor: pointer;
    margin-bottom: 50px;
    transition: 0.2s ease-in-out;
}
@media screen and (min-width: 737px) {
    .btn-filter:hover {
        background: #85023e;
        color: #fff;
    }
    .btn-filter:hover::after {
        -webkit-filter: brightness(0) invert(1);
        filter: brightness(0) invert(1);
    }
}
@media screen and (max-width: 1200px) {
    .btn-filter {
        height: 54px;
        line-height: 54px;
        font-size: 1.44rem;
        padding: 0 72.3px;
    }
}
@media screen and (max-width: 736px) {
    .btn-filter {
        font-size: 1.6rem;
        max-width: 355px;
        width: 100%;
        padding: 0;
        text-align: center;
    }
}
.btn-filter:after {
    right: 30px;
    pointer-events: none;
    z-index: 1;
    content: '';
    position: absolute;
    top: 0;
    width: 22px;
    height: 100%;
    background: url(../img/common/icon-setting.svg) no-repeat center/22px auto;
}
@media screen and (max-width: 1200px) {
    .btn-filter:after {
        right: 27px;
        width: 19px;
        background-size: 19px auto;
    }
}
@media screen and (max-width: 736px) {
    .btn-filter:after {
        right: 31px;
    }
}
@media screen and (max-width: 374px) {
    .btn-filter:after {
        right: 20px;
    }
}
.modal .form .select select, .modal .form .input {
    width: 100%;
    height: 40px;
    box-shadow: none;
    outline: none;
    background-color: #fff;
    border-radius: 4px;
    border: 1px solid #727272 !important;
    box-sizing: border-box;
}
@media screen and (max-width: 1200px) {
    .modal .form .select select, .modal .form .input {
        height: 35px;
    }
}
.modal {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 99999;
    display: flex;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: #eee;
}
@media screen and (max-width: 1200px) {
    .modal {
        align-items: flex-start;
    }
}
.modal.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}
.modal .symbol {
    margin: 0 38px;
    color: #000;
    font-size: 14px;
    line-height: 1;
}
@media screen and (max-width: 736px) {
    .modal .symbol {
        margin: 0 10px;
    }
}
.modal .checkboxs {
    padding-top: 4px;
    display: flex;
    flex-wrap: wrap;
}
@media screen and (max-width: 736px) {
    .modal .checkboxs {
        padding-top: 0;
    }
}
.modal .checkbox {
    margin: 0 49px 20px 0;
    display: flex;
}
@media screen and (max-width: 1200px) {
    .modal .checkbox {
        margin-right: 27px;
    }
}
@media screen and (max-width: 736px) {
    .modal .checkbox {
        margin-bottom: 5px;
        margin-right: 33px;
    }
}
@media screen and (min-width: 737px) {
    .modal .checkbox.is-style1 {
        margin-right: 90px;
    }
}
@media screen and (max-width: 1200px) {
    .modal .checkbox.is-style1 {
        margin-right: 70px;
    }
}
@media screen and (max-width: 374px) {
    .modal .checkbox.is-style1 {
        margin-right: 30px;
    }
}
.modal .checkbox label {
    display: inline-block;
    position: relative;
    cursor: pointer;
}
.modal .checkbox_text {
    padding-left: 25px;
    letter-spacing: 0.4px;
    position: relative;
    font-size: 1.4rem;
    line-height: 3.2rem;
    color: #000;
    display: block;
}
@media screen and (max-width: 1200px) {
    .modal .checkbox_text {
        padding-left: 21px;
    }
}
@media screen and (max-width: 736px) {
    .modal .checkbox_text {
        font-size: 1.2rem;
        letter-spacing: -0.1px;
    }
}
.modal .checkbox_text:before {
    top: 7px;
    left: 2px;
    border: 1px solid #727272;
    border-radius: 2px;
    width: 13px;
    height: 13px;
    content: "";
    display: inline-block;
    background-color: #fff;
    position: absolute;
}
@media screen and (max-width: 1200px) {
    .modal .checkbox_text:before {
        left: -1px;
    }
}
@media screen and (max-width: 736px) {
    .modal .checkbox_text:before {
        left: 0;
    }
}
.modal .checkbox_text:after {
    content: "✓";
    position: absolute;
    top: 9px;
    left: 4px;
    border-radius: 1px;
    color: #333;
    font-size: 12px;
    display: inline-block;
    line-height: 1;
    width: -webkit-max-content;
    width: max-content;
    height: -webkit-max-content;
    height: max-content;
    opacity: 0;
}
html[lang=en] .modal .checkbox_text:after {
    left: 5px;
}
@media screen and (max-width: 1200px) {
    .modal .checkbox_text:after {
        left: 1px;
    }
    html[lang=en] .modal .checkbox_text:after {
        left: 2px;
    }
}
@media screen and (max-width: 736px) {
    .modal .checkbox_text:after {
        left: 2px;
    }
    html[lang=en] .modal .checkbox_text:after {
        left: 3px;
    }
}
.modal .checkbox input {
    opacity: 0;
    position: absolute;
}
.modal .checkbox input:checked~.checkbox_text:after {
    opacity: 1;
}
.modal .checkbox .-bc-form-radio-wrapper, .modal .checkbox .-bc-form-checkbox-wrapper {
    display: flex;
    margin-bottom: 0;
}
.modal .form .inputs {
    display: flex;
    align-items: center;
}
.modal .form .inputs .input {
    flex: 1;
}
.modal .form .note {
    margin: 13px 0 8px;
    color: #000;
    font-size: 14px;
    line-height: 3.2rem;
    display: block;
}
@media screen and (max-width: 1200px) {
    .modal .form .note {
        font-size: 1.2rem;
    }
}
.modal .form .row {
    padding: 25px 0 25px 11px;
    border-top: 1px solid #d6d6d6;
    display: flex;
}
@media screen and (max-width: 1200px) {
    .modal .form .row {
        padding: 22px 0 22px 10px;
    }
}
@media screen and (max-width: 736px) {
    .modal .form .row {
        padding: 7px 0 15px 0;
        display: block;
    }
}
.modal .form .row:last-child {
    border-bottom: 1px solid #d6d6d6;
}
.modal .form .row.is-style1 {
    padding-bottom: 17px;
}
@media screen and (max-width: 1200px) {
    .modal .form .row.is-style1 {
        padding-bottom: 14px;
    }
}
@media screen and (max-width: 736px) {
    .modal .form .row.is-style1 {
        padding-bottom: 12px;
    }
}
.modal .form .row.is-style1 .modal .form .text {
    padding-top: 0;
}
@media screen and (max-width: 1200px) {
    .modal .form .row.is-style1 .modal .form .text {
        padding-top: 2px;
    }
}
.modal .form .row.is-style1 .modal .form .control {
    margin-top: -3px;
}
@media screen and (max-width: 1200px) {
    .modal .form .row.is-style1 .modal .form .control {
        margin-top: -2px;
    }
}
@media screen and (max-width: 736px) {
    .modal .form .row.is-style1 .modal .form .control {
        margin-top: 3px;
    }
}
.modal .form .row.is-style2 {
    padding-top: 24px;
    padding-bottom: 7px;
}
@media screen and (max-width: 1200px) {
    .modal .form .row.is-style2 {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}
@media screen and (max-width: 736px) {
    .modal .form .row.is-style2 {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}
.modal .form .control {
    flex: 1;
}
.modal .form .input {
    padding: 5px 20px;
    line-height: 40px;
    border: none;
    outline: none;
    box-shadow: none;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}
@media screen and (max-width: 1200px) {
    .modal .form .input {
        line-height: 35px;
    }
}
.modal .form .input:hover, .modal .form .input:focus {
    box-shadow: none;
    border: none;
    outline: none;
}
.modal .form .select {
    position: relative;
    height: 35px;
}
.modal .form .select:before, .modal .form .select:after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 1;
}
.modal .form .select:before {
    top: 50%;
    translate: 0 -50%;
    right: 17px;
    border-style: solid;
    border-width: 6px 5px 0 5px;
    border-color: transparent;
    border-top-color: #727272;
}
@media screen and (max-width: 1200px) {
    .modal .form .select:before {
        border-width: 6px 4px 0 4px;
        right: 16px;
    }
}
.modal .form .select:after {
    right: 47px;
    height: 100%;
    width: 1px;
    top: 0;
    background-color: #727272;
}
@media screen and (max-width: 1200px) {
    .modal .form .select:after {
        right: 40px;
    }
}
.modal .form .select select {
    border: none;
    outline: none;
    box-shadow: none;
    padding-left: 20px;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-color: #fff;
    display: block;
    position: relative;
    color: #000;
}
@media screen and (max-width: 736px) {
    .modal .form .select select {
        margin-top: 7px;
    }
}
.modal .form .select select:hover, .modal .form .select select:focus {
    border: none;
    outline: none;
    box-shadow: none;
}
.modal .form .select a.-bc-form-element, .modal .form .select ul.-bc-pseudo-select__option-list, .modal .form .select .-bc-pseudo-select__option-list {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    display: block;
    width: 0;
    height: 0;
    color: #000;
    background-color: transparent;
    overflow: hidden;
}
.modal .form .select .-bc-wrapper.-bc-form-select-wrapper {
    display: block;
    height: 100%;
    background-color: transparent;
}
.modal .form .text {
    min-width: 161px;
    padding: 4px 10px 0 0;
    letter-spacing: 2.2px;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.2rem;
    color: #85023e;
}
@media screen and (max-width: 1200px) {
    .modal .form .text {
        min-width: 146px;
        font-size: 1.4rem;
        line-height: 2.688rem;
    }
}
@media screen and (max-width: 736px) {
    .modal .form .text {
        margin-bottom: 1px;
        font-size: 1.3rem;
        padding: 0;
        min-width: 100%;
    }
}
.modal .form .text .is-small {
    top: -4px;
    display: block;
    font-size: 1.4rem;
    line-height: 1.8rem;
    position: relative;
}
@media screen and (max-width: 1200px) {
    .modal .form .text .is-small {
        top: -2px;
    }
}
@media screen and (max-width: 736px) {
    .modal .form .text .is-small {
        top: -5px;
        font-size: 1.2rem;
    }
}
.modal .btn {
    margin: 31px auto 0;
    width: -webkit-max-content;
    width: max-content;
    height: 60px;
    position: relative;
    display: block;
}
@media screen and (max-width: 1200px) {
    .modal .btn {
        margin-top: 30px;
        height: 54px;
    }
}
@media screen and (max-width: 736px) {
    .modal .btn {
        max-width: 355px;
        width: 100%;
    }
}
@media screen and (min-width: 737px) {
    .modal .btn:hover:after {
        -webkit-filter: brightness(0) invert(1);
        filter: brightness(0) invert(1);
    }
}
.modal .btn:after {
    right: 30px;
    pointer-events: none;
    z-index: 1;
    content: "";
    position: absolute;
    top: 0;
    width: 22px;
    height: 100%;
    background: url(../img/common/icon-setting.svg) no-repeat center/22px auto;
}
@media screen and (max-width: 1200px) {
    .modal .btn:after {
        right: 27px;
        width: 19px;
        background-size: 19px auto;
    }
}
@media screen and (max-width: 736px) {
    .modal .btn:after {
        right: 31px;
    }
}
@media screen and (max-width: 374px) {
    .modal .btn:after {
        right: 20px;
    }
}
.modal .btn input {
    padding: 0 81px 0 80px;
    width: -webkit-max-content;
    width: max-content;
    height: 100%;
    letter-spacing: 1px;
    border-radius: 5px;
    border: 1px solid #85023e;
    box-shadow: none;
    outline: none;
    background-color: #fff;
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 700;
    color: #85023e;
    cursor: pointer;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    transition: 0.2s ease-in-out;
}
@media screen and (max-width: 1200px) {
    .modal .btn input {
        font-size: 1.44rem;
        padding: 0 72.3px;
    }
}
@media screen and (max-width: 736px) {
    .modal .btn input {
        padding: 0;
        width: 100%;
    }
}
@media screen and (min-width: 737px) {
    .modal .btn input:hover {
        color: #fff;
        background-color: #85023e;
    }
}
.modal .title {
    margin-bottom: 9px;
    letter-spacing: 3.7px;
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3.2rem;
    color: #85023e;
}
@media screen and (max-width: 1200px) {
    .modal .title {
        margin-bottom: 15px;
        letter-spacing: 2.7px;
        font-size: 1.8rem;
        line-height: 2.688rem;
    }
}
@media screen and (max-width: 736px) {
    .modal .title {
        margin-bottom: 8px;
        font-size: 1.6rem;
    }
}
.modal .wrap {
    background-color: #eee;
    width: 100%;
    height: -webkit-max-content;
    height: max-content;
    position: initial;
}
@media screen and (max-width: 1200px) {
    .modal .wrap {
        padding: 0 30px;
    }
}
@media screen and (max-width: 736px) {
    .modal .wrap {
        padding: 0 20px;
    }
}
.modal .close {
    display: block;
    height: 37px;
    width: 37px;
    cursor: pointer;
    z-index: 2;
    position: absolute;
    top: 41px;
    right: 55px;
}
@media screen and (max-width: 1200px) {
    .modal .close {
        top: 27px;
        right: 27px;
        width: 31px;
        height: 31px;
    }
}
@media screen and (max-width: 736px) {
    .modal .close {
        width: 26px;
        height: 26px;
    }
}
.modal .close:before, .modal .close:after {
    top: -5px;
    left: 18px;
    width: 1px;
    height: 48px;
    content: "";
    position: absolute;
    background-color: #727272;
}
@media screen and (max-width: 1200px) {
    .modal .close:before, .modal .close:after {
        left: 16px;
        height: 42px;
    }
}
@media screen and (max-width: 736px) {
    .modal .close:before, .modal .close:after {
        left: 13px;
        height: 36px;
    }
}
.modal .close:before {
    rotate: 45deg;
}
.modal .close:after {
    rotate: -45deg;
}
.modal .inner {
    padding: 50px 0;
    width: 100%;
    max-width: 802px;
    margin-inline: auto;
}
.modal.en .form .text {
    letter-spacing: 0;
    min-width: 195px;
}
@media screen and (max-width: 1200px) {
    .modal.en .form .text {
        min-width: 170px;
    }
}
@media screen and (max-width: 736px) {
    .modal.en .form .text {
        min-width: 100%;
    }
}
#event-search {
    align-items: flex-start;
}
#year_nav ul {
    list-style: none;
}
#year_nav ul li {
    float: left;
    width: 25%;
    margin: 0;
    padding: 0;
    text-align: center;
}
#year_nav ul li:before {
    content: none;
}
#year_nav ul li a {
    display: block;
    padding: 10px 0;
    text-decoration: none;
    background: #eeeeee;
    border-top: solid 1px #e3e3e3;
    border-bottom: solid 1px #e3e3e3;
    border-right: solid 1px #e3e3e3;
}
#year_nav ul li:first-child a {
    border-left: solid 1px #e3e3e3;
}
#month_nav ul {
    list-style: none;
    margin: 0 15px 0;
}
#month_nav ul li {
    float: left;
    width: 8%;
    margin: 0 0.15%;
    padding: 0;
    text-align: center;
}
#month_nav ul li:before {
    content: none;
}
#month_nav ul li a {
    display: block;
    padding: 8px 0;
    text-decoration: none;
    background: #eeeeee;
    border-top: solid 1px #e3e3e3;
    border-left: solid 1px #e3e3e3;
    border-right: solid 1px #e3e3e3;
}
.events_calendar_block table tr th {
    text-align: right;
    width: 70px;
}
.events_calendar_block table tr.sat th, .events_calendar_block table tr.sat td {
    background: #ebf3f9;
}
.events_calendar_block table tr.sun th, .events_calendar_block table tr.sun td {
    background: #ffeeee;
}
#main .events_calendar_block table ul li:first-child {
    margin-top: 0;
}
#year_nav ul li.current a, #year_nav ul li a:hover, #month_nav ul li.current a, #month_nav ul li a:hover {
    background: #85023e;
    color: #ffffff;
}
#main .events_calendar_block h3 {
    background: #85023e;
    color: #ffffff;
}
@media only screen and (max-width: 736px) {
    .events_calendar_block table tr th:first-child, .events_calendar_block table tr th:nth-child(2) {
        width: 50px;
    }
    #month_nav ul {
        margin: 0 0 20px;
    }
    #month_nav ul li {
        float: left;
        width: 25%;
        margin: 0;
        padding: 0;
        text-align: center;
    }
    #month_nav ul li a {
        border-left: none;
    }
    #month_nav ul {
        border-left: solid 1px #e3e3e3;
        border-bottom: solid 1px #e3e3e3;
    }
    .events_calendar_block table th span {
        margin: 0 0 0 5px;
    }
}
.events_calendar_block {
    margin: 0 0 40px;
}
#main .events_calendar_block h3 {
    margin-bottom: 0;
    padding: 23px 25px;
    font-size: 2.4rem;
}
@media screen and (max-width: 1200px) {
    #main .events_calendar_block h3 {
        font-size: 2rem !important;
        padding: 16px 25px;
    }
}
@media screen and (max-width: 736px) {
    #main .events_calendar_block h3 {
        margin-bottom: 20px;
        padding: 14px 20px;
        font-size: 1.5rem !important;
    }
}
#year_nav, #month_nav {
    overflow: hidden;
    font-family: 'Noto Sans JP', sans-serif;
}
html[lang=en] #year_nav, html[lang=en] #month_nav {
    overflow: hidden;
    font-family: 'Noto Sans', sans-serif;
}
#year_nav ul, #month_nav ul {
    border-bottom: 2px solid #85023e;
    margin-left: -2px;
    margin-right: -2px;
    margin-bottom: 0;
}
@media screen and (max-width: 736px) {
    #year_nav ul, #month_nav ul {
        margin: 0;
    }
}
#year_nav ul li, #month_nav ul li {
    width: calc(25% - 4px);
    margin: 0 2px;
    margin-bottom: -2px;
}
#year_nav ul li::before, #month_nav ul li::before {
    content: none;
}
@media screen and (max-width: 736px) {
    #year_nav ul li, #month_nav ul li {
        margin: 0 0 -2px 0;
        width: 25%;
    }
    #year_nav ul li:first-child a, #month_nav ul li:first-child a {
        border-left: solid 1px #dadada;
    }
}
#year_nav ul li a, #month_nav ul li a {
    background: #fff;
    border: 1px solid #dadada;
    color: #000000;
    font-size: 1.6rem;
    font-weight: bold;
}
@media screen and (max-width: 1200px) {
    #year_nav ul li a, #month_nav ul li a {
        font-size: 1.5rem;
    }
}
@media screen and (max-width: 736px) {
    #year_nav ul li a, #month_nav ul li a {
        border-top: solid 1px #dadada;
        border-bottom: solid 1px #dadada;
        border-right: solid 1px #dadada;
        border-left: none;
    }
}
#year_nav ul li:before, #month_nav ul li:before {
    display: none;
}
#month_nav {
    padding: 30px 10px 0 10px;
    background: #f2f2f2;
}
@media screen and (max-width: 736px) {
    #month_nav {
        margin-bottom: 20px;
        margin-top: 20px;
        background: none;
        padding: 0;
    }
}
#month_nav ul {
    border: none;
}
@media screen and (max-width: 736px) {
    #month_nav ul {
        margin: 0;
        border-bottom: solid 1px #dadada;
    }
}
#month_nav ul li {
    width: calc(8.3333333333% - 4px);
}
@media screen and (max-width: 736px) {
    #month_nav ul li {
        width: 25%;
        margin: 0;
    }
    #month_nav ul li a {
        border-bottom: none;
    }
    #month_nav ul li:nth-of-type(5) a, #month_nav ul li:nth-of-type(9) a {
        border-left: solid 1px #dadada;
    }
}
#month_nav ul li:before {
    display: none;
}
.events_calendar_block table tr th {
    text-align: center;
    font-weight: bold;
}
@media screen and (max-width: 1200px) {
    .events_calendar_block table tr th {
        font-size: 1.4rem;
    }
}
#main .events_calendar_block table tr td ul {
    list-style: none;
}
#main .events_calendar_block table tr td ul li {
    position: relative;
    padding-left: 21px;
    margin-top: 10px;
    font-size: 1.6rem;
}
@media screen and (max-width: 1200px) {
    #main .events_calendar_block table tr td ul li {
        font-size: 1.4rem;
        line-height: 21px;
    }
}
@media screen and (max-width: 736px) {
    #main .events_calendar_block table tr td ul li {
        margin-left: 15px;
    }
}
#main .events_calendar_block table tr td ul li::before {
    content: "";
    border-radius: 100%;
    background: #85023e;
    font-weight: bold;
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 15px;
    position: absolute;
    left: 0;
    top: 10px;
}
#main .events_calendar_block table tr td ul li a {
    -webkit-text-decoration-color: #85023e;
    text-decoration-color: #85023e;
}
html[lang=en] #main .events_calendar_block table tr td ul li::before {
    top: 12px;
}
.events_calendar_block table tr.sat th, .events_calendar_block table tr.sat td {
    background: #f2f2f2;
}
.events_calendar_block table tr.sun th, .events_calendar_block table tr.sun td {
    background: #f9f2f5;
}
.space-section {
    padding: 70px 0;
}
@media screen and (max-width: 1200px) {
    .space-section {
        padding: 40px 0;
    }
}
@media screen and (max-width: 736px) {
    .space-section {
        padding: 40px 0;
    }
}
.bg-pink {
    background-color: #f9f2f5;
}
.bg-gray {
    background-color: #f2f2f2;
}
.bg-white {
    background-color: #fff;
}
.bg-blue {
    background-color: #def1f1;
}
.l-container {
    width: 100%;
    min-width: auto;
    margin-inline: auto;
    padding: 0 20px;
    max-width: 1120px;
}
.page-title {
    padding: 0;
    margin: 0 0 40px;
    padding-bottom: 16px;
    letter-spacing: 6px;
    color: #000;
    text-align: center;
    position: relative;
    font-size: 3.8rem;
    line-height: 7rem;
    font-weight: 500;
    font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 1200px) {
    .page-title {
        padding-bottom: 14px;
        line-height: 1.3;
    }
}
@media screen and (max-width: 736px) {
    .page-title {
        padding: 0 15px 11px;
        letter-spacing: 5px;
        font-size: 3rem;
        margin-bottom: 20px;
    }
}
@media screen and (max-width: 374px) {
    .page-title {
        font-size: 2.6rem;
        line-height: 1.7;
    }
}
.page-title:before {
    content: none;
}
.page-title:after {
    left: 50%;
    bottom: 0;
    translate: -50% 0;
    width: 100px;
    height: 2px;
    background-color: #85023e;
    position: absolute;
    content: '';
    display: inline-block;
    top: auto;
    border-top: none;
}
.sec-title {
    letter-spacing: 5px;
    color: #85023e;
    font-weight: 500;
    text-align: center;
    font-size: 3.2rem;
    line-height: 1.2;
    font-family: 'Noto Sans JP', sans-serif;
    margin-bottom: 35px;
}
.sec-title:not(:first-child) {
    margin-top: 50px;
}
@media screen and (max-width: 736px) {
    .sec-title {
        letter-spacing: 4px;
        font-size: 2.4rem;
        margin-bottom: 10px;
    }
    .sec-title:not(:first-child) {
        margin-top: 40px;
    }
}
html[lang=en] .sec-title, html[lang=en] .page-title {
    letter-spacing: normal;
}
html[lang=en] .sec-title, html[lang=en] .page-title {
    font-family: 'Noto Sans', sans-serif;
}
.text-normal, html[lang=en] .text-normal {
    letter-spacing: 1px;
    font-size: 1.6rem;
    line-height: 2;
    color: #000;
    max-width: 850px;
    margin: 40px auto;
}
html[lang=en] .text-normal {
    letter-spacing: normal;
    font-size: 1.8rem;
}
@media screen and (max-width: 736px) {
    html[lang=en] .text-normal {
        font-size: 1.6rem;
    }
    .text-normal, html[lang=en] .text-normal {
        margin: 20px auto;
        font-size: 1.6rem;
        line-height: 1.8;
    }
    .sec-title+.text-normal, html[lang=en] .sec-title+.text-normal {
        margin-top: 20px;
        margin-bottom: 40px;
    }
}
.text-normal.full, html[lang=en] .text-normal.full {
    max-width: 100%;
    margin: 0;
}
.block-link {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
    padding-top: 35px;
}
@media screen and (min-width: 737px) {
    .block-link {
        gap: 20px 0;
    }
}
@media screen and (max-width: 1200px) {
    .block-link {
        justify-content: space-between;
    }
}
@media screen and (max-width: 736px) {
    .block-link {
        display: block;
        margin: 0;
        padding-top: 25px;
    }
}
.block-link_item, #main .block-link_item {
    width: calc(33.3333333333% - 20px);
    margin: 0 10px;
    list-style: none;
}
.block-link_item::before, #main .block-link_item::before {
    content: none;
}
@media screen and (max-width: 1200px) {
    .block-link_item {
        width: calc(50% - 20px);
    }
}
@media screen and (max-width: 736px) {
    .block-link_item {
        width: 100%;
        margin: 0 0 10px;
    }
    .block-link_item:last-child {
        margin-bottom: 0;
    }
}
.block-link_link {
    padding: 14px 40px 14px 15px;
    height: 100%;
    display: flex;
    align-items: center;
    background: url(../img/common/2023_icon_arrow06.png) no-repeat center right 20px/6px auto;
    background-color: #f2f2f2;
    border: 1px solid #f2f2f2;
    font-size: 14px;
    line-height: 1.429;
    letter-spacing: 0.9px;
    color: #000;
    text-decoration: none;
    box-sizing: border-box;
}
#main .block-link_link {
    border: 1px solid #f2f2f2;
}
html[lang=en] .block-link_link {
    letter-spacing: normal;
}
@media screen and (min-width: 737px) {
    .block-link_link:hover {
        border-color: #85023e;
        background-color: #fff;
        color: #85023e;
    }
}
@media screen and (max-width: 736px) {
    .block-link_link {
        padding: 10px 40px 8px 8px;
        background-position: center right 14px;
    }
}
#contents a.block-link_link:after {
    content: none;
}
.block-link_link.a_popup, .block-link_link.a_gaibu, .block-link_link.blank {
    background-image: url(../img/common/2023_icon_popup.png);
    background-repeat: no-repeat;
    background-position: center right 20px;
    background-size: 14px auto;
}
@media screen and (max-width: 736px) {
    .block-link_link.a_popup, .block-link_link.a_gaibu, .block-link_link.blank {
        background-image: url(../img/common/2023_icon_popup.png);
        background-repeat: no-repeat;
        background-position: center right 14px;
        background-size: 10px auto;
    }
}
.block-link_link.pdf, .block-link_link.a_xls, .block-link_link.a_doc, .block-link_link.a_ppt, .block-link_link.a_pdf {
    background-repeat: no-repeat;
    background-position: center right 20px;
    background-size: 20px auto;
}
.block-link_link.a_xls {
    background-image: url(../img/common/2023_icon_excel.png);
}
.block-link_link.a_doc {
    background-image: url(../img/common/2023_icon_word.png);
}
.block-link_link.a_ppt {
    background-image: url(../img/common/2023_icon_ppt.png);
}
.block-link_link.pdf, .block-link_link.a_pdf {
    background-image: url(../img/common/2023_icon_pdf.png);
}
@media screen and (max-width: 736px) {
    .block-link_link.pdf, .block-link_link.a_xls, .block-link_link.a_doc, .block-link_link.a_ppt, .block-link_link.a_pdf {
        background-position: center right 14px;
        background-size: 12px auto;
    }
}
.block-link-white .block-link_link, .bg-pink .imgtxt .block-link_link, .bg-gray .imgtxt .block-link_link {
    background-color: #fff;
}
.block-link_icon {
    display: grid;
    min-width: 28px;
    margin-right: 13px;
}
.block-link_icon>img {
    width: 28px;
    height: auto;
}
@media screen and (max-width: 736px) {
    .block-link_icon {
        min-width: 24px;
        margin-right: 10px;
        width: 24px;
        height: 24px;
        overflow: hidden;
    }
    .block-link_icon>img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }
}
html[lang=en] #main .block-link.col3-tablet .block-link_link {
    font-size: 1.6rem;
    line-height: 1.3;
}
@media screen and (max-width: 1200px) {
    #main .block-link.col3-tablet {
        gap: 10px 0;
    }
    #main .block-link.col3-tablet .block-link_item {
        margin: 0 5px;
        width: calc(33.3333% - 10px);
    }
    #main .block-link.col3-tablet .block-link_link {
        font-size: 1.2rem;
        line-height: 1.6rem;
    }
    html[lang=en] #main .block-link.col3-tablet .block-link_link {
        font-size: 1.4rem;
        line-height: 1.6rem;
    }
}
@media screen and (max-width: 736px) {
    #main .block-link.col3-tablet {
        gap: 0;
    }
    #main .block-link.col3-tablet .block-link_item {
        width: 100%;
        margin: 0 0 10px;
    }
}
#contents .contents_designer-contents .more-btn a {
    color: #85023e;
}
.block {
    padding-bottom: 0;
    margin-bottom: 70px;
    background-color: #fff;
}
@media screen and (max-width: 1200px) {
    .block {
        margin-bottom: 40px;
    }
}
@media screen and (max-width: 736px) {
    .block {
        margin-bottom: 20px;
    }
}
.block:last-child {
    margin-bottom: 0;
}
.block-gray, .bg-white .block {
    background-color: #f2f2f2;
}
.block_title {
    width: 100%;
    padding-top: 0;
    margin-bottom: 0;
    font-family: 'Noto Sans JP', sans-serif;
}
html[lang=en] .block_title {
    font-family: 'Noto Sans', sans-serif;
}
.block_title_link {
    padding: 25px 53px 26px 59px;
    display: block;
    position: relative;
    font-size: 2.8rem;
    line-height: 1.75;
    letter-spacing: 4px;
    font-weight: 500;
    color: #000;
    text-decoration: none;
    background: url(../img/common/2023_icon_arrow06.png) no-repeat center right 30px/12px auto;
}
html[lang=en] .block_title_link {
    letter-spacing: normal;
}
.block_title_link.a_popup {
    background-image: url(../img/common/2023_icon_popup.png);
    background-position: center right 26px;
    background-size: 24px auto;
}
.block-gray .block-link_link, .bg-white .block .block-link_link {
    background-color: #fff;
}
@media screen and (min-width: 737px) {
    a.block_title_link:hover {
        color: #85023e;
        background-color: rgba(242, 242, 242, 0.5);
    }
    .block-gray a.block_title_link:hover, .bg-white .block a.block_title_link:hover {
        background-color: rgba(255, 255, 255, 0.5);
    }
}
@media screen and (max-width: 1200px) {
    .block_title_link {
        padding: 20px 40px 20px 60px;
        background-position: center right 20px;
        background-size: 11px auto;
    }
    .block_title_link.a_popup {
        padding: 20px 55px 20px 60px;
        background-position: center right 23px;
        background-size: 22px auto;
    }
}
@media screen and (max-width: 736px) {
    .block_title_link {
        padding: 28px 40px;
        font-size: 2rem;
        line-height: 2.4rem;
    }
    .block_title_link.a_popup {
        padding: 28px 55px 28px 40px;
        background-position: center right 20px;
        background-size: 20px auto;
    }
}
.block_title_link:before {
    content: '';
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    left: 40px;
    height: 60px;
    width: 1px;
    background-color: #85023e;
}
@media screen and (max-width: 1200px) {
    .block_title_link:before {
        height: 50px;
        left: 40px;
    }
}
@media screen and (max-width: 736px) {
    .block_title_link:before {
        left: 20px;
        height: calc(100% - 44px);
    }
}
.block_title span.block_title_link {
    background-image: none;
}
@media screen and (min-width: 737px) {
    .block_title span.block_title_link:hover {
        opacity: 1;
        color: #000;
    }
}
.block_img {
    height: 250px;
    overflow: hidden;
}
.block_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
@media screen and (max-width: 736px) {
    .block_img {
        height: 120px;
    }
}
.block_texts {
    padding: 40px 100px;
    border-bottom: 1px solid #e5e5e5;
}
.block .block_texts:last-child {
    border-bottom: none;
}
.block_title+.block_texts {
    border-top: 1px solid #e5e5e5;
}
.block_texts .text-normal, html[lang=en] .block_texts .text-normal {
    margin: 0 auto;
}
@media screen and (max-width: 736px) {
    .block_texts {
        padding: 20px;
    }
    .block .block_texts:last-child .text-normal {
        margin-bottom: 0px;
    }
}
.block_wrap {
    padding: 40px 40px 30px;
}
@media screen and (max-width: 736px) {
    .block_wrap {
        padding: 20px;
    }
}
.block_wrap+.block_wrap {
    padding-top: 0;
}
.block_title+.block_wrap {
    border-top: 1px solid #e5e5e5;
}
.block_subtitle {
    margin: 0 0 40px;
    padding: 10px 10px 10px;
    border: none;
    border-top: 1px solid #85023e;
    border-bottom: 1px solid #85023e;
    color: #85023e;
    font-size: 2.2rem;
    line-height: 3.6rem;
    font-weight: 700;
    font-family: 'Noto Sans JP', sans-serif;
}
html[lang=en] .block_subtitle {
    font-family: 'Noto Sans', sans-serif;
}
.block_subtitle:last-child {
    margin-bottom: 10px;
}
@media screen and (max-width: 736px) {
    .block_subtitle {
        font-size: 1.8rem;
        line-height: 2.4rem;
        margin-bottom: 20px;
    }
    .block_subtitle:last-child {
        margin-bottom: 0;
    }
}
.block_wrap>.text-normal, html[lang=en] .block_wrap>.text-normal {
    margin-top: 0;
    margin-bottom: 40px;
}
.block_wrap>.text-normal+.text-normal, html[lang=en] .block_wrap>.text-normal+.text-normal {
    margin-top: -30px;
}
.block_wrap>.text-normal:last-child, html[lang=en] .block_wrap>.text-normal:last-child {
    margin-bottom: 10px;
}
@media screen and (max-width: 736px) {
    .block_wrap>.text-normal, html[lang=en] .block_wrap>.text-normal {
        margin-bottom: 20px;
    }
    .block_wrap>.text-normal+.text-normal, html[lang=en] .block_wrap>.text-normal+.text-normal {
        margin-top: -5px;
    }
    .block_wrap>.text-normal:last-child, html[lang=en] .block_wrap>.text-normal:last-child {
        margin-bottom: 0;
    }
}
.block_content {
    padding: 0;
    margin-bottom: 10px;
    transition: height 0.5s ease-in-out;
    overflow: hidden;
}
@media screen and (max-width: 736px) {
    .block_content {
        margin-bottom: 0;
    }
}
.block .block-link {
    margin: 0 -10px;
    max-width: 1020px;
    padding-top: 0;
}
@media screen and (max-width: 736px) {
    .block .block-link {
        margin: 0;
    }
}
.block_btn {
    margin-top: 26px;
    font-size: 1.1rem;
    letter-spacing: 2px;
    display: block;
    width: -webkit-max-content;
    width: max-content;
    margin-inline: auto;
    cursor: pointer;
}
html[lang=en] .block_btn {
    letter-spacing: 1px;
    text-transform: uppercase;
}
@media screen and (min-width: 737px) {
    .block_btn {
        padding-left: 4px;
    }
}
@media screen and (max-width: 736px) {
    .block_btn {
        margin-top: 16px;
    }
}
.block_btn.is-hide {
    display: none;
}
.block_btn:after {
    top: 4px;
    width: 15px;
    height: 15px;
    content: '';
    border-radius: 50%;
    border: 1px solid #85023e;
    display: inline-block;
    position: relative;
}
.block_btn_text {
    margin-right: 0.4em;
}
.block_btn_text:after, .block_btn_text:before {
    background-color: #85023e;
    content: '';
    position: absolute;
    top: 12px;
}
@media screen and (max-width: 736px) {
    .block_btn_text:after, .block_btn_text:before {
        top: 10px;
    }
}
.block_btn_text:before {
    right: 8px;
    height: 9px;
    width: 1px;
    top: 8px;
}
@media screen and (max-width: 736px) {
    .block_btn_text:before {
        top: 6px;
        margin-top: 2px;
    }
}
.block_btn_text:after {
    right: 4px;
    height: 1px;
    width: 9px;
}
@media screen and (max-width: 736px) {
    .block_btn_text:after {
        margin-top: 2px;
    }
}
.block_btn.is-active .block_btn_text:before {
    opacity: 0;
}
@media screen and (min-width: 737px) {
    .block_btn:hover {
        color: #85023e;
    }
}
@media screen and (max-width: 736px) {
    .block_btn:last-child {
        margin-bottom: 0;
    }
}
.block-pdf {
    background-color: #f2f2f2;
}
.block-pdf_wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px;
}
@media screen and (max-width: 736px) {
    .block-pdf_wrap {
        margin: 0 -15px;
    }
}
.block-pdf_wrap>div {
    width: 16.6666666667%;
    padding: 0 20px 40px;
}
@media screen and (max-width: 1200px) {
    .block-pdf_wrap>div {
        width: 25%;
    }
}
@media screen and (max-width: 736px) {
    .block-pdf_wrap>div {
        padding: 0 15px 20px;
        width: 33.3333%;
    }
}
.block-pdf_wrap a {
    display: block;
    text-align: center;
    text-decoration: none;
    font-size: 1.4rem;
    line-height: 1.333;
}
@media screen and (max-width: 736px) {
    .block-pdf_wrap a {
        font-size: 1.2rem;
    }
}
.block-pdf_wrap a img {
    margin-bottom: 15px;
}
@media screen and (max-width: 736px) {
    .block-pdf_wrap a img {
        margin-bottom: 10px;
    }
}
@media screen and (min-width: 737px) {
    .block-pdf_wrap a:hover {
        opacity: 0.7;
    }
}
.imgtxt {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 70px;
}
@media screen and (max-width: 1200px) {
    .imgtxt {
        margin-bottom: 40px;
    }
}
@media screen and (max-width: 736px) {
    .imgtxt {
        display: block;
    }
}
.imgtxt__img {
    display: flex;
    width: 360px;
    height: 240px;
    overflow: hidden;
}
.imgtxt__img>img {
    width: 100%;
}
@media screen and (max-width: 1200px) {
    .imgtxt__img {
        width: 25%;
        height: auto;
    }
}
@media screen and (max-width: 736px) {
    .imgtxt__img {
        width: 100%;
    }
    .imgtxt__img>img {
        width: 100%;
    }
}
.imgtxt__content {
    flex: 1;
    padding-left: 60px;
}
@media screen and (max-width: 1200px) {
    .imgtxt__content {
        padding-left: 40px;
    }
}
@media screen and (max-width: 736px) {
    .imgtxt__content {
        margin-top: 20px;
        width: 100%;
        padding-left: 0;
    }
}
.imgtxt__title {
    display: flex;
    align-items: normal;
    min-height: 60px;
    font-family: 'Noto Sans JP', sans-serif;
    margin-bottom: 10px;
}
html[lang=en] .imgtxt__title {
    font-family: 'Noto Sans', sans-serif;
}
@media screen and (max-width: 736px) {
    .imgtxt__title {
        min-height: 40px;
    }
}
.imgtxt__title_text {
    padding: 0 50px 0 20px;
    display: flex;
    align-items: center;
    width: 100%;
    position: relative;
    font-size: 2.8rem;
    line-height: 1.3;
    letter-spacing: 5px;
    font-weight: 500;
    color: #000;
    text-decoration: none;
    background: url(../img/common/2023_icon_arrow06.png) no-repeat center right 20px/11px auto;
}
html[lang=en] .imgtxt__title_text {
    letter-spacing: normal;
}
@media screen and (min-width: 737px) {
    a.imgtxt__title_text:hover {
        color: #85023e;
        background-color: #f8f8f8;
    }
}
@media screen and (max-width: 1200px) {
    .imgtxt__title_text {
        font-size: 2.4rem;
        line-height: 2.8rem;
    }
}
@media screen and (max-width: 736px) {
    .imgtxt__title_text {
        font-size: 2rem;
        line-height: 2.4rem;
    }
}
.imgtxt__title_text:before {
    content: '';
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    left: 0;
    height: 60px;
    width: 1px;
    background-color: #85023e;
}
.imgtxt__title_text.imgtxt__title_text--blue:before {
    background-color: #21aaaa;
}
@media screen and (max-width: 1200px) {
    .imgtxt__title_text:before {
        height: 100%;
    }
}
.imgtxt__title_text.a_popup, .imgtxt__title_text.a_xls, .imgtxt__title_text.a_doc, .imgtxt__title_text.a_ppt, .imgtxt__title_text.a_pdf {
    background-size: 18px auto;
}
.imgtxt__title_text.a_popup {
    background-image: url(../img/common/2023_icon_popup.png);
}
.imgtxt__title_text.a_xls {
    background-image: url(../img/common/2023_icon_excel.png);
}
.imgtxt__title_text.a_doc {
    background-image: url(../img/common/2023_icon_word.png);
}
.imgtxt__title_text.a_ppt {
    background-image: url(../img/common/2023_icon_ppt.png);
}
.imgtxt__title_text.a_pdf {
    background-image: url(../img/common/2023_icon_pdf.png);
}
.imgtxt__title span.imgtxt__title_text {
    background-image: none;
}
@media screen and (min-width: 737px) {
    .imgtxt__title span.imgtxt__title_text:hover {
        color: #000;
        opacity: 1;
        background-color: transparent;
    }
}
.imgtxt__text {
    margin-top: 20px;
}
@media screen and (max-width: 736px) {
    .imgtxt__text {
        margin-top: 15px;
        line-height: 1.8;
    }
}
.imgtxt__content .content {
    margin-top: 25px;
}
@media screen and (max-width: 736px) {
    .imgtxt__content .content {
        margin-top: 20px;
    }
}
.imgtxt .block-link {
    padding-top: 0;
}
.imgtxt .block-link_item {
    width: calc(50% - 20px);
}
@media screen and (max-width: 736px) {
    .imgtxt .block-link_item {
        width: 100%;
    }
}
.imgtxt .block-accor .content {
    transition: height 0.5s ease-in-out;
    overflow: hidden;
}
.imgtxt:last-child {
    margin-bottom: 0;
}
.relates-art {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px -40px;
}
@media screen and (max-width: 1200px) {
    .relates-art {
        margin: 0 -10px -20px;
    }
}
@media screen and (max-width: 736px) {
    .relates-art {
        margin: 0;
    }
}
.relates-art__item {
    width: 50%;
    padding: 0 20px;
    margin: 0;
    margin-bottom: 40px;
    list-style: none;
}
@media screen and (max-width: 1200px) {
    .relates-art__item {
        padding: 0 10px;
        margin-bottom: 20px;
    }
}
@media screen and (max-width: 736px) {
    .relates-art__item {
        padding: 0;
        width: 100%;
    }
    .relates-art__item:last-child {
        margin-bottom: 0;
    }
}
.relates-art__link {
    text-decoration: none;
}
.relates-art__title {
    display: flex;
    color: #000;
    background: url(../img/common/2023_icon_arrow06.png) no-repeat center right 20px/12px auto;
    background-color: #fff;
    text-decoration: none;
}
@media screen and (min-width: 737px) {
    .relates-art__title:hover {
        background-color: #f8f8f8;
    }
}
@media screen and (max-width: 1200px) {
    .relates-art__title {
        background-position: center right 15px;
        background-size: 8px auto;
    }
}
@media screen and (max-width: 736px) {
    .relates-art__title {
        background-size: 6px auto;
    }
}
.relates-art__title.a_popup {
    background-image: url(../img/common/2023_icon_popup.png);
    background-position: center right 20px;
    background-size: 18px auto;
}
@media screen and (max-width: 1200px) {
    .relates-art__title.a_popup {
        background-position: center right 15px;
        background-size: 16px auto;
    }
}
@media screen and (max-width: 736px) {
    .relates-art__title.a_popup {
        background-position: center right 15px;
        background-size: 13px auto;
    }
}
.bg-white .relates-art__title {
    background-color: #f2f2f2;
}
@media screen and (min-width: 737px) {
    .bg-white .relates-art__title:hover {
        background-color: #f8f8f8;
    }
    .relates-art__title:hover {
        color: #85023e;
    }
}
.relates-art__img {
    width: 150px;
    display: flex;
    aspect-ratio: 3/2;
}
@media screen and (max-width: 1200px) {
    .relates-art__img {
        width: 100px;
    }
}
@media screen and (max-width: 736px) {
    .relates-art__img {
        width: 80px;
    }
}
.relates-art__img img {
    -o-object-fit: cover;
    object-fit: cover;
}
.relates-art__txt {
    flex: 1;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.15em;
    font-weight: 500;
    padding: 15px 72px 15px 15px;
    display: flex;
    align-items: center;
    min-height: 46px;
}
html[lang=en] .relates-art__txt {
    font-size: 2.2rem;
    letter-spacing: normal;
}
@media screen and (max-width: 1200px) {
    .relates-art__txt {
        font-size: 1.6rem;
        line-height: 1.25;
        padding: 10px 48px 10px 10px;
    }
    html[lang=en] .relates-art__txt {
        font-size: 2rem;
        line-height: 1.5;
    }
}
@media screen and (max-width: 736px) {
    .relates-art__txt {
        font-size: 1.4rem;
        padding: 10px 30px 10px 10px;
        min-height: 33px;
    }
    html[lang=en] .relates-art__txt {
        font-size: 1.8rem;
    }
}
.relates-art__text {
    display: block;
    font-size: 1.6rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
    color: #000;
    margin-top: 20px;
}
html[lang=en] .relates-art__text {
    letter-spacing: normal;
}
@media screen and (max-width: 736px) {
    .relates-art__text {
        font-size: 1.4rem;
        margin-top: 15px;
    }
    html[lang=en] .relates-art__text {
        font-size: 1.6rem;
    }
}
.res-overview {
    display: flex;
    flex-wrap: wrap;
    font-family: 'Noto Sans', sans-serif;
    margin: 0 -10px -20px;
}
@media screen and (max-width: 736px) {
    .res-overview {
        display: block;
        margin: 0;
    }
}
.res-overview__item {
    width: 50%;
    padding: 0 10px;
    margin-bottom: 20px;
}
@media screen and (max-width: 736px) {
    .res-overview__item {
        width: 100%;
        margin-bottom: 10px;
        padding: 0;
    }
    .res-overview__item:last-child {
        margin-bottom: 0;
    }
}
.res-overview__item:nth-child(1) .res-overview__text {
    background: #774626;
}
.res-overview__item:nth-child(2) .res-overview__text {
    background: #aa2027;
}
.res-overview__item:nth-child(3) .res-overview__text {
    background: #ff8565;
}
.res-overview__item:nth-child(4) .res-overview__text {
    background: #1b6266;
}
.res-overview__item:nth-child(5) .res-overview__text {
    background: #63aed9;
}
.res-overview__item:nth-child(6) .res-overview__text {
    background: #903c7a;
}
.res-overview__item:nth-child(7) .res-overview__text {
    background: #3d4695;
}
.res-overview__item:nth-child(8) .res-overview__text {
    background: #5e6708;
}
.res-overview__link {
    display: flex;
    text-decoration: none;
    height: 170px;
    overflow: hidden;
    transition: 0.2s ease-in-out;
}
@media screen and (max-width: 1200px) {
    .res-overview__link {
        height: 98px;
    }
}
@media screen and (max-width: 736px) {
    .res-overview__link {
        height: 84px;
    }
}
@media screen and (min-width: 737px) {
    .res-overview__link:hover {
        opacity: 0.8;
    }
}
.res-overview__text {
    display: flex;
    align-items: center;
    width: 170px;
    padding: 0 20px 0 10px;
    font-size: 1.8rem;
    line-height: 24px;
    color: #fff;
    font-weight: bold;
}
@media screen and (max-width: 1200px) {
    .res-overview__text {
        font-size: 1.4rem;
        line-height: 17px;
        width: 116px;
        padding: 0 10px;
    }
}
@media screen and (max-width: 736px) {
    .res-overview__text {
        line-height: 15px;
        width: 102px;
        padding: 0 5px;
    }
}
.res-overview__img {
    height: 100%;
    flex: 1;
}
.res-overview__img img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
.researchers {
    display: flex;
    font-family: 'Noto Sans', sans-serif;
    margin: 0 -10px;
}
@media screen and (max-width: 1200px) {
    .researchers {
        flex-wrap: wrap;
        margin: 0 -10px -17px;
    }
}
@media screen and (max-width: 736px) {
    .researchers {
        margin: 0;
    }
}
.researchers__item {
    width: 33.3333333333%;
    padding: 0 10px;
}
@media screen and (max-width: 1200px) {
    .researchers__item {
        width: 50%;
        margin-bottom: 17px;
    }
}
@media screen and (max-width: 736px) {
    .researchers__item {
        width: 100%;
        margin-bottom: 10px;
        padding: 0;
    }
    .researchers__item:last-child {
        margin-bottom: 0;
    }
}
.researchers__link {
    display: block;
    text-decoration: none;
    background: #f2f2f2;
    height: 100%;
}
@media screen and (min-width: 737px) {
    .researchers__link:hover {
        background: #f8f8f8;
    }
    .researchers__link:hover .researchers__title {
        color: #85023E;
    }
}
.researchers__content {
    padding: 10px 20px 20px;
    display: block;
    box-sizing: border-box;
}
@media screen and (max-width: 1200px) {
    .researchers__content {
        padding: 15px 20px 20px;
    }
}
@media screen and (max-width: 736px) {
    .researchers__content {
        padding: 15px 20px 20px;
    }
}
.researchers__cat {
    font-size: 1.1rem;
    line-height: 20px;
    color: #85023e;
    border: 1px solid #85023e;
    border-radius: 10px;
    padding: 0 10px;
    max-width: -webkit-max-content;
    max-width: max-content;
}
.researchers__cat+.researchers__title {
    margin-top: 16px;
}
.researchers__title {
    font-size: 1.6rem;
    line-height: 20.8px;
    font-weight: bold;
    color: #000;
    display: block;
}
.researchers__title+.researchers__text {
    margin-top: 12px;
}
.researchers__text {
    font-size: 1.4rem;
    line-height: 18.2px;
    color: #000;
    display: block;
}
.researchers__img {
    display: flex;
}
@media screen and (max-width: 736px) {
    .researchers__img img {
        width: 100%;
    }
}
.targ-imgFl {
    overflow: hidden;
    margin-bottom: 60px;
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 1200px) {
    .targ-imgFl {
        overflow: initial;
    }
}
@media screen and (max-width: 736px) {
    .targ-imgFl {
        margin-bottom: 30px;
    }
}
.targ-imgFl.left .targ-imgFl__image {
    margin-left: calc(-1 * (100vw - 1280px) / 2);
    order: 1;
}
@media screen and (max-width: 1200px) {
    .targ-imgFl.left .targ-imgFl__image {
        margin-left: 0;
    }
}
@media screen and (max-width: 736px) {
    .targ-imgFl.left .targ-imgFl__image {
        margin-left: -20px;
    }
}
.targ-imgFl.left .targ-imgFl__content {
    margin-left: -70px;
    padding: 0 0 70px 120px;
    order: 2;
}
.targ-imgFl.left .targ-imgFl__content::after {
    left: 0;
    right: -20px;
}
@media screen and (max-width: 736px) {
    .targ-imgFl.left .targ-imgFl__content::after {
        left: -40px;
        right: 0px;
    }
}
@media screen and (max-width: 1200px) {
    .targ-imgFl.left .targ-imgFl__content {
        padding: 0 0 70px 90px;
        margin-left: auto;
        margin-top: -100px;
        padding: 120px 50px 40px 100px;
    }
}
@media screen and (max-width: 736px) {
    .targ-imgFl.left .targ-imgFl__content {
        margin-left: auto;
        margin-right: -20px;
        margin-top: -56px;
        padding: 70px 20px 20px 0;
    }
}
@media screen and (max-width: 1200px) {
    .targ-imgFl.left+.targ-imgFl.right {
        margin-top: 104px;
    }
}
@media screen and (max-width: 736px) {
    .targ-imgFl.left+.targ-imgFl.right {
        margin-top: 64px;
    }
}
@media screen and (max-width: 1200px) {
    .targ-imgFl.left+.targ-imgFl.left {
        margin-top: 40px;
    }
}
@media screen and (max-width: 736px) {
    .targ-imgFl.left+.targ-imgFl.left {
        margin-top: 20px;
    }
}
.targ-imgFl.right .targ-imgFl__image {
    margin-right: calc(-1 * (100vw - 1280px) / 2);
    order: 2;
}
@media screen and (max-width: 1200px) {
    .targ-imgFl.right .targ-imgFl__image {
        margin-right: -20px;
        margin-top: -125px;
        margin-left: auto;
    }
}
@media screen and (max-width: 736px) {
    .targ-imgFl.right .targ-imgFl__image {
        margin-top: -56px;
    }
}
.targ-imgFl.right .targ-imgFl__content {
    margin-right: -70px;
    padding: 0 120px 70px 0;
    order: 1;
}
.targ-imgFl.right .targ-imgFl__content::after {
    right: 0;
    left: -20px;
}
@media screen and (max-width: 736px) {
    .targ-imgFl.right .targ-imgFl__content::after {
        right: -20px;
        left: -20px;
    }
}
@media screen and (max-width: 1200px) {
    .targ-imgFl.right .targ-imgFl__content {
        padding: 0 90px 70px 0;
        margin-right: auto;
        padding: 0 100px 155px 50px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }
}
@media screen and (max-width: 736px) {
    .targ-imgFl.right .targ-imgFl__content {
        padding: 0 20px 77px 0;
    }
}
@media screen and (max-width: 1200px) {
    .targ-imgFl.right .targ-imgFl__title {
        margin-top: -30px;
    }
}
@media screen and (max-width: 736px) {
    .targ-imgFl.right .targ-imgFl__title {
        margin-top: -46px;
    }
    .targ-imgFl.right .targ-imgFl__title.one-line {
        margin-top: -20px;
    }
}
.targ-imgFl__inner {
    display: flex;
}
@media screen and (max-width: 1200px) {
    .targ-imgFl__inner {
        flex-wrap: wrap;
    }
}
.targ-imgFl__image {
    position: relative;
    z-index: 2;
    width: 50vw;
    max-width: 800px;
}
.targ-imgFl__image img {
    width: 100%;
}
@media screen and (max-width: 1200px) {
    .targ-imgFl__image {
        width: 62.5%;
    }
}
@media screen and (max-width: 736px) {
    .targ-imgFl__image {
        width: calc(75% + 20px);
    }
}
.targ-imgFl__content {
    width: calc(50% + 160px);
    margin-top: 150px;
    position: relative;
}
.targ-imgFl__content::after {
    content: '';
    position: absolute;
    top: 0;
    width: calc(100% + (100vw - 1080px) / 2);
    height: 100%;
    background: #def1f1;
    z-index: -1;
}
@media screen and (max-width: 1200px) {
    .targ-imgFl__content::after {
        width: auto;
    }
    .targ-imgFl__content {
        width: 83.33%;
        margin-top: 0;
    }
}
@media screen and (max-width: 736px) {
    .targ-imgFl__content {
        width: calc(100% - 20px);
    }
}
.targ-imgFl__title {
    font-size: 5rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    line-height: 65px;
    color: #21aaaa;
    margin: -40px 0 15px;
    font-family: 'Noto Sans JP', sans-serif;
}
html[lang=en] .targ-imgFl__title {
    font-family: 'Noto Sans', sans-serif;
    letter-spacing: normal;
}
@media screen and (max-width: 1200px) {
    .targ-imgFl__title {
        font-size: 3.8rem;
        line-height: 45.5px;
        margin: 0 0 15px;
    }
}
@media screen and (max-width: 736px) {
    .targ-imgFl__title {
        font-size: 2.5rem;
        line-height: 30px;
        margin: 0 0 10px;
    }
}
.targ-imgFl__text {
    font-size: 1.6rem;
    line-height: 32px;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 1200px) {
    .targ-imgFl__text {
        font-size: 1.4rem;
        line-height: 28px;
    }
}
html[lang=en] .targ-imgFl__text {
    letter-spacing: normal;
}
.targ-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    background: url(../img/common/2023_icon_arrow08.png) no-repeat;
    background-position: center right 20px;
    background-size: 5px 10px;
    background-color: #fff;
    font-size: 1.4rem;
    line-height: 20px;
    letter-spacing: 0.05em;
    padding: 14px 38px 14px 18px;
    border: 1px solid #fff;
    transition: 0.2s ease-in-out;
}
html[lang=en] .targ-link {
    letter-spacing: normal;
}
@media screen and (min-width: 737px) {
    .targ-link:hover {
        border-color: #21aaaa;
        color: #21aaaa;
    }
}
@media screen and (max-width: 736px) {
    .targ-link {
        font-size: 1.2rem;
        line-height: 18px;
        padding: 11px 35px 11px 15px;
        background-position: center right 15px;
    }
}
.targ-link.bg-gray, .targ-link.bg-gray.a_popup, .targ-link.bg-gray.a_pdf {
    background-color: #f2f2f2;
}
.targ-link.a_popup {
    background-image: url(../img/common/2023_icon_popup01.png);
    background-size: 14px 14px;
}
@media screen and (max-width: 736px) {
    .targ-link.a_popup {
        background-size: 13px 13px;
        background-position: center right 15px;
    }
}
.targ-link.a_pdf {
    background-image: url(../img/common/2023_icon_pdf.png);
    background-size: 20px 25px;
    background-position: center right 16px;
}
@media screen and (max-width: 736px) {
    .targ-link.a_pdf {
        background-size: 12px 15px;
        background-position: center right 15px;
    }
}
.targ-lstLink {
    margin: 25px -10px -20px;
    display: flex;
    flex-wrap: wrap;
}
.targ-lstLink .targ-link {
    margin: 0 10px 20px;
    width: calc(50% - 80px);
}
@media screen and (max-width: 736px) {
    .targ-lstLink .targ-link {
        margin: 0 0 10px;
        width: auto;
    }
    .targ-lstLink .targ-link:last-child {
        margin-bottom: 0;
    }
    .targ-lstLink {
        display: block;
        margin: 15px 0 0;
    }
}
.targ-artc {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -40px -50px;
}
@media screen and (max-width: 1200px) {
    .targ-artc {
        margin: 0 -20px -20px;
    }
}
@media screen and (max-width: 736px) {
    .targ-artc {
        display: block;
        margin: 0;
    }
}
.targ-artc__item {
    width: 50%;
    padding: 0 40px;
    margin-bottom: 50px;
}
@media screen and (max-width: 1200px) {
    .targ-artc__item {
        padding: 0 20px;
        margin-bottom: 20px;
    }
}
@media screen and (max-width: 736px) {
    .targ-artc__item {
        width: 100%;
        padding: 0;
    }
    .targ-artc__item:last-child {
        margin-bottom: 0;
    }
}
.targ-artc__img {
    display: flex;
}
.targ-artc__img>img {
    width: 100%;
}
.targ-artc__content {
    padding: 20px 0;
}
@media screen and (max-width: 736px) {
    .targ-artc__content {
        padding: 10px 0;
    }
}
.targ-artc__title {
    font-size: 2.8rem;
    line-height: 36px;
    letter-spacing: 0.15em;
    font-weight: 500;
    color: #21aaaa;
    font-family: 'Noto Sans JP', sans-serif;
}
html[lang=en] .targ-artc__title {
    font-family: 'Noto Sans', sans-serif;
    letter-spacing: normal;
}
@media screen and (max-width: 736px) {
    .targ-artc__title {
        font-size: 2rem;
        line-height: 24px;
    }
}
.targ-artc__text {
    font-size: 1.6rem;
    line-height: 32px;
    letter-spacing: 0.05em;
    margin-top: 20px;
}
@media screen and (max-width: 736px) {
    .targ-artc__text {
        font-size: 1.4rem;
        line-height: 28px;
        margin-top: 10px;
    }
    .targ-artc .targ-lstLink .targ-link {
        width: auto;
        margin: 0 0 10px;
    }
}
.table_list .contents_designer-contents.file_up {
    margin-top: 10px;
}
@media screen and (max-width: 736px) {
    .table_list .contents_designer-contents.file_up {
        margin-top: 0;
    }
}
#btn_pagetop {
    display: none;
    position: relative;
    position: fixed;
    right: 0;
    bottom: 0;
    width: 45px;
    height: 45px;
    background: #85023E;
    cursor: pointer;
    opacity: 1;
    visibility: visible;
    z-index: 1000;
}
#btn_pagetop:before {
    content: '';
    position: absolute;
    top: 80%;
    left: 50%;
    width: 20px;
    height: 20px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translate(-50%, -80%) rotate(-45deg);
    box-sizing: border-box;
}
#btn_pagetop.in-active {
    opacity: 1;
    visibility: visible;
}
@media screen and (max-width: 736px) {
    #btn_pagetop {
        right: 6px;
        bottom: 6px;
        width: 34px;
        height: 34px;
        z-index: 1000;
    }
    #btn_pagetop:before {
        top: 70%;
        width: 14px;
        height: 14px;
        transform: translate(-50%, -70%) rotate(-45deg);
    }
}
#contents a, .l-container a {
    transition: 0.2s ease-in-out;
}
.u-device-sp {
    display: none;
}
@media screen and (max-width: 736px) {
    .u-device-sp {
        display: block;
    }
    .u-device-pc {
        display: none;
    }
}
@-webkit-keyframes animation {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}
@keyframes animation {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}
.common_style {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.1rem;
    color: #000;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
}
.common_style a {
    color: #000;
    outline: none;
    transition: 0.4s;
}
.common_style a:link {
    text-decoration: none;
}
.common_style.en {
    font-family: 'Noto Sans', sans-serif;
    letter-spacing: normal;
}
#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 15999;
    border-bottom: 2px solid #85023e;
}
#header * {
    position: static;
    color: #000;
    box-sizing: content-box;
}
#header img {
    display: block;
}
#header .head {
    background: #151515;
}
#header .head .inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: 1600px;
    min-width: 1024px;
    margin: auto;
}

/* SNS-LOGO 2024 */
#header .head .inner .sns-link {
    display: grid;
    grid-template-columns: repeat(5,24px);
    gap:8px;
    margin-inline-end:18px;
}
/* SNS-LOGO 2024 */

#header .head .menu {
    display: flex;
    margin: 0 20px 0 0;
}
#header .head .menu li {
    margin: 0 20px 0 0;
}
#header .head .menu li:last-child {
    margin: 0;
}
#header .head .menu a {
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
}
#header .head .menu a:hover {
    opacity: 1;
    text-decoration: underline;
}
#header .head .view {
    display: flex;
    align-items: center;
    margin: 0 15px 0 0;
}
#header .head .view p {
    position: relative;
    font-size: 1.2rem;
    color: #fff;
    padding: 0 0 0 20px;
    margin: 0 5px 0 0;
}
#header .head .view p:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 15px;
    height: 10px;
    background: url(../img/header_common/icon_view.png)/cover;
    margin: auto;
}
#header .head .view ul {
    display: flex;
}
#header .head .view li.in-active a {
    color: #000;
    background: #fff;
    border: 1px solid #fff;
}
#header .head .view a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 18px;
    font-size: 1.1rem;
    font-weight: bold;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.4);
}
#header .head .lang {
    display: flex;
    margin: 0 15px 0 0;
}
#header .head .lang li {
    position: relative;
}
#header .head .lang li:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 1px;
    height: 12px;
    background: rgba(255, 255, 255, 0.4);
    margin: auto;
}
#header .head .lang li:last-child:before {
    content: none;
}
#header .head .lang li.in-active a {
    font-weight: normal;
    color: rgba(255, 255, 255, 0.4);
    pointer-events: none;
}
#header .head .lang a {
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    margin: 0 5px;
}
#header .head .search {
    display: flex;
    width: 200px;
    height: 35px;
    background: rgba(96, 96, 96, 0.6);
}
#header .head .search form input {
    vertical-align: top;
}
#header .head .search input[type=search] {
    font-size: 1.1rem;
    width: 165px;
    height: 100%;
    color: #fff;
    background: none;
    padding: 10px 10px 10px 15px;
    border: none;
    outline: none;
    box-sizing: border-box;
}
#header .head .search input[type=search]::-webkit-input-placeholder {
    color: #c0c0c0;
}
#header .head .search input[type=search]:-ms-input-placeholder {
    color: #c0c0c0;
}
#header .head .search input[type=search]::placeholder {
    color: #c0c0c0;
}
#header .head .search input[type=search]::-webkit-search-cancel-button {
    width: 10px;
    height: 10px;
    background: url(../img/header_common/icon_cancel.png)/cover;
    -webkit-appearance: none;
    appearance: none;
}
#header .head .search input[type=submit] {
    width: 30px;
    background: url(../img/header_common/icon_search.png) no-repeat center/15px;
    padding: 10px 15px;
    border: none;
    box-sizing: border-box;
}
#header .body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1600px;
    min-width: 1024px;
    padding: 20px 2.69% 0;
    margin: auto;
}

/* VISION2030-LOGO */
#header .body .logo-inner{
    display:grid;
    grid-template-columns: 1fr 165px;
    gap:15px;
}
/* // VISION2030-LOGO */

#header .body .logo {
    padding: 0 0 20px;
}
#header .body .logo a {
    display: block;
    width: 170px;
    transition: none;
}
#header .body .menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0 0 20px;
}
#header .body .menu ul {
    display: flex;
    margin: 0 20px 0 0;
}
#header .body .menu ul li {
    margin: 0 14px 0 0;
}
#header .body .menu ul li:last-child {
    margin: 0;
}
#header .body .menu ul a {
    display: block;
    font-size: 1.2rem;
}
#header .body .menu p {
    flex: none;
}
#header .body .menu p a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    width: 100%;
    height: 25px;
    font-size: 1.2rem;
    color: #fff;
    background: #85023e;
    padding: 0 5px;
    box-sizing: border-box;
}
#header .body .navi {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}
#header .body .navi>ul {
    display: flex;
    margin: 0 0 0 20px;
}
#header .body .navi>ul:first-child {
    margin: 0;
}
#header .body .navi>ul>li {
    margin: 0 20px 0 0;
}
#header .body .navi>ul>li:last-child {
    margin: 0;
}
#header .body .navi>ul>li.in-active>a {
    color: #85023e;
}
#header .body .navi>ul>li.in-active>a:before {
    opacity: 1;
}
#header .body .navi>ul>li>a {
    position: relative;
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 0 0 20px;
}
#header .body .navi>ul>li>a:before {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-width: 0 5px 8px 5px;
    border-color: transparent transparent #000000 transparent;
    opacity: 0;
    z-index: 3;
    transition: 0.4s;
}
#header .body .navi>ul>li>a:hover {
    opacity: 1;
    color: #85023e;
}
#header .body .navi>ul>li .drawer {
    position: absolute;
    display: none;
    left: 0;
    width: 100%;
    background: #151515;
    padding: 40px 4.69%;
    border-top: 2px solid #85023e;
    z-index: 2;
    box-sizing: border-box;
}
#header .body .navi>ul>li .drawer .inner {
    display: flex;
    align-items: flex-start;
    width: 920px;
    margin: auto;
}
#header .body .navi>ul>li .drawer .content01 {
    padding: 0 30px 0 0;
    box-sizing: border-box;
}
#header .body .navi>ul>li .drawer .content01 a {
    display: block;
}
#header .body .navi>ul>li .drawer .content01 span {
    display: block;
    color: #fff;
    margin: 4px 0 0;
}
#header .body .navi>ul>li .drawer .content02 {
    display: flex;
    flex-wrap: wrap;
    padding: 0 30px 0 0;
    margin: 0 -15px -18px;
    box-sizing: border-box;
}
#header .body .navi>ul>li .drawer .content02 li {
    width: 160px;
    padding: 0 15px 18px;
}
#header .body .navi>ul>li .drawer .content02 a {
    display: block;
}
#header .body .navi>ul>li .drawer .content02 span {
    display: block;
    color: #fff;
    margin: 4px 0 0;
}
#header .body .navi>ul>li .drawer .content03 {
    display: flex;
}
#header .body .navi>ul>li .drawer .content03 ul {
    margin: 0 30px 0 0;
}
#header .body .navi>ul>li .drawer .content03 ul:last-child {
    margin: 0;
}
#header .body .navi>ul>li .drawer .content03 li {
    margin: 0 0 12px;
}
#header .body .navi>ul>li .drawer .content03 li:last-child {
    margin: 0;
}
#header .body .navi>ul>li .drawer .content03 a {
    display: block;
    color: #fff;
}
#header .body .navi>ul>li .drawer #layout01 .content01 {
    width: 200px;
}
#header .body .navi>ul>li .drawer #layout01 .content02 {
    width: 600px;
}
#header .body .navi>ul>li .drawer #layout01 .content03 {
    width: 150px;
}
#header .body .navi>ul>li .drawer #layout02 .content02 {
    width: auto;
    padding: 0;
}
#header .body .navi>ul>li .drawer .layout03 .content02 {
    width: 600px;
}
#header .body .navi>ul>li .drawer .layout03 .content03 {
    flex: 1;
}
#header .body .navi>ul>li .drawer .layout04 .content02 {
    width: 790px;
}
#header .body .navi>ul>li .drawer .layout04 .content03 {
    flex: 1;
}
#header.en .body .menu ul a {
    font-size: 1.3rem;
}
#header.en .body .menu p a {
    font-size: 1.3rem;
}
#header.en .body .navi>ul:nth-child(2) {
    margin: 0 0 0 30px;
}
#header.en .body .navi>ul>li {
    margin: 0 30px 0 0;
}
#header.en .body .navi>ul>li:last-child {
    margin: 0;
}
#header.en .body .navi>ul>li>a {
    font-size: 1.8rem;
}
@media only screen and (max-width: 1200px) {
    #header .body .navi>ul:nth-child(1) {
        display: none;
    }
    #header.en .body .navi>ul:nth-child(1) {
        display: flex;
    }
    #header .body {
        box-sizing: border-box;
    }
    #header {
        display: none;
    }
}
#header_sp {
    display: none;
}
@media screen and (max-width: 1200px) {
    #header_sp {
        position: fixed;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 15999;
        border-bottom: 1px solid #85023e;
    }
    #header_sp .head {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: #fff;
        z-index: 1;
        transition: 0.4s;
    }

    /*  VISION2030-LOGO */
    #header_sp .head .logo-inner{
        display: grid;
        grid-template-columns: 1fr 130px;
        gap:8px;
    }

    #header_sp .head .logo-inner .logo-vision2030{
        padding-block-start: 18px;
    }
    /* // VISION2030-LOGO */

    #header_sp .head .logo {
        padding: 18px 30px 16px;
    }
    #header_sp .head .logo a {
        position: relative;
        display: block;
        width: 132.65px;
        line-height: 0;
    }
    #header_sp .head .logo img:last-child {
        position: absolute;
        top: 0;
        left: 0;
        transition: 0.4s;
    }
    #header_sp .head .menu {
        display: flex;
        align-items: center;
    }
    #header_sp .head .lang {
        display: flex;
        margin: 0 10px 0 0;
    }
    #header_sp .head .lang li {
        position: relative;
    }
    #header_sp .head .lang li:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 1px;
        height: 12px;
        background: rgba(0, 0, 0, 0.4);
        margin: auto;
    }
    #header_sp .head .lang li:last-child:before {
        content: none;
    }
    #header_sp .head .lang li.in-active a {
        font-weight: normal;
        color: rgba(0, 0, 0, 0.4);
        pointer-events: none;
    }
    #header_sp .head .lang a {
        display: block;
        font-size: 1.4rem;
        font-weight: bold;
        margin: 0 8px;
    }
    #header_sp .head .hum {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 70px;
        height: 70px;
        background: #000;
    }
    #header_sp .head .hum span {
        display: block;
        width: 36px;
        height: 3px;
        background: #fff;
        transition: 0.4s;
    }
    #header_sp .head .hum span:nth-child(2) {
        margin: 9px 0;
    }
    #header_sp .body {
        position: fixed;
        top: 70px;
        left: 0;
        width: 100%;
        height: calc(100vh - 70px);
        background: #000;
        z-index: 2;
        visibility: hidden;
        overflow-y: scroll;
        opacity: 0;
        transition: 0.4s;
    }
    #header_sp .body .search {
        padding: 15px 10px;
        border-top: 1px solid #696969;
        border-bottom: #696969 1px solid;
    }
    #header_sp .body .search div {
        display: flex;
        height: 60px;
        background: #fff;
    }
}
@media only screen and (max-width: 1200px) and (max-width: 736px) {
    #header_sp .body .search div {
        height: 44px;
    }
}
@media screen and (max-width: 1200px) {
    #header_sp .body .search input[type=search] {
        font-size: 1.5rem;
        width: 100%;
        height: 100%;
        color: #000;
        background: none;
        padding: 10px 10px 10px 15px;
        border: none;
        outline: none;
    }
    #header_sp .body .search input[type=search]::-webkit-input-placeholder {
        color: #000;
        font-weight: bold;
    }
    #header_sp .body .search input[type=search]:-ms-input-placeholder {
        color: #000;
        font-weight: bold;
    }
    #header_sp .body .search input[type=search]::placeholder {
        color: #000;
        font-weight: bold;
    }
    #header_sp .body .search input[type=search]::-webkit-search-cancel-button {
        width: 10px;
        height: 10px;
        background: url(../img/header_common/icon_cancel.png)/cover;
        -webkit-appearance: none;
        appearance: none;
    }
    #header_sp .body .search input[type=submit] {
        width: 50px;
        background: url(../img/header_common/search_renew.svg) no-repeat center/26px;
        padding: 10px 20px;
        border: none;
    }
}
@media only screen and (max-width: 1200px) and (max-width: 736px) {
    #header_sp .body .search input[type=submit] {
        background: url(../img/header_common/search_renew.svg) no-repeat center/20px;
    }
}
@media screen and (max-width: 1200px) {
    #header_sp .body .menu {
        display: flex;
        flex-wrap: wrap;
        border-bottom: #696969 1px solid;
        margin: 0 18px;
        padding: 10px 0;
    }
}
@media screen and (max-width: 1200px) and (max-width: 736px) {
    #header_sp .body .menu {
        margin: 0 20px;
    }
}
@media screen and (max-width: 1200px) {
    #header_sp .body .menu li {
        width: 25%;
    }
    #header_sp .body .menu a {
        display: block;
        font-size: 14px;
        font-weight: bold;
        color: #fff;
        padding: 10px 0;
    }
}
@media screen and (max-width: 1200px) and (max-width: 736px) {
    #header_sp .body .menu a {
        font-size: 12px;
    }
}
@media screen and (max-width: 1200px) {
    #header_sp .body .menu li.current a {
        display: inline-block;
        background: #85023e;
        margin: 4px 0;
        padding: 6px;
        box-sizing: border-box;
    }
    #header_sp .body .student {
        display: flex;
        flex-wrap: wrap;
        padding: 10px 5.33%;
        border-top: 1px solid rgba(96, 96, 96, 0.6);
    }
    #header_sp .body .student li {
        width: 50%;
    }
    #header_sp .body .student a {
        display: block;
        font-size: 1.3rem;
        color: #fff;
        padding: 10px 0;
    }
    #header_sp .body .about {
        padding: 10px 5.33% 100px;
        border-top: 1px solid rgba(96, 96, 96, 0.6);
    }
    #header_sp .body .about ul {
        margin: 0 0 10px;
    }
    #header_sp .body .about ul a {
        display: block;
        font-size: 1.1rem;
        font-weight: bold;
        color: #fff;
        padding: 10px 0;
    }
    #header_sp .body .about p a {
        display: inline-block;
        font-size: 1.2rem;
        color: #fff;
        background: #85023e;
        padding: 6px;
        box-sizing: border-box;
    }
    #header_sp.in-active .head {
        background: #000;
    }
    #header_sp.in-active .head .logo img:last-child {
        opacity: 0;
    }
    #header_sp.in-active .head .lang li:before {
        background: rgba(255, 255, 255, 0.4);
    }
    #header_sp.in-active .head .lang li.in-active a {
        color: rgba(255, 255, 255, 0.4);
    }
    #header_sp.in-active .head .lang a {
        color: #fff;
    }
    #header_sp.in-active .head .hum span:nth-child(1) {
        -webkit-transform: rotate(-45deg) translateY(1.5px);
        transform: rotate(-45deg) translateY(1.5px);
    }
    #header_sp.in-active .head .hum span:nth-child(2) {
        display: none;
    }
    #header_sp.in-active .head .hum span:nth-child(3) {
        -webkit-transform: rotate(45deg) translateY(-1.5px);
        transform: rotate(45deg) translateY(-1.5px);
    }
    #header_sp.in-active .body {
        opacity: 1;
        visibility: visible;
    }
    #header_sp .body .accordion_action .accordion_action_ttl>a, #header_sp .body .accordion_action .accordion_action_ttl>span.nolink {
        display: block;
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        border-bottom: #696969 1px solid;
        padding: 17px 5px 18px 20px;
        margin-right: 60px;
        box-sizing: border-box;
    }
}
@media screen and (max-width: 1200px) and (max-width: 736px) {
    #header_sp .body .accordion_action .accordion_action_ttl>a, #header_sp .body .accordion_action .accordion_action_ttl>span.nolink {
        font-size: 14px;
        padding: 14px 5px 14px 20px;
        margin-right: 50px;
    }
    #header_sp .body .accordion_action .accordion_action_ttl>a.nobtn, #header_sp .body .accordion_action .accordion_action_ttl>span.nolink.nobtn {
        padding: 14px 20px 14px 20px;
        margin-right: 0;
    }
}
@media screen and (max-width: 1200px) {
    #header_sp .body .accordion_action .accordion_action_ttl>span.open, #header_sp .body .accordion_action .accordion_action_ttl>span.close {
        display: block;
        width: 60px;
        height: 100%;
        border-bottom: #696969 1px solid;
        position: absolute;
        top: 0;
        right: 0;
        box-sizing: border-box;
        cursor: pointer;
    }
}
@media screen and (max-width: 1200px) and (max-width: 736px) {
    #header_sp .body .accordion_action .accordion_action_ttl>span.open, #header_sp .body .accordion_action .accordion_action_ttl>span.close {
        width: 50px;
    }
}
@media screen and (max-width: 1200px) {
    #header_sp .body .accordion_action .accordion_action_ttl>span.open::after, #header_sp .body .accordion_action .accordion_action_ttl>span.close::after {
        content: "";
        display: block;
        width: 60px;
        height: 100%;
        position: absolute;
        right: 0;
        top: 50%;
        border-left: #696969 1px solid;
        box-sizing: border-box;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
}
@media screen and (max-width: 1200px) and (max-width: 736px) {
    #header_sp .body .accordion_action .accordion_action_ttl>span.open::after, #header_sp .body .accordion_action .accordion_action_ttl>span.close::after {
        width: 50px;
        height: 100%;
    }
}
@media screen and (max-width: 1200px) {
    #header_sp .body .accordion_action .accordion_action_ttl>span.open.open::after, #header_sp .body .accordion_action .accordion_action_ttl>span.close.open::after {
        background: url(../img/header_common/header_sp_off.svg) no-repeat center center/100% auto;
    }
    #header_sp .body .accordion_action .accordion_action_ttl>span.open.close::after, #header_sp .body .accordion_action .accordion_action_ttl>span.close.close::after {
        background: url(../img/header_common/header_sp_on.svg) no-repeat center center/100% auto;
    }
    #header_sp .body .accordion_action .accordion_action_ttl.nobtn>a, #header_sp .body .accordion_action .accordion_action_ttl.nobtn>span.nolink {
        padding: 17px 20px 18px 20px;
        margin-right: 0;
    }
}
@media screen and (max-width: 1200px) and (max-width: 736px) {
    #header_sp .body .accordion_action .accordion_action_ttl.nobtn>a, #header_sp .body .accordion_action .accordion_action_ttl.nobtn>span.nolink {
        padding: 14px 20px 14px 20px;
        margin-right: 0;
    }
}
@media screen and (max-width: 1200px) {
    #header_sp .body .accordion_action .accordion_action_list {
        display: none;
    }
    #header_sp .body .accordion_action .accordion_action_list>a, #header_sp .body .accordion_action .accordion_action_list>span.nolink {
        display: block;
        font-size: 16px;
        color: #fff;
        font-weight: bold;
        border-bottom: #696969 1px solid;
        padding: 17px 5px 18px 60px;
        box-sizing: border-box;
        background: #606060;
    }
}
@media screen and (max-width: 1200px) and (max-width: 736px) {
    #header_sp .body .accordion_action .accordion_action_list>a, #header_sp .body .accordion_action .accordion_action_list>span.nolink {
        font-size: 14px;
        padding: 14px 5px 14px 40px;
    }
}
@media screen and (max-width: 1200px) {
    #header_sp .body .menu_layer2 {
        display: none;
    }
    #header_sp .body .menu_layer2>.accordion_action .accordion_action_ttl {
        background: #444444;
    }
    #header_sp .body .menu_layer2>.accordion_action .accordion_action_ttl>a, #header_sp .body .menu_layer2>.accordion_action .accordion_action_ttl>span.nolink {
        padding: 17px 5px 18px 40px;
    }
}
@media screen and (max-width: 1200px) and (max-width: 736px) {
    #header_sp .body .menu_layer2>.accordion_action .accordion_action_ttl>a, #header_sp .body .menu_layer2>.accordion_action .accordion_action_ttl>span.nolink {
        padding: 14px 5px 14px 30px;
    }
}
@media screen and (max-width: 1200px) {
    #header_sp .body .sns {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-end;
        align-items: center;
        margin: 0 18px;
        padding: 24px 0;
    }
}
@media screen and (max-width: 1200px) and (max-width: 736px) {
    #header_sp .body .sns {
        margin: 0 20px;
        padding: 20px 0;
    }
}
@media screen and (max-width: 1200px) {
    #header_sp .body .sns li {
        width: 27px;
        margin-left: 20px;
    }
}
@media screen and (max-width: 1200px) and (max-width: 736px) {
    #header_sp .body .sns li {
        width: 22px;
        margin-left: 17px;
    }
}
@media screen and (max-width: 736px) {
    #header_sp {
        position: fixed;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 15999;
        border-bottom: 1px solid #85023e;
    }
    #header_sp .head {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: #fff;
        z-index: 1;
        transition: 0.4s;
    }

    /*  VISION2030-LOGO */
    #header_sp .head .logo-inner{
        grid-template-columns: 1fr 90px;
        gap:0;
    }
    #header_sp .head .logo-inner .logo-vision2030{
        padding-block-start: 10px;
    }
    /*  //VISION2030-LOGO */

    #header_sp .head .logo {
        padding: 10px;
    }
    #header_sp .head .logo a {
        position: relative;
        display: block;
        width: 85px;
        line-height: 0;
    }
    #header_sp .head .logo img:last-child {
        position: absolute;
        top: 0;
        left: 0;
        transition: 0.4s;
    }
    #header_sp .head .menu {
        display: flex;
        align-items: center;
    }
    #header_sp .head .lang {
        display: flex;
        margin: 0 10px 0 0;
    }
    #header_sp .head .lang li {
        position: relative;
    }
    #header_sp .head .lang li:before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 1px;
        height: 12px;
        background: rgba(0, 0, 0, 0.4);
        margin: auto;
    }
    #header_sp .head .lang li:last-child:before {
        content: none;
    }
    #header_sp .head .lang li.in-active a {
        font-weight: normal;
        color: rgba(0, 0, 0, 0.4);
        pointer-events: none;
    }
    #header_sp .head .lang a {
        display: block;
        font-size: 1.2rem;
        font-weight: bold;
        margin: 0 5px;
    }
    #header_sp .head .hum {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        background: #000;
    }
    #header_sp .head .hum span {
        display: block;
        width: 26px;
        height: 2px;
        background: #fff;
        transition: 0.4s;
    }
    #header_sp .head .hum span:nth-child(2) {
        margin: 7px 0;
    }
    #header_sp .body {
        position: fixed;
        top: 50px;
        left: 0;
        width: 100%;
        height: calc(100vh - 50px);
        background: #000;
        z-index: 2;
        visibility: hidden;
        overflow-y: scroll;
        opacity: 0;
        transition: 0.4s;
    }
    #header_sp .body .menu li {
        width: 50%;
    }
    #header_sp .body .menu a {
        display: block;
        font-size: 12px;
        font-weight: bold;
    }
    #header_sp .body .student {
        display: flex;
        flex-wrap: wrap;
        padding: 10px 5.33%;
        border-top: 1px solid rgba(96, 96, 96, 0.6);
    }
    #header_sp .body .student li {
        width: 50%;
    }
    #header_sp .body .student a {
        display: block;
        font-size: 1.3rem;
        color: #fff;
        padding: 10px 0;
    }
    #header_sp .body .about {
        padding: 10px 5.33% 100px;
        border-top: 1px solid rgba(96, 96, 96, 0.6);
    }
    #header_sp .body .about ul {
        margin: 0 0 10px;
    }
    #header_sp .body .about ul a {
        display: block;
        font-size: 1.1rem;
        font-weight: bold;
        color: #fff;
        padding: 10px 0;
    }
    #header_sp .body .about p a {
        display: inline-block;
        font-size: 1.2rem;
        color: #fff;
        background: #85023e;
        padding: 6px;
        box-sizing: border-box;
    }
    #header_sp.in-active .head {
        background: #000;
    }
    #header_sp.in-active .head .logo img:last-child {
        opacity: 0;
    }
    #header_sp.in-active .head .lang li:before {
        background: rgba(255, 255, 255, 0.4);
    }
    #header_sp.in-active .head .lang li.in-active a {
        color: rgba(255, 255, 255, 0.4);
    }
    #header_sp.in-active .head .lang a {
        color: #fff;
    }
    #header_sp.in-active .head .hum span:nth-child(1) {
        -webkit-transform: rotate(-45deg) translateY(1.5px);
        transform: rotate(-45deg) translateY(1.5px);
    }
    #header_sp.in-active .head .hum span:nth-child(2) {
        display: none;
    }
    #header_sp.in-active .head .hum span:nth-child(3) {
        -webkit-transform: rotate(45deg) translateY(-1.5px);
        transform: rotate(45deg) translateY(-1.5px);
    }
    #header_sp.in-active .body {
        opacity: 1;
        visibility: visible;
    }
}
#footer {
    background: #000;
    padding: 60px 4.69% 0;
}
#footer * {
    position: static;
    color: #000;
    box-sizing: content-box;
}
#footer img {
    display: block;
}
#footer .container {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1600px;
    padding: 0 0 50px;
    margin: 0 auto;
    border-bottom: 1px solid #606060;
}
#footer .container:after {
    content: none;
}
#footer .head {
    flex: none;
    margin: 0 50px 0 0;
}
#footer .head h2 {
    margin: 0 0 20px;
}
#footer .head h2 a {
    display: block;
    width: 150px;
}
#footer .head p {
    font-size: 1rem;
    color: #fff;
    margin: 0 0 15px;
}
#footer .head p span {
    font-size: 1.4rem;
    font-weight: bold;
    color: #fff;
    margin: 0 8px 0 0;
}
#footer .head p.links {
    font-size: 1.4rem;
    font-weight: bold;
}
#footer .head p.links a {
    color: #fff;
}
#footer .head ul {
    display: flex;
}
#footer .head ul li {
    margin: 0 12px 0 0;
}
#footer .head ul li:last-child {
    margin: 0;
}
#footer .head ul a {
    display: block;
    width: 24px;
}
#footer .body {
    max-width: 500px;
}
#footer .body ul {
    display: flex;
    flex-wrap: wrap;
}
#footer .body li {
    width: 33.3333%;
}
#footer .body a {
    display: block;
    font-weight: bold;
    color: #fff;
    padding: 5px;
}
#footer .foot p {
    font-size: 1rem;
    color: #dcdcdc;
    text-align: center;
    padding: 20px 0;
}
#footer.en {
    font-family: 'Noto Sans', sans-serif;
}
#footer.en .body {
    max-width: 520px;
}
@media screen and (max-width: 736px) {
    #footer {
        padding: 60px 5.33% 0;
    }
    #footer .container {
        flex-direction: column-reverse;
    }
    #footer .head {
        margin: 0;
    }
    #footer .body {
        max-width: 100%;
        margin: 0 0 50px;
    }
    #footer .body li {
        width: 50%;
    }
}
@media print {
    #wrapper {
        padding-top: 0;
    }
    #header {
        position: relative !important;
    }
    body, body.en {
        padding: 0;
    }
}