/*
Theme Name: Wellbio
Description: Welbioサイト用カスタムテーマ
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: wellbio
*/

@charset "utf-8";

/*********************************************
全体共通
*********************************************/
html{
  font-size: 16px;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 4.7vw;
  line-height: 1.75em;
  letter-spacing: 0;
  text-align: justify;
  font-feature-settings: "palt";
  margin: 0;
  padding: 0;
  color: #32302F;
  width: 100%;
  background-color: #fff;
  overflow-x: hidden!important;
  position: relative;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}
img {
  width: 100%;
  height: auto;
  line-height: 0;
}
a {
  color: inherit!important;
  pointer-events: painted!important;
  -webkit-tap-highlight-color: transparent;
}
section {
  padding-top: 10vw;
  padding-bottom: 42vw;
}
.sp-only {
  display: block!important;
}
.pc-only {
  display: none!important;
}
.anchor-target {
  scroll-margin-top: 20vw!important;
}
main {
  padding: 4vw 4vw;
  margin: 0 -4vw;
}

/* フェードイン */
.fadeIn {
  opacity: 0;
  transition: 1.5s;
}
.fadeIn.is-show {
  opacity: 1;
}
/* 下からフェードイン */
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 4vw);
  transition: 1s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/* 左からフェードイン */
.fadeIn_left {
  opacity: 0;
  transform: translate(-4vw, 0);
  transition: 1s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/* ズームアウトしながらフェードイン */
.fadeIn_zoomout {
  opacity: 0;
  transform: scale(1.05);
  transition: opacity 1s 1s, transform 1s 1s;
}
.fadeIn_zoomout.is-show {
  opacity: 1;
  transform: scale(1);
}

/*********************************************
共通装飾
*********************************************/
/* 見出しタイトル */
.title {
  text-align: center;
}

/* ページネーション */
.pagination {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-bottom: 10vw;
}
.pagination .page-numbers {
  width: 2em;
  height: 2em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.pagination .page-numbers.current {
  font-weight: 700;
  padding-top: 0.14em;
}
.pagination .page-numbers.current::after {
  content: "";
  border-bottom: 2px solid #000;
  width: 1em;
}
.pagination .page-numbers.prev {
  margin-right: 1.2em;
}
.pagination .page-numbers.next {
  margin-left: 1.2em;
}
.pagination .btn-icon {
  width: 0.75em!important;
}
.pagination .page-numbers.prev .btn-icon {
  transform: scaleX(-1);
}
.pagination .btn_common#btn_round .btn-inner {
  width: 2.2em;
  height: 2.2em;
}
/* ボタン */
.btn-wrap {
  display: flex;
  margin: 0 -2vw;
}
.btn-a-wrap {
  width: calc(100% / 2);
}
.btn-common {
  background: linear-gradient(to right, #F89629, #F47B01);
  border: 0.15em solid #fff;
  border-radius: 0.5em;
  height: 19vw;
  margin: 0 auto;
  filter: drop-shadow(0em 0.5em 1em rgba(243, 123, 1, 0.2));
  margin: 0 0.7vw;
  font-size: 4.35vw;
  font-weight: 700;
  text-align: center;
  color: #fff;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.btn-common .txt {
  position: absolute;
  left: 3.5vw;
}
.btn-common .arrow {
  background: #fff;
  border-radius: 50%;
  width: 7vw;
  height: 7vw;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  right: 5.5%;
  position: absolute;
}
.btn-common .arrow::before {
  content: '';
  width: 0.45em;
  height: 0.45em;
  border-top: solid 0.1em #F47B01;
  border-right: solid 0.1em #F47B01;
  position: absolute;
  left: 0.45em;
  transform: rotate(45deg);
}
.btn.green {
  background: #249A86;
  filter: drop-shadow(0em 0.5em 1em rgba(36, 154, 134, 0.2));
}
.btn.green .txt {
  left: 6vw;
}
.btn.green .arrow::before {
  border-top: solid 0.1em #249A86;
  border-right: solid 0.1em #249A86;
}
/*********************************************
ヘッダー
*********************************************/
header {
  width: 100vw;
  height: 80px;
  padding: 7vw 8.5vw 0 8vw;
  z-index: 100;
  position: fixed!important;
  box-sizing: border-box;
  background: #fff;
  filter: drop-shadow(0em 0.5em 1em rgba(0, 0, 0, 0.1));
}
.header-logoandicon {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center; 
}
.header-logo {
  width: 29.5vw;
}
.header-logo .site-title {
  line-height: 0;
}
.header-icon {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-top: 0.7vw;
}
.header-inner .icon.btn {
  font-family: "Unbounded", sans-serif;
  font-size: 3.2vw;
  font-weight: 400;
  color: #fff;
  background-color: #000;
  border-radius: 50rem;
  margin-right: 5vw;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 7vw;
  width: 28vw;
  padding-top: 0.3vw;
  padding-left: 0.5vw;
}
.header-inner .icon.menu {
  width: 5vw;
  height: 5vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}
.header-icon .icon .icon-content {
  width: 45%;
  line-height: 0;
}
.header-icon .icon.contact {
  margin-right: 2.3vw;
}
.header-icon .icon.contact .icon-content {
  margin-top: -3%;
}
.header-icon .icon .icon-content.hamburger {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 7vw;
}
.hamburger-line {
  position: absolute;
  width: 100%;
  height: 2px;
  background: #000;
  transition: all 0.3s ease-out;
}
.hamburger-line:nth-of-type(1) {
  margin-bottom: 4vw;
  transition: 1s ease-out;
}
.hamburger-line:nth-of-type(2) {
  transition: 1s ease-out;
}
.hamburger-line:nth-of-type(3) {
  margin-top: 4vw;
  transition: 1s ease-out;
}
/* バツ印に変わるハンバーガーボタン */
.hamburger.active .hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(1.4vw, 1.4vw);
  transition: 1s ease-out;
}
.hamburger.active .hamburger-line:nth-child(2) {
  transition: 0.5s ease-out;
  opacity: 0;
}
.hamburger.active .hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(1.4vw, -1.4vw);
  transition: 1s ease-out;
}

.header-menulist {
  position: fixed;
  top: 0;
  right: 0;
  padding-top: 28vw;
  margin: 0 4vw;
  width: calc(100% - 5vw);
  height: -webkit-fill-available;
  z-index: -1;
  margin: 2vw 2.5vw;
  visibility: hidden;
  opacity: 0;
  transition: opacity 1s ease-out;
}
.header-menulist::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: #fff;
  background-blend-mode: color;
  width: calc(100% - 5vw);
  height: calc(100dvh - 4vw);
  border-radius: 1em;
  margin: 2vw 2.5vw;
}
.header-menulist.open {
  width: calc(100% - 5vw);
  height: -webkit-fill-available;
  border-radius: 1em;
  visibility: visible;
  opacity: 1;
  transition: opacity 1s ease-out;
}
.header-menulist.open a {
  pointer-events: painted!important;
}
.header-menulist .content-menu {
  margin-bottom: 16vw;
}
.header-menulist ul {
  margin: 0 9vw;
  margin-bottom: 8vw;
}
.header-menulist li {
  margin-bottom: 5.2vw;
}
.header-menulist .content-menu .li-inner {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}
.header-menulist .content-menu .index_en {
  font-family: "Unbounded", sans-serif;
  font-size: 4.5vw;
  letter-spacing: 0.05em;
  margin-right: 4.5vw;
}
.header-menulist .content-menu .index_ja {
  font-size: 2.9vw;
  font-weight: 600;
}

.header-menulist .footer-line {
  background: #cacdd1;
  margin-bottom: 2.3vw;
}
.header-menulist .menu-bottom-link {
  font-size: 2.5vw;
  line-height: 6vw;
  padding-left: 1.8vw;
  margin-bottom: 3.8vw;
}
.header-menulist .copyright {
  font-size: 2.5vw;
  padding-left: 1.8vw;
}
/*********************************************
サイドバー（SPデザイン未定）
*********************************************/

/*********************************************
メインコンテナ
*********************************************/
.container {
  padding-top: 80px!important;
  padding: 0 4vw;
  overflow: hidden;
}
body.home .container {
  padding: 4vw 4vw 30vw;
  overflow: hidden;
}
/******** fv ********/
.fv {

}

/******** ミッション ********/
section.mission {

}

/******** 施設を探す ********/
section.searchbtn-block {
  padding-top: 20vw !important;
  padding-bottom: 18vw !important;
}
section.searchbtn-block .title {
  color: #249A86;
  font-size: 6vw;
  margin-bottom: 6vw;
}
section.searchbtn-block .btn-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0 4vw;
  margin-bottom: 9vw;
}
section.searchbtn-block .btn.search-city {
  background: #249A86;
  color: #fff;
  width: calc((100% - 20vw - 0.8em) / 2);
  margin: 1vw;
  padding: 2.4vw 3vw 2.4vw 5vw;
  font-size: 5vw;
  border-radius: 0.4em;
  border: 0.2em solid #fff;
  filter: drop-shadow(0em 0.5em 1em rgba(0, 0, 0, 0.1));
}
section.searchbtn-block .btn.search-city .txt-wrap {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
section.searchbtn-block .btn.search-city .arrow {
  position: relative;
  background: linear-gradient(to bottom, #fff, #EBEBEB);
  border-radius: 50%;
  width: 6.5vw;
  height: 6.5vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
section.searchbtn-block .btn.search-city .arrow::before {
  content: '';
  width: 0.35em;
  height: 0.35em;
  border-top: solid 0.15em #249A86;
  border-right: solid 0.15em #249A86;
  position: absolute;
  left: 0.35em;
  top: ;
  transform: rotate(45deg);
}
section.searchbtn-block .note {
  text-align: center;
  font-size: 4.9vw;
}
/*********************************************
howto記事一覧（アーカイブ）ページ
*********************************************/

/*********************************************
howto記事（投稿）ページ
*********************************************/
/******** 記事ページ共通 ********/
.container.howto .cta-txt {
  margin-top: 8vw !important;
  text-align: center;
  color: #0376C3;
  font-weight: 600;
  font-size: 5.4vw;
  line-height: 1.3em;
  margin-bottom: -0.9em;
  position: relative;
  z-index: 1;
}
.container.howto .cta {
  margin-bottom: 7vw !important;
}
.container.howto img {
  margin-bottom: 4vw!important;
}
.container.howto .full {
  margin: 0 -4vw;
  width: calc(100% + 8vw);
}
.container.howto strong {
  font-weight: 700!important;
  background-color: #FDFF81;
  line-height: 1.8em;
}
.howto_lead p,
.howto p {
  margin-bottom: 1em;
}
.howto_txt h2,h3,h4,h5,h6 {
  color: #249A86;
  line-height: 1.35em;
  margin-top: 10vw !important;
  margin-bottom: 3vw !important;
}
.howto_txt h2 {
  font-size: 6vw;
  background: #EFFBF9;
  border-top: 1px solid #249A86;
  margin: 0 -4vw;
  padding: 0.4em 0.7em 0.5em;
}
.howto_txt h3 {
  border-top: 1px solid #249A86;
  border-bottom: 1px solid #249A86;
  padding: 0.55em 0.4em 0.5em 0.4em;
  font-size: 5.3vw;
}
.howto_txt h4 {
  font-size: 5.2vw;
  display: inline-flex;
  padding: 0 0.4em 0 0.2em;
  margin-top: 0.2em !important;
}
.howto_txt h4::before {
  content: '';
  padding-left: 0.65em;
  margin: 0.1em 0;
  border-left: solid 0.25em #249A86;
}
/********  ********/
#sec_howto_article {
  padding-top: 0!important;
  padding-bottom: 20vw!important;
}
.container.howto main {
  padding-top: 0!important;
}
.container.howto .img_howto-main {
  margin: 0 -4vw;
}
.container.howto .img_howto-main img {
  margin-bottom: 2vw!important;
}
.howto_title {
  font-size: 6.5vw;
  line-height: 1.35em;
  margin-bottom: 2vw;
  padding: 0 0.15em;
}
.howto_update {
  text-align: right;
  color: #7D7D7D;
  font-size: 3.4vw;
  letter-spacing: 0.09em;
  margin-bottom: 5vw;
}
.howto_lead {
  margin-bottom: 10vw;
}
.howto_txt {
  counter-reset: sec;/* 番号カウンターを初期化 */
  margin-bottom: 7vw;
}
.howto_txt > h2 { /* 各 h2 に番号を付与 */
  counter-increment: sec;
  position: relative;
}
.howto_txt > h2::before {
  content: counter(sec) ". "; /* 通常の h2：1. 2. 3. と付ける */
}
.howto_txt > h2:last-of-type {
  counter-increment: none; /* カウントを止める */
}
.howto_txt > h2:last-of-type::before { /* 最後の h2 は「まとめ｜」に置き換え */
  content: "まとめ｜";
}
/******** もくじ ********/
.howto_toc {
  margin-bottom: 20vw!important;
  border: 1px solid #D0D0D0;
  background: #fff;
  padding: 8vw 5.2vw 9vw;
}
.howto_toc .toc-title {
  color: #249A86;
  font-size: 4.8vw;
  letter-spacing: 0.15em;
  position: relative;
  font-weight: 600;
  padding-left: 1.6em;
}
.howto_toc .toc-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.2em;
  height: 1.2em;
  background: url('images/icon_howto-toc.png') no-repeat center center;
  background-size: contain;
}
.howto_toc ul {
  list-style: none;
  font-size: 4.5vw;
  line-height: 1.35em;
  padding-left: 0.45em;
}
.howto_toc ul li {
  margin-bottom: 0.6em;
}
.howto_toc .toc-num {
  color: #249A86;
  font-weight: bold;
}
.howto_toc ul li a {
  display: inline; 
}
/******** FAQ ********/
.howto-faq {
  background: #EFFBF9;
  padding: 9vw 6vw 5vw 5.5vw;
  border-radius: 1em;
  margin-bottom: 6vw;
}
.howto-faq:first-of-type {
  margin-top: 12vw;
}
.howto-faq:last-of-type {
  margin-bottom: 24vw;
}
.howto-faq .q {
  position: relative;
  display: flex;
  align-items: center;
  line-height: 1.35em;
  margin-bottom: 0.85em;
  color: #249A86;
  font-weight: 600;
}
.howto-faq .q::before {
  content: "Q";
  display: inline-flex;
  align-items: stretch;
  justify-content: center;
  color: #fff;
  background-color: #249A86;
  width: 1.9em;
  height: 1.9em;
  border-radius: 50%;
  margin-right: 0.65em;
  flex-shrink: 0;
  font-size: 5.7vw;
  line-height: 1.8em;
}
.howto-faq .a {
  position: relative;
  display: flex;
  align-items: flex-start;
  font-size: 4.5vw;
  line-height: 1.6em;
}
.howto-faq .a::before {
  content: "A";
  display: inline-flex;
  align-items: stretch;
  justify-content: center;
  color: #249A86;
  background-color: #fff;
  border: 1px solid #249A86;
  width: 1.9em;
  height: 1.9em;
  border-radius: 50%;
  margin-right: 0.65em;
  flex-shrink: 0;
  font-size: 5.7vw;
  line-height: 1.75em;
  font-weight: 800;
}
.howto-faq p {
  margin-bottom: 0.7em;
}
/******** 監修者 ********/
.howto-sv {
  background-color: #EFFBF9;
}
.howto-sv .index {
  background: #249A86;
  color: #fff;
  text-align: center;
  font-size: 7vw;
  line-height: 1.25em;
  font-weight: 700;
  padding: 0.4em;
}
.howto-sv .sv-prf {
  padding: 4vw;
}
.howto-sv .info-wrap {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  margin-bottom: 3.5vw;
}
.howto-sv .sv-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.howto-sv .sv-prfimg {
  line-height: 0;
  margin-right: 4vw;
  width: 35%;
  max-width: 35%;
}
.howto-sv .sv-prfimg img {
  border-radius: 0.6em;
  margin-bottom: 0!important;
}
.howto-sv .sv-role {
  background: #fff;
  border: 1px solid #249A86;
  border-radius: 50rem;
  padding: 0 0.7em 0.03em;s
  font-size: 3.6vw;
  line-height: 1.5em;
  font-weight: 400;
  margin-bottom: 0.75em;
}
.howto-sv .sv-affiliation {
  font-size: 2.4vw;
  line-height: 1.35em;
  margin-bottom: 1.6em;
}
.howto-sv .sv-name {
  font-size: 8.3vw;
  font-weight: 700;
}
.howto-sv .sv-honorific {
  color: #249A86;
  font-size: 5.3vw;
  font-weight: 500;
  margin-left: 0.25em;
}
.howto-sv .sv-comment {
  background: #fff;
  font-size: 3.2vw;
  line-height: 1.55em;
  border-radius: 1em;
  padding: 1.25em 1.9em 1.3em 1.9em;
}
/*********************************************
施設一覧（アーカイブ）ページ
*********************************************/
#facility-list main {
  padding-top: 0!important;
}
.sec_facility-list {
  background: #EFFBF9;
  margin: 0 -4vw;
  padding: 0 4vw;
  padding-bottom: 30vw;
}
.container.facility .title.faci-list-title {
  font-size: 7vw;
  padding: 18vw 0 20vw;
}
.faci-list-wrap {
  background: #fff;
  padding: 7.5vw 5vw 12vw;
  filter: drop-shadow(0em 0.5em 1em rgba(0, 0, 0, 0.1));
  border-radius: 1em;
  margin-bottom: 5.4vw;
}
/*********************************************
施設詳細（投稿）ページ
*********************************************/
#facility-article main {
  margin: 0 -1vw;
}
/*********************************************
施設ページ 共通パーツ（template-facility.php）
*********************************************/
.facility-common {
  font-size: 3.5vw;
  line-height: 5.3vw;
}
.facility-common .area-breadcrumb {
  font-size: 2.8vw;
  margin-bottom: 1.8vw;
  display: flex;
}  
.facility-common .area-breadcrumb .arrow {
  margin: 0 0.3em;
  margin-top: -0.1em;
}
.facility-common .deco-index {
  font-size: 3vw;
  line-height: 4.5vw;
  margin-bottom: 3vw;
  display: flex;
}
.facility-common .deco-index .icon {
  border-radius: 0.2em;
  padding: 0 0.65em 0.05em;
}
.facility-common .deco-index .city {
  color: #fff;
  background: #249A86;
  margin-right: 0.3em;
}
.facility-common .deco-index .station {
  background: #9FD3CA;
}
.facility-common .faci_name {
  font-size: 6.2vw;
  color: #249A86;
  margin-bottom: 5vw;
}
.imgandinfo {
  margin-bottom: 8vw;
}
.img_faci-main {
  margin-bottom: 2vw;
}
.img_faci-main img {
  border-radius: 0.5em;
}
.faci-index {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  color: #249A86;
  background: #EFFBF9;
  border-top: 1.5px solid #249A86;
  padding-left: 4vw;
  height: 9vw;
  font-size: 4.3vw;
  margin: 7vw -3vw 6vw;
}
.faci-index .icon.faci{
  width: 6.5vw;
  line-height: 0;
  margin-right: 2.5vw;
}
.faci_add {
  display: flex;
}
.faci_add .icon {
  width: 5vw;
  margin-top: 0.5vw;
  margin-right: 0.6vw;
}
.faci_map {
  margin-left: 5.5vw;
  margin-bottom: 3vw;
}
.faci_map iframe {
  height: 40vw!important;
  border-radius: 0.5em;
}
.faci_map .btn {
  font-size: 2.5vw;
  line-height: 1.6;
  color: #249A86;
  border: solid 1px #E3E3E3;
  width: 19vw;
  border-radius: 50rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-right: 2vw;
}
.faci_map .btn .arrow {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.faci_map .btn .arrow::before {
  content: '';
  width: 0.4em;
  height: 0.4em;
  border-top: solid 1px #249A86;
  border-right: solid 1px #249A86;
  position: absolute;
  left: 0.2rem;
  transform: rotate(135deg);
}
.faci_map.is-open .btn .arrow::before {
  border-top: solid 1px #249A86;
  border-right: solid 1px #249A86;
  transform: rotate(-45deg); /* 右上向き（∧） */
}
.faci_station {
  display: flex;
  margin-bottom: 5vw; 
}
.faci_station .icon {
  width: 4.5vw;
  min-width: 4.5vw;
  margin-top: 0.6vw;
  margin-right: 1vw;
  margin-left: 0.3vw;
}
.faci_features {
  background: #FEF5EA;
  font-weight: 600;
  padding: 3.5vw 0 4.5vw;
  margin-bottom: 11vw;
}
.faci_features .index {
  font-size: 3.9vw;
  text-align: center;
  border: 1px solid #F8972A;
  color: #F8972A;
  width: 47vw;
  border-radius: 50rem;
  padding: 1vw 1vw;
  margin: 0 auto;
  margin-bottom: 3vw;
}
.faci_features .features-content {
  font-size: 3.6vw;
  width: fit-content;
  margin: 0 auto;
  padding-right: 10vw;
}
.faci_features .features-content li {
  position: relative;
  padding-left: 3.2vw;
}
.faci_features .features-content li::before {
  position: absolute;
  content: "";
  width: 1.5vw;
  height: 1.5vw;
  background: #F8972A;
  border-radius: 50%;
  top: 2.1vw;
  left: 0;
}
.faci_faq {
  margin-bottom: 10vw;
}
.faci_faq .index {
  color: #249A86;
  font-size: 3.6vw;
  display: inline-flex;
}
.faci_faq .index::before {
  content: '';
  padding-left: 3.3vw;
  margin: 0.5px 0;
  border-left: solid 0.25em #249A86;
}
.faci_faq .faq-item {
  border-bottom: 1px solid #E3E3E3;
  padding: 3vw 0;
}
.faci_faq .item {
  display: flex;
}
.faci_faq .item.q {
  font-weight: 600;
  margin-bottom: 0.8vw;
}
.faci_faq .item .icon {
  color: #249A86;
}
/*********************************************
フッター
*********************************************/
footer {
  width: 100%;
}
.footer-logo {
  padding-top: 2vw;
}
.footer-logoandmenu {
  background: #F2F2F2;
  display: flex;
  padding: 9vw 8.5vw 7vw;
}
.footer-logo .txt {
  text-align: center;
  font-size: 3vw;
  line-height: 2.4vw;
}
.footer-menu {
  margin-left: 7vw;
}
.footer-menu ul {
  width: 100%;
  font-size: 3vw;
  line-height: 5.4vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  white-space: nowrap;
}
.footer-bottom {
  background: #249A86;
  font-size: 2.7vw;
  color: #fff;
  text-align: center;
}
/*********************************************
レスポンシブ
*********************************************/
@media(min-width:600px) {
}
@media(min-width:760px) { /* ipad mini */
}
@media(min-width:1200px) {
  .pc-only {
    display: block!important;
  }
  .sp-only {
    display: none!important;
  }
  body {
    font-size: 1.3rem;
    line-height: 1.9em;
  }
  .anchor-target {
    scroll-margin-top: 5vw!important;
  }
  .container {
    padding: 0 1rem;
  }
  body.home .container {
    padding: 1rem 1rem 12rem;
  }
  main {
    min-width: calc(1200px - 2rem);
    padding: 2rem 1rem 14rem;
    margin: 0 -1rem;
  }
  section {
    padding-top: 1rem;
    padding-bottom: 19rem;
  }
  .contents-wrap {
    max-width: 1100px;
    margin: 0 auto;
  }
  /******** 共通装飾 ********/
  /* 見出しタイトル */
  .title {
    margin-left: 0;
    margin-bottom: 4rem;
  }
  .title_en {
    font-size: 3.4rem;
    margin-bottom: 0.5rem;
  }
  .title_ja,
  .title_ja h1,
  .title_ja h2 {
    font-size: 1rem;
  }

  /* ページネーション */
  .pagination {
  margin-bottom: 1rem;
  }

  /* ボタン */
  .btn-wrap {
    margin: 0;
    transform: scale(0.94);
  }
  .btn-common {
    font-size: 3rem;
    line-height: 1.2;
    border: 7px solid #fff;
    height: 12rem;
    margin: 0 0.55rem;
    border-radius: 1.5rem;
  }
  .btn-common .txt {
    left: 3.2rem;
  }
  .btn-common .arrow {
    width: 5.5rem;
    height: 5.5rem;
  }
  .btn-common .arrow::before {
    left: 1.6rem;
  }
  .btn.green .txt {
    left: 4.8rem;
  }
  /******** ヘッダー ********/
  header {
    height: 80px;
    padding: 2.1vw 3vw 0 2.6vw;
    min-width: 1200px;
  }
  .header-inner.pc-only .content-wrap {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .header-inner.pc-only .header-menuandbtn {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }
  .header-inner.pc-only .header-menuandbtn ul {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    margin-right: 0.8rem;
  }
  .header-inner.pc-only .header-menuandbtn ul li {
    font-size: 0.85rem;
    font-weight: 500;
    margin-right: 2.4rem;
  }
  .header-logo {
    width: 8rem;
  }
  .header-inner .icon.btn {
    font-size: 1.05rem;
    font-weight: 300;
    margin-right: 0;
    height: 1.95rem;
    width: 9rem;
    padding-top: 0.2rem;
    padding-left: 0.12rem;
  }
  /******** サイドバー ********/
  .sidebar {
    width: 29%;
    min-width: 29%;
    margin-left: 6rem;
  }
  /******** サイドバー【howto記事ページ】 ********/
  #sb_new-howto-list .index {
    text-align: center;
    margin-bottom: 2rem;X
    font-size: 1.55rem;
  }
  .sb_new-howto-li {
    margin-bottom: 2rem;
  }
  #sb_new-howto-list a {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
  }
  #sb_new-howto-list .thumb {
    width: 35%;
    min-width: 35%;
    margin-right: 0.9em;
    line-height: 0;
  }
  #sb_new-howto-list .thumb img {
    margin-bottom: 0!important;
  }
  #sb_new-howto-list .title {
    text-align: left;
    font-size: 1.15rem;
    line-height: 1.45em;
    font-weight: 600;
    margin-bottom: 0;
  }





  /******** 施設を探す ********/
  section.searchbtn-block {        
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  section.searchbtn-block .title {
    font-size: 3.5rem;
    margin-bottom: 3rem;
  }
  section.searchbtn-block .btn-wrap {
    padding: 0 6rem;
    margin-bottom: 5rem;
  }
  section.searchbtn-block .btn.search-city {
    width: calc((100% - 11.2rem - 0.8em) / 2);
    margin: 1rem;
    padding: 1rem 1.2rem 1rem 2.4rem;
    font-size: 2rem;
  }
  section.searchbtn-block .btn.search-city .arrow {
    width: 2.4rem;
    height: 2.4rem;
  }
  section.searchbtn-block .btn.search-city .arrow::before {
    width: 0.6rem;
    height: 0.6rem;
    left: 0.65rem;
  }
  section.searchbtn-block .note {
    font-size: 2.4rem;
  }





















  /*********************************************
  howto記事一覧（アーカイブ）ページ
  *********************************************/

  /*********************************************
  howto記事（投稿）ページ
  *********************************************/
  /******** 記事ページ共通 ********/
  .container.howto .cta-txt {
    margin-top: 3.2rem !important;
    font-size: 2.4rem;
    margin-bottom: -1.5rem;
  }
  .container.howto .cta {
    margin-bottom: 1.4rem !important;
  }
  .container.howto img {
    margin-bottom: 2rem!important;
  }
  .container.howto .full {
    margin: 0;
    width: 100%;
  }
  .container.howto strong {
    font-weight: 700!important;
    background-color: #FDFF81;
    line-height: 1.8em;
  }
  .howto_txt h2, h3, h4, h5, h6 {
    margin-top: 1rem!important;
    margin-bottom: 1rem!important;
  }
  .howto_txt h2 {
    font-size: 2.2rem;
    margin: 0;
    margin-top: 4rem!important;
  }
  .howto_txt h3 {
    font-size: 2rem;
    margin-top: 2.8rem !important;
  }
  .howto_txt h4 {
    font-size: 1.85rem;
  }
  /********  ********/
  .container.howto {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 7rem !important;
  }
  #sec_howto_article {
    padding-bottom: 14rem!important;
  }
  .container.howto main {
    width: 100%;
    min-width: auto;
    margin: 0;
    padding: 0;
  }
  .container.howto .img_howto-main {
    margin: 0;
  }
  .container.howto .img_howto-main img {
    margin-bottom: 0.5rem!important;
  }
  .howto_title {
    font-size: 2.2rem;
    margin-bottom: 2rem;
  }
  .howto_update {
    font-size: 1rem;
    margin-bottom: 2rem;
  }
  .howto_lead {
    margin-bottom: 3.4rem;
  }
  .howto_txt {
    margin-bottom: 3.4rem;
  }
  /******** もくじ ********/
  .howto_toc {
    margin-bottom: 7rem!important;
    padding: 2.4rem 3.5rem;
  }
  .howto_toc .toc-title {
    font-size: 1.3rem;
  }
  .howto_toc ul {
    font-size: 1.3rem;
  }
  /******** FAQ ********/
  .howto-faq {
    padding: 3rem 3.5rem 2rem 3.2rem;
    margin-bottom: 1.4rem;
  }
  .howto-faq:first-of-type {
    margin-top: 2rem;
  }
  .howto-faq:last-of-type {
    margin-bottom: 5.2rem;
  }
  .howto-faq .q::before {
    font-size: 1.3rem;
  }
  .howto-faq .a {
    font-size: 1.3rem;
    line-height: 1.6em;
  }
  .howto-faq .a::before {
    font-size: 1.3rem;
    line-height: 1.8em;
  }
  /******** 監修者 ********/
  .howto-sv .index {
    font-size: 2.2rem;
  }
  .howto-sv .sv-prf {
    padding: 2rem 4rem;
  }
  .howto-sv .info-wrap {
    margin-bottom: 2rem;
  }
  .howto-sv .sv-prfimg {
    margin-right: 2rem;
  }
  .howto-sv .sv-prfimg img {
    margin-bottom: 0!important;
  }
  .howto-sv .sv-role {
    font-size: 1.3rem;
  }
  .howto-sv .sv-affiliation {
    font-size: 1rem;
  }
  .howto-sv .sv-name {
    font-size: 3.2rem;
  }
  .howto-sv .sv-honorific {
    font-size: 1.5rem;
  }
  .howto-sv .sv-comment {
    font-size: 1.3rem;
  }
  /*********************************************
  施設一覧ページ
  *********************************************/
  .container.facility .title.faci-list-title {
    font-size: 3.7rem;
    padding: 7rem 0 8rem;
    margin-bottom: 0 !important;
  }
  .faci-list-wrap {
    padding: 4rem 3rem 7rem;
    margin-bottom: 2.5rem;
  }
  .facility-common {
    font-size: 1.25rem;
    line-height: 1.9rem;
  }
  /******** 施設ページ 共通パーツ ********/
  .facility-common .area-breadcrumb {
    font-size: 1.15rem;
    margin-bottom: 1.2rem;
  }  
  .facility-common .deco-index {
    font-size: 1.3rem;
    line-height: 2.2rem;
    margin-bottom: 2rem;
  }
  .facility-common .deco-index .icon {
    border-radius: 0.2em;
    padding: 0 0.65em;
  }
  .facility-common .deco-index .city {
    color: #fff;
    background: #249A86;
    margin-right: 0.3em;
  }
  .facility-common .faci_name {
    font-size: 3.5rem;
    margin-bottom: 3rem;
  }
  .facility-common .imgandinfo {
    display: flex;
    margin-bottom: 4rem;
  }
  .img_faci-main {   
    margin-bottom: 0;
    margin-right: 2rem;
  }
  .facility-common .addandstation {
    width: calc(100% - 22rem);
  }
  .faci_add {
    margin-bottom: 0.4rem;
  }
  .faci_add .icon {
    width: 2rem;
    margin-top: 0.1rem;
    margin-right: 0.5rem;
  }
  .faci_map {
    margin-left: 2.4rem;
    margin-bottom: 1.2rem;
  }
  .faci_map .btn {
    font-size: 1rem;
    width: 8rem;
    padding-right: 0.5rem;
  }
  .faci_station {
    margin-bottom: 4rem; 
  }
  .faci_station .icon {
    width: 1.75rem;
    min-width: 1.75rem;
    margin-top: 0.4rem;
    margin-right: 0.65rem;
    margin-left: 0.2rem;
  }
  .faci_features {
    padding: 3rem 0 3.5rem;
    margin-bottom: 7rem;
  }
  .faci_features .index {
    font-size: 2rem;
    width: 24rem;
    padding: 0.7rem;
    margin-bottom: 2.2rem;
  }
  .faci_features .features-content {
    font-size: 1.6rem;
    line-height: 2.1rem;
    padding: 0 5rem;
    width: 100%;
    box-sizing: border-box;
  }
  .faci_features .features-content ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    }
  .faci_features .features-content li {
    padding-left: 1.3rem;
    width: calc((100% - 5.6rem) / 2);
    margin-bottom: 0.6rem;
  }
  .faci_features .features-content li:nth-child(odd) {
    margin-right: 3rem;
  }
  .faci_features .features-content li::before {
    width: 0.55rem;
    height: 0.55rem;
    top: 0.9rem;
  }
  .faci_faq {
    margin-bottom: 4rem;
    padding: 0 2rem;
  }
  .faci_faq .index {
    font-size: 2rem;
  }
  .faci_faq .index::before {
    padding-left: 1.5rem;
    margin: -4.5px 0;
    border-left: solid 6px #249A86;
  }
  .faci_faq .faq-item {
    padding: 1.7rem 0;
  }
  .faci_faq .item.q {
    margin-bottom: 1rem;
  }







  /******** フッター ********/
  footer {
  }
  .footer-logo .txt {
    font-size: 0.95rem;
    line-height: 0;
  }
  .footer-bottom {
    font-size: 1rem;
    line-height: 3rem;
  }
  .footer-menu {
    margin-left: 7rem;
  }
  .footer-logo {
    padding-top: 2.2rem;
    width: 26rem;
    position: relative;
    left: -3rem;
  }
  .footer-menu ul {
    font-size: 1.1rem;
    line-height: 2rem;
  }
  .footer-logoandmenu {
    padding: 3.2rem 1rem 2.4rem;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
}


/*********************************************
index.php（404 NotFound）
*********************************************/
.error404 .title-wrap {
  margin-bottom: 24vw;
}
.error404 .note {
  text-align: center;
  width: 90vw;
  margin: 0 auto;
  margin-bottom: 40vw;
}
@media(min-width:1200px) {
  .error404 .title-wrap {
    width: 700px;
    margin: 0 auto;
    margin-bottom: 8rem;
  }
  .error404 .note {
    width: 700px;
    margin-bottom: 14rem;
    text-align: left;
  }
}