@charset "UTF-8";

body {
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Verdana", "sans-serif";
  font-size: 100%;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #333333;
  margin-bottom: 1px;
  /*scrollbar*/
  word-break: normal;
  word-wrap: break-word;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
input,
blockquote,
figure {
  margin: 0;
  padding: 0;
}

img {
  border: none;
}

a img {
  border: none;
}

ul li img {
  vertical-align: bottom;
}

/*li, dt, dd {
  line-height: 1.4;
}*/

a:link,
a.skip {
  background-color: transparent;
}

/*a {
  color: #005379;
  text-decoration: underline;
}*/

a:hover,
a:focus {
  color: #7c1801;
}

a:visited {
  color: #252c71;
}

a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  color: #333333 !important;
}

@media screen and (max-width: 1024px) {
  a[href*="tel:"] {
    pointer-events: auto;
    cursor: pointer;
    text-decoration: underline;
    color: #005379 !important;
  }
}

.anchor {
  cursor: pointer;
}

.pcnone {
  display: none;
}

p.voice_navi {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
}

.bold {
  font-weight: bold;
}

iframe {
  border: 0px;
  max-width: 100%;
}

@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon.eot?4alztn");
  src: url("fonts/icomoon.eot?4alztn#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?4alztn") format("truetype"), url("fonts/icomoon.woff?4alztn") format("woff"), url("fonts/icomoon.svg?4alztn#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-emg:before {
  content: "\e902";
}

.icon-linkarw {
  font-size: 1.5rem;
}

.icon-linkarw:before {
  content: "\e903";
}

/*!
 * ress.css • v2.0.4
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
  height: 0;
  /* Add the correct box sizing in Firefox */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: none;
  /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
  /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type="search"] {
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
  /* Correct the outline style in Safari */
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
  color: inherit;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
textarea {
  background-color: transparent;
  border-style: none;
}

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
  vertical-align: middle;
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not([fill]) {
  fill: currentColor;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit;
  }

  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/*#wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #F9F4EA;
  background-image: url(../images/wrapper_bg_l.png), url(../images/wrapper_bg_r.png), url(../images/header_top_bg.png), url(../images/bg_pattern.png);
  background-position: left -150px top 30px,right -200px top 100px,left 400px top -10px,center;
  background-repeat: no-repeat,no-repeat,no-repeat,repeat;
  background-size: 478px 779px,480px 633px,162px 124px,57px 57px;
}

@media screen and (max-width: 1366px) {
  #wrapper {
    background-size: 250px 407px,280px 369px,162px 124px,57px 57px;
    background-position: left -90px top 30px,right -150px top 100px,left 320px top -10px,center;
  }
}

@media screen and (max-width: 1280px) {
  #wrapper {
    background-image: url(../images/wrapper_bg_l_s.png), url(../images/wrapper_bg_r_s.png), url(../images/header_top_bg.png), url(../images/bg_pattern.png);
    background-size: 148px 205px,198px 103px,162px 124px,57px 57px;
    background-position: left 140px top 80px,left 230px top 15px,left 300px top -10px,center;
  }
}

@media screen and (max-width: 1024px) {
  #wrapper {
    background-image: url(../images/header_top_bg.png), url(../images/bg_pattern.png);
    background-position: left 150px top -20px,center;
    background-repeat: no-repeat,repeat;
    background-size: 162px 124px,57px 57px;
  }
}

@media screen and (max-width: 414px) {
  #wrapper {
    background-image: url(../images/bg_pattern.png);
    background-position: center;
    background-repeat: repeat;
    background-size: 57px 57px;
    min-width: 100%;
  }
}*/

#main {
  margin: 0 auto;
  clear: both;
  position: relative;
}

#education #main {
  top: 0px;
}

#page_main {
  max-width: 1200px;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 40px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1024px) {
  #page_main {
    width: auto;
    margin: 20px 20px 40px 20px;
  }
}

@media screen and (max-width: 959px) {
  #page_main {
    display: block;
  }
}

@media screen and (max-width: 414px) {
  #page_main {
    margin: 0px 0px 40px 0px;
  }
}

#page_maincontents {
  width: 880px;
  background: #FFF;
  padding: 30px;
}

@media screen and (max-width: 1024px) {
  #page_maincontents {
    width: 735px;
  }
}

@media screen and (max-width: 959px) {
  #page_maincontents {
    width: auto;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 414px) {
  #page_maincontents {
    margin: 20px 0px;
    padding: 5px;
  }
}

#page_maincontents-onecol {
  width: 100%;
  background: #FFF;
  padding: 30px;
}

#page_sidemenu {
  width: 290px;
  margin-left: 30px;
  z-index: 1;
}

@media screen and (max-width: 959px) {
  #page_sidemenu {
    width: auto;
    margin-left: 0px;
  }
}

@media screen and (max-width: 414px) {
  #page_sidemenu {
    margin: 20px;
  }
}

.skip {
  position: absolute;
  overflow: hidden;
  width: 0;
  margin: 0;
  padding: 0;
}

a.skip {
  text-align: center;
  padding: 2px 0;
  top: 0;
}

a.skip:active,
a.skip:focus {
  display: block;
  font-size: 100%;
  line-height: 1.6;
  top: 0;
  left: 0;
  z-index: 3000;
  height: auto;
}

a.skip:active {
  width: 100%;
}

a.skip:focus {
  width: 99.99%;
}

#header {
  width: 100%;
  display: block;
  text-align: left;
  margin: 0 auto;
  position: relative;
  z-index: 4;
}

#header #header_logo {
  max-width: 1200px;
  width: 100%;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  top: 30px;
  left: 50%;
  padding: 0px 30px;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

@media screen and (max-width: 1024px) {
  #header #header_logo {
    padding: 0px 20px;
    top: 20px;
  }
}

#header #header_logo h1,
#header #header_logo div {
  width: 110px;
  height: auto;
}

@media screen and (max-width: 1024px) {

  #header #header_logo h1,
  #header #header_logo div {
    width: 80px;
  }
}

@media screen and (max-width: 959px) {

  #header #header_logo h1,
  #header #header_logo div {
    width: 60px;
  }
}

@media screen and (max-width: 414px) {

  #header #header_logo h1,
  #header #header_logo div {
    width: 50px;
  }
}

#header #header_logo h1 img,
#header #header_logo div img {
  width: 100%;
  height: auto;
}

#header #header_logo h1 a,
#header #header_logo div a {
  display: block;
}

@media screen and (max-width: 959px) {
  #header_r {
    display: none;
  }
}

#header_r ul {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-top: 10px;
}

#header_r ul li {
  width: 130px;
  background-color: #00884D;
  background-image: url(../images/bg_pattern_20.png);
  background-repeat: repeat;
  margin-right: 5px;
  text-align: center;
  position: relative;
}

#header_r ul li:hover {
  background: #00814B;
  background-image: url(../images/bg_pattern_20.png);
  background-repeat: repeat;
}

#header_r ul li:last-child {
  margin-right: 0px;
}

#header_r ul li div.txt_ttl,
#header_r ul li div.search_ttl {
  width: 100%;
  cursor: pointer;
}

#header_r ul li a {
  display: block;
  width: 100%;
  cursor: pointer;
  text-decoration: none;
  color: #FFF;
  font-size: 80%;
  padding: 10px 10px 10px 20px;
  font-weight: bold;
}

#header_r ul li a.search {
  background: url("../images/header_icon_search.svg") no-repeat 0.5em;
  background-size: 20px 20px;
}

#header_r ul li a.sitemap {
  background: url("../images/header_icon_sitemap.svg") no-repeat 0.5em;
  background-size: 20px 20px;
}

#header_r ul li a.language {
  background: url("../images/header_icon_lang.svg") no-repeat 0.5em;
  background-size: 20px 20px;
}

#header_r ul li a.mylist {
  background: url("../images/header_icon_mylist.svg") no-repeat 0.5em;
  background-size: 20px 20px;
}

#header_r ul li button {
  color: #FFF;
  font-size: 80%;
  padding: 10px 10px 10px 20px;
  font-weight: bold;
}

#header_r ul li button.txt {
  background: url("../images/header_icon_txt.svg") no-repeat 0.5em;
  background-size: 20px 20px;
  border: 0px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Verdana", "sans-serif";
  width: 100%;
  cursor: pointer;
}

.txt_clr {
  float: right;
  display: none;
  width: 430px;
  position: absolute;
  right: 0;
  top: 45px;
  z-index: 4;
  padding: 20px 10px;
  background: #F5EEE0;
  border-radius: 10px;
}

.txt_clr::after {
  border: 10px solid transparent;
  border-bottom-color: #F5EEE0;
  border-top-width: 0;
  width: 0;
  top: -7px;
  content: "";
  display: block;
  right: 50px;
  position: absolute;
}

.txt_clr div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.txt_clr span {
  margin: 0;
  vertical-align: top;
  display: inline-block;
}

.txt_clr dl {
  margin: 0 3px 0 5px;
  display: inline-block;
  color: #006837;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.txt_clr dt {
  padding-right: 7px;
  font-size: 80%;
  font-weight: bold;
}

.txt_clr dd {
  margin-left: -1px;
  cursor: pointer !important;
}

#overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  display: none;
  background: rgba(255, 255, 255, 0.9);
}

#overlay #close-btn {
  background: #00884D;
  color: #FFF;
  font-size: 120%;
  border: none;
  margin-top: 20px;
  padding: 10px 30px;
  cursor: pointer;
  -webkit-box-shadow: 0px 3px 0px #00663A;
  box-shadow: 0px 3px 0px #00663A;
  border-radius: 10px;
  -webkit-transition: color 0.3s, background 0.3s, -webkit-box-shadow 0.3s, -webkit-transform 0.3s;
  transition: color 0.3s, background 0.3s, -webkit-box-shadow 0.3s, -webkit-transform 0.3s;
  transition: color 0.3s, background 0.3s, box-shadow 0.3s, transform 0.3s;
  transition: color 0.3s, background 0.3s, box-shadow 0.3s, transform 0.3s, -webkit-box-shadow 0.3s, -webkit-transform 0.3s;
}

#overlay #close-btn:hover {
  border: none;
  background: #00814B;
  -webkit-transform: translateY(3px);
  transform: translateY(3px);
  -webkit-box-shadow: 0px 1px 0px #00663A;
  box-shadow: 0px 1px 0px #00663A;
  -webkit-transition: color 0.3s, background 0.3s, -webkit-box-shadow 0.3s, -webkit-transform 0.3s;
  transition: color 0.3s, background 0.3s, -webkit-box-shadow 0.3s, -webkit-transform 0.3s;
  transition: color 0.3s, background 0.3s, box-shadow 0.3s, transform 0.3s;
  transition: color 0.3s, background 0.3s, box-shadow 0.3s, transform 0.3s, -webkit-box-shadow 0.3s, -webkit-transform 0.3s;
}

#overlay #close-btn:active {
  border: none;
  background: #00663A;
  -webkit-transform: translateY(6px);
  transform: translateY(6px);
  -webkit-box-shadow: 0px;
  box-shadow: 0px;
  -webkit-transition-duration: .1s;
  transition-duration: .1s;
}

.header_search {
  position: relative;
  width: 100%;
  max-width: 720px;
  margin: 280px auto 0 auto;
  border-bottom: 2px solid #00884D;
}

.header_search form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.header_search form .search_field {
  vertical-align: middle;
  width: 90%;
  font-size: 120%;
  letter-spacing: .2em;
}

.header_search form .search_btn {
  width: 58px;
}

@media screen and (max-width: 414px) {
  .header_search form .search_btn {
    width: 30px;
  }
}

.header_search form .search_btn input[type="image"] {
  width: 100%;
  height: auto;
}

.header_search form input::-ms-clear {
  visibility: hidden;
}

.header_search form input::-webkit-input-placeholder {
  color: #00814B;
  opacity: 1;
}

.header_search form input:-ms-input-placeholder {
  color: #00814B;
  opacity: 1;
}

.header_search form input::-ms-input-placeholder {
  color: #00814B;
  opacity: 1;
}

.header_search form input::placeholder {
  color: #00814B;
  opacity: 1;
}

.header_search form input[type="text"] {
  border: none;
  padding: 20px;
  width: 662px;
  background: none;
}

@media screen and (max-width: 414px) {
  .header_search form input[type="text"] {
    width: 100%;
  }
}

.menu-trigger,
#menu-sp {
  display: none;
}

#gnavi {
  max-width: 1200px;
  width: 100%;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
  z-index: 3;
  padding: 40px 0px 0px 0px;
  font-size: 90%;
}

@media screen and (max-width: 1024px) {
  #gnavi {
    padding: 0px;
  }
}

@media screen and (max-width: 959px) {
  #gnavi {
    display: none;
  }
}

#gnavi ul {
  clear: both;
  list-style: none;
  display: block;
  text-align: center;
  width: 100%;
  height: 60px;
  margin: 20px 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

#gnavi ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-right: 1px solid lightgray;
}

#gnavi ul li:first-child {
  border-left: 1px solid lightgray;
}

#gnavi ul li a {
  position: relative;
  display: block;
  text-decoration: none;
  color: #333333;
  font-weight: bold;
  font-size: 130%;
  z-index: 3;
  padding: 20px 30px;
}

@media screen and (max-width: 1024px) {
  #gnavi ul li a {
    width: auto;
    padding: 20px 25px;
  }
}

#gnavi ul li a:after {
  content: '';
  width: 0px;
  height: 15px;
  position: absolute;
  left: 0;
  bottom: -10px;
  background: #00884D;
  visibility: hidden;
  -webkit-transition: width .2s, visibility .2s;
  transition: width .2s, visibility .2s;
  opacity: 0.5;
}

#gnavi ul li a:hover:after,
#gnavi ul li a.selected:after,
#gnavi ul li a:focus:after {
  visibility: visible;
  width: 100%;
  -webkit-transition: width .2s .1s;
  transition: width .2s .1s;
}

#gnavi .sub {
  margin-top: 40px;
}

#gnavi .sub ul.sub-menu {
  height: auto;
  border-radius: 0px;
  position: absolute;
  left: 0;
  background-color: #00884D;
  -webkit-box-shadow: 0px 5px 10px rgba(16, 106, 181, 0.05) inset, 0px 3px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 5px 10px rgba(16, 106, 181, 0.05) inset, 0px 3px 2px rgba(0, 0, 0, 0.1);
  padding: 20px 150px;
  width: 100%;
  z-index: 100;
  display: none;
}

#gnavi .sub ul.sub-menu li {
  width: 33.33%;
  text-align: left;
  float: left;
  display: block;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  border-right: 0px;
  margin: 0px;
  padding-right: 10px;
  padding-bottom: 10px;
}

#gnavi .sub ul.sub-menu li:first-child {
  border-left: none;
}

#gnavi .sub ul.sub-menu li a {
  text-indent: 0;
  padding: 15px 10px 15px 30px;
  text-decoration: underline;
  display: block;
  position: relative;
  color: #00884D;
  background: #FFF;
  width: auto;
}

#gnavi .sub ul.sub-menu li a:focus,
#gnavi .sub ul.sub-menu li a:hover {
  background: #F9F4EA;
}

#gnavi .sub ul.sub-menu li a::before {
  content: "";
  position: absolute;
  top: 0.3rem;
  left: 0;
  width: 5px;
  height: 5px;
  margin: 1.2rem 0 0 .5rem;
  border-top: 2px solid #00884D;
  border-right: 2px solid #00884D;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#gnavi .sub ul.sub-menu li a::after {
  background: none;
}

#gnavi .menu-item-has-children:hover ul,
#gnavi .menu-item-has-children ul.focused {
  display: block;
}

@media screen and (max-width: 959px) {
  #menu-sp {
    display: block;
    position: absolute;
    padding-top: 85px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    right: 100%;
    width: 100%;
    z-index: 100;
    min-height: 450px;
    background: #F9F4EA;
  }

  #menu-sp.active {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }

  #menu-sp .inner {
    padding: 0px 20px;
  }

  #gnavi-sp ul {
    padding: 10px 0px;
    list-style: none;
  }

  #gnavi-sp ul li,
  #gnavi-sp ul button {
    font-size: 90%;
  }

  #gnavi-sp ul li a {
    position: relative;
    display: block;
    color: #333333;
    padding: 10px 25px;
    text-decoration: none;
  }

  #gnavi-sp ul li a::before {
    content: "";
    position: absolute;
    top: 0.85rem;
    left: 0;
    width: 5px;
    height: 5px;
    margin: .1rem 0 0 .5rem;
    border-top: 2px solid #00884D;
    border-right: 2px solid #00884D;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  .menu-trigger {
    position: relative;
    width: 40px;
    height: 24px;
    float: right;
    margin: 25px 25px 50px 25px;
    padding: 0 5px;
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    z-index: 200;
  }
}

@media screen and (max-width: 959px) and (max-width: 414px) {
  .menu-trigger {
    margin: 25px 25px 40px 25px;
  }
}

@media screen and (max-width: 959px) {
  .menu-trigger span {
    position: absolute;
    left: 4px;
    width: 90%;
    height: 4px;
    background-color: #00884D;
    border-radius: 4px;
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    z-index: 200;
  }

  .menu-trigger span:nth-of-type(1) {
    top: 0;
  }

  .menu-trigger span:nth-of-type(2) {
    top: 10px;
  }

  .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }

  .menu-trigger::after {
    position: absolute;
    bottom: -21px;
    content: 'MENU';
    display: block;
    width: 100%;
    color: #00884D;
    font-size: 70%;
    text-decoration: none;
    left: 2px;
    text-align: center;
    -webkit-transition: all .4s;
    transition: all .4s;
  }

  .menu-trigger.active::after {
    content: 'CLOSE';
    bottom: -21px;
    font-size: 70%;
  }

  .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
  }

  .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
  }

  .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
  }

  a.menu-trigger,
  a.menu-trigger:hover,
  a.menu-trigger:focus {
    text-decoration: none !important;
  }

  #gnavi-sp ul.second {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
  }

  #gnavi-sp ul.second li {
    background: #00884D;
    border-radius: 10px;
    width: calc(100% / 3);
    margin-right: 5px;
    font-size: 80%;
  }

  #gnavi-sp ul.second li a {
    color: #FFF;
    padding: 10px 5px;
    text-align: center;
    display: block;
  }

  #gnavi-sp ul.second li a::before {
    border: none;
  }

  #gnavi-sp ul.second li button {
    background: none;
    width: 100%;
    color: #FFF;
    padding: 10px 5px;
    border: 0px;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", "Verdana", "sans-serif";
    letter-spacing: 0.05em;
    cursor: pointer;
  }

  .txt_clr {
    float: none;
    display: none;
    width: 100%;
    left: 0;
    height: auto;
    top: 55px;
  }

  .txt_clr::after {
    left: 30px;
  }

  .txt_clr dl {
    display: block;
  }

  .txt_clr dt {
    padding-bottom: 2px;
  }

  .txt_clr dd {
    float: left;
  }

  .header_search {
    margin: 0px;
    width: 100%;
    max-width: 100%;
  }

  .header_search input[type="text"] {
    width: 100%;
    padding: 10px;
  }

  .header_search input::-webkit-input-placeholder {
    letter-spacing: 0.1em;
    font-size: 80%;
  }

  .header_search input:-ms-input-placeholder {
    letter-spacing: 0.1em;
    font-size: 80%;
  }

  .header_search input::-ms-input-placeholder {
    letter-spacing: 0.1em;
    font-size: 80%;
  }

  .header_search input::placeholder {
    letter-spacing: 0.1em;
    font-size: 80%;
  }
}

/*#footer {
  clear: both;
  width: 100%;
  padding: 80px 0px 130px 0px;
  background-image: url("../images/footer_illust_left.png"), url("../images/footer_illust_bottom.png");
  background-position: left -100px  bottom -180px, center bottom;
  background-repeat: no-repeat, no-repeat;
}

@media screen and (max-width: 959px) {
  #footer {
    background-size: 50% 50%,contain;
    background-position: left -100px  bottom -80px, center bottom;
  }
}

@media screen and (max-width: 414px) {
  #footer {
    background-image: none, url("../images/footer_illust_bottom.png");
    background-position: none, center bottom;
    background-repeat: none, no-repeat;
    padding: 40px 0px 50px 0px;
  }
}*/

.sns_button ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  list-style-type: none;
}

/*#footer_menu {
  padding: 30px 0px;
}

@media screen and (max-width: 414px) {
  #footer_menu {
    padding: 0px;
  }
}

#footer_menu ul {
  width: 1080px;
  margin: 0 auto;
  font-size: 90%;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 1024px) {
  #footer_menu ul {
    width: auto;
  }
}

@media screen and (max-width: 414px) {
  #footer_menu ul {
    display: block;
  }
}

#footer_menu ul li {
  margin: 0;
  padding: 0 5px 0px 10px;
}

@media screen and (max-width: 414px) {
  #footer_menu ul li {
    border-bottom: 1px solid #E6E6E6;
    padding: 10px;
  }
}

#footer_menu ul li::after {
  content: "|";
  margin-left: 15px;
  color: #E6E6E6;
}

@media screen and (max-width: 414px) {
  #footer_menu ul li::after {
    content: none;
  }
}

#footer_menu ul li:last-child::after {
  content: none;
}

#footer_contents {
  max-width: 1200px;
  width: 100%;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

@media screen and (max-width: 1024px) {
  #footer_contents {
    padding: 0px 20px;
  }
}

@media screen and (max-width: 414px) {
  #footer_contents {
    display: block;
  }
}

#footer_contents::after {
  position: absolute;
  top: -200px;
  right: -60px;
  content: url(../images/footer_bg_r.png);
  -webkit-transform: translateX(80%);
          transform: translateX(80%);
}

#footer_contents > div:first-child {
  -ms-flex-preferred-size: 45%;
      flex-basis: 45%;
}

#footer_contents > div:first-child .footer_logo {
  font-size: 200%;
  margin: 0px auto;
  padding: 25px 0px;
  font-weight: bold;
}

#footer_contents > div:first-child .footer_logo span {
  position: relative;
  line-height: 2em;
  padding-left: 2.3em;
}

#footer_contents > div:first-child .footer_logo span::before {
  position: absolute;
  left: 0;
  top: 0.1em;
  content: "";
  display: inline-block;
  width: 2em;
  height: 2em;
  margin-right: 20px;
  background: url("../images/footer_chosho.png") no-repeat;
  background-size: contain;
}

#footer_contents > div:first-child .footer_address address {
  font-style: normal;
  font-size: 110%;
}

@media screen and (max-width: 414px) {
  #footer_contents > div:first-child .footer_address address {
    padding: 0px 15px;
    font-size: 100%;
  }
}

#footer_contents > div ~ div {
  -ms-flex-preferred-size: 55%;
      flex-basis: 55%;
}

#footer_contents > div ~ div .footer_btn ul {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 20px 0px;
}

@media screen and (max-width: 414px) {
  #footer_contents > div ~ div .footer_btn ul {
    display: block;
  }
}

#footer_contents > div ~ div .footer_btn li {
  width: calc(100% / 2);
  font-weight: bold;
  padding-right: 10px;
  padding-bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 959px) {
  #footer_contents > div ~ div .footer_btn li {
    width: 100%;
    display: block;
    padding-right: 0px;
  }
}

@media screen and (max-width: 414px) {
  #footer_contents > div ~ div .footer_btn li {
    margin: 0px auto;
  }
}

#footer_contents > div ~ div .footer_btn li:nth-child(even) {
  padding-right: 0px;
}

#footer_contents > div ~ div .footer_btn li a {
  text-decoration: none;
  padding: 30px 10px 30px 70px;
  color: #333333;
  font-weight: bold;
  font-size: 120%;
  -webkit-box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.2);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  content: "";
}

#footer_contents > div ~ div .footer_btn li a.contact {
  background: url(../images/footer_mail_icon.svg) no-repeat 0.7em #FFF;
  background-size: 30px 30px;
}

#footer_contents > div ~ div .footer_btn li a.group {
  background: url(../images/footer_group_icon.svg) no-repeat 0.7em #FFF;
  background-size: 30px 30px;
}

#footer_contents > div ~ div .footer_btn li a.office {
  background: url(../images/footer_office_icon.svg) no-repeat 0.7em #FFF;
  background-size: 30px 30px;
}

#footer_contents > div ~ div .footer_btn li a.access {
  background: url(../images/footer_access_icon.svg) no-repeat 0.7em #FFF;
  background-size: 30px 30px;
}

#footer_contents > div ~ div .footer_btn li span.icon-linkarw {
  vertical-align: -12%;
  padding-left: 10px;
  color: #00884D;
}

#footer_copy {
  clear: both;
  padding: 15px 0;
  font-family: 'Spectral', serif;
}

#footer_copy p {
  text-align: center;
  font-size: 80%;
}*/

#page-top {
  position: fixed;
  z-index: 1;
  right: 10px;
  bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 56px;
  height: 56px;
  color: #FFF;
  background: #00884D;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#page-top a {
  cursor: pointer;
  position: relative;
  display: block;
  text-decoration: none;
  z-index: 100;
  padding-top: 15px;
  color: #FFF;
}

#page-top a::before {
  content: "\e900";
  font-family: 'icomoon' !important;
  position: absolute;
  top: 5%;
  left: 25%;
  text-align: center;
  color: #FFF;
  line-height: 1;
}

.fadein {
  opacity: 0.1;
  -webkit-transform: translate(0, 50px);
  transform: translate(0, 50px);
  -webkit-transition: all 500ms;
  transition: all 500ms;
}

.fadein.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

#top_main {
  max-width: 1200px;
  width: 100%;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
}

#top_header_image {
  width: 100%;
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 414px) {
  #top_header_image {
    padding-bottom: 40px;
  }
}

#toggle {
  margin-top: 10px;
  padding: 5px 10px;
  cursor: pointer;
}

/* 停止中のボタンのスタイル */
#toggle.paused {
  background-color: lightgreen;
}

/* 再生中のボタンのスタイル */
#toggle.playing {
  background-color: lightcoral;
}

.btnPlay {
  position: absolute;
  width: 69px;
  height: 23px;
  background-image: url(../images/slide_btn_stop.png);
  background-repeat: no-repeat;
  background-color: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  font-size: 0%;
  line-height: 0;
  overflow: visible;
  cursor: pointer;
  bottom: 10px;
  right: 10px;
}

@media screen and (max-width: 959px) {
  .btnPlay {
    right: 40px;
    bottom: 10px;
  }
}

@media screen and (max-width: 414px) {
  .btnPlay {
    right: 10px;
    bottom: 10px;
  }
}

.top_emg {
  max-width: 1200px;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  background: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1024px) {
  .top_emg {
    width: 95%;
  }
}

@media screen and (max-width: 414px) {
  .top_emg {
    position: static;
    font-size: 80%;
    display: block;
    width: 100%;
    border-radius: 0px;
  }
}

.top_emg .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #C1272D;
  -ms-flex-preferred-size: 15%;
  flex-basis: 15%;
}

@media screen and (max-width: 959px) {
  .top_emg .ttl {
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
  }
}

@media screen and (max-width: 414px) {
  .top_emg .ttl {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
}

.top_emg .ttl h2 {
  font-size: 160%;
  color: #FFF;
  text-align: center;
}

.top_emg .ttl h2 span {
  font-size: 2.5rem;
  color: #FFF;
  display: block;
}

@media screen and (max-width: 414px) {
  .top_emg .ttl h2 span {
    display: inline-block;
    font-size: 1rem;
    padding-right: 10px;
  }
}

.top_emg .txt {
  -ms-flex-preferred-size: 85%;
  flex-basis: 85%;
  padding: 20px;
  /*
      h3 {
        color:$base-red;
        font-size:140%;
      }
      .emg_link {
        a {
          position: relative;
          display: block;
          padding: 5px 0px 5px 0px;
          text-decoration: none;
          color:$base-red;
          font-weight:bold;
          content: "";
          font-size:120%;
          @include mq(sp) {
            padding-top:8px;
          }
        }
        span.icon-linkarw {
          vertical-align: -11%;
          padding-right:10px;
        }
      }*/
}

@media screen and (max-width: 959px) {
  .top_emg .txt {
    -ms-flex-preferred-size: 70%;
    flex-basis: 70%;
  }
}

@media screen and (max-width: 414px) {
  .top_emg .txt {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
}

.top_emg .txt ul {
  list-style: none;
}

.top_emg .txt ul li {
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.top_emg .txt ul li a {
  color: #C1272D;
  font-weight: bold;
  font-size: 160%;
  padding: 10px 10px 10px 40px;
  display: block;
}

.top_emg .txt ul li::before {
  content: '';
  position: absolute;
  top: 48%;
  left: 0px;
  display: inline-block;
  width: 20px;
  height: 3px;
  background-color: #C1272D;
}

.top_emg .txt ul li:hover {
  background: #FDF5F6;
}

#top_osusume {
  overflow: hidden;
}

#top_osusume>div {
  padding: 30px 0px;
  position: relative;
  margin: 25px 0px 0px 0px;
}

@media screen and (max-width: 414px) {
  #top_osusume>div {
    margin: 0px;
    padding: 0px;
  }
}

#top_osusume>div.slick-initialized {
  height: auto;
  background-color: transparent;
}

#top_osusume>div ul {
  width: 100%;
  list-style: none;
  margin: 0 0 50px;
  z-index: 1;
}

#top_osusume>div ul .slick-slide {
  padding: 0px;
  margin: 0px 30px;
}

@media screen and (max-width: 959px) {
  #top_osusume>div ul .slick-slide {
    margin: 0px 10px;
  }
}

#top_osusume>div ul .slick-slide img {
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

#top_osusume>div ul .slick-slide a {
  text-decoration: none;
}

#top_osusume>div ul .slick-slide p {
  padding: 8px;
}

#top_osusume>div .slick-prev {
  left: 29%;
  z-index: 100;
}

@media screen and (max-width: 959px) {
  #top_osusume>div .slick-prev {
    left: 10px;
  }
}

#top_osusume>div .slick-prev::before {
  content: "";
}

#top_osusume>div .slick-next {
  right: 29%;
  z-index: 99;
}

@media screen and (max-width: 959px) {
  #top_osusume>div .slick-next {
    right: 10px;
  }
}

#top_osusume>div .slick-next::before {
  content: "";
}

#top_osusume>div .slick-prev,
#top_osusume>div .slick-next {
  position: absolute;
  top: 50%;
  display: block;
  width: 60px;
  height: 60px;
  margin-top: -10px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  background: transparent;
  background: #00884D;
}

@media screen and (max-width: 959px) {

  #top_osusume>div .slick-prev,
  #top_osusume>div .slick-next {
    width: 40px;
    height: 40px;
  }

  #top_osusume>div .slick-prev img,
  #top_osusume>div .slick-next img {
    width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 414px) {

  #top_osusume>div .slick-prev,
  #top_osusume>div .slick-next {
    width: 30px;
    height: 30px;
  }
}

#top_osusume>div .slick-next:hover,
#top_osusume>div .slick-next:focus,
#top_osusume>div .slick-prev:hover,
#top_osusume>div .slick-prev:focus {
  background-color: #BB5A12;
}

#top_osusume>div .slick-dots {
  bottom: -80px;
}

#top_osusume>div .slick-dots li button {
  background: #00884D;
}

#top_osusume>div .slick-dots li button:hover,
#top_osusume>div .slick-dots li button:focus,
#top_osusume>div .slick-dots li.slick-active button {
  background: #BB5A12;
}

#top_search {
  background-color: #00884D;
  background-image: url(../images/bg_pattern_20.png);
  background-repeat: repeat;
  color: #FFF;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 959px) {
  #top_search {
    display: block;
  }
}

#top_search #keyword {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: 70%;
  flex-basis: 70%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 414px) {
  #top_search #keyword {
    display: block;
  }
}

#top_search #keyword p {
  padding-bottom: 5px;
  -ms-flex-preferred-size: 120px;
  flex-basis: 120px;
}

@media screen and (max-width: 1024px) {
  #top_search #keyword p {
    -ms-flex-preferred-size: 150px;
    flex-basis: 150px;
  }
}

#top_search #keyword form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 20px;
  width: 800px;
}

@media screen and (max-width: 1366px) {
  #top_search #keyword form {
    width: 100%;
  }
}

@media screen and (max-width: 959px) {
  #top_search #keyword form {
    margin-left: 0px;
  }
}

#top_search #keyword .search_field {
  vertical-align: middle;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 120%;
  letter-spacing: .2em;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

#top_search #keyword .search_field input::-ms-clear {
  visibility: hidden;
}

#top_search #keyword .search_field input::-webkit-input-placeholder {
  color: #333333;
  opacity: 1;
}

#top_search #keyword .search_field input:-ms-input-placeholder {
  color: #333333;
  opacity: 1;
}

#top_search #keyword .search_field input::-ms-input-placeholder {
  color: #333333;
  opacity: 1;
}

#top_search #keyword .search_field input::placeholder {
  color: #333333;
  opacity: 1;
}

#top_search #keyword .search_field input[type="text"] {
  font-weight: normal;
  border: none;
  padding: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #FFF;
  width: 100%;
}

@media screen and (max-width: 414px) {
  #top_search #keyword .search_field input[type="text"] {
    padding: 5px;
  }
}

#top_search #keyword .search_btn {
  min-width: 100px;
}

#top_search #keyword .search_btn input[type="submit"] {
  width: 100%;
  height: 100%;
  color: #FFF;
  font-size: 120%;
  font-weight: bold;
  letter-spacing: 0.2em;
  padding: 0px 20px 0px 40px;
  background: url(../images/search_icon_white.svg) no-repeat 0.5em #BB5A12;
  background-size: 25px 25px;
}

@media screen and (max-width: 414px) {
  #top_search #keyword .search_btn input[type="submit"] {
    background-size: 20px 20px;
  }
}

#top_search ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: 30%;
  flex-basis: 30%;
  list-style-type: none;
  font-weight: bold;
  padding: 0px 20px;
}

@media screen and (max-width: 1366px) {
  #top_search ul {
    display: block;
  }
}

@media screen and (max-width: 959px) {
  #top_search ul {
    padding: 15px 0px 0px 0px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

@media screen and (max-width: 414px) {
  #top_search ul {
    padding: 5px 0px 0px 0px;
  }
}

#top_search ul li {
  width: 100%;
}

@media screen and (max-width: 959px) {
  #top_search ul li {
    width: auto;
  }
}

#top_search ul li a {
  position: relative;
  display: inline-block;
  padding: 0 0 5px 0px;
  vertical-align: middle;
  text-decoration: none;
  color: #FFF;
  content: "";
}

@media screen and (max-width: 414px) {
  #top_search ul li a {
    padding-top: 3px;
  }
}

#top_search ul li span.icon-linkarw {
  vertical-align: -12%;
  padding-right: 10px;
}

#top_life {
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1024px) {
  #top_life {
    width: auto;
    margin: 0px 20px;
  }
}

@media screen and (max-width: 414px) {
  #top_life {
    width: auto;
    padding: 30px 0px 20px 0px;
  }
}

#top_life::before {
  position: absolute;
  top: -60px;
  left: -20px;
  content: url(../images/bg_golf.png);
  -webkit-transform: translateX(-70%);
  transform: translateX(-70%);
  z-index: -1;
}

@media screen and (max-width: 1366px) {
  #top_life::before {
    width: 350px;
    height: 281px;
  }
}

@media screen and (max-width: 414px) {
  #top_life::before {
    content: none;
  }
}

#top_life::after {
  position: absolute;
  top: -50px;
  right: -20px;
  content: url(../images/bg_air.png);
  -webkit-transform: translateX(40%);
  transform: translateX(40%);
  z-index: -1;
}

@media screen and (max-width: 414px) {
  #top_life::after {
    content: none;
  }
}

#top_life h3 {
  text-align: center;
  color: #00814B;
  font-size: 140%;
  padding: 20px;
}

#top_life ul {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 414px) {
  #top_life ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

#top_life ul li {
  width: 100%;
  padding-right: 10px;
  text-align: center;
}

@media screen and (max-width: 959px) {
  #top_life ul li {
    font-size: 80%;
  }
}

@media screen and (max-width: 414px) {
  #top_life ul li {
    width: 50%;
  }
}

#top_life ul li:last-child {
  padding-right: 0px;
}

@media screen and (max-width: 414px) {
  #top_life ul li:nth-child(even) {
    padding-right: 0px;
  }
}

#top_life ul li a {
  text-decoration: none;
}

#top_life ul.life {
  margin-bottom: 10px;
}

#top_life ul.life li {
  background: #FFF;
  -webkit-box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.2);
  text-align: center;
  padding-right: 0px;
  margin-right: 10px;
}

@media screen and (max-width: 414px) {
  #top_life ul.life li {
    width: calc(100%/4);
    margin-right: 0px;
    border: 1px solid #E6E6E6;
  }
}

#top_life ul.life li:last-child {
  margin-right: 0px;
}

#top_life ul.life li:hover {
  opacity: 0.9;
}

#top_life ul.life li img {
  margin: 20px 20px 5px 20px;
}

#top_life ul.life li p {
  color: #333333;
  font-weight: bold;
  padding: 10px 0px;
}

#top_life ul.link {
  list-style: none;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-weight: bold;
  padding-bottom: 10px;
}

@media screen and (max-width: 414px) {
  #top_life ul.link {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 0px;
  }
}

#top_life ul.link li {
  text-align: center;
  position: relative;
  width: calc(100% / 4);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 10px;
}

#top_life ul.link li:hover {
  opacity: 0.9;
}

@media screen and (max-width: 959px) {
  #top_life ul.link li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 414px) {
  #top_life ul.link li {
    width: calc(100% / 2);
  }
}

#top_life ul.link li a {
  text-decoration: none;
  padding: 20px 10px;
  color: #333333;
  background: #FFF;
  -webkit-box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.2);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 414px) {
  #top_life ul.link li a {
    padding: 10px 5px;
  }
}

#top_life ul.link li span {
  vertical-align: -15%;
  padding-right: 10px;
  color: #00884D;
}

#main h2.border {
  text-align: center;
}

#main h2.border span {
  position: relative;
  display: inline-block;
  padding: 0 70px;
  font-size: 140%;
  color: #00814B;
  letter-spacing: 0.2em;
  margin-bottom: 15px;
}

@media screen and (max-width: 959px) {
  #main h2.border span {
    font-size: 120%;
  }
}

#main h2.border span::before,
#main h2.border span::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 50px;
  height: 3px;
  background-color: #D3883C;
}

#main h2.border span::before {
  left: 0;
}

#main h2.border span::after {
  right: 0;
}

#oshirase {
  max-width: 1200px;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

#oshirase::before {
  position: absolute;
  bottom: -60px;
  left: 60px;
  content: url(../images/bg_chosha.png);
  -webkit-transform: translateX(-80%);
  transform: translateX(-80%);
  z-index: -1;
}

@media screen and (max-width: 1366px) {
  #oshirase::before {
    content: '';
    width: 300px;
    height: 279px;
    left: 150px;
    background: url(../images/bg_chosha.png) no-repeat;
    background-size: contain;
  }
}

@media screen and (max-width: 1024px) {
  #oshirase::before {
    content: none;
  }
}

#oshirase::after {
  position: absolute;
  top: -100px;
  right: -20px;
  content: url(../images/bg_doburoku.png);
  -webkit-transform: translateX(80%);
  transform: translateX(80%);
  z-index: -1;
}

@media screen and (max-width: 1366px) {
  #oshirase::after {
    content: '';
    width: 280px;
    height: 336px;
    right: 18px;
    background: url(../images/bg_doburoku.png) no-repeat;
    background-size: contain;
  }
}

@media screen and (max-width: 1024px) {
  #oshirase::after {
    content: none;
  }
}

#oshirase>div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1024px) {
  #oshirase>div {
    width: auto;
    margin: 0px 20px;
  }
}

@media screen and (max-width: 959px) {
  #oshirase>div {
    display: block;
  }
}

#oshirase>div #news {
  width: 860px;
  margin-right: 25px;
}

@media screen and (max-width: 1024px) {
  #oshirase>div #news {
    width: 680px;
  }
}

@media screen and (max-width: 959px) {
  #oshirase>div #news {
    width: auto;
    margin-right: 0px;
    margin-bottom: 20px;
  }
}

#oshirase>div #news .tabs .horizontal {
  list-style: none;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  font-size: 120%;
  padding-bottom: 10px;
}

#oshirase>div #news .tabs .horizontal li {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  position: relative;
  width: calc(100% / 3);
  margin-right: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #00884D;
  background: #FFF;
}

@media screen and (max-width: 414px) {
  #oshirase>div #news .tabs .horizontal li {
    margin-right: 5px;
    font-size: 70%;
  }
}

#oshirase>div #news .tabs .horizontal li:last-child {
  margin-right: 0px;
}

#oshirase>div #news .tabs .horizontal li a {
  text-decoration: none;
  padding: 15px;
  color: #00884D;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 414px) {
  #oshirase>div #news .tabs .horizontal li a {
    padding: 5px 3px;
  }
}

#oshirase>div #news .tabs .horizontal li a:last-child {
  margin-right: 0;
}

#oshirase>div #news .tabs .horizontal li:hover,
#oshirase>div #news .tabs .horizontal li.active {
  color: #FFFFFF;
  background-color: #00884D;
  background-image: url(../images/bg_pattern_20.png);
  background-repeat: repeat;
}

#oshirase>div #news .tabs .horizontal li:hover a,
#oshirase>div #news .tabs .horizontal li.active a {
  color: #FFFFFF;
}

#oshirase>div #news #top_news ul {
  list-style-type: none;
  margin-top: 10px;
}

#oshirase>div #news #top_news ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 10px 10px 10px 40px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}

#oshirase>div #news #top_news ul li::before {
  content: '';
  position: absolute;
  top: 48%;
  left: 0px;
  display: inline-block;
  width: 20px;
  height: 3px;
  background-color: #00884D;
}

@media screen and (max-width: 414px) {
  #oshirase>div #news #top_news ul li {
    display: block;
  }
}

#oshirase>div #news #top_news ul li:hover {
  background: #FFF;
}

#oshirase>div #news #top_news ul li .date {
  width: 20%;
}

@media screen and (max-width: 1024px) {
  #oshirase>div #news #top_news ul li .date {
    width: 25%;
  }
}

@media screen and (max-width: 414px) {
  #oshirase>div #news #top_news ul li .date {
    width: auto;
    display: block;
  }
}

#oshirase>div #news #top_news ul li a {
  width: 80%;
  font-size: 110%;
}

@media screen and (max-width: 1024px) {
  #oshirase>div #news #top_news ul li a {
    width: 75%;
  }
}

@media screen and (max-width: 414px) {
  #oshirase>div #news #top_news ul li a {
    width: auto;
    font-size: 100%;
  }
}

#oshirase>div #news #top_news ul li:hover {
  cursor: pointer;
}

#oshirase>div #news #top_news .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 20px;
}

#oshirase>div #news #top_news .link div:first-child {
  margin-right: 15px;
}

#oshirase>div #news #top_news .link div a {
  color: #FFF;
  padding: 15px 20px;
  display: block;
  text-decoration: none;
  font-weight: bold;
  background-color: #00884D;
  background-image: url(../images/bg_pattern_20.png);
  background-repeat: repeat;
}

#oshirase>div #news #top_news .link div.rss img {
  width: 20px;
  height: 20px;
  vertical-align: middle;
}

#oshirase>div #news #top_news .link div span.icon-linkarw {
  vertical-align: -15%;
  padding-left: 10px;
}

#oshirase>div #news #top_news .link div a {
  position: relative;
  display: block;
  padding: 13px 30px 13px 40px;
  text-decoration: none;
}

#oshirase>div #news #top_news .link div.rss a {
  padding: 15px 18px;
}

#oshirase>div #news #top_topics ul {
  list-style-type: none;
  margin-top: 10px;
}

#oshirase>div #news #top_topics ul li {
  position: relative;
  padding: 10px 10px 10px 40px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

#oshirase>div #news #top_topics ul li::before {
  content: '';
  position: absolute;
  top: 48%;
  left: 0px;
  display: inline-block;
  width: 20px;
  height: 3px;
  background-color: #00884D;
}

@media screen and (max-width: 414px) {
  #oshirase>div #news #top_topics ul li {
    display: block;
  }
}

#oshirase>div #news #top_topics ul li:hover {
  background: #FFF;
}

#oshirase>div #news #top_topics ul a {
  font-size: 110%;
}

@media screen and (max-width: 414px) {
  #oshirase>div #news #top_topics ul a {
    width: auto;
    font-size: 100%;
  }
}

#oshirase>div #news #top_topics ul:hover {
  cursor: pointer;
}

#oshirase>div #news #top_eventcal {
  padding-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 414px) {
  #oshirase>div #news #top_eventcal {
    display: block;
  }
}

#oshirase>div #news #top_eventcal .today {
  width: 50%;
  margin-right: 30px;
}

@media screen and (max-width: 414px) {
  #oshirase>div #news #top_eventcal .today {
    width: 100%;
  }
}

#oshirase>div #news #top_eventcal .today h3 {
  font-size: 120%;
  color: #00814B;
}

#oshirase>div #news #top_eventcal .today h3 span {
  padding: 0px 0px 15px 53px;
  display: block;
  position: relative;
}

#oshirase>div #news #top_eventcal .today h3 span::before {
  content: "";
  display: inline-block;
  background: url("../images/icon_cal.svg") no-repeat;
  top: 0.5em;
  left: 0px;
  width: 38px;
  height: 36px;
  position: absolute;
}

#oshirase>div #news #top_eventcal .today ul {
  list-style-type: none;
  padding: 0px 15px;
}

#oshirase>div #news #top_eventcal .today ul li {
  position: relative;
  padding: 2px 0 7px 15px;
}

#oshirase>div #news #top_eventcal .today ul li:before {
  content: "";
  display: block;
  position: absolute;
  top: .8em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #00884D;
}

#oshirase>div #news #top_eventcal #area_calendar {
  width: 50%;
  background: #FFF;
  padding: 15px;
}

@media screen and (max-width: 414px) {
  #oshirase>div #news #top_eventcal #area_calendar {
    width: 100%;
  }
}

#oshirase>div #news #top_eventcal #area_calendar .date {
  width: 100%;
  padding: 5px 0px 5px 0px;
  position: relative;
}

#oshirase>div #news #top_eventcal #area_calendar .date h3 {
  text-align: center;
  font-size: 130%;
}

#oshirase>div #news #top_eventcal #area_calendar .date p {
  padding: 10px;
}

#oshirase>div #news #top_eventcal #area_calendar .date p.prev {
  position: absolute;
  left: 0;
  top: 0;
  padding-left: 20px;
}

#oshirase>div #news #top_eventcal #area_calendar .date p.prev::before {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 0;
  width: 8px;
  height: 8px;
  margin: .4rem 0 0 .5rem;
  border-left: 2px solid #00884D;
  border-bottom: 2px solid #00884D;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#oshirase>div #news #top_eventcal #area_calendar .date p.next {
  position: absolute;
  right: 0;
  top: 0;
  padding-right: 20px;
}

#oshirase>div #news #top_eventcal #area_calendar .date p.next::after {
  content: "";
  position: absolute;
  top: 0.7rem;
  right: 0;
  width: 8px;
  height: 8px;
  margin: .4rem .5rem 0 0;
  border-top: 2px solid #00884D;
  border-right: 2px solid #00884D;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#oshirase>div #news #top_eventcal #area_calendar table {
  clear: both;
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 4px;
}

#oshirase>div #news #top_eventcal #area_calendar th {
  border-bottom: #F5EEE0 1px solid;
  padding: 3px;
  text-align: center;
  padding: 3px 0px;
}

#oshirase>div #news #top_eventcal #area_calendar th.sun {
  color: #933;
}

#oshirase>div #news #top_eventcal #area_calendar th.sat {
  color: #00c;
}

#oshirase>div #news #top_eventcal #area_calendar td {
  padding: 1px;
  text-align: center;
  padding: 3px 0px;
}

#oshirase>div #news #top_eventcal #area_calendar td.top {
  padding-top: 7px;
}

#oshirase>div #news #top_eventcal #area_calendar td a {
  background: #00884D;
  display: block;
  color: #FFF;
  padding: 5px 0px;
  margin: 2px;
  border-radius: 100px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

#oshirase>div #news #top_eventcal #area_calendar td a:hover {
  background: #F5EEE0;
  color: #00884D;
}

#oshirase>div #news #top_eventcal #area_calendar td span {
  display: block;
  padding: 5px 0px;
}

#oshirase>div #news #top_eventcal .link {
  padding: 20px 60px;
}

@media screen and (max-width: 1024px) {
  #oshirase>div #news #top_eventcal .link {
    padding: 20px 50px;
  }
}

@media screen and (max-width: 414px) {
  #oshirase>div #news #top_eventcal .link {
    padding: 10px;
  }
}

#oshirase>div #news #top_eventcal .link span.icon-linkarw {
  vertical-align: -15%;
  padding-left: 10px;
}

#oshirase>div #news #top_eventcal .link a {
  color: #FFF;
  padding: 15px 40px;
  display: inline-block;
  text-decoration: none;
  font-weight: bold;
  background-color: #00884D;
  background-image: url(../images/bg_pattern_20.png);
  background-repeat: repeat;
  width: 100%;
}

#oshirase>div #news #top_eventcal .link a::before {
  position: absolute;
  width: 7px;
  height: 2px;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 22px;
  top: 24px;
  background: #FFF;
}

#oshirase>div #news #top_eventcal .link a::after {
  border-top: 2px solid;
  border-right: 2px solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  width: 6px;
  height: 6px;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 21px;
  top: 22px;
  border-color: #FFF;
}

#oshirase>div #news+div {
  position: relative;
  width: 325px;
}

@media screen and (max-width: 959px) {
  #oshirase>div #news+div {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 414px) {
  #oshirase>div #news+div {
    display: block;
  }
}

#oshirase>div #news+div::after {
  position: absolute;
  bottom: -190px;
  left: -30px;
  content: url(../images/bg_tofu.png);
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  z-index: -1;
}

@media screen and (max-width: 1366px) {
  #oshirase>div #news+div::after {
    content: '';
    width: 200px;
    height: 217px;
    background: url(../images/bg_tofu.png) no-repeat;
    background-size: contain;
  }
}

@media screen and (max-width: 1024px) {
  #oshirase>div #news+div::after {
    content: none;
  }
}

#oshirase>div #news+div #top_livecamera {
  background-color: #EBE7DD;
  background-image: url(../images/bg_pattern.png);
  background-repeat: repeat;
  border: 7px solid #BB5A12;
}

@media screen and (max-width: 959px) {
  #oshirase>div #news+div #top_livecamera {
    width: auto;
    margin-right: 20px;
  }
}

@media screen and (max-width: 414px) {
  #oshirase>div #news+div #top_livecamera {
    margin-right: 0px;
  }
}

#oshirase>div #news+div #top_livecamera h2 {
  color: #BB5A12;
  font-size: 200%;
  padding: 25px 0px 15px 100px;
  background: url("../images/livecamera_ttl_bg.png") no-repeat;
}

@media screen and (max-width: 959px) {
  #oshirase>div #news+div #top_livecamera h2 {
    font-size: 140%;
  }
}

#oshirase>div #news+div #top_livecamera h2 span {
  display: block;
  font-size: 80%;
}

#oshirase>div #news+div #top_livecamera>div {
  padding: 10px;
}

#oshirase>div #news+div #top_livecamera>div img {
  width: 100%;
  height: auto;
}

#oshirase>div #news+div #top_livecamera>div p {
  padding: 10px 0px;
}

#oshirase>div #news+div .weather {
  margin: 15px 0px;
}

@media screen and (max-width: 959px) {
  #oshirase>div #news+div .weather {
    margin: 0px;
  }
}

#oshirase>div #news+div .weather iframe {
  max-width: 100%;
  height: auto;
}

#top_profile {
  background-image: url("../images/bg_pattern_40.png"), url("../images/top_profile_btm_bg.jpg");
  background-repeat: repeat, no-repeat;
  background-position: top center, bottom center;
  padding-bottom: 150px;
  background-size: auto, contain;
}

#top_profile>div {
  max-width: 1200px;
  width: 100%;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
  padding: 50px 0px;
}

@media screen and (max-width: 1024px) {
  #top_profile>div {
    width: auto;
    margin: 0px 20px;
  }
}

#top_profile>div>div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 414px) {
  #top_profile>div>div {
    display: block;
  }
}

#top_profile>div>div h2 {
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
  margin-right: 30px;
}

@media screen and (max-width: 414px) {
  #top_profile>div>div h2 {
    margin-right: 0px;
    margin-bottom: 20px;
  }
}

#top_profile>div>div h2 img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 414px) {
  #top_profile>div>div h2 img {
    width: 70%;
    height: auto;
  }
}

#top_profile>div>div p {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
  font-size: 110%;
  line-height: 2.0em;
}

@media screen and (max-width: 959px) {
  #top_profile>div>div p {
    font-size: 90%;
  }
}

#top_profile>div>div~div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 414px) {
  #top_profile>div>div~div {
    display: block;
  }
}

#top_profile>div>div~div .map {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  margin-right: 30px;
}

@media screen and (max-width: 959px) {
  #top_profile>div>div~div .map {
    -ms-flex-preferred-size: 40%;
    flex-basis: 40%;
  }
}

@media screen and (max-width: 414px) {
  #top_profile>div>div~div .map {
    margin: 20px 0px;
  }
}

#top_profile>div>div~div .map img {
  width: 100%;
  height: auto;
}

#top_profile>div>div~div .list {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
}

@media screen and (max-width: 959px) {
  #top_profile>div>div~div .list {
    -ms-flex-preferred-size: 60%;
    flex-basis: 60%;
    margin-top: 20px;
  }
}

#top_profile>div>div~div .list ul {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}

#top_profile>div>div~div .list ul li {
  width: calc(100% / 2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 10px;
}

@media screen and (max-width: 414px) {
  #top_profile>div>div~div .list ul li {
    width: 100%;
  }
}

#top_profile>div>div~div .list ul li:nth-child(odd) {
  padding-right: 10px;
}

@media screen and (max-width: 414px) {
  #top_profile>div>div~div .list ul li:nth-child(odd) {
    padding-right: 0px;
  }
}

#top_profile>div>div~div .list ul a {
  text-decoration: none;
  padding: 30px 10px;
  color: #FFF;
  font-weight: bold;
  font-size: 120%;
  background-color: #00884D;
  background-image: url(../images/bg_pattern_20.png);
  background-repeat: repeat;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 414px) {
  #top_profile>div>div~div .list ul a {
    padding: 10px;
    font-size: 110%;
  }
}

#top_profile>div>div~div .list ul a:hover {
  opacity: 0.8;
}

#top_profile>div>div~div .list ul span.icon-linkarw {
  vertical-align: -12%;
  padding-right: 10px;
}

#top_profile #population {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-top: 30px;
  background: #FFF;
  -webkit-box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 959px) {
  #top_profile #population {
    display: block;
  }
}

#top_profile #population>div {
  padding: 30px;
  -ms-flex-preferred-size: 30%;
  flex-basis: 30%;
}

#top_profile #population>div h3 {
  position: relative;
  padding: 0px 0px 5px 90px;
  font-size: 160%;
  position: relative;
  color: #00884D;
}

@media screen and (max-width: 959px) {
  #top_profile #population>div h3 {
    padding-bottom: 0px;
  }

  #top_profile #population>div h3 br {
    display: none;
  }
}

@media screen and (max-width: 414px) {
  #top_profile #population>div h3 {
    padding-bottom: 0px;
  }

  #top_profile #population>div h3 br {
    display: block;
  }
}

#top_profile #population>div h3 span {
  font-size: 80%;
  font-weight: normal;
}

@media screen and (max-width: 959px) {
  #top_profile #population>div h3 span {
    padding-left: 20px;
  }
}

@media screen and (max-width: 414px) {
  #top_profile #population>div h3 span {
    padding-left: 0px;
  }
}

#top_profile #population>div h3::before {
  content: "";
  display: inline-block;
  background: url(../images/top_population_icon.svg) no-repeat;
  top: 0.5em;
  left: 0px;
  width: 70px;
  height: 50px;
  position: absolute;
}

@media screen and (max-width: 959px) {
  #top_profile #population>div h3::before {
    top: 0em;
  }
}

#top_profile #population>div~div {
  padding: 30px;
  -ms-flex-preferred-size: 70%;
  flex-basis: 70%;
}

#top_profile #population>div~div ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
}

@media screen and (max-width: 414px) {
  #top_profile #population>div~div ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

#top_profile #population>div~div ul li {
  font-size: 200%;
  text-align: center;
  padding-right: 50px;
}

@media screen and (max-width: 1024px) {
  #top_profile #population>div~div ul li {
    font-size: 150%;
  }
}

@media screen and (max-width: 414px) {
  #top_profile #population>div~div ul li {
    width: 50%;
    padding: 0px 0px 10px 0px;
  }
}

#top_profile #population>div~div ul li h4 {
  color: #00884D;
  font-size: 80%;
}

#top_profile #population>div~div ul li:last-child {
  padding-right: 0px;
}

#top_ban {
  overflow: hidden;
  margin-top: 30px;
}

#top_ban.slick-initialized {
  height: auto;
  background-color: transparent;
}

#top_ban ul {
  width: 100%;
  list-style: none;
  margin: 0 0 70px;
  z-index: 1;
}

@media screen and (max-width: 414px) {
  #top_ban ul {
    width: 80%;
    margin: 0px auto 30px auto;
  }
}

#top_ban ul .slick-slide {
  padding: 0px;
  margin: 0px 10px;
}

#top_ban ul .slick-slide img {
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

#top_ban ul .slick-slide a {
  text-decoration: none;
}

#top_ban ul .slick-slide p {
  padding: 8px;
}

#top_ban .slick-prev {
  left: 35%;
  z-index: 100;
}

@media screen and (max-width: 414px) {
  #top_ban .slick-prev {
    left: -10px;
  }
}

#top_ban .slick-prev::before {
  content: "";
}

#top_ban .slick-next {
  right: 35%;
}

@media screen and (max-width: 414px) {
  #top_ban .slick-next {
    right: -10px;
  }
}

#top_ban .slick-next::before {
  content: "";
}

#top_ban .slick-prev,
#top_ban .slick-next {
  position: absolute;
  display: block;
  width: 30px;
  height: 30px;
  bottom: -70px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  background: transparent;
  background: #00884D;
}

@media screen and (max-width: 414px) {

  #top_ban .slick-prev,
  #top_ban .slick-next {
    top: 50%;
  }
}

#top_ban .slick-prev img,
#top_ban .slick-next img {
  width: 100%;
  height: auto;
}

#top_ban .slick-next:hover,
#top_ban .slick-next:focus,
#top_ban .slick-prev:hover,
#top_ban .slick-prev:focus {
  background-color: #BB5A12;
}

#top_ban ul.slick-dots {
  bottom: -50px;
  margin-bottom: 0px;
}

@media screen and (max-width: 414px) {
  #top_ban ul.slick-dots {
    bottom: -30px;
    width: 100%;
  }
}

#top_ban ul.slick-dots li button {
  background: #00884D;
}

#top_ban ul.slick-dots li button:hover,
#top_ban ul.slick-dots li button:focus,
#top_ban ul.slick-dots li.slick-active button {
  background: #BB5A12;
}

#top_koho_media {
  max-width: 1200px;
  width: 100%;
  margin-top: 50px;
  margin-bottom: 50px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 414px) {
  #top_koho_media {
    margin: 0px;
  }
}

#top_koho_media::before {
  position: absolute;
  bottom: -80px;
  left: -40px;
  content: url(../images/bg_ice.png);
  -webkit-transform: translateX(-80%);
  transform: translateX(-80%);
  z-index: -1;
}

@media screen and (max-width: 959px) {
  #top_koho_media::before {
    content: none;
  }
}

#top_koho_media::after {
  position: absolute;
  bottom: -130px;
  right: -20px;
  content: url(../images/bg_camp.png);
  -webkit-transform: translateX(60%);
  transform: translateX(60%);
  z-index: -1;
}

@media screen and (max-width: 1024px) {
  #top_koho_media::after {
    content: none;
  }
}

#top_koho_media>div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1024px) {
  #top_koho_media>div {
    width: auto;
    margin-right: 20px;
    margin-left: 20px;
  }
}

@media screen and (max-width: 414px) {
  #top_koho_media>div {
    display: block;
  }
}

#top_koho_media>div>div {
  width: calc(100% / 2);
}

@media screen and (max-width: 414px) {
  #top_koho_media>div>div {
    width: 100%;
  }
}

#top_koho_media>div>div:first-child {
  margin-right: 20px;
}

#top_koho_media>div #koho>div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #FFF;
  -webkit-box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.2);
  padding: 30px;
}

#top_koho_media>div #koho>div div {
  width: 100%;
}

#top_koho_media>div #koho>div div img {
  width: 100%;
  height: auto;
}

#top_koho_media>div #koho>div div:first-child {
  padding-right: 25px;
}

#top_koho_media>div #koho>div div:last-child img {
  margin-bottom: 20px;
}

#top_koho_media>div #koho>div div h3 {
  font-size: 130%;
}

@media screen and (max-width: 414px) {
  #top_koho_media>div #koho>div div h3 {
    font-size: 110%;
  }
}

#top_koho_media>div #koho>div div h3 span {
  font-size: 130%;
}

@media screen and (max-width: 414px) {
  #top_koho_media>div #koho>div div h3 span {
    font-size: 110%;
  }
}

#top_koho_media>div #koho ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style-type: none;
  margin-top: 15px;
}

@media screen and (max-width: 959px) {
  #top_koho_media>div #koho ul {
    display: block;
  }
}

#top_koho_media>div #koho ul li {
  width: calc(100% / 2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 10px;
}

@media screen and (max-width: 959px) {
  #top_koho_media>div #koho ul li {
    width: 100%;
  }
}

#top_koho_media>div #koho ul li:nth-child(odd) {
  padding-right: 10px;
}

@media screen and (max-width: 959px) {
  #top_koho_media>div #koho ul li:nth-child(odd) {
    padding-right: 0px;
  }
}

#top_koho_media>div #koho ul li a {
  text-decoration: none;
  padding: 30px 10px 30px 70px;
  color: #00814B;
  font-weight: bold;
  font-size: 120%;
  -webkit-box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 3px 3px -1px rgba(0, 0, 0, 0.2);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#top_koho_media>div #koho ul li a.movie {
  background: url(../images/koho_icon_movie.png) no-repeat 0.7em #FFF;
  background-size: 35px 35px;
}

#top_koho_media>div #koho ul li a.school {
  background: url(../images/koho_icon_school.png) no-repeat 0.7em #FFF;
  background-size: 35px 35px;
}

#top_koho_media>div #koho ul li a.fb {
  background: url(../images/koho_icon_fb.png) no-repeat 0.7em #FFF;
  background-size: 35px 35px;
}

#top_koho_media>div #koho ul li:hover {
  opacity: 0.8;
}

#top_koho_media>div #photonews {
  background-color: #EBE7DD;
  background-image: url(../images/bg_pattern.png);
  background-repeat: repeat;
  border: 7px solid #FFF;
}

#top_koho_media>div #photonews h2 {
  text-align: center;
  font-size: 200%;
  color: #BB5A12;
  padding: 15px;
  background-image: url(../images/photonews_bg_l.png), url(../images/photonews_bg_r.png);
  background-position: left top, right top;
  background-repeat: no-repeat, no-repeat;
}

#top_koho_media>div #photonews>a {
  display: block;
  padding: 0px 20px 20px 20px;
  text-align: center;
  text-decoration: none;
  color: #333333;
}

#top_koho_media>div #photonews>a img {
  max-width: 100%;
  height: auto;
  margin-bottom: 20px;
}

#top_koho_media>div #photonews>a>p~p {
  font-size: 150%;
  font-weight: bold;
}

#top_koho_media>div #photonews>div {
  width: 300px;
  margin: 0px auto;
}

@media screen and (max-width: 414px) {
  #top_koho_media>div #photonews>div {
    width: 100%;
  }
}

#top_koho_media>div #photonews>div a {
  display: block;
  color: #FFF;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  padding: 15px 30px 15px 30px;
  position: relative;
  content: "";
  background: #BB5A12;
}

#top_koho_media>div #photonews>div a:hover {
  opacity: 0.8;
}

#top_koho_media>div #photonews>div a span {
  vertical-align: -15%;
  padding-left: 10px;
}

#tenzo {
  max-width: 1200px;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #00884D;
  padding: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1024px) {
  #tenzo {
    width: auto;
    margin-right: 20px;
    margin-left: 20px;
  }
}

@media screen and (max-width: 959px) {
  #tenzo {
    display: block;
    padding: 15px;
  }
}

#tenzo h2 {
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
}

#tenzo>div {
  -ms-flex-preferred-size: 80%;
  flex-basis: 80%;
}

#tenzo>div ul {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: 15px 0px 0px 0px;
}

@media screen and (max-width: 959px) {
  #tenzo>div ul {
    display: block;
  }
}

#tenzo>div ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-right: 10px;
  width: 100%;
}

@media screen and (max-width: 959px) {
  #tenzo>div ul li {
    padding-right: 0px;
    padding-bottom: 5px;
  }
}

#tenzo>div ul li:last-child {
  padding-right: 0px;
}

#tenzo>div ul li a {
  text-decoration: none;
  padding: 10px;
  color: #FFF;
  font-weight: bold;
  font-size: 120%;
  background-color: #00884D;
  background-image: url(../images/bg_pattern_20.png);
  background-repeat: repeat;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#tenzo>div ul li span.icon-linkarw {
  vertical-align: -12%;
  padding-right: 10px;
}

#tenzo>div ul li.shinki a {
  background-color: #BB5A12;
}

#top_ad {
  max-width: 1200px;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  background: #FFF;
  position: relative;
}

@media screen and (max-width: 1024px) {
  #top_ad {
    width: auto;
    margin-right: 20px;
    margin-left: 20px;
  }
}

#top_ad h2 {
  background: #00884D;
  color: #FFF;
  font-size: 100%;
  display: inline-block;
  padding: 5px 20px;
}

#top_ad ul {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 20px;
}

#top_ad ul li {
  width: 185px;
  margin: 0px 20px 10px 0px;
}

@media screen and (max-width: 959px) {
  #top_ad ul li {
    width: 46%;
    margin: 0px 10px 5px 0px;
  }
}

@media screen and (max-width: 959px) {
  #top_ad ul li img {
    width: 100%;
    height: auto;
  }
}

#top_ad p {
  text-align: right;
  padding: 0px 20px 10px 0px;
}

#header_ttl {
  position: relative;
}

@media screen and (max-width: 1024px) {
  #header_ttl {
    padding-left: 60px;
  }
}

@media screen and (max-width: 414px) {
  #header_ttl {
    padding-left: 0px;
  }
}

#header_ttl>div {
  padding: 50px 50px 40px 50px;
  text-align: center;
}

@media screen and (max-width: 959px) {
  #header_ttl>div {
    padding: 30px 50px 20px 50px;
  }
}

@media screen and (max-width: 414px) {
  #header_ttl>div {
    padding: 20px;
  }
}

#header_ttl>div h1 {
  color: #00814B;
  font-size: 250%;
}

@media screen and (max-width: 959px) {
  #header_ttl>div h1 {
    font-size: 200%;
  }
}

@media screen and (max-width: 414px) {
  #header_ttl>div h1 {
    font-size: 140%;
  }
}

#header_ttl div.cate_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#header_ttl div.cate_ttl>h1 {
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
}

#header_ttl div.cate_ttl>div {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
  margin: 0px;
  padding: 0px;
  vertical-align: top;
}

#header_ttl div.cate_ttl>div img {
  width: 100%;
  height: auto;
}

/* pankuzu */
.pankuzu>div {
  max-width: 1200px;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding-left: 30px;
}

@media screen and (max-width: 1024px) {
  .pankuzu>div {
    width: auto;
    margin: 20px 20px 0px 20px;
  }
}

@media screen and (max-width: 414px) {
  .pankuzu>div {
    font-size: 85%;
  }
}

.pankuzu>div::after {
  position: absolute;
  content: "";
  display: inline-block;
  background: url(../images/pankuzu_icon.svg) no-repeat;
  width: 25px;
  height: 20px;
  top: 0px;
  left: 0px;
  margin-right: 0.2em;
}

.pankuzu ul {
  list-style-type: none;
  font-size: 90%;
}

.pankuzu ul li {
  display: inline-block;
}

.pankuzu ul li+li:before {
  content: '>';
  color: #00884D;
}

.pankuzu ul li a,
.pankuzu ul li span {
  padding: 0px 10px;
  display: inline-block;
}

.pankuzu ul li:first-child a {
  padding: 0px 10px 0px 0px;
}

/* category_list */
#article #page_maincontents ul.category_page_list,
#article #page_maincontents-onecol ul.category_page_list {
  padding: 0;
  overflow: hidden;
  margin: 0px 0px 0px 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#article #page_maincontents ul.category_page_list>li,
#article #page_maincontents-onecol ul.category_page_list>li {
  list-style: none;
  width: calc(100% / 3);
  padding: 0px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-right: 20px;
  padding-bottom: 20px;
}

@media screen and (max-width: 414px) {

  #article #page_maincontents ul.category_page_list>li,
  #article #page_maincontents-onecol ul.category_page_list>li {
    width: 100%;
  }
}

#article #page_maincontents ul.category_page_list>li:nth-of-type(3n),
#article #page_maincontents-onecol ul.category_page_list>li:nth-of-type(3n) {
  padding-right: 0px;
}

#article #page_maincontents ul.category_page_list>li ul,
#article #page_maincontents-onecol ul.category_page_list>li ul {
  margin: 10px 0 15px 10px;
  padding: 0;
  list-style: none;
}

#article #page_maincontents ul.category_page_list>li ul li,
#article #page_maincontents-onecol ul.category_page_list>li ul li {
  width: 100%;
  position: relative;
  padding: 2px 0 7px 15px;
}

#article #page_maincontents ul.category_page_list>li ul li::after,
#article #page_maincontents-onecol ul.category_page_list>li ul li::after {
  display: block;
  content: '';
  position: absolute;
  top: .7em;
  left: -0.1em;
  width: 6px;
  height: 6px;
  background-color: #00884D;
  border-radius: 100%;
}

#article #page_maincontents ul.category_page_list>li h2.ttl,
#article #page_maincontents-onecol ul.category_page_list>li h2.ttl {
  background: #00884D;
  position: relative;
  vertical-align: middle;
  margin-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}

#article #page_maincontents ul.category_page_list>li h2.ttl a,
#article #page_maincontents-onecol ul.category_page_list>li h2.ttl a {
  color: #FFF;
  font-weight: bold;
  padding: 15px 15px 15px 45px;
  display: block;
  width: 100%;
}

#article #page_maincontents ul.category_page_list>li h2.ttl::before,
#article #page_maincontents ul.category_page_list>li h2.ttl::after,
#article #page_maincontents-onecol ul.category_page_list>li h2.ttl::before,
#article #page_maincontents-onecol ul.category_page_list>li h2.ttl::after {
  position: absolute;
  top: 1px;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  visibility: visible;
}

#article #page_maincontents ul.category_page_list>li h2.ttl::before,
#article #page_maincontents-onecol ul.category_page_list>li h2.ttl::before {
  width: 20px;
  height: 20px;
  left: 15px;
  border-radius: 10px;
  border: 2px solid #FFF;
}

#article #page_maincontents ul.category_page_list>li h2.ttl::after,
#article #page_maincontents-onecol ul.category_page_list>li h2.ttl::after {
  left: 22px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#article #page_maincontents ul.category_page_list>li::after,
#article #page_maincontents-onecol ul.category_page_list>li::after {
  background: none;
}

/* incatlist */
#article #page_maincontents ul.incatlist,
#article #page_maincontents-onecol ul.incatlist {
  padding: 0;
  overflow: hidden;
  margin: 0px 0px 0px 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
}

#article #page_maincontents ul.incatlist li,
#article #page_maincontents-onecol ul.incatlist li {
  width: calc(100% / 2);
  padding: 0px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-right: 20px;
  padding-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 414px) {

  #article #page_maincontents ul.incatlist li,
  #article #page_maincontents-onecol ul.incatlist li {
    width: 100%;
  }
}

#article #page_maincontents ul.incatlist li:nth-of-type(2n),
#article #page_maincontents-onecol ul.incatlist li:nth-of-type(2n) {
  padding-right: 0px;
}

#article #page_maincontents ul.incatlist li a,
#article #page_maincontents-onecol ul.incatlist li a {
  position: relative;
  background: #00884D;
  color: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  font-weight: bold;
  font-size: 120%;
  padding: 15px 15px 15px 45px;
}

#article #page_maincontents ul.incatlist li a:hover,
#article #page_maincontents-onecol ul.incatlist li a:hover {
  opacity: 0.9;
}

#article #page_maincontents ul.incatlist li a::before,
#article #page_maincontents ul.incatlist li a::after,
#article #page_maincontents-onecol ul.incatlist li a::before,
#article #page_maincontents-onecol ul.incatlist li a::after {
  position: absolute;
  top: 1px;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  visibility: visible;
}

#article #page_maincontents ul.incatlist li a::before,
#article #page_maincontents-onecol ul.incatlist li a::before {
  width: 20px;
  height: 20px;
  left: 15px;
  border-radius: 10px;
  border: 2px solid #FFF;
}

#article #page_maincontents ul.incatlist li a::after,
#article #page_maincontents-onecol ul.incatlist li a::after {
  left: 22px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#article #page_maincontents ul.incatlist li:after,
#article #page_maincontents-onecol ul.incatlist li:after {
  background: none;
}

/* sidemenu */
#page_sidemenu ul {
  list-style-type: none;
}

#page_sidemenu h2.page_cate,
#page_sidemenu h2 {
  position: relative;
  font-size: 120%;
  background-color: #00884D;
  background-image: url(../images/bg_pattern_20.png);
  background-repeat: repeat;
  text-align: center;
  padding: 20px;
}

#page_sidemenu h2.page_cate,
#page_sidemenu h2.page_cate a {
  color: #FFF;
}

#article .page_menu_cate_link {
  padding: 0;
  font-size: 100%;
  margin-bottom: 15px;
}

#article .page_menu_cate_link ul {
  margin: 0px 0px 10px 0px;
}

#article .page_menu_cate_link ul li {
  position: relative;
  text-align: left;
  list-style: none;
  padding: 0px;
  margin: 0;
  font-weight: bold;
  border-bottom: 1px solid #D6D2CD;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

#article .page_menu_cate_link ul li:last-child {
  border: none;
}

#article .page_menu_cate_link ul li:hover {
  cursor: pointer;
  opacity: 0.9;
}

#article .page_menu_cate_link ul li a,
#article .page_menu_cate_link ul li span {
  position: relative;
  padding: 10px 10px 10px 35px;
  display: block;
}

#article .page_menu_cate_link ul li a {
  font-weight: normal;
}

#article .page_menu_cate_link ul li::before {
  position: absolute;
  top: 0.8em;
  width: 6px;
  height: 6px;
  margin: .4rem 0 0 .8rem;
  border-top: 2px solid #00884D;
  border-right: 2px solid #00884D;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  content: "";
}

#article .page_menu_cate_link ul li::after {
  background: none;
}

#article .page_menu_cate_link ul.mylist span {
  position: relative;
  padding: 10px 10px 10px 35px;
  display: block;
}

#article .page_menu_cate_link .btn {
  border: 1px solid #00884D;
  padding: 10px 20px 10px 20px;
  margin: 10px;
  position: relative;
  display: block;
  color: #00884D;
  background: #FFF;
  text-decoration: none;
  font-weight: bold;
}

#article .page_menu_cate_link .btn::after {
  content: url(../images/arw_01.png);
  position: absolute;
  right: 10px;
  top: 25%;
}

#article .page_menu_cate_link .btn .tsuika::after {
  content: url(../images/arw_03.png);
  right: 7px;
  top: 27%;
}

#article #page_menu_life {
  padding: 10px 15px 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #786239;
  border-radius: 20px;
}

#article #page_menu_life h2 {
  margin: 0 0 10px;
  padding: 0px;
  color: #FFF;
  background: none;
}

#article #page_menu_life h2 span {
  position: relative;
  display: block;
  padding-left: 30px;
}

#article #page_menu_life h2 span::before {
  position: absolute;
  top: 0.8rem;
  left: 0;
  width: 15px;
  height: 4px;
  background: #FFF;
  content: "";
}

#article #page_menu_life ul {
  margin: 0 auto;
  background: none;
}

#article #page_menu_life ul li {
  list-style: none;
  margin: 0 0 10px;
  padding: 15px 10px 15px 60px;
  cursor: pointer;
  background: #FFF;
  border-radius: 15px;
}

#article #page_menu_life ul li::after {
  background: none;
}

#article #page_menu_life ul li:last-child {
  margin-bottom: 0;
}

#article #page_menu_life ul li[class^="life0"] {
  position: relative;
}

#article #page_menu_life ul li[class^="life0"]::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  top: 0;
  left: 0;
  margin-right: 0.2em;
}

#article #page_menu_life ul li[class^="life0"] a:after {
  position: absolute;
  top: 1.5em;
  right: 0.5em;
  width: 6px;
  height: 6px;
  border-top: 2px solid #786239;
  border-right: 2px solid #786239;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  content: "";
}

#article #page_menu_life ul li.life01:before {
  background: url(../images/top_life_01.svg) no-repeat;
  background-size: contain;
}

#article #page_menu_life ul li.life02:before {
  background: url(../images/top_life_02.svg) no-repeat;
  background-size: contain;
}

#article #page_menu_life ul li.life03:before {
  background: url(../images/top_life_03.svg) no-repeat;
  background-size: contain;
}

#article #page_menu_life ul li.life04:before {
  background: url(../images/top_life_04.svg) no-repeat;
  background-size: contain;
}

#article #page_menu_life ul li.life05:before {
  background: url(../images/top_life_05.svg) no-repeat;
  background-size: contain;
}

#article #page_menu_life ul li.life06:before {
  background: url(../images/top_life_06.svg) no-repeat;
  background-size: contain;
}

#article #page_menu_life ul li.life07:before {
  background: url(../images/top_life_07.svg) no-repeat;
  background-size: contain;
}

#article #page_menu_life ul li.life08:before {
  background: url(../images/top_life_08.svg) no-repeat;
  background-size: contain;
}

#article #page_menu_life ul li a {
  text-decoration: none;
  color: #786239;
  font-weight: bold;
}

#article #page_maincontents #otoiawase,
#article #page_maincontents-onecol #otoiawase {
  margin-top: 30px;
  background-color: #EBE7DD;
  background-image: url(../images/bg_pattern.png);
  background-repeat: repeat;
  clear: both;
  padding: 20px;
}

#article #page_maincontents #otoiawase h2,
#article #page_maincontents-onecol #otoiawase h2 {
  margin-bottom: 5px;
  color: #FFF;
  background: #00884D;
  padding: 5px 20px;
  font-size: 120%;
}

#article #page_maincontents #otoiawase p,
#article #page_maincontents-onecol #otoiawase p {
  margin-bottom: 0;
}

/* news_backnumber */
#article #page_maincontents-onecol #news h2 {
  color: #FFF;
  background-color: #00884D;
  background-image: url(../images/bg_pattern_20.png);
  background-repeat: repeat;
  padding: 10px;
}

#article #page_maincontents-onecol #news ul {
  list-style-type: none;
  margin: 10px 0px;
}

#article #page_maincontents-onecol #news ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 10px 10px 10px 40px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media screen and (max-width: 414px) {
  #article #page_maincontents-onecol #news ul li {
    display: block;
  }
}

#article #page_maincontents-onecol #news ul li:hover {
  background: #F6F4EF;
}

#article #page_maincontents-onecol #news ul li span {
  -ms-flex-preferred-size: 15%;
  flex-basis: 15%;
}

@media screen and (max-width: 959px) {
  #article #page_maincontents-onecol #news ul li span {
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
  }
}

@media screen and (max-width: 414px) {
  #article #page_maincontents-onecol #news ul li span {
    width: auto;
    display: block;
  }
}

#article #page_maincontents-onecol #news ul li a {
  -ms-flex-preferred-size: 85%;
  flex-basis: 85%;
}

@media screen and (max-width: 959px) {
  #article #page_maincontents-onecol #news ul li a {
    -ms-flex-preferred-size: 70%;
    flex-basis: 70%;
  }
}

@media screen and (max-width: 414px) {
  #article #page_maincontents-onecol #news ul li a {
    width: auto;
  }
}

#article #page_maincontents-onecol #news ul li:hover {
  cursor: pointer;
}

#article #page_maincontents-onecol #news ul li::before {
  content: '';
  position: absolute;
  top: 48%;
  left: 0px;
  display: inline-block;
  width: 20px;
  height: 3px;
  background-color: #00884D;
}

#article #page_maincontents-onecol #news ul li::after {
  background: none;
}

#article #page_maincontents-onecol #news .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 20px;
}

#article #page_maincontents-onecol #news .link div:first-child {
  margin-right: 15px;
}

#article #page_maincontents-onecol #news .link div a {
  color: #FFF;
  padding: 15px 20px;
  display: block;
  text-decoration: none;
  font-weight: bold;
  background-color: #00884D !important;
  background-image: url(../images/bg_pattern_20.png) !important;
  background-repeat: repeat !important;
}

#article #page_maincontents-onecol #news .link div.rss img {
  width: 20px;
  height: 20px;
  vertical-align: middle;
}

#article #page_maincontents-onecol #news .link div.rss a {
  padding: 15px 18px !important;
}

#article #page_maincontents-onecol #news.page {
  margin-bottom: 30px;
  background: #F6F4EF;
  padding: 20px;
}

#article #page_maincontents-onecol #news.page ul li:hover {
  background: #FFF;
}

#article #page_maincontents-onecol #sitemap_list dd dl {
  margin-left: 20px;
  padding: 5px;
}

#article #page_maincontents-onecol #sitemap_list dd dd dl,
#article #page_maincontents-onecol #sitemap_list dd dd dd dl {
  margin-left: 20px;
  padding: 5px;
}

#article #page_maincontents-onecol #sitemap_list ul {
  margin: 0 !important;
  padding: 3px !important;
  height: 100%;
}

#article #page_maincontents-onecol #sitemap_list ul li {
  background: none !important;
  margin-left: 10px !important;
  padding: 2px !important;
}

#article #page_maincontents-onecol #sitemap_list ul li:after {
  content: "";
  background: none;
}

#article #page_maincontents-onecol #sitemap_list .sm_article {
  margin-left: 20px;
  padding: 5px 5px 5px 23px !important;
  display: block;
  background: url("../images/icon_file_s.png") no-repeat 2px 0.3em !important;
}

#article #page_maincontents-onecol #sitemap_list .sm_category1,
#article #page_maincontents-onecol #sitemap_list .sm_category2,
#article #page_maincontents-onecol #sitemap_list .sm_category3,
#article #page_maincontents-onecol #sitemap_list .sm_category4,
#article #page_maincontents-onecol #sitemap_list .sm_category5,
#article #page_maincontents-onecol #sitemap_list .sm_category6,
#article #page_maincontents-onecol #sitemap_list .sm_category7,
#article #page_maincontents-onecol #sitemap_list .sm_category8 {
  font-weight: bold;
  background: url("../images/icon_folder_s.png") no-repeat 2px 0.4em !important;
  padding: 5px 5px 5px 26px !important;
  display: block;
  position: relative;
}

#article #page_maincontents-onecol #sitemap_list input {
  border: 1px solid #c9c9c9;
  padding: 0;
  width: 20px;
  background: #FFFFFF;
  margin: 0 10px;
  position: absolute;
  text-align: center;
}

/*-- lifeevent --*/
dl.life {
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
  font-size: 90%;
}

dl.life dt {
  text-align: left;
  padding: 6px;
  font-weight: bold;
  margin-top: 2px;
  line-height: 1.6;
}

dl.life dt a {
  background: url(../images/icon_folder_s.png) no-repeat left 0.3em;
  padding: 0 25px;
  margin: 0;
  display: inline-block;
}

dl.life dt span {
  margin-left: 0.5em;
  padding-left: 1em;
  display: block;
}

dl.life dt+dt {
  margin-top: 5px;
}

dl.life dd {
  line-height: 1.6;
  margin: 5px 0 15px;
  text-align: left;
  padding: 2px 2px 2px 30px;
  color: #4e7b20;
}

dl.life dd span {
  padding-left: 1.25em;
  display: block;
}

dl.life dd a {
  background: url(../images/icon_file_s.png) no-repeat left 0.1em;
  padding: 0 25px;
  margin: 0;
  display: inline-block;
}

/*--soshiki--*/
#article #page_maincontents table.group {
  width: 100%;
}

#article #page_maincontents table.group th {
  width: 20%;
}

#article #page_maincontents table.group td {
  width: 80%;
}

#article #page_maincontents table.group td p {
  margin-bottom: 0px;
  padding-left: 20px;
}

#article #page_maincontents table.group td .group_name {
  padding: 0px;
  font-weight: bold;
}

#article #page_maincontents .soshiki {
  padding: 10px;
}

#article #page_maincontents .soshiki h2 {
  font-size: 170%;
  margin: 0px auto;
  padding: 5px 0px;
  font-weight: bold;
}

#article #page_maincontents .soshiki h2 span {
  position: relative;
  line-height: 1.5em;
  padding-left: 1.5em;
}

#article #page_maincontents .soshiki h2 span::before {
  position: absolute;
  left: 0;
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background: url(../images/footer_chosho.svg) no-repeat;
  background-size: contain;
}

#article #page_maincontents .soshiki p {
  margin-bottom: 0px;
}

/*-- mylist --*/
#mylist_manage ul li.mylist_delete a {
  padding: 0 5px;
  margin: 5px 10px;
  color: #FFFFFF;
  display: inline-block;
  background: #333;
}

/*pdficon*/
.article_pdficon {
  margin: 30px 0 20px 0;
  font-size: 80%;
  line-height: 1.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 414px) {
  .article_pdficon {
    display: block;
  }
}

.article_pdficon_img {
  width: 158px;
  margin-right: 15px;
}

@media screen and (max-width: 414px) {
  .article_pdficon_img {
    width: 100%;
  }
}

@media screen and (max-width: 414px) {
  .article_pdficon_txt {
    padding-top: 10px;
  }
}

article [class^="icon_"] {
  padding: 0 5px;
  margin: 5px 10px;
  color: #FFFFFF;
  display: inline-block;
}

.icon_pdf {
  background: #9E0000;
}

.icon_xls {
  background: #217547;
}

.icon_xlsx {
  background: #217547;
}

.icon_csv {
  background: #848484;
}

.icon_doc {
  background: #153B86;
}

.icon_rtf {
  background: #153B86;
}

.icon_docx {
  background: #153B86;
}

.icon_jtd {
  background: #DB1718;
}

.icon_gif {
  background: #76720F;
}

.icon_jpeg {
  background: #76720F;
}

.icon_jpg {
  background: #76720F;
}

.icon_bmp {
  background: #76720F;
}

.icon_mp3 {
  background: #509C15;
}

.icon_mp4 {
  background: #412184;
}

.icon_png {
  background: #76720F;
}

.icon_ppt {
  background: #C05203;
}

.icon_pptx {
  background: #C05203;
}

.icon_sxc {
  background: #076A00;
}

.icon_sxw {
  background: #163A86;
}

.icon_wav {
  background: #4F9C12;
}

.icon_wmv {
  background: #A02F07;
}

.icon_xdw {
  background: #006A54;
}

.icon_xls {
  background: #0B6606;
}

.icon_xlsx {
  background: #0B6606;
}

.icon_zip {
  background: #646464;
}

.icon_link {
  background: #385B99;
}

.icon_docment {
  background: #C00000;
}

#header::after,
/*#footer_menu::after,*/
#oshirase>div #top_moshimo::after,
#main::after,
#article::after,
#page_main::after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0.1%;
  line-height: 0.1;
  clear: both;
  visibility: hidden;
}

.mgnt10 {
  margin-top: 10px;
}

.mgnt20 {
  margin-top: 20px;
}

.mgnt30 {
  margin-top: 30px;
}

.mgnt40 {
  margin-top: 40px;
}

.mgnt50 {
  margin-top: 50px;
}

.mgnb10 {
  margin-bottom: 10px;
}

.mgnb20 {
  margin-bottom: 20px;
}

.mgnb30 {
  margin-bottom: 30px;
}

.mgnb40 {
  margin-bottom: 40px;
}

.mgnb50 {
  margin-bottom: 50px;
}

/* ==================================================
koho
================================================== */
.digitalbook {
  padding: 0 0 20px 0;
}

.digitalbook a {
  color: #FFFFFF !important;
  text-decoration: none;
  padding: 5px 10px 5px 10px;
  background-color: #555555;
  font-size: 90%;
}

.koho_image {
  text-align: center;
  margin: 0 auto 20px;
}

.koho_image img {
  margin-bottom: 10px;
}

.koho_block {
  padding: 0 0 30px 0;
}

.koho_page {
  padding: 15px 0 5px 0;
  font-weight: bold;
}

.koho_txt {
  padding: 0 0 10px 0;
}

.koho_download {
  padding: 0 0 15px 0;
}

.koho_download a {
  color: #FFFFFF !important;
  text-decoration: none;
  padding: 5px 10px 5px 10px;
  background-color: #555555;
  font-size: 90%;
}

.digitalbook_pc {
  display: block;
}

.digitalbook_sp {
  display: none;
}

@media screen and (max-width: 414px) {
  .digitalbook_pc {
    display: none;
  }

  .digitalbook_sp {
    display: block;
  }
}


/*2021.03.24*/

.others #contents>#mainContents ul:not(.listIndex)>li:before {
  background-color: none !important;
}

#contents>#mainContents #sitemap_list ul li:before {
  content: none;
}

#sitemap_list .sm_category1,
#sitemap_list .sm_category2,
#sitemap_list .sm_category3,
#sitemap_list .sm_category4,
#sitemap_list .sm_category5,
#sitemap_list .sm_category6,
#sitemap_list .sm_category7,
#sitemap_list .sm_category8 {
  background: url(../images/icon_folder_s.png) no-repeat 2px 0.9em !important;
  padding: 5px 5px 5px 26px !important;
  display: block;
  position: relative;
}

#sitemap_list .sm_article {
  margin-top: 0 !important;
  margin-left: 20px;
  padding: 5px 5px 5px 23px !important;
  display: block;
  background: url(../images/icon_file_s.png) no-repeat 2px 0.8em !important;
}

#sitemap_list input {
  border: 1px solid #c9c9c9;
  padding: 0;
  width: 32px;
  background: #FFFFFF;
  margin: 0 10px;
  position: absolute;
  text-align: center;
}

/* # =================================================================
   # eventcalendar
   # ================================================================= */


#event_title {
  font-weight: bold;
  font-size: 130%;
  color: #39632C;
  padding: 10px 0px 5px 0px;
  margin: 0px;
}

#event_day_title {
  margin-bottom: 5px;
  text-align: left;
  padding: 12px 15px 18px 15px;
  font-size: 120%;
  color: #3C5749;
  background-image: url("../images/pagetitle_a2_bg.gif");
  background-repeat: no-repeat;
  background-position: bottom;
  background-color: #ebf7cf;
  font-weight: bold;
}

#event_day_title2 {
  font-size: 120%;
  font-weight: bold;
  color: #39632C;
  /* width:650px; */
  margin-bottom: 10px;
}

#event_month {
  border-collapse: collapse;
  border-top: 1px #c9c9c9 solid;
  width: 100%;
}

#event_month th {
  margin: 0px;
  padding: 2px 10px 2px 10px;
  width: 30px;
  border-bottom: 1px #c9c9c9 solid;
  border-right: 1px #ffffff solid;
  background-color: #5A4F43;
  color: #FFFFFF;
  text-align: center;
}

#event_month td {
  margin: 0px;
  padding: 0px;
  border-bottom: 1px #c9c9c9 solid;
}

#event_month ul {
  padding: 0px !important;
  margin: 0px !important;
}

#event_month li {
  background-image: url("../images/point.gif");
  background-repeat: no-repeat;
  background-position: 9px 5px;
  padding-left: 10px;
  padding-bottom: 3px;
  margin-bottom: 0px !important;
  list-style: none;
}

.day_sun {
  width: 30px;
  background-color: #fdeae9;
  text-align: center;
  color: #ac0b16;
  border-right: 1px #c9c9c9 dotted;
  padding: 15px;
}

.day_sat {
  width: 30px;
  background-color: #eaf6fc;
  text-align: center;
  color: #001340;
  border-right: 1px #c9c9c9 dotted;
  padding: 15px;
}

.day_weekday {
  width: 30px;
  background-color: #f4f4f4;
  color: #333333;
  text-align: center;
  border-right: 1px #c9c9c9 dotted;
  padding: 2px 15px 2px 15px !important;
}

#page_menu_cate_event {
  padding: 0px 0 5px 0;
  background: url(../images/page_left_sidemenu_top.gif) no-repeat top;
  font-size: 95%;
}

#page_menu_cate_event ul {
  padding-bottom: 10px;
  margin-bottom: 10px;
  width: 200px;
  background: url(../images/page_left_sidemenu_line.gif) repeat-y;
  border-bottom: 1px solid #bdc1c4;
  border-top: 1px solid #bdc1c4;
}

#page_menu_cate_event li {
  text-align: left;
  list-style: none;
  padding: 10px 5px 10px 35px;
  margin: 0;
  background: url(../images/arrow_right.gif) 10px 13px no-repeat;
  font-weight: bold;
  color: #1A4A00;
  border-bottom: 1px dotted #e6e6de;
}

#page_menu_cate_event li a {
  font-weight: normal;
}

#article table caption {
  text-align: left;
}

/* template 2col 3col */
.box_2col,
.box_3col {
  clear: both;
  margin: 0 0 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
}

@media screen and (max-width: 414px) {

  .box_2col,
  .box_3col {
    display: block;
  }
}

.box_2col div,
.box_3col div {
  padding: 5px;
  vertical-align: top;
  width: 100%;
}

.box_2col div img,
.box_3col div img {
  max-width: 100%;
  height: auto;
  margin-bottom: 10px;
}

.box_2col div p.button,
.box_3col div p.button {
  margin-top: 10px;
}

/*--diffmode--*/
.d-flex {
  display: flex;
}
.col_num {
  width: 5% !important;
  padding: 0 !important;
}
.col_icon {
  width: 5% !important;
  padding: 0 !important;
}
.col_article {
  width: -webkit-fill-available !important;
}
.mr20 {
  margin-right: 20px;
}
ins {
  background-color:#c0eeb480;
  text-decoration: none;
  display: inline-block;
  padding: 10px;
}
deleted {
  background-color:#eeb4b480;
  display: inline-block;
  padding: 10px;
}
mark {
  background-color:#ebfd36 !important;
  display: inline-block;
}
mark img, 
mark iframe,
mark:has(> div.googlemaps),
mark:has(> sup), mark:has(> sub) {
  padding: 10px;
}
.box_2col > mark,
.box_3col > mark {
  display: contents !important;
}

/* グローバルメニュー */
#topGlobalNavi {
  position: absolute;
  /* margin-top: -116px; */
  z-index: 100;
  flex-grow: 1;
  display: flex;
  justify-content: center;
  pointer-events: none;
  top: 40px;
  width: 100%;
}

#topGlobalNavi.is-fixed .logo {
  position: absolute;
  left: 20px;
  bottom: 8px;
  display: flex;
}

#topGlobalNavi .inner {
  max-width: none;
  margin: 0;
}

#topGlobalNavi .logo a {
  outline: 9999px solid transparent
}

#topGlobalNavi .logo a.group {
  margin-right: .5rem;
}

#topGlobalNavi .logo a.group img {
  height: 36px;
}

@media screen and (max-width: 1200px) {
  #topGlobalNavi::after {
    display: none;
  }

  #topGlobalNavi {
    pointer-events: auto;
  }

  #topGlobalNavi .logo {
    display: none;
  }
}

#topGlobalNavi .global-menu-list {
  display: flex;
  width: 1210px;
  list-style: none;
  padding: 0;
  pointer-events: auto;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  padding-left: 6rem;
  margin: 0 auto;
}

#topGlobalNavi .global-menu-list li {
  padding-left: 0;
}

#topGlobalNavi .global-menu-list a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-decoration: none;
  width: 100%;
}

#topGlobalNavi .global-menu-list .has-submenu>a {
  display: inline-block;
}

#topGlobalNavi .has-submenu>a {
  position: relative;
  display: flex;
  align-items: center;
  text-decoration: none;
  outline: none;
  font-size: 87.5%;
  font-weight: 700;
}

#topGlobalNavi .has-submenu>a:hover {
  text-decoration: none;
}

/* メガメニュー */
#topGlobalNavi .has-submenu {
  position: static;
}

#topGlobalNavi .has-submenu.open .submenu {
  display: block;
}

#topGlobalNavi .submenu-container {
  display: block;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  width: 100%;
  z-index: 1000;
  top: 50px;
  left: 0;
  background: #F1F1F1;
  min-height: 300px;
  padding: 95px 0 50px 0;
  transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
  z-index: -1;
}

#topGlobalNavi .submenu-container img {
  width: 200px;
  height: 121px;
  border-radius: 12px;
}

#topGlobalNavi .submenu-container a {
  color: #445798;
  text-decoration: underline !important;
  text-align: left;
}

#topGlobalNavi .submenu-container li {
  padding: 0;
}

#topGlobalNavi .has-submenu.open .submenu-container,
#topGlobalNavi .has-submenu:hover .submenu-container,
#topGlobalNavi .submenu-container:hover {
  opacity: 1;
  visibility: visible;
}

#topGlobalNavi .has-submenu.open .submenu-container.empty,
#topGlobalNavi .has-submenu:hover .submenu-container.empty,
#topGlobalNavi .submenu-container.empty:hover {
  opacity: 0;
}

#topGlobalNavi.is-fixed .submenu-container {
  top: 55px;
}

#topGlobalNavi .has-submenu .submenu-open .submenu-container {
  visibility: visible;
  pointer-events: auto;
}

#topGlobalNavi .submenu-title {
  position: relative;
  top: 0;
  width: 1000px;
  height: auto;
  margin: 0 auto;
}

#topGlobalNavi .submenu-title div {
  position: absolute;
  width: 100%;
  height: 1rem;
  top: 0;
  left: -113px;
  padding: 5px;
  bottom: 0;
  font-size: 1.5rem;
}

#topGlobalNavi .submenu-title a {
  text-align: initial;
  font-weight: initial;
  display: block !important;
  font-size: 75% !important;
  letter-spacing: initial;
  border-radius: 10px;
  background-color: initial;
  background-size: initial;
  background-position: initial;
  padding: initial;
  height: initial;
  position: absolute;
  width: auto;
}

#topGlobalNavi .submenu-title a::after {
  content: '';
  position: absolute;
  top: 5px;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0px 0 0 10px;
  background: url(/common/images/idx_arrow_kurashi.svg);
  background-position: 0px 0px;
  background-size: 171%;
}

#topGlobalNavi li#kurashi .submenu-title a::after {
  background: url(/common/images/idx_arrow_kurashi.svg);
}

#topGlobalNavi li#keizai .submenu-title a::after {
  background: url(/common/images/idx_arrow_keizai.svg);
}

#topGlobalNavi li#kanko .submenu-title a::after {
  background: url(/common/images/idx_arrow_kanko.svg);
}

#topGlobalNavi li#mahchi .submenu-title a::after {
  background: url(/common/images/idx_arrow_machi.svg);
}

#topGlobalNavi li#fukushi .submenu-title a::after {
  background: url(/common/images/idx_arrow_fukushi.svg);
}

#topGlobalNavi li#kyoiku .submenu-title a::after {
  background: url(/common/images/idx_arrow_kyoiku.svg);
}

#topGlobalNavi li#bosai .submenu-title a::after {
  background: url(/common/images/idx_arrow_bosai.svg);
}


#topGlobalNavi .submenu {
  width: 1000px;
  margin: 0 auto;
  padding: 0px 0 0 114px;
}

#topGlobalNavi .submenu ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc((1000px - (320px * 3)) / 3);
  list-style: none;
  margin: 0;
}

#topGlobalNavi .submenu li {
  width: 100%;
  min-width: 240px;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

#topGlobalNavi .submenu li a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 1rem 1rem 1rem 1rem;
  background: rgba(255, 255, 255, 1);
  text-decoration: none;
  line-height: 1.3;
  transition: background 0.3s, color 0.3s;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

#topGlobalNavi .submenu li a::after {
  content: '';
  display: block;
  height: 0;
  width: 0;
  position: absolute;
  bottom: 8px;
  right: 8px;
  border-left: 10px solid transparent;
  border-bottom: 10px solid rgb(81, 132, 22);
}

#topGlobalNavi li#kurashi .submenu li a::after {
  border-bottom: 10px solid rgb(81, 132, 22);
}

#topGlobalNavi li#keizai .submenu li a::after {
  border-bottom: 10px solid rgb(180, 67, 108);
}

#topGlobalNavi li#kanko .submenu li a::after {
  border-bottom: 10px solid rgb(198, 82, 37);
}

#topGlobalNavi li#mahchi .submenu li a::after {
  border-bottom: 10px solid rgb(60, 129, 105);
}

#topGlobalNavi li#fukushi .submenu li a::after {
  border-bottom: 10px solid rgb(209, 66, 75);
}

#topGlobalNavi li#kyoiku .submenu li a::after {
  border-bottom: 10px solid rgb(71, 123, 158);
}

#topGlobalNavi li#bosai .submenu li a::after {
  border-bottom: 10px solid rgb(198, 60, 80);
}

#topGlobalNavi .submenu li a svg {
  width: 18px;
  margin-right: 10px;
  fill: currentColor;
  transition: fill 0.3s;
  flex-shrink: 0;
}

#topGlobalNavi .submenu li a:hover {
  color: #445798;
}

#topGlobalNavi li#kurashi .submenu li a:hover {
  background-color: #dfeece;
}

#topGlobalNavi li#keizai .submenu li a:hover {
  background-color: #f1dbe3;
}

#topGlobalNavi li#kanko .submenu li a:hover {
  background-color: #ead6ce;
}

#topGlobalNavi li#machi .submenu li a:hover {
  background-color: #daf0e8;
}

#topGlobalNavi li#fukushi .submenu li a:hover {
  background-color: #f7e2e3;
}

#topGlobalNavi li#kyoiku .submenu li a:hover {
  background-color: #e1eff8;
}

#topGlobalNavi li#bosai .submenu li a:hover {
  background-color: #f4e1e4;
}

/* スマホのみ表示 */
@media screen and (max-width: 1024px) {
  .sp {
    display: block !important;
  }

  .pc {
    display: none !important;
  }

  .sp_only {
    display: none !important;
  }
}

/* PCのみ表示 */
@media screen and (min-width: 1025px) {
  .sp {
    display: none !important;
  }

  .pc {
    display: block !important;
  }

  .sp_only {
    display: none !important;
  }
}