@charset "UTF-8";
/* チカラぺ舎 Webサイト専用 装飾CSS */

/* フォント読み込み */
/* #### Generated By: http://www.cufonfonts.com ####
@font-face {
    font-family: 'Qanelas Soft SemiBold';
    font-style: normal;
    font-weight: normal;
    src: local('Qanelas Soft SemiBold'), url('../font/Radomir Tinkov  QanelasSoftSemiBold.woff') format('woff');
}
@font-face {
    font-family: 'Qanelas Soft Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Qanelas Soft Bold'), url('../font/Radomir Tinkov  QanelasSoftBold.woff') format('woff');
} */

/* =============================================
  共通
============================================= */
body * {
    box-sizing: border-box;
    font-feature-settings: "palt" 1;
    letter-spacing: .05rem;
}
.main_contents {
    /* margin-top: 100px; */
    margin-top: 0;
}
.box-outer {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
}
.box-outer section {
    margin-left: auto;
    margin-right: auto;
}
.text-link {
    text-decoration: underline !important;
}
.text-link:hover {
    text-decoration: none !important;
}
.content-body .org-btn {
    color: #fff;
    background: #e65b36;
    font-size: 13px;
    padding: 10px 20px;
    border-radius: 4px;
    display: inline-block;
    line-height: 1;
    margin: 10px 0;
}
.sp_block {
    display: none;
}
.pc_block {
    display: block;
}
a.external {
    position: relative;
    padding-right: 20px;
}
a[target="_blank"]:not(#footer a) {
  padding-right: 20px;
}
a[target="_blank"]:not(#footer a):after {
  content: "";
  position: relative;
  background-image: url(../images/link-icon.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 13px;
  height: 13px;
  right: -5px;
  bottom: 1px;
  top: 1px;
  display: inline-block;
}

/* =============================================
  ヘッダー
============================================= */
#header {
    background: #fff;
    border-bottom: 5px solid #750069;
    height: 100px;
}
#header .box-outer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100px;
    padding: 10px 0 15px 0;
    max-width: 1050px;
}
#header .box-outer h1 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
    width: auto;
}
#header .box-outer h1 img {
    max-width: 100%;
}
#header .box-outer a {
    color: #33002B;
    display: block;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}
#header .box-outer a:hover {
    color: #750069;
}
#header .global-navi ul {
    display: flex;
    font-size: 16px;
}
#header .global-navi ul li {
    padding: 0 15px;
}
#header .global-navi ul li:last-child {
    padding-right: 0;
}
/* #header .box-outer .site-description {
    font-size: 12px;
    line-height: 1;
    padding-top: 5px;
    text-align: left;
}
#header .info-box form {
    background: #dedfe1;
    height: 30px;
    position: relative;
    left: -50px;
}
#searchform input {
    border: #dedfe1 1px solid;
    color: #72767d;
    font-size: 12px;
    height: 30px;
    padding: 0 10px;
    width: 250px;
}
#searchform button {
    background: #dedfe1 url();
    border: none;
    display: inline-block;
    height: 30px;
    width: 50px;
    position: absolute;
    right: -50px;
}
#searchform button:hover {
    cursor: pointer;
}
#searchform button:hover i {
    opacity: .5;
} */

/* パンくずリスト（トピックパス） */
.breadcrumb-outer {
    background: #f2f2f2;
    margin-top: 100px;
}
.breadcrumb {
    display: flex;
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 15px;
}
.breadcrumb li, .breadcrumb li a {
    font-size: 12px;
    position: relative;
    text-align: left;
}
.breadcrumb li {
    color: #750069;
    font-weight: 600;
}
.breadcrumb li a {
    color: #000;
    font-weight: 400;
    padding-right: 12px;
}
.breadcrumb li a:after {
    content: ">";
    color: #000;
    position: absolute;
    font-size: 11px;
    padding-right: 3px;
    right: 0;
}

/* =============================================
  メインエリア
============================================= */
/* メインビジュアル */
.mv-outer {
    margin: auto;
    max-height: 840px;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.home .mv-outer:after,
.geosite-area-box .multiply:after {
    content: "";
    background: url(../images/mv-line.svg);
    background-position: bottom left;
    background-repeat: repeat-x;
    background-size: auto 130px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    height: 130px;
    z-index: 1;
}
.home .mv-outer:after, .geosite-area-box .multiply:after {
    bottom: -62px;
}
@media screen and ( max-width:1100px) {
  .home .mv-outer:after {
    background-size: auto 80px;
    bottom: -40px;
    height: 80px;
  }
}
@media screen and ( max-width:900px) {
  .home .mv-outer:after {
    background-size: auto 80px;
    bottom: -40px;
    height: 80px;
  }
}
.mv-outer .mv-title {
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 55px;
    letter-spacing: .025em;
    line-height: 1.2;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    text-shadow: 0px 0px 12px #33002B;
}
.mv-title span {
    display: block;
    font-size: 20px;
    padding-top: 20px;
}
.mv-outer img {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    /* height: 100vh; */
}

/* TOP共通 */
.home .main_contents {
    margin-top: 100px;
}
.home .main_contents .bg {
    background: #F3EBF4;
}
.home .main_contents h2,
#news h2 {
    color: #750069;
    font-weight: 600;
    font-size: 50px;
    text-align: center;
    padding-bottom: 40px;
    line-height: 1;
}
.home .main_contents h2 span,
#news h2 span {
    color: #33002B;
    font-size: 20px;
    display: block;
    line-height: 1;
    margin-top: 15px;
}
.home .main_contents section {
    margin-top: -100px;
    padding-top: 100px;
}
.home .main_contents section .concept_details,
.home .main_contents section .news_details,
.home .main_contents section .reservation_details,
.home .main_contents section .faq_details,
.home .main_contents section .access_details {
    margin-left: auto;
    margin-right: auto;
    max-width: 1050px;
    padding: 90px 25px;
}
.home .main_contents section .access_details {
    padding-bottom: 25px;
}
.home .main_contents section .sub_catch {
    font-size: 18px;
}
.home .main_contents section .news_details .more.btn {
    margin: 0;
}

/* TOP:CONCEPT */
#concept {
    /*background: url(../images/concept_bg.png), url(../images/concept_bg_foot.png);*/
    background-position: center 250px, center 105%;
    background-repeat: no-repeat, no-repeat;
    background-size: contain, contain;
    position: relative;
}
/* .concept_details:before {
    content: "";
    position: absolute;
    background: url(../images/concept_icon.png);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: contain;
    height: 193px;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    z-index: 1;
} */
.concept_details h1 {
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    letter-spacing: .3rem;
    margin-bottom: 30px;
    padding: .75rem 0;
    display: inline-block;
}
.concept_details h1:after {
    content: "";
    background-image: url(https://chikarape-sha.com/wp-content/uploads/2025/07/kuma-f.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
    padding: 1.5rem;
    margin-left: .5rem;
}
.concept_details h1:before {
    content: "";
    background-image: url(https://chikarape-sha.com/wp-content/uploads/2025/07/kuma-m.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
    padding: 1.5rem;
    margin-right: .5rem;
}
.concept_details h1 span {
    color: #750069;
    display: block;
    font-size: 22px;
    letter-spacing: .15rem;
}
.modelcase-images {
    display: flex;
    justify-content: space-between;
    padding: 75px 15px;
    align-items: center;
    max-width: 980px;
    margin: auto;
}
.modelcase-images img {
    max-width: 100%;
}
.home .main_contents .top-intro-txt h2 {
    color: #000;
    font-size: 24px;
  }
.top-intro-txt p {
    font-size: 18px;
    padding-bottom: 2rem;
    line-height: 2.2rem;
}
.top-intro-txt p sup {
    font-size: 68%;
    padding-left: 2px;
}
.top-intro-txt p small {
    font-size: 74%;
    display: block;
    line-height: 200%;
    padding-bottom: 4rem;
}
.top-intro-txt .modelcase-title {
    font-size: 24px;
    font-weight: 600;
    padding: 80px 0 0 0;
}
.modelcase-outer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 25px;
}
.modelcase-outer + .btn {
    background: #750069;
    position: relative;
    z-index: 2;
}
.modelcase-inner {
    position: relative;
    width: 240px;
    margin-top: 20px;
}
.modelcase-inner a {
  color: #000;
}
.modelcase-inner .case-no {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
.modelcase-inner .case-no p {
    color: #750069;
    font-size: 20px;
    font-family: 'Qanelas Soft Bold';
}
.modelcase-inner .case-no span {
    display: block;
    font-size: 50px;
}
.modelcase-inner .case-catch p {
    font-weight: 600;
    font-size: 20px;
    line-height: 1.4;
    padding-bottom: 0;
}
.modelcase-inner .case-catch span {
    font-size: 15px;
    display: block;
}
.modelcase-inner .case-catch img {
    display: block;
    margin: 5px auto;
    width: 32px;
}
.modelcase-inner .case-image {
    margin-top: 20px;
    margin-bottom: 20px;
    position: relative;
    width: 100%;
}
.modelcase-inner .case-image:before {
    content: "";
    display: block;
    padding-top: 100%;
}
.modelcase-inner .case-image .box {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.modelcase-inner .case-image img {
    border-radius: 10px;
    max-width: 100%;
    min-width: auto;
    min-height: auto;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.modelcase-inner .case-catch {
    margin-bottom: 1.5rem;
}
/* TOP:NEWS */
.news_inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 40px 0;
}
.news_inner a {
    display: block;
    padding: 30px 30px 25px 30px;
    max-width: 300px;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.news_inner a a:hover {
  text-decoration:none;
    -webkit-transition:0.2s ease-in-out;
    -moz-transition:0.2s ease-in-out;
    -o-transition:0.2s ease-in-out;
  transition:0.2s ease-in-out;
  opacity: .7;
}
.news_inner a img {
    border-radius: 10px;
    object-fit: cover;
    width: auto;
    height: 100%;
}
.news_text {
    text-align: left;
    color: #33002B;
    font-size: 16px;
    line-height: 1.8;
    flex-grow: 1;
    padding-top: 15px;
    padding-bottom: 5px;
}
.news_text p, .news_date p {
    padding-bottom: 0;
}
.news_date p span {
    display: block;
    text-align: right;
    font-size: 12px;
    color: #750069;
}
/* TOP:RESERVATION */
#reservation {
    background: url(../images/reservation_bg.png);
    background-position: center, center bottom;
    background-repeat: repeat-y, no-repeat;
    background-size: contain, contain;
    /* background-size: 100%; */
    position: relative;
}
.reservation-contents {
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    margin: 60px 0;
    background: #F3EBF4;
    min-height: 265px;
    position: relative;
}
.reservation-contents:nth-child(even) {
    flex-direction: row-reverse;
}
.reservation_inner {
    /* height: 1150px;
    overflow: hidden;
    margin-bottom: 60px;
    padding-bottom: 40px; */
    position: relative;
    transition: .4s;
}
/* .reservation_inner:before{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 150px;
    background: rgb(0,0,0);
    background: linear-gradient(0deg, rgba(255,255,255,1) 65%, rgba(255,255,255,0) 100%);
    transition: .4s;
    z-index: 1;
}
.reservation_inner.active:before{
    opacity: 0;
    visibility: hidden;
} */
.reservation_inner h3 {
    font-size: 36px;
    text-align: center;
    font-weight: 600;
    padding: 5px 0;
    border-bottom: 3px solid #750069;
    margin: 0 0 40px 0;
}
.geosite-map img {
    max-width: 100%;
}
.reservation_images {
    width: 50%;
    overflow: hidden;
    border-radius: 10px;
    position: relative;
}
.reservation_images a {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    bottom: 0;
}
.reservation_images a:hover {
  text-decoration:none;
    -webkit-transition:0.2s ease-in-out;
    -moz-transition:0.2s ease-in-out;
    -o-transition:0.2s ease-in-out;
  transition:0.2s ease-in-out;
  opacity: .7;
}
.reservation_images img {
    height: 100%;
    border-radius: 10px;
    width: 500px;
    object-fit: cover;
}
.reservation_images_soon {
    padding: 25px 0 25px 50px;
}
.reservation_images_soon + .reservation_text {
    display: flex;
    align-items: center;
    width: 100%;
}
.reservation_text {
    padding: 55px;
    position: relative;
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-self: stretch;
}
.reservation_text h4, .reservation_text p {
    line-height: 2;
    text-align: left;
}
.reservation_text h4 {
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0);
    border-top: 1px solid rgba(0, 0, 0, 0);
}
.reservation_text h4 span {
    margin-top: -9.6px;
    margin-bottom: -9.6px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.8;
}
.reservation_text h4 .place {
    background: #750069;
    padding: 8px 22px;
    text-align: center;
    color: #fff;
    line-height: 1;
    margin-right: 25px;
}
.reservation_images_soon + .reservation_text h4 span {
    display: inline-block;
}
.reservation_text .type,
.reservation_text .max {
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 8px;
}
.reservation_text .type span,
.reservation_text .max span {
    border: 1px solid #750069;
    color: #750069;
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
    position: relative;
    text-align: center;
    top: -2px;
    width: 5em;
}
.reservation_text .reservation_info {
    font-size: 16px;
    line-height: 2;
    padding: 10px 0;
    margin-top: 25px;
    flex-grow: 1;
}
.reservation_text .btn.more {
    width: 240px;
    margin-bottom: 0;
}
.reservation_details > .btn.more {
  background: #750069;
}
.reservation_text .btn.more a,
.reservation_inner > .btn.more {
    cursor: pointer;
}
.reservation_inner > .btn.more {
    background: #750069;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    bottom: 0;
    border: none;
    width: 240px;
    color: #fff;
    font-size: 14px;
    line-height: 0;
    padding: 20px;
    display: block;
    z-index: 2;
}
.reservation_inner > .btn.more a span {
    padding-right: 20px;
}
.reservation_inner > .btn.more:after {
    content: "";
    background: url(../images/top-geopark_icon_02.png) center no-repeat;
    background-size: 20px;
    position: absolute;
    right: 25%;
    top: 0;
    bottom: 0;
    left: auto;
    margin: auto;
    width: 20px;
    height: 19px;
    transition: 1s;
}
.reservation_inner.active > .btn.more:after {
  transform: rotateX(180deg);
  transition: 1s;
}

/* =============================================
  カテゴリー／アーカイブ
============================================= */
body.archive, body.news, body.activity, .single-box {
    background: #F3EBF4;
}
body.page {
  background: #fff;
}
.archive .box-outer {
    display: flex;
    max-width: 1050px;
    justify-content: space-between;
}
.archive-box {
    min-width: 75%;
    margin-left: auto;
    margin-right: auto;
    padding: 45px 25px 170px 25px;
}
.post-type-archive-geosite .archive-box {
    min-width: 100%;
}
.news_inner {
    padding: 0;
    margin-bottom: 10px;
}
.news_inner .news-contents {
    margin-bottom: 3.2%;
    width: 31.2%;
    background: #fff;
    border-radius: 10px;
}
.news_images img {
    min-width: auto;
    min-height: auto;
}
.news-body img {
    max-width: 100%;
    height: auto;
}
.archive-box .news_inner:after {
    content: "";
    display: block;
    width: 30%;
    max-width: 300px;
    height: 0;
}
.wp-pagenavi {
    font-weight: 600;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.archive_item .wp-pagenavi a {
    background: #fff;
    color: #750069;
    padding: 3px 5px;
    width: 30px;
    height: 30px;
    line-height: 26px;
}
.archive_item .wp-pagenavi .nextpostslink,
.archive_item .wp-pagenavi .previouspostslink {
    background: transparent url(../images/pagenav-prev.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 15px;
    height: 30px;
    padding: 3px 10px;
    text-indent: -99999px;
}
.archive_item .wp-pagenavi .nextpostslink {
    background: transparent url(../images/pagenav-next.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
}
.wp-pagenavi a, .wp-pagenavi span {
    border: none;
    margin: 2px 8px;
}
.wp-pagenavi span.current {
    color: #fff;
    background: #750069;
    width: 30px;
    height: 30px;
    line-height: 26px;
    display: flex;
    justify-content: center;
}
.wp-pagenavi .pages {
    border: 1px solid #750069;
    color: #750069;
    order: 9999999;
    height: 32px;
    line-height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.wp-pagenavi .nextpostslink {
    order: 9999999;
}
/* サイドバー */
#sidebar {
    min-width: 25%;
    margin-left: auto;
    margin-right: auto;
    padding: 45px 25px 90px 25px;
}
#sidebar section *:not(th):not(td):not(caption) {
    text-align: left;
}
#sidebar h2 {
    color: #750069;
    font-size: 20px;
    font-weight: 600;
    text-align: left;
    line-height: 1;
    margin-bottom: 8px;
    padding-bottom: 10px;
    border-bottom: 1px solid #750069;
}
#sidebar section a {
    color: #33002B;
}
#sidebar label {
    display: none;
}
#sidebar ul {
    margin-bottom: 40px;
}
#sidebar ul li {
    border-bottom: 1px dashed rgba(0,96,152,.5);
    margin-bottom: 5px;
}
#sidebar ul li a {
    display: block;
    font-size: 14px;
    font-weight: 600;
    padding: 5px 0;
}
#sidebar ul li span {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: #750069;
    line-height: 1;
    padding: 3px 0 5px 0;
}
#sidebar .wp-block-archives-list {
    border-bottom: 1px solid #750069;
    padding: 3px 0 5px 0;
}
#sidebar .wp-block-archives-list li {
    border-bottom: none;
}
#sidebar .wp-block-archives-list li a {
    padding: 0;
}
#calendar_wrap{
    padding-top:10px;
}
#wp-calendar{
    width: 100%;
    font-size:12px;
    padding-top: 10px;
}
#wp-calendar tr{
    display: flex;
    justify-content: flex-start;
}
#wp-calendar tr:first-of-type{
    justify-content: flex-end;
}
#wp-calendar th,
#wp-calendar td{
    display: block;
    width: calc(100% / 7);
    text-align: center;
    margin-bottom: 10px;
}
#wp-calendar td:last-of-type,
#wp-calendar th:last-of-type{
    color: red;
}
#wp-calendar td:last-of-type a {
    text-decoration: underline;
    color: red;
}
#wp-calendar caption {
    color: #750069;
    font-size: 16px;
    padding-bottom: 5px;
    font-weight: 600;
}
#wp-calendar td a{
    color: #750069;
    font-weight: 600;
    padding: 0;
    text-decoration: underline;
}
#wp-calendar tfoot tr{
    display: flex;
    justify-content: center;
}
#wp-calendar tfoot tr td{
    width: calc(100% / 3);
}
#wp-calendar #today a,
#wp-calendar #today{
    color: white;
    background-color:#750069;
    font-weight:bold;
    border-radius: 20px;
}
.wp-block-calendar {
    background: #fff;
    padding: 15px;
    border: 1px solid #33002B;
    margin-bottom: 25px;
}
.wp-block-calendar .wp-calendar-nav {
    display: flex;
    justify-content: space-between;
}
#sidebar .wp-block-calendar .wp-calendar-nav a {
    color: #750069;
}
.news_inner .wp-pagenavi {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100%;
}
.archive .main_contents h1,
.activity .main_contents h1,
.news .main_contents h1 {
    color: #750069;
    font-size: 50px;
    text-align: center;
    line-height: 1;
    padding-top: 40px;
}
.archive .main_contents h1 span,
.news .main_contents h1 span {
    color: #33002B;
    font-size: 20px;
    font-weight: 600;
    display: block;
    line-height: 1;
    margin-top: 15px;
}
.archive_item h2 {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 10px;
}
.archive_item a {
    padding: 20px 20px 15px 20px;
}
.archive_item p {
    text-align: left;
    font-size: 14px;
    font-weight: 600;
    padding-bottom: 3px;
}
.archive_item p span {
    font-weight: 400;
}
.archive_details {
    margin-bottom: 10px;
}
.archive_details p {
    margin-left: 4em;
}
.archive_details strong {
    display: inline-block;
    text-indent: -4em;
    padding-left: 4em;
    margin-left: -4em;
}
.archive_details a {
    color: #008040;
    display: inline-block;
}
.news_images {
    border-radius: 10px;
    position: relative;
    width: 100%;
}
.news_inner .news_images:before {
    content: "";
    display: block;
    padding-top: 100%;
}
.news_images .box {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    border-radius: 10px;
}
.archive-box .news_images img {
    width: 100%;
    height: 100%;
}
/* 新着アイコン（3日間） */
.entry-icon-new {
    background: #750069;
    color: #fff;
    display: inline-block;
    font-size: 80%;
    margin-right: 10px;
    padding: 5px;
    line-height: 1;
    text-align: center;
    font-weight: 400;
}
/* <自動出力されるぺージャータイトルを消す>Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
    background-color: #eee;
    clip: auto !important;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}
.no-match {
    padding: 60px 0;
}
.addtoany_content {
  margin: 0;
  padding-top: 50px;
}
/* =============================================
  投稿ページ
============================================= */
/* 投稿共通 */
.single .content-body {

}
.single.single-post .main_contents {
  margin-top: 0;
}
.single-box {
    max-width: 1050px;
    border-radius: 20px;
    margin: 40px auto;
    padding: 40px;
}
.single .news-head h2, .single .news-body h2 {
  border-bottom: 2px solid #750069;
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 600;
  text-align: left;
}
.single .news-body h3 {
  border-radius: 40px;
  background: #750069;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 20px;
  padding: 0.5rem 1rem;
}
.single .news-body h4 {
  color: #33002B;
  border-bottom: 1px solid #33002B;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 20px;
}
.single .news-body h5 {
  color: #750069;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 20px;
}
.single .news-body ul {
  text-align: left;
  margin-bottom: 20px;
}
.single .news-body ul li {
  list-style: disc;
  list-style-position: inside;
}
.single .news-body ol {
  text-align: left;
  margin-bottom: 20px;
}
.single .news-body ol li {
  list-style: decimal;
  list-style-position: inside;
}
.single .news-body ul ul,
.single .news-body ul ol,
.single .news-body ol ol,
.single .news-body ol ul {
  margin-left: 1.5rem;
  margin-bottom: 0;
}
.single .main_contents table {}
.single .main_contents th {}
.single .main_contents td {}
.single .main_contents th, .single .main_contents td {}

.wp-block-media-text {
  display: flex;
}


/* 施設のご案内 */
:root {
  --overlay-color: rgba(166,74,151,.5);
}
.geosite-area-box .mv-outer {
    max-height: 100%;
}
.geosite-area-box .multiply {
    background: var(--overlay-color);
    mix-blend-mode: normal;
    width: 100%;
    max-width: 100%;
    height: 130px;
    display: block;
    position: absolute;
    z-index: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
.geosite-area-box .mv-inner {
    text-align: center;
    margin: auto;
}
.geosite-area-box .background {
    background-position: center;
    background-size: cover;
    height: 100vh;
    background-repeat: no-repeat;
    position: relative;
    max-width: 100%;
    margin: 0 auto;
}
.geosite-area-box .background img {
    height: 100vh;
    width: auto;
    padding-bottom: 0;
}
.geosite-area-box .mv-inner p {
    font-size: 18px;
    font-weight: 600;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 20px;
    color: #fff;
    text-align: center;
}
.mv-nav-inner {
    max-width: 1050px;
    margin: auto;
}
.mv-nav-inner .nav-box {
    margin: 15px;
}
.mv-nav-inner .nav-box:hover {
    cursor: pointer;
    -webkit-transition:0.2s ease-in-out;
    -moz-transition:0.2s ease-in-out;
    -o-transition:0.2s ease-in-out;
  transition:0.2s ease-in-out;
    opacity: .7;
}
.mv-nav-inner .nav-img {
    height: 120px;
    overflow: hidden;
    border-radius: 10px;
}
.mv-nav-inner .nav-box img {
    border-radius: 10px;
    object-fit: cover;
    width: auto;
    height: 100%;
    margin: auto;
}
.mv-nav-inner .slick-list {
    max-width: 850px;
    margin: auto;
}
.mv-nav-inner .prev-arrow.slick-arrow,
.mv-nav-inner .next-arrow.slick-arrow {
    cursor: pointer;
    position: absolute;
    width: 14px;
    height: 30px;
    text-indent: -9999px;
    background-repeat: no-repeat;
}
.mv-nav-inner .prev-arrow.slick-arrow {
    left: 25px;
    top: 40%;
    background: url(../images/nav-prev.svg);
}
.mv-nav-inner .next-arrow.slick-arrow {
    right: 25px;
    top: 40%;
    background: url(../images/nav-next.svg);
}
.mv-nav-inner p {
    font-size: 18px;
    font-weight: 600;
}
.mv-nav-inner img {
    max-width: 100%;
}
.reservation-box h1 {
    font-size: 32px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 40px;
    border-bottom: 3px solid #750069;
}
.reservation-box h1 span {
    background: #750069;
    color: #fff;
    padding: 10px 15px;
    margin-right: 20px;
}
.reservation-box h2 {
    background: #750069;
    border-radius: 10px;
    color: #fff;
    font-weight: 600;
    font-size: 24px;
    padding: 10px 40px;
    margin: 40px 0;
}
.reservation-box h3, .reservation-box h4 {
    font-size: 20px;
    color: #750069;
    font-weight: 600;
    text-align: center;
    margin: 40px 0;
    position: relative;
    padding: 10px;
}
.reservation-box h3:before {
    position: absolute;
    content: "";
    border: 2px solid #750069;
    height: 100%;
    left: 0;
    right: 0;
    margin: auto;
    top: 50%;
    bottom: 50%;
}
.reservation-box h4 {
    font-size: 18px;
    color: #000;
    /* text-align: left; */
    margin: 20px 40px;
    display: inline-block;
    padding: 0 40px;
}
.reservation-box h4:before, .reservation-box h4:after {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  width: 30px;
  height: 30px;
  background: url(../images/geosite-h-icon.svg);
  background-repeat: no-repeat;
}
.reservation-box h4:before {
  right: auto;
  left: 0;
}
.reservation-box h4:after {
  right: 0;
  left: auto;
  transform: rotate(90deg);
}
.reservation-box img {
    max-width: 100%;
    width: 100%;
    height: auto;
    margin-bottom: 20px;
    border-radius: 10px;
}
.reservation-title.btn {
    background: #750069;
    border-radius: 24px;
    margin-bottom: 40px;
    padding-bottom: 0;
}
.reservation-box a {
    color: #750069;
    font-weight: 600;
}
.reservation-title.btn a {
    color: #fff;
    font-size: 24px;
    padding: 24px;
    text-align: center;
    width: 100%;
}
.reservation-contact.btn {
    padding: 0;
    display: block;
    width: 50%;
    margin: auto;
}
.reservation-box p {
    margin: 10px 40px;
    text-align: left;
    padding-bottom: 10px;
}
.reservation-box dl {
    padding: 10px 40px;
    border-bottom: 5px solid #F3EBF4;
}
.reservation-box dl:last-of-type {
    border-bottom: none;
}
.reservation-box dt, .reservation-box dd {
    text-align: left;
    padding-bottom: 10px;
}
.reservation-box dt {
    font-size: 20px;
    font-weight: 600;
    color: #750069;
}
.reservation-box dd {
    font-size: 16px;
    text-indent: -1em;
    padding-left: 1em;
}
.reservation-box dd:before {
    content: "●";
    color: #750069;
}
.reservation-box .exclusive img {
  width: 100%;
}
.reservation-box table {
    width: 100%;
    height: auto;
}
.reservation-box table td, .reservation-box table th {
    padding: 10px;
    border-bottom: 1px solid #750069;
    font-size: 16px;
}
.reservation-box table th {
    font-size: 20px;
    font-weight: 600;
    color: #750069;
    word-break: keep-all;
}
.reservation-box table td {
    text-align: left;
}
.reservation-box iframe {
    width: 100%;
}
.reservation-box .reservation-area {
    text-align: left;
    font-size: 20px;
    font-weight: 600;
    padding: 10px 0;
    margin: 0;
}
.reservation-box .circle-no {
    text-indent: 0;
    padding-left: 0;
}
.reservation-box .circle-no:before {
    content: none;
}
.reservation-box .exclusive {
    border-radius: 10px;
    margin: 30px 0;
    background: rgba(143,195,31,.1) url(../images/exclusive_icon.png);
    background-position: calc(100% - 40px) bottom;
    background-repeat: no-repeat;
    background-size: auto;
}
.reservation-box .exclusive dl {
    padding: 40px;
}
.reservation-box .exclusive dt {
    color: #33002B;
    padding-bottom: 25px;
}
.reservation-box .exclusive dt span {
    background: #750069;
    color: #fff;
    padding: 7px 10px;
    margin-right: 20px;
    font-size: 20px;
}
.reservation-box .exclusive dd:last-child {
    padding-bottom: 0;
}
.reservation-box .reservation-contact {
    font-size: 16px;
    font-weight: 600;
    text-align: left;
    padding-bottom: 20px;
}
/* NEWS */
.single .single-box {
    display: flex;
    flex-direction: row;
    padding: 0;
}
.single.single-geosite .single-box {
  flex-direction: column;
  padding: 40px;
}
#sidebar {
    padding-top: 55px;
}
.news-box {
    min-width: 75%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 25px;
}
.news-box > div:not(.btn) {
    padding-left: 40px;
    padding-right: 40px;
    background: #fff;
}
.news-head h2 {
    font-size: 24px;
    font-weight: 600;
}
.news-head {
    border-radius: 20px 20px 0 0;
    padding-top: 45px;
}
.news-head p {
    font-size: 12px;
    padding-bottom: 15px;
    text-align: left;
}
.news-head .news_images {
    padding-bottom: 14px;
}
.news-head .news_images img {
    max-width: 100%;
    height: auto;
}
.news-body {
    margin-bottom: 10px;
    padding-bottom: 45px;
    border-radius: 0 0 20px 20px;
}
.news-body p {
    font-size: 16px;
    text-align: left;
    padding-bottom: 1rem;
}
.news-foot {
    display: none; /* SNSボタンなど実装時に使用 */
}

/* =============================================
  固定ページ
============================================= */
.page .main_contents h1 {
    color: #750069;
    font-size: 50px;
    text-align: center;
    line-height: 1;
}
.page .main_contents h1 span {
    color: #33002B;
    font-size: 20px;
    font-weight: 600;
    display: block;
    line-height: 1;
    margin-top: 15px;
}
.page .main_contents h2 {
    border-bottom: 2px solid #750069;
    margin-bottom: 40px;
    padding-top: 40px;
    font-size: 24px;
    font-weight: 600;
    text-align: center;
}
.page p {
    text-align: left;
}
.page .content-body p {
    padding-bottom: 10px;
}
.page .page-in {
    padding: 40px 0 0 0;
}
/* ============================================ お問い合わせ フォームパーツ（contact form7） */
.contact-form-inner {
  margin-bottom: 15px;
}
.contact-form-ttl {
  background: #F3EBF4;
  padding: .5rem;
  margin-bottom: 10px;
}
.contact-form-ttl p {
  font-weight: 600;
  padding-bottom: 0 !important;
}
.contact-form-ttl p .number {
  color: #fff;
  background: #750069;
  padding: .3em .5em;
  line-height: 1;
}
.contact-form-ttl p .required, .wpcf7 p .required {
  background: #dc3232;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  display: inline-block;
  padding: 0 .25rem;
  vertical-align: middle;
  line-height: 2;
  height: 24px;
  margin-left: 5px;
}
.contact-form-item {
  padding: .5rem;
}
.contact-form-item p {
  font-size: 14px;
  margin: 0 .5rem;
  padding-bottom: 0;
}
.contact-form-item .form-parts {
  text-align: left;
  margin: .5rem;
  padding-bottom: .5rem;
}
.wpcf7-list-item {
  display: block;
  margin: 0;
  padding-bottom: .25rem;
}
.wpcf7-list-item.last {
  padding-bottom: 0;
}
.wpcf7-list-item label {
  display: flex;
  align-items: center;
  position: relative;
}
.wpcf7-list-item-label a.external {
  padding: 0 10px;
}
.news-body .policy-check, .page .policy-check {
  display: flex;
  justify-content: center;
  padding: 10px;
  background: #F3EBF4;
  border-radius: 10px;
  margin-bottom: 40px;
}
.news-body .policy-check span, .page .policy-check span  {
  padding-bottom: 0;
}
/* お問合せフォームと申し込みフォームで、レイアウトに区別をつける */
.main-form {
  border: 2px solid #750069; 
  padding: 20px;
}
.main-form .contact-form-inner {
  margin-bottom: 0;
}
.main-form .contact-form-ttl {
  margin-bottom: 0;
  padding-bottom: 0;
}
/* チェックボックス・ラジオボタン デザイン */
/* 初期化 */
input[type="checkbox"], input[type="radio"] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: 1;
}
input[type="checkbox"]:hover, input[type="radio"]:hover {
  cursor: pointer;
}
/* チェックボックスの独自調整 */
input[type="checkbox"] {
  cursor: pointer;
  padding-left: 30px;/*label手前にチェックボックス用の余白を開ける*/
  vertical-align: middle;
  position: relative;
}
input[type="checkbox"]::before,
input[type="checkbox"]::after {
  content: "";
  display: block; 
  position: absolute;
  line-height: 1;
}
input[type="checkbox"]::before {
  background-color: #fff;
  border-radius: 0%;
  border: 1px solid #666464;
  width: 20px;/*チェックボックスの横幅*/
  height: 20px;/*チェックボックスの縦幅*/
  transform: translateY(-50%);
  top: 50%;
  left: 5px;
  line-height: 1;
}
input[type="checkbox"]::after {
  border-bottom: 3px solid #750069;/*チェックの太さ*/
  border-left: 3px solid #750069;/*チェックの太さ*/
  opacity: 0;/*チェック前は非表示*/
  height: 6px;/*チェックの高さ*/
  width: 11px;/*チェックの横幅*/
  transform: rotate(-45deg);
  top: -2px;/*チェック時の位置調整*/
  bottom: 0;
  left: 10px;/*チェック時の位置調整*/
  line-height: 1;
  margin: auto;
}
input[type="checkbox"]:checked::after {
  opacity: 1;/*チェック後表示*/
}
/* ラジオボタンの独自調整 */
input[type="radio"] {
  width: 20px;/*radioボタンの横幅*/
  height: 20px;/*radioボタンの縦幅*/
  border-radius: 100px;
  position: relative;
  vertical-align: sub;
  margin-right: 10px;
}
input[type="radio"]::before, input[type="radio"]::after{
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
input[type="radio"]::before {
  background-color: #fff;
  border: 1px solid #c2c1c1;
  height: 20px;/*radioボタンの横幅*/
  width: 20px;/*radioボタンの縦幅*/
  left: 0px;
}
input[type="radio"]::after {
  background-color: #750069;
  opacity: 0;/*チェックされてないradioボタンは非表示*/
  height: 14px;/*radioボタンチェック時の中点の高さ*/
  width: 14px;/*radioボタンチェック時の中点の横幅*/
  left: 4px;/*radioボタンチェック時の中点の位置*/
}
input[type="radio"]:checked::after {
  opacity: 1;/*チェックされたradioボタンは表示*/
}
.wpcf7 hr {
  border: none;
  height: 1px;
  background: #750069;
  margin: 25px 0;
}
.wpcf7-radio {
  display: block;
}
.wpcf7 input[type='text'],
.wpcf7 input[type='email'],
.wpcf7 input[type='tel'],
.wpcf7 input[type='url'],
.wpcf7 textarea {
  padding: 3px 5px;
}
.wpcf7 select {
  border: 1px solid #000;
  padding: 5px;
  background: #fff;
}
.wpcf7 input[name="your-name"], .wpcf7 input[name="your-furi"],
.wpcf7 input[name="parent-name"], .wpcf7 input[name="parent-furi"] {
  width: 40%;
}
.wpcf7 input[name="your-email"], .wpcf7 input[name="your-email_confirm"] {
  width: 50%;
}
.wpcf7 input[name="your-subject"] {
  width: 55%;
}
.wpcf7 textarea[name="your-message"] {
  width: 70%;
}
.wpcf7 input.suji {
  width: 3em;
}
.contact-form-outer {
  margin-top: 10px;
}
.contact-form-outer input[type="submit"] {
  padding: 10px 40px;
  background: #750069;
  border: 3px solid #750069;
  border-radius: 40px;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
}
.contact-form-outer input[type="submit"]:hover {
  background: #fff;
  border: 3px solid #750069;
  color: #33002B;
}
.contact-form-outer .wpcf7-spinner {
  display: block;
  margin: auto;
  padding-top: 10px;
}
.contact-form-outer .wpcf7-not-valid-tip {
  font-size: 13px;
  padding-top: 3px;
}

/* ===================================================== イベントカレンダー */
.gc-wrap {
  max-width: 100%;
  margin: 3% auto;
}
.g-calendar {
  position: relative;
  overflow: scroll;
  height: 0;
  padding-bottom: 70%;
}
.g-calendar iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width:767px) {
  .g-calendar {
      padding-bottom: 90%;
      overflow: scroll;
  }
}

/* ===================================================== テーブルデザイン */
/*-------- 色指定 ---------*/
:root {
  --f-text:#000;/*文字の色*/
  --f-line:#750069;/*線の色*/
  --f-bg1:#750069;/*タイトル行の背景色*/
  --f-bg2:#F3EBF4;/*ストライプの背景色*/
}
figure.wp-block-table {
  margin: 0 0 20px 0;
}
.wp-block-table table{
  color:var(--f-text);
  text-align:center;
  border:2px solid var(--f-line);	
  background-color:white;
  width: 100%;
}
.wp-block-table table td,
.wp-block-table table th{
  padding: 1rem;
  text-align: left;
}
.wp-block-table table th{
  border:1px dotted white;	
  color: white;
  text-align: center;
}
.page .wp-block-table table th{
  word-break: keep-all;
}
.wp-block-table thead{
  border-bottom:1px solid var(--f-line);
}
.wp-block-table table td{
  border:1px dotted var(--f-line);	
}
.wp-block-table thead{
  color:white;
}
.wp-block-table  th{
  background-color:var(--f-bg1);
}
.wp-block-table  tr:nth-child(even){
  background-color:var(--f-bg2);
}

/* ===================================================== 翻訳機能調整 */
#glt-translate-trigger {
  padding: 0;
}

/* =============================================
  404
============================================= */
.error404 h1, .error404 p {
    text-align: left;
}
.error404 h1 {
    color: #750069;
    font-size: 24px;
    font-weight: 600;
}
.error404 p {
    font-size: 16px;
    padding-bottom: 15px;
}

/* =============================================
  フッター
============================================= */
#footer {
    background: #750069;
    color: #fff;
    font-size: 14px;
    margin-top: 0;
    position: relative;
}
#footer a {
    color: #fff;
}
#footer span.a2a_label {
  display: none;
}
#footer .external a {
    position: relative;
    padding-right: 15px;
}
#footer .external a:after {
    content: "";
    position: absolute;
    background-image: url(../images/foot-link-icon.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 13px;
    height: 13px;
    right: 0;
    top: 0;
}
#footer small {
    display: block;
    font-size: 14px;
}
#footer .box-outer {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 1050px;
    padding: 30px 25px;
}
#footer .box-inner {
    width: 50%;
}
#menu-foot_link {
    display: flex;
    width: 100%;
    justify-content: flex-end;
}
#menu-foot_link li:after {
    content: "｜";
    position: relative;
    padding: 10px 5px;
}
#menu-foot_link li:last-child:after {
    content: none;
}
#menu-foot_link a {
    padding: 10px;
    position: relative;
}
#footer .box-inner:first-child {
    text-align: left;
}
#footer .box-inner:last-child {
    text-align: right;
}
#footer .box-inner p {
    line-height: 2;
}
.a2a_kit.a2a_kit_size_32.a2a_follow.addtoany_list {
  line-height: 1 !important;
}
.addtoany_list a, .widget .addtoany_list a {
  padding: 0 15px !important;
}
.addtoany_list.a2a_kit_size_32 a:not(.addtoany_special_service)>span {
  height: 36px !important;
  line-height: 36px !important;
  width: 36px !important;
  background-color: transparent !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repea !important;
}
.addtoany_list.a2a_kit_size_32 a:not(.addtoany_special_service)>span.a2a_s_facebook {
  background-image: url(../images/f_logo_RGB-White_72.png) !important;
}
.addtoany_list.a2a_kit_size_32 a:not(.addtoany_special_service)>span.a2a_s_instagram {
  background-image: url(../images/Instagram_Glyph_White.svg) !important;
}
.addtoany_list.a2a_kit_size_32 a:not(.addtoany_special_service)>span.a2a_s_youtube {
  background-image: url(../images/yt_icon_mono_dark.png) !important;
  height: 26px !important;
  line-height: 26px !important;
}
.a2a_svg svg {
  display: none !important;
}
.pc_block .menu-foot_link-container ul {
    display: flex;
    justify-content: right;
    align-items: center;
    margin-bottom: .5rem;
}
.pc_block .menu-foot_link-container ul li a {
    padding: 0 .8rem 0 0;
}
.pc_block .menu-foot_link-container ul li {
    border-right: 1px solid #fff;
    line-height: 1;
    text-align: center;
    margin-right: 0.8rem;
}
.pc_block .menu-foot_link-container ul li:last-child {
    border: none;
    margin-right: 0;
}
/* ページTOPへ戻るボタン */
#gotop {
    /* max-width: 1050px; */
    /* margin: auto; */
    /* position: relative; */
}
#gotop a {
    background-image: url(../images/gotop.png);
    background-repeat: no-repeat;
    background-size: 70px 70px;
    background-position: center;
    display: block;
    position: fixed;
    right: 40px;
    bottom: 180px;
    color: #000;
    width: 70px;
    height: 70px;
    text-indent: -99999px;
    opacity: .5;
    z-index: 1;
}

@media screen and ( max-width:1200px) {
  .geosite-area-box .background {
    width: 100%;
  }
  .geosite-area-box .background img {
    width: 100%;
    object-fit: cover;
  }
}

@media screen and ( max-width:1050px) {
  /* =============================================
    タブレット用以下：共通
  ============================================= */
  .sp_block {
    display: none;
  }
  .pc_block {
    display: block;
  }
  .home .main_contents h2, #news h2 {
    font-size: calc(50px - 20%);
  }
  .home .main_contents h2 span, #news h2 span {
    /* font-size: 15.2px; %指定すると親の指定と2重で調整されるのでpxで指定 */
    font-size: 32.6%;
  }
  /* =============================================
    タブレット用以下：ヘッダー
  ============================================= */
  #header .box-outer {
    padding: 15px 25px;
  }
  #header .global-navi ul li {
    padding: 0 6px;
    font-size: 13px;
  }

  /* =============================================
    タブレット用以下：メインエリア
  ============================================= */
  /* パンくずリスト・トピックパス */
  .breadcrumb {
    flex-wrap: wrap;
  }
  .breadcrumb-outer {
    /* margin-top: 110px; SP用にheaderへ高さを持たせたいとき*/
  }

  /* =============================================
    タブレット用以下：トップ
  ============================================= */
  /* メインビジュアル */
  .mv-outer .mv-title {
    font-size: 45px;
  }
  .mv-outer img {
    position: relative;
    width: 100%;
    object-fit: cover;
  }
  /* TOP:concept */
  .concept_details h1 {
    font-size: calc(30px - 20%);
  }
  .top-intro-txt p {
    font-size: calc(18px - 20%);
    line-height: calc(34px - 20%);
  }
  .top-intro-txt .modelcase-title {
    font-size: calc(24px - 20%);
    line-height: calc(40px - 20%);
  }
  .modelcase-outer {
    /* padding: 0; */
  }
  .modelcase-inner {
    max-width: 100%;
    width: 28.5%;
  }
  .modelcase-inner .case-no p,
  .modelcase-inner .case-catch p {
    font-size: calc(20px - 20%);
  }
  .modelcase-inner .case-catch span {
    font-size: calc(15px - 20%);
  }
  .modelcase-inner .case-no span {
    font-size: calc(50px - 20%);
  }
  /* TOP:NEWS */
  .news-contents {
    max-width: 31.5%;
  }
  .news_text {
    font-size: calc(16px - 20%);
  }
  .news_images img {
    min-width: auto;
    min-height: auto;
  }
  .news_text p span {
    font-size:  calc(12px - 20%);;
  }
  /* TOP:RESERVATION */
  .reservation_text {
    padding: 35px;
  }
  .reservation_images {
    position: relative;
  }
  .reservation_images a {
    height: auto;
    border-radius: 10px;
    width: 100%;
  }
  .reservation_images img {
    height: 100%;
    border-radius: 10px;
    width: 100%;
    object-fit: cover;
  }
  .home .main_contents section .sub_catch {
    font-size: calc(18px - 20%);
  }
  /* .reservation-contents, .reservation-contents:nth-child(odd) {
    flex-direction: column;
    max-height: 100%;
  } */
  .reservation-contents:first-of-type:before {
    background-size: contain;
    width: 86.64px;
    height: 95px;
  }
  .reservation_text h4 span {
    font-size: calc(24px - 20%);
  }
  .reservation_text .reservation_info {
    font-size: calc(16px - 20%);
  }
  .reservation_text .type span, .reservation_text .max span {
    font-size: calc(14px - 20%);
  }
  .reservation_text .btn.more {
    position: relative;
    bottom: 0;
    margin-bottom: 0;
  }
  .reservation_images_soon {
    padding: 25px 0 0 0;
  }
  /* =============================================
    タブレット用以下：アーカイブページ
  ============================================= */
  .archive_item p {
    font-size:  calc(14px - 20%);
  }
  .news_date p span {
    font-size:  calc(12px - 20%);
  }
  /* サイドバー */
  #sidebar {
    padding: 45px 25px 90px 0;
  }
  #sidebar h2 {
    font-size:  calc(20px - 20%);
  }
  #sidebar ul li a {
    font-size:  calc(14px - 20%);
  }
  #sidebar ul li span {
    font-size:  calc(12px - 20%);
  }
  .wp-block-calendar {
    padding: 10px;
  }
  #wp-calendar th, #wp-calendar td {
    font-size: 12px;
  }
  /* ページャー */
  .wp-pagenavi {
    font-size:  calc(16px - 20%);
  }
  /* =============================================
    タブレット用以下：投稿ページ
  ============================================= */
  .content-box {
    margin-left: 15px;
    margin-right: 15px;
    padding-top: 0;
  }
  .geosite-area-box .background {
    width: 100%;
    height: auto;
  }
  .geosite-area-box .background img {
    height: 100%;
  }
  .news-head p {
    font-size:  calc(12px - 20%);
  }
  .archive .main_contents h1, .activity .main_contents h1, .news .main_contents h1 {
    font-size:  calc(50px - 20%);
  }
  .single .news-head h2, .single .news-body h2 {
    font-size:  calc(24px - 20%);
  }
  .single .news-body h3 {
    font-size:  calc(22px - 20%);
  }
  .single .news-body h4 {
    font-size:  calc(20px - 20%);
  }
  .contact-form-ttl p .required, .wpcf7 p .required {
    font-size:  calc(13px - 20%);
    height: auto;
  }
  .news-body p {
    font-size:  calc(16px - 20%);
  }

  /* =============================================
    タブレット用以下：固定ページ
  ============================================= */
  .page .content-body p {
    padding-bottom: 10px;
}
  .page .page-in {
    padding: 45px 0;
  }

  /* =============================================
    タブレット用以下：404
  ============================================= */
  .error404 h1 {
    font-size: calc(24px - 20%);
  }
  .error404 p {
    font-size: calc(16px - 20%);
    padding-bottom: calc(15px - 20%);
  }

  /* =============================================
    タブレット用以下：フッター
  ============================================= */
  #gotop a {
    background-size: calc(70px - 20%);
    right: 25px;
    bottom: calc(180px - 2%);
    width: 60px;
    height: 60px;
  }
  #footer, #footer small {
    font-size: 11px;
  }
}

@media screen and ( max-width:750px) {
  /* =============================================
    スマホ用以下：共通
  ============================================= */
  .home .main_contents {
    margin-top: 13.333333333333332vw;
  }
  .breadcrumb-outer {
    margin-top: 13.333333333333332vw;
  }
  .sp_block {
    display: block;
  }
  .pc_block {
    display: none;
  }
  a.external {
    padding-right: 2vw;
  }
  a.external:after {
    width: 1.733333333333333vw;
    height: 1.733333333333333vw;
  }
  /* =============================================
    スマホ用以下：ヘッダー
  ============================================= */
  #header, #header .box-outer {
    border-bottom: 5px solid #750069;
    background: #fff;
    flex-direction: column;
    width: 100%;
    height: 13.333333333333332vw;
    z-index: 100000;
  }
  #header .box-outer {
    padding: 2vw 3.333333333333333vw;
    justify-content: center;
    position: relative;
  }
  #header .box-outer h1 {
    width: 50vw;
    max-width: 100%;
  }
  #header .box-outer h1 img {
    width: 100%;
  }
  /* SP用ドロアーメニュー
  hamburger(ハンバーガーアイコン)
  =================================== */
  .hamburger {
    position: absolute;
    right: 3.666667vw;
    top: 3vw;
    width: 8.333333vw;
    height: 8vw;
    cursor: pointer;
    z-index: 100000;
    /* position: absolute;
    right: 3.666666666666667vw;
    top: 4.3vw;
    width: 5.333333333333333vw;
    height: 5vw;
    cursor: pointer;
    z-index: 100000; */
  }
  .hamburger__line {
    position: absolute;
    /* width: 5.333333333333333vw; */
    width: 8.333333vw;
    height: 2px;
    right: 0;
    background-color: #33002B;
    transition: all 0.5s;
  }
  .hamburger__line--1 {
    /* top: 2px; */
    top: 0.333vw;
  }
  .hamburger__line--2 {
    /* top: 2.33333333333333vw; */
    top: 3.333333vw;
  }
  .hamburger__line--3 {
    /* top: 4.266666666666667vw; */
    top: 6.266667vw;
  }
  /*ハンバーガーがクリックされたら*/
  .open .hamburger__line--1 {
    transform: rotate(-45deg);
    top: 3.466666666666667vw;
  }
  .open .hamburger__line--2 {
    opacity: 0;
  }
  .open .hamburger__line--3 {
    transform: rotate(45deg);
    top: 3.466666666666667vw;
  }
  /* 
  sp-nav(ナビ)
  =================================== */
  .sp-nav {
    position: fixed;
    top: -100%; /*ハンバーガーがクリックされる前はWindow上部に隠す*/
    left: 0;
    width: 100%; /* 出てくるスライドメニューの幅 */
    height: auto;
    background-color: #fff;
    transition: all 0.5s;
    z-index: 1000;
    overflow-y: auto;
  }
  .sp-nav .menu li a {
    color: #33002B;
    display: block;
    font-weight: 600;
    height: 7.333333333333332vw;
    line-height: 7.333333333333332vw;
    text-decoration: none;
  }
  .sp-nav .menu li a:focus {
    color: 750069;
  }
  .sp-nav .menu li {
    border-bottom: 1px solid #750069;
  }
  /*ハンバーガーがクリックされたら上からスライド*/
  .open .sp-nav {
    top: 13.333333333333332vw;
  }
  /* black-bg(ハンバーガーメニュー解除用bg)
  =================================== */
  .black-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-color: #750069;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
    cursor: pointer;
    z-index: 100;
  }
  /*ハンバーガーメニューが開いたら表示*/
  .open .black-bg {
    opacity: 0.3;
    visibility: visible;
  }

  /* =============================================
    スマホ用以下：トップ
  ============================================= */
  /* TOP共通 */
  .home .main_contents section {
    margin-top: -10.333333333333332vw;
    padding-top: 10.333333333333332vw;
  }
  .home .main_contents section .concept_details, .home .main_contents section .news_details, .home .main_contents section .reservation_details, .home .main_contents section .faq_details, .home .main_contents section .access_details {
    padding: 15.75vw 5.208333333333333vw;
  }
  .home .main_contents h2, #news h2 {
    font-size: 6.666666666666667vw; /* 50px */
    padding-bottom: 5.333333333333333vw;
  }
  .home .main_contents .top-intro-txt h2 {
    font-size: 3.2vw;
    line-height: inherit;
  }
  .home .main_contents h2 span, #news h2 span {
    font-size: 2.666666666666667vw; /* 20px */
    margin-top: 2vw; /* 15px */
  }
  /* メインビジュアル */
  .mv-outer {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  .home .mv-outer:after {
    background-size: contain;
    height: 10vw;
    bottom: -3px;
  }
  .geosite-area-box .multiply:after {
    height: 7vw;
    bottom: 0;
    background-size: cover;
  }
  .mv-inner {
    width: 100%;
    padding-top: 100%;
  }
  .mv-outer img {
    /* display: none; */
  }
  .mv-outer .mv-title {
    font-size: 7vw;
  }
  .mv-title span {
    font-size: 3.5vw;
    padding-top: 2.666666666666667vw;
  }
  /* TOP:concept */
  #concept {
    /* background: url(../images/concept_bg.png), url(../images/concept_bg_foot.png);
    background-position: center 115px, center bottom;
    background-repeat: no-repeat, no-repeat;
    background-size: contain, contain; */
    padding-bottom: 12vh;
  }
  .home .main_contents section .concept_details {
    padding-top: 12vw;
  }
  .home .main_contents section .concept_details img {
    max-width: 100%;
  }
  .concept_details:before {
    content: none;
  }
  .concept_details h1 {
    font-size: 4vw; /* 30px */
    word-break: break-word;
    padding-bottom: 4vw;
  }
  .concept_details h1 span {
    font-size: 2.933333333333333vw;
  }
  .modelcase-images {
    padding: 10vw 0;
  }
  .modelcase-images img {
    width: 100%;
  }
  .top-intro-txt p {
    font-size: 2.4vw;
    line-height: 4.533333333333333vw;
    padding-bottom: 2.666666666666667vw;
  }
  .top-intro-txt p small {
    font-size: 65%;
    width: 60%;
    margin: auto;
  }
  .top-intro-txt .modelcase-title {
    font-size: 3.2vw;
    padding-top: 10.5vw;
  }
  .modelcase-outer {
    flex-direction: column;
    padding: 0;
  }
  .modelcase-inner {
    max-width: 100%;
    width: 100%;
    padding-bottom: 0;
  }
  .modelcase-inner .case-image {
    margin-top: 4.166666666666667vw;
    margin-bottom: 4.166666666666667vw;
  }
  .modelcase-inner .case-no p,
  .modelcase-inner .case-catch p {
    font-size: 2.666666666666667vw;
  }
  .modelcase-inner .case-no span {
    font-size: 10.416666666666667vw;
  }
  .modelcase-inner .case-catch span {
    font-size: 2vw;
  }
  .modelcase-inner .case-catch img {
    width: 5vw;
  }
  /* TOP:NEWS */
  .news_inner {
    justify-content: center;
    flex-direction: column;
    flex-wrap: nowrap;
    padding: 5.333333333333333vw 0 4.166666666666667vw 0;
    margin-bottom: 0;
  }
  .news-contents, .news_inner .news-contents {
    max-width: 100%;
    margin-bottom: 6.25vw;
    width: 100%;
  }
  .news_inner a {
    max-width: 100%;
  }
  .news-contents:last-of-type {
    margin-bottom: 0;
  }
  .news-contents a {
    display: block;
    padding-left: 5.208333333333333vw;
    padding-right: 5.208333333333333vw;
  }
  .news_images img {
    min-width: auto;
    min-height: auto;
  }
  .news_text {
    font-size: 2.133333333333333vw;
  }
  .news_text p span {
    font-size: 2.5vw;
  }
  .news_date p span {
    font-size: 1.6vw;
  }
  /* TOP:RESERVATION */
  #reservation {
    background: url(../images/sp_reservation_head_bg.png), url(../images/sp_reservation_foot_bg.png);
    background-position: center 100px, center bottom;
    background-size: 77%, contain;
    background-repeat: no-repeat, no-repeat;
  }
  #reservation:before {
    height: 30.333333vw;
    left: 0;
    right: 0;
    width: 30.333333vw;
    margin: auto;
    top: -5px;
  }
  .home .main_contents section .sub_catch {
    font-size: 2.4vw;
    padding-top: 0;
  }
  .reservation_inner {
    /* padding-bottom: 16.666666666666667vw; */
    padding: 4vw 0;
  }
  .reservation_details > .btn.more {
    margin: 0;
  }
  .reservation-contents {
    margin: 6.25vw 0;
    flex-direction: column;
  }
  .reservation-contents:nth-child(even) {
    flex-direction: column;
  }
  .reservation_details .reservation_images a {
    position: relative;
  }
  .reservation_details .reservation_images img {
    height: 100%;
    border-radius: 10px;
    width: 100%;
    object-fit: cover;
  }
  .reservation_text,
  .reservation_images {
    width: 100%;
  }
  .reservation_text {
    padding: 6.25vw;
    position: relative;
  }
  .reservation_text h4 {
    font-size: 4vw;
    display: block;
    line-height: 1;
  }
  .reservation_text h4 span {
    font-size: 3.2vw;
  }
  .reservation_text .reservation_info {
    font-size: 100%;
    padding: 0;
    margin-top: 0;
  }
  .reservation_text .btn.more {
    width: 50vw;
  }

  /* =============================================
    スマホ用以下：カテゴリー/検索 一覧
  ============================================= */
  /* 施設の案内：reservation */
  .reservation .mv-outer:before {
    height: 13.333333333333332vw;
  }
  /* NEWS */
  .archive .box-outer {
    flex-direction: column;
    max-width: 100%;
  }
  .archive-box {
    min-width: 100%;
    padding: 12.25vw 5.208333333333333vw;
  }
  .archive-box .news_inner .news-contents {
    max-width: calc(50% - 2vw);
    margin-bottom: 4vw;
  }
  .archive-box .news_inner {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0;
  }
  .archive-box .news_inner:after {
    content: none;
  }
  .archive .main_contents h1,
  .news .main_contents h1,
  .activity .main_contents h1 {
    font-size: 10.416666666666667vw;
    padding-top: 10vw;
    font-weight: 600;
  }
  .archive .main_contents h1 span,
  .news .main_contents h1 span,
  .activity .main_contents h1 span {
    font-size: 4.166666666666667vw;
    margin-top: 2vw;
  }
  .archive_item h2 {
    font-size: 5vw;
    margin-bottom: 1.333333333333333vw;
  }
  .archive_item a {
    padding: 4vw;
    display: flex;
    justify-content: center;
  }
  .archive_item p {
    font-size: 2.916666666666667vw;
    padding-bottom: 0.625vw;
  }
  .archive_details {
    margin-bottom: 1.333333333333333vw;
  }
  /* パンクズリスト */
  .breadcrumb li, .breadcrumb li a {
    font-size: 1.6vw;
  }
  .breadcrumb li a:after {
    font-size: 1.466666666666667vw;
  }
  /* ページャー */
  .wp-pagenavi {
    font-size: 2.133333333333333vw;
  }
  .archive_item .wp-pagenavi a {
    padding: 0.625vw 1.041666666666667vw;
    width: 6.25vw;
    height: 6.25vw;
    line-height: 5.416666666666667vw;
  }
  .archive_item .wp-pagenavi .nextpostslink,
  .archive_item .wp-pagenavi .previouspostslink {
    width: 2vw;
    height: 4vw;
    padding: 0.4vw 2.083333333333333vw;
  }
  .wp-pagenavi a, .wp-pagenavi span {
    margin: 0.416666666666667vw 1.666666666666667vw;
  }
  .wp-pagenavi span.current {
    width: 6.25vw;
    height: 6.25vw;
    line-height: 5.416666666666667vw;
  }
  .wp-pagenavi .pages {
    height: 6.25vw;
    line-height: 5.416666666666667vw;
  }
  /* サイドバー */
  #sidebar {
    min-width: 100%;
    padding: 12.25vw 5.208333333333333vw;
  }
  #sidebar h2 {
    font-size: 2.666666666666667vw;
    margin-bottom: 1.666666666666667vw;
    padding-bottom: 2.083333333333333vw;
  }
  #sidebar ul {
    margin-bottom: 5.333333333333333vw;
  }
  #sidebar ul li {
    margin-bottom: 0.666666666666667vw;
  }
  #sidebar ul li a {
    font-size: 2.666666666666667vw;
    padding: 1.041666666666667vw 0;
  }
  #sidebar ul li span {
    font-size: 1.6vw;
    padding: 0.4vw 0 1.041666666666667vw 0;
  }
  #sidebar .wp-block-archives-list {
    padding: 0.4vw 0 0.666666666666667vw 0;
  }
  #calendar_wrap{
    padding-top:1.333333333333333vw;
  }
  #wp-calendar{
    font-size: 2.5vw;
    padding-top: 1.333333333333333vw;
  }
  #wp-calendar th,
  #wp-calendar td{
    margin-bottom: 1.333333333333333vw;
  }
  .wp-block-calendar {
    padding: 2vw;
    margin-bottom: 3.333333333333333vw;
  }

  /* =============================================
    スマホ用以下：投稿ページ
  ============================================= */
  /* 共通 */
  .single-box {
    padding: 6.25vw 5.208333333333333vw;
    border-radius: 2.666666666666667vw;
    margin: 5.333333333333333vw auto;
  }
  .single .single-box {
    flex-direction: column;
  }
  .archive .main_contents h1, .activity .main_contents h1, .news .main_contents h1, .activity .main_contents h1 {
    font-size: 6.666666666666667vw;
  }
  .single .news-head h2, .single .news-body h2 {
    margin-bottom: 2.666666666666667vw;
    font-size: 3.2vw;
  }
  .single .news-body h3 {
    border-radius: 5.333333333333333vw;
    font-size: 2.933333333333333vw;
    margin-bottom: 2.666666666666667vw;
  }
  .single .news-body h4 {
    font-size: 2.666666666666667vw;
    margin-bottom: 2.666666666666667vw;
  }
  .single .news-body h5 {
    font-size: 2.4vw;
    margin-bottom: 2.666666666666667vw;
  }
  .single .news-body ul,
  .single .news-body ol {
    margin-bottom: 2.666666666666667vw;
  }
  .main_contents .wp-block-table table th,
  .main_contents .wp-block-table table td {
    font-size: 2.133333333333333vw;
    padding: 0.5rem;
  }
  .single .main_contents table tbody tr,
  .single .main_contents th, .single .main_contents td {
    max-width: 100%;
  }
  .wp-block-image.size-full {
    width: 100%;
    height: auto;
    margin: 1em auto;
  }
  .wp-block-media-text__media {
    margin: 0 1em;
    width: 50%;
  }
  .wp-block-media-text__content {
    width: 50%;
  }
  /* 施設のご案内 */
  .geosite-area-box .background {
    background-position: center;
    background-size: cover;
    padding-top: 0;
    height: 100%;
    position: relative;
    display: block;
  }
  .geosite-area-box .background:before {
    content: "";
    display: block;
    padding-top: 100%;
  }
  .geosite-area-box .background img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    object-fit: cover;
    padding-bottom: 0;
  }
  .single.single-geosite .single-box {
    margin: 0 auto;
    padding: 5.333333333333333vw;
  }
  .reservation .mv-inner {
    padding-top: 0;
  }
  .reservation .multiply {
    height: 17.833333vw;
  }
  .reservation .mv-inner p {
    font-size: 3.75vw;
    bottom: 6.4vw;
  }
  .mv-nav-inner {
    margin-top: -10vw;
    z-index: 1;
    position: relative;
  }
  .mv-nav-inner .nav-img {
    height: 100%;
    width: auto;
  }
  .mv-nav-inner .nav-box img {
    width: 100%;
    height: 120px;
    object-fit: cover;
  }
  .mv-nav-inner p {
    font-size: 2.4vw;
    padding-top: 2.4vw;
  }
  .mv-nav-inner .nav-box {
    margin: 3.125vw;
  }
  .mv-nav-inner .slick-list {
    max-width: 80%;
  }
  .mv-nav-inner .prev-arrow.slick-arrow, .mv-nav-inner .next-arrow.slick-arrow {
    width: 2.916666666666667vw;
    height: 6.25vw;
  }
  .geosite-area-box .multiply {
    mix-blend-mode: normal;
    height: 15vw;
    display: block;
    position: relative;
    z-index: 0;
    left: 0;
    right: 0;
    bottom: 15vw;
    margin: auto;
  }
  .geosite-area-box .mv-inner p {
    font-size: 14px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    bottom: 0;
    padding: 10px;
  }
  .reservation-box h1 {
    font-size: 4.266666666666667vw;
    margin-bottom: 4vw;
  }
  .reservation-box h1 span {
    padding: 0 3.125vw;
    margin-right: 0;
    display: table;
    margin: auto auto 1.333333333333333vw auto;
  }
  .reservation-box h2 {
    font-size: 3.2vw;
    padding: 2.083333333333333vw 4vw;
    margin: 2.666667vw 0 4vw;
  }
  .reservation-box h3, .reservation-box h4 {
    font-size: 2.666666666666667vw;
    margin: 4.333333333333333vw 0;
    padding: 10px;
  }
  .reservation-box h4 {
    font-size: 2.4vw;
    padding: 0 10vw;
  }
  .reservation-box dl {
    padding: 2.083333333333333vw 8.333333333333332vw;
    margin-bottom: 2.666666666666667vw;
  }
  .reservation-box .exclusive dl {
    padding: 5.333333333333333vw;
  }
  .reservation-box dt, .reservation-box dd {
    padding-bottom: 1.333333333333333vw;
  }
  .reservation-box dt {
    font-size: 2.666666666666667vw;
  }
  .reservation-box .exclusive dt {
    padding-bottom: 4.3333vw;
  }
  .reservation-box .exclusive dt span {
    margin-right: 2.666666666666667vw;
    font-size: 2.666666666666667vw;
  }
  .reservation-box dd {
    font-size: 2.133333333333333vw;
  }
  .reservation-box table td, .reservation-box table th {
    font-size: 2.133333333333333vw;
    padding: 1.333333333333333vw;
    word-break: break-word;
  }
  .reservation-box p {
    margin: 2.083333333333333vw 4.333333vw;
  }
  .reservation-box .exclusive {
    margin: 4vw 0;
    background-position: center bottom;
    background-size: 21.46666666666667vw;
  }
  .reservation-box .exclusive p {
    font-size: 2.666666666666667vw;
    margin-bottom: 0;
    padding-top: 4.166666666666667vw;
    text-align: center;
  }
  .reservation-box .exclusive p span {
    padding: 1.041666666666667vw 2.083333333333333vw;
    margin: 2.083333333333333vw auto;
    font-size: 2.666666666666667vw;
    display: table;
  }
  .reservation-box .reservation-area {
    font-size: 2.666666666666667vw;
  }
  .reservation-title.btn {
    border-radius: 24px;
    margin-bottom: 10.6666vw;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .reservation-title.btn a {
    font-size: 2.666666666666667vw;
    padding: 5vw;
    text-align: center;
    max-width: 100%;
  }
  .reservation-title.btn a:hover {
    cursor: pointer!important;
  }
  .reservation-box .reservation-contact {
    font-size: 2.666666666666667vw;
    padding-bottom: 2.666666666666667vw;
  }
  .access-map {
    margin-bottom: 8vw;
  }
  /* NEWS */
  .news .single-box {
    flex-direction: column;
  }
  .news #sidebar {
    padding: 12.25vw 5.208333333333333vw;
    min-width: 100%;
  }
  .news-box {
    min-width: 100%;
    padding: 0 5.208333333333333vw;
  }
  /* NEWS */
  .news .single-box {
    padding-top: 6vw;
    padding-bottom: 0;
  }
  .news-box {
    min-width: 100%;
    padding: 0 3.333333333333333vw;
  }
  .news-box > div:not(.btn) {
    padding-left: 6.666666666666667vw;
    padding-right: 6.666666666666667vw;
  }
  .news-head h2 {
    font-size: 5vw;
  }
  .news-head {
    padding-top: 6vw;
    padding-bottom: 6vw;
  }
  .news-head p {
    font-size: 2.5vw;
    padding-bottom: 3.125vw;
  }
  .news-head .news_images {
    padding-bottom: 1.866666666666667vw;
  }
  .news-body {
    margin-bottom: 10px;
    padding-bottom: 6vw;
  }
  .news-body p {
    font-size: 2.133333333333333vw;
  }

  /* =============================================
    スマホ用以下：固定ページ
  ============================================= */
  .page .main_contents h1 {
    font-size: 6.666666666666667vw;
    font-weight: 600;
  }
  .page .main_contents h1 span {
    font-size: 2.666666666666667vw;
    margin-top: 2vw;
  }
  .page .main_contents h2 {
    margin-bottom: 5.333333333333333vw;
    padding-top: 5.333333333333333vw;
    font-size: 3.2vw;
  }
  .page .content-body p {
    padding-bottom: 2.083333333333333vw;
}
  .page .page-in {
    padding: 6vw 0;
  }
  /* 利用規約 */
  .page .term-box {
    max-width: 100%;
  }
  .page .term-box h2 {
    font-size: 4.583333333333333vw;
    margin: 4.166666666666667vw 0;
  }
  .page .term-box p {
    padding-bottom: 3.125vw;
  }
  .page .term-box ol {
    margin: 0 0 0 8.333333333333333vw;
  }
  .page .term-box li {
    padding-bottom: 1.041666666666667vw;
  }
  .page .term-box .txt_right {
    padding-top: 4.166666666666667vw;
  }

  /* ============================================ お問い合わせ フォームパーツ（contact form7） */
  .wpcf7-list-item {
    padding-bottom: .5rem;
  }
  .wpcf7 input::-webkit-input-placeholder,
  .wpcf7 textarea::-webkit-input-placeholder {
    position: relative;
    top: -0.2em;
  }
  .wpcf7 input[type='text'],
  .wpcf7 input[type='tel'],
  .wpcf7 input[type='email'],
  .wpcf7 input[type='url'],
  .wpcf7 textarea {
    padding: 10px;
  }
  .wpcf7 select {
    padding: 10px;
  }
  .main-form {
    padding: .5vw;
  }

  /* =============================================
    スマホ用以下：404
  ============================================= */
  .error404 h1 {
    font-size: 5vw;
  }
  .error404 p {
    font-size: 3.333333333333333vw;
    padding-bottom: 3.125vw;
  }

  /* =============================================
    スマホ用以下：フッター
  ============================================= */
  #footer {
    min-height: 1px;
  }
  #footer .box-outer {
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-bottom: 60px;
    padding: 30px 15px;
  }
  #footer .box-inner {
    width: 100%;
  }
  #footer small {
    padding-top: 20px;
  }
  #menu-foot_link {
    justify-content: center;
  }
  #menu-foot_link li {
    display: flex;
    width: auto;
    align-items: center;
    justify-content: space-between;
  }
  #menu-foot_link li:after {
    padding: 10px 5px;
  }
  #menu-foot_link a {
    padding: 0;
  }
  #footer .external a:after {
    top: 5px;
  }
  #footer .box-inner:first-child, #footer .box-inner:last-child {
    text-align: center;
  }
  #footer .box-inner:first-child > div {
    font-weight: 600;
    padding-bottom: 20px;
  }
  #footer .box-inner:first-child p {
    padding-bottom: 10px;
  }
  #gotop a {
    background-size: 9.333333333333333vw;
    right: 5.208333333333333vw;
    bottom: 25vw;
    width: 9.4vw;
    height: 9.4vw;
  }
}

@media screen and ( max-width:480px) {
  /* =============================================
    小サイズスマホ用以下：共通
  ============================================= */
  /* TOP共通 */
  .home .main_contents h2, #news h2 {
    font-size: 10.416666666666667vw;/*50*/
  }
  .home .main_contents .top-intro-txt h2 {
    font-size: 5vw;/*24*/
  }
  .home .main_contents h2 span, #news h2 span {
    font-size: 4.166666666666667vw;/*20*/
  }
  /* TOP:concept */
  .concept_details h1 {
    font-size: 6.25vw;/*30*/
    padding-bottom: 6.25vw;
  }
  .concept_details h1:before, .concept_details h1:after {
    padding: .8rem;
  }
  .concept_details h1 span {
    font-size: 4.583333333333333vw;/*22*/
  }
  .top-intro-txt p {
    font-size: 3.5vw;/*18*/
    line-height: 7vw;/*34*/
  }
  .top-intro-txt .modelcase-title {
    font-size: 5vw;/*24*/
    line-height: 8.333333333333333vw;
  }
  .modelcase-inner .case-no p, .modelcase-inner .case-catch p {
    font-size: 4.166666666666667vw;/*20*/
  }
  .modelcase-inner .case-catch img {
    width: 7.5vw;
  }
  .modelcase-inner .case-catch span {
    font-size: 3.125vw;/*15*/
  }
  /* TOP:NEWS */
  .news_text {
    font-size: 3.333333333333333vw;/*16*/
  }
  .news_date p span {
    font-size: 2.9vw;/*12*/
  }
  /* TOP:RESERVATION */
  .home .main_contents section .sub_catch {
    font-size: 3.5vw;/*18*/
  }
  .reservation_text h4 {
  }
  .reservation_text h4 span {
    font-size: 5vw;/*24*/
  }
  /* =============================================
    小サイズスマホ用以下：ヘッダー
  ============================================= */
  #header .box-outer h1 {
    font-size: 16px;
  }
  .sp-nav .menu li a {
    height: 12.333333vw;
    line-height: 12.5vw;
  }
  /* =============================================
    小サイズスマホ用以下：トップ
  ============================================= */
  .top-intro-txt p small {
    width: 100%;
  }
  /* =============================================
    小サイズスマホ用以下：カテゴリー/検索 一覧
  ============================================= */
  .archive_item p {
    font-size: 3.33333vw;
  }
  .news_text p span {
    font-size: 2.916666666666667vw;
    font-weight: 600;
  }
  /* サイドバー */
  #sidebar h2 {
    font-size: 4.166666666666667vw;
    margin-bottom: 1.666666666666667vw;
    padding-bottom: 2.083333333333333vw;
  }
  /* ページャー */
  .wp-pagenavi {
    font-size: 2.916666666666667vw;
  }
  .archive_item .wp-pagenavi a {
    padding: 0.625vw 1.041666666666667vw;
    width: 6.25vw;
    height: 6.25vw;
    line-height: 5.416666666666667vw;
  }
  /* =============================================
    小サイズスマホ用以下：投稿ページ
  ============================================= */
  /* 共通 */
  .single-box {
    border-radius: 4.166666666666667vw;
    margin: 8.333333333333333vw auto;
  }
  .page .single-box {
    margin: 5.333333333333333vw;
  }
  .archive .main_contents h1, .activity .main_contents h1, .news .main_contents h1, .activity .main_contents h1 {
    font-size: 10.416666666666667vw;
  }
  .single .news-head h2, .single .news-body h2 {
    margin-bottom: 4.166666666666667vw;
    font-size: 5vw;
  }
  .single .news-body h3 {
    border-radius: 8.333333333333333vw;
    font-size: 4.583333333333333vw;
    margin-bottom: 4.166666666666667vw;
  }
  .single .news-body h4 {
    font-size: 4.166666666666667vw;
    margin-bottom: 4.166666666666667vw;
  }
  .single .news-body h5 {
    font-size: 3.75vw;
    margin-bottom: 4.166666666666667vw;
  }
  .single .news-body ul,
  .single .news-body ol {
    margin-bottom: 4.166666666666667vw;
  }
  .news-head p {
    font-size: 3.125vw;
  }
  .news-box > div:not(.btn) {
    padding-left: 3.666667vw;
    padding-right: 3.666667vw;
  }
  .geosite-area-box .mv-inner p {
    font-size: 2.916666666666667vw;
    padding: 2.083333333333333vw;
  }
  /* ジオサイトコンテンツ */
  .reservation-box h1 {
    font-size: 6.666666666666667vw;
    margin-bottom: 8.333333333333332vw;
    word-break: break-word;
  }
  .reservation-box h2 {
    font-size: 5vw;
    padding: 2.083333333333333vw 6.333333333333333vw;
    margin: 6.333333333333333vw 0;
  }
  .reservation-box h3, .reservation-box h4 {
    font-size: 4.166666666666667vw;
    margin: 6.333333333333333vw 0;
    padding: 2.083333333333333vw;
  }
  .reservation-box h4 {
    font-size: 3.75vw;
    margin: 4.166666666666667vw 8.333333333333333vw;
    padding: 0 8.333333333333333vw;
  }
  .reservation-box p {
    margin: 2.083333333333333vw 4.333333vw;
    padding-bottom: 0;
  }
  .reservation-box dt {
    font-size: 4.166666666666667vw;
  }
  .reservation-box .exclusive dt span {
    font-size: 4.166666666666667vw;
  }
  .reservation-box dd {
    font-size: 3.333333333333333vw;
  }
  .reservation-box table th {
    font-size: 4.166666666666667vw;
  }
  .reservation-box table td {
    font-size: 3.333333333333333vw;
  }
  .reservation-box .exclusive p {
    font-size: 2.666666666666667vw;
  }
  .reservation-box .reservation-area {
    font-size: 4.166666666666667vw;
  }
  .reservation-box .reservation-contact {
    font-size: 3.333333333333333vw;
  }
  .reservation-title.btn a {
    font-size: 4.416666666666667vw;
    padding: 5vw;
  }
  /* NEWS */
  .news-body p {
    font-size: 3.333333333333333vw;
  }
  /* パンくずリスト */
  .breadcrumb li, .breadcrumb li a {
    font-size: 11px;
  }
  .breadcrumb li a:after {
    font-size: 10px;
  }
  /* ジオサイト画像スライダー */
  .geosite-area-box .multiply {
    height: 17vw;
  }
  .geosite-area-box .multiply:after {
    content: "";
    position: absolute;
    height: 8vw;
    bottom: 0;
    background-size: cover;
    background-repeat: no-repeat;
  }
  .mv-nav-inner {
    margin-top: -17vw;
  }
  .mv-nav-inner .nav-box img {
    height: 80px;
  }
  /* サイドバー */
  #sidebar ul {
    margin-bottom: 8.333333333333332vw;
  }
  #sidebar ul li a {
    font-size: 3.125vw;
    padding: 2.041666666666667vw 0;
  }
  #sidebar ul li span {
    font-size: 3.125vw;
    padding: 1.4vw 0 2.041666666666667vw 0;
  }
  /* コンタクトフォーム７ */
  .contact-form-ttl p .required, .wpcf7 p .required {
    font-size: 2.708333333333333vw;
    height: 5vw;
  }
  .wpcf7 input[name="your-name"], .wpcf7 input[name="your-furi"], .wpcf7 input[name="parent-name"], .wpcf7 input[name="parent-furi"], .wpcf7 input[name="tel-no"] {
    width: 70%;
  }
  .wpcf7 input[name="your-email"], .wpcf7 input[name="your-email_confirm"], .wpcf7 input[name="your-add"], .wpcf7 textarea[name="your-message"] {
    width: 100%;
  }

  /* =============================================
    小サイズスマホ用以下：固定ページ
  ============================================= */
  .page .main_contents h1 {
    font-size: 6.5vw;
  }
  .page .main_contents h1 span {
    font-size: 4.166666666666667vw;
    margin-top: 3.125vw;
  }
  .page .main_contents h2 {
    margin-bottom: 8.333333333333333vw;
    padding-top: 8.333333333333333vw;
    font-size: 5vw;
  }
  .page .content-body p {
    padding-bottom: 2.083333333333333vw;
}
  .page .page-in {
    padding: 6vw 0;
  }
  .main_contents .wp-block-table table th, .main_contents .wp-block-table table td {
    font-size: 3.125vw;
  }
  /* =============================================
    小サイズスマホ用以下：404
  ============================================= */
  /* =============================================
    小サイズスマホ用以下：フッター
  ============================================= */
  #footer .box-outer {
    padding-left: 0;
    padding-right: 0;
  }
  #footer, #footer small {
    font-size: 12px;
  }
  /* 翻訳プラグイン調整 */
  #glt-translate-trigger {
    width: 45px;
    height: 45px;
  }
  #glt-translate-trigger img {
    width: 100%;
    height: auto;
  }
}

/* 大画面対応：ジオサイトメインビジュアル */
@media screen and (min-width:1933px) {
  .home .mv-outer:after,
  .geosite-area-box .multiply:after {
    content: "";
    background: url(../images/mv-line.svg);
    background-position: bottom left;
    background-repeat: repeat-x;
    background-size: contain;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    height: 170px;
    z-index: 1;
  }
  .home .mv-outer:after {
    bottom: -85px;
  }
  .geosite-area-box .multiply {
    height: 220px;
  }
  .geosite-area-box .background img {
    padding-bottom: 90px;
  }
  .mv-nav-inner {
    margin: -60px auto auto auto;
  }
}
@media screen and (min-width:2700px) {
  .home .mv-outer:after, .geosite-area-box .multiply:after {
    content: none;
  }
  .geosite-area-box .multiply {
    height: 70px;
  }
  .geosite-area-box .background img {
    padding-bottom: 0;
  }
  .mv-nav-inner {
    margin: auto;
  }
}