@charset "utf-8";

.box1 {
	display:none;
	
}
.arw::after {
    font-family: 'design_plus';
    content: '\e910';
    background: #345e9b;
    color: #fff;
    border: 1px solid #345e9b;
    padding: 0.3em;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    display: inline-block;
    margin-left: 0.7em;
    transition: 0.25s;
    line-height: 100%;
}
.arw:hover::after{
    background: #fff;
    color: #345e9b;
}

.sp {display: none;}
@media screen and (max-width:640px) {
.pc { display: none;}
.sp {display: block;}
}

/*=======================
TOPページ　レイアウト破壊
=======================*/
body.home #main_col,
body.home #left_col{
    width: auto;
    float: none;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.w1080{
    width: min(92vw, 1080px);
    margin-left: auto;
    margin-right: auto;
}
.w1200{
    width: min(94vw, 1200px);
    margin-left: auto;
    margin-right: auto;
}
.contents_ttl_wrap {
    margin-bottom: min(8vw,40px);
}
.contents_ttl {
    font-size: min(11vw,50px);
    font-weight: 500;
    color: #345e9b;
    margin-bottom: min(3.5vw,15px);
}
.contents_subttl {
    font-size: min(3.5vw,17px);
    color: #847c76;
    font-weight: normal;
}
.flex_holizone{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.flex_holizone .contents_ttl{
    margin-right: min(8vw,50px);
}
.archive_link {
    display: block;
    text-align: right;
    margin: min(5vw,30px) 0;
    font-size: min(4vw, 17px);
}
/*=======================
ヘッダー（PC）
=======================*/
.pc #header {
    width: 100%;
    background: none;
}
.pc #header::before{
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background:#fff;
    opacity: 0.6;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.25s ease-out;
}
.pc #header.scrolled::before{
    transform: scaleY(1);
}
body.home #global_menu a,
body.home #global_menu a:hover{
    color: #fff
}
#previous_next_post a:hover,
.pc #global_menu > ul > li.current-menu-item > a,
.pc #global_menu > ul > li a{
    color: #fff;
}
#previous_next_post .scrolled a:hover,
.pc .scrolled #global_menu > ul > li a,
.pc .scrolled #global_menu > ul > li.current-menu-item > a {
    color: #333;
}
.pc .home #global_menu > ul > li a,.pc .home #global_menu > ul > li a:hover {
color: #fff
}
.pc .home .scrolled #global_menu > ul > li a,.pc .home #global_menu > ul > li a:hover {
    color: #333;
}
.pc #global_menu ul ul{
    top: 80px;    
}
.pc #global_menu > ul > li {
    font-weight: bold;
}
/*=======================
Message
=======================*/
.msg_wrap {
    padding: min(12vw, 105px) 0;
}
.msg_ttl {
    font-size: min(7vw,40px);
    font-weight: 500;
    color: #345e9b;
    margin-bottom: min(7vw,55px);
    text-align: center;
}
.msg_bnr {
    display: flex;
    justify-content: center;
}
.msg_bnr li{
    margin: min(4vw,22px);
    width: 50%;
    max-width: max-content;
    aspect-ratio:1/1;
}
.msg_bnr li img{
    width: 100%;
    height: auto;
}
.msg_link {
    text-align: center;
    margin-top: min(6vw, 40px);
    font-size: min(4vw, 17px);
}
/*=======================
3ボックス
=======================*/
#index_3box_inner {
    width: 100%;
    height: auto;
}
#index_3box .box {
    padding: 0;
    height: auto;
}
.img_3box {
    display: block;
    width: 100%;
    aspect-ratio:466/315;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.img_3box::before {
    content: '';
    display: block;
    width: 100%;
    aspect-ratio:466/315;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    transition: all ease 800ms;
}
#index_3box .box .box_link:hover .img_3box::before {
    transform: scale(1.15);
}
#index_3box .box1 .box_link .img_3box::before {
    background-image: url(../../../uploads/2025/05/bnr_about.jpg);
}
#index_3box .box2 .box_link .img_3box::before {
    background-image: url(../../../uploads/2025/05/bnr_sakaguchi.jpg);
}
#index_3box .box3 .box_link .img_3box::before {
    background-image: url(../img/top/img_top_program.webp);
}
#index_3box a.box_link {
    color: inherit;
    overflow: hidden;
    display: block;
}
article.box_name {
    padding: 30px;
    position: relative;
    z-index: 2;
    padding: min(5vw, 30px);
}
#index_3box .box .title {
    font-size: min(5.5vw, 24px);
}
#index_3box .button {
    font-size: min(4vw,20px);
    position: static;
    text-align: right;
    display: block;
}
#index_3box .button span:after{
    font-size: 18px;
}
#index_3box .button div:nth-child(1) {
}
#index_3box .button div:nth-child(2),
#index_3box .button div:nth-child(3){
    display: none !important;
}
#index_prof_banner {
    display: none;
}
/*=======================
お知らせ系
=======================*/
#index_news .headline,
#index_news .image{
    display: none !important;
}

.news_wrap {
    margin-bottom: min(10vw,80px);
}
@media screen and (min-width:1201px) {
.news_wrap {
    display: flex;
}
.news_flex {
    width: 100%;
}
}

#index_news .box.show_link {
    float: none !important;
    width: 100% !important;
    border: none;
    padding-top: 0;
    padding-right: 0;
    padding-left: 0;
}
#index_news .item {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
}
#index_news .date {
    font-size: min(3.5vw,16px);
    width: 90px;
}
#index_news.two_list {
    flex-wrap: wrap;
}
.news_wrap .contents_ttl_wrap {
    margin-right: 100px;
}
#index_news a.arw {
    display: block;
    text-align: right;
    font-size: min(4vw, 17px);
}
#report_list {
    margin-bottom: min(15vw, 80px);
}
#report_list .headline {
    border: none;
    box-shadow: none;
    padding-left: 0;
}
@media screen and (min-width:1201px) {
#report_list .item {
        width: calc(100% / 3 - 16px);
}
}
/*=======================
outgoing_wrap
=======================*/
.outgoing_wrap {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: min(15vw, 80px);
}
.outgoing_contents {
    position: relative;
    width: 50%;
    height: min(60vw, 450px);
    display: flex;
    justify-content: center;
    align-items: center;
}
.outgoing_contents.channel{
    background: url(../img/top/img_top_youtube.webp) no-repeat center / cover;
}
.outgoing_contents.communication{
    background: url(../../../uploads/2025/05/bnr_monthly.jpg) no-repeat center / cover;
    
}
.outgoing_contents::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.25);
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    transition: all ease 300ms;
}
.outgoing_contents:hover::before {
    opacity: 0;
}
.outgoing_inr {
    position: relative;
    z-index: 2;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.outg_ttl {
    font-size: min(8.25vw,60px);
    line-height: 100%;
    margin-bottom: min(4vw,30px);
    color: #fff !important;
}
.outg_subttl {
    font-size: min(4vw, 16px);
    font-weight: normal;
    color: #fff;
    margin-bottom: min(5vw, 40px);
}
.outg_btn {
    width: 268px;
    background: #fff;
    font-size: min(3.5vw, 16px);
    padding: min(3vw, 16px) 0;
    line-height: 100%;
    position: relative;
    color: #000 !important;
    margin: 0 auto;
}
.outg_btn::after {
    font-family: 'design_plus';
    content: '\e910';
    color: #000;
    padding: 0.3em;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    display: inline-block;
    margin-left: 0.7em;
}
@media screen and (max-width:1000px) {
    .outgoing_contents{
        width: 100%;
    }
    .outg_ttl br{
        display: none;
    }
}
/*=======================
グーグルカレンダー
=======================*/
#google_cal{
    margin: 0 auto min(15vw,80px);
    display: block;
    width: min(90vw,1080px);
    height: min(90vw,810px);
}
/*=======================
資料　data_wrap
=======================*/
.data_wrap{
    background: #f3f2f1;
    padding: min(15vw,120px) 0 min(6vw,50px); 
    margin-bottom: min(15vw, 80px);
}
.data_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.data_contents{
    width: 47%;
    padding-bottom: min(15vw, 80px);
}
.data_img {
    margin-bottom: min(3.5vw, 22px);
    aspect-ratio:345/238;
    overflow: hidden;
}
.data_img a img{
    transition: all ease 600ms;
}
.data_img a:hover img {
    transform: scale(1.15);
}
.data_img img {
    width: 100%;
}
.data_txt {
    font-size: min(3.5vw, 15px);
    line-height: 180%;
}
@media screen and (max-width:760px) {
.data_contents{
    width: 100%;
}
}

/*=======================
外部リンク links_wrap
=======================*/
.links_wrap {
    margin-bottom: min(15vw, 80px);
}
.links_list {
    display: flex;
    flex-wrap: wrap;
}
.links_list li {
    width:23%;
    width:32%;
    height: min(18vw,100px);
    box-sizing: border-box;
    margin: 8px;
}
.links_link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    font-size: min(4vw, 19px);
    line-height: 1.4;
    width: 100%;
    height: 100%;
    border-bottom: 1px solid #ccc;
    transition: all ease 300ms;
    padding-right: 1em;
    padding-left: 1em;
    box-sizing: border-box;
}
.links_list li:hover .links_link {
    border-color:inherit;
}
@media screen and (max-width:1000px) {
.links_list li {
    width: calc(100% / 3 - 16px);
}
}
@media screen and (max-width:640px) {
.links_list li {
    width: calc(100% / 2 - 16px);
}
}

.notfound {
    margin-bottom: 100px;
}


.img_month {
    aspect-ratio: 4/3;
    overflow: hidden;
}
.img_month img {
    object-fit: cover;
    object-position: center;
}