@charset "utf-8";

.menu_link::before {
    background: #000;
}

/***********************************
	コンテンツごとのカラー指定 
************************************/
.carrer .ttl_wrap::before,
.cat_carrer .event_cat,
.carrer.article_cat {
    background: #FCC6C6;
}

.scholarship .ttl_wrap::before,
.cat_scholarship .event_cat,
.article_item .scholarship.article_cat {
    background: #FCD4B0;
}

.todo .ttl_wrap::before,
.cat_todo .event_cat,
.article_item .todo.article_cat {
    background: #B2BAD6;
}

.group .ttl_wrap::before,
.cat_group .event_cat,
.article_item .group.article_cat {
    background: #ffee9c;
}

.research_support .ttl_wrap::before,
.cat_research_support .event_cat,
.article_item .research_support.article_cat {
    background: #9CE0D0;
}

.contact .ttl_wrap::before,
.cat_contact .event_cat,
.article_item .contact.article_cat {
    background: #ffffff;
}

.alternating .ttl_wrap::before,
.ovice .ttl_wrap::before,
.cat_alternating .event_cat,
.article_item .alternating.article_cat {
    background: #c8c8c8;
}

.fellowship_next_gen .ttl_wrap::before,
.ovice .ttl_wrap::before,
.cat_fellowship_next_gen .event_cat,
.article_item .fellowship_next_gen.article_cat {
    background: #B3E9EF;
}

/* .cat_carrer .event_cat,
.carrer .article_cat {
    background: #FF8280;
}

.cat_scholarship .event_cat,
.scholarship .article_cat {
    background: #FF983B;
}

.cat_todo .event_cat,
.todo .article_cat {
    background: #20BACB;
}

.cat_group .event_cat,
.group .article_cat {
    background: #ABABAB;
}

.cat_mentor .event_cat,
.mentor .article_cat {
    background: #2FC29E;
}

.cat_contact .event_cat,
.contact .article_cat {
    background: #8798CD;
} */

.carrer h2 {
    color: #FF8280;
}

.scholarship h2 {
    color: #FF983B;
}

.todo h2 {
    color: #708ADB;
}

.group h2 {
    color: #ABABAB;
}

.research_support h2 {
    color: #2FC29E;
}

.alternating h2 {
    color: #ABABAB;
}

/*---------- ビジュアル更新 ----------*/
strong {
    font-weight: bold;
}

em {
    font-style: italic;
}

blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}

.aligncenter {
    display: block;
    margin: 0 auto;
}

.alignright {
    text-align: right;
}

.alignleft {
    text-align: left;
}

img.alignright {
    float: right;
    margin-left: auto;
}

img.alignleft {
    float: left;
    margin-right: auto;
}

img[class*="wp-image-"],
img[class*="attachment-"] {
    max-width: 100%;
    height: auto;
}

.clearfix {
    overflow: hidden;
    zoom: 1;
}

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

pre {
    white-space: pre-wrap;
}

.gallery-item img {
    width: 100%;
}

/*-------------------------------*/


/* child.css */

.content_area {
    max-width: 1200px;
    width: 100%;
    padding: 80px 20px 98px;
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
}

.content_area>*:first-child {
    margin-top: 0 !important;
}

.c_ttl {
    position: relative;
    padding: 15px 0 15px 30px;
    margin: 0 !important;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 1.6px;
    line-height: 2.9rem;
}

.c_ttl::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 13px;
    height: 13px;
    margin: auto;
    background: #FF8280;
    border-radius: 50%;
    transition: right 0.3s;
}
.alternating .c_ttl::before {
    background: #B3E9EF;
}

.c_list {
    display: flex;
    flex-wrap: wrap;
    padding: 0 !important;
    margin: 0 !important;
}

.c_item {
    list-style: none !important;
    width: 30.909%;
    margin: 0 3.636% 40px 0;
}

.c_item:nth-child(3n) {
    margin-right: 0;
}

.c_link {
    display: block;
    height: 100%;
    color: #333;
    text-decoration: none !important;
    transition: color 0.3s;
}

.c_link:hover {
    color: #666;
}

.c_link[target="_blank"] {
    padding: 0;
    background: none;
}

.c_link[target="_blank"] .c_ttl {
    display: inline-block;
    padding: 15px 25px 15px 0;
    background: url(../images/popup.svg) no-repeat top 25px right;
    transition: background 0.3s;
}

.c_link[target="_blank"]:hover .c_ttl {
    background-image: url(../images/popup_b.svg);
}

.c_link[target="_blank"] .c_ttl::before {
    display: none;
}

.c_img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: transform 0.3s;
}

a:hover .c_img {
    transform: scale(1.05);
}

.content_area>*:last-child {
    margin-bottom: 0 !important;
}

.ttl_wrap {
    min-height: 220px;
    position: relative;
    display: flex;
    flex-direction: column;
    max-width: 1200px;
    padding: 173px 20px 60px;
    margin: auto;
}

.ttl_wrap::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100vw;
    height: 1000px;
    background: #c8c8c8;
    transform: translateX(-50%);
    z-index: -5;
}

.page_title_wrap {
    position: relative;
}

.page_title {
    font-weight: bold;
    font-size: 3.6rem;
    letter-spacing: 0;
}

.page_title::before {
    display: block;
    content: attr(data-txt)'';
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0;
    margin-bottom: 10px;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

h2 {
    margin: 60px 0 25px;
    position: relative;
    font-size: 2.6rem;
    line-height: 1.5;
    font-weight: 500;
    padding: 0 0 8px 0;
    border-bottom: 2px solid #CCCCCC;
}

h3 {
    font-size: 2rem;
    margin: 45px 0 20px;
    padding: 0 0 5px 0;
    border-bottom: 1px solid #707070;
    position: relative;
    font-weight: 500;
}

h4 {
    margin: 20px 0 10px;
}


h4 {
    font-weight: bold;
}

.content_area p {
    margin: 0 0 20px;
}

ul,
ol {
    margin: 0 0 20px;
    padding-left: 1.5em;
}

ul li,
ol li {
    margin-bottom: 10px;
}

ul li {
    list-style: none;
}

ol li {
    list-style: decimal;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

.content_area table {
    width: 100%;
    margin: 20px 0;
    border-top: 1px solid #ddd;
}

.content_area table tr.alt {
    background: #f5f5f5;
}

.content_area table th,
.content_area table td {
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    padding: 23px 30px;
}

.content_area table th:last-child,
.content_area table td:last-child {
    border-right: none;
}

.content_area table th {
    font-weight: bold;
    text-align: left;
    background: #f7f7f7;
    width: 27%;
}

.content_area .scroll_txt {
    line-height: 2.5rem;
    padding: 3px 0 3px 60px;
    margin: 0;
    background: url(../images/icon_hand.svg) no-repeat center left;
}


/**2、3カラム時**/
.content_area .column_2,
.content_area .column_3 {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 60px;
    padding: 0;
}

.content_area .column_2 img,
.column_3 img {
    width: 100%;
    margin-top: 0;
}

.content_area .column_2 li {
    flex: 0 1 48.2%;
    box-sizing: border-box;
    list-style-type: none;
}

.content_area .column_2 li:not(:nth-child(2n)) {
    margin-right: 3.6%;
}

.content_area .column_3 li {
    flex: 0 1 32%;
    box-sizing: border-box;
    list-style-type: none;
}

.content_area .column_3 li:not(:nth-child(3n)) {
    margin-right: 2%;
}

.content_area .column_2 ul li {
    list-style: disc;
    /*2カラムの中にulが入っていた場合*/
}

.content_area .column_2 ol li {
    list-style: normal;
    /*2カラムの中にolが入っていた場合*/
}

/**2、3カラム時**/
.content_area p.strong {
    font-size: 146.666%;
}

.content_area form input,
.content_area form textarea {
    padding: 12px 10px;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

/***マップのレスポンシブ設定ここから***/
#map {
    width: auto;
    margin: 30px auto;
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

#map iframe,
#map object,
#map embed {
    position: absolute;
    border: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/***マップのレスポンシブ設定ここまで***/

/**********************************************
* イベント・記事
*********************************************/
/*------------ イベント・記事共通 ------------*/
.event_cat,
.article_cat {
    position: absolute;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    min-width: 143px;
    padding: 10px 5px;
    border-radius: 8px 0 8px 0;
    background: #c8c8c8;
    z-index: 10;
}

.post_head {
    font-size: 2.0rem;
    font-weight: bold;
    /*     letter-spacing: 0.2em; */
    margin: 0;
    padding: 0;
    border-bottom: none;
    position: relative;
}

.post_date {
    display: inline-block;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    margin: 0 18px 5px 0;
}

.single_post_date {
    position: absolute;
    top: 0;
    right: 0;
    font-weight: bold;
    letter-spacing: 0;
}

.single_post_date time {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-left: 15px;
}

/*------------ イベント ------------*/
.index_event {
    margin-bottom: 78px;
    background: #EBEFEC;
    padding: 54px 0 73px;
    position: relative;
}

.event_box {
    width: 1220px;
    max-width: 100%;
    margin: auto;
    padding: 0 20px;
    position: relative;
}

.event_list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 12px;
    padding: 0 !important;
}

.event_list .event_item {
    width: 32%;
    margin: 0 2% 40px 0;
    list-style: none !important;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0, 0, 0, .13);
    transition: all .4s ease;
}

.event_list .event_item:hover {
    box-shadow: 0 0 13px rgba(0, 0, 0, .25);
}

.event_list .event_item:nth-child(3n) {
    margin-right: 0;
}


.event_link {
    text-decoration: none;
    position: relative;
}

.event_link:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(247 247 247 / 20%);
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transition: all .3s ease;
}

.event_link:hover:after {
    opacity: 1;
    transition: all .3s ease;
}


.event_thumb_box {
    width: 100%;
}

.event_thumb {
    background: #fcfdfc;
    position: relative;
    border-radius: 8px;
    /*     padding-top: 65.78%; */
    padding-top: 67.18%;

    overflow: hidden;
}

.event_thumb img {
    position: absolute;
    top: 0;
    right: 0;
    /*bottom: 0;*/
    left: 0;
    max-width: 100%;
    /*max-height: 100%;*/
    width: 100%;
    height: auto;
    margin: auto;
    transition: transform 0.3s;
    object-fit: cover;
}

.event_link:hover .event_thumb img {
    transform: scale(1.1);
    transition: all .3s ease;
}

.event_txt {
    word-break: break-word;
}

.event_txt_wrap {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    padding: calc(67.18% + 17px) 15px 20px;
    height: 100%;
    margin-top: -67.78%;
}

.event_info_date {
    display: flex;
    flex-wrap: wrap;
}

.event_status {
    /* イベント開催前 */
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0;
    text-align: center;
    color: #75aef9;
    width: 98px;
    border: 2px solid #75aef9;
    padding: 3px 5px;
    border-radius: 50px;
    margin-right: 4px;
    background-color: #ffffff;
}

.event_status.holding {
    /* イベント開催日 */
    color: #FF0400;
    border-color: #FF0400;
}

.event_status.finished {
    /* イベント開催済み */
    color: #666666;
    border-color: #666666;
}

.event_status.soon {
    /* イベント開催直前 */
    color: #FF983B;
    border-color: #FF983B;
}

.schedule_status {
    /* イベント応募締切前 */
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0;
    text-align: center;
    color: #47a412;
    width: 98px;
    border: 2px solid #47a412;
    padding: 3px 5px;
    border-radius: 50px;
    background-color: #ffffff;
}

.schedule_status.soon {
    /* イベント応募締切間近 */
    color: #FF983B;
    border-color: #FF983B;
}

.schedule_status.soon_today {
    /* イベント応募本日締切 */
    color: #FF0400;
    border-color: #FF0400;
}

.schedule_status.closed {
    /* イベント応募募集終了 */
    color: #666666;
    border-color: #666666;
}

.event_content>p>* {
    font-style: normal;
    font-weight: 400;
}

.event_txt_wrap .event_content ul,
.event_txt_wrap .event_content ol {
    padding-left: 1.5em;
}

.event_txt_wrap .event_content ul li {
    list-style: disc;
}

.event_txt_wrap .event_content ol li {
    list-style: decimal;
}

.event_link:hover span:after {
    right: -8px;
    transition: all .3s ease;
}

/*------------ 記事 ------------*/
.index_article {
    padding: 0 0 85px;
    position: relative;
    overflow: hidden;
}

.article_list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 12px;
    padding: 0 !important;
}

.article_box {
    margin: 0 auto;
    width: 1200px;
    max-width: 100%;
    padding: 0 20px;
    position: relative;
}

.article_list .article_item {
    width: 32%;
    margin: 0 2% 40px 0;
    list-style: none !important;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0, 0, 0, .13);
    transition: all .4s ease;
}

.article_list .article_item:hover {
    box-shadow: 0 0 13px rgba(0, 0, 0, .25);
}

.article_list .article_item:nth-child(3n) {
    margin-right: 0;
}

.article_list .article_post_link {
    display: block;
    height: 100%;
    text-decoration: none;
    transition: all .3s ease;
    position: relative;
}

.article_list .article_post_link:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(247 247 247 / 20%);
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transition: all .3s ease;
}

.article_list .article_post_link:hover:after {
    opacity: 1;
    transition: all .3s ease;
}

.article_thumb_box {
    width: 100%;
}

.article_thumb {
    width: 100%;
    background: #fcfdfc;
    position: relative;
    padding-top: 67.18%;
    border-radius: 8px;
    overflow: hidden;
}

.article_thumb img {
    position: absolute;
    top: 0;
    right: 0;
    /*bottom: 0;*/
    left: 0;
    margin: auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    transition: all .3s ease;
    object-fit: cover;
}

.article_post_link:hover .article_thumb img {
    transform: scale(1.1);
    transition: all .3s ease;
}

.article_txt {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    padding: calc(67.18% + 9px) 15px 18px;
    height: 100%;
    margin-top: -67.18%;
    position: relative;
}

.article_title {
    font-size: 2.0rem;
    font-weight: bold;
    letter-spacing: 0.2em;
}

.post_title_wrap,
.event_title_wrap {
    display: flex;
}

.members_only_post_img,
.members_only_event_img {
    width: 20px;
    height: 34px;
    float: left;
    margin-right: 8px;
}

/*------------ 固定された記事 ------------*/

.article_item a{
    text-decoration: none;
}

.fixed_articles{
    margin-top: 80px;
    margin-bottom: 0;
}

/*------------ 前に戻るボタン ------------*/

.link_btn_back {
    display: block;
    background: #222222;
    text-decoration: none;
    max-width: 220px;
    /* 	height: 46px; */
    margin: 40px auto 0 0;
    padding: 7px 26px;
    border: 2px solid #222222;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-sizing: border-box;
    text-align: center;
    margin: 0 auto;
    position: relative;
}

.link_btn_back:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 17px;
    bottom: 0;
    margin: auto;
    width: 11px;
    height: 11px;
    border-top: 3px solid #FFFFFF;
    border-right: 3px solid #FFFFFF;
    transform: rotate(-135deg);
    transition: all 0.3s;
}

.link_btn_back span {
    display: inline-block;
    font-size: 1.6rem;
    color: #fff;
    position: relative;
    transition: all .3s ease;
}

.link_btn_back:hover {
    background-color: #fff;
}

.link_btn_back:hover:after {
    border-color: #222;
}

.link_btn_back:hover span {
    color: #222;
}

.btn_area{
    margin-bottom: 80px;
}

/*------------ 関連する投稿 ------------*/

.related_post_wrap {
    margin: 80px 0 0;
    padding: 80px 0 0;
    position: relative;
}

.related_post_wrap::after {
    position: absolute;
    content: "";
    top: 0;
    left: 50%;
    width: 100vw;
    height: calc(100% + 100px);
    background: #F8F8F8;
    transform: translateX(-50%);
    z-index: -5;
}

.related_h2 {
    font-weight: bold;
    font-size: 3rem;
    letter-spacing: 0em;
    color: #222 !important;
    margin: 0 0 30px;
    padding: 0;
    border-bottom: none;
    position: relative;
}

.related_h2:nth-of-type(2n) {
    margin-top: 130px;
}

.related_h2::before {
    display: block;
    content: attr(data-en)'';
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0;
    margin-bottom: 6px;
}


.related_post_wrap .article_list {
    margin-bottom: 12px;
}

.related_post_wrap .article_list+.link_btn {
    max-width: 261px;
}

.related_post_wrap .event_list {
    margin-bottom: 12px;
}

.related_post_wrap .event_list+.link_btn {
    max-width: 285px;
}

/*------------ breadcrumb ------------*/
#breadcrumb {
    background: #222222;
    overflow: hidden;
    border-bottom: 1px solid #484848;
}

#breadcrumb .breadcrumb_inner {
    width: 1200px;
    max-width: 100%;
    padding: 9px 20px 11px;
    margin: auto;

    overflow: hidden;
}

#breadcrumb .breadcrumb_inner a {
    color: #fff;
    margin: 0 25px 0 0;
    position: relative;
}

#breadcrumb .breadcrumb_inner a::after {
    content: '';
    position: absolute;
    top: 2px;
    right: -12px;
    bottom: 0;
    width: 6px;
    height: 6px;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}

#breadcrumb .breadcrumb_inner>span {
    font-size: 1.3rem;
    color: #fff;
}

/*------------ modal btn ------------*/
.modal_btn_box {
    text-align: right;
    margin-bottom: 10px;
}

.modal_btn {
    font-family: 'YakuHanJP', 'Noto Sans JP', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: #222;
    padding: 0 20px 0 0;
    margin-bottom: 0;
    background: transparent;
    background-size: 36px;
    border: none;
    -webkit-appearance: button;
    cursor: pointer;
    transition: color .3s ease;
    position: relative;
    border-bottom: 1px solid transparent;
}

.modal_btn:hover {
    color: #007F4D;
    transition: color .3s ease;
    border-bottom: 1px solid #000;
}

.modal_btn::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    width: 15px;
    height: 15px;
    margin: auto;
    border: 1px solid #222222;
    border-radius: 50%;
}

.modal_btn::after {
    position: absolute;
    content: "";
    right: 6px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 1px solid #222222;
    border-right: 1px solid #222222;
    transform: rotate(45deg);
}

/*----- 
		modal
				 -----*/
.mfp-helper {
    overflow-y: hidden !important;
}

.mfp-bg {
    z-index: 10900 !important;
}

.mfp-wrap {
    overflow: hidden auto !important;
    z-index: 11000 !important;
}

.modal-content {
    width: 100%;
    max-width: 1000px;
    margin: 5% auto;
    border-radius: 0 0 10px 10px;
    background: #fff;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 16%);
    overflow: hidden;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    padding: 22px 15px 22px 37px;
    border-top: 4px solid #007F4D;
}

.modal-title {
    font-size: 2.6rem;
    font-weight: bold;
    margin: 0;
}

.modal-header .close {
    position: relative;
    font-size: 0;
    transition: all .3s ease;
}

.modal-header .close::before,
.modal-header .close::after {
    content: '';
    display: block;
    position: absolute;
    z-index: 10;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 43px;
    height: 2px;
    background: #CCCCCC;
    transition: all .3s ease;
}

.modal-header .close::before {
    transform: rotate(135deg);
}

.modal-header .close::after {
    transform: rotate(-135deg);
}

.modal-header .close:hover::before,
.modal-header .close:hover::after {
    opacity: .3;
    transition: all .3s ease;
}

/* modal body / modal body common*/
.modal-body {
    padding: 3% 6.4% 6.4%;
    background: #F7F7F7;
}

.modal-body>*:first-child {
    margin-top: 0 !important;
}

.modal-body>*:last-child {
    margin-bottom: 0 !important;
}

.modal-body .modal-head {
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    margin: 24px 0 7px;
}

.modal-body .filter_block {
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    border-radius: 8px;
    padding: 11px 20px;
}

.modal-body .filter_block .filter_block_in {
    margin: 0 -45px -10px 0;
}

.modal-body .filter_block label {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 45px 10px 0;
    display: inline-block;
    cursor: pointer;
}

/* modal footer */
.modal-footer {
    padding: 4.6% 6.7%;
    position: relative;
}

.modal-footer a[target="_blank"] {
    justify-content: flex-end;
    cursor: pointer;
    display: inline;
    color: #333 !important;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-decoration: underline !important;
    display: inline-block;
    padding-right: 20px;
    background: url(../img/popup.svg) no-repeat center right 3px;
    transition: color .3s ease;
}

.modal-footer a[target="_blank"]:hover {
    color: #FF854E !important;
}

.search_btn {
    position: relative;
}

.search_btn .button_submit {
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    width: 343px;
    max-width: 39%;
    padding: 7px 20px;
    margin: auto;
    background: #222222;
    border: 1px solid #222222;
    color: #Fff;
    cursor: pointer;
    box-shadow: 0 3px 0 0 rgb(0 0 0 / 16%);
    border-radius: 100px;
    transition: all 0.3s;
}

.search_btn .button_submit:hover {
    background: #F7F7F7;
    color: #222;
}

.reset_btn_in {
    border: none !important;
    background: none !important;
    padding: 0 !important;
    cursor: pointer;
    font-family: YakuHanJP, 'Noto Sans JP', sans-serif, "游ゴシック", "Yu Gothic", Yu Gothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック";
    display: inline;
    position: absolute;
    right: 0;
    top: 50%;
    color: #007F4D !important;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    transform: translateY(-50%);
}

.reset_btn_in:hover {
    text-decoration: underline !important;
}

/* modal fade */
.mfp-fade.mfp-bg {
    opacity: 0;
    background: #fff;
    transition: all 0.2s ease-out;
}

.mfp-fade.mfp-bg.mfp-ready {
    opacity: 0.9;
}

.mfp-fade.mfp-bg.mfp-removing {
    opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;
    transition: all 0.2s ease-out;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0;
}

.login_input_wrap input {
    padding: 12px 18px!important;
}

@media screen and (min-width:821px) and ( max-width:1221px) {
    .ttl_wrap {
        min-height: 160px;
        padding: 250px 20px 40px;
    }

    #sns_fixed {
        top:230px;
    }
}

@media screen and (max-width: 820px) {
    .content_area {
        padding: 45px 20px 80px;
    }

    .column_3 {
        margin: 20px 0;
    }

    .column_3>div {
        float: none;
        width: 100%;
        margin: 0 0 20px 0;
    }

    .content_area table {
        margin: 22px auto;
    }

    .content_area table th {
        width: 27%;
    }

    .content_area table th,
    .content_area table td {
        padding: 13px;
    }

    .content_area table.nowrap {
        min-width: 100%;
    }

    .content_area table.nowrap th,
    table.nowrap td {
        white-space: nowrap;
    }

    .content_area .scroll_txt {
        display: block;
        font-size: 1.1rem;
        letter-spacing: 1.32px;
        margin-bottom: 10px;
    }

    .ttl_wrap {
        min-height: auto;
        height: 100%;
        padding: 138px 20px 25px;
    }

    .page_title {
        font-size: 2.1rem;
        line-height: 1.4;
    }

    .page_title::before {
        font-size: 1.2rem;
        line-height: 1.4em;
        margin-bottom: 10px;
    }

    h2 {
        margin: 30px 0 20px;
        padding: 0 0 5px 0;
        font-size: 2.3rem;
    }

    .img_left,
    .img_right {
        float: none;
        margin: 0;
    }

    .txt_left,
    .txt_right,
    .txt_bottom {
        position: relative;
        left: 0;
        max-width: none;
        padding: 25px 20px;
        margin-top: 0;
    }

    h3 {
        font-size: 138.46%;
        margin-bottom: 5px;
    }

    h3 {
        font-size: 1.6rem;
        margin: 25px 0 5px;
    }

    h4 {
        margin: 20px 0 10px;
    }

    .content_area p {
        margin: 0 0 25px 0;
    }

    .content_area .column_3 {
        margin: 20px 0;
    }

    .content_area .column_2 li:not(:nth-child(2n)) {
        margin-right: 0;
    }

    .content_area .column_3>div {
        float: none;
        width: 100%;
        margin: 0 0 20px 0;
    }

    .content_area .column_2,
    .content_area .column_3 {
        display: block;
        margin: 0 0 20px
    }

    .content_area .column_2 li,
    .content_area .column_3 li {
        margin-bottom: 4%;
    }

    .content_area .column_2 ul li,
    .content_area .column_3 ul li,
    .content_area .column_2 ol li,
    .content_area .column_3 ol li {
        margin-bottom: 0;
    }

    .content_area .column_3 li:not(:nth-child(3n)) {
        margin-right: 0;
    }

    /**********************************************
	* イベント・記事
	*********************************************/

    /*------------ イベント・記事共通 ------------*/
    .event_cat,
    .article_cat {
        max-width: calc(49.552% - 8px);
        padding: 6px 5px;
    }

    .post_head {
        font-size: 1.5rem;
        min-height: auto;
    }

    .post_date {
        font-size: 1.2rem;
        width: 100%;
        margin: 0 0 5px 0;
    }

    .single_post_date {
        top: auto;
        bottom: 100%;
    }

    .single_post_date time {
        font-size: 1.4rem;
        margin-left: 5px;
    }

    /*------------ イベント ------------*/
    .index_event {
        margin-bottom: 50px;
        padding: 55px 0 60px;
    }

    .event_list {
        margin-bottom: 60px;
    }

    .event_list .event_item {
        width: 100%;
        margin: 0 0 20px 0;
    }

    .event_list .event_item:last-child {
        margin-bottom: 0;
    }

    .event_link {
        display: flex;
        flex-wrap: wrap;
    }

    .event_txt_wrap {
        width: 50.448%;
        padding: 7px 10px 10px;
        margin: 0;
    }

    .event_status,
    .schedule_status {
        font-size: 1.1rem;
        width: auto;
        padding: 3px 20px;
        margin-bottom: 6px;
    }

    /*------------ 記事 ------------*/

    .index_article {
        padding: 0 0 70px;
    }

    .article_box {
        padding: 0 20px;
    }

    .article_list .article_item {
        width: 100%;
        margin: 0 0 20px 0;
    }

    .article_list .article_item:last-child {
        margin-bottom: 0;
    }

    .article_list .article_post_link {
        display: flex;
        flex-wrap: wrap;
    }

    .article_txt {
        width: 50.448%;
        padding: 7px 10px 10px;
        margin: 0;
    }

    .article_title {
        font-size: 1.5rem;
        letter-spacing: 0.1em;
    }

    /*------------ ログイン限定画像 ------------*/
    .post_title_wrap,
    .event_title_wrap {
        display: flex;
    }

    .members_only_post_img,
    .members_only_event_img {
        width: 16px;
        height: 25px;
        float: left;
        margin-right: 6px;
    }

    /*------------ 関連する投稿 ------------*/

    .related_post_wrap {
        margin: 70px 0 0;
        padding: 60px 0 0;
    }

    .related_h2 {
        font-size: 2rem;
    }

    .related_h2:nth-of-type(2n) {
        margin-top: 60px;
    }

    .related_h2::before {
        font-size: 1.4rem;
        line-height: 1.4em;
        margin-bottom: 5px;
    }

    .related_post_wrap .article_list {
        margin-bottom: 35px;
    }

    .related_post_wrap .event_list {
        margin-bottom: 35px;
    }

    /*------------ breadcrumb ------------*/

    #breadcrumb .breadcrumb_inner>span {
        font-size: 1.2rem;
    }

    /*------------ modal btn ------------*/
    .modal_btn {
        font-size: 1.3rem;
    }

    /*----- 
			modal
				 -----*/
    .mfp-wrap {
        z-index: 11000 !important;
    }

    .mfp-container {
        padding: 0 !important;
    }

    .modal-content {
        margin: 0;
        border-radius: 0;
    }

    .modal-header {
        align-items: center;
        padding: 16px 20px;
    }

    .modal-title {
        font-size: 2.2rem;
    }

    .modal-header .close {
        width: 20px;
        height: 20px;
    }

    .modal-header .close::before,
    .modal-header .close::after {
        width: 20px;
    }

    /* modal body / modal body common*/
    .modal-body {
        padding: 27px 20px 30px;
    }

    .modal-body .modal-head {
        font-size: 1.6rem;
        margin: 18px 0 5px;
    }

    .modal-body .filter_block {
        padding: 8px 14px;
    }

    .modal-body .filter_block .filter_block_in {
        margin: 0 0 -4px 0;
        width: 100%;
    }

    .modal-body .filter_block label {
        font-size: 1.4rem;
        margin: 0 0 4px;
        padding-right: 5px;
        width: calc(50% - 5px);
    }

    .modal-body .filter_block label:nth-child(2n) {
        padding: 0;
        width: 50%;
    }

    /* modal footer */
    .modal-footer {
        padding: 0 20px 30px;
        background: #F7F7F7;
    }

    .modal-footer a[target="_blank"] {
        font-size: 1.6rem;
    }

    .search_btn .button_submit {
        font-size: 1.6rem;
        width: 100%;
        max-width: none;
        padding: 9px 18px;
    }

    .reset_btn_in {
        display: flex;
        margin: 25px 0 0 auto;
        position: static;
        font-size: 1.4rem;
        transform: none;
    }

    .c_item {
        width: 48.181%;
        margin: 0 3.636% 25px 0 !important;
    }

    .c_item:nth-child(even) {
        margin-right: 0 !important;
    }

    .c_ttl {
        padding: 7px 0 7px 20px;
        font-size: 1.4rem;
        letter-spacing: 1.12px;
        line-height: 2rem;
    }

}

@media screen and (max-width: 520px) {
    #logo {
        display: flex;
        padding: 10px 15px;
        margin: 0;
        /*width: calc(100vw - 80px);*/
        width: 55%;
    }
}