@charset "utf-8";/*************************************************
style.css
**************************************************/
:root {
--container-size-m: 815px;
--container-size-l: 1040px;
--container-size-lg: 1160px;
--btn-shadow: 0 3px 6px rgba(0, 0, 0, .08);
--theme-color: #D5EA4E;
--sub-color1: #E9F5A1;
--sub-color2: #4B3E2F;
}
/* ===========================
基本スタイル
=========================== */
body { position: relative; margin: 0; padding: 0; background: #FFF; color: #000; font-size: 100%; line-height: 1.6; font-family: "Noto Sans JP", sans-serif; -webkit-text-size-adjust:100%;}
body.ya {
background: #F8F5F3;
}
body.kids header,
body.ya header {
background: #FFF;
}
body.kids {
background: url("/top/images/bg_kids.png") left top repeat;
}
header,article,footer,section,h1,h2,h3,hr { clear: both;} /*-clear-*/
article ,section ,nav ,dl,ul,div { padding: 0 0 5px; overflow: auto;} /*-hasLayout-*/
input [type="text"],
input [type="button"],
input [type="submit"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 0;}
input [type="button"],
input [type="submit"] { cursor: pointer;} /*-formAppearanceClear-*/
h1,h2,h3,h4,h5,p,dl,ul,ol { margin-top: 0;}
h1{margin: 0;}
ul { list-style: none;}
ul,ol { padding-left: 0px;}
textarea { max-width: 95%;}
fieldset { margin: 0 0 1em; padding: 0 0 5px; border: none;}
a { color: #12416F; text-decoration: underline;}
a:visited { color: #527076;}
a:hover { color: #14205F;}
a:active { color: #5D0000;}
a:hover img{ opacity: 0.8;}
img { border: none; vertical-align: middle;}
#main{margin: 0; padding: 0;}
article{background-color: #fff;}
.header-menu__term a {
text-decoration: none;
}
div.locus {
padding: 0;
background: #EEF2D2;
}
.locus_wrap {
padding: 0;
}
p.locus {
margin: .7em 0;
}
p.locus span {
font-size: calc(17 / 16 * 1em);
}
.contents_inside {
max-width: var(--container-size-lg);
overflow: visible;
margin: 0 auto;
padding: 0;
}
.contents_wrap{padding: 0; margin-inline: auto;}
.menu_right,
.menu_right .contents_inside,
.menu_right .contents_wrap,
.menu_right .menu_contents {
overflow: visible;
}
.menu_right .contents_wrap {
display: flex;
justify-content: space-between;
}
.menu_right .contents_wrap .menu_section {
padding-inline: 0;
padding-block: 0;
}
#main .txt_link {
display: inline-block;
position: relative;
padding-block: 11.5px;
padding-inline: 22px 0;
border-radius:10px;
background: #FFF;
font: inherit;
font-size: 100%;
color: #000!important;
text-decoration: none;
cursor: pointer;
}
.txt_link .txt_link__txt {
display: inline-block;
position: relative;
padding-inline: 0 67px;
padding-block: 0px;
}
.txt_link .txt_link__txt::before {
content: "";
display: block;
position: absolute;
inset-block: 50% auto;
inset-inline: auto 13.4px;
z-index: 1;
width: 9.4px;
height: 7.87px;
background: url("/top/images/right_arrow_black.png") left top no-repeat;
background-size: 100% auto;
transform: translate(0, -50%);
}
.txt_link .txt_link__txt::after {
content: "";
display: block;
position: absolute;
inset-block: 0;
inset-inline: auto 31.4px;
width: 0px;
height: 60%;
margin: auto;
border-inline-start: 2px #000 dotted;
}
#main .txt_link:hover {
background: #69DD92;
}
#main .txt_link--left {
padding-inline: 0 31px;
border: none;
background: #EEF2D2;
font-size: calc(19 / 16 * 1em);
}
.txt_link--left .txt_link__txt {
padding-inline: 67px 0;
}
.txt_link--left .txt_link__txt::before {
inline-size: 9.4px;
block-size: 7.87px;
inset-inline: 23px auto;
transform: translate(0, -50%) rotate(180deg);
}
.txt_link--left .txt_link__txt::after {
inset-inline: 41.3px auto;
block-size: 80%;
}
#main .txt_link--left:hover {
background: #E9F5A1;
}
#main .txt_link--more {
background: #EEF2D2;
font-size: calc(19 / 16 * 1em);
}
.txt_link--more .txt_link__txt {
padding-inline: 0 72px;
}
.txt_link--more .txt_link__txt::before {
inset-inline: auto 20px;
}
.txt_link--more .txt_link__txt::after {
inset-inline: auto 38px;
}
#main .txt_link--more:hover{
background: #E9F5A1;
}
/* ===========================
コンテンツの幅
=========================== */
body,
#TOP { min-width: 320px; padding-bottom: 0; overflow-x: hidden; }
/* コンテンツ幅 */
.header_wrap,
.locus_wrap,
.footer_wrap,
.copyright_wrap { max-width: var(--container-size-lg); margin: 0 auto;}
.copyright_wrap { display: block;}
.contents_wrap {
max-width: var(--container-size-l);
overflow: visible;
}
.subtop .contents_wrap,
.menu_right .contents_wrap {
max-width: var(--container-size-lg);
}
body.ya .contents {
background: #FFF;
}
body.ya .contents_wrap {
max-width: var(--container-size-l);
}
/* コンテンツ内部、サイドメニュー幅 */
.contents_wrap article { width: 100%; overflow: visible;}
.contents_wrap .menu_contents {
width: 300px;
padding: 0;
}
.contents_wrap .menu_contents dl {
padding-block: 0 10px;
border-radius: 8px;
background: var(--sub-color1);
overflow: hidden;
}
.contents_wrap .menu_contents dt{
margin: 0px;
border-block-end: 6px #52D07F solid;
background: var(--theme-color);
padding-block: 16px;
font-size: calc(20 / 16 * 1em);
text-align: center;
}
.contents_wrap .menu_contents dd {
margin: 0;
padding: 0;
}
.contents_wrap .menu_contents dd a {
display: block;
position: relative;
padding-block: 16px;
padding-inline: 58px 10px;
color: inherit;
font-size: calc(17 / 16 * 1em);
text-decoration: none;
}
.contents_wrap .menu_contents dd a::before {
content: "";
display: block;
position: absolute;
inset-block: 0 0;
inset-inline: 28px auto;
inline-size: 17.05px;
block-size: 14.27px;
margin: auto;
background: url("/top/images/right_arrow-color.png") left top no-repeat;
background-size: cover;
}
.contents_wrap .menu_contents dd a:hover {
background: #E2F37C;
}
.contents_wrap .menu_contents dd + dd {
padding-top: 1px;
}
.contents_wrap .menu_contents dd + dd::before {
content: "";
display: block;
width: calc(100% - 20px);
height: 0;
margin-inline: auto;
border-block-start: 1px #000000 dashed;
}
/* no_nav - サイドメニュー不要時にbodyのclassにno_navを追記 */
.no_nav .contents_wrap article { float: none; width: 100%; max-width: 100%;}
.no_nav .contents_wrap .menu_contents { float: none; display: none;}
/*************************************************
ヘッダー
**************************************************/
header { position: relative;}
.header_wrap{
display: flex;
justify-content: space-between;
width: 100%;
padding: calc(20 / 16 * 1em) 0 1em;
}
header div { margin: 0; padding: 0; overflow: visible; }
/* ===========================
タイトル
=========================== */
header .title {
width: min(40vw, 310px);
margin-right: auto;
padding: 0;
}
header .title a {
display: block;
}
header .title a .title__logo {
max-inline-size: 100%;
}
header .title a .title__logo--white {
display: none;
}
header .title a:hover .title__logo {
opacity: 1;
}
.subtop_title_wrap,.menu_title_wrap{display: flex;justify-content: center;align-items: center;padding: 46px 5px 39px;background-color: #E7DDD2;}
.subtop_title_wrap h1,.menu_title_wrap h1{font-size: 225%;display: block;padding-bottom: 6px;border-bottom: 1px dashed var(--sub-color2);font-weight: 500;}
/* ===========================
ヘッダー セクション
=========================== */
.header_info {
display: flex;
justify-content: end;
align-items: center;
}
.header_info p {
margin: 0;
}
.btn_link {
display: inline-block;
position: relative;
padding: .47em 2em .47em 1.06em;
border: 1px var(--sub-color2) solid;
border-radius: 9999px;
background: #FFF;
color: var(--sub-color2)!important;
text-decoration: none;
transition: all .2s ease-in 0s;
}
.btn_link__inner {
display: inline-block;
position: relative;
line-height: 1.2;
padding: 0 .93em 0 1em;
border-right: 1px var(--sub-color2) dashed;
}
.btn_link__inner::before {
content: "";
display: block;
position: absolute;
left: 0;
top: 50%;
width: .74em;
height: .94em;
background: url("/top/images/icon_pin.png") center center no-repeat;
background-size: 100% auto;
transform: translate(0, -50%);
}
.btn_link--contact .btn_link__inner {
padding: 0 2em 0 0;
}
.btn_link--contact .btn_link__inner::before {
display: none;
}
.btn_link::after {
content: "";
display: block;
position: absolute;
top: 50%;
right: .8em;
width: .53em;
height: .46em;
background: url("/top/images/right_arrow.png") center center no-repeat;
background-size: 100% auto;
transform: translate(0, -50%);
}
.btn_link:hover {
background: #E7DDD2;
}
.header_info__menu {
margin-inline: calc(31 / 16* 1em) 0;
}
.button_menu {
display: grid;
grid-template-columns: 4em 46px;
place-content: center;
gap: 0 18px;
position: relative;
z-index: 105;
inline-size: 178px;
block-size: 4.4em;
padding: 0;
border: none;
border-radius: 8px;
background: var(--theme-color);
font: inherit;
font-weight: 500;
font-size: calc(18 / 16 * 1em);
cursor: pointer;
color: #473A2C;
transition: all .5s ease-in 0s;
}
.button_menu__icon {
display: block;
position: relative;
block-size: 31px;
border-bottom: 3px #473A2C solid;
transition: all .5s ease-in 0s;
}
.button_menu__icon::before,
.button_menu__icon::after {
content: "";
display: block;
position: absolute;
left: 0;
width: 100%;
height: 3px;
background: #473A2C;
transition: all .5s ease-in 0s;
}
.button_menu__icon::before {
top: 0;
}
.button_menu__icon::after {
top: 50%;
}
.button_menu[aria-expanded='true'] .button_menu__icon {
border-width: 0px;
}
.button_menu[aria-expanded='true'] .button_menu__icon::before {
top: 50%;
transform: rotate(225deg)
}
.button_menu[aria-expanded='true'] .button_menu__icon::after {
top: 50%;
transform: rotate(-225deg)
}
/* ヘッダー ページコントロール大枠 */
.sec_conf {
display: none;
position: absolute;
inset-inline: 0;
inset-block: 100% auto;
z-index: 100;
width: 100%;
max-width: var(--container-size-lg);
margin-inline: auto;
padding: 0;
border-radius: 10px;
background: var(--sub-color1);
opacity: 0;
transform: translateY(-100%);
}
.sec_conf .header_sec_wrap {
padding-block: 56px 28px;
padding-inline: 6%;
}
.sec_conf.active {
display: block;
animation: menuSlide .5s ease-in 0s forwards;
}
@keyframes menuSlide {
0% {
opacity: 0;
transform: translateY(-100%);
}
100% {
transform: translateY(0%);
opacity: 1;
}
}
.circle-icon {
position: relative;
display: inline-block;
width: 1.35em;
height: 1.35em;
border-radius: 50%;
background: #279E51;
}
.circle-icon::after {
content: "";
display: block;
position: absolute;
inset-block: 50% 0;
inset-inline: 50% 0;
width: 22.1%;
height: 35.8%;
background: url("/top/images/ico_right.png") left top no-repeat;
background-size: cover;
transform: translate(-50%, -50%);
}
/* ===========================
ページコントロール
=========================== */
.page_control {
margin: 0;
padding: 0;
}
.page_control .conf { margin: 0px; padding: 0;}
.page_control .UD {
display: grid;
grid-template-columns: repeat(2, 1fr);
margin: 0; padding: 10px 0 0;
}
.page_control dl,
.page_control dl dt,
.page_control dl dd { margin: 0; padding: 0;}
.page_control dl {
display: flex;
justify-content: end;
margin: 0; margin-left: 4px; padding: 0; overflow: hidden;
}
.page_control dl dt,
.page_control dl dd { display: flex; justify-content: center; align-items: center;}
.page_control dl dt { justify-content: start; margin-inline: 0 .5em; padding: 0;}
.page_control dl dd {margin-left: .5em;}
.page_control dl dd a { display: flex; justify-content: center; align-items: center; min-width: 35px; height: 35px; margin: 2px; padding: 0 0.2em; text-decoration: none; font-size: 1em; border: 2px solid #ccc;}
/* 文字サイズ */
.page_control dl.textsize_change {
margin: 0;
}
.page_control dl.textsize_change dd a {
color: #000;
border: 1px #B5B5B5 solid;
background-color: #E4E4E4;
border-radius: 5px;
padding-inline: .44em;
}
.page_control dl.textsize_change dd a.active {
background: var(--theme-color);
border-color: #BED33A;
}
.page_control dl.textsize_change dd a:hover {
outline: 2px #279E51 solid;
outline-offset: -1px;
}
/* 表示色 */
.page_control dl.color_change {
margin-inline: calc(28 / 16 * 1em) 0;
}
.page_control dl.color_change dd a { background-color: #fff;}
.page_control dl.color_change dd.high a { color: #fff; background-color: #000; border: none; border-radius: 5px;} /* ハイコントラスト */
.page_control dl.color_change dd.default a { color: #000; background-color: #fff; border-radius: 5px;} /* 標準 */
.page_control dl.color_change dd.blue a { color: #000; background-color: #0000FF; border: none; border-radius: 5px; color: #FFFF00;} /* ブルーコントラスト */
.page_control dl.color_change dd a:hover { border: 2px solid #279E51!important;}
/* ===========================
ページコントロール - 検索
=========================== */
.search_show {
display: none;
}
.blc_search { margin: calc(14 / 16 * 1em) 0 0; padding: 0;}
.blc_search .search_wrap,
.blc_search .search_wrap_inner { padding-bottom: 0;}
.blc_search .search_wrap {
display: flex;
justify-content: end;
gap: calc(12 / 16 * 1em);
padding: 0;
}
.page_control .blc_search label.search_txt {
display: block;
width: auto;
}
.blc_search .search_wrap_inner {
display: flex;
width: auto;
line-height: 1;
margin: 0;
padding: calc(4 / 16 * 1em);
border: 1px #CAC5BE solid;
border-radius: 5px;
background: #EDEAE8;
}
.blc_search .search_wrap_inner--focus {
background: var(--sub-color1);
}
.blc_search .search_wrap_inner input[type="text"]{inline-size: 10.8em; margin-inline: 0 .5em; padding: .13em; border: none; background: none; font: inherit; }
.blc_search .search_wrap_inner input[type="text"]:focus {
background: var(--sub-color1);
}
.blc_search .search_wrap_inner input[type="submit"]{
display: grid;
align-content: center;
inline-size: 3.2em;
block-size: 2em;
padding: 0;
padding-block: 0 .1em;
border: none;
border-radius: 5px;
background: #433627;
font: inherit;
color: #FFF;
font-size: calc(15 / 16 * 1em);
cursor: pointer;
transition: all .2s ease-in 0s;
}
.blc_search .search_wrap_inner input[type="submit"]:hover{
background: #291C0E;
}
.header-menu__outer {
margin: 0;
padding: 0;
overflow: visible;
}
.header-menu__term {
font-size: calc(22 / 16 * 1em);
}
.header-menu__btn {
display: grid;
align-items: center;
position: relative;
inline-size: 100%;
block-size: 3em;
padding-inline: 4.4% calc(3.7% + 2em);
border: none;
border-radius: 8px;
background: #FFF;
color: #000;
font: inherit;
font-weight: 500;
box-shadow: var(--btn-shadow);
text-align: start;
cursor: pointer;
}
.header-menu__btn .circle-icon {
position: absolute;
inset-block: 0;
inset-inline: auto 3.7%;
inline-size: 1.6em;
block-size: 1.6em;
margin: auto;
transition: all .2s ease-in 0s;
}
.header-menu__btn[aria-expanded="true"] .circle-icon {
transform: rotate(90deg);
}
.header-menu__btn::before {
content: "";
position: absolute;
inset-block: 0;
inset-inline: 1.9% auto;
inline-size: 4px;
block-size: 61.53%;
margin: auto;
border-radius: 10px;
background: #279E51;
}
.header-menu__inner +
.header-menu__term {
margin-block: 1.2em 0;
}
.header-menu__inner {
inline-size: 95%;
block-size: 0;
overflow: hidden;
margin-inline: auto;
padding-block: 0;
font-size: calc(19 / 16 * 1em);
transition: all .2s ease-in 0s;
display: none;
}
.header-menu__discription-wrap {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: .9em 2em;
margin: 0;
padding: 0;
}
.header-menu__discription:nth-child(1) {
grid-column: 1 / 4;
}
.header-menu__discription {
margin: 0;
padding: 0;
}
.header-menu__discription a {
position: relative;
color: inherit;
padding-inline: .89em 0;
display: block;
}
.header-menu__discription a::before {
content: "";
display: block;
position: absolute;
inset-inline: 0 auto;
inset-block: .5em auto;
inline-size: .57em;
background: url("/top/images/right_arrow.png") no-repeat;
background-size: cover;
}
.header-menu__discription a:focus,
.header-menu__discription a:hover {
text-decoration: none;
}
.header-menu__inner--active {
block-size: auto;
padding-block: 1em 0;
display: block;
}
.header-menu__list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap:  27px 26px;
overflow: visible;
margin-block: 54px 0;
padding: 0;
}
.header-menu__list__item {
margin: 0;
padding: 0;
}
.header-menu__list__item .header-menu__list__link {
display: grid;
place-content: center;
block-size: calc(65 / 22 * 1em);
border: 3px #FFF solid;
border-radius: calc(8 / 22 * 1em);
background: #52D07F;
color: #000!important;
font-size: calc(22 / 16 * 1em);
font-weight: 600;
text-decoration: none;
box-shadow: 0 3px 6px rgba(0, 0, 0, .08);
text-align: center;
}
.header-menu__list__item .header-menu__list__link:hover {
background: #D5EA4E;
}
.header-menu__footer {
margin-block: 46px 0;
}
.header-menu-close {
display: flex;
justify-content: center;
align-items: center;
gap: 0 1em;
inline-size: 7.8em;
block-size: 2.8em;
margin-inline: auto;
border: none;
border-radius: 8px;
background: #FFF;
font: inherit;
color: #473A2C;
font-weight: 500;
font-size: calc(18 / 16 * 1em);
box-shadow: var(--btn-shadow);
cursor: pointer;
}
.header-menu-close .icon {
position: relative;
display: block;
inline-size: 1.2em;
block-size: 1.13em;
}
.header-menu-close .icon::before,
.header-menu-close .icon::after {
content: "";
display: block;
position: absolute;
inset-block: 50%;
inset-inline: 0 auto;
inline-size: 130%;
block-size: 2px;
background: #473A2C;
top: 50%;
transform: rotate(225deg);
}
.header-menu-close .icon::after {
transform: rotate(-225deg);
}
.header-menu-close:hover {
background: #F8F5F3;
}
/*************************************************
カレンダー
**************************************************/
.p-open-schedule__calendar-item.p-open-schedule__calendar-item--close{
background: #E8E8E8;
}
.header-menu__discription:nth-child(1) a {
border-bottom: 3px solid var(--sub-color2);
display: block;
padding: 8px 0.89em;
}
.header-menu__discription:nth-child(1) a:before{display:none;}
/*************************************************
フッター
**************************************************/
footer {
margin-block: 180px 0;
padding-block: 71px 0;
background: url("/top/images/bg_footer.png") center top repeat-x;
background-size: auto 71px;
}
.footer_all_wrap{
padding: 0;
background: var(--theme-color);
}
.footer_wrap {
display: grid;
grid-template-columns: repeat(2, auto);
position: relative;
overflow: visible;
}
.footer-info {
display: grid;
grid-template-columns: calc(57px + 16em) auto;
gap: 0 48px;
margin-block: 0 5em;
overflow: visible;
}
.footer-info__name {
/*! display: grid; */
/*! grid-template-columns: 57px 1fr; */
/*! place-content: center; */
/*! gap: 0 .5em; */
/*! line-height: 1.3; */
text-align: center;
}
.footer-info__name__icon {
grid-row: 1 / 4;
}
.footer-info__name__icon img {
max-inline-size: 100%;
}
.footer-info__name__sub-txt {
position: relative;
padding-inline: 1.5em;
color: #B22C5E;
font-weight: 500;
font-size: calc(15 / 16 * 1em);
}
.footer-info__name__sub-txt::before,
.footer-info__name__sub-txt::after {
content: "";
position: absolute;
display: block;
inline-size: 1.5em;
block-size: 0;
border-bottom: 2px #B22C5E dashed;
transform: rotate(55deg);
}
.footer-info__name__sub-txt::before {
inset-block: .8em auto;
inset-inline: 0 auto;
}
.footer-info__name__sub-txt::after {
inset-block: auto .8em;
inset-inline: auto 0;
transform: rotate(-55deg);
}
.footer-info__name__txt-ja {
font-size: calc(34 / 16 * 1em);
}
.footer-info__name__txt-en {
font-size: calc(15 / 16 * 1em);
letter-spacing: .08em;
}
.footer-info__inner {
position: relative;
overflow: visible;
margin: 0;
padding-block: 0 calc(24 / 16 * 1em);
font-size: calc(17 / 16 * 1em);
}
.footer-info__inner-wrap {
list-style: none;
margin: 0;
padding: 0;
overflow: visible;
}
.footer-info__inner .info {
margin: 0;
}
.footer-info__sns {
position: absolute;
inset-block: 100% auto;
inset-inline: 0 auto;
display: flex;
align-items: center;
gap: 0 27px;
margin: 0;
}
.footer-info__sns__link {
display: flex;
align-items: center;
justify-content: center;
gap: 0 .4em;
inline-size: 13.8em;
block-size: 2.8em;
border-radius: 9999px;
background: #FFF;
color: inherit;
font-size: calc(15 / 16* 1em);
text-decoration: none;
}
.footer-info__sns__link.footer-info__sns__link--x {
background: #000;
color: #FFF;
}
.footer-info__sns__icon {
inline-size: 1.53em;
}
.footer-info__sns__link.footer-info__sns__link--x:hover {
outline: 3px #FFF solid;
}
.footer-info__sns__link.footer-info__sns__link--x:hover img {
opacity: 1;
}
.footer-info__sns__link.footer-info__sns__link--youtube {
inline-size: 15.5em;
color: inherit;
}
.footer-info__sns__link--youtube .footer-info__sns__icon {
inline-size: 1.93em;
}
.footer-info__sns__link.footer-info__sns__link--youtube:hover {
outline: 3px #279E51 solid;
}
.menu_footer { padding: 0;}
.menu_footer ul { display: flex; justify-content: end; gap: 0 calc(24 / 16 * 1em); margin: 0; padding: 0;}
.menu_footer li { padding: 0; font-size: calc(17 / 16 * 1em);}
.menu_footer li a {
display: flex;
align-items: center;
gap: .5em;
color: inherit;
}
.menu_footer li a .circle-icon {
transition: all .2s ease-in 0s;
}
.menu_footer li a:hover { text-decoration: none;}
.footer-qr {
display: grid;
place-content: center;
position: absolute;
inset-block: auto 0;
inset-inline: auto 0;
inline-size: 130px;
block-size: 130px;
border-radius: 8px;
background: #FFF;
box-shadow: var(--btn-shadow);
}
.copyright { clear: both; margin: 0px; padding: 0; background: #F8F5F3;}
.copyright_wrap {
display: flex;
justify-content: space-between;
align-items: center;
padding-block: 13px 9px;
}
.footer-bnr {
display: grid;
grid-template-columns: repeat(2, 1fr);
margin: 0;
padding: 0;
gap: 25px;
}
.footer-bnr__item {
margin: 0;
}
.footer-bnr__item a {
display: block;
}
.copyright__txt {
font-size: calc(15 / 16 * 1em);
}
.reread_link{
position:fixed;
bottom: 0px;
right:50px;
inline-size: 207px;
overflow: hidden;
padding: 0;
z-index: 99;
}
.reread_link a {
display: block;
width: 100%;
height: 100%;
block-size: 195px;
overflow: hidden;
}
.reread_link img {
position: absolute;
inset-block: 0 auto;
inset-inline: 0 auto;
width: 100%;
}
.reread_link a:hover img,
.reread_link a:focus img{
inset-block: auto 0;
opacity: 1;
}
/*************************************************
コンテンツ
**************************************************/
/* メニュー右 */
.menu_left .contents_wrap article { float: right;}
.menu_left .contents_wrap .menu_contents { float: left;}
/* メニュー左 */
.menu_right .contents_wrap article {
max-width: var(--container-size-m)
}
/*************************************************
サブトップ
**************************************************/
.subtop .list { display: flex; flex-wrap: wrap;}
.subtop .category  { width: 48%;}
.subtop .category.left { margin-right: 2%;}
.subtop .category.right { margin-left: 2%;}
.subtop .section { margin-bottom: 1em; background-color: #eee;}
.subtop .section ul { display: none;}
.subtop .section li.more { margin-top: 1em;}
.subtop .listopen.active .text_open,
.subtop .listopen .text_close { display: none;}
.subtop .listopen .text_open,
.subtop .listopen.active .text_close { display: block;}
/*************************************************
CMS用テンプレート  .txtbox内部
**************************************************/
/* 見出し */
h1.page_title{
margin-block: 0 50px;
padding-block: calc(18 / 16* 1em) calc(19 / 16* 1em);
padding-inline: 1em;
background: var(--theme-color);
color: #362115;
font-weight: initial;
font-size: calc(32 / 16 * 1em);
text-align: center;
}
h1.page_title .page_title__txt {
display: inline-block;
padding-block: 0 .26em;
padding-inline: .3em;
border-bottom: 1px var(--sub-color2) dashed;
font-weight: 500;
max-width: var(--container-size-lg);
}
h1.kids_title {
margin-block: 76.6px 0;
padding: 0;
padding-inline: 5%;
text-align: center;
}
h1.kids_title img {
max-inline-size: 100%;
}
.txtbox h2 {border-radius: .41em; background-color: var(--sub-color1);font-weight: initial;
padding-block: 15px;
padding-inline: 20px;
font-size: calc(25 / 16 * 1em);
}
.txtbox h3 {font-weight: initial;font-size: calc(22 / 16 * 1em);padding: 9px 13px 13px calc(.27em + 13px);border-bottom: 1px #000 dashed;position: relative;}
.txtbox h3::before {top: 0.3em;bottom: 0.3em;left: 0em;width: .27em;
background: rgb(195,220,32);
background: linear-gradient(180deg, rgba(195,220,32,1) 50%, rgba(39,158,81,1) 50%);
position: absolute;display: block;content: "";}
.subtop .txtbox h3::before {
background: var(--sub-color2);
}
.txtbox h4 {font-weight: initial;font-size: calc(22 / 16 * 1em);padding: 5px 25px;position: relative;}
.txtbox h4:before {top: 0.45em;left: 10px;width: 5px;height: 1.36em;
background: #279E51;
position: absolute;display: block;content: "";}
.txtbox h5 {font-weight: initial;font-size: calc(18 / 16 * 1em);padding: 3px 25px;position: relative;}
.txtbox h5::before {top: 0.6em;left: 0.1em;inline-size: .77em;block-size: .77em;
background: rgb(199,223,48);
background: linear-gradient(135deg, rgba(199,223,48,1) 50%, rgba(169,192,16,1) 50%);
position: absolute;display: block;content: "";
}
.txtbox h6 {font-weight: initial;font-size: calc(18 / 16 * 1em);padding: 1px 20px;padding-left: 1.2em;position: relative;}
.txtbox h6::before {top: 0.3em;bottom: 0.3em;left: 0.3em;inline-size: 4px;block-size: 1.33em;background: #B3B3B3;position: absolute;display: block;content: "";}
.txtbox h4,.txtbox h5,.txtbox h6{margin-bottom: 1em;}
/* table */
.txtbox caption {
font-size: calc(21 / 18 * 1em);
text-align: left;
}
.txtbox caption::before {
content: "■";
}
.txtbox table th,
.txtbox table td { border: 1px solid #49752D; background: #FBFFE1;} /* テーブル線の色 */
.txtbox table th { background: var(--theme-color);} /* THの色 */
/*txtbox全体*/
.txtbox{padding:20px 0;overflow: visible;}
.txtbox p,
.txtbox li,
.txtbox dl,
.txtbox table {
font-size: calc(18 / 16 * 1em);
}
.txtbox table dl,
.txtbox table li,
.txtbox table p,
.txtbox dl li,
.txtbox dl dl,
.txtbox li li {
font-size: 100%;
}
.txtbox ul > li:before {
inset-block: .6em auto;
inline-size: .45em;
block-size: .45em;
background: #433627;
}
.subtop_menu_section {padding: 0 30px 0px;overflow: visible;}
.menu_wrap {
overflow: visible;
}
ul.menu_list{display: flex;justify-content: space-between;align-items: baseline;flex-wrap: wrap;margin: 0px;overflow: visible;}
.menu_list li {display: block;width: 47.25%;margin: 20px 0;}
.menu_list li a{
display:block;
position: relative;
width: 100%;
padding-block: 20px;
padding-inline: 38px 28px;
border-radius:10px;
background: var(--sub-color1);
color: #000;
font-size: calc(21 / 16 * 1em);
text-decoration: none;
}
.menu_list li .text {
display: block;
position: relative;
padding-right: 40px;
padding-block: 8px;
}
.menu_list li .text::before {
content: "";
display: block;
position: absolute;
top: 50%;
right: 7px;
z-index: 1;
width: 17px;
height: 14px;
background: url("/top/images/right_arrow.png") left top no-repeat;
background-size: 100% auto;
transform: translate(0, -50%);
}
.menu_list li .text::after {
content: "";
display: block;
position: absolute;
top: 0;
right: 38px;
width: 0px;
height: 100%;
border-inline-start: 1px #614900 dashed;
}
.menu_list li a::before {
content: "";
position: absolute;
top: 1em;
bottom: 1em;
left: 18px;
width: 4px;
border-radius: 9999px;
background: #279E51;
}
.menu_list li a:hover {background: var(--theme-color);}
.img-box {
display: grid;
grid-template-columns: 1fr 1.25fr;
grid-template-rows: repeat(2, auto);
gap: 0 3.7%;
margin-block: 0 min(10vw, calc(46 / 16 * 1em));
padding: 40px;
border-radius: 14px;
background: var(--sub-color1);
}
.img-box__img {
grid-row-start: 1;
grid-row-end: 3;
padding: 0;
}
.img-box__img__inner {
aspect-ratio: 5 / 4;
padding: 0;
border-radius: 12px;
}
.img-box__img__inner img {
width: 100%;
height: 100%;
object-fit: cover;
max-width: none;
}
.img-box__txt {
padding: 0;
overflow: visible;
}
.img-box__txt .img-box__ttl {
font-weight: initial;
font-size: calc(24 / 16 * 1em);
padding: 9px 13px 13px calc(.27em + 13px);
border-radius: unset;
border-bottom: 1px #000 dashed;
position: relative;
}
.img-box__txt .img-box__ttl::before {
top: 0.3em;
bottom: 0.3em;
left: 0em;
width: 5px;
background: var(--sub-color2);
position: absolute;
display: block;
content: "";
}
.img-box__txt .img-box__ttl a {
color: inherit;
}
.img-box__txt .img-box__ttl a:hover {
text-decoration: none;
}
.img-box__info {
display: flex;
justify-content: space-between;
padding: 0;
overflow: visible;
}
.img-box__info__txt {
overflow: visible;
padding: 0;
}
.img-box__txt p {
margin-block: 0 .5em;
font-size: calc(19 / 16* 1em);
}
.img-box__info__link {
overflow: visible;
}
.img-box__info__link p {
font-size: calc(19 / 16 * 1em);
}
.img-box__today-info {
position: relative;
padding: 20px;
border-radius: 14px;
background: #F8F5F3;
}
.img-box__today-info__link {
position: absolute;
inset-block: 14px auto;
inset-inline: auto 14px;
font-size: calc(19 / 16* 1em);
}
.img-box__today-info__link .txt_link {
border: 2px var(--theme-color) solid;
}
#main .img-box__today-info__link .txt_link:hover {
margin: 2px;
border: none;
background: var(--theme-color);
}
.img-box__today-info__outer {
padding: 0;
overflow: visible;
}
.img-box__today-info .img-box__today-info__ttl {
margin-block: 0 .3em;
padding: 0;
border: none;
font-size: calc(20 / 16 * 1em);
}
.img-box__today-info .img-box__today-info__ttl::before {
display: none;
}
.img-box__today-info__inner {
display: flex;
gap: 0 13px;
padding: 0;
overflow: visible;
}
#main .img-box__today-info__status {
display: grid;
place-content: center;
gap: 0;
height: calc(45px + 2.5em);
margin: 0;
padding-inline: 1.2em;
border: 1px #279E51 solid;
border-radius: 6px;
background: #FFF;
font-size: calc(18 / 16 * 1em);
text-align: center;
letter-spacing: .1em;
}
.img-box__today-info__status .icon {
position: relative;
width: 45px;
aspect-ratio: 1;
}
.img-box__today-info__status .icon::after {
content: "";
display: block;
position: absolute;
}
.img-box__today-info__status--open .icon::after {
inset-inline: 0 auto;
inset-block: 0 auto;
box-sizing: border-box;
width: 100%;
height: 100%;
border: 6px #279E51 solid;
border-radius: 50%;
}
.img-box__today-info__status--close .icon::after {
inset-block: 0;
inset-inline: 0 auto;
width: 100%;
height: 6px;
margin: auto;
border-radius: calc(infinity * 1px);
background: #B9B9B9;
}
.img-box__today-info__txt {
padding: 0;
color: #362115;
}
.img-box__today-info__txt .img-box__today-info__inner__sub-ttl {
margin-block: 0 .3em;
padding: 0;
font-size: calc(18 / 16 * 1em);
}
.img-box__today-info__txt .img-box__today-info__inner__sub-ttl::before {
display: none;
}
.img-box__today-info__txt p {
margin: 0;
padding: 0;
font-size: calc(22 / 16 * 1em);
font-weight: 600;
}
.right-link {
overflow: visible;
padding: 0;
}
.right-link div {
overflow: visible;
}
.right-link h3 {
padding-inline-start: calc(.48em + 13px);
font-size: calc(24 / 16 * 1em);
}
.right-link h3 a {
color: inherit;
}
.right-link h3 a:hover {
text-decoration: none;
}
.right-link p {
font-size: calc(19 / 16 * 1em);
}
.right-link__inner {
display: flex;
justify-content: space-between;
padding: 0;
padding-inline: 1em 0;
}
#main .right-link__inner .txt_link {
background: var(--sub-color1);
}
#main .right-link__inner .txt_link:hover {
background: var(--theme-color);
}
.anchor-link {
margin-block: 0 min(10vw, calc(47 / 16 * 1em));
padding-block: 1em;
padding-inline: 2em;
background: #F8F5F3;
}
.anchor-link .anchor-link__list {
list-style: none;
margin: 0;
padding: 0;
}
.anchor-link .anchor-link__item {
position: relative;
margin: 0;
padding: 0;
padding-inline: calc(33 / 16 * 1em);
font-size: 100%;
}
.anchor-link .anchor-link__item::before {
content: "";
display: block;
position: absolute;
inset-block: .4em auto;
inset-inline: 0 auto;
inline-size: calc(22 / 16 * 1em);
block-size: calc(22 / 16 * 1em);
border-radius: 50%;
background: #279E51;
}
.anchor-link .anchor-link__item::after {
content: "";
display: block;
position: absolute;
inset-inline: .45em auto;
inset-block: .7em auto;
inline-size: .5em;
block-size: .5em;
border: 2px #FFF solid;
border-inline-start: none;
border-block-start: none;
transform: rotate(45deg);
}
.anchor-link .anchor-link__item a {
color: inherit;
font-size: calc(20 / 16 * 1em);
text-decoration: underline;
}
.anchor-link .anchor-link__item a:hover {
text-decoration: none;
}
.anchor-link .anchor-link__item +
.anchor-link__item {
margin-block: .5em 0;
}
table.noborder.nocolor img { width: 100%;}
table.noborder.nocolor th{text-align: left !important; vertical-align: baseline;}
.txtbox .faq {
overflow: visible;
margin: 0;
margin-block: 0 calc(30 / 16 * 1em);
padding: 0;
font-size: 100%;
}
.txtbox .faq__inner {
padding: calc(20 / 16 * 1em);
background: #EEF2D2;
}
.txtbox .faq__q {
position: relative;
min-block-size: calc(43 / 16* 1em);
padding-inline: calc(62 / 16* 1em) 3.5em;
padding-block: 1em;
font-weight: normal;
}
.txtbox .faq__q::before {
content: "";
display: block;
position: absolute;
inset-block: .6em auto;
inset-inline: 0 auto;
inline-size: calc(43 / 16 * 1em);
aspect-ratio: 1;
border: 2px #279E51 solid;
border-radius: calc(8 / 16 * 1em);
background: var(--theme-color);
}
.txtbox .faq__q::after {
content: "Q";
display: block;
position: absolute;
inset-block: .6em auto;
inset-inline: .45em auto;
line-height: 1;
font-size: calc(26 / 16 * 1em);
}
.faq__q__txt {
font-size: calc(18 / 16 * 1em);
}
.faq_show_hide {
display: block;
position: absolute;
inset-block: 0 auto;
inset-inline: auto 0;
inline-size: 3em;
padding: 0;
border: none;
background: none;
color: inherit;
font: inherit;
text-align: left;
cursor: pointer;
text-align: center;
}
.faq_show_hide__icon {
display: block;
position: relative;
inline-size: calc(40 / 16 * 1em);
aspect-ratio: 1;
border-radius: 50%;
margin-inline: auto;
background: #279E51;
}
.faq_show_hide__txt {
font-size: calc(15 / 16 * 1em);
}
.faq_show_hide__icon::before,
.faq_show_hide__icon::after {
content: "";
display: block;
position: absolute;
inset-block: 50% auto;
inset-inline: 50% auto;
inline-size: 60%;
block-size: 2px;
background: #FFF;
transform: translate(-50%, -50%);
}
.faq_show_hide__icon::after {
transform: translate(-50%, -50%) rotate(90deg);
}
[aria-expanded="true"] .faq_show_hide__icon::after {
display: none;
}
.txtbox .faq__a {
position: relative;
padding-block: calc(40 / 16 * 1em)  calc(13 / 16 * 1em);
padding-inline: calc(62 / 16* 1em) 1em;
border-block-start: 1px #4B3E2F dashed;
}
.txtbox .faq__a::before {
content: "";
display: block;
position: absolute;
inset-block: 2em auto;
inset-inline: 0 auto;
inline-size: calc(43 / 16 * 1em);
aspect-ratio: 1;
border: 2px #C24D7B solid;
border-radius: calc(8 / 16 * 1em);
background: #F5B3CD;
}
.txtbox .faq__a::after {
content: "A";
display: block;
position: absolute;
inset-block: 1.5em auto;
inset-inline: .55em auto;
line-height: 1;
font-size: calc(26 / 16 * 1em);
}
.txtbox .faq__a p {
padding: 0;
}
.txtbox .faq__inner +
.faq__inner {
margin-block-start: calc(30 / 16 * 1em);
}
/*
カレンダー
*/
.p-open-schedule {
text-align: center;
margin-top: calc(43 / 16 * 1em);
}
.p-open-schedule * {
margin: 0;
padding: 0;
overflow: visible;
}
.p-open-schedule__item {
padding-top: 1rem;
padding-bottom: 1rem;
padding-left: 1rem;
padding-right: 1rem;
background: #eeeeee;
border-radius: 0.8rem;
margin-bottom: 3rem;
}
.p-open-schedule__ttl {
margin-top: 0;
}
.p-open-schedule__status {
display: grid;
place-content: center;
block-size: calc(32 / 16 * 1em);
margin-block: 0 calc(9 / 16 * 1em);
}
.p-open-schedule__status-mark-img {
width: calc(32 / 16 * 1em);
}
.p-open-schedule__status-text {
font-size: calc(15 / 16 * 1em);
display: block;
}
.p-open-schedule__notes {
padding-inline: calc(9 / 15 * 1em);
font-size: calc(15 / 16 * 1em);
font-weight: normal;
text-align: left;
}
.p-open-schedule__link-item {
font-size: 1.4rem;
}
.p-open-schedule__link {
margin-bottom: 0;
}
.p-open-schedule__calendar-tbl {
table-layout: fixed;
height: 100%;
width: 100%;
}
.p-open-schedule__date {
display: none;
}
.p-open-schedule__day-parts01 {
font-size: 60%;
}
.p-open-schedule__week {
table-layout: fixed;
text-align: center;
font-weight: 500;
padding-block: 0.7rem;
}
.p-open-schedule__calendar-item {
vertical-align: baseline;
border: 1px #4B3E2F solid;
padding: 2px;
}
.p-open-schedule__calendar-item--now {
border: 4px #C73923 solid;
}
.p-open-schedule__calendar-item--now .p-open-schedule__notes{
padding-inline: calc(8 / 15 * 1em);
}
.p-open-schedule__calendar-item--close .p-open-schedule__calendar-inner {
background: #E8E8E8;
}
.p-open-schedule__calendar-item--sun .p-open-schedule__calendar-day {
background: #FED2D1;
}
.p-open-schedule__calendar-item--sat .p-open-schedule__calendar-day {
background: #C4EBF2;
}
.p-open-schedule__calendar-item--empty {
background-size: cover;
background-image: url("/top/images/img_bg-calendar-empty.png");
background-repeat: no-repeat;
}
.p-open-schedule__calendar-inner {
height: 100%;
}
.p-open-schedule__calendar-day {
line-height: 1.5;
font-size: calc(30 / 16 * 1em);
margin-bottom: calc(12 / 30 * 1em);
background: #E8E8E8;
}
.p-open-schedule__calendar-data {
padding-left: 0;
padding-block: 0 calc(8 / 16* 1em);
}
.p-open-schedule__today-item span.p-open-schedule__calendar-month {
font-size: calc(32 / 16 * 1em);
}
.p-open-schedule__calendar {
background: var(--sub-color1);
padding: calc(20 / 16 * 1em);
margin-block: 0 calc(13 / 16 * 1em);
}
.p-open-schedule__calendar-tbl {
table-layout: fixed;
height: 100%;
width: 100%;
border-collapse: collapse;
border-top: 1px #4B3E2F solid;
background: #FFF;
}
.p-open-schedule__btn .btn-prev {
float: left;
margin-bottom: 0 !important;
width: 30%;
}
.p-open-schedule__txt {
display: flex;
align-items: center;
font-weight: 500;
font-size: calc(18 / 16 * 1em);
text-align: center;
}
.p-open-schedule__txt::before {
content: "";
display: inline-block;
inline-size: calc(16 / 18 * 1em);
block-size: calc(16 / 18 * 1em);
background: #E8E8E8;
margin-inline: 0 calc(6 / 18 * 1em);
}
.p-open-schedule__btn .btn-next {
float: right;
margin-bottom: 0 !important;
width: 30%;
}
.p-open-schedule__navigation, .p-open-schedule__btn {
display: flex;
justify-content: space-between;
align-items: end;
margin-bottom: calc(12 / 16 * 1em);
}
.p-open-schedule__navigation01, .p-open-schedule__navigation02, .p-open-schedule__today {
width: 40%;
}
.p-open-schedule__next-btn {
float: right;
right: 0;
bottom: 0;
color: #000!important;
position: relative;
font-weight: 500;
padding-right: calc(23 / 18* 1em);
font-size: calc(18 / 16 * 1em);
}
.p-open-schedule__next-btn, .p-open-schedule__next-btn:link, .p-open-schedule__next-btn:visited, .p-open-schedule__next-btn:hover, .p-open-schedule__next-btn:active {
text-decoration: none !important;
}
.p-open-schedule__next-btn:before {
content: "";
position: absolute;
top: 25%;
right: 0;
margin-top: -0.35rem;
background-size: 2.2rem 2.2rem;
background-image: url("/common/images/arw03.png");
background-repeat: no-repeat;
width: 2.2rem;
height: 2.2rem;
}
.p-open-schedule__prev-btn {
float: left;
color: #000!important;
position: relative;
font-weight: 500;
font-size: calc(18 / 16 * 1em);
padding-left: calc(23 / 18 * 1em);
}
.p-open-schedule__prev-btn, .p-open-schedule__prev-btn:link, .p-open-schedule__prev-btn:visited, .p-open-schedule__prev-btn:hover, .p-open-schedule__prev-btn:active {
text-decoration: none !important;
}
.p-open-schedule__next-btn:hover,
.p-open-schedule__prev-btn:hover {
text-decoration: underline !important;
}
.p-open-schedule__prev-btn:before {
content: "";
position: absolute;
top: 25%;
right: 4.5rem;
margin-top: -0.35rem;
background-size: 2.2rem 2.2rem;
background-image: url("/common/images/arw05.png");
background-repeat: no-repeat;
width: 2.2rem;
height: 2.2rem;
}
.p-open-schedule__today {
font-weight: bold;
width: 100%;
line-height: 1;
}
.p-open-schedule__today-item {
margin: 0;
padding-block: 0 .3em;
font-weight: 500;
color: #333;
}
.p-open-schedule__today-item span {
font-size: calc(26 / 16 * 1em);
}
.p-open-schedule__today-item .p-open-schedule__calendar-parts02 {
font-size: calc(32 / 16* 1em);
}
.p-open-schedule__btn p.p-open-schedule__prev {
display: none;
}
.p-open-schedule__btn p.p-open-schedule__next {
display: none;
}
.calendar-footer {
margin-block: 10px 0;
text-align: center;
}
.kids .local-menu,
.kids .local-menu * {
padding: 0;
overflow: visible;
}
.kids .local-menu {
margin-block: 32px 0;
}
.kids .local-menu__list {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 36px 39px;
}
.kids .local-menu__item a {
display: grid;
place-content: center;
gap: 6.5px 0;
min-block-size: calc(260 / 16 * 1em);
padding-block: 0 20px;
border: 4px var(--theme-color) solid;
border-radius: 30px;
background: #FFF;
color: #362115;
text-align: center;
text-decoration: none;
}
.kids .local-menu__item a img {
max-inline-size: 67.96%;
}
.kids .local-menu__txt {
font-weight: 600;
font-size: calc(22 / 16 * 1em);
}
.kids .local-menu__item a:focus,
.kids .local-menu__item a:hover {
outline: none;
background: var(--sub-color1);
}
.kids .local-menu__item a:focus img,
.kids .local-menu__item a:hover img {
opacity: 1;
}
.kids .local-menu__item--foot {
grid-column: 2 / 4;
}
.kids .local-menu__item--foot a {
min-block-size: 0;
padding: 0;
}
.kids .local-menu__item--foot .img {
max-inline-size: 100%;
}
.kids .local-menu__item--foot .img--high,
.kids .local-menu__item--foot .img--hover {
display: none;
}
.kids .local-menu__item--foot a:focus .img,
.kids .local-menu__item--foot a:hover .img {
display: none;
opacity: 1;
}
.kids .local-menu__item--foot a:focus .img--hover,
.kids .local-menu__item--foot a:hover .img--hover {
display: inline;
}
.kids .tabmenu *,
.kids .tabmenu {
overflow: visible;
}
.kids .tabmenu {
margin-block-start: 80px;
}
.tabmenu .menu_section {
margin-block-start: 13px;
}
.ya-info__wrap {
padding: 0;
overflow: visible;
margin-block: 37px 0;
background: #F8F5F3;
}
.ya-info__wrap * {
padding: 0;
overflow: visible;
}
.ya-info__wrap .tabmenu {
max-inline-size: var(--container-size-lg);
margin: 0 auto;
padding-block: calc(63 / 16 * 1em) 0;
}
.tabmenu .menu {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 0 4.16%;
max-inline-size: calc(793 / 16 * 1em);
margin: 0 auto;
padding: 0;
}
.tabmenu .menu__list {
padding-block: 0 18px;
}
.tabmenu .menu__list a {
display: block;
position: relative;
padding-block: .73em;
outline: 3px var(--theme-color) solid;
outline-offset: -3px;
border-radius: 14px;
background: #FFF;
color: inherit;
font-size: calc(23 / 16 * 1em);
text-align: center;
text-decoration: none;
}
.tabmenu .menu__link-inner {
display: inline-block;
position: relative;
padding-inline-start: 80px;
}
.tabmenu .menu__link__icon {
position: absolute;
inset-block: auto 0;
inset-inline: 0 auto;
width: 80px;
}
.tabmenu .menu__list + .menu__list .menu__link-inner {
padding-inline-start: 70px;
}
.tabmenu .menu__list + .menu__list .menu__link-inner .menu__link__icon {
width: 86px;
}
.tabmenu .menu__list.active a,
.tabmenu .menu__list a:hover,
.tabmenu .menu__list a:focus {
outline: none;
background: var(--theme-color);
}
.tabmenu .menu__list.active a::after,
.tabmenu .menu__list a:hover::after,
.tabmenu .menu__list a:focus::after {
content: "";
display: block;
position: absolute;
inset-block: 100% auto;
inset-inline: 0;
inline-size: 0;
block-size: 0;
margin: auto;
border-block: 18px var(--theme-color) solid;
border-inline: 13px transparent solid;
border-block-end-color: transparent;
}
.tabmenu .menu__list.active a img,
.tabmenu .menu__list a:hover img,
.tabmenu .menu__list a:focus img {
opacity: 1;
}
.tabmenu .menu_section {
margin: 0;
padding-block: 34.5px;
padding-inline: 75px;
border: 4px var(--theme-color) solid;
border-radius: 16px;
background: #FFF;
}
.tabmenu .menu_section .ttl {
position: relative;
overflow: hidden;
margin: 0;
padding: 0;
}
.tabmenu .menu_section .ttl .txt {
position: absolute;
inset-block: -1px auto;
inset-inline: -1px auto;
inline-size: 1px;
block-size: 1px;
overflow: hidden;
}
.tabmenu .menu_section .more {
display: block;
margin-block: 26px 0;
text-align: center;
}
.news dl {
display: block;
border: none;
padding: 0;
}
.news dl .inner {
width: 100%;
padding-block: 1.23em 1em;
padding-inline: .53em;
border-bottom: 2px #DDDDDD solid;
}
#main .news dt .news_date {
font-size: calc(19 / 16 * 1em);
}
#main .news dt .cate_tag {
width: 6.9em;
padding: 3.2px;
margin: 0 8px;
border-radius: 9999px;
color: #2A2000!important;
font-size: 100%;
text-align: center;
text-decoration: underline;
}
.report_list__cate--01,
.news dt .cate_tag--01 {
background: #CBDF55;
}
.report_list__cate--02,
.news dt .cate_tag--02 {
background: #F0F000;
}
.report_list__cate--03,
.news dt .cate_tag--03 {
background: #AAB4DA;
}
.report_list__cate--04,
.news dt .cate_tag--04 {
background: #F5B3CD;
}
.report_list__cate--05,
.news dt .cate_tag--05 {
background: #FDAC5A;
}
.report_list__cate--06,
.news dt .cate_tag--06 {
background: #9ED8EB;
}
.report_list__cate--07,
.news dt .cate_tag--07 {
background: #D4B2F6;
}
.report_list__cate--08,
.news dt .cate_tag--08 {
background: #65E4C1;
}
#main .news dt .cate_tag:hover {
text-decoration: none;
}
.news dd {
margin-block: 13px;
}
.news dd a {
color: inherit;
text-decoration: none;
font-size: calc(18 / 16 * 1em);
}
.news dd a:hover {
text-decoration: underline;
}
.menu_contents .item img { width: 100%;}
@media screen and (width >= 1180px) {
.reread_link {
width: 149.5px;
height: 141px;
}
}
/*************************************************
レスポンシブ　タブレット 1160px + 20px
**************************************************/
@media screen and (width <= 1180px) {
#TOP,
.global_wrap,
.header_wrap,
#menu,
.locus_wrap,
.contents_wrap,
.contents_wrap article,
.contents_wrap .menu_contents { float: none; position: static; width: auto;}
.contents_wrap { display: block;}
.menu_left .contents_wrap article,
.menu_left .contents_wrap .menu_contents,
.menu_right .contents_wrap article,
.menu_right .contents_wrap .menu_contents,
body.page .contents_wrap article { float: none; width: 100%; max-width: none;}
.menu_right .contents_wrap {
flex-wrap: wrap;
}
.menu_section {
padding-block-start: 20px;
}
#main .tabmenu,
.header_wrap,
.locus_wrap,
.contents_wrap,
.copyright_wrap { margin-left: 2.5%; margin-right: 2.5%;}
.header_wrap {
padding-block: calc(11 / 16 * 1em);
}
.header_info__menu {
margin-inline: calc(14 / 16 * 1em) 0;
}
.button_menu {
grid-template-columns: 1fr;
gap: 4px;
block-size: 70px;
inline-size: 70px;
line-height: 1.3;
padding: 8px;
padding-block-start: 14px;
font-size: calc(12 / 16 * 1em);
}
.button_menu__icon {
width: 40px;
order: 1;
block-size: 27px;
margin-inline: auto;
}
.button_menu__text {
order: 2;
}
.blc_search {
position: relative;
}
.search_show {
display: block;
padding: 0;
}
.search_show__btn {
display: block;
inline-size: calc(46 / 16 * 1em);
line-height: 1.3;
padding: 0;
color: inherit;
border: none;
background: none;
cursor: pointer;
text-align: center;
}
.search_show__btn__icon {
margin-block: 0 calc(4 / 16 * 1em);
inline-size: calc(33 / 16 * 1em);
}
.search_show__btn__icon--white {
display: none;
}
.search_show__btn__txt {
display: block;
font-size: calc(14 / 16 * 1em);
}
.blc_search .search_wrap {
display: none;
gap: calc(9 / 16* 1em);
position: absolute;
inset-block: 100% auto;
inset-inline: auto 0;
padding: .5em;
border-radius: 8px;
background: var(--sub-color1);
}
.blc_search .search_wrap.search_wrap--active {
display: grid;
}
.blc_search .search_wrap_inner input[type="text"] {
inline-size: 12em;
height: 40px;
}
.blc_search .search_wrap_inner {
padding: calc(9 / 16* 1em);
}
.blc_search .search_wrap_inner input[type="submit"] {
height: 40px;
}
.menu_contents .item img { max-width: 320px;}
/* コンフィグメニュー*/
.conf_button { display :block; padding-bottom: 0; transition-duration: 0.3s;}
.conf_button.active { box-shadow: 0px 0px 0px 2px rgba(255,255,255,0.9);}
/* ホームメニュー*/
.home_button { display: block; padding-bottom: 0; transition-duration: 0.3s;}
.home_button.active { box-shadow: 0px 0px 0px 2px rgba(255,255,255,0.9);}
/* タイトル */
header .title {width: 15em;}
header .title a {
flex-wrap: wrap;
}
/* ページコントロール */
.page_control .UD {
display: none;
}
.subtop_menu_section {
padding-block-end: 0;
}
body.ya .subtop_menu_section {
padding: 0;
}
.img-box {
grid-template-columns: 32.73% 1fr;
padding: 17px;
}
.kids .local-menu__list {
grid-template-columns: repeat(2, 1fr);
max-inline-size: 560px;
margin-inline: auto;
}
.kids .local-menu__item--foot {
grid-column: 1 / 3;
}
/* フッター */
footer {
margin-block: 110px 0;
}
.footer_wrap {
margin-inline: 1em;
}
.footer-info {
display: block;
}
.footer-info__name {
/*! inline-size: calc(57px + 16em); */
/*! margin-bottom: 1em; */
}
.menu_right .contents_wrap .menu_contents{margin-top: 30px;}
.menu_right .contents_wrap .menu_contents::after {
width: calc(102.5% + 60px);
}
.contents_wrap{background-color: initial;}
.copyright_wrap {
flex-wrap: wrap;
}
.footer-bnr {
width: 100%;
display: flex;
justify-content: center;
}
.copyright__txt {
width: 100%;
text-align: center;
}
.reread_link{
right:0px;
inline-size: 96.6px;
}
.reread_link a {
block-size: 91px;
}
}
/*************************************************
レスポンシブ　タブレット 980px + 20px
**************************************************/
@media screen and (width <= 1000px) {
.p-open-schedule {
margin-block: 0;
}
.p-open-schedule__calendar-tbl {
background: none;
}
.p-open-schedule__body {
margin: 0;
}
.p-open-schedule__link-item {
display: none;
}
.p-open-schedule__status {
block-size: auto;
margin: 0;
}
.p-open-schedule__status-mark-img {
width: calc(28 / 16 * 1em);
margin: 0;
}
.p-open-schedule__status-text {
display: none;
}
.p-open-schedule__calendar-item--close .p-open-schedule__status-text {
display: inline;
position: absolute;
inset-inline-start: 100%;
inline-size: 100%;
inset-block-start: 50%;
transform: translateY(-50%);
font-weight: 500;
width: max-content;
}
.p-open-schedule__notes p {
display: inline-block;
}
.p-open-schedule__date {
display: inline;
font-size: 61.9%;
font-weight: normal;
margin-left:10px;
}
.p-open-schedule__day-parts01 {
font-size: 71.42%;
}
.p-open-schedule__day-parts02 {
font-size: 1rem;
}
.p-open-schedule__calendar {
border: none;
text-align: left;
padding: 8px;
}
.p-open-schedule__calendar-tbl {
border: none;
}
.p-open-schedule__calendar-head {
display: none;
}
.p-open-schedule__calendar-head::after {
content: "";
height: 1rem;
width: 100%;
padding: 0.375rem 0;
}
.p-open-schedule__today-item span {
font-size: 100%;
}
.p-open-schedule__today-item span.p-open-schedule__calendar-month,
.p-open-schedule__today-item .p-open-schedule__calendar-parts02 {
font-size: calc(20 / 16 * 1em);
}
.p-open-schedule__calendar-day {
font-size: calc(21 / 16 * 1em);
}
.p-open-schedule__calendar-item {
width: 100%;
display: block;
padding: 5px;
border: none;
background: #FFF;
}
.p-open-schedule__calendar-item--now {
outline: 2.5px #279E51 solid;
outline-offset: -2px;
}
.p-open-schedule__calendar-item--empty {
display: none;
}
.p-open-schedule__calendar-item:not(.p-open-schedule__calendar-item--empty) {
margin-top: 7px;
}
.p-open-schedule__calendar-item--empty +
.p-open-schedule__calendar-item {
margin: 0;
}
.p-open-schedule__calendar-inner {
display: flex;
justify-content: start;
}
.p-open-schedule__calendar-day {
block-size: 100%;
inline-size: 28.74%;
margin: 0;
padding-block: .8em;
min-block-size: calc(50 / 16 * 1em);
font-size: calc(21 / 16 * 1em);
text-align: center;
min-width: 100px;
height: auto;
}
.p-open-schedule__calendar-data {
display: grid;
grid-template-columns: calc(44 / 16 * 1em) 1fr;
align-items: center;
position: relative;
padding: 0;
}
.p-open-schedule__calendar-item--close
.p-open-schedule__body {
display: grid;
grid-template-columns: calc(44 / 16 * 1em) 1fr;
}
.p-open-schedule__prev-btn {
font-size: calc(16 / 16 * 1em);
padding-left: 1em;
margin-bottom: 0;
}
.p-open-schedule__prev-btn:before {
right: 3rem;
margin-top: -0.2rem;
background-size: 1.5rem 1.5rem;
width: 1.5rem;
height: 1.5rem;
}
.p-open-schedule__next-btn {
font-size: calc(16 / 16 * 1em);
padding-right: 1em;
margin-bottom: 0;
}
.p-open-schedule__next-btn:before {
right: 0;
margin-top: -0.2rem;
background-size: 1.5rem 1.5rem;
width: 1.5rem;
height: 1.5rem;
}
.p-open-schedule__today-item {
font-size: calc(16 / 16 * 1em);
}
.p-open-schedule__notes {
padding: 0;
font-weight: 500;
}
.p-open-schedule__calendar-item--close .p-open-schedule__status-text.hasMemo {
display: none;
}
}
/* #Open-yearschedule */
/*************************************************
レスポンシブ　タブレット 900px
**************************************************/
@media screen and (width <= 900px) {
.header-menu__inner {
grid-template-columns: 1fr;
}
.header-menu__discription:nth-child(1) {
grid-column: auto;
}
.header-menu__discription-wrap {
grid-template-columns: 1fr;
gap: calc(13 / 17 * 1em) 0;
}
.menu_section .news dl .inner {
flex-wrap: wrap;
}
.menu_section dd {
width: 100%;
margin-top: .5em;
}
.img-box {
display: block;
padding: 10px;
}
.img-box__img {
float: left;
width: 32.73%;
margin-inline: 0 17px;
margin-block: 0 17px;
}
.img-box__txt {
overflow: visible;
}
.img-box__txt p {
font-size: calc(17 /16 * 1em);
}
.img-box__txt .img-box__ttl {
clear: none;
margin-inline-start: calc(32.73% + 17px);
font-size: calc(20 /16 * 1em);
}
.img-box__txt .img-box__address {
display: block;
}
.img-box__info__txt__phone {
clear: both;
}
.img-box__info {
display: block;
}
.img-box__info__address {
margin-inline-start: calc(32.73% + 17px);
}
.img-box__info__link {
text-align: center;
}
.img-box__today-info .img-box__today-info__ttl {
font-size: calc(16 / 16 * 1em);
text-align: center;
}
.img-box__today-info__inner {
justify-content: center;
}
.img-box__today-info__txt .img-box__today-info__inner__sub-ttl {
font-size: calc(15 / 16* 1em);
}
.img-box__today-info__txt p {
font-size: calc(18 / 16* 1em);
}
#main .img-box__today-info__link {
position: static;
margin-block: 13px 0;
text-align: center;
}
footer {
padding-block: 21px 0;
background-size: auto 21px;
}
.footer-info__name a .title__logo {
max-width: 235px!important;
}
.footer_wrap {
display: flex;
flex-wrap: wrap;
justify-content: center;
padding-block: 16px 26px;
}
.footer-info {
margin-block: 0 21px;
}
.footer-info__name {
/*! grid-template-columns: 42px 1fr; */
/*! inline-size: calc(42px + 12em); */
/*! margin-inline: auto; */
}
.footer-info__name__sub-txt,
.footer-info__name__txt-en {
font-size: calc(11 / 16* 1em);
}
.footer-info__name__txt-ja {
font-size: calc(26 / 16* 1em);
}
.footer-info__inner {
padding: 0;
text-align: center;
}
.footer-info__inner .info {
display: inline-block;
text-align: left;
}
.footer-info__sns {
position: static;
margin-block: 13px 0;
}
.menu_footer {
width: 100%;
}
.menu_footer ul {
justify-content: center;
}
.footer-qr {
display: none;
}
/**********************************
サブトップ
**********************************/
ul.menu_list{display: block;}
.menu_list li{width: 100%;margin: 0px;margin-left:auto;margin-right:auto;}
.menu_list li + li {
margin: 20px 0 0;
}
.subtop_menu_section {padding: 0 15px;}
body.ya .menu_list {
display: flex;
gap: 27px 10px;
}
body.ya .menu_list li {
width: 47.82%;
margin: 0;
}
body.ya .menu_list li a {
padding-inline: 16.7px 0;
font-size: calc(16 / 16* 1em);
}
body.ya .menu_list li a::before {
inset-block: .88em;
inset-inline-start: 8px;
inline-size: 2px;
}
body.ya .menu_list li .text {
padding-inline-end: 30px;
}
body.ya .menu_list li .text::before {
inset-inline-end: 7.5px;
inline-size: 7px;
block-size: 6px;
}
body.ya .menu_list li .text::after {
inset-block: 0;
inset-inline-end: 22.8px;
block-size: 19.63px;
margin: auto;
}
.kids .tabmenu {
margin-block-start: 50px;
}
.ya-info__wrap {
margin-block: 24px 0;
}
#main .tabmenu {
padding-block: calc(30 / 16* 1em) 0;
}
.tabmenu .menu {
gap: 0 2.85%;
}
.tabmenu .menu__list a {
padding-block: .93em;
font-size: calc(20 / 16* 1em);
}
.tabmenu .menu_section {
margin-block: 19px 0;
padding-block: 13px 16px;
padding-inline: 16px;
}
.tabmenu .menu_section .more {
margin-block: 15px 0;
}
}
/*************************************************
レスポンシブ　タブレット 600px + 20px
**************************************************/
@media screen and (width <= 620px) {
header .title { inline-size: max(40vw, 193px);}
.mq_hide { display: none;  }
.box-wrap__inner { padding-inline: 10px!important;}
.easy_search_txt::placeholder { font-size: 0.8em;}
h1.page_title{
margin-block-end: 30px;
font-size: calc(24 / 16 * 1em);
}
.txtbox {
font-size: .888em;
}
.subtop .txtbox {
font-size: 100%;
}
.subtop .txtbox h2 {
margin-block-end: calc(10 / 20 * 1em);
padding-block: calc(6 / 20 * 1em) calc(12 / 20 * 1em);
font-size: calc(20 / 16 * 1em);
}
.right-link h3 {
font-size: calc(20 / 16* 1em);
}
.right-link__inner {
flex-wrap: wrap;
}
.right-link p {
width: 100%;
font-size: calc(17 / 16* 1em);
}
.right-link p + p {
text-align: center;
}
.sec_conf .header_sec_wrap {
padding-block: 30px;
padding-inline: 16px;
}
.header-menu__term {
font-size: calc(18 / 16 * 1em);
}
.header-menu__btn {
padding-inline-start: calc(35 / 18 * 1em);
}
.header-menu__btn::before {
inset-inline: calc(13 / 18* 1em) auto;
}
.header-menu__inner + .header-menu__term {
margin-block: calc(17 / 18 * 1em) 0;
}
.header-menu__inner {
font-size: calc(17 / 16* 1em);
}
.header-menu__list {
gap: 16px 12px;
margin-block: 33px 0;
}
.header-menu__list__item .header-menu__list__link {
block-size: calc(55 / 16* 1em);
border-radius: calc(6 / 16* 1em);
font-size: calc(16 / 16* 1em);
}
.header-menu__footer {
margin-block: 26px 0;
}
/**********************************
サブトップ
**********************************/
.subtop .list {}
.subtop .category  { width: 100%;}
.subtop .category.left { margin-right: 0;}
.subtop .category.right { margin-left: 0;}
.img-box__today-info__txt p {
inline-size: 6em;
}
h1.kids_title {
margin-block: 30px 0;
padding-inline: 2.5%;
}
.kids .local-menu {
margin-block: 29px 0;
}
.kids .local-menu__list {
gap: 22px;
}
.kids .local-menu__item a {
gap: 1px 0;
border-radius: 20px;
padding-block: 20px;
min-block-size: 0;
}
.kids .local-menu__txt {
font-weight: 700;
font-size: calc(18 / 16* 1em);
letter-spacing: -.1em;
}
.kids .local-menu__item--foot {
padding-block-start: 8px;
}
.kids .local-menu__item--foot a {
padding: 0;
}
.kids .tabmenu .menu_section {
margin-block: 9px 0;
}
.kids .tabmenu {
margin-block-start: 10px;
}
.menu_list li a {
font-size: calc(18 / 16* 1em);
}
.tabmenu .menu__link-inner {
padding-inline-start: 60px!important;
}
.tabmenu .menu__link__icon {
inline-size: 60.59px;
inset-block: auto -10px;
}
.tabmenu .menu__list + .menu__list .menu__link-inner .menu__link__icon {
inline-size: 66px;
}
#main .news dt .news_date {
min-width: 8.3em;
font-size: calc(16 / 16* 1em);
}
#main .news dt .cate_tag {
inline-size: 5.3em;
margin-inline: 2px;
padding-block: 1px;
letter-spacing: -.04em;
font-size: calc(15 / 16* 1em);
}
.news dd a {
font-size: calc(16 / 16* 1em);
}
#main .txt_link--more {
font-size: calc(15 / 16* 1em);
}
.footer-info__sns {
gap: 0 10px;
}
.footer-info__sns__link {
inline-size: 13em;
block-size: 2.6em;
font-size: calc(12 / 16* 1em);
}
.footer-info__sns__icon {
inline-size: 1.33em;
}
.footer-info__sns__link.footer-info__sns__link--youtube {
inline-size: 13.5em;
letter-spacing: -.05em;
}
.footer-info__sns__link--youtube .footer-info__sns__icon {
inline-size: 1.63em;
}
.menu_footer ul {
gap: 0 calc(16 / 16* 1em);
}
.menu_footer li a {
gap: .2em;
}
.footer-bnr {
gap: 8px;
}
.footer-bnr__item img {
inline-size: 153px;
}
.copyright__txt {
font-size: calc(13 / 16 * 1em);
}
.p-open-schedule__calendar-item--now .p-open-schedule__notes {
padding-inline: 0;
}
}
/*************************************************
レスポンシブ　 400px
**************************************************/
@media screen and (width <= 400px) {
.news dt .news_date {
width: 100%;
display: block;
}
.news dt {
display: block;
}
#main .news dt .cate_tag {
display: inline-block;
}
font-size: calc(16 / 16* 1em);block-size: calc(70 / 20* 1em);
}
/*************************************************
レスポンシブ　 350px + 20px
**************************************************/
@media screen and (width <= 370px) {
.blc_search .search_wrap {
transform: translateX(20vw);
}
}
@media screen and (width > 1180px) {
html body #menu { display: flex!important;} 
.menu_bg,
.conf_bg ,
.search_bg { display: none!important;}
}
@media screen and (-ms-high-contrast:active) {
* {text-indent: 0em !important;}
}
/*　簡単検索　*/
.box-wrap {
overflow: hidden;
border: 1px var(--theme-color) solid;
border-radius: 4px;
background: var(--sub-color-bg);
margin-bottom:15px;
}
.box-wrap__ttl {
margin: 0;
padding-block: 14px;
background: var(--theme-color);
color: var(--sub-color2);
font-weight: 500;
font-size: calc(22 / 16* 1em);
text-align: center;
}
.box-wrap__inner {
padding-block: 30px;
padding-inline: 45px;
padding-bottom: 15px;
}
.easy_search {
display: flex;
justify-content: start;
gap: 0 10px;
}
.easy_search_txt-wrap {
position: relative;
inline-size: 88.24%;
padding: 0;
border: 1px #284A12 solid;
border-radius: 6px;
background: #FFF;
}
.easy_search_txt {
display: grid;
align-items: center;
inline-size: 100%;
block-size: calc(60 / 20* 1em);
background: none;
font-size: calc(20 / 16* 1em);
border: none !important;
outline: none;
padding-left: 15px;
}
form input[type="submit"].easy_search_bt {
display: grid;
place-content: center;
inline-size: calc(100 / 26* 1em);
block-size: calc(60 / 26* 1em);
margin: 0;
padding: 0;
border: 1px #284A12 solid;
border-radius: 6px;
background: var(--theme-color);
font: inherit;
color: var(--sub-color2);
font-size: calc(26 / 16* 1em);
cursor: pointer;
}
.default.menu .easy_search_comment_wrap {
text-align: center;
}
.sub_link__inner::before{
content: "";
position: absolute;
top: 50%;   /* 縦軸をセンタリングする */ 
left: 0;
transform: translateY(-50%);   /* 縦軸をセンタリングする */  
border: 5px solid transparent;
border-left: 8px solid #555;   /* 好みで色を変えてください */  
}
.easy_search_comment_wrap {
overflow: hidden;
margin-block: 10px;
padding: 0;
}
.sub_link__inner {
display: inline-block;
position: relative;
padding-left: calc(19 / 17* 1em);
color: #333;
font-weight: 500;
font-size: calc(17 / 16* 1em);
text-decoration: underline;
}
.footer-info__name a .title__logo {
max-inline-size: 100%;max-width:320px;
}
.footer-info__name a .title__logo--white {
display: none;
}
.footer-info__name a a:hover .title__logo {
opacity: 1;
}
