@charset "UTF-8";
/* CSS Document */
/*実際のロゴ色はくすんだ紫#A976AB */
/*実際のロゴ色はくすんだ紫#A976AB */
/*--------------------------------------------*/
/*ヘッダー*/
/*--------------------------------------------*/
body > header {
  margin: 0;
  width: 100%;
  /*background: linear-gradient(#FFD4ED, #FFF);*/
  border-top: 8px solid #A976AB; }
  body > header ul, body > header li {
    list-style-type: none;
    margin: 0;
    padding: 0; }
  body > header label {
    cursor: pointer; }
  body > header > div {
    display: flex;
    justify-content: space-between;
    background: url(header_bg.jpg) no-repeat;
    background-position: center center;
    background-size: cover; }
    body > header > div > div:nth-child(2) {
      flex-grow: 2;
      min-width: 175px; }
      body > header > div > div:nth-child(2) ul {
        display: flex;
        justify-content: flex-end;
        height: 30px; }
        body > header > div > div:nth-child(2) ul li {
          background: #A976AB;
          padding: 2px 5px 5px; }
        body > header > div > div:nth-child(2) ul li.eng {
          padding-left: 7px; }
        body > header > div > div:nth-child(2) ul a, body > header > div > div:nth-child(2) ul span {
          display: block; }
      body > header > div > div:nth-child(2) div.logo_j {
        text-align: right;
        padding: 26px 3px 0 0; }
        body > header > div > div:nth-child(2) div.logo_j img {
          vertical-align: bottom;
          width: 172px;
          filter: drop-shadow(0 0 3px black); }
    body > header > div .eng {
      border-bottom-left-radius: 5px; }
      body > header > div .eng a {
        color: #FFEBF8;
        /*color: #FFD4ED;*/ }
      body > header > div .eng a:hover {
        text-decoration: none;
        color: #FFF; }
    body > header > div .contact svg {
      height: 18px;
      padding: 2px 3px 0 3px;
      fill: #FFEBF8; }
    body > header > div .contact a:hover svg {
      fill: #FFF; }
    body > header > div .search svg {
      height: 20px;
      fill: #FFEBF8; }
    body > header > div .search a:hover svg {
      fill: #FFF; }
  body > header input {
    display: none; }

.logo {
  width: 163px; }
  .logo a {
    display: block;
    background: #FFF; }
  .logo img {
    display: block;
    height: 82px;
    padding: 3px;
    border: 0;
    /*filter: drop-shadow(0 0 4px rgba(0, 0, 0, 1));*/ }
  .logo a:hover {
    		/*filter: alpha(opacity=60);
        	opacity:0.60;*/
    background: #FAF0FA;
    background: linear-gradient(#FFD4ED, #FFF); }

/*primary-navigation*/
nav.header_gmenu {
  width: 100%;
  background: #000; }
  nav.header_gmenu > ul {
    display: flex; }
    nav.header_gmenu > ul > li {
      margin: 5px;
      width: 33%; }
      nav.header_gmenu > ul > li label.menu__btn div {
        color: #FFF;
        padding: 0 10px;
        text-align: center;
        font-weight: 800;
        height: 20px; }
      nav.header_gmenu > ul > li label.menu__btn div:hover {
        color: #FFD4ED; }

/*メニューパネル*/
.menu__box {
  position: absolute;
  visibility: hidden;
  top: 120px;
  left: 0;
  overflow: auto;
  width: 100%;
  max-height: calc(100vh - 21.3vw - 100px);
  margin-top: -1000px;
  padding: 10px;
  background-color: #FFF;
  box-shadow: 1px 0 10px rgba(0, 0, 0, 0.5);
  z-index: 14;
  transition-duration: 0.5s; }
  .menu__box ul {
    list-style-type: none; }
    .menu__box ul li a {
      display: block; }
  .menu__box > ul > li > a {
    background: #FFD4ED;
    border-radius: 3px;
    padding: 2px 10px;
    margin-bottom: 5px; }
  .menu__box > ul > li ul {
    display: grid;
    gap: 5px;
    grid-template-columns: repeat(1, 1fr);
    margin: 0 0 0.5em 0; }
    .menu__box > ul > li ul li a {
      border: 1px solid #CE78C8;
      border-radius: 3px;
      padding: 2px 10px; }
  .menu__box a:hover {
    background: #CE78C8;
    color: #FFF;
    text-decoration: none; }

.menu__box_sog > ul {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 5px 2em; }
  .menu__box_sog > ul > li ul {
    grid-template-columns: repeat(auto-fill, minmax(6em, 1fr)); }
    .menu__box_sog > ul > li ul li a {
      text-align: center; }

@media screen and (min-width: 680px) {
  .menu__box_sog > ul {
    grid-template-columns: repeat(2, 1fr); }
    .menu__box_sog > ul > li:last-child {
      grid-column: 1 / 3;
      grid-row: 2 / 3; } }
.search__box {
  position: absolute;
  visibility: hidden;
  top: 120px;
  left: 0;
  overflow: auto;
  width: 100%;
  max-height: calc(100vh - 21.3vw - 100px);
  margin-top: -1000px;
  padding: 0;
  background-color: #FFF;
  box-shadow: 1px 0 10px rgba(0, 0, 0, 0.5);
  z-index: 14;
  transition-duration: 0.5s; }
  .search__box fieldset {
    border: none;
    display: flex;
    justify-content: center; }
    .search__box fieldset label {
      display: block;
      padding: 15px 0; }

header form#ajaxSearch_form input {
  display: block;
  font-size: 1.2rem;
  padding: 4px; }
header form#ajaxSearch_form input#ajaxSearch_submit {
  border: none;
  margin-left: 5px;
  color: #000;
  background: #EDEDED;
  border-radius: 2px;
  padding: 6px 10px; }
header form#ajaxSearch_form input#ajaxSearch_submit:hover {
  background: #A976AB;
  color: #FFF; }

/*menu開閉トグル radio*/
#menu__toggle1, #menu__toggle2, #menu__toggle3 {
  display: none; }
  #menu__toggle1:checked ~ .menu__btn div, #menu__toggle2:checked ~ .menu__btn div, #menu__toggle3:checked ~ .menu__btn div {
    color: #FFD4ED; }
  #menu__toggle1:checked ~ .menu__box, #menu__toggle2:checked ~ .menu__box, #menu__toggle3:checked ~ .menu__box {
    visibility: visible;
    left: 0;
    margin: 0; }
  #menu__toggle1:checked ~ .bg_closebtn, #menu__toggle2:checked ~ .bg_closebtn, #menu__toggle3:checked ~ .bg_closebtn {
    display: block;
    position: fixed;
    top: 120px;
    left: 0px;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    transition: background .2s ease-in-out; }

#search__toggle {
  display: none; }
  #search__toggle:checked ~ .search__btn a svg {
    fill: #FFF; }
  #search__toggle:checked ~ .search__box {
    visibility: visible;
    left: 0;
    margin: 0; }
  #search__toggle:checked ~ .bg_closebtn {
    display: block;
    position: fixed;
    top: 120px;
    left: 0px;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    transition: background .2s ease-in-out; }

/*パネル内閉じるボタン div.closebtn内*/
.closebtn label span {
  display: block;
  width: 5em;
  padding: 5px;
  text-align: center;
  margin: 10px auto;
  background: #CCC;
  color: #FFF;
  border-radius: 5px; }
.closebtn label span:hover {
  background: #A976AB;
  color: #FFF; }

/*背景の閉じるボタン　div.bg_closebtn内*/
.bg_closebtn label {
  display: block;
  height: 100%; }

/*--footer--*/
footer {
  background: url(header_bg.jpg) no-repeat;
  background-position: center center;
  background-size: cover; }
  footer p {
    font-size: 0.8rem;
    margin-bottom: 4em;
    background: #000;
    color: #FFF;
    padding: 3px 15px; }

/*secondary-navigation*/
nav.sog_menu {
  margin-bottom: 3em;
  border: 1px solid #657e73; }
  nav.sog_menu hgroup {
    display: flex;
    background: #657e73; }
    nav.sog_menu hgroup h2 {
      font-size: 1rem;
      border: none;
      margin: 0;
      color: #FFF;
      padding: 5px 10px; }
      nav.sog_menu hgroup h2 > a {
        display: block;
        color: #FFF; }
  nav.sog_menu > ul {
    list-style: none;
    margin: 0;
    padding: 0.3em 1em 1em; }
    nav.sog_menu > ul > li ul {
      margin-bottom: 0.8em; }
    nav.sog_menu > ul > li:last-child ul {
      margin-bottom: 0; }
  nav.sog_menu h3 {
    font-weight: normal;
    font-size: 1rem;
    padding: 1px;
    margin: 5px 0; }

/*toggle nav.sog_menu 年度トップのみ*/
nav.sog_menu hgroup.toggle {
  position: relative; }
  nav.sog_menu hgroup.toggle h2 {
    padding-right: 40px; }
  nav.sog_menu hgroup.toggle .toggle_btn {
    position: absolute;
    top: 14px;
    right: 5px;
    transform: translateY(-50%);
    /*background:rgba(255,255,255,0.3);*/
    display: block;
    width: 25px;
    height: 25px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    /*border-radius: 50%;*/ }
  nav.sog_menu hgroup.toggle .toggle_btn:before, nav.sog_menu hgroup.toggle .toggle_btn:after {
    display: block;
    content: '';
    background-color: #FFF;
    position: absolute;
    width: 18px;
    height: 2px;
    top: 13px;
    left: 50%;
    transform: translate(-50%, -50%); }
  nav.sog_menu hgroup.toggle .toggle_btn:before {
    width: 2px;
    height: 18px; }

.selected .toggle_btn:before {
  content: normal; }

.toggle_result {
  display: none; }
