@charset "utf-8";
/*同門会について*/
.alumni,.about,.archive-member {
	padding-top:100px;
	font-family: "Noto Serif", serif;
    font-weight: 400;
    font-style: normal;
}
.pg_header {
	max-width: 1600px;
	margin: 0 auto;
}
.pg_hd_wrap {
	padding-top:3.125rem;
	padding-bottom:3.125rem;
	padding-left: 4.16667%;
	padding-right: 4.16667%;
	display:flex;
}
.pg_hd_wrap div {
	width: 50%;
}
.pg_hd_wrap .title {
	padding: 0 8.33333%;
	text-align: center;
	color: #BB0D0D;
	font-size: 24px;
}
.pg_hd_wrap .title h2 {
	letter-spacing: 0.05em;
    position: relative;
    display: block;
    line-height: 1.2;
    padding-top: 1.875rem;
    padding-bottom: 2.5rem;
}
.pg_hd_wrap .title h2 span {
	font-family: "Mrs Saint Delafield", cursive;
    font-weight: 400;
    font-style: normal;
    padding-right: 30px;
}
.pg_hd_wrap .title h2::before {
	width: 37.5%;
    right: -37.5%;
    content: '';
    display: block;
    height: 2px;
    background-color: #BB0D0D;
    position: absolute;
    bottom: 0;
    z-index: 5;
}
.pg_hd_wrap .title h2::after {
	content: '';
    display: block;
    width: 100%;
    height: 2px;
    background-color: #BB0D0D;
    position: absolute;
    bottom: 0;
    right: 0;
}
.alumni .container,.about .container,.archive-member .container {
	max-width: 1600px;
	margin: 0 auto;
	display:flex;
	padding-bottom: 3.125rem;
}
.sidebar {
	padding-top: 3.125rem;
	padding-right: 0;
	padding-left: 4.16667%;
	width: 25%;
}
.chapteredMenu {
	position: relative;
    height: 100%;
}
.chaptered-menu {
	position: relative;
    width: 100%;
    max-width: 20.875rem;
}
.chaptered-menu::before {
	content: '';
	display: block;
	width: 1px;
	height: 100%;
	position: absolute;
	left: 4px;
	top: 0;
	background-color: #dddddd;
}
.fixed {
	position: fixed;
	top: 85px;
	width: 20.83333%;
}
.chaptered-menu nav ul {
	list-style: none;
    margin: 0;
    padding: 0;
}
.chaptered-menu nav ul li{
	width: 100%;
    text-align: left;
    position: relative;
	padding-left: 16.66667%;
}
.chaptered-menu nav ul li a {
	font-size: 1.125rem;
    line-height: 1.6667;
    display: block;
    padding: 0.625rem 0;
    text-decoration: none;
    color: #4A4A4A;
}
.chaptered-menu nav ul li a.side_active {
	color: #bb0d0d;
	font-weight: 600;
}
.chaptered-menu nav ul li a.side_active::before {
	content: '';
	display: block;
	width: 4px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: #bb0d0d;
}
/*会則
--------------------------*/
.bylows {
line-height:2;
}
.bylows p{
font-size:1.1em;
}
.bylows h4 {
	margin:20px 0 10px;
}
.bylows dl {
	display:flex;
	padding-left:1rem;
	flex-wrap:wrap;
}
.bylows p,.bylows ol {
	padding-left:1rem;
}
@media screen and (max-width: 660px){
	aside{
		display: none;
	}
}
.alumni main,.about main {
	padding-top: 3.125rem;
	padding-right: 8.33333%;
	padding-left: 8.33333%;
	width: 75%;
}
.alumni .main,.about .main {
	padding-top: 0;
}
.alumni .content,.about .content {
	width: 100%;
}
.alumni .content_header,{
	display: flex;
	justify-content:center;
}
.alumni .content_header div,{
	width: 50%;
}
.alumni .content_header .icatch{
	position: relative;
}
.alumni .content_header .icatch p.caption {
	position: absolute;
	bottom:3%;
	left: 5%;
	width: 88%;
	background: rgba(255, 255, 255, 0.8);
	padding: 2%;
	font-size: 1.2rem;
}
.alumni .content_header .icatch p.caption span {
	display: block;
	margin-top: 5px;
	font-size:0.9rem;
	line-height: 1.2;
}

.alumni .content_header .icatch img {
	width: 100%;
}

.alumni .content_header .conternt_title_wrap {
	background: linear-gradient(90deg, rgb(187, 13, 13), rgb(71, 3, 3));
	color: #ffffee;
	display: flex;
	align-items: center;
	justify-content: center;
}
.alumni .content_header .conternt_title_wrap h3 {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	text-align:center;
	text-shadow: 1px 1px 1px #aaa;
}
.alumni .content_header .conternt_title_wrap h3 span {
	display: block;
	font-family: "Mrs Saint Delafield", cursive;
    font-style: normal;
	font-size: 1.2em;
	letter-spacing: 0.05em;
}
.alumni .main_content {
	padding-top: 3.125rem;
}

.alumni .main_content p {
	line-height: 2;
}
.alumni .main_content img {
	width: 100%;
}
.alumni .main_content div {
	display: flex;
	width: 100%;
	justify-content: space-between;
	margin: 0 0 4.1666%;
}
.alumni .main_content div p {
	width: 48%;
}
.alumni .main_content .content_txt {
	margin-bottom: 20px;
}
.alumni .second_title {
	padding-left: 0;
	padding-right: 0;
}
.alumni .second_title h2{
	width: 61.818181%;
}
.alumni .second_content {
	padding-left: 0;
	padding-right: 0;
}
/*ABOUT*/
.about .conternt_title_wrap h3 {
	text-align: left;
    padding-bottom: 0;
	color: #222222;
    font-size: 2.5rem;
    line-height: 1.2;
    padding-top: 0;
	margin-bottom: 1.25rem;
}
/*メンバーの活躍*/
.archive-member .main {
	padding-top: 60px;
}
.archive-member .content_wrap {
	padding-left:1rem;
}
.archive-member .content_header {
	border-top: solid 1px #aaa;
	padding: 3rem 0;
	display: flex;
	justify-content:space-between;
}
.archive-member .content_header .conternt_title_wrap {
	width: 70%;
}
.archive-member .content_header .icatch {
	width: 30%;
}
.archive-member .content_header .icatch img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}
.archive-member .content_header h3 {
	font-size: 1.5rem;
    line-height: 1.4167;
}
.archive-member .content_header h3 a {
	position: relative;
    display: block;
    color: #222222;
    text-decoration: none;
    font-size: 1.375rem;
    line-height: 1.2728;
    margin-bottom: 0.625rem;
}
.archive-member .content_header .field_item {
	display: inline-block;
    margin-right: 1rem;
	font-size: 1rem;
    line-height: 1.625;
    color: #00356B;
    margin-bottom: 0.625rem;
}

/*活動・ニュースレター*/

.activity .content_header {
	background: linear-gradient(270deg, rgb(187, 13, 13), rgb(71, 3, 3));
	color: #fff;
	font-family: "Noto Serif", serif;
	font-weight: 400;
	font-style: normal;
	padding-top: 3.125rem;
	padding-bottom: 3.125em;
	padding-left: 0;
	padding-right: 0;
}
.activity .content_hd_wrap {
	max-width: 1600px;
	margin: 0 auto;
}
.activity .content_header .actibity_cat {
	padding: 0 4.16667%;
	margin-bottom: 1.875rem;
	font-weight: 600;
}
.activity .content_header h2{
	
	padding: 0 4.16667%;
	margin-bottom: 1.5625rem;
	font-size: 2.3rem;
	line-height: 1.2;
}
.activity .content_header .posted {
	
	padding: 0 4.16667%;
	font-size: 1rem;
	line-height: 1.65;
}
.activity .content_wrap {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}


.activity .content_wrap .icatch {
	margin: 1.65rem 0;
	padding: 0 16.66667%;
}
.activity .content_wrap .icatch img{
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: contain;
	object-position: center top;
}
.activity .main_content{
	padding: 0 16.66667%;
	padding-top: 3.125rem;
	padding-bottom: 3.125rem;
	color: #4a4a4a;
}
.activity .main_content p {
	/*padding-left: 6.25%;
	padding-right: 6.25%;*/
	margin-top: 1.25rem;
	margin-bottom: 1.25rem;
	line-height: 1.5;
}
.activity .main_content ul {
	padding-left: 7%;
	padding-right: 6.25%;
	margin-top: 1.25rem;
	margin-bottom: 1.25rem;
	line-height: 1.5;
}
.activity .main_content img {
	width: 100%;
}
.second {
	max-width: 1600px;
	margin: 0 auto;
	width: 100%;
}
.second_title{
	padding-left:8.33333%;
	padding-right:8.3333%;
}
.second_title h2 {
	width:61.818181%;
	font-size: 2.3rem;
	line-height: 1.2;
	padding-top: 4.6875rem;
	padding-bottom: 1.5625rem;
	margin-bottom: 3.125rem;
	font-family: "Noto Serif", serif;
	font-weight: 400;
	font-style: normal;
	position: relative;
	color:#222222;
}
.second_title h2::after {
	content: '';
    display: block;
    width: 6.125rem;
    height: 0.1875rem;
    background-color: #bb0d0d;
    position: absolute;
    bottom: 0;
}
.second_content {
	padding-left:8.33333%;
	padding-right:8.3333%;
	display:flex;
	margin-bottom: 3.125rem;
	-webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
	flex-wrap: wrap;
}
.second_content article.card {
	width: 23.5%;
	border: 1px solid #dddddd;
    border-bottom: 5px solid #bb0d0d;
}
.second_content article.card:not(:nth-child(4n)) {
	margin-right: 1.97917%;
}
.second_content article.card img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
}
.second_content article.card .card_image .field_item {
	
}
.card_text_container {
	padding-top: 1.5625rem;
	padding-right: 1.5625rem;
	padding-bottom: 1.5625rem;
	padding-left: 1.5625rem;
}
.card_text_container ul {
	display: flex;
	margin-bottom:0.9375rem;
}
.card_text_container ul li {
	font-size: 0.8125rem;
    line-height: 1.2308;
    color: #bb0d0d;
    letter-spacing: 0.0625rem;
    text-transform: uppercase;
	margin-right: 10px;
	font-weight:600;
}
.card_title h3 {
	font-family: "Noto Serif", serif;
	font-weight: 400;
	font-style: normal;
	margin-top: 1rem;
	margin-bottom: 1rem;
	font-size: 1.25rem;
    line-height: 1.4;
}
.card_title h3 a {
	color:#4a4a4a;
	transition:0.3s;
}
.card_title h3 a:hover {
	color:#bb0d0d;
	text-decoration:underline;
}

/*理事・役員*/
.director{
	
}
.director dl {
	border-bottom: 1px solid #efefef;
	margin-bottom: 20px;
	padding-bottom: 20px;
}
.director dl dt {
	width: 100%;
	position:relative;
	font-size: 18px;
	line-height:1.5;
	margin-bottom: 30px;
}
.director dl dt::before {
	position:absolute;
	content: "";
	bottom: -10px;
	left: 0;
	width: 8%;
	border-bottom: 3px solid #bb0d0d;
}
.director dl dd {
	width: 100%;
	font-size:24px;
	color: #333;
	
}
/*サイトマップ*/

.sitemap {
	font-size: 20px;
	line-height: 2;
}
.sitemap section {
	padding: 20px 0;
}
.sitemap a {
	color: #333;
	transition: 0.3s;
}
.sitemap a:hover {
	opacity: 0.7;
}
.sitemap h3 {
	position: relative;
	margin-bottom: 10px;
}
.sitemap h3::before {
	position: absolute;
	content:"";
	bottom: 0;
	left: 0;
	width: 10%;
	border-bottom: solid 2px #bb0d0d;
}

/*お知らせ一覧
--------------------------------- * */

.post-list {
	
	margin-bottom: 10px;
}
.post-list h3 {
	margin-bottom: 10px;
}
.post-list a h3 {
	color:#BB0D0D;
}
.post-list article {
	padding: 2rem 0;
	border-bottom: solid 1px #212121;
}
.post-list a p {
	color: #666;
	line-height:1.5;
}
/*お問い合わせ
--------------------------------- * */

.contact dl {
	display: flex;
	margin-bottom:20px;
	
}
.contact dl dt {
	width: 25%;
	font-size:20px;
}
.contact dl dt span {
	border-left: 5px solid  #BB0D0D;
	padding-left: 10px;
}

.contact dl dd {
	width:75%;
	font-size:20px;
}
.contact .submit {
	text-align:center;
}

@media screen and (max-width: 999px) {
	.activity .content_wrap .icatch {
		padding: 0 4.16667%;
	}
	.activity .main_content{
		padding: 0 4.16667%;
		margin: 3rem 0;
	}
	.second_content article.card {
		width: 47.5%;
		margin-right: 5%;
        margin-bottom: 5%;
    }
	.second_content article.card:nth-child(2n) {
        margin-right: 0;
    }
}
@media screen and (max-width: 820px) {
	/*同門会について*/
	.pg_hd_wrap {
		flex-flow: column;
	}
	.pg_hd_wrap div {
		width: auto;
	}
	.pg_hd_wrap .title h2::before {
		width: 0;
	}
	.alumni .container {
		flex-flow: column;
	}
	.alumni aside {
		width: auto;
	}
	.alumni .sidebar {
		margin-bottom: 2.5rem;
        background-color: #f9f9f9;
		padding-right: 8.33333%;
        padding-left: 8.33333%;
	}
	.chaptered-menu::before {
		background: none;
	}
	.chaptered-menu nav ul li a.side_active::before {
		background:none;
	}
	.alumni main {
		width: auto;
	}
	.alumni .main_content div {
		flex-flow: column;
	}
	.alumni .main_content div.reverse {
		flex-flow: column-reverse;
	}
	.alumni .main_content div p {
		width: auto;
	}
	/*活動レポート*/
	.activity .main_content p {
		padding:0;
	}
	.second_content {
		padding-left: 4.16667%;
        padding-right: 4.16667%;
	}
	.second_title h2 {
		width: 100%;
		text-align: center;
		font-size:2rem;
	}
	.second_title h2::after{
		position: absolute;
		width: 3.125rem;
		height: 0.1875rem;
		left: 50%;
		content:"";
	}
	.second_content article.card:not(:nth-child(4n)) {
		margin-right: 0;
	}
	.second_content article.card {
		width: 100%;
		margin-right: 0;
    }
}
/*活動・ニュースレター*/

.activity .main_content div {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin: 0 0 4.1666%;
}

.activity .main_content .content_txt {
    margin-bottom: 20px;
}

.activity .main_content div p {
    width: 48%;
}

.activity .main_content p {
    line-height: 2;
}

@media screen and (max-width: 820px) {
    .activity .main_content div {
        flex-flow: column;
    }
	
    .activity .main_content div p {
        width: auto;
    }
	
    .activity .main_content div.reverse {
        flex-flow: column-reverse;
    }
	
}