@charset "UTF-8";
/* CSS Document */

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html, body {
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 18px;
    line-height: 200%;
	color: #000;
    font-family: 'Noto Sans Japanese', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif, "ＭＳ Ｐゴシック", "ms p gothic";
    font-weight: 400;
    -moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
    -webkit-text-size-adjust: none;
}


img {
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 70%;
    vertical-align: bottom;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

p {
    margin: 0;
}

a {
    color: #188890;
    transition: all 0.1s ease 0s;
} 
a:hover {
    text-decoration: none;
    opacity:0.6;
}

a img {
    transition: all 0.1s ease 0s;
} 
a img:hover {
    opacity:0.6;
}

.sp-no {
	display: inline;
}
.pc-no {
	display: none;
}



/*フェードイン*/
.fade {
    animation-name: fade;
    animation-duration: 0.4s;
}
@keyframes fade {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show {
  opacity: 1;
}

/* フェードイン inview */
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50px);
  transition: 1s;
}
.fadeIn_down {
  opacity: 0;
  transform: translate(0, -50px);
  transition: 1s;
}
.fadeIn_left {
  opacity: 0;
  transform: translate(-50px, 0);
  transition: 1s;
}
.fadeIn_right {
  opacity: 0;
  transform: translate(50px, 0);
  transition: 1s;
}
.fadeIn_up.is-show, .fadeIn_down.is-show, .fadeIn_left.is-show, .fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.main {
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    overflow: hidden;
}



/*パンくずリスト*/
.breadcrumb {
  width: 90%;
  max-width: 1200px;
  margin: 10px auto 45px;
  font-size: 75%;
  line-height: 210%;
}

.breadcrumb a {
  transition: all 0.1s ease;
}

.breadcrumb a:hover {
  text-decoration: none;
  opacity: 0.6;
}

h1,h2,h3,h4,h5 {
    width: 100%;
}



/*見出し*/
.maintitle-area h1 {
    position: relative;
    color: #fff;
    text-align: center;
    margin-top: 25px;
    text-shadow: 0px 3px 6px #00000029;
    z-index: 5;
}
.maintitle-area h1 .eng {
    font-size: 210%;
    font-family: "Montserrat Alternates", sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 12px;
}
.maintitle-area h1 .jp{
    font-size: 60%;
    font-family: "M PLUS 1", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.15em;
}

.main-area h2 {
    font-size: 170%;
    line-height: 130%;
    color: #000;
    margin-bottom: 60px;
}
.main-area h2:after {
    background-color: #0E90D0; /* 線色 */
    border-radius: 4px; /* 線幅の半分 */
    content: "";
    display: block;
    height: 8px; /* 線幅 */
    margin-top: 10px;
}

.main-area h3 {
    font-size: 130%;
    line-height: 140%;    
    color: #0E90D0;
    margin-bottom: 30px;
    padding: 15px 20px 16px;
    background-color: #E0F7FA;
    border-radius: 10px;
}

.main-area h4 {
    width: 95%;
    font-size: 130%;
    line-height: 140%;
    margin: 0 auto 30px;
    padding: 0 0 2px 15px;
    border-left: 8px solid #0E90D0;
}

.main-area h5 {
    width: 95%;
    font-size: 110%;
    line-height: 140%;
    margin: 0 auto 30px;
    padding: 10px;
    border-bottom: 1px solid #0E90D0;
}

.main-area h6 {
    position: relative;
    width: 95%;
    font-size: 110%;
    line-height: 140%;
    margin: 0 auto 30px;
    padding-left: 27px;
}
.main-area h6:before {
    position: absolute;
    content: '●';
    left: 0px;
    font-size: 110%;
    color: #0E90D0;    
}



/*リンクボタン*/
.link-btn {
    position: relative;
    display: flex;
    justify-content: center;
}
.link-btn a {
    width: 300px;
    padding: 17px;
    background-color: #0E90D0; /* 背景色 */
    box-shadow: 0 4px 0 #8CD2F5; /* 影の太さ?色 */
    border-radius: 10px;
    font-size: 135%;
    font-family: "M PLUS 1", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    text-align: center;
    color: #fff;
    cursor: pointer;
    text-decoration: none; /* 文字の下線を消す */
    transition: all 0.2s ease 0s;
}
/* ホバー時 */
.link-btn a:hover {
    box-shadow: none;
    transform: translateY(5px);
}
/* クリック時 */
.link-btn a:active {
    box-shadow: none;
    transform: translateY(5px);
}



/*サブメインタイトル枠*/
.maintitle-area {
    position: relative;
    width: 100%;
    height: 400px;
    margin: 0;
    padding: 0;
    background: transparent linear-gradient(0deg, #53AF80 0%, #0087B1 100%) 0% 0% no-repeat padding-box;
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;    
}
.maintitle-area-bg-l {
    width: 48%;
    max-width: 740px;    
    position: absolute;
    top: 0;
    left: 0;
}
.maintitle-area .maintitle-area-bg-l img {
    width: 100%;
}


.maintitle-area-bg-r {
    width: 35%;
    max-width: 460px;    
    position: absolute;
    right: 0;
    bottom: 0;
}
.maintitle-area .maintitle-area-bg-r img {
    width: 100%;
}

.maintitle-area .maintitle-area-wave {
    position: absolute;
    width: 101%;
    bottom: -1px;
}
.maintitle-area .maintitle-area-wave img {
    width: 100%;
}



/*コンテンツ*/
.main-area {
    position: relative;
    width: 90%;
    max-width: 1200px;
    margin:0 auto 230px;
    display: flex;
    align-items: flex-start;
}

.menu-area {
    position: sticky;
    width: 32%;
    min-width: 220px;
    margin-right: 4%;
    top: 10px;
}
.menu-area .menu-title {
    display: block;
    padding: 22px 25px;
    font-weight: 600;
    line-height: 150%;
    color: #fff;
    background-color: #0E90D0;
    border-radius: 10px 10px 0 0;
}
.menu-area ul.menu-list {
    list-style: none;
    border: 2px solid #0E90D0;
    border-top: none;
    border-radius: 0 0 10px 10px;
}
.menu-area ul.menu-list li {
    font-size: 90%;
    font-weight: 600;
    line-height: 165%;
    border-bottom: 1px solid #0E90D0;
    background-color: #FFF;
    display: block;
}
.menu-area ul.menu-list li:last-child {
    border-bottom: none;
    border-radius: 0 0 10px 10px;
}
.menu-area ul.menu-list li.sub-menu {
    text-indent: -2.2em;
    padding-left: 2.2em;
}
.menu-area ul.menu-list li a{
    width: 100%;
    margin: 0;
    padding: 16px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    text-decoration: none;
    transition: all 0.1s ease 0s;
    color: #000;
}
.menu-area ul.menu-list li a:hover {
}

.main-content-area {
    width: 100%;
    min-height: 40vh;
}

.main-content-area p {
    width: 95%;
    margin: 0 auto;
}

.main-content-area .text-beginning img {
    width: auto;
    max-width: 100%;
}


/*NEWS：お知らせ*/
ul.news-list {
    line-height: 190%;
    list-style: none;
}
ul.news-list li {
    display: flex;
    padding: 14px 0 15px;
    border-bottom: 1px solid #0E90D0;
}
ul.news-list li:first-child {
    padding-top: 0;
}
ul.news-list li .update_date {
    width: 160px;
    margin-right: 8px;
    padding: 0 15px;
    font-weight: 600;
    color: #0E90D0;
}
ul.news-list li .title_link {
    width: 100%;
}

.news-date {
    margin: -55px 0 50px 0;
    font-weight: 600;
    color: #0E90D0;
    text-align: right;
}

.news-back-btn {
    margin-top: 60px;
}

/*NEWS：お知らせ for index*/
.index-news-cntbox ul.docs {
    line-height: 190%;
    list-style: none;
}
.index-news-cntbox ul.docs li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 14px 0 15px;
    border-bottom: 1px solid #0E90D0;
}
.index-news-cntbox ul.docs li:first-child {
    padding-top: 0;
}
.index-news-cntbox ul.docs li .publish_date {
    width: 10%;
    font-weight: 600;
    color: #0E90D0;
}
.index-news-cntbox ul.docs li .title_link {
    width: 80%;
}

@media screen and (max-width: 768px){
.index-news-cntbox ul.docs li .publish_date {
    width: 50%;
    margin: 0 0 10px;
}
.index-news-cntbox ul.docs li .title_link {
    width: 100%;
}

}

.news-date {
    margin: -55px 0 50px 0;
    font-weight: 600;
    color: #0E90D0;
    text-align: right;
}

.news-back-btn {
    margin-top: 60px;
}



/***NEWS：お知らせ（FOR JORURI）***/

#pageTitle h1 {
    font-size: 170%;
    line-height: 130%;
    color: #000;
    margin-bottom: 60px;
}
#pageTitle h1:after {
    background-color: #0E90D0; /* 線色 */
    border-radius: 4px; /* 線幅の半分 */
    content: "";
    display: block;
    height: 8px; /* 線幅 */
    margin-top: 10px;
}

/***PIECE***/
#newsAll ul {
    width: 96%;
    margin: 0 auto;
    line-height: 190%;
    list-style: none;
}
#newsAll ul li {
    display: flex;
    padding: 14px 0 15px;
    border-bottom: 1px solid #0E90D0;
}
#newsAll ul li:first-child {
    padding-top: 0;
}
#newsAll ul li .update_date {
    width: 160px;
    margin-right: 8px;
    padding: 0 15px;
    font-weight: 600;
    color: #0E90D0;
}
#newsAll ul li .title_link {
    width: 100%;
}


/***NEWS DETAILS TEMPLATE***/


.news-area #pageTitle h1 {
    margin-bottom: 20px;
}

.news-area .contentGpArticleDoc .date {
    margin: 0 0 30px;
    color: #0E90D0;
}

.news-area .contentGpArticleDoc .date .updatedAt {
    display: none;
}

/***NEWS ALL TEMPLATE***/

.contentGpArticleDocs .docs {
    width: 96%;
    margin: 0 auto;
    padding: 0;
    position: relative;
    overflow: hidden;
}

.contentGpArticleDocs .docs img {
    width: auto;
    max-width: 100%;
}

.contentGpArticleDocs .docs h2.date {
    width: 100%;
    margin: 0 0 10px;
    padding: 0;
    font-size: 140%;
    color: #0E90D0;
}

.contentGpArticleDocs .docs h2.date:after {
    content: "";
    width: 100%;
    height: 2px;
    margin: 10px 0 0;
    padding: 0;
    background-color: #0E90D0;
    border-radius: 10px;
    display: block;    
}

.contentGpArticleDocs .docs ul {
    width: 90%;
    margin: 0 auto 50px;
    padding: 0;
    position: relative;
    overflow: visible;
}


/*RESEARCH：研究について*/
strong.research-bold {
    color: #188890;
}

span.text-underline {
  text-decoration: underline; /* 下線 */
  text-decoration-thickness: 0.3em; /* 線の太さ */
  text-decoration-color: rgba(241, 246, 214, 1); /* 線の色 */
  text-underline-offset: -0.1em; /* 線の位置。テキストに重なるようにやや上部にする */
  text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
}

.main-content-area .research-content-box {
    position: relative;
    width: 95%;
    margin: 95px auto;
    padding: 0 4% 3.5%;
    border: 2px solid #188890;
    border-radius: 10px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
}
.main-content-area .research-content-box:last-child {
    margin-bottom: 0;
}

.main-content-area .research-content-box .research-number-img {
    width: 32%;
    max-width: 90px;
    min-width: 40px;
    margin: -45px auto 30px;
}
.main-content-area .research-content-box .research-number-img img {
    width: 100%;
}
.main-content-area .research-content-box .research-title {
    font-size: 130%;
    font-weight: 600;
    line-height: 150%;
    text-align: center;
    margin-bottom: 25px;
}
.main-content-area .research-content-box .research-icon-img {
    width: 75%;
    max-width: 190px;
    min-width: 100px;
    margin: 0 auto 25px;
    display: flex;
    align-items: flex-end;
    margin-top: auto;
}
.main-content-area .research-content-box .research-icon-img img {
    width: 100%;
}



/*コンソーシアム*/
.consortium-image-diagram-area {
    width: 85%;
    max-width: 630px;
    margin: 45px auto 20px;
}

h3#member-list span {
    font-size: 80%;
}

ul.consortium-member-list {
    width: 90%;
    margin: 0 auto;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
ul.consortium-member-list li {
    width: 47%;
    display: block;
    position: relative;
    margin: 0 0 13px 0;
    padding: 0 0 0 13px;
    line-height: 140%;
    text-decoration: none;
    transition: all 0.1s ease 0s;
}
ul.consortium-member-list li:after {
    display: inline-block;
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 5px;
    height: 5px;
    margin: 0;
    background-color: #188890;
    border-radius: 50%;
}
@media screen and (min-width: 769px) and (max-width: 900px) {
h3#member-list br.pc-no {
    display: inline;
}
    
ul.consortium-member-list li {
    width: 95%;
    margin: 0 auto 13px;
}
}


/*コンソーシアム入会の流れ*/
ul.consortium-join-step{
    width: 95%;
    margin: 35px auto 25px;
    display: flex;
    align-items: stretch;
    list-style: none;
}
ul.consortium-join-step li{
    width: 32%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    text-align: center;
    line-height: 160%;
    position: relative;
    padding: 17px;
    margin: 0 25px 10px 0;
    background-color: #E4EBB7;
    border-radius: 10px;
}
ul.consortium-join-step li:after{
  content: "";
  position: absolute;
  top: 34%;
  right: -26px;
  border-width: 15px 13px;
  border-color: transparent transparent transparent #E4EBB7;
  border-style: solid;
}
ul.consortium-join-step li:first-child {
    background-color: #F0F5D5;
}
ul.consortium-join-step li:first-child:after{
    border-color: transparent transparent transparent #F0F5D5;
}
ul.consortium-join-step li:last-child {
    margin-right: 0;
    background-color: #D5EEC9;
}
ul.consortium-join-step li:last-child:after{
    content: none;
}

@media screen and (min-width: 769px) and (max-width: 980px) {
ul.consortium-join-step{
    font-size: 85%;
}
}
@media screen and (min-width: 769px) and (max-width: 900px) {
ul.consortium-join-step{
    flex-wrap: wrap !important;
}
ul.consortium-join-step li{
    width: 100%;
    margin: 0 0 20px 0;
}
ul.consortium-join-step li:after{
    content: "";
    position: absolute;
    top: 95%;
    right: 47.1%;
    border-width: 15px 13px;
    border-color: transparent transparent transparent #E4EBB7;
    border-style: solid;
    transform: rotate(90deg);
}
ul.consortium-join-step li br{
    display: none;
}
}

/*アイコン付きリスト文字(太字)*/
ul.icon-list {
    list-style: none;
    font-weight: 600;
    line-height: 160%;
    color: #00133E;
    margin: 0 0 0 25px;
}
ul.icon-list li {
    position: relative;
    margin:  0 0 15px 0;
    padding-left: 15px;
}
ul.icon-list li:last-child {
    margin:  0 0 30px 0;
}
ul.icon-list li:after {
    display: block;
    content: "";
    position: absolute;
    top: 14px;
    left: -4px;
    width: 7px;
    height: 7px;
    margin: -4px 0 0 0;
    border-top: solid 2px #0E90D0;
    border-right: solid 2px #0E90D0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
ul.icon-list li img {
    width: 23px;
    margin: 0 0 0 7px;
}

/*コンソーシアム規約*/
.consortium-kiyaku-area {
    width: 95%;
    margin: 0 auto 60px;
    height: 320px;
    overflow-y: auto;
    padding: 3.5% 17px 3.5% 15px;
    border: 1px solid #0E90D0;
    font-size:90%;
}

ol.parenthesized-num-consortium {
    line-height: 200%;
    margin: 0 0 0 53px;
    list-style: none;
    counter-reset: cnt;
}
ol.parenthesized-num-consortium li {
    padding-left: 0.9em;
    text-indent: -0.9em;
}
ol.parenthesized-num-consortium li:before {
    content: "(" counter(cnt) ")";
    counter-increment: cnt;
    display: inline-block;
    width: 0.9em;
}

ol.num-consortium {
    line-height: 200%;
    margin: 0 0 0 55px;
    list-style: none;
    counter-reset: item 1;
}
ol.num-consortium li {
    padding-left: 0.7em;
    text-indent: -0.7em;
}
ol.num-consortium li:before {
    content: counter(item) "";
    counter-increment: item;
    display: inline-block;
    width: 0.7em;
}

/*コンソーシアム入会申込フォームボタン*/
.link-btn.consortium-join-btn a {
    width: 80%;
    max-width: 450px;
    margin: 0 auto;
    padding: 20px 10px;
}
@media screen and (min-width: 769px) and (max-width: 900px) {
.link-btn.consortium-join-btn a {
    font-size: 110%;
}
}



/*ページトップへ戻るボタン*/
.pagetop {
    position: fixed;
    width: 60px;
    height: 60px;
    border-radius: 60px;
    background-color:rgba(24,136,144,0.8);
    bottom: 20px;
    right: 20px;
    cursor: pointer;
    display: none;
    z-index: 100;
}
.pagetop:before {
    display: block;
    content: "";
    position: absolute;
    top: 49%;
    left: 40%;
    width: 10px;
    height: 10px;
    margin: -4px 0 0 0;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}



/*footer*/
footer {
    width: 100%;
    margin: 0;
    padding: 60px 0 0;
    position: relative;
    overflow: hidden;
    opacity: 1;
    background-image: url("/_files/00533577/ftr-bg.svg");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
}

#ind-ftr {
    margin: -150px 0 0;
}

.ftr-area {
    position: relative;
    width: 100%;
    height: auto;
    padding: 100px 0 90px;
}

.ftr-maintext {
    position: relative;
    font-size: 120%;
    text-align: center;
    line-height: 210%;
    margin: 0 2% 20px;
}
.ftr-maintext br.none {
    display: none;
}
@media screen and (min-width: 769px) and (max-width: 1170px) {
.ftr-maintext br.none {
    display: inline;
}
}

.ftr-content-text {
    position: relative;
    font-size: 110%;
    font-weight: 700;
    text-align: center;
    line-height: 200%;
    margin: 0 2% 25px;
}

.ftr-contact-btn {
    position: relative;
    display: flex;
    justify-content: center;
}
.ftr-contact-btn a {
    width: 85%;
    max-width: 450px;
    margin-bottom: 60px;
    padding: 22px 15px;
    background-color: #0E90D0; /* 背景色 */
    box-shadow: 0 4px 0 #8CD2F5; /* 影の太さ?色 */
    border-radius: 9999px;
    font-size: 135%;
    font-family: "M PLUS 1", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    text-align: center;
    color: #fff;
    cursor: pointer;
    text-decoration: none; /* 文字の下線を消す */
    transition: all 0.2s ease 0s;
}
/* ホバー時 */
.ftr-contact-btn a:hover {
    box-shadow: none;
    transform: translateY(5px);
}
/* クリック時 */
.ftr-contact-btn a:active {
    box-shadow: none;
    transform: translateY(5px);
}

ul.ftr-bnr {
    position: relative;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    list-style: none;
    text-align: center;
    display: flex;
    justify-content: center;
    color: #000;
}
ul.ftr-bnr li {
    position: relative;
    width: 210px;
    height: 75px;
    margin: 0 0.75% 1.1% 0.75%;
    padding: 0 18px;
    background-color: #fff;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;    
}
ul.ftr-bnr li a {
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
    padding: 0 18px;
    transition: all 0.1s ease 0s;
    display: flex;
    justify-content: center;
    align-items: center;    
}
ul.ftr-bnr li a:hover {
    opacity: 0.6;
}
ul.ftr-bnr li a img {
    width: 100%;
    max-width: 175px;
    opacity: 1;
}

.ftr-copy {
    width: 100%;
    margin: 0;
    padding: 7px 0;
    position: relative;
    overflow: hidden;
    font-size: 90%;
    color: #fff;
    text-align: center;
    background-color: #0E90D0;
}
