@charset "utf-8";
.mv {
    background: repeating-conic-gradient( #f8f8f8 0% 25%,  #fff 0% 50%);
    background-size: 300px 300px;
    box-shadow: 0 -10px 10px -7px rgba(0,0,0,0.3) inset;
}
.mv-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
}
.mv-img{
    width: 35vw;
    max-width: 600px;
    min-width: 400px;
    display: flex;
    align-items: flex-end;
    padding-top: 2em;
}
.mv-catch{
    width: 26em;
    margin-right: 2em;
    padding: 3em 0;
}
.mv-copy{
    font-size: clamp(21px, 1.5vw, 24px);
    margin-bottom: 0.5em;
}
.mv-copy small{
    display: block;
    font-size: clamp(21px, 1.5vw, 24px);
}
.mv-copy b{
    font-size: clamp(32px, 5vw, 48px);
    line-height: 1.2;
}
.mv-copy span{
    display: block;
    background: var(--gold);
    color: #fff;
    font-family: san-serif;
    font-weight: normal;
    letter-spacing: 0.2em;
    font-size: clamp(12px, 1.1vw, 14px);
    box-shadow: 0px 1px 0px 1px rgba(0, 0, 0, 0.2);
}
.mv-btn .btn-a{
	border: 1px solid var(--purple);
	background: #fff;
	color: var(--purple);
}
.mv-btn .btn-a:hover{
	background: var(--gold);
	border: 1px solid var(--gold);
	color: #fff;
}
@media screen and (max-width: 880px) {
    .mv {
        background: repeating-conic-gradient( #f8f8f8 0% 25%,  #fff 0% 50%);
        background-size: 200px 200px;
    }
    .mv-wrapper{
        align-items: inherit;
    }
    .mv-img {
        width: 47%;
        min-width: inherit;
    }
    .mv-catch {
        width: inherit;
        padding: 2em 0;
        flex: 1;
        margin-right: 1em;
    }
}
@media screen and (max-width: 680px) {
    .mv-wrapper{
        flex-wrap: wrap;
    }
    .mv-catch{
        width: 100%;
        flex: initial;
        margin-right: 0;
    }
    .mv-copy{
        width: 85%;
        margin: 0 auto 0.5em;
    }
    .mv-img{
        width: 80%;
        padding-top: 0;
    }
}

/*ACCOUNT*/
.account-item{
    position: relative; 
}
.account-year{
    font-size: clamp(24px, 2.1vw, 38px);
    display: flex;
    align-items: center;
}
.account-year small{
    font-size: clamp(16px, 1.4vw, 28px);
}
.account-year:after{
    content: "";
    display: block;
    flex: 1;
    height: 1px;
    border-bottom: 1px dotted var(--black);
}
.account-content{
    position: relative;
    width: 90%;
    max-width: 980px;
    margin: 0 0 0 auto;
    z-index: 2;
}
.account-ad{
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    font-size: clamp(100px, 15vw, 200px);
    color: #F2F2F2;
    font-family: 'Average', serif;
    font-weight: bold;
    letter-spacing: -0.1em;
    z-index: -1;
}
.account-h3{
    font-size: clamp(16px, 1.5vw, 24px);
    color: var(--purple);
}
.account-ul{
    padding-left: 1.5em;
}
.account-li{
    list-style: disc outside;
}
.account-li a:hover{
    color: var(--gold);
    text-decoration: underline;
}
@media screen and (max-width: 480px) {
    .account-content{
        width: 100%;
    }
}

/*HITSORY*/
.history-table{
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0 5px;
}
.history-table th{
	padding: 0 0 0.3em;
    width: 5em;
	vertical-align: top;
    font-size: clamp(21px, 2vw, 28px);
	line-height: 1;
}
.history-table td{
    padding: 1em 0;
}
.history-table td:nth-child(2){
    width: 5em;
    background: #eee;
    text-align: center;
}
.history-li{
    display: flex;
    justify-content: space-between;
    line-height: 1.3;
}
.history-li:last-child{
	margin-bottom: 0 !important;
}
.history-date{
    width: 5em;
    text-align: right;
    margin-right: 1em;
    font-size: clamp(12px, 1.1vw, 14px);
    padding-top: 0.2em;
}
.history-item{
    flex: 1;
	line-height: 1.4;
}
@media screen and (max-width: 580px) {
    .history-table,
    .history-table tbody,
    .history-table tr,
    .history-table th,
    .history-table td{
        display: block;
        width: 100%;
        padding: 0 !important;
        text-align: left;
    }
    .history-table tr{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        margin-bottom: 2em;
    }
    .history-table th{
        width: 3.5em;
    }
    .history-table td:first-of-type{
        flex: 1;
    }
}

/*ORGANIZATION*/
.organization *{
    line-height: 1.3;
    font-size: clamp(14px, 1.3vw, 18px);
}
.organization-wrapper {
    display: flex;
	justify-content: center;
	gap: 0.5em;
	width: 90%;
    max-width: 980px;
    margin: 0 auto;
}
.organization-head{
	display: flex;
    flex-direction: column;
    gap: 0.5em;
	width: 11em;
}
.organization-item{
    text-align: center;
	padding: 1em 2em;
	border: 1px solid var(--black);
	background: #fafafa;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.organization-item b{
    display: block;
	font-size: clamp(16px, 1.4vw, 18px);
	font-weight: 500;
	line-height: 1.2;
}
.organization-item ul{
    display: inline-block;
}
.organization-item li{
    text-align: left;
	white-space: nowrap;
}
.organization-item li:before{
    content: "●";
	color: var(--gold);
	font-size: 60%;
	padding-right: 0.5em;
	vertical-align: 2px;
}
.organization-wrapper:nth-of-type(2){
	align-items: flex-start;
}
.organization-wrapper:nth-of-type(2) .organization-item{
	flex: 1;
}
.organization-section{
    width: 100%;
	padding: 1em 0.5em;
	margin: 0.5em 0;
	border: 1px solid var(--black);
	background: #fff;
    text-align: left;
    position: relative;
    display: flex;
    align-items: center;
}
.organization-section ul{
	margin: 0 0 0 1em;
}
.organization-section a{
	flex: 1;
	text-align: right;
    font-size: clamp(11px, 2vw, 14px);
    text-decoration: underline;
    color: var(--gold);
}
.organization-section a:hover{
    color: var(--purple);
}
.organization-item_wrap{
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}
.organization-list{
    max-width: 980px;
    margin: 0 auto;
}
.organization-list_h4{
    border-left: 7px solid var(--purple);
    font-size: clamp(21px, 2vw, 28px);
    padding-left: 0.5em;
    line-height: 1;
    margin-bottom: 0.5em;
}
.organization-list_table{
    width: 100%;
    border-collapse: separate;

}
.organization-list_table th,
.organization-list_table td{
    padding: 0.7em 0;
    text-align: left;
    border-bottom: 1px dotted var(--black);
    line-height: 1.2;
}
.organization-list_table th{
    width: 10em;
}
.organization-list_table td:first-of-type{
    width: 15em;
}
.organization-list_table tr:first-of-type span{
    display: block;
    background: #eee;
}
.organization-list_table tr:first-of-type th,
.organization-list_table tr:first-of-type td{
    border: none;
    text-align: center;
    padding: 0.2em;
}
@media screen and (max-width: 680px) {
	.organization-section {
		flex-wrap: wrap;
	}
	.organization-section a {
		flex: inherit;
		width: 100%;
	}
    .organization-item small{
        display: block;
    }
    .organization-list_table th {
        width: 6em;
    }
    .organization-list_table td:first-of-type {
        width: 10em;
    }
}
@media screen and (max-width: 480px) {
	.organization-item{
		flex: 1;
		padding: 1em 0.5em;
	}
    .organization-list_table,
    .organization-list_table tbody,
    .organization-list_table tr,
    .organization-list_table th,
    .organization-list_table td{
        display: block;
        width: 100%;
        padding: 0;
        border: none;
        line-height: 1.6;
    }
    .organization-list_table tr:first-of-type{
        display: none;
    }
    .organization-list_table tr{
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        padding: 1em 0;
        border-bottom: 1px dotted var(--black);
    }
    .organization-list_table th{
        width: 7em;
        background: #eee;
        padding: 0.1em 0;
        text-align: center;
        margin-right: 0.5em;
    }
    .organization-list_table td:first-of-type{
        flex: 1;
        color: var(--purple);
    }
    .organization-list_table td:last-of-type{
        width: 100%;
    }
}

/*INSPECTION*/
.inspection{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.inspection-contents{
    flex: 1;
    padding-top: 2em;
}
.inspection-content{
    position: relative;
    border: 1px solid var(--black);
}
.inspection-h3{
    display: inline-block;
    background: #fff;
    position: absolute;
    line-height: 1;
    top: -0.5em;
    left: 1em;
    padding: 0 0.2em;
}
.inspection-summary p b{
    background: linear-gradient(180deg, transparent 0%, transparent 60%, var(--gold20) 60%, var(--gold20) 100%);
}
.inspection-summary p.note{
    font-size: clamp(13px, 1.2vw, 15px);
    padding-left: 1em;
    text-indent: -1em;
}
.inspection-summary_img{
    max-width: 250px;
}
.inspection-link{
    background: #eee;
}
.inspection-h4{
    line-height: 1.3;
    padding-left: 1.1em;
    text-indent: -1em;
    margin-bottom: 0.5em;
    font-size: clamp(16px, 1.4vw, 21px);
}
.inspection-h4:before{
    content: "■";
    color: var(--purple);
    padding-right: 0.1em;
    vertical-align: 0.1em;
    font-size: 90%;
}
.inspection-h4 br{
    display: none;
}
.inspection-link p{
    padding-left: 1.5em;
    margin-bottom: 0;
}
.inspection-link_ul{
    padding-left: 1.5em;
    margin-left: 1.3em;
}
.inspection-link_ul li{
    list-style: disc outside;
}
.inspection-link a{
    color: var(--gold);
    text-decoration: underline;
}
.inspection-link a:hover{
    color: var(--purple);
}
.inspection-laws{
    width: 25em;
    margin-left: 3em;
}
.inspection-h5{
    background: #eee;
    padding: 0.1em 1em;
    text-align: center;
    margin: 2em 0 0.5em;
}
.inspection-laws_ol{
    padding-left:1.5em; 
}
.inspection-laws_ol li{
    list-style: decimal outside;
}
@media screen and (max-width: 980px) {
    .inspection-laws{
        width: 100%;
        margin-left: 0;
    }
}
@media screen and (max-width: 480px) {
    .inspection-h3{
        display: block;
        width: 95%;
        margin: -1em auto 0;
        text-align: center;
        position: relative;
        top: inherit;
        left: inherit;
        background: transparent;
    }
    .inspection-summary{
        padding-top: 2em !important;
    }
    .inspection-summary_img{
        margin: 0 auto;
    }
    .inspection-h4 br{
        display: block;
    }
}

/*METHOD*/
.methods-contents{
    position: relative;
    border: 1px solid var(--black);
}
.methods-h3{
    display: inline-block;
    background: #fff;
    position: absolute;
    line-height: 1;
    top: -0.5em;
    left: 1em;
    padding: 0 0.2em;
    z-index: 2;
}
.methods-content{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.methods-summary{
    flex: 1;
}
.methods-img{
    max-width: 350px;
    width: 40%;
    margin-left: 3em;
}
.methods-detail{
    background: #eee;
}
.methods-h4{
    line-height: 1.3;
    padding-left: 1.1em;
    text-indent: -1em;
    margin-bottom: 0.5em;
    font-size: clamp(16px, 1.4vw, 21px);
}
.methods-h4:before{
    content: "■";
    color: var(--purple);
    padding-right: 0.1em;
    vertical-align: 0.1em;
    font-size: 90%;
}
.methods-table{
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 5px;
}
.methods-table th,
.methods-table td{
    padding: 1em;
    line-height: 1.3;
}
.methods-table th{
    background: var(--purple);
    color: #fff;
    width: 10em;
}
.methods-table td{
    background: #fff;
}
.methods-area_h4 {
    line-height: 1.3;
    margin-bottom: 0.5em;
    font-size: clamp(16px, 2.4vw, 21px);
    background: #eee;
    padding: 1em;
}
.methods-area_h4:before {
    content: "■";
    color: var(--purple);
    padding-right: 0.1em;
    vertical-align: 0.1em;
    font-size: 90%;
}
.methods-area_content{
    width: 100%;
    max-width: 1180px;
    margin: 0 0 0 auto;
}
.methods-area_h5{
    text-align: center;
    margin-bottom: 0.5em;
}
.methods-area_h5 span{
    display: inline-block;
    font-size: clamp(18px, 3vw, 21px);
    background: linear-gradient(180deg, transparent 0%, transparent 60%, var(--gold20) 60%, var(--gold20) 100%);
}
.even .methods-area_h5 span{
    background: linear-gradient(180deg, transparent 0%, transparent 60%, var(--purple20) 60%, var(--purple20) 100%);
}
.methods-area_table{
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.methods-area_table th,
.methods-area_table td{
    border: 1px solid var(--black);
    padding: 1em 0.5em;
    line-height: 1.3;
    font-size: clamp(13px, 1.8vw, 18px);
}
.methods-area_table th br,
.methods-area_table td br{
    display: none;
}
.methods-area_table th{
    background: var(--gold10);
}
.methods-area_table tr:first-of-type th{
    background: var(--gold20);
}
.even .methods-area_table th{
    background: var(--purple10);
}
.even .methods-area_table tr:first-of-type th{
    background: var(--purple20);
}
.methods-area_table tr:first-of-type th:first-of-type{
    width: 6em;
}
.methods-area_table tr td:first-of-type{
    text-align: center;
}
.methods-area_table tr td:nth-of-type(2),
.methods-area_table tr td:nth-of-type(3),
.methods-area_table tr td:nth-of-type(4){
    width: 10em;
}
.shinai .methods-area_table td{
    text-align: center;
}
@media screen and (max-width: 680px) {
    .methods-summary{
        flex: initial;
        width: 100%;
        margin-bottom: 2em;
    }
    .methods-img{
        max-width: 300px;
        width: 100%;
        margin: 0 auto;
    }
}
@media screen and (max-width: 680px) {
    .methods-area_table th br{
        display: block;
    }
}
@media screen and (max-width: 480px) {
    .methods-contents {
        margin-top: 2em;
    }
    .methods-h3{
        display: block;
        width: 95%;
        margin: -3em auto 1em;
        text-align: center;
        position: relative;
        top: inherit;
        left: inherit;
        background: transparent;
    }
    .methods-table th {
        width: 7em;
    }
    .methods-area_table td br{
        display: block;
    }
    .methods-area_table th,
    .methods-area_table td{
        padding: 1em 0.2em;
    }
}

/*FEE*/
.fees-item_detail{
    display: flex;
    flex-wrap: wrap;
}
.fees-item_h4{
    line-height: 1.3;
    margin-bottom: 0.5em;
    font-size: clamp(16px, 2.4vw, 21px);
    background: #eee;
    padding: 1em;
}
.fees-item_h4:before{
    content: "■";
    color: var(--purple);
    padding-right: 0.1em;
    vertical-align: 0.1em;
    font-size: 90%;
}
.fees-item_group{
    width: 18em;
}
.feea-group_ul{
    padding-left: 1.5em;
}
.feea-group_ul li{
    list-style: disc outside;
    padding: 0.2em 0;
}
.fee-item_table{
    flex: 1;
    border-collapse: collapse;
}
.fee-item_table th,
.fee-item_table td{
    border: 1px solid #666;
    padding: 0.5em 1em;
    text-align: center;
    width: 50%;
}
.fee-item_table th{
    text-align: center;
    background: var(--gold20);
}
.fees-item_ul li{
    padding-left: 1.3em;
    text-indent: -1.3em;
    font-size: 90%;
}
.fees-item_ul li:before{
    content: "※";
}
@media screen and (max-width: 680px) {
    .fees-item_group{
        width: 100%;
    }
}

/*ADMISSION*/
.admission-contents{
    position: relative;
    border: 1px solid var(--black);
}
.admission-table{
    width: 100%;
    border-collapse: collapse;
	table-layout: auto;
}
.admission-table th{
	border: 1px solid #fff;
	padding: 0.5em;
    background: var(--purple);
    color: #fff;
}
.admission-table th:first-of-type{
	border-left: 1px solid var(--purple);
	width: 10em;
}
.admission-table th:last-of-type{
	border-right: 1px solid var(--purple);
}
.admission-table td{
    padding: 0.5em;
	border: 1px solid var(--black);
}
.admission-table td,
.admission-table td p{
	font-size: clamp(14px, 1.4vw, 17px);
	line-height: 1.3;
}
.admission-table td:nth-of-type(3){
	width: 5em;
	text-align: right;
}
.admission .contact-form {
    max-width: 980px;
}
.admission .form-item_h6 {
    flex-basis: 13em;
}
.admission-date{
	display: block;
	text-align: right;
	margin: 0.5em 0 0;
}
@media screen and (max-width: 980px) {
    .admission-table,
	.admission-table tbody,
	.admission-table tr,
	.admission-table th,
	.admission-table td{
		display: block;
		width: 100% !important;
		padding: 0;
		border: none;
	}
	.admission-table th{
		display: none;
	}
	.admission-table tr{
		margin-bottom: 2em;
	}
	.admission-table td:first-of-type{
		background: #eee;
		padding: 0.5em;
		border-left: 10px solid var(--purple);
		margin-bottom: 1em;
	}
	.admission-table td:nth-of-type(2){
		padding-left: 2em;
		color: var(--purple);
	}
	.admission-table td:nth-of-type(2):before{
		content: "－部会－";
		text-indent: -1em;
		display: inline-block;
		margin-bottom: 0.2em;
	}
	.admission-table td:nth-of-type(3){
		text-align: right;
	}
	.admission-table td:nth-of-type(3):before{
		content: "会員数：";
	}
	.admission-table td:nth-of-type(4){
		padding-left: 2em;
		color: var(--purple);
	}
	.admission-table td:nth-of-type(4):before{
		content: "－関連団体－";
		text-indent: -1em;
		display: inline-block;
		margin-bottom: 0.2em;
	}
}

/*SCHEDULE*/
.schedule-nav_wrap{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.schedule-nav{
	width: 49%;
}
.schedule-nav_title{
	font-size: clamp(16px, 1.4vw, 18px);
	margin-bottom: 0.2em;
}
.schedule-nav_title:before{
	content: "●";
	display: inline-block;
	margin-right: 0.2em;
}
.schedule-nav_area{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(6em, 1fr));
    gap: 0.5em;
}
.schedule-nav_a{
    text-align: center;
    padding: 0.2em 0;
	color: var(--black);
}
.schedule-nav:first-of-type .schedule-nav_title:before{
	color: var(--gold);
}
.schedule-nav:first-of-type .schedule-nav_a{
    border: 1px solid var(--gold);
    border-left: 5px solid var(--gold);
	background: #fff;
}
.schedule-nav:first-of-type .schedule-nav_a:hover{
	background: var(--gold);
	color: #fff;
}
.schedule-nav:last-of-type .schedule-nav_title:before{
	color: var(--purple);
}
.schedule-nav:last-of-type .schedule-nav_a{
    border: 1px solid var(--purple);
    border-left: 5px solid var(--purple);
	background: #fff;
}
.schedule-nav:last-of-type .schedule-nav_a:hover{
	background: var(--purple);
	color: #fff;
}




.schedule-nav_pat{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.schedule-nav_patrolling{
    width: 33%;
    border: 1px solid var(--gold);
    border-left: 5px solid var(--gold);
    padding: 0.3em 0;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.schedule-nav_patrolling br{
    display: none;
}
.schedule-nav_patrolling:hover{
    background: var(--gold);
    color: #fff;
}
.schedule-h3{
    font-size: clamp(21px, 2vw, 28px);
    display: flex;
    align-items: center;
    line-height: 1.3;
    margin-bottom: 0.5em;
}
.schedule-h3:after{
    content: "";
    display: block;
    flex: 1;
    height: 1px;
    background: var(--black);
}
.schedule-h3 br{
    display: none;
}
.schedule-item{
    display: flex;
}
.schedule-year{
    flex: 1;
    text-align: right;
    font-size: clamp(21px, 2vw, 28px);
    margin-right: 0.5em;
}
.schedule-table{
    width: 100%;
    max-width: 1180px;
    margin: 0 0 0 auto;
    border-collapse: collapse;
}
.schedule-table th,
.schedule-table td{
    padding: 0.5em;
    border: 1px solid #999;
    line-height: 1.4;
    font-size: clamp(14px, 1.8vw, 18px);
}
.schedule-table tr:nth-child(even){
    background: #eee;
}
.schedule-table th{
    background: var(--purple);
    color: #fff;
}
.schedule-table th:first-child{
    border-left: 1px solid var(--purple);
}
.schedule-table th:last-child{
    border-right: 1px solid var(--purple);
}
.schedule-plan{
    width: 100%;
    max-width: 1180px;
    margin: 0 0 0 auto;
    padding: 0.5em 1em;
    border: 1px solid #999;
}
.schedule-table_patroll th,
.schedule-table_patroll td{
    width: 50%;
    word-break: auto-phrase;
}
.schedule-area .att{
    width: 100%;
    max-width: 1180px;
    margin: 0 0 0.5em auto;
}
.schedule-patroll_table{
    max-width: 1180px;
    margin: 0 0 0 auto;
	width: 100%;
	border-collapse: collapse;
}
.schedule-patroll_table th,
.schedule-patroll_table td{
	border: 1px solid #999;
}
.schedule-patroll_table th{
	background: var(--purple);
	color: #fff;
	width: 15em;
	padding: 0.5em 0;
	line-height: 1.3;
}
.schedule-patroll_table td{
	padding: 1em;
}
.schedule-patroll_table td p{
	margin-bottom: 0.3em;
}
.schedule-patroll_table th.gray-bk{
	background: #eee;
	color: var(--black);
}
@media screen and (max-width: 1280px) {
    .schedule-nav_patrolling br{
        display: block;
    }
}
@media screen and (max-width: 680px) {
	.schedule-nav{
		width: 100%;
	}
    .schedule-nav_patrolling{
        width: 100%;
        margin-bottom: 0.5em;
        padding: 0.5em;
        justify-content: flex-start;
        text-align: left;
    }
    .schedule-nav_patrolling br{
        display: none;
    }
    .schedule-h3 br{
        display: block;
    }
    .schedule-table td:first-child{
        width: 8em;
    }
    .schedule-table td span{
        display: block;
    }
}

/*ACCESS*/
.access .page-h3 br{
    display: none;
}
.access-wrap{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.access-wrap .access-a{
    display: block;
    color: var(--gold);
    text-decoration: underline;
}
.access-wrap .access-a:hover{
    color: var(--purple);
}
.access-content{
    width: 47%;
}
.access-h4{
    line-height: 1.3;
    padding-left: 1.1em;
    text-indent: -1em;
    margin-bottom: 0.5em;
    font-size: clamp(16px, 1.4vw, 21px);
}
.access-h4:before{
    content: "■";
    color: var(--purple);
    padding-right: 0.1em;
    vertical-align: 0.1em;
    font-size: 90%;
}
.access-ul{
    padding-left: 1.5em;
    margin-left: 1.3em;
}
.access-ul li {
    list-style: disc outside;
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 1.3;
    margin: 0.5em 0;
}
.access-map{
    width: 50%;
}
.access-map .gmap{
    padding-bottom: 100%;
    filter: grayscale(0.4);
}
@media screen and (max-width: 980px) {
    .access-content{
        width: 100%;
        margin-bottom: 2em;
    }
    .access-map{
        width: 100%;
    }
    .access-map .gmap{
        padding-bottom: 40vh;
    }
}
@media screen and (max-width: 480px) {
    .access .page-h3 br{
        display: block;
    }
}

/*CONTACT*/
.contact-form{
    max-width: 880px;
    margin-inline: auto;
}
.contact-privacy{
    border: 1px solid var(--black);
    height: 200px;
    overflow-y: scroll;
}
.contact-privacy h4{
    font-size: clamp(14px, 1.2vw, 16px);
    border-bottom: 1px solid var(--black);
    margin-bottom: 0.5em;
}
.contact-privacy h5,
.contact-privacy p,
.contact-privacy a,
.contact-privacy span{
    font-size: clamp(13px, 1.2vw, 15px);
}
.contact-privacy p{
    padding-left: 2em;
}
.contact-privacy h5:before{
    content: "■ ";
}

/*THANKS*/
.thanks-wrap{
    display: inline-block;
}
.thanks-wrap p{
    text-align: left;
}
.thanks-address{
    background: #eee;
    text-align: left;
}
@media screen and (max-width: 680px) {
    .thanks-wrap p br{
        display: none;
    }
}

/*TERMS*/
.terms{
    max-width: 980px;
    margin-inline: auto;
}
.terms h3{
    font-size: clamp(16px, 1.5vw, 24px);
    margin: 2em 0 0.5em;
    display: flex;
    align-items: center;
}
.terms h3:after{
    content: "";
    flex: 1;
    height: 1px;
    background: var(--black);
}
.terms li,
.terms p,
.terms p a{
    font-size: clamp(13px, 1.2vw, 16px);
}
.terms p a{
    color: var(--gold);
    text-decoration: underline;
}
.terms p a:hover{
    color: var(--purple);
}
.terms li{
    list-style: disc outside;
}
.terms ul{
    padding-left: 1.5em;
    margin: 1em 0;
}

/*INFORMATION*/
.information{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.information-header{
    width: 100%;
}
.information-post{
    flex: 1;
}
.information-editor{
    border: 1px solid var(--black);
}
.information-editor p a{
    color: var(--gold);
    text-decoration: underline;
}
.home-info .information-archive_ol li{
	margin-bottom: 2em !important;
}
@media screen and (max-width: 1280px){	
	.information-side {
		margin-left: 1em;
	}
}	
@media screen and (max-width: 980px){	
	.information-post{
		flex: inherit;
		width: 100%;
	}
}	

/*SIDE*/
.information-side{
    width: 25%;
    margin-left: 3em;
}
.information-dl{
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 0.5em;
}
.information-dl dt{
    background: #eee;
    width: 10em;
    display: flex;
    justify-content: center;
    align-items: center;
}
.information-dl dd{
    flex: 1;
}
.information-dl dd a{
    color: var(--gold);
    text-decoration: underline;
}
.information-h4{
    background: #eee;
    padding: 0.2em 0.5em;
    margin-bottom: 0.5em;
}
.information-h4:before{
    content: "■";
    color: var(--purple);
}
.information-cat_ol{
    padding-left: 2.5em;
}
.information-cat_ol li{
    list-style: disc outside;
}
.information-cat_ol li a:hover,
.information-cat_ol li.current-cat a{
	color: var(--gold);
}
.information-cat_ol li a:hover{
	text-decoration: underline;
}
.information-latest_ol li{
    border-bottom: 1px dotted var(--black);
}
.information-latest_date{
    display: block;
    font-size: clamp(12px, 1.1vw, 14px);
    line-height: 1;
}
.information-latest_cat a{
    color: var(--gold);
    text-decoration: underline;
    font-size: clamp(12px, 1.1vw, 14px);
    margin-right: 1em;
}
.information-latest_cat a:hover{
    color: var(--purple);
}
.information-latest_a{
    display: block;
    font-size: clamp(13px, 1.2vw, 16px);
    line-height: 1.3;
}
.information-latest_a:hover{
    text-decoration: underline;
}
@media screen and (max-width: 980px) {
	.information-side{
		flex: 1;
		width: 100%;
		margin: 2em 0 0;
	}
}

/*ARCHIVE*/
.information-archive{
    flex: 1;
}
.information-archive_li{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.information-archive_header{
	width: 10em;
	margin-right: 1em;
}
.information-archive_text{
	flex: 1;
	display: flex;
	justify-content: space-between;
}
.information-archive_thumb{
	width: clamp(100px, 10vw, 200px);
	background: #eee;
	padding: 0.5em;
	margin-right: 1em;
	display: flex;
    align-items: center;
}
.information-archive_summary{
	flex: 1;
}
.information-archive_cat{
	display: block;
}
.information-archive_cat a{
	display: block;
	background: #eee;
	text-align: center;
	font-size: clamp(13px, 1.2vw, 16px);
	line-height: 1;
	padding: 0.5em;
	margin-bottom: 0.2em;
}
.information-archive_cat a:hover{
	background: var(--gold);
	color: #fff;
}
.information-archive_title{
	display: block;
	font-size: clamp(16px, 2.4vw, 24px);
	margin-bottom: 0.2em;
	border-bottom: 1px dotted var(--black);
}
.information-archive_title:hover{
	color: var(--gold);
}
.information-archive_text p{
	font-size: clamp(13px, 1.2vw, 16px);
}
.information-archive_text p a{
	font-size: clamp(13px, 1.2vw, 15px);
	color: var(--gold);
	text-decoration: underline;
	display: inline-block;
	margin-left: 1em;
}
.information-archive_text p a:hover{
	color: var(--purple);
}
@media screen and (max-width: 1280px) {
	.information-archive_header{
		margin-right: 1em;
	}
}
@media screen and (max-width: 980px) {
	.information-archive{
		flex: inherit;
		width: 100%;
		margin-bottom: 3em;
	}
}
@media screen and (max-width: 680px) {
	.information-archive{
		margin-bottom: 2em;
	}
	.information-archive_text{
		flex: inherit;
		width: 100%;
		margin-top: 0.5em;
	}
	.information-archive_header{
		width: 100%;
	}
	.information-archive_cat,
	.information-archive_cat a{
		display: inline-block;
		margin-right: 5px;
	}
}
@media screen and (max-width: 480px) {
	.information-archive_cat{
		display: block;
		margin-left: 0;
	}
}

/*PAGENATION*/
.information-nav .pagination{
    display: flex;
    justify-content: center;
    align-items: center;
}
.information-nav span:first-of-type{
    margin-right: 0.5em;
}
.information-nav span.current,
.information-nav a,
.information-nav span{
	font-optical-sizing: auto;
}
.information-nav span.current,
.information-nav a{
    width: 1.5em;
    height: 1.5em;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--purple);
    margin: 0 2px;
}
.information-nav a:hover{
    background: var(--gold);
	border: 1px solid var(--gold);
    color: #fff;
}
.information-nav span.current{
    background: var(--purple);
	border: 1px solid var(--purple);
    color: #fff;
}


/*PAGE NAVI*/
.page-nav{
	width: 90%;
	margin: 1em auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.page-nav_back,
.page-nav_btn,
.page-nav_last{
	width: 33%;
	border: 1px solid var(--black);
	padding: 0.7em;	
	display: flex;
	align-items: center;
}
.page-nav_last{
	background: #eee;
	border: none;
}
.page-nav_back{
	justify-content: center;
}
.page-nav a b{
	display: block;
	font-size: clamp(13px, 1.2vw, 15px);
	line-height: 1.2;	
}
.page-nav a small{
	display: block;
	font-size: clamp(12px, 1.1vw, 14px);
	margin-bottom: 0.2em;
}
.page-nav a:hover {	
	background: var(--purple);
	color: #fff !important;	
}	
.page-nav a:hover b,
.page-nav a:hover small{	
	color: #fff !important;	
}	
@media screen and (max-width: 780px){	
	.page-nav_back,
	.page-nav_btn,
	.page-nav_last{
		width: 100%;
		margin-bottom: 5px;
	}
}	

/*SEMINAR*/
.seminar{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.seminar-wrap{
	flex: 1;
}
.seminar-summary{
	margin: 2em 0;
}
.seminar-h3{
	text-align: left !important;
	line-height: 1.3;
	padding-left: 1.4em;
    text-indent: -1.5em;
	font-size: clamp(21px, 3vw, 28px);
}
.seminar-subtitle{
	font-size: clamp(14px, 1.4vw, 21px);
	color: var(--gold);
	line-height: 1.3;
}
.seminar-dl{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-bottom: 5px;
}
.seminar-dl dt{
	width: 6em;
	background: var(--purple);
	color: #fff;
	text-align: center;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.5em 0;
}
.seminar-dl dd{
	flex: 1;
	padding-left: 1em;
}
.seminar-h4{
	font-size: clamp(17px, 1.4vw, 21px);
	line-height: 1.3;
	padding: 0.5em;
	border-top: 1px dotted var(--purple);
	border-bottom: 1px dotted var(--purple);
	margin: 1em 0;
	color: var(--purple);
	background: var(--purple10);
}
.seminar-mv{
	background: #eee;
	padding: 1em;
	margin: 1em 0;
}
.seminar-mv img{
	display: block;
	width: 100%;
	height: 50vh;
	max-height: 380px;
	object-fit: contain;
}
.seminar-program{
	background: var(--gold10);
}
.seminar-program_att{
	padding: 2em;
	background: rgba(255,255,255,0.7);
}
.seminar-h5{
	font-size: clamp(24px, 2vw, 34px);
}
.seminar-program_item{
	margin: 1em 0 2em;
}
.seminar-h6{
	font-size: clamp(17px, 1.4vw, 21px);
	display: flex;
	justify-content: space-between;
	align-items: center;
	line-height: 1.3;
}
.seminar-h6:after{
	content: "";
	flex: 1;
	height: 1px;
	background: var(--black50);
	margin-left: 0.5em;
}
.seminar-program_speaker{
	font-size: 80%;
	color: var(--purple);
	text-align: right;
    line-height: 1;
	padding: 0.5em 0;
}
.seminar-program_ul{
	padding-left: 3em !important;
	margin: 0.5em 0 2em !important;
}
.seminar-program_li{
	line-height: 1.3;
	padding: 0.3em 0;
}
.seminar-table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 5px;
}
.seminar-table th,
.seminar-table td{
	padding: 1em;
}
.seminar-table th{
	background: var(--black40);
	width: 8em;
	color: #fff;
}
.seminar-table td{
	background: var(--black05);
}
.seminar-table td a{
	color: var(--purple);
	text-decoration: underline;
}
.seminar-table td a:hover{
	color: var(--gold);
}
.seminar-table td a.tel{
	color: inherit;
	text-decoration: none;
}
.seminar-price_member--a{
	display: block;
	font-size: clamp(13px, 1.2vw, 15px);
	padding-left: 1em;
	text-indent: -1em;
}
.seminar-btn{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 5px;
}
.seminar-btn .btn-a{
	flex: 1;
	min-width: 15em;
}
.seminar-btn .btn-a.tel {
	color: var(--purple) !important;
	text-decoration: none !important;
	background: #fff !important;
	border: 1px solid var(--purple);
}
.seminar-btn .btn-a.tel b{
	font-size: 120%;
	color: var(--purple);
	display: inline-block;
	line-height: 1;
}
.seminar-entry{
	border: 1px solid var(--black);
}
.seminar-map{
    width: 100%;
}
.seminar-map .gmap{
    filter: grayscale(0.4);
	padding-bottom: 380px;
}
.seminar-over{
	background: var(--black10);
	padding: 2em;
	text-align: center;
}
@media screen and (max-width: 780px){	
	.page-nav_back,
	.page-nav_btn,
	.page-nav_last{
		width: 100%;
		margin-bottom: 5px;
	}
	.seminar-program_speaker{
		text-align: left;
	}
	.seminar-table td a.tel{
		color: var(--purple);
		text-decoration: underline;
	}
	.seminar-btn .btn-a.tel {
		color: #fff !important;
		background: var(--purple) !important;
	}
	.seminar-btn .btn-a.tel b{
		color: #fff !important;
	}
}	
@media screen and (max-width: 480px){	
	.seminar-h3{
		padding-left: 0;
		text-indent: 0;
	}
	.seminar-mv{
		padding: 0.5em;
	}
	.seminar-mv img{
		display: block;
		width: 100%;
		height: auto;
		max-height: auto;
		object-fit: contain;
	}
	.seminar-program_ul{
		padding-left: 1.5em !important;
	}
	.seminar-h6:after{
		display: none;
	}
	.seminar-program_li{
		border-bottom: 1px dotted var(--black);
	}
	.seminar-table th {
		width: 6em;
		padding: 1em 0.5em;
	}
	.seminar-map .gmap{
		padding-bottom: 280px;
	}
}

/*SEMINAR SIDE*/
.seminar-side{
	width: 15em;
	margin-left: 3em;
}
.seminar-archive_h5{
	line-height: 1;
	padding: 0.5em;
	background: var(--purple);
	color: #fff;
}
.seminar-archive_a{
	display: block;
	border: 1px solid var(--black50);
	border-left: 5px solid var(--purple);
	padding: 1em;
	font-size: clamp(14px, 1.2vw, 16px);
	line-height: 1.4;
}
.seminar-archive_h5:nth-of-type(2){
	background: var(--black10);
	color: var(--black);
}
.seminar-archive_ul:nth-of-type(2) .seminar-archive_a{
	border-left: 5px solid #ddd;
}
.seminar-archive_a small{
	display: block;
	text-align: right;
	font-size: clamp(13px, 1.2vw, 15px);
	color: var(--purple);
	text-decoration: underline;
}
.seminar-archive_a small:hover{
	color: var(--gold);
}
.seminar-archive_back{
	display: block;
	text-align: center;
	border: 1px solid var(--purple);
	color: var(--purple);
	padding: 0.7em 0;
}
.seminar-archive_back:hover{
	background: var(--gold);
	color: #fff;
	border: 1px solid var(--gold);
}
@media screen and (max-width: 980px){	
	.seminar-side{
		width: 100%;
		margin-left: 0;
	}
}

/*SEMINAR ARCHIVE*/
.seminar-archive_wrap .seminar-archive_a{
	font-size: clamp(16px, 1.4vw, 21px);
}
.seminar-archive_wrap .seminar-archive_h5{
	padding: 1em;
}
.seminar-archive_wrap .seminar-archive_ul{
	max-width: 1080px;
	margin: 0 0 5em auto;
}























