@charset "UTF-8";
/* CSS Document */


* elements initialization 
/*--------------------------------------------------*/
body {
	color: #232323;
	margin: 0;
	padding:0;
	line-height:1.9;
	font-size: 18px;
	background-color: #FFFFFF;
}
* html body {
	vertical-align: baseline;
	font-family: Verdana, Arial, "ＭＳ Ｐゴシック", sans-serif;
	text-align: left;
} /* lte ie6 */
*:first-child+html body {
	font-family: Verdana, Arial, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
} /* ie7 */
html>/**/body {
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
} /* ie8 */
html:not(:target) body {
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
} /* modern browser */


html {
  font-size: 18px;
  	color: #232323;
}
body {
  font-size: inherit; /* ←これでもよい */
  	color: #232323;
    line-height: 1.9;
}


/*-------明朝体-------*/
.min {
	font-family: 'ヒラギノ明朝 Pro W3', '平成明朝','ＭＳ Ｐ明朝', serif;
}

img {
	vertical-align:top;
	border: none;
}
/*IE6*/
* html img {
	vertical-align: bottom;
}
/*IE7*/
*:first-child+html img {
	vertical-align: bottom;
}
wrapper, body, blockquote, dd, div, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, select, span, textarea, td, th, ul, section {
	margin:0;
	padding:0;
}
abbr, acronym {
	border:0;
}
address, caption, cite, code, dfn, em, th, strong, var {
	font-style:normal;
	font-weight:normal;
}
caption, th {
	text-align:left;
}
h1, h2, h3, h4, h5, h6 {
	font-size:100%;/*13px*/
	font-weight:normal;
}
input, select, textarea {
	font-size:1em;/*13px*/
}
ol, ul, li {
	list-style:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
	font-size:1em;/*13px*/
}
hr {
	display: none;
}
strong, em {
	font-weight: bold;
}
/* ----- form -------*/

button, fieldset, form, input, label, legend, select, textarea {
	font-size:1em;  /*13px*/
	font-style:inherit;
	font-weight:inherit;
	margin:0;
	padding:0;
	vertical-align:baseline;
}
input, textarea {
	vertical-align: middle;
	padding: 1px;
}
textarea {
	width: 98%;
}
input[type="radio"], input[type="checkbox"] {
	vertical-align: baseline;
	margin-right: 3px;
}
/*----- links color -----*/
header nav ul > li:hover > .subnav,
header nav ul > li:focus-within > .subnav,
a,
a p,
a li,
li a ,
a img {
	-webkit-transition-property: all;
	-moz-transition-property: all;
	-o-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: 0.3s;
	-moz-transition-duration: 0.3s;
	-o-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-in-out;
	-moz-transition-timing-function: ease-in-out;
	-o-transition-timing-function: ease-in-out;
	transition-timing-function: ease-in-out;
}



a:link {
	color: #333;
	text-decoration:none;
}
a:visited {
	color: #333;
	text-decoration:none;
}
a:hover {
	color: #ff9000;
	color: #1552aa;
	/*text-decoration: underline;*/
}

blockquote { margin-left: 1.5em; }
.width_all { width: 100%; height: auto; }
.wrapper {
    overflow: hidden;
    /*min-width: 1200px;
    /*padding-top: 100px;*/
}
th, td { padding: 0 0.5em; }


header   { 
    height: 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 0 3vw;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
/*    transition: all 0.5s;
    transition-timing-function: cubic-bezier(1, -0.12, 0.54, 0.99);*/
    min-width: 1200px;
    box-sizing: border-box;
    background-color: rgba(255,255,255,0.80)
}
header h1                 { font-size: 0.7em; color: #b1788f; }
header img.logo           { width: 320px; height: auto; }
header .logoArea          { margin-top: -10px; min-width: 378px; }

header .header_ri         { display: flex; height: 100px; }


header .header_ri nav     { display: block; min-width: 848px; }
header nav  ul             { display: flex; align-items: center; min-width: 686px; }
header nav  ul li a        { font-size: 88%; line-height: 1; padding: 42px 1em; transition: 0.5s; position: relative; }
header nav ul li a:hover  { background: rgba(203,203,203,0.40); color: #b1788f; }

header nav ul li.contact a { background: #15398f; line-height: 100px; color: #FFF; }
header nav ul li.contact a:hover { background: rgba(21,57,143,0.70); color: #FFF; }
header nav ul li.contact a::before { content: "\f0e0"; font-family: "Font Awesome 6 Free"; font-weight: 900; padding: 0 0.4em 0 0; }

.subnav {
    display: flex;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 100px;
    width: 100%;
    background:rgba(0,147,255,0.60);
    
    opacity: 0;
    visibility: hidden;

}
.subnav > ul {
    display: flex;
    justify-content: center;
    margin: auto;
}
.subnav > ul li {
    line-height: 1;
    padding: 1rem 0;

}
.subnav > ul li a {
    line-height: 1;
    padding: 1rem;
    color: #FFF;
}
.subnav > ul li a:hover {
    line-height: 1;
    padding: 1rem;
    background:rgba(0,147,255,1);
    color: #FFF;
}

header nav ul > li:hover > .subnav,
header nav ul > li:focus-within > .subnav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}






/***************
FOOTER 
***************/
.link-ac                 { padding: 0 2%; }
.link-ac ul              { display: flex; flex-wrap: wrap; gap: 2%; font-size: 16px; justify-content: center; }
footer                   { width: 100%; }
footer article           { width: 100%; padding: 50px 3vw; background: #428d9e; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; }
footer article .logo     { width: 50%; }
footer article img       { max-width: 500px; width: 100%; height: auto  }
footer article .link     { width: 40%; }
footer article .link ul  { display: flex; flex-wrap: wrap; gap: 5%; justify-content: flex-end; }
footer article .link li a { width: 35%; color: #FFF; }
footer article .link li a:hover { color: #15398F; }
footer p { font-size: 14px; padding: 30px 0; text-align: center; }


#page-top {
	position: fixed;
	bottom: 70px;
	right: 30px;
	margin: 0;
	padding:0;
	z-index:6;
	text-align: right;
}
#page-top a:hover img {
    filter:alpha(opacity=60);
    -moz-opacity: 0.60;
    opacity: 0.60;
}


/****************
TOP PAGE 
****************/
/**** メインビジュアル セクション ****/
/*
#home .main_vis {
  position: relative;
  height: 100%;
}

#home .main {
  width: 100%;
  min-height: 100vh;
  background: url(img/main-vis1.jpg) bottom center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}
*/

#home .news {
    background: url("../img/newsback.jpg") center;
    background-size: cover;
    background-attachment: fixed; 
    padding-top: 300px;
}
#home .news article {
    background: #FFF;
    padding: 150px 3vw;
}
#home .news article img {
    width: 100%;
    height: auto;
}




#home .features {
    background: url("../img/eventback.jpg") center;
    background-size: cover;
    background-attachment: fixed; 
    padding-top: 300px;
}
#home .features article {
    background-color: #FFF;
    padding: 150px 3vw;
}
#home .features article img {
    width: 100%;
    height: auto;
}

#home .members {
    background: url("../img/memberback.jpg") center;
    background-size: cover;
    background-attachment: fixed; 
    padding-top: 300px;
}
#home .members article {
    background-color: #FFF;
    padding: 150px 3vw;
    text-align: center;
}
#home .members article img {
    width: 100%;
    height: auto;
}

#home .main_vis {
  position: relative;
  height: 100%;
}

#home .main {
  width: 100%;
  min-height: 100vh;
  background: url(img/main-vis1.jpg) bottom center;
  background-size: cover;
  position: relative;
  overflow: hidden;
}

/* フェード用の疑似要素 */
#home .main::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: bottom center;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
  z-index: 1;
  pointer-events: none;
}
#home .main::before {
  background-image: var(--next-bg);
}
#home .main.fade-next::before {
  opacity: 1;
}

#home .sanjo article,
#home .features article,
#home .news article {
    display: flex;
    justify-content: space-between;
    
}
#home .members article .left,
#home .features article .left,
#home .news article .left {
    position: relative;
    max-width: 288px;
    width: 20%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 38px;
}
#home .members .left h2,
#home .features .left h2,
#home .news .left h2 {
    font-size: 72px;
    font-family: "Times New Roman", Times, "serif";
    color: #428d9e;
    line-height: 1;
    position: relative;
}
#home .members .left h2::first-letter,
#home .features .left h2::first-letter,
#home .news .left h2::first-letter {
    color: #e65d5e;
}
#home .members .left h2 span,
#home .features .left h2 span,
#home .news .left h2 span {
    font-size: 18px;
    position: absolute;
    top: 72px;
}

.view {
    display: inline-block;
    border: solid 1px #999;
    padding: 0 2em;
    width: fit-content;
}
.view:hover {
    background: #70c1d4;
    color: #FFF;
}

#home .news article ul {
/*    max-width: 1152px;
*/    width: 80%;
    border-top: solid 1px #999;
}
#home .news article ul a li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: solid 1px #999;
    padding: 1rem;
}
#home .news article ul a li p:nth-of-type(1) {
    margin-right: 1.5em;
}
#home .news article ul a li p:nth-of-type(2) {
    background: #70c1d4;
    padding: 0.2em 2.5em;
    margin-right: 1.5em;
    color: #FFF;
}
#home .news article ul a li:hover {
    background: #ededed;
}

#home .features article ul {
    display: flex;
    max-width: 1152px;
    flex-wrap: wrap;
    width: 80%;
    gap: 5%;
}
#home .features article ul a {
    width: 30%;
    margin-bottom: 2em;
    font-size: 16px;
}
#home .features article ul a:hover {
    opacity: 0.7;
}
#home .features article ul a li {
    aspect-ratio: 352/231;
}
#home .features article ul a li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#home .features article .left li p {
    margin: 0;
}


#home .members article {
    
}
#home .members h2 {
    font-size: 72px;
    font-family: "Times New Roman", Times, "serif";
    color: #428d9e;
    line-height: 1;
    position: relative;
    text-align: left;
    margin-bottom: 0.8em;
}
#home .members h2::first-letter {
    color: #e65d5e;
}
#home .members h2 span {
    font-size: 18px;
    position: absolute;
    top: 72px;
}
#home .members article ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
}
#home .members article ul li {
    flex: 0 0 calc( (100% - (2% * 5)) / 6 );
    font-size: 0.8rem;
    text-align: left;
    margin-bottom: 1rem;
}
#home .members article ul li a {
    display: block;
    aspect-ratio: 600/392;
}
#home .members article ul li a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#home .members article ul li a:hover img {
    opacity: 0.7;
}

.sanjo {
    background: url("../img/sanjoback.jpg") center;
    background-size: cover;
    background-attachment: fixed; 
    padding-top: 300px;
}
.sanjo article {
    background-color: #FFF;
    padding: 150px 0 100px;
    max-width: 100%;
    
}
.sanjo article .flex {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.sanjo article .sanjo-left {
    width: 50%;
    position: relative;
}
.sanjo article .sanjo-info {
    margin-right: 200px;
    background: #e65d5e;
    padding: 50px 60px;
    box-sizing: border-box;
    color: #FFF;
    font-size: 16px;
    line-height: 1.6;
}
.sanjo article .sanjo-info p.sanjo-toi {
      margin-top: 1rem;
}
.sanjo article .sanjo-info p.sanjo-toi a {
    color: #FFF;
}
.sanjo article h3 {
    font-size: 36px;
    line-height: 1;
    margin-bottom: 0.5em;
}
.sanjo article h4 {
    font-size: 20px;
    line-height: 1;
    margin:1em 0 1em;
}

.sanjo article .sanjo-left p img {
    width: 53%;
    height: auto;
    position: absolute;
    top: 260px;
    right: 9.3%;
}

.sanjo article .sanjo-right {
    width: 50%;
}
.sanjo article .sanjo-right img {
    width: 100%;
    height: auto;
}





/****************
PAGE 共通部品
****************/
/*-- page メインビジュアル　タイトル部 --*/
#page .main {
    position: relative;
    height: 400px;
    overflow: hidden;
}
#page .main>img {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100%;
    width: auto;
    min-width: 100vw;
    transform: translate(-50%, -50%);
}
#page .main>.page-mv {
    position: absolute;
    max-width: 1440px;
    width: 80%;
    left: 50%;
    transform: translate(-50%, 0%);
    bottom: 0;
}
#page .main>.page-mv h2 {
    font-family: "Times New Roman", Times, "serif";
    font-size: 160px;
    line-height: 0.65;
    color: rgba(255,255,255,0.60)
}

#page section article {
    background: #FFF;
    padding: 150px 0;
    max-width: 1440px;
    max-width: 96%;
    margin: auto;
}
#page .sanjo article {
    background-color: #FFF;
    padding: 150px 0 100px;
    max-width: 100%;
    
}

#page section article .contentArea {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: auto;
}
#page section article .contentAreaFull {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: auto;
}


#page section article .contentArea h5::first-letter,
#page section article .contentArea h4::first-letter,
#page section article .contentArea h3::first-letter {
    color: #e65d5e;
}

#page section article .contentArea h4 {
    font-size: 140%;
    color: #428d9e;
    border-bottom: solid 1px #428d9e;
    margin: 1.5em 0 1em;
    
}
#page section article .contentArea h5 {
    font-size: 120%;
    color: #428d9e;
    margin: 1.5em 0 1em;
}

#page section article .contentArea .post_cont h3 {
    width: calc(100% + 1.7em );
    margin-left: -1.7em;
    font-size: 180%;
    color: #428d9e;
    border-bottom: solid 1px #e65d5e;
    line-height: 1.2;
    padding-bottom: 0.2em;
}

#page section article .contentArea .post_cont h3:not(:first-child) {
    margin-top: 2em;
}

#page section article .contentArea .post_cont {
    padding: 30px 0 0;
}
#page section article .contentArea .post_cont img.chairman {
    width: 100%;
    height: auto;
    margin-bottom: 1.5em;
}
#page section article.chairmanArea {
    padding-bottom: 0;
}
#page section article .contentArea .post_cont .post_date {
    text-align: right;
    margin: 30px 0;
}
#page section article .contentArea .post_cont p {
    margin-bottom: 1.5em;
}

#page section article .contentArea .post_cont th {
    background: #ededed;
}


#page section article h2 {
    font-size: 400%;
    color: #428d9e;
}
#page section article h2::first-letter {
    color: #e65d5e;
}
#page section article .cont {
    width: 76.6%;
}
#page section article .side {
    width: 18.3%;
}


#page section article .cont ul {
    border-top: solid 1px #999;

}
#page section article .cont ul.newsheadline a li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: solid 1px #999;
    padding: 1.5rem 1rem;
}

#page section article .cont ul.newsheadline a li p:nth-of-type(1) {
    margin-right: 1.5%;
    width: 13%;
}
#page section article .cont ul.newsheadline a li p:nth-of-type(2) {
    text-align: center;
    background: #70c1d4;
    padding: 0.2em 0;
    margin-right: 1.5%;
    color: #FFF;
    width: 18.5%;
    box-sizing: border-box;
}
#page section article .cont ul.newsheadline a li p:nth-of-type(3) {
    width: 64%; 
    line-height: 1.2;
}
#page section article .cont ul.newsheadline a li:hover {
    background: #ededed;
}

#page section article .side > h3 {
    text-align: center;
    line-height: 70px;
    background: #e9e9e9;
}
#page section article .side li {
    border-bottom: solid 1px #999;
    width: 100%;
    text-align: center;
}
#page section article .side li a {
    display: block;
    width: 100%;
    line-height: 60px;
}
#page section article .side li a:hover {
    background: #ededed;
}

#page.post-type-archive-features .cont ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 5%;
    border: none;
}
#page.post-type-archive-features .cont ul a {
    width: 30%!important;
    margin-bottom: 1.5em;
    line-height: 1.2;
}
#page.post-type-archive-features .cont ul a li {
    aspect-ratio: 352/231;
}
#page.post-type-archive-features .cont ul a li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin-bottom: 0.5em;
}
#page .info_org {
    margin: 50px auto 80px;
    max-width: 1200px;
}
#page .info_org h3 {
    font-size: 180%;
    color: #428d9e;
    text-align: center;
    margin-bottom: 2em;
}
#page .info_org .info_org_cont {
    display: flex;
    justify-content: space-around;
}
#page .info_org .info_org_cont p {
    width: 30%;
}
#page .info_org .info_org_cont p img {
    width: 100%;
    height: auto;
}

#page .info_org .info_org_cont table {
    width: 63.5%;
}
#page .info_org .info_org_cont table tr {
    border-top: solid 1px #999;
}
#page .info_org .info_org_cont table th {
    white-space: nowrap;
    vertical-align: top;
    padding: 1em;
}
#page .info_org .info_org_cont table td {
    padding: 1em 1em 1em 0.5em;
}


.commonArea h3 {
    color: #232323!important;
    font-size: 180%!important;
    border-bottom: none!important;
    margin-bottom: 1em;
}
.commonArea h4::first-letter,
.commonArea h3::first-letter {
    color: #232323!important;
}
.commonArea h4 {
    color: #232323!important;
    font-size: 140%!important;
    border-bottom: none!important;
    margin-bottom: 1em;
}

.memberListArea {}

.memberListArea ul {
    border-top: none!important;
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
}
.memberListArea ul li {
    width: 23.5%;
    font-size: clamp(14px, 1.35vw, 16px);
    margin-bottom: 2em;
}
.memberListArea ul li a {
    display: block;
    padding: 0.5em 0 0.5em 2px;
    color: inherit;
}
.memberListArea ul li a::before {
    content: "▶︎";
    display: inline-block;
    margin-bottom: 4px;
    margin-right: 0.5em;
    color: #15398f; /* 好みで色を指定 */
    font-size: 0.5em; /* サイズ調整したければ */
    vertical-align: middle;
}
.memberListArea ul li a:hover {
    background: #ededed;
    border-radius: 8px;
}

.bdf_btn a {
    display: inline-block;
    padding: .25em 2em .25em 3em;
    text-decoration: none;
    color: #fff;
    background: #15398f;
    border-radius: 2em;
    position: relative;
}
.bdf_btn a::before {
    content: url("../img/icon-pdf.png");
    position: absolute;
    left: 18px; 
    top: 6px;
}
.bdf_btn a:hover {
    opacity: 0.7;
}

.yakuin2 th,
.yakuin th { background: #ededed;
    text-align: center;
}
.yakuin th:nth-of-type(1) {
    width: 5%;
}
.yakuin th:nth-of-type(2) {
    width: 20%;
}
.yakuin th:nth-of-type(3) {
    width: 16%;
}
.yakuin th:nth-of-type(4) {
    width: 28%;
}
.yakuin th:nth-of-type(5) {
    width: 31%;
}
.yakuin2 th {
    width: 9.6%;
}
.yakuin2 th:nth-of-type(1) {
    width: 13.6%;
}
.yakuin2 th,
.yakuin2 td {
    font-size: clamp(13px, 1vw, 15px);
}

.commonArea h3.year {
    width: 100%!important;
    color: #428d9e !important;
    font-size: 145% !important;
    margin-bottom: 1em;
    margin-left: 0!important;
    border-top: solid 3px #9fc0c8;
    border-bottom: solid 3px #9fc0c8!important;
    padding: 0.5em!important;
    line-height: 1!important;
    position: relative;
    font-weight: bold;
    box-sizing: border-box;
}
.commonArea h3.year::first-letter {
    color: #e65d5e!important;
}
.commonArea h3.year span {
    font-family: "Times New Roman", Times, "serif";
    color: #e65d5e;
    font-size: 117%;
    font-weight: normal;
}
.commonArea h3.year::after {
    position: relative;
    content: "";
    display: block;
    border-top: solid 3px #e65d5e;
    top: -47px;
    left: -13px;
    width: 20%;
}
.commonArea .reportArea {
    display: flex;
}
.commonArea .reportArea .report {
    width: 50%;
    padding: 0 1em 2em;
    box-sizing: border-box;
}
.commonArea .reportArea .report h4 {
    margin-top: 0.5em!important;
    font-size: 18px!important;
}
.commonArea .reportArea .report ul {
    margin: 1.5em;
}
.commonArea .reportArea .report ul li {
    margin-bottom: 0.6em;
}
.commonArea .reportArea .report ul li a {
    color: #06f;
}
.commonArea .reportArea .report ul li a::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 20px;
    margin-right: 6px;
    background-image: url("../img/icon-pdf.png");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}

#page .members article ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
}
#page .members article ul li {
    flex: 0 0 calc((100% - (2% * 4)) / 5);
    font-size: 0.8rem;
    text-align: left;
    margin-bottom: 1rem;
}
#page .members article ul li a:first-child {
    display: inline-block;
    aspect-ratio: 600/392;
}
#page .members article ul li a:first-child img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#page .members article ul li img {
    width: 100%;
    height: auto;
}
#page .members article ul li dl.contact {
    display: flex;
}
a .fa-link,
a .fa-arrow-up-right-from-square {
  color: #06F;
}



.table_wrap { overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* スマホのスムーズスクロール用 */
 }
.flex { display: flex; width: 100%; }
.noflex { display: block!important; }
.center { text-align: center; }
.right { text-align: right; }
.mt30 { margin-top: 30px; }
.mt80 { margin-top: 80px; }

#page section article.demo img {
    width: 100%;
    height: auto;
}

.pc { display: block; }
.sp { display: none; }
.yakuin_scroll_info {
    display: none;
}


/*デモ用ここまで*/


/****************
NEWS PAGE 
****************/



        /* タブレット */
        @media (min-width: 769px) and (max-width: 1024px) {
        
            header {
                min-width: 1024px;
            }
            header nav ul {
                min-width: 575px;
            }
            header nav ul li a {
                font-size: 78%; line-height: 1; padding: 43px 1em!important; transition: 0.5s; position: relative;
            }
            .subnav > ul li a {
                padding: 1.2rem!important;
            }
            .subnav > ul li a:hover {
                line-height: 1;
                padding: 0 1rem;
                background:rgba(0,147,255,1);
                color: #FFF;
            }

            #home .features .left h2, #home .news .left h2 {
                letter-spacing: -0.3rem;
            }
            #home .features .left h2 span, #home .news .left h2 span {
                letter-spacing: normal;
            }
            .view {
                padding: 0 1em;
            }
            .sanjo article .sanjo-info {
                margin-right: 0px;
            }
            .sanjo article .sanjo-left p img {
                display: none;
            }
            
            #page section article .cont ul.newsheadline a li p:nth-of-type(1) {
                margin-right: 1.5%;
                width: inherit;
            }
            #page section article .cont ul.newsheadline a li p:nth-of-type(2) {
                width: 18.5%;
            }
            #page section article .cont ul.newsheadline a li p:nth-of-type(3) {
                width: 58%; 
                line-height: 1.2;
            }
            
            #page section article .contentArea {
                max-width: 96%;
                margin: auto;
            }
            
            #page section article .contentArea .post_cont h3 {
                width: 100%;
                margin-left: 0;
            }
            
            #page .members article ul li {
                flex: 0 0 calc((100% - (2% * 3)) / 4);
            }




        }



        /* スマホ */
        @media only screen and (max-width: 768px) {

            .pc { display: none; }
            .sp { display: block; }


            .wrapper {
                overflow: hidden;
                min-width: 100%;
                /*padding-top: 100px;*/
            }

            header {  min-width: 100%; }
            
            header .logoArea { width: 295px; }
            
            header .logoArea {
                min-width: 0px;
            }
            header img.logo {
                width: 100%;
                height: auto;
            }
        
            #home .main {
                width: 100%;
                min-height: 100vh;
                background: url(img/main-vis-sp1.jpg) center;
                background-size: cover;
                position: relative;
                overflow: hidden;
            }


        /*** スマホ用ナビゲーション ****/
            nav.sp ul {
                display: none;
            }
            nav.sp.open ul {
                display: block;
            }

            nav ul.gnav li.sub ul.snv {
                  display: none; /* 初期は非表示 */
            }


            
            #sp-navi-btn ,
            #sp-navi-btn span {
        	    display: block;
        	    transition: all .3s;
            }
            #sp-navi-btn {
            	display: block;
            	width: 50px;
            	height: 26px;
            	position: absolute;
            	right: 20px;
            	top:34px;
            }
            #sp-navi-btn span {
            	position: absolute;
            	left: 0;
            	width: 100%;
            	height: 2px;
            	background-color: #15398f;
            	border-radius: 2px;
            }
            #sp-navi-btn span:nth-of-type(1) {
            	top: 0px;
            }
            #sp-navi-btn span:nth-of-type(2) {
            	top: 12px;
            }
            #sp-navi-btn span:nth-of-type(3) {
            	bottom: 0px;
            }
            #sp-navi-btn span:nth-of-type(4):after {
                content: "MENU";
                letter-spacing: 0px;
                color: #15398f;
                font-size: 100%;
            }

            #sp-navi-btn.open span:nth-of-type(1) {
            	-webkit-transform: translateY(12px) rotate(-45deg);
            	transform: translateY(12px) rotate(-45deg);
            }
            #sp-navi-btn.open span:nth-of-type(2) {
            	opacity: 0;
            }
            #sp-navi-btn.open span:nth-of-type(3) {
            	-webkit-transform: translateY(-12px) rotate(45deg);
            	transform: translateY(-12px) rotate(45deg);
            }
            #sp-navi-btn span:nth-of-type(4) {
                bottom: 0px;
                background: none;
            	top: 30px;
            }

            nav.sp {
            	margin: 0 !important;
            	height: 0px !important;
            	overflow: visible;
            	width: 100%;
            	top: 0px;
            	left: 0;
            	text-align: left;
                position: fixed;
                z-index: 20;
            }
    
            nav.sp ul.gnav {
            	display: none;
            	padding: 0;
            	position: absolute;
            	top: 100px;
            	left: 0;
            	background:#15398f;
            	width: 100%!important;
                min-width: 100%;
            	z-index: 999999;
            }

            nav.sp ul.gnav li { 
                border: none;
                width: 100%;
                border-bottom: solid 1px #fff;
                color: #FFF;
                text-align: left;
                line-height: 65px;
                display: block;
                box-sizing: border-box;
            }
            nav.sp ul.gnav li.sub {
                border: none;
                width: 100%;
                border-bottom: solid 1px #fff;
                color: #FFF;
                text-align: left;
                padding: 0 1em 0;
                line-height: 65px;
                display: block;
                box-sizing: border-box;
                position: relative;
            }
            nav.sp ul.gnav li.sub:before {
                position: absolute;
                right: 25px;
                content: " ＋";
            }
            nav.sp ul.gnav li.sub.open:before {
                position: absolute;
                right: 25px;
                content: " ー";
            }

            nav.sp ul.gnav li:not(.menu-item-has-children) a {
                color: #FFF !important;
                display: block;
                padding: 0 1em;
                width: 100%;
                box-sizing: border-box;
                line-height: 65px;
            }
            
            nav.sp ul.gnav li.sub ul.snv {
                z-index: 0;
                position: relative;
                widows: 100%;
            }
            nav.sp ul.gnav li.sub ul.snv li {
                line-height: 1; padding: 0;
            }
            nav.sp ul.gnav li.sub ul.snv li a {
                line-height: 65px; padding: 0 10px;
                box-sizing: border-box;
            }
            nav.sp ul.gnav li.sub ul.snv li:first-child {
                border-top: solid 1px #FFF;
            }
            nav.sp ul.gnav li.sub ul.snv li:last-child {
                border-bottom: none;
            }

            nav.sp ul.gnav li a:hover {
                color: #FFF!important; }
        
            
            #home .news {
                background: url("../img/newsback.jpg") center;
                background: none;
                padding-top: 50px;
            }
            
            .sanjo article,
            #home .features article,
            #home .news article {
                display: block;
                padding-top: 50px;
                padding-bottom: 50px;

            }
            #home .members article .left,
            #home .features article .left,
            #home .news article .left {
                display: flex;
                flex-direction: row;
                justify-content: space-between;
                max-width: 100%;
                width: 100%;
                align-items: center;
                margin-bottom: 50px;
            }
            #home .news article ul {
                max-width: 100%;
                width: 100%;
                border-top: solid 1px #999;
            }

            .view {
                position:inherit;
            }
            
            #home .features {
                background: url("../img/eventback.jpg") center 143%;
                background-attachment: scroll; 
                padding-top: 300px;
            }
            #home .features article ul {
                display: flex;
                max-width: 100%;
                flex-wrap: wrap;
                width: 100%;
                gap: 5%;
            }
            #home .members {
                background: url("../img/memberback.jpg") center 70%;
                background-attachment: scroll; 
                padding-top: 300px;
            }
            #home .members article {
                background-color: #FFF;
                padding: 50px 3vw;
                text-align: center;
            }
            #home .members article ul li {
                flex: 0 0 calc( (100% - (2% * 2)) / 3 );
                font-size: 0.8rem;
                text-align: left;
                margin-bottom: 1rem;
            }
            
            #page section article {
                padding: 100px 0;
            }
            
            #page section article h2 {
                font-size: 9.4vw;
            }

            #page section article .cont ul.newsheadline a li p:nth-of-type(1) {
                margin-right: 1.5%;
                width: inherit;
            }
            #page section article .cont ul.newsheadline a li p:nth-of-type(2) {
                width: inherit;
                padding: 0 1em;
            }
            #page section article .cont ul.newsheadline a li p:nth-of-type(3) {
                width: 100%; 
                line-height: 1.2;
            }
            
                        
            #page section article .contentArea .post_cont h3 {
                width: 100%;
                margin-left: 0;
            }
                        
            .yakuin2 { width: 990px; }
            .yakuin2 th {
                width: 95px;
            }
            .yakuin2 th:nth-of-type(1) {
                width: 135px;
            }
            .yakuin_scroll_info {
                display: none;
            }
            .memberListArea ul {
                gap: 0;
                justify-content: space-between;
            }
            .memberListArea ul li {
                width: 48.5%;
                font-size: clamp(15px, 1.4vw, 18px);
            }
            
            #page .members article ul li {
                flex: 0 0 calc((100% - (2% * 2)) / 3);
            }

            




            

            
            .sanjo {
                background: url("../img/sanjoback.jpg") 30% 70%;
                background-attachment: scroll; 
                padding-top: 300px;
            }
            .sanjo article {
                padding: 50px 0;
            }
            .sanjo article .flex {
                width: 100%;
                display: block;
            }
            .sanjo article .sanjo-left {
                width: 100%;
            }
            .sanjo article .sanjo-info {
                margin-right: 15%;
                padding: 35px 40px;
            }

            .sanjo article .sanjo-left p img {
                right: 0;
            }
            .sanjo article .sanjo-right {
                width: 70%;
            }
            .sanjo article .sanjo-right img {
                width: 100%;
                height: auto;
                margin-top: 40px;
                margin-left: 40px
            }
            footer article  { 
                padding: 25px 3vw; 
            }
            footer p {
                padding: 15px 0; text-align: center;
            }
            
            footer article .link li a { width: 35%; color: #FFF; font-size: 14px; }






            

        }
        
        @media only screen and (max-width: 440px) {
            
            .flex { display: block; }
        
            #home .members .left h2,s
            #home .features .left h2,
            #home .news .left h2 {
                font-size: 60px;
            }
            #page .main>.page-mv h2 {
                font-size: 32vw;
            }

            #page section article h2 {
                font-size: 14vw;
                line-height: 1.2;
            }
            #page section article .contentArea {
                display: block;
                width: 96%; margin: auto;
            }
            #page section article .contentArea .cont {
                width: 100%;            
            }
            #page section article .contentArea .side {
                width: 100%;
            }
            
                        
            #page section article .contentArea .post_cont h3 {
                width: 100%;
                margin-left: 0;
                line-height: 1.2;
            }
            
            #page .info_org h3 {
                margin-bottom: 0.5em;
            }
            #page .info_org .info_org_cont {
                display: block;
            }
            #page .info_org .info_org_cont p {
                width: 100%;
                margin-bottom: 1.3em;
            }
            #page .info_org .info_org_cont table {
                width: 100%;
            }
            #page .info_org .info_org_cont table th {
                text-align: center;
                border-bottom: solid 1px #999;
                padding-left: 0;
            }
            #page .info_org .info_org_cont table th,
            #page .info_org .info_org_cont table td {
                display: block;
                width: 100%;
            }
            
            .yakuin {
                width: 863px;
            }
            .yakuin th:nth-of-type(1) {
                width: 38px;
            }
            .yakuin th:nth-of-type(2) {
                width: 160px;
            }
            .yakuin th:nth-of-type(3) {
                width: 135px;
            }
            .yakuin th:nth-of-type(4) {
                width: 250px;
            }
            .yakuin th:nth-of-type(5) {
                width: 280px;
            }
            .yakuin_scroll_info {
                display: block;
            }
            .commonArea .reportArea {
                display: block;
            }
            .commonArea .reportArea .report {
                width: 100%;
                padding-bottom: 0;
            }
            
            #page .members article ul li {
                flex: 0 0 calc((100% - (2% * 2)) / 2);
            }


            
            .sanjo article .sanjo-info {
                margin-right: 10%;
                padding: 35px 20px;
            }
            
            footer article  { 
                display: block;
            }
            footer article .logo {
                width: 80%;
                margin: auto;
            }
            footer article .link { width: 100%; }
            footer article .link ul {
                margin-top: 1em;
                justify-content: center;
            }



}




.wp-block-columns.is-layout-flex.normal {
  gap: 0;
}
.wp-block-columns.is-layout-flex.normal .wp-block-column {
  flex-basis: auto;
}




