header,
footer,
nav,
section,
article,
figure,
aside {
  display: block;
  margin: 0 auto;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0 auto;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block
}

nav ul {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}

ins {
  background-color: #ff9;
  color: #333;
  text-decoration: none
}

mark {
  background-color: #ff9;
  color: #333;
  font-style: italic;
  font-weight: bold
}

del {
  text-decoration: line-through
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0
}

input,
select {
  vertical-align: middle;
  cursor: pointer;
}

html {
  height: 100%;
  font-family: Meiryo, "メイリオ", Tahoma, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Verdana, "MS PGothic", "ＭＳ　Ｐゴシック", sans-serif
}

body {
  line-height: 1.85;
  color: #333;
  background-color: #fffcf7;
  margin: 0 auto;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: bold;
  text-align: center;
  box-sizing: border-box;
  letter-spacing: 0.1em;
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
}

h1 {
  font-size: 250%;
}

h2 {
  font-size: 230%;
}

a {
  text-decoration: none;
  color: #333;
}

:hover {
  -webkit-transition: all .2s;
  transition: all .2s;
}

a:hover,
.map input:not([type="text"]):hover,
.map label:hover,
#colorbox input:not([type="text"]):hover,
#colorbox label:hover,
button {
  cursor: pointer;
}

.tool-item:hover {
  -webkit-transition: all .1s;
  transition: all .1s;
}

rp,
rt {
  background: transparent;
  color: #666;
  font-size: 50%;
  font-weight: normal
}

rp {
  margin: 0
}

img {
  vertical-align: middle
}

.sp_br2 {
  display: none;
}

@media only screen and (max-width: 600px) {

  body {
    width: 100%;
    min-width: auto;
    font-size: 87.5%;
  }

  input[type="submit"],
  button,
  select,
  textarea {
    -webkit-appearance: none
  }

  input[type="text"],
  input[type="email"] {
    border: 1px solid #ccc
  }

  h1 {
    font-size: 120%;
  }

  h2 {
    font-size: 110%;
  }

  h3 {
    font-size: 105%;
  }

  p {
    font-size: 87.5%;
  }
}


#head {
  width: 100%;
  background-image: url(../img/mv_wave01.png);
  background-repeat: repeat-x;
  z-index: 100;
}

@media only screen and (max-width: 600px) {
  #head {
    width: 100%;
    overflow-x: hidden;
    background-repeat: no-repeat;
    background-position: bottom;
  }
}

/* メニュー再表示 */
.fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  margin-top: -80px;
  width: 100%;
}

#top--header {
  padding-top: 30px;
  display: -webkit-flex;
  display: flex;
  height: 200px;
  justify-content: space-between;
  width: 1356px;
  /*gap: 30px;*/
}

@media only screen and (max-width: 600px) {
  #top--header {
    width: 100% !important;
    margin: 0;
    padding-top: 0;
    height: 100px;
    flex-direction: column;
  }

  .fixed {
    margin-top: 0;
  }
}

#top--header .logo {
  margin: 0;
  width: 20%;
}

#top--header .logo #xss-site-name img {
  width: 80%;
  height: auto;
}

#top--header .logo .logo_active #xss-site-name img {
  width: 70%;
  height: auto;
  margin-top: 60px;
}

.logo_active a img {
  width: 80%;
  height: auto;
}


#top--header #top--header_nav {
  -webkit-flex-direction: column;
  flex-direction: column;
  width: 80%;
  flex-grow: 1;
}

#top--tool {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}


@media only screen and (max-width: 600px) {
  #top--tool {
    display: none;
  }

  #top--header .logo {
    width: 100%;
    margin: 0 auto;
  }
}

.top--tool_active {
  opacity: 0;
}

#tool {
  margin: 0;
}

#tool nav:before,
#tool nav:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

@media only screen and (max-width: 600px) {
  #top--tool {
    display: none;
  }
}

.top--tool_active {
  opacity: 0;
}

#tool {
  margin: 0;
}

#tool nav:before,
#tool nav:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

#tool nav .tools {
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  width: 780px;
}

#tool nav .tools .tool-item {
  border-radius: 5px;
  border: 1px solid #333;
  color: #333;
  display: inline-block;
  padding: 5px;
  height: 2.3em;
  vertical-align: middle;
  box-sizing: border-box;
}

#tool nav .tools .tool-item:hover {
  background-color: #333;
}

#ss-voice {
  position: relative;
  margin-right: 40px;
}

#ss-voice img {
  position: absolute;
  top: -5px;
}

#ss-voice img:last-of-type {
  opacity: 0;
  transition: opacity .2s;
}

#ss-voice img:hover {
  opacity: 1;
}

#tool nav .tools #ss-kana .tool-item:hover rt,
#tool nav .tools .tool-item:hover a,
#tool nav .tools .tool-item:hover ruby {
  color: #fff;
}

#ss-size span {
  width: 4em;
}

/*---------- Google検索の広告を非表示 ----------*/
.gsc-adBlock {
  display: none !important;
}

.search-wrap {
  width: auto;
  margin: 0 0 0 20px;
  padding: 0;
}

.search-wrap button[type="submit"] {
  background-image: url(../img/search.png);
  background-repeat: no-repeat;
  background-color: #333;
  background-size: 45%;
  background-position: center;
  border: 1px solid #333;
  border-radius: 0 5px 5px 0;
  width: 3em;
  height: 2.7em;
  padding: 5px;
  box-sizing: border-box;
}

.search-wrap button[type="submit"]:hover {
  cursor: pointer;
  background-color: #7c7c7c;
}

.search-wrap .site-search-keyword input#s_keyword {
  border-radius: 5px 0 0 5px;
  border: 1px solid #333;
  color: #333;
  height: 2.7em;
  width: 15em;
  padding: 5px;
  box-sizing: border-box;
}

.search-wrap form {
  border-style: none;
  margin: 0;
}

#tool nav .tools .search-wrap form {
  display: -webkit-flex;
  display: flex;
}

#tool nav .tools .search-wrap form .site-search-keyword {
  height: 2em;
}

#tool nav #theme {
  padding: 0 10px
}

#tool nav #ss-theme a {
  margin-left: 5px;
  padding: 3px 5px;
  border: 1px solid #ccc;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  color: #fff;
  text-decoration: none
}

#tool nav #ss-voice-controller {
  position: absolute;
  top: 2.5em;
  right: 0;
  z-index: 999
}

#tool nav #info {
  padding: 0 10px
}

#head.fixed #navi .wrap ul {
  margin-top: 25px;
}

@media only screen and (max-width: 600px) {

  #head::before {
    content: "";
    display: block;
    width: 100%;
    height: 80px;
    background-color: #fff;
    position: absolute;
    z-index: -1;
  }

  #head {
    position: fixed;
    background-size: contain;
    z-index: 100;
  }

  #head.fixed {
    background-position: center;

  }

  #head.fixed #top--header {
    height: 100%;
  }

  #head #top--header .logo #xss-site-name img {
    width: 120px;
    height: auto;
    margin-top: 18px;
  }

  #head #top--header .logo .logo_active {
    margin-top: 80px;
  }

  #head.fixed #top--header .logo #xss-site-name img {
    margin-top: -110px;
  }
}

#head .menu {
  display: inline;
  float: right;
  margin-bottom: 5px
}

@media only screen and (max-width: 600px) {
  #head .menu {
    float: none;
    display: block;
    padding: 0 10px
  }
}

#head .menu .u-menu {
  display: none;
}

table.gsc-search-box td.gsc-input {
  padding-right: 0 !important;
}

table.gsc-search-box {
  margin-bottom: 0;
  width: 250px;
}

#head .menu .l-menu form {
  width: 250px;
}

.gsc-input {
  font-size: 100% !important;
}

.gsc-input-box {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-top-left-radius: 5px !important;
  border-bottom-left-radius: 5px !important;
}

.gsc-search-button {
  margin-left: 0 !important;
}

.gsc-search-button-v2 {
  padding: 10px !important;
  margin-top: 0 !important;
  border-radius: 0 5px 5px 0 !important;
}

.gsst_a .gscb_a {
  position: absolute;
  top: 2px;
  right: 5px;
}

@media only screen and (max-width: 600px) {
  #head .menu .l-menu {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left
  }
}

#head .menu .l-menu form {
  float: right;
}

@media only screen and (max-width: 600px) {
  #head .menu .l-menu form {
    float: none;
    position: relative;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0
  }
}

#head .menu .l-menu #search-box {
  margin-right: -10px;
  padding: 5px;
  border: 0;
  color: #666
}

@media only screen and (max-width: 600px) {
  #head .menu .l-menu #search-box {
    width: 80%;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0
  }
}

#head .menu .l-menu #search-button {
  padding: 5px 10px;
  margin: 0;
  border: 0;
  background: #333;
  color: #fff
}

@media only screen and (max-width: 600px) {
  #head .menu .l-menu #search-button {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    padding: 4px 10px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    -webkit-appearance: none
  }
}

#head .menu .l-menu _::-webkit-full-page-media,
#head .menu .l-menu _:future,
#head .menu .l-menu #search-button {
  padding: 7px 10px
}

/*-------------------- #navi --------------------*/

#navi .wrap ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: flex-end;
  align-items: center;
  margin-top: 20px;
}

#navi .wrap ul li {
  display: block;
  line-height: 1;
}

#navi .wrap ul li:not(:first-child) {
  margin-left: 20px;
}

#navi .wrap ul li a {
  vertical-align: middle;
  zoom: 1;
  color: #333;
  font-size: 114%;
  text-decoration: none;
  text-align: left;
  font-weight: bold;
  word-break: keep-all;
  display: flex;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  line-height: 1.3;
}

#navi .wrap ul li img {
  margin-right: 10px;
}

#navi:before,
#navi:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

#navi:after {
  clear: both
}

.hamburger-menu__btn {
  display: none;
}

.hamburger-menu__btn:hover {
  cursor: pointer;
}

.cat-navi.sp {
  display: none;
}


.cat-navi.sp.menu-on {
  display: none;
}

.cat-navi.sp.menu-on {
  display: block;
  position: fixed;
  left: 0;
  top: 80px;
  z-index: 105;
  width: 100%;
  height: 100%;
  background-color: #fff;
}

.cat-navi.sp.menu-on .cat-mainnavi__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
}

.cat-navi.sp.menu-on .cat-mainnavi__list .cat-mainnavi__item {
  width: 90%;
  padding: 15px;
  border-top: 1px #a9deee dashed;
  position: relative;
  text-align: left;
}

.cat-navi.sp.menu-on .cat-mainnavi__list .cat-mainnavi__item a {
  display: block;
}

.cat-navi.sp.menu-on .cat-mainnavi__list .cat-mainnavi__item img {
  padding-right: 1em;
}

.cat-navi.sp.menu-on .cat-mainnavi__list .cat-mainnavi__item::after {
  position: absolute;
  content: '';
  top: 28px;
  right: 30px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #fd9f9d;
}

@media only screen and (min-width: 601px) {
  .cat-navi.sp.menu-on {
    display: none;
  }
}

@media only screen and (max-width: 600px) {
  #navi {
    width: 100%
  }

  .cat-navi.pc {
    display: none;
  }

  .hamburger-menu__btn {
    display: block;
    position: relative;
    width: 50px;
    height: 50px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 110;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
  }

  .hamburger-menu__btn-line {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 5px;
    height: 3px;
    background: #231815;
    width: 65%;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
  }

  .hamburger-menu__btn-line:nth-of-type(1) {
    top: 15px;
  }

  .hamburger-menu__btn-line:nth-of-type(2) {
    top: 25px;
  }

  .hamburger-menu__btn-line:nth-of-type(3) {
    top: 35px;
  }

  .hamburger-menu__menu {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 5px;
    top: 45px;
    font-size: 0.7em;
    letter-spacing: 0;
  }

  .hamburger-menu__btn.click-on .hamburger-menu__btn-line:nth-of-type(1) {
    top: 18px;
    left: 10px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
  }

  .hamburger-menu__btn.click-on .hamburger-menu__btn-line:nth-of-type(2) {
    opacity: 0;
  }

  .hamburger-menu__btn.click-on .hamburger-menu__btn-line:nth-of-type(3) {
    top: 30px;
    left: 10px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
  }

}

.bottom-navi,
.bottom-navi_height {
  display: none;
}

@media only screen and (max-width: 600px) {
  .bottom-navi {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    font-size: 60%;
    z-index: 1000;
    box-sizing: border-box;
  }

  .bottom-navi .bottom-navi_list {
    list-style: none;
    display: flex;
  }

  .bottom-navi .bottom-navi_item {
    display: flex;
    border-radius: 10px;
  }

  .bottom-navi .bottom-navi_list .bottom-navi_item a {
    display: flex;
    width: calc(100vw / 4);
    padding: 12px 8px;
    border-radius: 10px;
    text-align: center;
    justify-content: center;
    align-items: center;
    line-height: 1.5;
    box-sizing: border-box;
  }

  .bottom-navi .bottom-navi_list .bottom-navi_item:nth-child(1) {
    background-color: #bfe4ef;
  }

  .bottom-navi .bottom-navi_list .bottom-navi_item:nth-child(2) {
    background-color: #ecaea1;
  }

  .bottom-navi .bottom-navi_list .bottom-navi_item:nth-child(3) {
    background-color: #eced9e;
  }
  
  .bottom-navi .bottom-navi_list .bottom-navi_item:nth-child(4) {
    background-color: #bfe4c4;
  }

  .bottom-navi_height {
    height: 50px;
    display: block;
  }
}

#navi .wrap:before,
#navi .wrap:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

#navi .wrap:after {
  clear: both
}

@media only screen and (max-width: 600px) {
  #navi .wrap {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
  }
}

@media only screen and (max-width: 600px) {
  #navi .wrap>ul li {
    width: 50%
  }

  #navi .cat-navi ul li a {
    width: 90%;
    display: flex;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 100%;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
  }

  .cat-navi.sp.menu-on .cat-mainnavi__list .cat-mainnavi__item img {
    display: block;
    margin: 0;
    padding: 0;
    width: 25px;
    height: auto;
  }

  .cat-navi.sp.menu-on .cat-mainnavi__list .cat-mainnavi__item .hamburger-menu__nav {
    display: block;
    margin: 0;
    text-align: left;
    word-break: break-word;
    line-height: 1.3;
  }

}

#navi .wrap li:hover>ul,
#navi .wrap .focus>ul {
  height: auto
}

#navi .wrap li ul,
#navi .wrap .current ul {
  position: absolute;
  left: -1px;
  width: 180px;
  height: 0;
  overflow: hidden;
  z-index: 100
}

@media only screen and (max-width: 600px) {

  #navi .wrap li ul,
  #navi .wrap .current ul {
    display: none
  }
}

#navi .wrap li ul.current,
#navi .wrap .current ul.current {
  display: block
}

#navi .wrap li ul li,
#navi .wrap .current ul li {
  float: none;
  border: 0;
  padding: 0
}

#navi .wrap li ul li a,
#navi .wrap .current ul li a {
  display: block;
  padding-left: 15px;
  background: url(../img/ic-li.png) no-repeat 2px 8px;
  width: auto;
  padding: 5px 10px 3px 25px;
  border: 0;
  background-position: 12px 14px;
  font-size: 100%;
  text-align: left
}

#wrap:not(img) {
  min-width: 1366px;
  margin: 0 auto;
}

section {
  padding: 70px 0 40px;
}

@media only screen and (max-width: 600px) {

  #wrap:not(img) {
    min-width: auto;
    max-width: 600px;
  }

  section {
    max-width: 600px;
    padding: 30px 0;
  }
}

#wrap:before,
#wrap:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

#wrap:after {
  clear: both
}

.wrapper:not(img) {
  width: 1366px;
}

/*-------------------- #main --------------------*/

#top--mv_content {
  display: flex;
  justify-content: center;
  position: relative;
}

#top--main_img.pc {
  display: block;
  width: 100%;
  position: relative;
  margin-top: -120px;
  z-index: -1;
}

#top--main_img_sp.sp {
  display: none;
}

#main_img_bottom {
  position: absolute;
  bottom: -1px;
  width: 100%;
}

#top--site_search {
  display: none;
}

@media only screen and (max-width: 600px) {
  #top--main {
    padding: 0;
  }

  #top--mv_content {
    justify-content: flex-start;
    overflow: hidden;
  }

  #top--main_img.pc {
    display: none;
  }

  #top--main_img_sp.sp {
    display: block;
    width: 100%;
    margin: 50px 0 0 0;
    z-index: -1;
  }

  #main_img_bottom {
    width: 100%;
  }
  
  #top--site_search {
    display: block;
    position: absolute;
    top: 280px;
    left: 10px;
  }
  
  #top--site_search_content {
    text-align: left;
    margin-left: 5px;
    margin-right: 35%;
    color: #FFF;
    text-shadow: 1px 1px 0px #666, -1px -1px 0px #666, -1px 1px 0px #666, 1px -1px 0px #666, 1px 0px 0px #666, -1px 0px 0px #666, 0px 1px 0px #666, 0px -1px 0px #666;
  }
}

/*-------------------- 施設ガイド mv --------------------*/

#wrap>header {
  position: relative;
}

#mv_img {
  width: 100%;
  position: relative;
  margin-top: -60px;
  z-index: -1;
}


#mv_bottom {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 63px;
}

@media only screen and (max-width: 600px) {
  #mv_img {
    margin-top: 90px;
  }

  #mv_bottom {
    bottom: -1px;
  }
}

/*-------------------- top--message --------------------*/

#top--message {
  position: relative;
}

#top--message_bg .pc {
  display: block;
  height: auto;
  margin: 0 auto;
  position: absolute;
  top: -110px;
  left: 0;
  right: 0;
  z-index: -2;
}

#top--message_bg .sp {
  display: none;
}

@media only screen and (max-width: 600px) {
  #top--message_bg .pc {
    display: none;
  }

  #top--message {
    padding-top: 0;
  }

  #top--message_bg .sp {
    display: block;
    margin: 0;
    width: 100%;
  }
}

#top--message_title {
  width: 100%;
  position: absolute;
  top: 160px;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

#top--message #top--message_title h2 {
  font-size: 210%;
  width: 1200px;
  margin: 0 auto;

}

#top--message #top--message_title p {
  font-size: 130%;
  font-weight: bold;
}


#top--message_text {
  position: absolute;
  top: 400px;
  left: 50%;
  width: 650px;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.sp_br {
  display: none;
}

@media only screen and (max-width: 600px) {
  #top--message #top--message_title h2 {
    font-size: 150%;
    width: 90%;
    line-height: 1.5;
  }

  #top--message #top--message_title p {
    font-size: 120%;
  }

  #top--message_title {
    width: 90%;
    top: 20%;
  }

  #top--message_text {
    top: 56%;
    width: 230px;
  }

  .sp_br {
    display: block;
  }
}

@media only screen and (max-width: 405px) {
  #top--message #top--message_title h2 {
    font-size: 120%;
  }

  #top--message #top--message_title p {
    font-size: 110%;
  }


  #top--message_title {
    width: 90%;
    top: 20%;
  }

  #top--message_text {
    top: 55%;
    width: 210px;
  }

  .sp_br2 {
    display: block;
  }
}

@media only screen and (max-width: 600px) {
  #top-message_height {
    display: none;
  }
}

#top-message_height {
  height: 575px;
}


/*------------------------------ top--info ------------------------------*/

#top--info {
  width: 1200px;
}

@media only screen and (max-width: 600px) {
  #top--info {
    width: 90%;
    font-size: 70%;
  }
}

#cms-tabs-28 {
  margin-top: 20px;
}

#cms-tabs-28 .names .name {
  border-radius: 10px 10px 0 0;
  text-align: center;
  cursor: pointer;
  padding: 1em;
  font-weight: bold;
  display: inline-block;
  width: calc(80% / 5);
  min-width: 100px;
  margin: 0 1px;
  color: #333;
  line-height: 1.4;
}

#cms-tabs-28 .names .name:hover {
  background-image: url(../img/bg01.png);
  background-size: contain;
}

@media only screen and (max-width: 600px) {
  #cms-tabs-28 .names .name {
    box-sizing: border-box;
    width: calc((100% - 6px) / 3);
    margin: 1px;
    border-radius: 10px;
    font-size: 85%;
    padding: 1em 0.5%;
  }
}

#cms-tabs-28 .names .current {
  background-image: url(../img/bg01.png);
  background-size: contain;
}

#cms-tabs-28 .names #cms-tab-28-0-name {
  border: 2px solid #e8e351;
}

#cms-tabs-28 .names #cms-tab-28-1-name {
  border: 2px solid #fd9f9d;
}

.pages .cms-tab-28-1 {
  background-color: #fd9f9d;
}

#cms-tabs-28 .names #cms-tab-28-2-name {
  border: 2px solid #39cbcb;
}

.pages .cms-tab-28-2 {
  background-color: #39cbcb;
}

#cms-tabs-28 .names #cms-tab-28-3-name {
  border: 2px solid #eaa655;
}

.pages .cms-tab-28-3 {
  background-color: #eaa655;
}

#cms-tabs-28 .names #cms-tab-28-4-name {
  border: 2px solid #15b15d;
}

.pages .cms-tab-28-4 {
  background-color: #15b15d;
}

#cms-tab-28-0-view {
  margin: 0;
}

.pages {
  width: 85%;
}

@media only screen and (max-width: 600px) {
  .pages {
    width: 100%;
    margin: 10px 0;
  }
}

.cms-tabs .pages article {
  margin-bottom: 25px;
}

.cms-tabs .pages header {
  display: grid;
  grid-template-rows: 40px;
  grid-template-columns: 175px 210px 1fr;
  grid-gap: 15px;
  align-items: center;
  margin-bottom: 50px;
}

.pages header time {
  grid-row: 1;
  grid-column: 2/3;
}

.pages header .cat {
  text-align: center;
  padding: 5px 6px 0px;
  border-radius: 10px;
  text-align: center;
  margin-right: 10px;
  color: #333;
  margin: 0;
  grid-row: 1;
  grid-column: 1/2;
  font-size: 80%;
}

.pages header h3 {
  text-align: left;
  grid-row: 1;
  grid-column: 3/4;
}

.pages header h3 a {
  color: #333;
  border-bottom: 1px solid #333;
}

.pages header h3 a:hover {
  border-bottom: 1px solid #fffcf7;
}

.cms-tabs nav {
  zoom: 1;
  padding: 50px 0
}

.cms-tabs nav:before,
.cms-tabs nav:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

.cms-tabs nav:after {
  clear: both
}

@media only screen and (max-width: 600px) {
  .cms-tabs nav {
    padding: 0;
  }
}

.cms-tabs .rss {
  display: none;
}

@media only screen and (max-width: 600px) {
  .cms-tabs .more {
    width: 70%;
    padding: 3px 0 3px 15px;
    padding: 3px 0 3px 25px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
  }
}

/*------------------------------ top--hoikusearch ------------------------------*/

#top--hoikusearch {
  width: 100%;
}

#top--hoikusearch_content {
  width: 90%;
  padding: 50px;
  border: 5px solid #e2b4a6;
  border-radius: 30px;
  background-image: url(../img/bg01.png);
}

@media only screen and (max-width: 600px) {
  #top--hoikusearch {
    margin: 0;
    overflow: hidden;
  }

  #top--hoikusearch_content {
    width: 100%;
    padding: 20px;
    margin: 0;
    border-style: none;
    border-radius: 0;
    border-top: 2px solid #e2b4a6;
    border-bottom: 2px solid #e2b4a6;
    box-sizing: border-box;
  }
}

.top-h2 {
  display: flex;
  justify-content: center;
  flex-direction: row;
  margin: 50px auto;
  align-items: flex-end;
  max-width: 1200px;
}

@media only screen and (max-width: 600px) {
  .top-h2 h2 {
    max-width: 63%;
    word-break: break-word;
  }
}

/* 保育園等を探す h2横の画像 */
#top--hoikusearch .top-h2::before {
  content: url(../img/ic_st01.png);
  vertical-align: middle;
  margin-right: 20px;
}

#top--hoikusearch .top-h2::after {
  content: url(../img/ic_st02.png);
  vertical-align: middle;
  margin-left: 20px;
}

@media only screen and (max-width: 600px) {

  #top--hoikusearch .top-h2::before {
    content: "";
    display: inline-block;
    width: 35px;
    height: 51px;
    background-image: url(../img/ic_st01.png);
    background-repeat: no-repeat;
    background-size: contain;
  }

  #top--hoikusearch .top-h2::after {
    content: "";
    display: inline-block;
    width: 35px;
    height: 49px;
    background-image: url(../img/ic_st02.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
}

/*  ご利用ガイド h2横の画像 */
#top--goriyou .top-h2::before {
  content: url(../img/ic_st03.png);
  vertical-align: middle;
  margin-right: 20px;
}

#top--goriyou .top-h2::after {
  content: url(../img/ic_st04.png);
  vertical-align: middle;
  margin-left: 20px;
}

@media only screen and (max-width: 600px) {

  #top--goriyou .top-h2::before {
    content: "";
    display: inline-block;
    width: 35px;
    height: 47px;
    background-image: url(../img/ic_st03.png);
    background-repeat: no-repeat;
    background-size: contain;
  }

  #top--goriyou .top-h2::after {
    content: "";
    display: inline-block;
    width: 35px;
    height: 47px;
    background-image: url(../img/ic_st04.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
}

.top-text {
  margin-bottom: 50px;
  font-size: 100%;
  width: 1200px;
}

#top--hoikusearch_list {
  display: block;
  margin: 100px auto 50px;
  position: relative;
  height: 350px;
  width: 1100px;
}

#top--hoikusearch_list .top--hoikusearch_item:nth-child(1) {
  position: absolute;
  top: 0;
  left: 0;
}

#top--hoikusearch_list .top--hoikusearch_item:nth-child(2) {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 1;
}

#top--hoikusearch_list .top--hoikusearch_item:nth-child(3) {
  position: absolute;
  top: 0;
  right: 0;
}

#top--hoikusearch_list .top--hoikusearch_item {
  display: inline-block;
}

@media only screen and (max-width: 600px) {
  #top--hoikusearch_list {
    margin: 0 auto;
    height: 400px;
    width: 100%;
  }

  #top--hoikusearch_list .top--hoikusearch_item {
    display: block;
    position: absolute;

  }

  #top--hoikusearch_list .top--hoikusearch_item:nth-child(1) {
    top: 165px;
    left: -50px;
  }

  #top--hoikusearch_list .top--hoikusearch_item:nth-child(2) {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1;
  }

  #top--hoikusearch_list .top--hoikusearch_item:nth-child(3) {
    top: 145px;
    right: -50px;
  }

  #top--hoikusearch_list .top--hoikusearch_item,
  #top--hoikusearch_list .top--hoikusearch_item img {
    width: 65%;
  }

  .top-text {
    font-size: 100%;
    width: 90%;
  }
}

@media only screen and (max-width: 405px) {

  #top--hoikusearch_list {
    position: relative;
    height: 320px;
  }

  #top--hoikusearch_list .top--hoikusearch_item:nth-child(1) {
    top: 130px;
    left: 0;
  }

  #top--hoikusearch_list .top--hoikusearch_item:nth-child(2) {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1;
  }

  #top--hoikusearch_list .top--hoikusearch_item:nth-child(3) {
    top: 120px;
    right: 0;
  }

  #top--hoikusearch_list .top--hoikusearch_item,
  #top--hoikusearch_list .top--hoikusearch_item img {
    width: 150px;
  }

}

/*------------------------------ btn ------------------------------*/

.btn,
.cms-tabs .more,
.map .send input[type="submit"],
#colorbox .send input[type="submit"],
button#go-back {
  display: inline-block;
  padding: 15px 30px;
  width: 370px;
  min-height: 85px;
  background-color: #333;
  border: 3px solid #333;
  border-radius: 50px;
  color: #fff;
  position: relative;
  font-weight: bold;
  box-sizing: border-box;
  white-space: normal;
  text-align: center;
}

.cms-tabs .more {
  line-height: 3.85;
}

.btn:hover,
.cms-tabs .more:hover,
.map .send input[type="submit"]:hover,
#colorbox .send input[type="submit"]:hover,
button#go-back:hover {
  background-color: #fff;
  color: #333;
}

.goriyou_tabs_content_btn {
  clear: both;
  /*display: block;*/
  display: inline-block;
  margin: 0 auto;
  padding: 15px 30px;
  width: 420px;
  min-height: 65px;
  background-color: #333;
  border: 3px solid #333;
  color: #fff;
  border-radius: 50px;
  position: relative;
  word-break: keep-all;
  box-sizing: border-box;
  white-space: normal;
  text-align: center;
}

.goriyou_tabs_content_btn:hover {
  background-color: #fff;
  color: #333;
  cursor: pointer;
}

.goriyou_btn {
  display: block;
}

.first_btn {
  margin-right: 20px;
}

.map .send input[type="reset"],
#colorbox .send input[type="submit"]:nth-child(3) {
  display: inline-block;
  padding: 15px 30px;
  width: 370px;
  min-height: 85px;
  background-color: #fff;
  border: 3px solid #333;
  border-radius: 50px;
  color: #333;
  position: relative;
  font-weight: bold;
  box-sizing: border-box;
  white-space: normal;
  text-align: center;
}

.map .send input[type="reset"]:hover,
#colorbox .send input[type="submit"]:nth-child(3):hover {
  background-color: #333;
  color: #fff;
  cursor: pointer;
}

button#go-back {
  margin-right: 100px;
}

@media only screen and (max-width: 600px) {

  button#go-back,
  button#go-back:hover {
    display: block;
  }

  .btn,
  .cms-tabs .more,
  .map .send input[type="submit"],
  #colorbox .send input[type="submit"],
  button#go-back,
  .btn:hover,
  .cms-tabs .more:hover,
  .map .send input[type="submit"]:hover,
  #colorbox .send input[type="submit"]:hover,
  button#go-back:hover,
  .map .send input[type="reset"],
  #colorbox .send input[type="submit"]:nth-child(3),
  .map .send input[type="reset"]:hover,
  #colorbox .send input[type="submit"]:nth-child(3):hover {
    width: 250px;
    padding: 15px;
    font-size: 80%;
    line-height: 2;
    min-height: 60px;
  }

  .goriyou_tabs_content_btn,
  .goriyou_tabs_content_btn:hover {
    width: 300px;
    padding: 15px 30px;
    border: 3px solid #333;
    font-size: 80%;
    line-height: 2;
    word-break: keep-all;
    box-sizing: border-box;
    white-space: normal;
  }

  .first_btn {
    margin-right:0px;
	margin-bottom:20px;
  }
  
  .riyo_first_btn {
    margin-bottom:20px;
  }
}

/*----- 矢印アイコン -----*/
.btn::after,
.cms-tabs .more::after,
.goriyou_tabs_content_btn::after,
.map .send .send_btn::after {
  content: '';
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  display: inline-block;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}

.btn:hover:after,
.cms-tabs .more:hover::after,
.goriyou_tabs_content_btn:hover::after,
.map .send .send_btn:hover::after {
  content: '';
  border-top: solid 2px #333;
  border-right: solid 2px #333;
}

button#go-back::before {
  content: '';
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  display: inline-block;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%) rotate(225deg);
}

button#go-back:hover::before {
  content: '';
  border-top: solid 2px #333;
  border-right: solid 2px #333;
}

.input_arrow {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  display: inline-block;
  width: 10px;
  height: 10px;
  position: absolute;
  right: 250px;
  bottom: 30px;
  transform: translateY(-50%) rotate(45deg);
}

#more_search .input_arrow {
  right: 50px;
}

#colorbox .send .input_arrow {
  right: 40px;
  bottom: 40px;
}


@media only screen and (max-width: 600px) {
  #colorbox .send .input_arrow {
    bottom: 30px;
    right: 25px;
  }
}

form .send input[type="submit"]:hover~.input_arrow,
form .filter-item input[type="button"]:hover~.input_arrow {
  border-top: solid 2px #333;
  border-right: solid 2px #333;
}

@media only screen and (max-width: 600px) {
  button#go-back {
    margin: 30px auto 0;
  }

  .btn::after,
  .cms-tabs .more::after,
  .goriyou_tabs_content_btn::after,
  .map .send .send_btn::after,
  .btn:hover:after,
  .cms-tabs .more:hover::after,
  .goriyou_tabs_content_btn:hover::after,
  .map .send .send_btn:hover::after,
  button#go-back::before,
  button#go-back:hover::before {
    right: 15px;
    width: 7px;
    height: 7px;
  }

  .input_arrow {
    bottom: 22px;
    right: 20px;
    width: 7px;
    height: 7px;
  }

}

/*---------- 検索結果のbtn ----------*/

.map .settings .ajax-box {
  display: inline-block;
  padding: 15px 30px;
  width: 280px;
  background-color: #fff;
  border: 3px solid #333;
  border-radius: 50px;
  color: #333;
  position: relative;
  box-sizing: border-box;
  line-height: 1.5;
}

.map .settings .ajax-box:hover {
  background-color: #333;
  color: #fff;

}

.map .settings .ajax-box:hover::after {
  content: '';
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  display: inline-block;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
  cursor: pointer;
}

.map .settings .ajax-box::after {
  content: '';
  border: 0;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  display: inline-block;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}

/*------------------------------ top--goriyou ------------------------------*/

#top--goriyou {
  width: 1200px;
  margin: 0 auto;
}

@media only screen and (max-width: 600px) {
  #top--goriyou {
    width: 90%;
  }
}

/*タブ切り替え全体のスタイル*/
.goriyou_tabs {
  padding-bottom: 40px;
  margin: 0 auto;
}

/*タブのスタイル*/
.tab_item {
  width: calc((100% - 25px) / 2);
  background-color: #d9d9d9;
  padding: 1em 5px;
  display: block;
  float: left;
  text-align: center;
  font-size: 120%;
  font-weight: bold;
  transition: all 0.2s ease;
  border-radius: 10px 10px 0 0;
  height: auto;
}

.tab_item:hover {
  cursor: pointer;
}


@media only screen and (max-width: 600px) {
  .tab_item {
    font-size: 100%;
    line-height: 1.5;
  }
}

@media only screen and (max-width: 509px) {
  .tab_item {
    /*min-height: 50px;*/
  }
}

@media only screen and (max-width: 433px) {
  .tab_item {
    /*min-height: 60px;*/
  }
}

.tab_item span {
  font-size: 92%;
}

.goriyou_tabs #goriyou_tab_first {
  margin-right: 5px;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  background-color: #fff;
  clear: both;
  overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked~#all_content,
#programming:checked~#programming_content {
  display: block;
  padding-bottom: 50px;
}

/*選択されているタブのスタイルを変える*/
.goriyou_tabs input:checked+.tab_item {
  background-color: #fd9f9d;
}

.goriyou_tabs .goriyou_tabs_content_img {
  display: inline-block;
  margin: 5%;
  width: 40%;
  float: left;
}

/* リストを非表示 */
#all:checked~.goriyou_tabs .goriyou_tabs_content_div,
#programming:checked~.goriyou_tabs_content_div {
  display: none;
}

@media only screen and (max-width: 600px) {
  .goriyou_tabs .goriyou_tabs_content_img {
    width: 90%;
    margin: 5% 5% 15%;
  }
}

.goriyou_tabs .goriyou_tabs_content_ul {
  display: inline-block;
  text-align: left;
  margin: 5%;
  vertical-align: top;
  float: left;
  position: relative;
}

.goriyou_tabs .goriyou_tabs_content_ul li {
  list-style: none;
}

.goriyou_tabs .goriyou_tabs_content_ul li .goriyou_tabs_content_item {
  color: #333;
  border-bottom: 1px solid #333;
  margin: 1em 0;
  font-size: 110%;
}

.goriyou_tabs .goriyou_tabs_content_ul li .goriyou_tabs_content_item:hover {
  border-bottom: 1px solid transparent;
}

.goriyou_tabs .goriyou_tabs_content_div {
  display: inline-block;
  margin: 5%;
  position: relative;
}

@media only screen and (max-width: 600px) {
  .goriyou_tabs .goriyou_tabs_content_ul {
    margin: 30px 0 50px 60px;
  }

  .goriyou_tabs .goriyou_tabs_content_ul li .goriyou_tabs_content_item {
    font-size: 100%;
  }

  .goriyou_tabs .goriyou_tabs_content_div {
    font-size: 90%;
  }
}

/*リンク横の円のスタイル*/
.list_dot {
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  display: inline-block;
  text-align: left;
  margin-top: 18px;
  position: absolute;
  left: -2em;
}

.list_dot_pink {
  background-color: #ecaea1;
}

.list_dot_yellow {
  background-color: #eced9e;
}

.list_dot_blue {
  background-color: #bfe4ef;
}

.list_dot_orange {
  background-color: #eec3a1;
}

.goriyou_tabs .goriyou_tabs_content_ul li .goriyou_tabs_content_item {
  display: inline-block;
  text-align: left;
}

@media only screen and (max-width: 600px) {
  .list_dot {
    margin-top: 20px;
  }
}

/*------------------------------ top--kotei ------------------------------*/

#top--kotei {
  width: 1200px;
}

#top--kotei_contents {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 600px) {

  #top--kotei {
    width: 100%;
  }

  #top--kotei_contents {
    flex-direction: column;
    width: 90%;
    gap: 70px;
  }
}

#top--kotei_contents .top--kotei_content {
  margin: 0;
  width: calc(95% / 3);
  height: 220px;
  position: relative;
}

#top--kotei_contents .top--kotei_content img {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 1;
}

#top--kotei_contents .top--kotei_content a {
  width: 100%;
  max-height: 220px;
  background-color: #fff;
  border-radius: 30px;
  border: 5px solid #dcdcdc;
  color: #333;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  word-break: keep-all;
  padding: 90px 25px;
  box-sizing: border-box;
}

@media only screen and (max-width: 600px) {
  #top--kotei_contents .top--kotei_content {
    width: 100%;
    height: 110px;
  }

  #top--kotei_contents .top--kotei_content a {
    width: 100%;
    max-height: 150px;
    border-radius: 10px;
    border: 2px solid #dcdcdc;
    padding: 50px 20px;
    top: 55%;
  }
}

/*------------------------------ page-top ------------------------------*/
.page-top {
  display: inline-block;
  margin: 80px auto 100px;
  line-height: 0;
}

.page-top img {
  margin-right: 20px;
  width: 67px;
  height: auto;
}

.page-top a {
  display: inline-block;
  height: auto;
}

@media only screen and (max-width: 600px) {
  .page-top {
    margin: 50px auto;
    text-align: -webkit-left;
    width: 260px;
    display: flex;
    align-items: center;
    white-space: normal;
    line-height: 1.3;
    justify-content: center;
  }

  .page-top a {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .page-top img {
    display: block;
    margin-right: 15px;
    width: 50px;
    height: auto;
  }
}

.page-top_fixed {
  width: 230px;
  height: 60px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background: #fff;
  border: 5px solid #dadada;
  border-radius: 30px;
  z-index: 10;
}

.page-top_fixed a {
  position: relative;
  display: block;
  height: 60px;
  text-decoration: none;
}

.page-top_fixed_img {
  display: inline-block;
  position: absolute;
  width: 18%;
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.page-top_fixed_text.pc {
  font-size: 70%;
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  margin: auto;
  text-align: center;
  line-height: 1.2;
  width: 60%;
  word-break: break-word;
}

.page-top_fixed_text.sp {
  display: none;
}

@media only screen and (max-width: 600px) {
  .page-top_fixed {
    width: 80px;
    height: 80px;
    position: fixed;
    right: 10px;
    bottom: 70px;
    background: #fff;
    border: 3px solid #dadada;
    border-radius: 50%;
  }

  .page-top_fixed_img {
    width: 35%;
    height: auto;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }

  .page-top_fixed_text.pc {
    display: none;
  }

  .page-top_fixed_text.sp {
    display: inline-block;
    font-size: 50%;
    color: #333;
    position: absolute;
    top: 48px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    line-height: 1.2;
  }
}

/*------------------------------ footer ------------------------------*/

#foot #foot--navi {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 40px;
  text-align: left;
  width: 1200px;
  margin: 50px auto 20px;
}

@media only screen and (max-width: 600px) {
  #foot #foot--navi {
    flex-wrap: wrap;
    flex-direction: column;
    width: 90%;
    gap: 0;
    font-size: 80%;
    align-content: flex-start;
    justify-content: flex-start;
    text-align: center;

  }
}

#foot #foot--navi .foot--navi ul li {
  list-style: none;
}

#foot #foot--navi .foot--navi ul li a {
  line-height: 3em;
  border-bottom: 1px solid #333;
  color: #333;
}

#foot #foot--navi .foot--navi ul li a:hover {
  border-bottom: transparent;
}

@media only screen and (max-width: 600px) {
  #foot #foot--navi {
    font-size: 80%;
  }

  #foot #foot--navi .logo {
    width: 100%;
    margin-bottom: 25px;
  }

  #foot #foot--navi .logo a img {
    display: block;
    width: 40%;
    height: auto;
    flex-grow: 1;
  }

  #foot #foot--navi .foot--navi ul li a {
    line-height: 3em;
  }
}

#foot--bg {
  position: relative;
}

#foot--bg #foot--bg_img {
  width: 100%;
  min-width: 1366px;
}

#copyright {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  line-height: 1.2;
}

@media only screen and (max-width: 600px) {

  #foot--bg {
    overflow: hidden;
  }

  #foot--bg #foot--bg_img {
    min-width: 1020px;
    left: 15%;
    transform: translate(-15%, 0);
    -webkit-transform: translate(-15%, 0);
    -ms-transform: translate(-50%, 0);
  }

  #copyright {
    width: 100%;
    font-size: 25%;
    display: block;
    bottom: 0;
  }

}

#sp-view {
  padding: 10px
}

#ss-page-name {
  position: absolute;
  top: 30%;
  right: 0;
  left: 0;
  margin: 0 auto;
  text-shadow: 0 0 45px #fff, 0 0 45px #fff, 0 0 45px #fff, 0 0 45px #fff, 0 0 45px #fff, 0 0 45px #fff;
}

@media only screen and (max-width: 600px) {
  #ss-page-name {
    margin: 12px 0;
    top: 60%;
  }
}

.crumbs {
  padding: 30px 0 10px;
  text-align: left;
  width: 1200px;
}

.crumbs .separator {
  padding: 0 3px
}

#hoikusearch--message {
  margin-top: 50px;
}

#hoikusearch--message[src*="/map"] {
  display: none;
}

#hoikusearch--content {
  width: 1200px;
  position: relative;
}

@media only screen and (max-width: 600px) {

  #hoikusearch--message {
    margin-top: 10px;
  }

  .crumbs {
    width: 100%;
  }

  #hoikusearch--content {
    width: 100%;
  }
}

#hoikusearch--content #map--result p {
  text-align: left;
  margin: 30px 0 50px;
}

@media only screen and (max-width: 600px) {

  #hoikusearch--content #map--result p {
    margin: 30px 0 30px;
    font-weight: normal;
  }
}

.map h3,
.map #map--result h2,
.body--institution-shisetsu #wrap>header #ss-page-name,
.body--institution-shurui #wrap>header #ss-page-name {
  font-size: 180%;
  text-align: left;
  width: 1200px;
  margin: 20px auto;
  padding: 20px 0 5px 20px;
  border-bottom: 3px solid #e8e02f;
  background-image: url(../img/bg01.png);
  background-size: auto;
  box-sizing: border-box;
}

@media only screen and (max-width: 600px) {
  .map form {
    width: 90%;
  }

  .map h3,
  .map #map--result h2,
  .body--institution-shisetsu #wrap>header #ss-page-name {
    font-size: 120%;
    width: 100%;
    margin: 0 auto 20px;
  }

  .body--institution-shurui #wrap>header #ss-page-name {
    width: 95%;
    font-size: 120%;
    margin: 0 auto;
  }
}

.body--institution-shisetsu #wrap>header #ss-page-name,
.body--institution-shurui #wrap>header #ss-page-name {
  position: absolute;
  top: 95%;
}

@media only screen and (max-width: 600px) {

  .body--institution-shisetsu #wrap>header #ss-page-name,
  .body--institution-shurui #wrap>header #ss-page-name {
    position: absolute;
    top: 110%;
    line-height: 1.2;
  }
}

/*-------------------- 施設の種類 --------------------*/

.body--institution-shurui .cms-nodes {
  width: 1200px;
  flex-direction: column;
  margin: 100px auto 0;
  text-align: left;
  display: flex;
  align-items: flex-start;
}

@media only screen and (max-width: 600px) {
  .body--institution-shurui .cms-nodes {
    width: 95%;
  }
}

.body--institution-shurui .cms-nodes>article {
  padding-bottom: 0.5em;
  border-bottom: 1px solid #333;
  display: inline-block;
  margin: 20px 0;
}

.body--institution-shurui .cms-nodes>article h2 {
  font-size: 100%;
}

.body--institution-shurui .cms-nodes>article:hover {
  border-bottom: 1px solid #fffcf7;
}

.feed {
  padding: 6px 0 3px
}

@media only screen and (max-width: 600px) {
  .feed {
    zoom: 1;
    padding: 0;
    background: #ccc
  }

  .feed:before,
  .feed:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden
  }

  .feed:after {
    clear: both
  }
}

.category-pages article,
.article-pages article,
.cms-pages article,
.cms-group-pages article {
  padding: 15px 0;
  width: 1200px;
}

.category-pages article header,
.article-pages article header,
.cms-pages article header,
.cms-group-pages article header {
  margin: 0;
  display: -webkit-flex;
  display: flex;
}

.category-pages article time,
.article-pages article time,
.cms-pages article time,
.cms-group-pages article time {
  display: -moz-inline-stack;
  display: inline-block;
  min-width: 160px;
  color: #333;
  margin: 0 40px 0 80px;
  text-align: left;
  font-size: 87.5%;
}

.category-pages article h2,
.article-pages article h2,
.cms-pages article h2,
.cms-group-pages article h2 {
  display: inline-block;
  width: 100%;
  text-align: left;
  font-size: 100%;
}

.category-pages article a,
.article-pages article a,
.cms-pages article a,
.cms-group-pages article a {
  border-bottom: 1px solid #333;
}

.category-pages article a:hover,
.article-pages article a:hover,
.cms-pages article a:hover,
.cms-group-pages article a:hover {
  border-bottom: 1px solid #fffcf7;
  cursor: pointer;
}

@media only screen and (max-width: 600px) {

  .category-pages article,
  .article-pages article,
  .cms-pages article,
  .cms-group-pages article {
    width: 90%;
  }

  .category-pages article header,
  .article-pages article header,
  .cms-pages article header,
  .cms-group-pages article header {
    flex-direction: column;
  }

  .category-pages article time,
  .article-pages article time,
  .cms-pages article time,
  .cms-group-pages article time {
    margin: 0;
  }

  .category-pages article a,
  .article-pages article a,
  .cms-pages article a,
  .cms-group-pages article a {
    font-size: 87.5%;
  }

}

.page article h1:not(.firstuse_content_title h1) {
  display: flex;
  justify-content: center;
  flex-direction: row;
  margin: 0;
  align-items: flex-end;
  max-width: 1200px;
}

.page article h1 .h1_icon {
  margin: 0;
}

@media only screen and (max-width: 600px) {
  .page article h1:not(.firstuse_content_title h1) {
    width: 100%;
  }

  .page article h1 .h1_icon {
    max-width: 63%;
    word-break: break-word;
  }
}

.page .category-pages article h2,
.page .article-pages article h2,
.page .cms-pages article h2,
.page .cms-group-pages article h2 {
  display: inline;
  margin: 0 0 0 10px;
  padding: 0;
  border: 0;
  background: none;
  font-size: 100%;
  font-weight: normal
}

.page .category-pages article h2 a,
.page .article-pages article h2 a,
.page .cms-pages article h2 a,
.page .cms-group-pages article h2 a {
  padding: 0;
  background: none
}

.page header.released,
.one header.released {
  margin-bottom: 12px;
  text-align: right
}

.page article.body,
.one article.body,
.page .related-pages,
.page footer.contact,
.map-page,
body[class*="body--institution-shisetsu-"] article.body {
  width: 1200px;
  clear: both;
  margin-bottom: 100px;
  text-align: left;
}

@media only screen and (max-width: 600px) {

  .page article.body,
  .one article.body,
  .page .related-pages,
  .page footer.contact,
  .map-page,
  body[class*="body--institution-shisetsu-"] article.body {
    width: 100%;
    margin-bottom: 50px;
  }
}

.page article.body h1:not(.firstuse_content_title h1),
.one article.body article h1,
.page .related-pages article h1,
.page footer.contact article h1,
.map-page article h1,
body[class*="body--institution-shisetsu-"] article.body article h1 {
  margin: 60px 0;
  font-size: 180%;
  text-align: center;
}

@media only screen and (max-width: 600px) {

  .page article.body h1:not(.firstuse_content_title h1),
  .one article.body article h1,
  .page .related-pages article h1,
  .page footer.contact article h1,
  .map-page article h1,
  body[class*="body--institution-shisetsu-"] article.body article h1 {
    word-break: break-word;
    font-size: 110%;
    margin: 60px 0 15px;
  }
}


.page article h1:not(.firstuse_content_title h1)::before,
.one article.body article h1::before,
.page .related-pages article h1::before,
.page footer.contact article h1::before,
.map-page article h1::before,
body[class*="body--institution-shisetsu-"] article.body article h1::before {
  content: url(../img/ic_st03.png);
  vertical-align: middle;
  margin-right: 20px;
}

.page article h1:not(.firstuse_content_title h1)::after,
.one article.body article h1::after,
.page .related-pages article h1::after,
.page footer.contact article h1::after,
.map-page article h1::after,
body[class*="body--institution-shisetsu-"] article.body article h1::after {
  content: url(../img/ic_st04.png);
  vertical-align: middle;
  margin-left: 20px;
}

@media only screen and (max-width: 600px) {

  .page article h1:not(.firstuse_content_title h1)::before,
  .one article.body article h1::before,
  .page .related-pages article h1::before,
  .page footer.contact article h1::before,
  .map-page article h1::before,
  body[class*="body--institution-shisetsu-"] article.body article h1::before {
    content: "";
    display: inline-block;
    width: 35px !important;
    height: 47px !important;
    background-image: url(../img/ic_st03.png);
    background-repeat: no-repeat;
    background-size: contain;
  }

  .page article h1:not(.firstuse_content_title h1)::after,
  .one article.body article h1::after,
  .page .related-pages article h1::after,
  .page footer.contact article h1::after,
  .map-page article h1::after,
  body[class*="body--institution-shisetsu-"] article.body article h1::after {
    content: "";
    display: inline-block;
    width: 35px !important;
    height: 47px !important;
    background-image: url(../img/ic_st04.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
}

.page article h2,
.one article.body h2,
.page .related-pages article h2,
.page footer.contact article h2,
.map-page article h2,
body[class*="body--institution-shisetsu-"] article.body article h2 {
  margin: 60px 0 30px;
  text-align: left;
  font-size: 170%;
  padding: 20px 20px 5px 20px;
  border-bottom: 3px solid #e8e02f;
  background-image: url(../img/bg01.png);
  background-size: auto;
  box-sizing: border-box;
}

@media only screen and (max-width: 600px) {

  .page article h2,
  .one article.body h2,
  .page .related-pages article h2,
  .page footer.contact article h2,
  .map-page article h2,
  body[class*="body--institution-shisetsu-"] article.body article h2 {
    margin: 40px 0 15px;
    font-size: 120%;
  }
}

.page article h3,
.one article.body h3,
.page .related-pages h3,
.page footer.contact h3,
.map-page h3,
body[class*="body--institution-shisetsu-"] article.body h3 {
  font-weight: bold;
  font-size: 140%;
  text-align: left;
  width: 95%;
  margin: 60px 0 30px;
  padding: 10px 0 5px;
  border-bottom: 3px solid #e8e02f;
  box-sizing: border-box;
}

@media only screen and (max-width: 600px) {

  .page article h3,
  .one article.body h3,
  .page .related-pages h3,
  .page footer.contact h3,
  .map-page h3,
  body[class*="body--institution-shisetsu-"] article.body h3 {
    margin: 40px 0 15px;
    font-size: 110%;
  }
}

.page article h4,
.one article.body h4,
.page .related-pages h4,
.page footer.contact h4,
.map-page h4,
body[class*="body--institution-shisetsu-"] article.body h4 {
  margin: 60px 0 30px;
  padding: 0 10px;
  border-left: 5px solid #BFE4EF;
  color: #333;
  font-weight: bold
}

@media only screen and (max-width: 600px) {

  .page article h4,
  .one article.body h4,
  .page .related-pages h4,
  .page footer.contact h4,
  .map-page h4,
  body[class*="body--institution-shisetsu-"] article.body h4 {
    margin: 40px 0 15px;
  }
}

.page article h5,
.one article.body h5,
.page .related-pages h5,
.page footer.contact h5,
.map-page h5,
body[class*="body--institution-shisetsu-"] article.body h5 {
  color: #e8e02f;
  font-weight: bold
}

.page article h6,
.one article.body h6,
.page .related-pages h6,
.page footer.contact h6,
.map-page h6,
body[class*="body--institution-shisetsu-"] article.body h6 {
  font-weight: bold
}

.page article p,
.one article.body p,
.page .related-pages p,
.page footer.contact p,
.map-page p,
body[class*="body--institution-shisetsu-"] article.body p {
  letter-spacing: 0.1em;
  text-align: left;
  width: auto;
  margin: 30px auto;
}

.page article p:has(+ a) {
  margin-bottom: 0;
}

.page article ul,
.one article.body ul,
.page .related-pages ul,
.page footer.contact ul,
.map-page ul,
body[class*="body--institution-shisetsu-"] article.body ul {
  list-style: none;
  margin: 30px 0;
  width: auto;
  margin: 30px auto;
}

.page article ul li,
.one article.body ul li,
.page .related-pages ul li,
.page footer.contact ul li,
.map-page ul li,
body[class*="body--institution-shisetsu-"] article.body ul li {
  margin: 1em 0;
  text-align: left;
}

.page article ul li::before,
.one article.body ul li::before,
.page .related-pages ul li::before,
.page footer.contact ul li::before,
.map-page ul li::before,
.body--docs .page article ul li::before,
body[class*="body--institution-shisetsu-"] article.body ul li {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  background-color: #ecaea1;
  font-size: 100%;
  vertical-align: middle;
  margin-right: 1em;
}

.page article ul li:has(a):before {
  top: 25%;
}

#body--index ol,
.page article ol,
.one article.body ol,
.page .related-pages ol,
.page footer.contact ol,
.map-page ol,
body[class*="body--institution-shisetsu-"] article.body ol {
  list-style: none;
  counter-reset: li;
  list-style-position: outside;
  width: auto;
  margin: 1em 0;
}

#body--index ol {
  margin: 60px;
}

@media only screen and (max-width: 600px) {
  #body--index ol{
    margin: 5%;
  }
}

.page article ol li,
.one article.body ol li,
.page .related-pages ol li,
.page footer.contact ol li,
.map-page ol li,
body[class*="body--institution-shisetsu-"] article.body ul li {
  margin: 1em 0;
  text-align: left;
}

#body--index ol li {
  margin: 35px 0;
  text-align: left;
}

#body--index ol li::before,
.page article ol li::before,
.one article.body ol li::before,
.page .related-pages ol li::before,
.page footer.contact ol li::before,
.map-page ol li::before,
body[class*="body--institution-shisetsu-"] article.body ul li {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  background-color: #ecaea1;
  font-size: 100%;
  vertical-align: middle;
  margin-right: 1em;
  counter-increment: li;
  content: counter(li);
  text-align: center;
}

.page article dl,
.page article fieldset,
.one article.body dl,
.one article.body fieldset,
.page .related-pages dl,
.page .related-pages fieldset,
.page footer.contact dl,
.page footer.contact fieldset,
.map-page dl,
.map-page fieldset,
body[class*="body--institution-shisetsu-"] article.body dl,
body[class*="body--institution-shisetsu-"] article.body fieldset {
  margin-bottom: 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid #ccc;
  width: 95%;
  margin: 30px auto;
}

.page article dl dt,
.page article dl legend,
.page article fieldset dt,
.page article fieldset legend,
.one article.body dl dt,
.one article.body dl legend,
.one article.body fieldset dt,
.one article.body fieldset legend,
.page .related-pages dl dt,
.page .related-pages dl legend,
.page .related-pages fieldset dt,
.page .related-pages fieldset legend,
.page footer.contact dl dt,
.page footer.contact dl legend,
.page footer.contact fieldset dt,
.page footer.contact fieldset legend,
.map-page dl dt,
.map-page dl legend,
.map-page fieldset dt,
.map-page fieldset legend,
body[class*="body--institution-shisetsu-"] article.body dl dt,
body[class*="body--institution-shisetsu-"] article.body dl legend,
body[class*="body--institution-shisetsu-"] article.body fieldset dt,
body[class*="body--institution-shisetsu-"] article.body fieldset legend {
  float: left;
  min-width: 15%;
  font-weight: bold;
  width: 95%;
  margin: 30px auto;
}

.page article table,
.one article.body table,
.page .related-pages table,
.page footer.contact table,
.map-page table,
body[class*="body--institution-shisetsu-"] article.body table {
  width: 95%;
  margin: 50px auto 30px;
}

.page article table caption,
.one article.body table caption,
.page .related-pages table caption,
.page footer.contact table caption,
.map-page table caption,
body[class*="body--institution-shisetsu-"] article.body table caption {
  padding: 0 20px;
  text-align: center;
  font-size: 120%;
  font-weight: bold;
}

@media only screen and (max-width: 600px) {

  .page article table caption,
  .one article.body table caption,
  .page .related-pages table caption,
  .page footer.contact table caption,
  .map-page table caption,
  body[class*="body--institution-shisetsu-"] article.body table caption {
    font-size: 90%;
  }
}

.page article table th,
.one article.body table th,
.page .related-pages table th,
.page footer.contact table th,
.map-page table th,
body[class*="body--institution-shisetsu-"] article.body table th {
  padding: 2em;
  border: 1px solid #bcbcbc;
  text-align: center;
  vertical-align: middle;
  background: #EEEFEE;
}

.page article table td,
.one article.body table td,
.page .related-pages table td,
.page footer.contact table td,
.map-page table td,
body[class*="body--institution-shisetsu-"] article.body table td {
  padding: 2em;
  border: 1px solid #bcbcbc;
  text-align: left;
}

.page article table td.text_center {
  text-align: center;
}

@media only screen and (max-width: 600px) {

  .page article table,
  .one article.body table,
  .page .related-pages table,
  .page footer.contact table,
  .map-page table,
  body[class*="body--institution-shisetsu-"] article.body table {
    margin: 30px auto;
  }

  .page article table th,
  .one article.body table th,
  .page .related-pages table th,
  .page footer.contact table th,
  .map-page table th,
  body[class*="body--institution-shisetsu-"] article.body table th,
  .page article table td,
  .one article.body table td,
  .page .related-pages table td,
  .page footer.contact table td,
  .map-page table td,
  body[class*="body--institution-shisetsu-"] article.body table td {
    padding: 10px;
  }

  .page article table td,
  .page article table td a {
    line-height: 1.5;
  }
}

#body--index ol li  a,
.page article a,
.one article.body a,
.page .related-pages a,
.page footer.contact a,
.map-page a,
body[class*="body--institution-shisetsu-"] article.body table {
  border-bottom: 1px solid #333;
}

#body--index ol li a:hover,
.page article a:hover,
.one article.body a:hover,
.page .related-pages a:hover,
.page footer.contact a:hover,
.map-page a:hover,
body[class*="body--institution-shisetsu-"] article.body table {
  border-bottom: 1px solid transparent;
}

.page article.body video,
.page article.body p img,
.page article.body iframe,
.one article.body video,
.one article.body p img,
.one article.body iframe,
.page .related-pages video,
.page .related-pages p img,
.page .related-pages iframe,
.page footer.contact video,
.page footer.contact p img,
.page footer.contact iframe,
.map-page video,
.map-page p img,
.map-page iframe,
body[class*="body--institution-shisetsu-"] article.body video,
body[class*="body--institution-shisetsu-"] article.body p img,
body[class*="body--institution-shisetsu-"] article.body iframe {
  width: calc(100% - 10px);
  margin: 0 10px 10px 0;
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
}

.page article .float-left,
.page article .ss-alignment-left,
.one article.body .float-left,
.one article.body .ss-alignment-left,
.page .related-pages .float-left,
.page .related-pages .ss-alignment-left,
.page footer.contact .float-left,
.page footer.contact .ss-alignment-left,
.map-page .float-left,
.map-page .ss-alignment-left,
body[class*="body--institution-shisetsu-"] article.body .float-left,
body[class*="body--institution-shisetsu-"] article.body .ss-alignment-left {
  float: left;
  margin: 0 30px 100px 0;
}

@media only screen and (max-width: 600px) {

  .page article .float-left,
  .page article .ss-alignment-left,
  .one article.body .float-left,
  .one article.body .ss-alignment-left,
  .page .related-pages .float-left,
  .page .related-pages .ss-alignment-left,
  .page footer.contact .float-left,
  .page footer.contact .ss-alignment-left,
  .map-page .float-left,
  .map-page .ss-alignment-left,
  body[class*="body--institution-shisetsu-"] article.body .float-left,
  body[class*="body--institution-shisetsu-"] article.body .ss-alignment-left {
    margin: 0;
    float: none
  }
}

.page article .float-right,
.page article .ss-alignment-right,
.one article.body .float-right,
.one article.body .ss-alignment-right,
.page .related-pages .float-right,
.page .related-pages .ss-alignment-right,
.page footer.contact .float-right,
.page footer.contact .ss-alignment-right,
.map-page .float-right,
.map-page .ss-alignment-right,
body[class*="body--institution-shisetsu-"] article.body .float-right,
body[class*="body--institution-shisetsu-"] article.body .ss-alignment-right {
  float: right;
  margin: 0 0 12px 12px
}

@media only screen and (max-width: 600px) {

  .page article .float-right,
  .page article .ss-alignment-right,
  .one article.body .float-right,
  .one article.body .ss-alignment-right,
  .page .related-pages .float-right,
  .page .related-pages .ss-alignment-right,
  .page footer.contact .float-right,
  .page footer.contact .ss-alignment-right,
  .map-page .float-right,
  .map-page .ss-alignment-right,
  body[class*="body--institution-shisetsu-"] article.body .float-right,
  body[class*="body--institution-shisetsu-"] article.body .ss-alignment-right {
    margin: 0;
    float: none
  }
}

.page article .clear,
.page article .ss-alignment-center,
.one article.body .clear,
.one article.body .ss-alignment-center,
.page .related-pages .clear,
.page .related-pages .ss-alignment-center,
.page footer.contact .clear,
.page footer.contact .ss-alignment-center,
.map-page .clear,
.map-page .ss-alignment-center,
body[class*="body--institution-shisetsu-"] article.body .clear,
body[class*="body--institution-shisetsu-"] article.body .ss-alignment-center {
  clear: both
}

.page article .two-photo,
.one article.body .two-photo,
.page .related-pages .two-photo,
.page footer.contact .two-photo,
.map-page .two-photo,
body[class*="body--institution-shisetsu-"] article.body .two-photo {
  display: -webkit-flex;
  display: flex;
  margin: 0 -6px 12px
}

.page article .two-photo li,
.one article.body .two-photo li,
.page .related-pages .two-photo li,
.page footer.contact .two-photo li,
.map-page .two-photo li,
body[class*="body--institution-shisetsu-"] article.body .two-photo li {
  margin: 0 6px;
  padding: 0;
  background: none
}

.page article .two-photo img,
.one article.body .two-photo img,
.page .related-pages .two-photo img,
.page footer.contact .two-photo img,
.map-page .two-photo img,
body[class*="body--institution-shisetsu-"] article.body .two-photo img {
  max-width: 100%;
  height: auto
}

.page footer.contact .group {
  margin-bottom: 0;
  font-weight: bold
}

.page footer.contact dl {
  display: inline-block;
  border: 0;
  margin: 0 12px 0 0;
  padding: 0
}

.page footer.contact dl dt,
.page footer.contact dl dd {
  float: none;
  display: inline;
  font-weight: normal
}

.ss-adobe-reader {
  clear: both;
  width: 1200px;
  margin: 24px auto;
  padding: 25px 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

@media only screen and (max-width: 600px) {
  .ss-adobe-reader {
    width: 90%;
    margin: 15px auto;
    padding: 15px 0;
  }

  .ss-adobe-reader div {
    width: 90%;
  }
}

.page .related-pages,
footer.contact {
  margin-bottom: 24px
}

#wrap .one {
  width: 90%
}


.content-box .content-body.search {
  border: 0;
  padding: 0
}

.content-box .content-body.search form {
  padding: 10px;
  border: 1px solid #cdcdcd;
  margin-bottom: 24px
}

.content-box .content-body.search footer.send a {
  vertical-align: middle
}

.map form legend,
#colorbox legend {
  display: none;
}

.map form h2 {
  margin: 80px 0 30px;
  text-align: left;
  font-size: 180%;
}

.map form h2::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 44px;
  padding-right: 10px;
  background-image: url(../img/ic_st02.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.map .cms-nodes h2 {
  margin: 0;
  border: 0
}

.map .keyword input {
  width: 90%;
  height: 4em;
  padding-left: 2em;
}

.map .category,
.map .service {
  zoom: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 50px 30px;
}

.map .keyword div,
.map .category div,
.map .service div {
  float: left;
  width: calc(100% / 4);
  height: 3em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
}

.map .category_all,
.map .service_all,
.map .location_all {
  text-align: left;
  width: 100%;
}

input[type=checkbox] {
  transform: scale(2);
  accent-color: #333;
  box-sizing: border-box;
}

.map .location input[type=checkbox] {
  position: absolute;
  left: 20px;
}


.map label {
  margin: 0;
  padding-left: 1em;
  text-align: left;
  box-sizing: border-box;
  line-height: 1.3;
}

.map .category label,
.map .service label {
  width: 90%;
}

.map .location label {
  position: absolute;
  left: 55px;
  padding: 0;
}

@media only screen and (max-width: 600px) {

  .map form h2 {
    margin: 30px auto 10px;
    font-size: 110%;
  }

  .map form h2::before {
    width: 22px;
    height: 30px;
  }

  .map .category div,
  .map .service div {
    width: 100%;
    margin: 10px 0 0;
  }

  .map .category .category_all,
  .map .service .service_all {
    margin: 10px 0 0 1em;
  }

  .map label {
    left: 4em;
    padding-top: 3px;
  }
}


/*---------- 保育所のある区の位置指定 ---------*/

.map form .location {
  background-image: url(../img/map.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin: 0;
  height: 730px;
  position: relative;
}


.map .location div {
  display: flex;
  align-items: center;
  width: 130px;
  height: 3em;
  position: absolute;
  margin: 10px 0;
}

.map .location .location_all {
  width: 200px;
  top: -70px;
  left: 10px;
}

.map .location .location_all label {
  left: 65px;
}

/*---------- 左側 ----------*/
.map .location .kita {
  top: 10px;
  left: 10px;
}

.map .location .nishi {
  top: 87px;
  left: 10px;
}

.map .location .higashii {
  top: 155px;
  left: 10px;
}

.map .location .nakamura {
  top: 226px;
  left: 10px;
}

.map .location .naka {
  top: 301px;
  left: 10px;
}

.map .location .nakagawa {
  top: 367px;
  left: 10px;
}

.map .location .atsuta {
  top: 439px;
  left: 10px;
}

.map .location .minato {
  top: 505px;
  left: 10px;
}

/*---------- 右側 ----------*/
.map .location .moriyama {
  top: 5px;
  right: -10px;
}

.map .location .chikusa {
  top: 72px;
  right: -10px;
}

.map .location .meitou {
  top: 142px;
  right: -10px;
}

.map .location .showa {
  top: 209px;
  right: -10px;
}

.map .location .mizuho {
  top: 273px;
  right: -10px;
}

.map .location .tenpaku {
  top: 340px;
  right: -10px;
}

.map .location .minami {
  top: 408px;
  right: -10px;
}

.map .location .midori {
  top: 469px;
  right: -10px;
}

@media only screen and (max-width: 600px) {
  .map form .location {
    background-image: url(../img/map_sp.png);
    background-repeat: no-repeat;
    background-position: top;
    background-size: 300px;
  }


  .map .location .location_all {
    width: 200px;
    top: 370px;
    left: 1em;
  }

  /*---------- 左側 ----------*/
  .map .location .kita {
    top: 330px;
    left: 0;
  }

  .map .location .nishi {
    top: 380px;
    left: 0;
  }

  .map .location .higashii {
    top: 430px;
    left: 0;
  }

  .map .location .nakamura {
    top: 480px;
    left: 0;
  }

  .map .location .naka {
    top: 530px;
    left: 0;
  }

  .map .location .nakagawa {
    top: 580px;
    left: 0;
  }

  .map .location .atsuta {
    top: 630px;
    left: 0;
  }

  .map .location .minato {
    top: 680px;
    left: 0;
  }

  /*---------- 右側 ----------*/
  .map .location .moriyama {
    top: 330px;
    left: 50%;
  }

  .map .location .chikusa {
    top: 380px;
    left: 50%;
  }

  .map .location .meitou {
    top: 430px;
    left: 50%;
  }

  .map .location .showa {
    top: 480px;
    left: 50%;
  }

  .map .location .mizuho {
    top: 530px;
    left: 50%;
  }

  .map .location .tenpaku {
    top: 580px;
    left: 50%;
  }

  .map .location .minami {
    top: 630px;
    left: 50%;
  }

  .map .location .midori {
    top: 680px;
    left: 50%;
  }


}

/*---------- 保育所のある区の位置指定  ここまで---------*/

#colorbox #hoikusearch--message {
  width: 90%;
  margin-bottom: 30px;
}


.map .send,
#colorbox .send {
  text-align: center;
  margin: 150px 0 50px;
  display: flex;
  justify-content: center;
  gap: 30px;
  position: relative;
}

.map .send input[type="reset"],
#colorbox .reset {
  order: -1;
}

@media only screen and (max-width: 600px) {

  #colorbox #hoikusearch--message {
    margin-bottom: 15px;
  }

  .map #colorbox {
    font-size: 60%;
  }

  .map .keyword div.keyword,
  .map .keyword div.category,
  .map .keyword div.service,
  .map .keyword div.location,
  .map .category div.keyword,
  .map .category div.category,
  .map .category div.service,
  .map .category div.location,
  .map .service div.keyword,
  .map .service div.category,
  .map .service div.service,
  .map .service div.location,
  .map .location div.keyword,
  .map .location div.category,
  .map .location div.service,
  .map .location div.location {
    padding: 0 10px;
    box-sizing: border-box
  }

  .map .send {
    flex-direction: column;
    max-width: 250px;
    margin: 50px auto 0;
  }

  .map .send input {
    font-weight: bold;
  }
}

.map .condition {
  zoom: 1
}

.map .settings {
  position: absolute;
  top: 0;
  right: 0;
}

.map .condition {
  margin-bottom: 30px;
}

@media only screen and (max-width: 600px) {
  .map .settings {
    display: contents;
    margin-top: 20px;
  }
}

.map .condition:before,
.map .condition:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

.map .condition:after {
  clear: both
}

.map .condition dt {
  clear: both;
  width: 160px;
  display: inline;
  float: left;
  text-align: left;
  font-weight: bold;
  font-size: 100%;
}

.map .condition dd {
  display: inline;
  float: left;
  margin-bottom: 6px;
  padding: 3px 0
}

.map .settings:before,
.map .settings:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

.map .settings:after {
  clear: both
}

.map .result {
  display: block;
  padding: 0;
}

.map .result h2,
.body--institution-shisetsu .map-page>header h2,
.map .facility-nodes caption,
.map #hoikusearch--content>h2 {
  border: 0;
  font-size: 100%;
  margin: 50px 0 10px 0;
  text-align: left;
  padding-left: 35px;
  background-image: url(../img/ic_st01.png);
  background-repeat: no-repeat;
  background-position: left;
  background-size: contain;
}

.map .map-page {
  padding-top: 0;
}

.map .result h2 .number {
  font-size: 120%;
}

.map .settings {
  padding: 0 10px
}

.map #map-sidebar {
  width: 100%;
  height: 300px !important;
  overflow-y: scroll
}

.map #map-canvas {
  width: 100% !important;
  height: 300px !important
}

.map .columns .column {
  padding: 10px
}

.map .body {
  float: none;
  width: 100%
}

.map .summary-image {
  display: block;
  float: none;
  margin: 50px auto;
}

.map .see {
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}

.map .see dd a,
.ss-adobe-reader a {
  border-bottom: 1px solid #333;
}

.map dl.see.body dd a:not([href^="http"]) {
  pointer-events: none;
  border-style: none;
}

.map dl.see.body dd:has(a[href^="http"])::after,
.ss-adobe-reader::after,
.body--docs .page p:has(.icon-pdf)::after,
article.body a:not([href^="https://kodomokosodate."], [href^="/"], .btn)::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url(../img/external.png);
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0px 0 -3px 15px;
}

article.body a:not([href^="https://kodomokosodate."], [href^="/"], [href^="tel"])::after {
  margin: 0px 10px -3px;
}

article.body>a {
  text-align: left;
}

.map .tabs {
  zoom: 1;
  border-bottom: 3px solid #e8e02f;
  padding: 0 10px
}

.map .tabs:before,
.map .tabs:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

.map .tabs:after {
  clear: both
}

.map .tabs ul {
  zoom: 1;
  display: flex;
  justify-content: flex-start;
}

.map .tabs ul:before,
.map .tabs ul:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

.map .tabs ul:after {
  clear: both
}

.map .tabs ul li {
  border-radius: 10px 10px 0 0;
  text-align: center;
  cursor: pointer;
  font-weight: bold;
  display: inline-block;
  width: calc(100% / 5);
  min-width: 100px;
  margin: 0 1px;
  color: #333;
  background-color: #ccc;
}

.map .tabs ul .current {
  background-color: #e8e02f;
}

.map .tabs ul li a {
  display: inline-block;
  padding: 1em;
  width: 100%;
  box-sizing: border-box;
}

@media only screen and (max-width: 600px) {

  .map .tabs {
    padding: 0;
  }

  .map .tabs ul li {
    width: calc(100% / 2);
  }
}

.map #map--tubmenu {
  display: flex;
  gap: 20px;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}

@media only screen and (max-width: 600px) {
  .map #map--tubmenu {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
}

.map #map-sidebar {
  height: 500px !important;
  padding: 20px;
  text-align: left;
  border: 1px solid #ccc;
  overflow-y: scroll;
  margin-top: 20px;
  background-color: #fff;
  width: 300px;
  box-sizing: border-box;
}

.map #map-sidebar .column {
  margin: 20px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
  position: relative;
}


.map #map-sidebar .column .form-name {
  line-height: 1.8em;
  position: absolute;
  left: 0;
  top: 0;
}

.map #map-sidebar .column .name {
  display: inline-block;
  margin: 0;
  padding-left: 2.2em;
  line-height: 2.2;
}

.map #map-sidebar .column .address {
  margin-top: 5px;
  font-weight: normal;
}

.map #map-sidebar .column p .click-marker {
  display: block;
  background: #f1f1f1;
  margin: 15px auto 10px;
  padding: 5px 20px;
  background-image: url(../img/map-pin.png);
  background-repeat: no-repeat;
  background-position: 95% center;
  background-size: 10%;
  border-radius: 10px;
}

@media only screen and (max-width: 600px) {
  .map #map-sidebar .column .name {
    padding-left: 3em;
    line-height: 1.85;
  }

  .map #map-sidebar .column .form-name {
    top: -2px;
  }

  .map #map-sidebar .column .address {
    margin: 15px 15px 15px 3em;
  }

  .map #map-sidebar .column p .click-marker {
    width: 220px;
    margin: 15px auto;
    padding: 0.7em 1.2em;
    box-sizing: border-box;
  }
}

.map #map-sidebar .column:first-child {
  margin: 0;
}

.map #map-sidebar .column:last-child {
  margin-bottom: 0;
  border-bottom: 0
}

.map #map-sidebar .column .form-name img {
  width: 1.5em;
  line-height: 1.8em;
  position: absolute;
  left: 0;
  top: 0;
}

.map #map-canvas {
  width: 880px !important;
  height: 500px !important;
  box-sizing: border-box;
  margin-top: 20px;
}

.map #map-canvas .marker-info {
  width: 80%;
}

@media only screen and (max-width: 600px) {

  .map #map-sidebar {
    width: 100% !important;
    height: 450px !important;
    order: 4;
    margin: 0;
  }

  .map #map-sidebar .column .form-name img {
    width: 2em;
  }

  .map #map-canvas {
    width: 100% !important;
    height: 400px !important;
    margin: 0;
    order: 3;
  }

  .map #map-sidebar .column p a {
    font-size: 110%;
  }

  .map #map-sidebar .column>a {
    font-size: 87.5%;
    padding: 5px 2em;
    width: 250px;
    margin: 15px auto 10px;
    background-size: 6%;
  }
}

.map .columns .column {
  clear: both;
  padding: 6px 0;
  border-bottom: 1px solid #bcbcbc;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 200px 350px 1fr;
  line-height: 2em;
}

.map .columns .column header {
  grid-row: 1;
  grid-column: 2;
  margin: 0 0 auto 0;
  padding: 20px 0;
}

.map .columns .column header h2 {
  margin: 0 10px;
  background: none;
  text-align: left;
  font-size: 100%;
  font-weight: bold;
}

.map #map-sidebar .column .name a,
.map .columns .column header h2 a {
  border-bottom: 1px solid #333;
}

.map .columns .column header h2 a:hover {
  border-style: none;
}

@media only screen and (max-width: 600px) {
  .map .columns .column header {
    padding: 10px;
  }
}

.map .columns .column .categories {
  text-align: center;
  width: 200px;
  grid-row: 1;
  grid-column: 1;
  margin: 0 0 auto 0;
  padding: 20px 0;
  border: 0;
}

.map .columns .column .categories ul {
  zoom: 1;
  margin: 0;
}

.map .columns .column .categories ul:before,
.map .columns .column .categories ul:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

.map .columns .column .categories ul:after {
  clear: both
}

.map .columns .column .categories li {
  list-style: none;
}

.map .columns .column .categories li a {
  display: block;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  border-radius: 5px;
  margin: 0px 20px;
  padding: 0;
}

.map .columns .column .address {
  text-align: left;
  grid-row: 1;
  grid-column: 3;
  margin: 0 0 auto 0;
  padding: 25px 0;
  font-weight: normal;
}

@media only screen and (max-width: 600px) {
  .map .columns .column {
    display: flex;
    flex-direction: column;
    width: 100%
  }

  .map .columns .column .categories {
    order: 1;
    width: 150px;
    padding: 10px 0 0 0;
    margin: 0;
  }

  .map .columns .column .categories li a {
    margin: 0;

  }

  .map .columns .column header {
    order: 2;
    ;
  }

  .map .columns .column header h2 {
    margin: 0;
  }

  .map .columns .column .address {
    order: 3;
    padding: 0 0 10px 0;
  }

}

.map .summary-image {
  display: inline-block;
  margin: 50px auto;
}

.body--institution-shisetsu .map #hoikusearch--content {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
}

.body--institution-shisetsu .map article {
  order: -1;
  display: flex;
  align-items: baseline;
  gap: 10px 20px;
  padding: 10px 0;
  border-bottom: 1px solid #dcdcdc;
  margin: 0;
}

.body--institution-shisetsu .map article header {
  display: flex;
  align-items: baseline;
  gap: 10px 20px;
  text-align: left;
  margin: 0 0 0 1em;
  width: 100%;
  box-sizing: border-box;
}

.body--institution-shisetsu .map article header time {
  width: 17%;
  margin: 0;
}

.body--institution-shisetsu .map article header h2 {
  font-size: 100%;
}

.body--institution-shisetsu .map article header a {
  border-bottom: 1px solid #333;
}

.body--institution-shisetsu .map article header a:hover {
  border-bottom: 1px solid #fffcf7;
}

@media only screen and (max-width: 600px) {
  .body--institution-shisetsu .map article header {
    flex-direction: column;
    margin: 0;
    gap: 0;
  }

  .body--institution-shisetsu .map article header time {
    width: 100%;
    font-weight: normal;
  }
}

.map .see:after {
  clear: both
}

.map .see {
  display: flex;
  flex-wrap: wrap;
  border: 1px solod #dadada;
}

.map .see.body {
  margin-top: 70px;
}

.map .see,
.map .see dt,
.map .see dd {
  box-sizing: border-box;
}

.map .see dt,
.map .see dd {
  float: none;
  display: block;
  width: 100%;
  padding: 1em;
  margin: 0 0 10px 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  word-wrap: break-word;
}

.map .see dt {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  background: #eee;
  text-align: left;
  vertical-align: middle;
  width: 20%
}

.map .see dd {
  text-align: left;
  width: 79%;
  margin-left: 1%;
}

@media only screen and (max-width: 600px) {

  .map .see dt,
  .map .see dd {
    padding: 1em 0.5em;
    font-size: 87.5%;
  }

  .map .see dt {
    width: 30%;
    min-width: 115px;
  }

  .map .see dd {
    width: 69%;
    max-width: calc(99% - 115px);
    word-break: break-all;
  }
}

.map #hoikusearch--content .map_information {
  order: -2;
}

.map #hoikusearch--content .map_information:has(a) {
  order: 0;
}

.map .see+p {
  border: 1px solid #ccc;
  padding: 4px
}

.map .images {
  margin: 0;
}


.map .images:before,
.map .images:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}

.map .images:after {
  clear: both
}

.map .images .image {
  display: inline;
  float: left;
  margin: 0 10px 10px 0;
}

.map .images .image:nth-child(4n) {
  margin-right: 0
}

.map .facility-nodes {
  width: 100%;
  margin-bottom: 12px;
  text-align: left;

}

.map .facility-nodes caption {
  text-align: left;
  margin-bottom: 10px;
}

.map .facility-nodes table {
  width: 100%;
}

.map .facility-nodes {
  width: 100%;
}

.map .facility-nodes table,
.map .facility-nodes th,
.map .facility-nodes td {
  border-collapse: collapse;
  background: none;
}

.map .facility-nodes th,
.map .facility-nodes td {
  display: table-cell;
  border: 0;
  vertical-align: top;
  padding: 18px 2em 6px;
  border: 1px solid #bcbcbc;
  box-sizing: border-box;
}

.map .facility-nodes th {
  text-align: center;
}

.map .facility-nodes tr {
  border-bottom: 1px solid #ccc
}

.map .facility-nodes th:nth-child(1),
.map .facility-nodes td:nth-child(1) {
  width: 30%;
}

.map .facility-nodes th:nth-child(2),
.map .facility-nodes td:nth-child(2) {
  width: 50%;
}

.map .facility-nodes th:nth-child(3),
.map .facility-nodes td:nth-child(3) {
  width: 18%;
}


.map .facility-nodes .facility-page-address,
.map .facility-nodes .facility-page-tel {
  font-weight: normal;
}

.map .facility-nodes .facility-page-name a {
  border-bottom: 1px solid #333;
}

.map .facility-nodes .facility-page-name a:hover {
  border-style: none;
}

@media only screen and (max-width: 600px) {

  .map .facility-nodes th,
  .map .facility-nodes td {
    padding: 0.5em;
  }

  .map .facility-nodes th:nth-child(2),
  .map .facility-nodes td:nth-child(2) {
    width: 40%;
  }

  .map .facility-nodes th:nth-child(3),
  .map .facility-nodes td:nth-child(3) {
    width: 27%;
  }
}


/*-------------------- 施設詳細ページ --------------------*/

.body--institution-shisetsu #wrap>header {
  margin-bottom: 60px;
}

.body--institution-shisetsu #map--tubmenu {
  display: block;
}

.body--institution-shisetsu #map-canvas {
  padding: 0;
  width: 100% !important;
}

/*---------- test js を非表示 ----------*/

#buttontest,
.debug_dump {
  display: none;
}

/*---------- 検索結果のポップアップメニュー ----------*/

#colorbox .hoikusearch--message {
  width: 85%;
}

#colorbox .send {
  clear: both;
  margin: 50px auto;
  max-width: 800px;
}

@media only screen and (max-width: 600px) {
  #colorbox .send {
    flex-direction: column;
    max-width: 250px;
    margin: 50px auto 0;
  }
}

#colorbox .send input {
  margin-bottom: 10px
}

#colorbox #cboxLoadedContent {
  width: 100%;
}

#colorbox .keyword input {
  width: 80%;
  height: 4em;
  padding-left: 2em;
  margin: 10px 0 40px;
}

#colorbox h2 {
  text-align: left;
  margin: 0 auto 20px;
  box-sizing: border-box;
  font-size: 150%;
  width: 85%;
}

#colorbox h2::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 44px;
  padding-right: 10px;
  background-image: url(../img/ic_st02.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

#colorbox h3 {
  clear: both;
  display: block;
  text-align: left;
  font-size: 130%;
  padding-left: 1em;
  border-bottom: 3px solid #e8e02f;
  box-sizing: border-box;
  width: 85%;
  margin: 0 auto;
}

#colorbox .category,
#colorbox .service,
#colorbox .location {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 85%;
  height: 150px;
  margin: 20px auto 30px;
  text-align: left;
}


#colorbox .category div,
#colorbox .service div,
#colorbox .location div {
  display: inline-block;
  float: left;
  height: 2em;
  position: relative;
  margin: 10px 0;
}

#colorbox .category div,
#colorbox .service div {
  width: calc(100% / 4);
  min-width: 210px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#colorbox fieldset .location div {
  width: calc(100% / 6);
  word-break: keep-all;
  min-width: 140px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#colorbox label {
  padding-left: 0.5em;
  margin: 0;
  line-height: 1.4;
}

/* ポップアップメニュー */
#colorbox .category_all,
#colorbox .service_all,
#colorbox .location_all {
  text-align: left;
  width: 85%;
}

#colorbox .category_all,
#colorbox .service_all {
  margin: 30px auto 10px;
}

#colorbox .location_all {
  margin: 30px auto 0;
}

@media only screen and (max-width: 600px) {

  #colorbox .category_all,
  #colorbox .service_all,
  #colorbox .location_all {
    margin: 10px 0 10px 25px;
    display: flex;
  }

  input[type=checkbox] {
    left: 10px;
    transform: scale(1.5);
  }

  #colorbox h2 {
    margin: 10px auto;
    font-size: 110%;
  }

  #colorbox h2::before {
    width: 22px;
    height: 30px;
  }

  #colorbox h3 {
    margin: 10px auto;
    font-size: 110%;
  }

  #colorbox fieldset.category {
    margin: 7.5% 0;
  }

  #colorbox .category,
  #colorbox .service,
  #colorbox .location {
    margin: 0;
    height: auto;
  }

  #colorbox .category,
  #colorbox .service {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
  }

  #colorbox .category div,
  #colorbox .category_all,
  #colorbox .service div,
  #colorbox .service_all,
  #colorbox .location div,
  #colorbox .location_all {
    clear: both;
    align-items: flex-start;
    height: auto;
    margin-left: 25px;
    box-sizing: border-box;

  }

  #colorbox .category div,
  #colorbox .service div {
    width: 100%;
  }

  #colorbox .location div {
    width: calc(100% / 6);
    min-width: 120px;
    word-break: keep-all;
    margin: 10px 0;
    padding: 0;
  }

  #colorbox .category:last-child,
  #colorbox .service:last-child {
    margin-bottom: 10px;
  }

  #colorbox input[type=checkbox] {
    transform: scale(1.5);
    -webkit-transform: scale(1.5);
    padding-right: 2em;
  }

  #colorbox .category_all input[type=checkbox],
  #colorbox .service_all input[type=checkbox],
  #colorbox .location_all input[type=checkbox] {
    box-sizing: border-box;
  }

  #colorbox .category_all label,
  #colorbox .service_all label,
  #colorbox .location_all label {
    margin-left: 0;
  }

  #colorbox .location {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% - 25px);
    margin-left: 25px;
    box-sizing: border-box;
  }

  #colorbox fieldset .location div {
    align-items: flex-start;
  }
}

@media only screen and (max-width: 600px) {

  #navi .wrap,
  #main,
  #main .left,
  #main .center,
  #footer-navi,
  #main .category-nodes article {
    float: none;
    width: 90%;
    padding: 0;
    margin: 0 auto;
  }

  #tool,
  #head .menu .u-menu,
  .crumbs {
    display: none
  }

  .cms-tabs .pages header {
    grid-template-columns: 110px 1fr;
    grid-gap: 0;
    font-size: 100%;
  }

  .pages header time {
    grid-row: 1/2;
    grid-column: 2/3;
    text-align: left;
    margin-left: 10px;
  }

  .pages header .cat {
    grid-row: 1/2;
    grid-column: 1/2;
    padding: 4px 0px 2px;
  }

  .pages header h3 {
    grid-row: 2/3;
    grid-column: 1/3;
    font-size: 130%;
    margin-top: 20px;
  }

  .cms-tabs .pages article {
    margin-bottom: 20px;
  }

  .cms-tabs {
    padding: 0;
    overflow-x: auto;
  }

  .cms-tabs .names {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
  }

  .cms-tabs .names:before,
  .cms-tabs .names:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden
  }

  .cms-tabs .names:after {
    clear: both
  }

  .cms-tabs .names .name {
    width: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    display: inline-block;
  }

  .cms-tabs .names .name:last-child {
    width: 33%;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
  }

  #foot {
    width: 100%;
    margin: 0;
  }

  #footer-navi nav {
    zoom: 1;
    border-top: 1px solid #999
  }

  #footer-navi nav:before,
  #footer-navi nav:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden
  }

  #footer-navi nav:after {
    clear: both
  }

  #footer-navi nav a:nth-child(2n+1) {
    border-right: 0
  }

  #footer-navi nav a:last-child {
    border-right: 1px solid #999
  }

  #footer-navi nav a:nth-child(4) {
    display: none
  }

  #ss-pc,
  #ss-mb {
    padding: 10px
  }

  #ss-pc a,
  #ss-mb a {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    width: 100%;
    padding: 8px 8px 5px;
    border: 1px solid #999;
    background: #ccc;
    color: #666;
    text-align: center;
    text-decoration: none
  }

  .pagetop {
    right: 20px;
    bottom: 50px;
    width: 50px;
    height: 50px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px
  }

  .pagetop a {
    position: relative;
    width: 50px;
    height: 50px;
    padding: 0;
    overflow: hidden;
    background-position: center center;
    text-indent: -9999px
  }

  #main .category-nodes,
  {
  margin: 10px 0 0;
  padding: 0 10px
}

#main .cms-nodes {
  margin: 100px 0 0;
  padding: 0 10px;
}

#main .category-nodes article,
#main .cms-nodes article {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 0 10px;
  padding: 5px
}

.category-pages,
.article-pages,
.faq-search {
  margin-bottom: 10px
}

.category-pages .new h2:after,
.article-pages .new h2:after,
.faq-search .new h2:after {
  display: none
}

.page .category-pages article,
.page .article-pages article {
  padding: 3px 10px
}

.page .category-pages article h2,
.page .article-pages article h2 {
  display: block;
  margin: 0;
  padding: 0
}

.one .page .category-pages article,
.one .page .article-pages article {
  padding: 3px 10px;
  border-bottom: 1px solid #ccc
}

.one .page .category-pages article time,
.one .page .article-pages article time {
  float: none
}

.one .page .category-pages article h2,
.one .page .article-pages article h2 {
  padding: 0;
  border: 0
}

.one .page .category-pages article h2 a,
.one .page .article-pages article h2 a {
  border: 0
}

.page header.released {
  margin: 3px 0
}

.page article dl dt,
.one article.body dl dt {
  float: none
}

.related-pages article {
  padding: 0
}

.map .keyword input {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}

.map .location .location {
  min-height: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.map .location .location div {
  position: absolute;
  display: block;
  min-width: 150px;
}
}

.map .condition {
  padding: 10px 10px 0
}

.map .condition dt,
.map .condition dd {
  float: none;
  display: block;
  width: 100%;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: left;
}

.map .condition dt {
  margin: 0;
}

.map .condition dd {
  margin: 0 0 10px 10em;
}

@media only screen and (max-width: 600px) {
  .map .condition dd {
    margin: 0 0 20px 0;
    font-size: 87.5%;
    font-weight: normal;
  }
}

.summary-image {
  margin: 10px
}

.images {
  padding: 0 10px
}

.body--board .menu {
  margin: 10px
}

.body--board .post {
  margin: 0 10px 10px
}

.body--institution-shisetsu #main>article[class*="item-"]:last-child {
  margin-bottom: 20px
}

.body--institution-shisetsu #main>article[class*="item-"] header {
  border-bottom: 1px solid #ccc;
  padding: 9px 12px
}

.body--institution-shisetsu #main>article[class*="item-"] header time {
  display: inline-block
}

.body--institution-shisetsu #main>article[class*="item-"] header h2 {
  display: inline;
  border-bottom: none
}

body[class*="body--institution-shisetsu-"] .map .body {
  width: 100%
}

body[class*="body--institution-shisetsu-"] .map .body h2 {
  color: #666;
  border-bottom: none
}

body.body--search #main form.search-form {
  display: block;
  border: none
}

body.body--search #main form.search-form .site-search-categories dd a.categories:hover {
  background: #bbb
}

@media only screen and (max-width: 600px) {
  body.body--search #main form.search-form .site-search-categories dd a.categories {
    margin-left: 0;
    margin-right: 10px
  }
}

body.body--search #main form.search-form .site-search-categories dd .selected-categories {
  display: flex;
  flex-wrap: wrap
}

body.body--search #main form.search-form .site-search-categories dd .selected-categories .selected-item:nth-child(n+2) {
  margin-left: 10px
}


/*---------- 404ページ ----------*/

#body--404 #ss-page-name {
  line-height: 1.2;
}

@media only screen and (max-width: 440px) {
  #body--404 #ss-page-name {
    top: 60%;
  }
}

#body--404 .one article.body {
  text-align: left;
  margin-bottom: 30px;
}

#body--404 .one article.body h1 {
  font-size: 160%;
  margin-top: 50px;
}

#body--404 .one article.body h1::before {
  content: url(../img/ic_st03.png);
  vertical-align: middle;
  padding-right: 30px;
}

#body--404 .one article.body h1::after {
  content: url(../img/ic_st04.png);
  vertical-align: middle;
  padding-left: 30px;
}

#body--404 .one article.body p {
  margin: 20px 0;
}

/*---------- 記事ページ ----------*/
.body--docs h2 {
  font-size: 130%;
}

.body--docs .page .categories {
  display: none;
}

body[class*="body--institution-shisetsu-"] article.body:first-child {
  margin-top: 150px;
}

/*---------- 準備中ページの高さ調整 ----------*/

#body--preparation .page article.body {
  margin-bottom: 0;
}

#preparation_h {
  width: 100%;
  height: 150px;
}

#body--preparation .page-top {
  margin: 80px auto;
}


/*---------- 検索条件の絞り込み ----------*/

#map_result #map--tubmenu #map-filters {
  width: 1000px;
  text-align: left;
  background: #fff;
  margin: 20px auto;
  padding: 30px;
  box-sizing: border-box;
  border-radius: 10px;
  position: relative;
  border: 2px solid #dcdcdc;
  display: block;
}

#map_result #map--tubmenu #map-filters.map-filters_active {
  margin: 20px auto;
  height: 1650px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
}

@media only screen and (max-width: 600px) {
  #map_result #map--tubmenu #map-filters {
    width: 100%;
    text-align: left;
    background: #fff;
    margin: 20px auto 0;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 10px;
    position: relative;
    font-size: 87.5%;
    border: 2px solid #dcdcdc;
  }

  #map_result #map--tubmenu #map-filters.map-filters_active {
    height: 2200px;
    margin: 20px auto 0;
  }
}

.map-filters_title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 30px;
}

#map-filters_btn {
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  background-color: #e8e02f;
  border: none;
  position: relative;
}

#map-filters_btn::after {
  content: '';
  border: 0;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  display: inline-block;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 14px;
  left: 10px;
  transform: translateY(-50%) rotate(135deg);
}

#map-filters_btn:hover {
  cursor: pointer;
}

@media only screen and (max-width: 600px) {

  .map-filters_title {
    margin: 0;
  }

  #map-filters_btn {
    width: 24px;
    height: 24px;
    border-radius: 12px;
  }

  #map-filters_btn::after {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    display: inline-block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 10px;
    left: 8px;
    transform: translateY(-50%) rotate(135deg);
  }
}


#map-filters .map-filters_title>h2 {
  margin: 0;
  text-align: left;
  font-size: 120%;
}

#map-filters .map-filters_title>h2::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 39px;
  padding-right: 15px;
  background-image: url(../img/ic_st02.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media only screen and (max-width: 600px) {
  #map-filters .map-filters_title>h2 {
    font-size: 100%;
  }

  #map-filters .map-filters_title>h2::before {
    width: 15px;
    height: 21px;
    padding-right: 10px;
  }

}

.map-filters_content {
  opacity: 0;
  position: absolute;
  z-index: -1;
  top: -850px;
  left: 0;
  width: calc(100% + 4px);
  padding: 0 30px 30px;
  box-sizing: border-box;
  border-radius: 0 0 10px 10px;
  margin-left: -2px;
}

.map-filters_content_active {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  align-content: flex-start;
  align-items: flex-start;
  justify-content: flex-start;
  z-index: 0;
  top: 90px;
  opacity: 1;
  border-top: none;
}

@media only screen and (max-width: 600px) {
  .map-filters_content {
    opacity: 0;
    position: absolute;
    top: -820px;
    left: 0;
    width: calc(100% + 4px);
    padding: 0 20px 20px;
    box-sizing: border-box;
    border-radius: 0 0 10px 10px;
    margin-left: -2px;
  }

  .map-filters_content_active {
    display: block;
    top: 45px;
    opacity: 1;
    border-top: none;
  }
}

.map-filters_content h3 {
  display: inline-block;
  font-size: 140%;
  width: 100%;
  margin: 20px auto;
  padding: 10px 0 5px 20px;
}

#map-filters .filter-item p {
  display: inline-block;
  margin-left: 20px;
}

@media only screen and (max-width: 600px) {
  #map-filters .filter-item p.p_non_style {
    margin: 0;
    width: auto;
  }
}

#map-filters .filter-item_checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: flex-start;
  align-items: center;
}

#map-filters .filter-item_checkbox div {
  margin: 0;
  width: 100%;
  display: flex;
  align-items: center;
}

#map-filters .filter-item_checkbox.filter-item_koritsu_shiritsu,
#map-filters .filter-item_checkbox.filter-item_ichigou,
#map-filters .filter-item_time_open,
#map-filters .filter-item_time_close,
#map-filters .filter-item_checkbox.filter-item_koritsu_shiritsu {
  width: calc((100% - 30px) / 2);
  margin: 0;
}

#map-filters .filter-item_ruikei {
  width: 100%;
}

#map-filters .filter-item_ruikei .filter-item_ruikei_item,
#map-filters .filter-item_tokubetsu .filter-item_tokubetsu_item {
  margin: 0;
  width: calc((100% - 30px) / 2);
}

#map-filters .filter-item_ruikei .filter-item_ruikei_item {
  display: none;
}

@media only screen and (max-width: 600px) {
  #map-filters .filter-item_checkbox {
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start;
    flex-direction: column;
  }

  #map-filters .filter-item_checkbox.filter-item_koritsu_shiritsu,
  #map-filters .filter-item_checkbox.filter-item_ichigou,
  #map-filters .filter-item_time_open,
  #map-filters .filter-item_time_close {
    width: 100%;
  }

  #map-filters .filter-item_ruikei .filter-item_ruikei_item,
  #map-filters .filter-item_tokubetsu .filter-item_tokubetsu_item {
    margin: 0;
    width: 100%;
  }

}

#map-filters select {
  padding: 1em;
  border-radius: 8px;
  border: 1px solid #bcbcbc;
}

#map-filters .filter-item_akiwaku {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#map-filters .filter-item_akiwaku_item {
  float: left;
  width: calc(100% / 4);
  height: 3em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
}

#map-filters .filter-item_btn {
  display: none;
}

#map-filters .map-filters_content_active+.filter-item_btn {
  display: flex;
  justify-content: center;
  gap: 30px;
  position: relative;
  margin: 50px auto 0;
}

#map-filters .btn_reset {
  display: inline-block;
  padding: 30px;
  width: 370px;
  background-color: #fff;
  border: 3px solid #333;
  border-radius: 50px;
  color: #333;
  position: relative;
  font-weight: bold;
  box-sizing: border-box;
  white-space: normal;
  line-height: 3em;
}

#map-filters .btn_reset:hover {
  background-color: #333;
  color: #fff;
}

@media only screen and (max-width: 600px) {

  #map-filters .filter-item p:first-child {
    margin: 10px auto;
    font-size: 120%;
  }

  .map .map-filters_content form {
    width: 100%;
  }


  #map-filters {
    width: 95%;
    padding: 20px;
  }

  #map-filters .map-filters_content>p {
    margin: 30px auto 10px;
    font-size: 110%;
  }

  #map-filters .map-filters_content>p::before {
    width: 22px;
    height: 30px;
  }

  #map-filters .filter-item p {
    width: 100%;
    margin: 30px auto 10px;
  }

  #map-filters .filter-item_akiwaku_item {
    width: 100%;
    margin: 10px 0 0;
  }

  #map-filters .map-filters_content_active+.filter-item_btn {
    flex-direction: column;
    max-width: 250px;
    gap: 20px;
    margin: 30px auto 0;
  }

  #map-filters .btn,
  #map-filters .btn_reset {
    width: 250px;
    padding: 15px;
    font-size: 87.5%;
    line-height: 2;
    margin: 0 auto;
    border: 2px solid #333;
  }
}

/*---- 検索結果画面の page-top の位置調整 ----*/
#body--institution-map .page-top {
  margin: 20px auto 100px;
}

@media only screen and (max-width: 600px) {
  #body--institution-map .page-top {
    margin: 50px auto;
  }
}


/*---- 地図上の円 ----*/
#map_circle {
  display: block;
  position: absolute;
  top: 30px;
  right: 60px;
  z-index: 1;
}

#map_circle #form_circle {
  width: 100%;
}

#map_circle .kyori-circle_label {
  display: none;
}

#map_circle .kyori-circle select {
  padding: 0 5px;
  height: 40px;
  border-radius: 2px;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 4px -1px;
}

@media only screen and (max-width: 600px) {
  #map_circle {
    top: 118px;
  }
}

/*---- 初めてご利用する方へ　メニューぺージ ----*/
#body--firstuse-index #main img, 
#body--inuse-index #main img ,
#body--online-index #main img {
  margin: 0;
}

#body--firstuse-index .firstuse_title, 
#body--inuse-index .firstuse_title,
#body--online-index .firstuse_title {
  display: flex;
  gap: 30px;
  justify-content: center;
  align-items: center;
  margin: 0 auto 50px;
}

#body--firstuse-index .firstuse_title p, 
#body--inuse-index .firstuse_title p,
#body--online-index .firstuse_title p{
  width: 42%;
  margin: 0;
  text-align: center;
}

@media only screen and (max-width: 600px) {
  #body--firstuse-index .firstuse_title, 
  #body--inuse-index .firstuse_title,
  #body--online-index .firstuse_title {
    margin: 40px 0;
    gap: 20px;
    font-size: 110%;
  }

  #body--firstuse-index .firstuse_title img, 
  #body--inuse-index .firstuse_title img,
  #body--online-index .firstuse_title img {
    width: 15%;
    height: auto;
  }

  #body--firstuse-index .firstuse_title p, 
  #body--inuse-index .firstuse_title p,
  #body--online-index .firstuse_title p{
    width: 70%;
  }

}

#body--firstuse-index #firstuse_contents, 
#body--inuse-index #firstuse_contents,
#body--online-index #firstuse_contents
{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 50px;
}

#body--firstuse-index .firstuse_content, 
#body--inuse-index .firstuse_content,
#body--online-index .firstuse_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  width: calc((100% - 50px) / 2);
  margin: 0;
  gap: 30px;
  padding: 50px;
  border: 5px solid #e2b4a6;
  border-radius: 30px;
  background-image: url(../img/bg01.png);
  box-sizing: border-box;
}

#body--firstuse-index .firstuse_content_main, 
#body--inuse-index .firstuse_content_main,
#body--online-index .firstuse_content_main {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

#body--firstuse-index .firstuse_content_title, 
#body--inuse-index .firstuse_content_title,
#body--online-index .firstuse_content_title{
  display: flex;
  gap: 10px;
  align-items: flex-end;
  justify-content: flex-start;
  margin: 0 auto 0 10px;
}

#body--firstuse-index .firstuse_content_title h1, 
#body--inuse-index .firstuse_content_title h1,
#body--online-index .firstuse_content_title h1 {
  font-size: 125%;
}

#body--firstuse-index .firstuse_content_title>img, 
#body--inuse-index .firstuse_content_title>img,
#body--online-index .firstuse_content_title>img {
  width: 10%;
  height: auto;
}

#body--firstuse-index .firstuse_content_main>img, 
#body--inuse-index .firstuse_content_main>img,
#body--online-index .firstuse_content_main>img {
  width: 100%;
  height: auto;
  border-radius: 20px;
}

#body--firstuse-index .firstuse_content_main>p, 
#body--inuse-index .firstuse_content_main>p,
#body--online-index .firstuse_content_main>p
{
  margin: 10px auto;
}

#body--firstuse-index .firstuse_content_btn a,
#body--firstuse-index .firstuse_content_btn a:hover,
#body--inuse-index .firstuse_content_btn a,
#body--inuse-index .firstuse_content_btn a:hover,
#body--online-index .firstuse_content_btn a,
#body--online-index .firstuse_content_btn a:hover{
  line-height: 3em;
  border: 3px solid #333;
}

@media only screen and (max-width: 600px) {
  #body--firstuse-index #firstuse_contents, 
  #body--inuse-index #firstuse_contents,
  #body--online-index #firstuse_contents{
    width: 100%;
    margin: 0 auto;
  }

  #body--firstuse-index .firstuse_content, 
  #body--inuse-index .firstuse_content,
  #body--online-index .firstuse_content {
    width: 100%;
    padding: 20px;
    gap: 20px;
  }

  #body--firstuse-index .firstuse_content_main, 
  #body--inuse-index .firstuse_content_main,
  #body--online-index .firstuse_content_main {
    width: 100%;
    gap: 15px;
  }

  #body--firstuse-index .firstuse_content .firstuse_content_title img, 
  #body--inuse-index .firstuse_content .firstuse_content_title img,
  #body--online-index .firstuse_content .firstuse_content_title img
  {
    width: 10%;
    height: auto;
  }

  #body--firstuse-index .firstuse_content_title h1, 
  #body--inuse-index .firstuse_content_title h1,
  #body--online-index .firstuse_content_title h1
  {
    font-size: 110%;
  }

  #body--firstuse-index .firstuse_content_main>p, 
  #body--inuse-index .firstuse_content_main>p,
  #body--online-index .firstuse_content_main>p{
    margin: 0;
  }

  #body--firstuse-index .firstuse_content_btn a,
  #body--firstuse-index .firstuse_content_btn a:hover,
  #body--inuse-index .firstuse_content_btn a,
  #body--inuse-index .firstuse_content_btn a:hover,
  #body--online-index .firstuse_content_btn a,
  #body--online-index .firstuse_content_btn a:hover
  {
    line-height: 2;
  }
}

/*---- 記事ぺージ追記 ----*/
body.body--firstuse .page article a,
body.body--inuse .page article a{
  line-height: 1.85;
}

.emphasis {
  color: #e58567;
}

.page article table:has(+ .p_table_bottom) {
  margin-bottom: 15px;
}

.page article p.p_table_bottom {
  width: 95%;
  margin: 15px auto 30px;
}

/*--- Footer追加 ----*/
.waku {
  display: flex;
  flex-wrap: wrap;
}

.foot--logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right:100px;
}

.foot--sns {
  justify-content: flex-start;
}

.sns--contents {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.navi--sns {
  justify-content: flex-start;
}

.sns--title {
  width: 230px;
  margin: 0;
}

.sns--title a {
  border-bottom: 1px solid #333;
}

.sns--title a:hover {
  border-bottom: transparent;
}

.sns--icon {
  margin: 0;
}

.sns--icon img {
  padding-right: 15px;
}

.navi--link {
  display: flex;
  flex-wrap: wrap;
}

.foot--navi {
  margin-right: 20px;
}

@media only screen and (max-width: 600px) {
  .foot--logo {
    margin-right:0;
  }

  .navi--link {
    display: block;
  }

  .sns--contents {
    display: block;
  }

  .foot--navi {
    margin-right: 0;
  }
}

/*--- その他リンク ----*/
.other--link {
  overflow-wrap: break-word;
  margin-bottom: 100px;
}

.other--link a {
  border-bottom: 1px solid #333;
}

.other--link a:hover {
  border-bottom: 1px solid transparent;
}

/* 特定クラスのテーブルだけ改行禁止にして中央揃えにして表示幅に余裕がなければスクロールバーを下に追加する */
/* PC・広い画面では中央寄せのみ */
.scroll-table-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
  overflow-x: visible;
}

/* スマホや狭い画面だけ横スクロール */
@media (max-width: 1660px) {
  .scroll-table-wrapper {
    width: 100%;
    overflow-x: auto;
    display: block;
    -webkit-overflow-scrolling: touch;
  }
  
  table.scroll-table {
    min-width: 1660px;
    width: fit-content;
    margin: 0 auto;
  }
}

table.scroll-table td, table.scroll-table th {
  white-space: nowrap;
}

table {
  -webkit-text-size-adjust: 100%;
}
