/* CSS Document */

/*======================
共通設定
======================*/
html {scroll-behavior: smooth;}
body {font-family:  "Arial","メイリオ", Meiryo, sans-serif; position: relative;}
article {padding: 80px 0;}

.flex-box {display: flex;justify-content: space-between;align-items: center;}
.container {max-width: 1024px; width: 90%;margin: auto;}

.external_link {display: flex;align-items: center;}
.external_link::after {content: url(../../common/img/external_icon.gif); margin-left: 5px;}

/*======================
header
======================*/
header {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 25px 5% 25px 5%;
  box-sizing: border-box;
}
.header_txt {
  position: relative;
  color: #666;
  font-size: 14px;
  font-weight: bold;
  padding: 0 0 10px;
  letter-spacing: 0.2em;
}
.header_txt::after {
  content: "";
  position: absolute;
  display: block;
  height: 2px;
  width: 100%;
  bottom: 0;
  left: 0;
  background: linear-gradient(270deg, #31705A 0%, #769A52 100%);
}
.header_name {
  font-size: 23px;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin-right: 20px;
  display: inline-block;
}
.pg_nav {
  width: 100%;
}
.pg_nav--list {
  max-width: 525px;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.pg_nav a {
  font-size: 16px;
  font-weight: bold;
  color: #31705A;
}

header .flex-box {
  padding: 10px 0 0;
}

/* スマホメニュー */
.float_menu {display: none;}

/*======================
main
======================*/

/*パンくずリスト*/
.breadcrumbs {
  width: 95%;
  margin: 15px auto 80px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.breadcrumbs a {
  color: #31705A;
  text-decoration: underline;
}
.breadcrumbs a:hover {
  text-decoration: none;
}
.breadcrumbs li {
  color: #31705A;
  display: flex;
  align-items: center;
}
.breadcrumbs li::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid #31705A;
  border-right: 2px solid #31705A;
  transform: rotate(45deg);
  margin: 0 10px;
}
.breadcrumbs li:nth-last-child(1)::after {
  content: inherit;
}

/* メインビジュアル */
.mainvisual {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  z-index: 1;
  margin: 0 auto 40px;
}
.mainvisual_inner {
  position: relative;
  width: 90%;
  height: 500px;
  margin: auto;
}
.mainvisual_inner::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 20px;
  left: 20px;
  background: linear-gradient(90deg, #769A52 0%, #31705A 100%);
  z-index: 0;
}
.mainvisual_inner img {
  position: relative;
  width: 100%;
  height: 500px;
  object-fit: cover;
  z-index: 1;
}
.hgroup {
  max-width: 676px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px 0;
  background: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #769A52;
  line-height: 1.8;
  margin-bottom: 30px;
  box-shadow: 0px 0px 20px #00000029;
  z-index: 2;
}
.hgroup_main {
  color: #31705A;
  font-size: 36px;
  font-weight: bold;
}
.hgroup_sub {
  font-size: 32px;
  font-weight: bold;
}
.hgroup_en {
  font-size: 26px;
}
/*====================== ここから中身編集 ======================*/

/*======================
各タイトル
======================*/
.sectin_title {
  position: relative;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.2em;
  padding: 38px 0;
  text-align: center;
  margin: 0 auto 20px;
}
.sectin_title::after {
  content: "";
  position: absolute;
  width: 40px;
  height: 2px;
  bottom: 12px;
  left: 0;
  right: 0;
  margin: auto;
  background: linear-gradient(90deg, #769A52 0%, #31705A 100%);
}

.overview .sectin_title {background: url(../img/title_01.png) no-repeat center center;}
.notice .sectin_title {background: url(../img/title_02.png) no-repeat center center;}
.introduction .sectin_title {background: url(../img/title_03.png) no-repeat center center;}
.seminar .sectin_title {background: url(../img/title_04.png) no-repeat center center;}

/*======================
概要
======================*/
article.overview {
  padding: 0 0 80px;
}
.overview .flex-box {
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
}
.overview_box--left {
  max-width: 570px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.overview_box--txt {
  line-height: 2;
}
.button_pdf {
  display: block;
  max-width: 415px;
  width: 100%;
  padding: 8px 5%;
  box-sizing: border-box;
}
.button_pdf a {
  display: block;
  max-width: 415px;
  width: 100%;
  padding: 8px 5%;
  letter-spacing: 0.1em;
  color: #fff;
  text-align: center;
  font-family:  "ヒラギノ角ゴ Pro W6";
  background: linear-gradient(90deg, #769A52 0%, #31705A 100%);
  box-sizing: border-box;
}
.button_pdf a:hover {
  opacity: 0.8;
  text-decoration: none;
}
.button_pdf img {
  margin-left: 10px;
}
.overview_box--right img {
  margin-bottom: 10px;
}

/*======================
お知らせ
======================*/
.notice {
  width: 100%;
  padding: 80px 0;
  background: #F4F4F4;
  box-sizing: border-box;
}
.notice_list {
  max-width: 1024px;
  width: 90%;
  margin: auto;
}
.notice_list--box {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px 20px;
  padding: 40px 12%;
  box-sizing: border-box;
  border-top: 1px solid #999;
}
.notice_list--box:last-child {
  border-bottom: 1px solid #999;
}
.notice_list--date, .notice_list--content {
  display: inline-block;
}
.notice_list--date {
  font-weight: bold;
  color: #666;
}
.notice_list--content {
  max-width: calc(100% - 101px);
}
.notice_list--content a {
  color: #31705A;
  text-decoration: underline #31705A;
}
.notice_list--content a:hover {
  text-decoration: none;
}

/*======================
メンバー紹介
======================*/
.introduction a {
  color: #31705A;
  text-decoration: underline #31705A;
}
.introduction a:hover {
  text-decoration: none;
}
.introduction_member {
  position: relative;
  max-width: 905px;
  width: 100%;
  margin: 0  0 30px auto;
  border-top: 2px solid;
  border-image: linear-gradient(90deg, #769A52 0%, #31705A 100%);
  border-image-slice: 1;
  background: #F4F4F4;
  box-sizing: border-box;
  line-height: 1.8;
  padding: 0;
}
.introduction_member--box {
  width: 100%;
  padding: 60px 20px 60px 141px;
  box-sizing: border-box;
}
.introduction_member--img {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
}
.introduction_member--name, .introduction_member--role {
  font-weight: bold;
}
.introduction_member--txt {
  margin: 30px 0;
}

/*======================
学会・セミナー開催情報
======================*/
.seminar {
  width: 100%;
  padding: 80px 0;
  background: #F4F4F4;
  box-sizing: border-box;
  margin-bottom: 0;
}
.seminar article {
  padding: 0;
}
.seminar a {
  color: #31705A;
  text-decoration: underline #31705A;
}
.seminar a:hover {
  opacity: 0.8;
  text-decoration: none;
}
.seminar_info--txtBox {
  margin: 0 auto 25px;
  line-height: 1.8;
}
.seminar_info--button {
  display: block;
  max-width: 502px;
  width: 100%;
  padding: 8px 5%;
  box-sizing: border-box;
  margin: 25px auto 0;
}
.seminar_info--button a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  max-width: 502px;
  width: 100%;
  padding: 8px 5%;
  letter-spacing: 0.1em;
  color: #fff;
  text-align: center;
  font-family:  "ヒラギノ角ゴ Pro W6";
  background: linear-gradient(90deg, #769A52 0%, #31705A 100%);
  box-sizing: border-box;
  text-decoration: none;
}
.seminar_info--button a::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
.seminar_info--square {
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 5px;
}
.seminar_info--square::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: #31705A;
}
.seminar_info--boldTxt {
  font-weight: bold;
}
/*======================
footer
======================*/
.footer_harmonic {
  width: 100%;
  color: #fff;
  box-sizing: border-box;
  background: linear-gradient(270deg, #31705A 0%, #769A52 100%);
}
.footer_harmonic--copyright {
  width: 100%;
  padding: 15px 5%;
  background: #fff;
  color: #000;
  text-align: center;
  box-sizing: border-box;
}
.footer_harmonic--copyright small {
  font-size: 16px;
}
.footer_harmonic--inner {
  max-width: 800px;
  width: 90%;
  padding: 125px 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 65px;
  box-sizing: border-box;
}
.footer_harmonic--logo {
  width: 100%;
  text-align: center;
}
.footer_harmonic--research {
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.2em;
  padding: 0 0 10px;
  border-bottom: 2px solid #fff;
}
.footer_harmonic--name {
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.2em;
  padding: 8px 0 0;
}
.footer_harmonic--addressTitle {
  font-weight: bold;
  margin-bottom: 15px;
}
.footer_harmonic--addressTxt {
  line-height: 1.8;
}
@media screen and (max-width: 1279px) {
  body {min-width: 1280px;}
}

@media screen and (max-width: 767px) {
  body {min-width: 100%;}
  article {padding: 40px 0;}

  /*======================
  header
  ======================*/
  header {gap: 10px;padding: 7px 75px 7px 2%;margin-bottom: 20px;}
  header .flex-box {padding: 0 0 0;}
  .float_menu {position: absolute;}
  .pg_nav--list{display: none;}
  .header_txt{font-size: 6px;padding: 10px 0 0;}
  .header_txt::after{content: none;}
  .header_name{font-size: 14px;margin-right: 0;}

  /* スマホメニュー */
  .float_menu {display: block;}
  
  /*======================
  main
  ======================*/
  /* メインビジュアル */
  .mainvisual_inner{margin: 0 auto 0 3%;}
  .mainvisual_inner::after {top:15px;left: 15px;}
  .hgroup {max-width: 329px;width: 87%;padding: 20px 0;}
  .hgroup_main {font-size: 24px;}
  .hgroup_sub {font-size: 18px;}
  .hgroup_en {font-size: 16px;}

  /* パンくずリスト */
  .breadcrumbs {margin: 15px auto 15px;}

  /* 各タイトル */
  .sectin_title {font-size: 30px;}
  .overview .sectin_title{background-size: contain;}
  .notice .sectin_title{background-size: contain;}
  .introduction .sectin_title{background-size: contain;}
  .seminar .sectin_title{background-size: contain;}

  /* お知らせ*/
  .notice {padding: 40px 0;}
  .notice_list--box {padding: 20px 5%;}
  .notice_list--content {max-width: 100%;}

  /* メンバー紹介 */
  .introduction_member {display: flex; flex-direction: column; justify-content: center; align-items: center;padding-bottom: 40px;margin-bottom: 180px;}
  .introduction_member--box {padding: 40px 20px;margin-bottom: 70px;}
  .introduction_member--img {top:initial;bottom: 0;left:0;right:0;margin:auto;transform: translate(0, 50%);text-align: center;}
  .introduction a {display: block; margin-bottom: 10px; line-height: 1.2;}

  /* セミナー */
  .seminar {padding: 40px 0;}
  
  /*======================
  footer
  ======================*/
  .footer_harmonic--inner {padding: 70px 0; gap:30px;}
  .footer_harmonic--research {font-size: 10px;}
  .footer_harmonic--name {font-size: 20px;}
  .footer_harmonic--address {max-width: 286px;width: 100%;}

}

@media screen and (orientation: portrait) and (min-width: 768px){

}