/* Css by Dan */

body {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    color: #333;
    line-height: 1.5;
}

picture {
    display: block;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    width: calc(100% - 30px);
}

.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.u-sp,
.navmn,
.menu {
    display: none !important;
}



/* Header */

.header {
    position: relative;
    width: 100%;
    z-index: 20;
    background-color: #fff;
}

.header_inner {
    padding: 0 51px 21px;
}

.header_inner>.flex {
    justify-content: space-between;
}

.header.u-scroll .header_scroll {
    visibility: visible;
    opacity: 1;
    width: fit-content;
}

.header_main li a {
    padding: 0 20px;
    display: block;
    text-align: center;
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
    font-family: "Zen Maru Gothic", serif;
    border-right: 1px solid #E2DFD2;
    transition: all .5s;
    transform-origin: center;
}
.header_main li a:hover {
    animation: zoom 0.5s;
    transform: scale(1.04);
}


.logo {
    padding-top: 23px;
    position: relative;
    width: 24%;
}

.logo p {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
    margin-top: 16px;
}

.logo>img {
    position: absolute;
    top: 94%;
    left: -52px;
    z-index: 10;
}

.header_menu {
    width: 70%;
    text-align: right;
}
.header_menu.flex-menu {
  width: 100%;
  position: fixed;
  right: 0;
  top: -110px;
  background:rgba(255,255,255,0.9);
  transition: 0.5s;
  padding: 0 51px;
}
.header_menu.flex-menu.active {
  top: 0;
  transition: 0.5s;
  padding: 0 51px 30px;
}

.header_top ul.flex {
    justify-content: flex-end;
    gap: 5px;
}

.header_main ul.flex {
    justify-content: flex-end;
}

.header_top a {
    border-radius: 0 0 10px 10px;
    text-align: center;
    color: #fff;
    display: block;
    padding: 16px 0 13px;
    font-size: 17px;
    font-weight: bold;
    font-family: "Zen Maru Gothic", serif;
    transform: translateY(-5px);
}

.header_top-04 a {
    background-color: #86BB8A;
}

.header_top li {
    width: 176px;
    max-width: 23%;
}

.header_top a img {
    margin-right: 10px;
    vertical-align: middle;
}

.header_top-01 a {
    background-color: #EF91AA;
}

.header_top-02 a {
    background-color: #F4B03F;
}

.header_top-03 a {
    background-color: #76B1C3;
}

@keyframes fadeBot {
    25% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-2px);
    }

    75% {
        transform: translateY(0);
    }
}

.header_top a:hover {
    animation: fadeBot 0.5s;
}

.header_main {
    margin-top: 22px;
}

.header_main li:first-child {
    border-left: 1px solid #E2DFD2;
}

.header_scroll {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 5;
    transition: .5s;
    opacity: 0;
    visibility: hidden;
}

.header_scroll a.u-hvZoom {
    transform-origin: top left;
}

.u-hvZoom {
    transition: all .5s;
    transform-origin: center;
    display: block;
}

.u-hvZoom:hover {
    animation: zoom 0.5s;
    transform: scale(1.04);
}

@keyframes zoom {
    25% {
        transform: scale(1.02);
    }

    50% {
        transform: scale(1.04);
    }

    75% {
        transform: scale(1.03);
    }

    100% {
        transform: scale(1.04);
    }
}


.wp-pagenavi {/* 全体 */
    margin: 0 0 35px;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
  width: 100%;
}
.wp-pagenavi a {/* フォント色 */
    color: #4a4a4a;
}
.pages {/* 左の表記 */
    margin-right: 20px;
}
.wp-pagenavi .current,
.wp-pagenavi a.page {/* ボタン */
    margin: 0 8px 6px;
    display: inline-block;
    border: solid 1px #E2DFD2;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    line-height: 40px;
    text-align: center;
    transition: 0.3s;
}
.wp-pagenavi .current {/* カレント数字 */
    background: #76B1C3;
    color: #fff;
  transition: 0.3s;
  border: 1px solid #E2DFD2;
}
.wp-pagenavi a.page:hover {/* マウスオーバー */
    background: #76B1C3;
    color: #fff;
  transition: 0.3s;
}
.wp-pagenavi .first,
.wp-pagenavi .extend {/* ... */
    margin-right: 10px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {/* 記号の削除 */
    display: none;
}

/* mainvs */
.mainvs_item img {
    width: 100%;
}

.mainvs {
    position: relative;
    z-index: 2;
    padding: 13px 0;
}

.mainvs_contain {
    max-width: 1758px;
    margin: 0 auto;
    position: relative;
    width: calc(100% - 40px);
}

.mainvs_img {
    position: relative;
}

.mainvs_text {
    position: absolute;
    bottom: 63px;
    right: 119px;
    background-color: #fff;
    border-radius: 50px;
    padding: 14px 46px 14px 30px;
}

.mainvs_title {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
}

.mainvs_text .flex {
    align-items: center;
}

.mainvs_date {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #AAA;
    margin-right: 18px;
    margin-left: 16px;
}

.mainvs_cate {
    font-size: 17px;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #76B1C3;
    font-family: 'Zen Maru Gothic', serif;
    margin-left: 5px;
}

.mainvs_icon01-1 {
    position: absolute;
    top: 20px;
    right: 57px;
    transform: rotate(30deg);
}

.mainvs_icon01-2 {
    position: absolute;
    top: 82px;
    right: -12px;
    transform: rotate(10deg);
}


.mainvs_icon02-1 {
    position: absolute;
    bottom: 8px;
    left: -4px;
    transform: rotate(-20deg);
}

.mainvs_icon02-2 {
    position: absolute;
    bottom: -69px;
    left: 74px;
    transform: rotate(30deg);
}

.mainvs_icon03 {
    position: absolute;
    left: 10px;
    bottom: -89px;
    z-index: -1;
}

.contactFix {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 18;
}

.contactFix.ftel {
  transform: translateY(20px);
  opacity: 0;
  transition: .5s;
}
.contactFix.ftel.show {
  transform: translateY(0);
  opacity: 1;
}

.TopHead {
    text-align: center;
}

.aboutUs {
    padding: 5px 0 100px;
    overflow: hidden;
}

.TopHead_title {
    margin-top: 20px;
    padding: 28px 0 35px;
    font-family: 'Zen Maru Gothic', serif;
    font-weight: bold;
    font-size: 35px;
    line-height: 51px;
    background: url("../img/bg_HeadTitle.png") left top;
  background-repeat: no-repeat;
}

.TopHead_title span {
    font-size: 20px;
}

.aboutUs_text h3 {
        font-size: 27px;
    font-weight: bold;
    letter-spacing: 0.05em;
    font-family: 'Zen Maru Gothic', serif;
    color: #fff;
    margin-bottom: 36px;
}
.aboutUs_text h3 span{
    background-color: #86BB8A;
    padding: 5px 20px 5px 22px;
    display: inline-block;
}
.aboutUs_text h3 span:nth-child(3) {
    margin-top: 10px;
}
.aboutUs_text {
    width: 47%;
    padding-top: 24px;
}

.aboutUs .TopHead {
    margin-bottom: 49px;
}

.aboutUs .TopHead_title {
    padding: 28px 0 32px;
}

.aboutUs_text p {
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
}

.aboutUs_img {
    width: 47.5%;
    position: relative;
}

.aboutUs_icon01 {
    position: absolute;
    top: -25px;
    right: -17px;
    width: 50px;
    object-fit: contain;
    transform: rotate(30deg);
}

img.aboutUs_icon02 {
    width: 58px;
    transform: rotate(10deg);
    position: absolute;
    right: -69px;
    top: 29px;
}

.notice {
    position: relative;
    z-index: 1;
    padding-bottom: 100px;
    overflow: hidden;
}
.u-bgGray {
  position: relative;
}
.u-bgGray::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: calc(100% - 58px);
    background-color: #F1EFE8;
    z-index: -1;
    opacity: 0.3;
}

.notice .TopHead {
    margin-bottom: 20px;
}

.notice_slide .slick-list {
    padding-top: 20px;
    margin-right: -45px;
}

.notice_slide .slick-slide {
    padding-right: 45px;
}

.notice_item .notice_img {
    border-radius: 30px;
    overflow: hidden;
}

.notice_img.is-noimg {
    height: 280px;
    display: flex;
    background-color: #fff;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.notice_img.is-noimg p {
    font-size: 18px;
    letter-spacing: 0.1em;
    font-weight: 500;
    font-family: 'Zen Maru Gothic', serif;
    color: #C8C6BB;
    text-align: center;
    margin-top: 18px;
}

.notice_meta.flex {
    justify-content: flex-start;
    margin-top: 16px;
    align-items: center;
}

.notice_date {
    color: #AAA;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.05em;
}

.notice_cate {
    margin-left: 14px;
    color: #76B1C3;
    border: 1px solid;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 400;
    padding: 3px 9px;
}

.notice_text h3 {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin-top: 3px;
}

a.btn {
    margin: 0 auto;
    background-color: #76B1C3;
    width: 280px;
    border-radius: 30px;
    color: #fff;
    text-align: center;
    font-size: 17px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', serif;
    box-shadow: 0 3px 9px rgb(200 198 187 / 70%);
    padding: 16px 0 19px;
}

a.btn img {
    margin-right: 10px;
}

a.notice_btn.btn {
    margin-top: 40px;
}

.policy {
    padding: 100px 0 40px;
    overflow: hidden;
}

.policy .TopHead {
    margin-bottom: 46px;
}

.policy_img {
    width: 47.5%;
    position: relative;
}

.policy_text {
    width: 47.5%;
    padding-top: 24px;
}

.policy_text h3 span {
    background-color: #86BB8A;
    padding: 5px 20px 5px 22px;
    display: inline-block;
}

.policy_text p {
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
}

.policy_item {
    margin-bottom: 60px;
}

.policy_item.flex.flex-rev {
    flex-direction: row-reverse;
}

.policy_img-01,
.policy_img-02,
.policy_img-03,
.policy_img-04,
.policy_img-05,
.policy_img-06 {
    position: absolute;
}

.policy_img-01 {
    top: -41px;
    right: 2px;
    width: 46px;
    transform: rotate(-20deg);
}

.policy_img-02 {
    top: -13px;
    right: -60px;
    width: 52px;
    transform: rotate(30deg);
}

.policy_img-03 {
    z-index: -1;
    top: 0;
    right: 0;
    transform: translate(71%, -39%);
}

.policy_text h3 {
    font-size: 27px;
    font-weight: bold;
    letter-spacing: 0.05em;
    font-family: 'Zen Maru Gothic', serif;
    color: #fff;
    margin-bottom: 36px;
}

.policy_text h3 span:nth-child(3) {
    margin-top: 10px;
}

.policy_img-04 {
    left: 6px;
    top: -55px;
    width: 46px;
    transform: rotate(-20deg);
}

.policy_img-05 {
    left: -71px;
    top: -17px;
    width: 52px;
    transform: rotate(30deg);
}

.policy_img-06 {
    left: 0;
    top: 0;
    z-index: -1;
    transform: translate(-41%, -62%);
}

.slick-slide {
    height: auto;
}

.schedule {
    padding-bottom: 100px;
    overflow: hidden;
}

.schedule_slide .slick-slide {
    height: auto;
    padding-right: 20px;
}

.schedule_box {
    margin-top: 59px;
    padding-bottom: 65px;
}

.schedule_box h3 {
    font-size: 27px;
    font-family: 'Zen Maru Gothic', serif;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 39px;
    text-align: center;
    margin-bottom: 40px;
}

.schedule_item {
    position: relative;
}

.schedule_tNum {
    position: absolute;
    top: 1px;
    left: 50%;
    transform: translatex(-50%);
    border: 5px solid #F4B03F;
    border-radius: 50px;
    color: #F4B03F;
    font-size: 24px;
    font-family: 'Zen Maru Gothic', serif;
    font-weight: bold;
    width: 96px;
    padding: 25px 0;
    text-align: center;
    background-color: #fff;
}

.schedule_slide.schedule_slideTime .schedule_item {
    padding-top: 65px;
}

.schedule_item>img {
    border-radius: 30px 30px 0 0;
    width: 100%;
}

.schedule_slide .slick-list {
    margin-right: -20px;
}

.schedule_item h4 {
    font-size: 18px;
    font-weight: 500;
    line-height: 26px;
    padding-left: 6px;
    position: relative;
    margin-top: 10px;
    font-family: 'Zen Maru Gothic', serif;
}

.schedule_item h4::before,
.schedule_item h4.is-2Event span::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background-color: #F4B03F;
    display: inline-block;
    margin-right: 6px;
    vertical-align: baseline;
}

.schedule_tNum::after {
    content: "";
    position: absolute;
    left: 142%;
    top: 37%;
    border-bottom: 3px dotted #F4B03F;
    width: 172%;
}

.schedule_slide ul.slick-dots {
    bottom: -54px;
}

.schedule_slide ul.slick-dots button::before {
    display: none;
}

.schedule_slide ul.slick-dots button {
    width: 100%;
    height: 100%;
    border-radius: 14px;
    background-color: #E2DFD2;
}

.schedule_slide ul.slick-dots li {
    width: 14px;
    height: 14px;
    margin: 0 10px;
}

.schedule_SNum {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 74px;
    text-align: center;
    padding: 18px 0 17px 4px;
    color: #fff;
    font-size: 28px;
    font-family: 'Zen Maru Gothic', serif;
    letter-spacing: 0.07em;
    line-height: 35px;
    font-weight: bold;
    border-radius: 40px;
}

.schedule_slideSche .schedule_item {
    padding-top: 37px;
}

.u-green .schedule_SNum {
    background-color: #86BB8A;
}

.schedule_SNum span {
    font-size: 18px;
}

.schedule_item h4.is-2Event::before {
    display: none;
}

.schedule_item h4.is-2Event span {
    margin-right: 21px;
}

.schedule_item.u-green h4.is-2Event span::before,
.schedule_item.u-green h4::before {
    background-color: #86BB8A;
}

.u-blue .schedule_SNum,
.schedule_item.u-blue h4::before {
    background-color: #76B1C3;
}

.u-yell .schedule_SNum,
.schedule_item.u-yell h4::before {
    background-color: #F4B03F;
}

.u-pink .schedule_SNum,
.schedule_item.u-pink h4::before {
    background-color: #EF91AA;
}

.schedule_slide ul.slick-dots li.slick-active button {
    background-color: #86BB8A;
}

.schedule_slide .slick-arrow {
    top: 55%;
}
.years .schedule_slide .slick-arrow {
  top: 50%;
}

.slick-arrow {
    width: 40px;
    height: 40px;
    background: #fff !important;
    border-radius: 40px;
    z-index: 1;
    transition: .5s;
}
.slick-arrow:hover {
  background: #fff;
}
.slick-arrow.slick-next {
    right: -20px;
}

.slick-arrow::before {
    content: "";
    width: 10px;
    height: 10px;
    border: 2px solid #9D9B91;
    transform: rotate(45deg);
    display: inline-block;
    opacity: 1;
  position: relative;
}
.slick-prev:before {
  right: -2px;
}
.slick-next:before {
  left: -2px;
}

.slick-arrow.slick-next::before {
    border-left: 0;
    border-bottom: 0;
}

.slick-prev.slick-arrow::before {
    border-right: 0;
    border-top: 0;
}

.slick-prev.slick-arrow {
    left: -20px;
}

.slick-arrow.slick-disabled {
    opacity: 0;
}

.schedule-bot {
    margin-top: 59px;
}

.schedule-bot_item {
    position: relative;
    width: calc(50% - 30px);
}

.schedule-bot_box {
    position: absolute;
    left: 18px;
    bottom: 61px;
    width: 149px;
    height: 120px;
    background: url("../img/bg_comm.png") no-repeat center/contain;
    font-family: 'Zen Maru Gothic', serif;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: rotate(-15deg);
    z-index: 2;
    padding: 48px 0;
    text-align: center;
}

.schedule-bot_txt {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    text-align: center;
    padding: 37px 0 37px;
    z-index: 1;
}

.schedule-bot_txt::after {
    content: "";
    position: absolute;
    left: 40px;
    right: 0;
    height: 100%;
    bottom: 0;
    border-radius: 60px 0 30px 0;
    opacity: 0.8;
    z-index: -1;
}

.schedule-bot_txt h3 {
    font-size: 32px;
    font-weight: bold;
    line-height: 46px;
    font-family: 'Zen Maru Gothic', serif;
    display: inline-block;
    color: #fff;
}

.schedule-bot_txt img {
    width: 35px;
    display: inline-block;
    vertical-align: sub;
    margin-right: 15px;
}

.is-yel .schedule-bot_txt::after {
    background-color: #F4B03F;
}

.schedule-bot_item a>img {
    border-radius: 30px;
    overflow: hidden;
}

.is-yel .schedule-bot_box {
    color: #F4B03F;
}

.is-pink .schedule-bot_box {
    color: #EF91AA;
}

.is-pink .schedule-bot_txt::after {
    background-color: #EF91AA;
}


.overview_flow img:nth-child(1),
.overview_flow img:nth-child(2) {
    position: absolute;
}

.overview_flow img:nth-child(1) {
    width: 52px;
    transform: rotate(10deg);
    left: -106px;
    top: 18px;
}

.overview_box {
    position: relative;
}

.overview_flow img:nth-child(2) {
    width: 45px;
    transform: rotate(30deg);
    left: -63px;
    top: -39px;
}

.overview .TopHead {
    margin-bottom: 48px;
}

.overview_table01,
.overview_table02 {
    width: calc(50% - 30px);
}

.overview_box table {
    width: 100%;
}

.overview_table01 {
    border: 1px solid #C8C6BB;
    border-radius: 15px;
    overflow: hidden;
}

.overview_table01 td {
    vertical-align: middle;
    text-align: right;
    border-right: 1px solid #C8C6BB;
    border-bottom: 1px solid #C8C6BB;
    font-size: 18px;
    line-height: 32px;
    padding: 13px 14px 15px;
    position: relative;
}

.overview_table01 td.col01 {
    width: 26.4%;
}

.overview_table01 td.col023 {
    width: 52.8%;
}

.overview_table01 td.col04 {
    width: 31.6%;
}

.overview_table01 td:last-child {
    border-right: 0;
}

.overview_table01 td.col02 {
    width: 27.3%;
}

.overview_table01 td.col03 {
    width: 25.4%;
    border-right: 1px solid #C8C6BB;
}

.u-bgBlue td {
    background-color: rgb(118 177 195 / 20%);
}

.u-bold {
    font-weight: bold;
}

.u-bgGr td {
    background-color: rgb(134 187 138 / 20%);
}

.u-bgPink td {
    background-color: rgb(239 145 170 / 20%);
}

.is-center td {
    text-align: center;
}

.overview_table01 th {
    font-weight: bold;
    font-size: 18px;
    line-height: 32px;
    padding: 14px 0 14px 19px;
    text-align: left;
    border-right: 1px solid #C8C6BB;
    border-bottom: 1px solid #C8C6BB;
}

.is-none {
    position: absolute;
    width: 105%;
    height: 1px;
    background-color: #E2DFD2;
    transform: rotate(-22deg);
    top: 31px;
    right: 0;
}

.overview_table01 tr:last-child>* {
    border-bottom: 0;
}

.overview_table01 tr:last-child>* {
    border-bottom: 0;
}

.overview_table02 table {
    font-size: 16px;
    line-height: 2;
}

.overview_table02 th {
    vertical-align: middle;
    font-weight: bold;
    background-color: rgb(241 239 232 / 60%);
    width: 21%;
    text-align: left;
    padding-left: 20px;
    border-bottom: 1px solid #D6D5CE;
}

.overview_table02 td {
    width: 79%;
    padding: 16px 0 16px 30px;
    border-bottom: 1px solid #D6D5CE;
}

.overview_table02 {
    border-top: 1px solid #D6D5CE;
}

.overview_box>p {
    font-size: 18px;
    font-weight: 400;
    line-height: 32px;
    margin-top: 17px;
}

.overview_box>p.is-gr {
    margin-top: 94px;
    text-align: center;
    color: #86BB8A;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.overview_box02 {
    margin-top: 38px;
    text-align: center;
}

.overview_inn h3 {
    font-family: 'Zen Maru Gothic', serif;
    font-size: 27px;
    text-align: center;
    font-weight: bold;
    position: relative;
    display: inline-block;
    padding-bottom: 26px;
    border-bottom: 1px dashed #E2DFD2;
    margin-bottom: 45px;
}
.overview_inn h3 span {
  position: relative;
}
.overview_inn h3 span:before {
  content: 'タクルー';
  position: absolute;
  left: 0;
  bottom: -20px;
  font-size: 14px;
  width: 100%;
  text-align: center;
}
.overview_inn h3 span.teno::before {
  content: 'テノ';
}




.overview_inn {
    text-align: center;
    border: 3px solid #F1EFE8;
    border-radius: 30px;
    padding: 57px 0 40px;
}
.overview_box02 a {
  transition: 0.3s;
  opacity: 1;
}
.overview_box02 a:hover {
  transition: 0.3s;
  opacity: 0.7;
}

.overview_inn .flex {
    align-items: center;
    margin: 0 auto;
    max-width: 778px;
}

.overview_close {
    width: 40px;
    height: 40px;
    position: relative;
}

.overview_close::before,
.overview_close::after {
    content: "";
    position: absolute;
    width: 132%;
    height: 4px;
    background-color: #C8C6BB;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.overview_close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.overview_close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.overview_box02>p {
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
    margin-top: 36px;
}

.overview {
    padding-bottom: 96px;
}

.download {
    position: relative;
    padding-bottom: 80px;
}

.download .TopHead {
    margin-bottom: 51px;
}

a.download_item {
    width: 370px;
    max-width: calc(100%/3 - 30px);
    border-radius: 40px;
    text-align: center;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', serif;
    padding: 22px 0 25px;
    box-shadow: 0 3px 9px rgb(200 198 187 / 70%);
}

a.u-bgPink.download_item {
    background-color: #EF91AA;
}

a.u-bgYl.download_item {
    background-color: #F4B03F;
}

.download_item img {
    margin-right: 15px;
}

a.u-bgBlue.download_item {
    background-color: #76B1C3;
}

.maps {
    padding: 100px 0;
}

.maps .TopHead {
    margin-bottom: 50px;
}

.maps_iframe {
    text-align: center;
}

.maps_iframe p {
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
    margin-top: 36px;
}

a.btn_ctn {
    margin: 36px auto 0;
    width: 370px;
    max-width: calc(100% - 30px);
	max-height: 80px;
    border-radius: 40px;
    text-align: center;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', serif;
    padding: 23px 0 27px;
    box-shadow: 0 3px 9px rgb(200 198 187 / 70%);
    background-color: #86BB8A;
}

a.btn_ctn img {
    margin-right: 15px;
}

.footer_top ul.flex {
    justify-content: center;
}

.footer_top li a {
    border-right: 1px solid #E2DFD2;
    font-size: 17px;
    font-weight: 500;
    line-height: 25px;
    padding: 0 20px;
    font-family: 'Zen Maru Gothic', serif;
    transition: all .5s;
  display: block;
}
.footer_top li a:hover  {
    animation: zoom 0.5s;
    transform: scale(1.04);
}
.footer_top li:first-child a {
    border-left: 1px solid #E2DFD2;
}

.footer_top {
  padding: 30px 0;
}

.footer_bottom {
    background-color: rgb(241 239 232 / 60%);
    padding: 59px 0 17px;
    text-align: center;
}

.footer_bottom p {
    font-size: 14px;
    font-weight: 400;
    line-height: 2;
    margin-top: 17px;
}

.footer_bottom p span {
    font-size: 12px;
}

.footer_bottom .flex {
    max-width: 310px;
    gap: 15px;
    margin: 30px auto 33px;
    align-items: center;
}

.footer_lgclose {
    width: 17px;
    height: 17px;
    position: relative;
}

.footer_lgclose::before,
.footer_lgclose::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background-color: #C8C6BB;
    height: 2px;
    width: 140%;
}

.footer_lgclose::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.footer_lgclose::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.footer_cpright {
    font-size: 11px;
    letter-spacing: 0.05em;
    font-weight: 400;
}

@media only screen and (max-width: 1100px) {
    .header_main li a {
        padding: 0 15px;
    }
}


@media only screen and (max-width: 1024px) {
    body.is-fixed {
        overflow: hidden;
    }

    .header_inner>.flex {
        align-items: center;
    }

    .header_inner {
        padding: 0 25px 21px;
    }

    .logo {
        padding-top: 10px;
        width: 40%;
    }

    .header_menu,
    .header_scroll {
        display: none !important;
    }

    .header.u-scroll .menu {
        position: fixed;
        right: 10px;
        top: 10px;
    }

    .menu {
        display: block !important;
        width: 70px;
        height: 70px;
        background-color: #76B1C3;
        border-radius: 20px;
        padding: 18px 18px 14px;
        cursor: pointer;
        z-index: 20;
    }

    .menu_inn {
        width: 100%;
        height: 18px;
        position: relative;
    }

    .menu_txt {
        text-align: center;
        color: #fff;
        font-family: 'Zen Maru Gothic', serif;
        font-size: 11px;
        letter-spacing: 0.1em;
        margin-top: 4px;
        font-weight: bold;
    }

    .menu_inn span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #fff;
    }

    .menu_inn span:nth-child(1) {
        top: 0;
    }

    .menu_inn span:nth-child(2) {
        top: calc(50% - 1px);
    }

    .menu_inn span:nth-child(3) {
        bottom: 0;
    }

    .navmn {
        display: block !important;
        position: fixed;
        top: 0;
        height: 100%;
        right: 0;
        width: 100%;
        z-index: 19;
        visibility: hidden;
        -webkit-transition: 0.3s ease-out;
        -o-transition: 0.3s ease-out;
        transition: 0.3s ease-out;
    }

    .navmn_overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #000000;
        opacity: 0.5;
    }

    .navmn_box {
        background-color: #fff;
        position: absolute;
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
        right: 0;
        width: 450px;
        max-width: 100%;
        top: 0;
        height: 100%;
        z-index: 102;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-transition: 0.5s ease-in;
        -o-transition: 0.5s ease-in;
        transition: 0.5s ease-in;
    }

    .navmn_inner {
        width: 100%;
        overflow-y: auto;
        padding: 15px 15px 80px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .navmn.is-open {
        visibility: visible;
    }

    .navmn .is-open {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
        -webkit-transition: 0.5s ease-out 0.1s;
        -o-transition: 0.5s ease-out 0.1s;
        transition: 0.5s ease-out 0.1s;
    }

    .navmn_box .logo {
        width: 66%;
        padding-top: 0;
        padding-left: 7px;
    }

    .is-active.menu .menu_inn span:nth-child(1) {
        top: 50%;
        left: 50%;
        width: 106%;
        transform: translate(-50%, -50%) rotate(30deg);
    }

    .is-active.menu .menu_inn span:nth-child(2) {
        top: 50%;
        left: 50%;
        width: 106%;
        transform: translate(-50%, -50%) rotate(-30deg);
    }

    .is-active.menu .menu_inn span:nth-child(3) {
        opacity: 0;
    }

    .header_top {
        margin-top: 96px;
    }

    .navmn_box .logo>img {
        left: -18px;
        width: 281px;
        object-fit: contain;
        height: 110px;
        max-width: max-content;
        top: 79%;
    }

    .navmn_list a {
        border-left: 1px solid #E2DFD2;
        font-size: 15px;
        font-family: 'Zen Maru Gothic', serif;
        font-weight: 500;
        line-height: 21px;
        padding-left: 10px;
    }

    .navmn_list {
        margin-top: 28px;
    }

    .navmn_list li {
        width: 49%;
        margin-bottom: 17px;
    }

    .navmn-ct {
        margin-top: 18px;
        padding: 0 20px;
        position: relative;
        z-index: 1;
    }

    .navmn-ct_box h4 {
        font-size: 17px;
        font-family: 'Zen Maru Gothic', serif;
        font-weight: 500;
        line-height: 25px;
        text-align: center;
        color: #86BB8A;
        margin-bottom: 5px;
    }

    .navmn-ct_box {
        border-radius: 10px;
        box-shadow: 0 0 10px rgb(200 198 187 / 30%);
        padding: 20px 0 20px;
        background-color: #fff;
    }

    img.navmn-ct_img01 {
        right: 14px;
        bottom: -34px;
        width: 66px;
        transform: rotate(15deg);
    }

    .navmn-ct_img img {
        position: absolute;
    }

    a.navmn-ct_num {
        width: 222px;
        max-width: 100%;
        margin: 0 auto;
        font-size: 30px;
        font-family: 'Zen Maru Gothic', serif;
        letter-spacing: 0.05em;
        font-weight: 900;
        color: #86BB8A;
        align-items: center;
    }

    a.navmn-ct_num img {
        margin-right: 5px;
    }

    .navmn-ct_box p {
        font-size: 14px;
        font-weight: 400;
        line-height: 29px;
        text-align: center;
    }

    img.navmn-ct_img02 {
        right: 58px;
        bottom: 18px;
        transform: translate(50%, 50%);
        z-index: -1;
        width: 136px;
    }

    .logo p {
        font-size: 11px;
        margin-top: 7px;
    }

    .header_top ul.flex {
        gap: 6px;
    }

    .header_top li {
        width: calc(50% - 3px);
        max-width: calc(50% - 3px);
    }

    .header_top a {
        border-radius: 10px;
        padding: 11px 0 13px;
        transform: none;
    }

    .header_top a:hover {
        animation: zoom 0.5s;
        transform: scale(1.04);
    }

    .mainvs_text {
        bottom: 30px;
        right: 40px;
        padding: 10px 25px 10px 15px;
    }

    .TopHead_title {
        font-size: 30px;
    }

    .notice_img.is-noimg {
        height: 259px;
    }

    .overview_table01,
    .overview_table02 {
        width: 100%;
        margin-bottom: 30px;
    }

    .overview_inn {
        padding: 45px 15px 30px;
    }

    .overview_box>p {
        font-size: 17px;
    }

    .overview_inn h3 {
        font-size: 25px;
    }

    a.download_item {
        max-width: calc(100% / 3 - 15px);
        font-size: 17px;
    }

    .footer_top li a {
        font-size: 16px;
        padding: 0 10px;
    }

    .contactFix {
        width: 50%;
    }
}


@media only screen and (max-width: 768px) {
    .u-sp {
        display: inline-block !important;
    }

    .u-hidsp {
        display: none !important;
    }

    .header.u-scroll .menu {
        right: 0;
        top: 0;
    }

    .header_inner {
        padding: 0 0 10px 22px;
    }

    .navmn_inner {
        padding-top: 10px;
    }

    .logo {
        width: 63%;
    }

    .logo>img {
        top: 98%;
        left: -25px;
        width: 280px;
        max-width: max-content;
    }

    .menu {
        border-radius: 0 0 0 20px;
    }

    .mainvs {
        padding: 35px 0 90px;
    }

    .mainvs_contain {
        width: calc(100% - 25px);
    }

    .mainvs_icon01-1 {
        top: -31px;
        right: 40px;
        width: 28px;
    }

    .mainvs_icon01-2 {
        top: -10px;
        right: -2px;
        width: 35px;
    }

    .mainvs_icon02-1 {
        bottom: -33px;
        left: -1px;
        width: 33px;
    }

    .mainvs_icon02-2 {
        left: 34px;
        width: 44px;
    }

    .mainvs_icon03 {
        left: 10px;
        bottom: -12px;
        width: 136px;
    }

    .mainvs_text {
        bottom: -65px;
        right: -12px;
        padding: 11px 0 10px 25px;
        width: 273px;
        max-width: 100%;
        border-radius: 25px 0 0 25px;
        box-shadow: 0 0 10px rgb(200 198 187 / 30%);
    }

    .mainvs_text .flex {
        display: block;
    }

    .mainvs_text img {
        display: inline-block;
        vertical-align: middle;
    }

    .mainvs_cate {
        margin-left: 3px;
        display: inline-block;
        vertical-align: middle;
    }

    .mainvs_date {
        margin-right: 0;
        margin-left: 1px;
        display: block;
        margin-top: 3px;
        margin-bottom: -2px;
    }

    .mainvs_title {
        display: block;
      margin: 4px 0 0;
    }

    .TopHead img {
        height: 47px;
    }

    .aboutUs {
        padding: 8px 0 34px;
    }

    .aboutUs .TopHead_title {
        padding: 12px 0 20px;
    }


    .TopHead img {
        height: 47px;
    }

    .TopHead_title {
        font-size: 22px;
        margin-top: 10px;
        padding: 28px 0 35px;
        line-height: 32px;
        background-image: url(../img/bg_HeadTitle-sp.png);
        background-size: 100%;
      background-repeat: no-repeat;
    }

    .TopHead_title span {
        font-size: 14px;
        line-height: 20px;
    }

    .aboutUs_img {
        width: 100%;
    }

    .aboutUs .TopHead {
        margin-bottom: 36px;
    }

    .aboutUs_text {
        width: 100%;
        padding: 30px 10px 0;
        order: 2;
    }

    .aboutUs_icon01 {
        top: -25px;
        right: 31px;
        width: 25px;
    }

    img.aboutUs_icon02 {
        width: 29px;
        right: -6px;
        top: -14px;
    }

    .aboutUs_text h3 {
        font-size: 19px;
        letter-spacing: 0;
        line-height: 27px;
        padding: 5px 10px 7px 0;
        margin-bottom: 18px;
    }

    .aboutUs_text p {
        font-size: 15px;
        line-height: 26px;
        margin-bottom: 26px;
    }

    .notice .TopHead {
        margin-bottom: 11px;
    }

    .u-bgGray::after {
        height: calc(100% - 35px);
    }

    .notice_slide .slick-list {
        margin-right: 0;
    }

    .notice_slide .slick-slide {
        padding: 0 20px;
    }

    .slick-slide .is-noimg_txt img {
        width: 82%;
        margin: 0 auto;
    }

    .notice_img.is-noimg p {
        font-size: 14px;
        margin-top: 9px;
    }

    .notice_img.is-noimg {
        height: 234px;
    }

    .notice_meta.flex {
        margin-top: 11px;
    }

    .notice_text h3 {
        margin-top:5px;
    }

    .slick-arrow {
        top: 43%;
        box-shadow: 0 3px 10px rgb(200 198 187 / 30%);
    }

    .slick-prev.slick-arrow {
        left: -4px;
    }

    .slick-arrow.slick-next {
        right: -4px;
    }

    a.notice_btn.btn {
        margin-top: 26px;
    }

    a.btn {
        padding: 14px 0 16px;
    }

    .notice {
        padding-bottom: 60px;
    }

    .policy {
        padding: 53px 0 4px;
    }

    .policy .TopHead {
        margin-bottom: 31px;
    }

    .policy_img {
        width: 100%;
    }

    .policy_text {
        width: 100%;
        padding: 20px 10px 0;
    }

    .policy_text h3 {
        font-size: 19px;
        letter-spacing: 0;
        margin-bottom: 18px;
    }

    .policy_text h3 span {
        padding: 5px 10px 6px 10px;
    }

    .policy_text p {
        font-size: 15px;
        line-height: 26px;
    }

    .policy_item {
        margin-bottom: 47px;
    }

    .policy_img-01 {
        top: 104%;
        right: 36px;
        width: 28px;
    }

    .policy_img-02 {
        top: auto;
        bottom: -26px;
        right: -4px;
        width: 32px;
    }

    .policy_img-03 {
        top: 52%;
        right: -8px;
        transform: none;
        width: 136px;
    }

    .policy_text h3 span:nth-child(3) {
        margin-top: 5px;
    }

    .policy_img-04 {
        left: auto;
        top: auto;
        bottom: -28px;
        right: -1px;
        width: 32px;
    }

    .policy_img-05 {
        left: auto;
        top: auto;
        width: 36px;
        bottom: -49px;
        right: 37px;
    }

    .policy_img-06 {
        left: auto;
        top: auto;
        transform: none;
        width: 136px;
        right: -8px;
        bottom: -60px;
    }

    .schedule_box {
        margin-top: 30px;
        padding-bottom: 65px;
    }

    .schedule_box h3 {
        font-size: 20px;
        line-height: 29px;
        margin-bottom: 29px;
    }

    .schedule_slide .slick-list {
        margin-right: 0;
        padding: 0 20px;
    }

    .schedule_slide .slick-slide {
        padding: 0 10px;
    }

    .schedule_slide .slick-prev.slick-arrow {
        left: 5px;
    }

    .schedule_slide .slick-arrow.slick-next {
        right: 5px;
    }

    .schedule_slide .slick-arrow {
        top: 57%;
    }

    .schedule_item h4 {
        font-size: 16px;
        line-height: 24px;
        margin-top: 12px;
    }

    .schedule_slide ul.slick-dots {
        bottom: -42px;
    }

    .schedule_slideSche .schedule_item h4 {
        font-size: 18px;
        line-height: 36px;
        margin-top: 5px;
    }

    .schedule_slide ul.slick-dots li {
        margin-bottom: 10px;
    width: 7px;
    height: 7px;
      margin: 0 7px;
  }
    .schedule_slideSche .slick-list {
/*        padding-bottom: 29px;*/
    }

    .schedule-bot {
        margin-top: -5px;
        padding: 0 5px;
    }

    .schedule-bot_item {
        width: 100%;
        margin: 20px 0;
    }

    .schedule-bot_item a>img {
        border-radius: 20px;
    }

    .schedule-bot_txt {
        padding: 20px 0 23px;
    }

    .schedule-bot_txt img {
        width: 24px;
        margin-right: 5px;
    }

    .schedule-bot_txt h3 {
        font-size: 20px;
    }

    .schedule-bot_txt::after {
        left: 24px;
        border-radius: 40px 0 20px 0;
    }

    .schedule-bot_box {
        left: 8px;
        bottom: 46px;
        width: 93px;
        height: 75px;
        font-size: 13px;
        line-height: 19px;
        padding: 14px 0;
    }

    .schedule {
        padding-bottom: 33px;
    }

    .overview .TopHead {
        margin-bottom: 30px;
    }

    .overview_box {
        padding: 0 5px;
    }

    .overview_table01 {
        border-radius: 10px;
    }

    .overview_table01 td.col01 {
        width: 33.4%;
    }

    .overview_table01 td.col023 {
        width: 44.8%;
    }

    .overview_table01 td.col04 {
        width: 21.6%;
    }

    .overview_table01 td.col02 {
        width: 24.3%;
        padding-top: 7px;
        padding-bottom: 6px;

    }

    .overview_table01 td.col03 {
        width: 20.4%;
        padding-top: 7px;
        padding-bottom: 6px;

    }

    .overview_table01 td {
        font-size: 15px;
        line-height: 20px;
        padding: 9px 11px;
    }

    .overview_table01 th {
        font-size: 15px;
        line-height: 26px;
        padding: 7px 0 7px 9px;
    }

    .overview_table01 tr:not(.is-center) td {
        padding-left: 0;
        padding-right: 7px;
    }

    .is-none {
        width: 114%;
        transform: rotate(-26deg);
        top: 19px;
        right: -6px;
    }

    .overview_table02 table {
        font-size: 15px;
        line-height: 26px;
    }

    .overview_table02 th {
        width: 27%;
        padding-left: 15px;
    }

    .overview_table02 td {
        padding: 10px 5px 10px 14px;
    }

    .overview_table02 {
        margin-bottom: 0;
    }

    .overview_box>p {
        font-size: 15px;
        line-height: 26px;
        margin-top: 10px;
    }

    .overview_box>p.is-gr {
        margin-top: 56px;
        text-align: left;
        letter-spacing: 0;
        font-size: 16px;
        line-height: 28px;
        padding: 0 5px;
    }

    .overview_box02 {
        margin-top: 23px;
        padding: 0 5px;
    }

    .overview_inn {
        padding: 22px 17px 28px;
    }

    .overview_inn h3 {
        font-size: 20px;
        line-height: 1.7;
        padding-bottom: 9px;
        width: 100%;
        margin-bottom: 15px;
    }

    .overview_inn .flex {
        padding: 0 6px;
        justify-content: center;
    }

    .overview_img02 {
        width: 100%;
    }

    .overview_img02 img {
        width: 179px;
        max-width: 80%;
    }

    .overview_close {
        width: 24px;
        height: 24px;
        position: relative;
        margin-bottom: 7px;
    }

    .overview_box02>p {
        font-size: 15px;
        line-height: 26px;
        margin-top: 28px;
        text-align: left;
    }

    .overview {
        padding-bottom: 51px;
    }

    .download {
        padding: 0 5px 40px;
    }

    .download .TopHead {
        margin-bottom: 31px;
    }

    a.download_item {
        font-size: 19px;
        padding: 19px 0 20px;
        margin-bottom: 20px;
        width: 100%;
        max-width: 100%;
    }

    .maps {
        padding: 53px 0 50px;
    }

    .maps .TopHead {
        margin-bottom: 30px;
    }

    .maps_iframe iframe {
        height: 240px;
    }

    .maps_iframe p {
        font-size: 15px;
        line-height: 26px;
        margin-top: 23px;
    }

    .maps_iframe a {
        margin-top: 22px;
        max-width: calc(100% - 40px);
        font-size: 19px;
        padding: 19px 0 23px;
    }

  .overview_inn h3 span:before {
    bottom: auto;
    top: -16px;
    font-size: 13px;
  }

    .footer .header_top {
        margin-top: 0;
    }

    .footer_top {
        margin-bottom: 10px;
        margin-top: 31px;
    }

    .footer_top li {
        width: 50%;
        margin-bottom: 20px;
    }

    .footer_top li a {
        font-size: 15px;
        padding: 0 10px;
        display: block;
        line-height: 21px;
        border-right:none;
        border-left: 1px solid #E2DFD2;
    }

    .footer_bottom {
        padding: 48px 0 70px;
    }

    .footer_bottom a.u-hvZoom {
        max-width: 76%;
        margin: 0 auto;
    }

    .footer_bottom p {
        margin-top: 14px;
    }

    .footer_bottom .flex {
        gap: 5px;
        margin: 19px auto 13px;
        justify-content: center;
    }

    .footer_bottom .flex img {
        width: 100%;
        height: 38px;
        object-fit: contain;
    }

    .contactFix {
        width: 81%;
        bottom: -7px;
        right: -7px;
      text-align: right;
    }
}