@charset "UTF-8";
/* 20260212ここから */
.section_box{
    letter-spacing: 0.2em;
}
.img_cap{
    letter-spacing: initial;
}
.sec_cap{
    letter-spacing: initial;
}

.db500{
    display: none;
}

@media screen and (max-width: 650px){
.sec_lead {
    font-size: 13px;
}
}

@media screen and (max-width: 500px){
.db500{
    display: block;
}
}
/* 20260212ここまで */

/* ▼20260213追加_ここから */
.bnr_info{
	max-width: 720px;
	width: 100%;
	margin: 30px auto 0;
}
.bnr_info02{
    max-width: 770px;
}

.bnr_info.bnr_active{
    transition-duration: 0.6s;
}

.bnr_info.bnr_active:hover{
	opacity: 0.6;
}
/* ▲20260213追加_ここまで */

/* ▼20260310追加_ここから */
/* bnr_area */
.bnr_area{
    padding: 100px 0;
    background: #231815;
}
.bnr_item{
    max-width: 675px;
    margin: 0 auto;
    width: 70%;
    transition: 0.3s;
}
.bnr_item:hover{
    opacity: 0.8;
}
.bnr_item:not(:first-of-type){
    margin-top: 80px;
}
@media screen and (max-width: 1000px) {
    .bnr_area {
        padding: 60px 0;
    }
    .bnr_item:not(:first-of-type) {
        margin-top: 40px;
    }
}
@media screen and (max-width: 750px) {
    .bnr_item {
        width: 100%;
        max-width: 380px;
    }
}
/* ▲20260310追加_ここまで */


/* top */
.top_obi_box{
    background: #111;
    /* height: 120px; */
    display: flex;
    justify-content: center;
    align-items: center;
    /*padding: 30px 0;*/
    padding: 20px 0;
}
.top_obi_flex{
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    max-width: 1300px;
    padding: 0 20px;
}

.top_obi_merit{
    
    width: 100%;
    /*max-width: 1300px;*/
    max-width: 1200px;
    padding: 0 20px;
}

.top_obi_flex > div{
    /* width: 32%; */
    height: min(5vw ,65px);
    margin: 0 2%;
}
.top_obi_flex > div img{
    width: auto;
    height: 100%;
}
.information_box{
    background: #f6f6f6;
    padding: 40px 0 50px;
}

.information_box .img_box{/* 	width: auto; *//* 	height: min(17.5vw,336px); */width: min(80%,525px);margin: 0 auto;text-align: center;}
.information_box .img_box img{
	width: auto;
	/* height:100%; */
	max-width: 100%;
}
#top{
    /* margin-bottom: 100px; */
}

.Caption_yobi{
	font-family: 'Noto Serif JP', serif;
	word-break: break-all;
	margin-top: 10px;
}
.Caption_yobi p{
	font-size:10px;
	color:#333333;
}

.Caption_yobi a{
	font-size:10px;
	transition:all 0.5s;
	color:#3952cb;
}


.login_bg {
    background: url(../img/top/member_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    padding: 10px;
    margin: 0 auto 100px;
}
.login {
    max-width: 770px;
    margin: 100px auto;
    padding: 80px 80px;
    background-color: rgb(255 255 255 / 88%);
    border-radius: 10px;
    /* box-shadow: 0px 2px 5px #7d7d7d; */
    box-sizing: border-box;
}
.login h3 {
    text-align: center;
    margin-bottom: 20px;
    font-size: 30px;
    line-height: 40px;
    font-weight: 400;
    color: #080808;
    letter-spacing: 2px;
}
.login form {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.login form > p {
    width: 100%;
    margin-bottom: 20px;
    color: #000000;
    line-height: 30px;
    text-align: center;
    font-size: 16px;
    letter-spacing: 0;
}
.login form #Mail_area {
    width: 70%;
    max-height: 50px;
}
#Mail_area .Inputarea {
    width: 100%;
    height: 100%;
    border-right: none;
}
#Mail_area .Inputarea input {
    height: 100%;
    padding: 10px;
    width: 100%;
    background-color: #ffffffe5;
    box-sizing: border-box;
    outline: none;
    font-size: 14px;
}
#Submit {
    width: 30%;
    max-height: 50px;
    height: 100%;
    line-height: initial;
}
#Submit input {
    height: 100%;
    padding: 10px;
    color: #fff;
    background-color: #cb3333;
    width: 100%;
    text-align: center;
    font-size: 16px;
    box-sizing: border-box;
    outline: none;
}



@media screen and (max-width: 1040px){
    .top_obi_flex{
        flex-wrap: wrap;
        /* justify-content: space-around; */
    }
    .top_obi_flex > div {
        /* width: 47%; */
    }
    .top_obi_flex > div:not(:last-child){
        /* margin-bottom: 10px; */
    }
}


@media screen and (max-width: 850px){
    .top_obi_flex > div:not(:last-child){
        /* margin-bottom: 20px; */
    }
    .top_obi_flex > div {
        width: auto;
        height: min(6vw ,64px);
    }
	.top_obi_flex > div:last-child{
        margin-top: 20px;
    }
}

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

}

@media screen and (max-width: 650px){
	.top_obi_box{
		padding:10px 0;
	}
	.top_obi_merit{
	    max-width:unset;
	    padding: 0 5px;
	}
    .top_obi_flex > div {
        /* width: 100%; */
    }
    .top_obi_flex {
        width: 100%;
        max-width: 440px;
    }
    .top_obi_flex > div {
        width: auto;
        height: max(9vw ,44px);
    }
    .top_obi_flex > div:not(:last-child){
        margin-bottom: 20px;
    }
	.top_obi_flex > div:last-child{
        margin-top: 0px;
    }

    .login_bg{
        margin: 0 auto 60px;
    }


    .login{
		padding: 50px 30px;
		margin: 70px auto;
	}
    .login h3 {
		font-size: 20px;
		line-height: 35px;
	}
	.login form > p {
		font-size: 13px;
	}
} 

/* top END*/



/* バナー全体のコンテナ */
.floating_banner_wrap {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 99;
    width: 300px;
    max-width: 45%;
    transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s;
    opacity: 1;
    visibility: visible;
}

/* 非表示クラス（JSで制御する場合用） */
.floating_banner_wrap.is_hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateY(20px);
    visibility: hidden;
}

.floating_banner_wrap.is_dismissed {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: scale(0.9);
    visibility: hidden;
}

/* リンクと画像 */
.banner_link {
    display: block;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    line-height: 0;
    transition: opacity 0.2s ease;
}

.banner_link:hover {
    opacity: 0.9;
}

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

/* 閉じるボタン */
.banner_close_btn {
    position: absolute;
    top: -12px;
    right: -12px;
    width: 30px;
    height: 30px;
    background: #333;
    border: 2px solid #fff;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    padding: 0;
}

.banner_close_btn span::before,
.banner_close_btn span::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 15px;
    height: 2px;
    background: #fff;
}

.banner_close_btn span::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.banner_close_btn span::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (max-width: 1130px) {
    .floating_banner_wrap{
        bottom: 60px;
    }
}

@media screen and (max-width: 768px) {
    .floating_banner_wrap {
        right: 10px;
        /* bottom: 10px; */
    }
}





.info_img{
    /* max-width: 400px; */
    max-width: 420px;
    margin: 0 auto;
    width: 50%;
}


@media screen and (max-width: 650px) {
    .info_img{
        /* width: 70%; */
        width: 80%;
    }
}

