@charset "UTF-8";
/*!
Theme Name: Terakoya2023
Theme URI: http://senrikou.jp/wp-theme/
Description: 寺子屋 Type2023　 Base テーマ
Author: Senri Corporation Inc.
Version: 1.0
License: GNU General Public License v2 or later
License URI: 
Tags: one-column, two-columns, 
      microformats, editor-style,
      custom-menu, html5, css3, Japanese
*/
@font-face { font-family: "HOKKORI"; src: url("https://cdn.leafscape.be/HOKKORI/HOKKORI.woff") format("woff2"); }
/** Foundation for Sites by ZURB Version 6.5.1 foundation.zurb.com Licensed under MIT Open Source */
.slide-in-down.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: translateY(-100%); transition-property: transform, opacity; backface-visibility: hidden; }
.slide-in-down.mui-enter.mui-enter-active { transform: translateY(0); }

.slide-in-left.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: translateX(-100%); transition-property: transform, opacity; backface-visibility: hidden; }
.slide-in-left.mui-enter.mui-enter-active { transform: translateX(0); }

.slide-in-up.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: translateY(100%); transition-property: transform, opacity; backface-visibility: hidden; }
.slide-in-up.mui-enter.mui-enter-active { transform: translateY(0); }

.slide-in-right.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: translateX(100%); transition-property: transform, opacity; backface-visibility: hidden; }
.slide-in-right.mui-enter.mui-enter-active { transform: translateX(0); }

.slide-out-down.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: translateY(0); transition-property: transform, opacity; backface-visibility: hidden; }
.slide-out-down.mui-leave.mui-leave-active { transform: translateY(100%); }

.slide-out-right.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: translateX(0); transition-property: transform, opacity; backface-visibility: hidden; }
.slide-out-right.mui-leave.mui-leave-active { transform: translateX(100%); }

.slide-out-up.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: translateY(0); transition-property: transform, opacity; backface-visibility: hidden; }
.slide-out-up.mui-leave.mui-leave-active { transform: translateY(-100%); }

.slide-out-left.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: translateX(0); transition-property: transform, opacity; backface-visibility: hidden; }
.slide-out-left.mui-leave.mui-leave-active { transform: translateX(-100%); }

.fade-in.mui-enter { transition-duration: 500ms; transition-timing-function: linear; opacity: 0; transition-property: opacity; }
.fade-in.mui-enter.mui-enter-active { opacity: 1; }

.fade-out.mui-leave { transition-duration: 500ms; transition-timing-function: linear; opacity: 1; transition-property: opacity; }
.fade-out.mui-leave.mui-leave-active { opacity: 0; }

.hinge-in-from-top.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: perspective(2000px) rotateX(-90deg); transform-origin: top; transition-property: transform, opacity; opacity: 0; }
.hinge-in-from-top.mui-enter.mui-enter-active { transform: perspective(2000px) rotate(0deg); opacity: 1; }

.hinge-in-from-right.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: perspective(2000px) rotateY(-90deg); transform-origin: right; transition-property: transform, opacity; opacity: 0; }
.hinge-in-from-right.mui-enter.mui-enter-active { transform: perspective(2000px) rotate(0deg); opacity: 1; }

.hinge-in-from-bottom.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: perspective(2000px) rotateX(90deg); transform-origin: bottom; transition-property: transform, opacity; opacity: 0; }
.hinge-in-from-bottom.mui-enter.mui-enter-active { transform: perspective(2000px) rotate(0deg); opacity: 1; }

.hinge-in-from-left.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: perspective(2000px) rotateY(90deg); transform-origin: left; transition-property: transform, opacity; opacity: 0; }
.hinge-in-from-left.mui-enter.mui-enter-active { transform: perspective(2000px) rotate(0deg); opacity: 1; }

.hinge-in-from-middle-x.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: perspective(2000px) rotateX(-90deg); transform-origin: center; transition-property: transform, opacity; opacity: 0; }
.hinge-in-from-middle-x.mui-enter.mui-enter-active { transform: perspective(2000px) rotate(0deg); opacity: 1; }

.hinge-in-from-middle-y.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: perspective(2000px) rotateY(-90deg); transform-origin: center; transition-property: transform, opacity; opacity: 0; }
.hinge-in-from-middle-y.mui-enter.mui-enter-active { transform: perspective(2000px) rotate(0deg); opacity: 1; }

.hinge-out-from-top.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: perspective(2000px) rotate(0deg); transform-origin: top; transition-property: transform, opacity; opacity: 1; }
.hinge-out-from-top.mui-leave.mui-leave-active { transform: perspective(2000px) rotateX(90deg); opacity: 0; }

.hinge-out-from-right.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: perspective(2000px) rotate(0deg); transform-origin: right; transition-property: transform, opacity; opacity: 1; }
.hinge-out-from-right.mui-leave.mui-leave-active { transform: perspective(2000px) rotateY(90deg); opacity: 0; }

.hinge-out-from-bottom.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: perspective(2000px) rotate(0deg); transform-origin: bottom; transition-property: transform, opacity; opacity: 1; }
.hinge-out-from-bottom.mui-leave.mui-leave-active { transform: perspective(2000px) rotateX(-90deg); opacity: 0; }

.hinge-out-from-left.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: perspective(2000px) rotate(0deg); transform-origin: left; transition-property: transform, opacity; opacity: 1; }
.hinge-out-from-left.mui-leave.mui-leave-active { transform: perspective(2000px) rotateY(-90deg); opacity: 0; }

.hinge-out-from-middle-x.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: perspective(2000px) rotate(0deg); transform-origin: center; transition-property: transform, opacity; opacity: 1; }
.hinge-out-from-middle-x.mui-leave.mui-leave-active { transform: perspective(2000px) rotateX(90deg); opacity: 0; }

.hinge-out-from-middle-y.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: perspective(2000px) rotate(0deg); transform-origin: center; transition-property: transform, opacity; opacity: 1; }
.hinge-out-from-middle-y.mui-leave.mui-leave-active { transform: perspective(2000px) rotateY(90deg); opacity: 0; }

.scale-in-up.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: scale(0.5); transition-property: transform, opacity; opacity: 0; }
.scale-in-up.mui-enter.mui-enter-active { transform: scale(1); opacity: 1; }

.scale-in-down.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: scale(1.5); transition-property: transform, opacity; opacity: 0; }
.scale-in-down.mui-enter.mui-enter-active { transform: scale(1); opacity: 1; }

.scale-out-up.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: scale(1); transition-property: transform, opacity; opacity: 1; }
.scale-out-up.mui-leave.mui-leave-active { transform: scale(1.5); opacity: 0; }

.scale-out-down.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: scale(1); transition-property: transform, opacity; opacity: 1; }
.scale-out-down.mui-leave.mui-leave-active { transform: scale(0.5); opacity: 0; }

.spin-in.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: rotate(-0.75turn); transition-property: transform, opacity; opacity: 0; }
.spin-in.mui-enter.mui-enter-active { transform: rotate(0); opacity: 1; }

.spin-out.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: rotate(0); transition-property: transform, opacity; opacity: 1; }
.spin-out.mui-leave.mui-leave-active { transform: rotate(0.75turn); opacity: 0; }

.spin-in-ccw.mui-enter { transition-duration: 500ms; transition-timing-function: linear; transform: rotate(0.75turn); transition-property: transform, opacity; opacity: 0; }
.spin-in-ccw.mui-enter.mui-enter-active { transform: rotate(0); opacity: 1; }

.spin-out-ccw.mui-leave { transition-duration: 500ms; transition-timing-function: linear; transform: rotate(0); transition-property: transform, opacity; opacity: 1; }
.spin-out-ccw.mui-leave.mui-leave-active { transform: rotate(-0.75turn); opacity: 0; }

.slow { transition-duration: 750ms !important; }

.fast { transition-duration: 250ms !important; }

.linear { transition-timing-function: linear !important; }

.ease { transition-timing-function: ease !important; }

.ease-in { transition-timing-function: ease-in !important; }

.ease-out { transition-timing-function: ease-out !important; }

.ease-in-out { transition-timing-function: ease-in-out !important; }

.bounce-in { transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out { transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out { transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay { transition-delay: 300ms !important; }

.long-delay { transition-delay: 700ms !important; }

.shake { animation-name: shake-7; }
@keyframes shake-7 { 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% { transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% { transform: translateX(-7%); } }
.spin-cw { animation-name: spin-cw-1turn; }
@keyframes spin-cw-1turn { 0% { transform: rotate(-1turn); }
  100% { transform: rotate(0); } }
.spin-ccw { animation-name: spin-ccw-1turn; }
@keyframes spin-ccw-1turn { 0% { transform: rotate(0); }
  100% { transform: rotate(-1turn); } }
.wiggle { animation-name: wiggle-7deg; }
@keyframes wiggle-7deg { 40%, 50%, 60% { transform: rotate(7deg); }
  35%, 45%, 55%, 65% { transform: rotate(-7deg); }
  0%, 30%, 70%, 100% { transform: rotate(0); } }
.shake, .spin-cw, .spin-ccw, .wiggle { animation-duration: 500ms; }

.infinite { animation-iteration-count: infinite; }

.slow { animation-duration: 750ms !important; }

.fast { animation-duration: 250ms !important; }

.linear { animation-timing-function: linear !important; }

.ease { animation-timing-function: ease !important; }

.ease-in { animation-timing-function: ease-in !important; }

.ease-out { animation-timing-function: ease-out !important; }

.ease-in-out { animation-timing-function: ease-in-out !important; }

.bounce-in { animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out { animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out { animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay { animation-delay: 300ms !important; }

.long-delay { animation-delay: 700ms !important; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; }
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration { display: none; }
input[type="submit"]::focus, input[type="button"]::focus { outline-offset: -2px; }

:root { --base-color: #FFEC47; --main-color: #F8B500; --highlight-color: white; --text-color: black; --price-color: #F7931E; --buttons-color: black; font-size: 16px; }

svg.icon { display: inline-block; width: 1.5em; height: 1.5em; }

h1, h2, h3, h4, h5, h6 { font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", メイリオ, Meiryo, Georgia, Century, Cambria, "Times New Roman", Times, serif; }
h1.stitch01, h2.stitch01, h3.stitch01, h4.stitch01, h5.stitch01, h6.stitch01 { position: relative; border: 3px dashed white; }
h1.stitch01::before, h2.stitch01::before, h3.stitch01::before, h4.stitch01::before, h5.stitch01::before, h6.stitch01::before { top: 0; bottom: 0; }

h2 { font-size: 1.5rem; }
@media print, screen and (min-width: 64em) { h2 { font-size: 2rem; } }

h3 { font-size: 1rem; }
@media print, screen and (min-width: 64em) { h3 { font-size: 1.25rem; } }

img { max-width: 100%; height: auto; }

a { color: var(--linkcolor2); }

body.fixed { z-index: -1; position: fixed; width: 100%; height: 100%; }
body.fixed::before { content: ""; position: fixed; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(102, 102, 102, 0.3); cursor: pointer; transition: all .3s ease-in-out; }

@media print, screen and (min-width: 64em) { #showRightPush, #mobile_navigation { display: none; }
  #showRightPush.closer, #showRightPush.mnavi_open, #mobile_navigation.closer, #mobile_navigation.mnavi_open { display: block; } }
#showRightPush { background-color: rgba(255, 255, 255, 0.7); font-size: 0.85rem; right: 1rem; top: 1rem; width: 4rem; height: 4rem; border: 2px solid #999999; border-radius: 1rem; z-index: 999; transition: .35s ease-in-out; }
#showRightPush .btn_inner { display: flex; flex-flow: column nowrap; justify-content: space-around; height: 100%; margin: 0 1rem; padding: .25rem 0; }
#showRightPush .btn_inner span { transition: .35s ease-in-out; }
#showRightPush .btn_inner span:not(.menu_text) { border: 1px solid black; display: block; width: 100%; margin: 4px auto 0; }
#showRightPush .btn_inner span.menu_text { margin: 0 -1rem; }
#showRightPush.closer { background-color: #F8B500; }
#showRightPush.closer .btn_inner { position: relative; }
#showRightPush.closer .btn_inner .menu_text { display: none; }
#showRightPush.closer .btn_inner span { margin: auto; position: absolute; }
#showRightPush.closer .btn_inner span:not(:last-child) { border-color: white; }
#showRightPush.closer .btn_inner span:nth-child(1) { transform: rotate(135deg); }
#showRightPush.closer .btn_inner span:nth-child(3) { transform: rotate(-135deg); }
#showRightPush.closer .btn_inner span:nth-child(2n) { opacity: 0; width: 0; }
#showRightPush + #mobile_navigation { background-color: rgba(102, 102, 102, 0.3); position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 100; }
#showRightPush + #mobile_navigation .mnavi_container { background-color: white; border: 1px solid #222222; position: absolute; top: 6rem; left: .625rem; right: .625rem; bottom: 10px; overflow-y: auto; }
@media print, screen and (min-width: 40em) { #showRightPush + #mobile_navigation .mnavi_container { left: 5%; right: 5%; } }
#showRightPush + #mobile_navigation .mnavi_container .mobile_menus { padding: 1rem; }
#showRightPush + #mobile_navigation .mnavi_container .mobile_menus h3.menu_header { background-color: #F8B500; color: white; padding: .5em 1em; font-size: 1rem; }
#showRightPush + #mobile_navigation .mnavi_container .mobile_menus ul.menu { flex-wrap: nowrap; flex-direction: column; }
#showRightPush + #mobile_navigation .mnavi_container .mobile_menus ul.menu li { border-bottom: 1px dashed #F8B500; padding: .5em; }
#showRightPush + #mobile_navigation .mnavi_container .mobile_menus ul.menu li a { display: block; }
#showRightPush + #mobile_navigation .mnavi_container ul.navi_wrap { list-style: none; margin: 0 .625rem; padding-top: var(--header-height); }
#showRightPush + #mobile_navigation .mnavi_container ul.navi_wrap li a { display: block; padding: .75rem .5rem; border-bottom: 1px dashed #F8B500; }
@keyframes MobileMenuShow { from { display: none; opacity: 0; }
  1% { display: block; opacity: 0; }
  to { opacity: 1; } }
@keyframes MobileMenuHide { from { display: block; opacity: 1; }
  99% { display: block; opacity: 0; }
  to { display: none; opacity: 0; } }
#showRightPush + #mobile_navigation.mnavi_open { z-index: 30; opacity: 1; animation-duration: 0.5s; animation-name: MobileMenuShow; transition: MobileMenuShow 1s ease-in-out; }
#showRightPush + #mobile_navigation.mnavi_open .mnavi_container { opacity: 1; transition: opacity 2s ease-in-out; }
#showRightPush + #mobile_navigation.mnavi_close { opacity: 0; display: none; animation-duration: 0.5s; animation-name: MobileMenuHide; transition: MobileMenuHide 1s ease-in-out; }
#showRightPush + #mobile_navigation.mnavi_close .mnavi_container { opacity: 0; transition: opacity 1.8s ease-in-out; }

#move_top { font-size: 1rem; position: fixed; bottom: 1rem; right: 1rem; width: 4em; height: 4em; z-index: 99999; }
#move_top a { display: block; font-size: 1em; text-align: center; line-height: 1em; padding: 1em 0; background-color: #F8B500; }
#move_top a svg { height: 2em; width: 2em; fill: white; }
#move_top a:hover { background-color: #ffcd46; }

header { background-color: var(--hdcolor); padding: .5rem 0; position: sticky; top: 0; left: 0; z-index: 100; }
header .header_grid { display: grid; grid-template-columns: 1fr 4rem; grid-column-gap: 20px; /*
grid-template-areas: "thumbnail product_name product_name" "thumbnail stock stock" "unit_price quantity price" "action action action";
*/ }
@media print, screen and (min-width: 64em) { header .header_grid { grid-template-columns: 1fr auto auto; grid-column-gap: 40px; } }
header .header_grid .site_title { font-size: 1.3rem; margin: 0; }
@media print, screen and (min-width: 40em) { header .header_grid .site_title { font-size: 1.5rem; } }
@media print, screen and (min-width: 64em) { header .header_grid .site_title { font-size: 2rem; } }
header .header_grid .site_title a { color: var(--linkcolor2); display: grid; grid-template-columns: 80px 1fr; grid-template-rows: fr fr; }
@media print, screen and (min-width: 40em) { header .header_grid .site_title a { display: block; } }
header .header_grid .site_title a img { grid-column: 1/2; grid-row: 1/3; }
header .header_grid .site_title span { display: inline-block; padding: 0 .5rem 0 1rem; vertical-align: middle; }
header .header_grid .site_title span:first-of-type { font-size: 1rem; }
header .header_grid .site_title span:last-child { font-size: 1.5rem; }
@media print, screen and (min-width: 40em) { header .header_grid .site_title span:first-of-type, header .header_grid .site_title span:last-child { font-size: 1.5rem; } }
@media print, screen and (min-width: 64em) { header .header_grid .site_title span:first-of-type, header .header_grid .site_title span:last-child { font-size: 2rem; } }
header .header_grid .business_contact, header .header_grid .contact { display: none; }
@media print, screen and (min-width: 64em) { header .header_grid .business_contact, header .header_grid .contact { display: block; }
  header .header_grid .contact { align-self: center; }
  header .header_grid .contact a { background-color: var(--mainColor); color: white; display: block; line-height: 1em; padding: .5em; text-align: center; }
  header .header_grid .contact a span { display: inline-block; } }

#breadcrumbs { border-top: 1px solid #222222; background-color: #F2F2F2; }
#breadcrumbs ol.breadcrumb, #breadcrumbs ol#breadcrumb { list-style: none; margin: 0; padding: .5em 0 .375em; }
#breadcrumbs ol.breadcrumb li, #breadcrumbs ol#breadcrumb li { display: inline-block; font-size: .9em; }
#breadcrumbs ol.breadcrumb li:not(:first-child)::before, #breadcrumbs ol#breadcrumb li:not(:first-child)::before { color: #333333; content: "＞"; display: inline-block; vertical-align: middle; padding-left: .5em; }
#breadcrumbs ol.breadcrumb li a, #breadcrumbs ol#breadcrumb li a { display: inline-block; padding: .25em .5em; vertical-align: middle; }
#breadcrumbs ol.breadcrumb li.current span, #breadcrumbs ol#breadcrumb li.current span { display: inline-block; padding: .25em .5em; vertical-align: middle; }
#breadcrumbs ol.breadcrumb li svg, #breadcrumbs ol#breadcrumb li svg { fill: #ffcd46; display: inline-block; height: 1em; width: 1em; vertical-align: middle; }

.grid_block { padding-top: 3rem; padding-bottom: 3rem; }
@media print, screen and (min-width: 40em) { .grid_block { display: grid; grid-template-columns: 270px 1fr; grid-column-gap: 60px; } }

aside ul.menu { display: block; }
aside#side_menu nav { border: 5px solid var(--main-color); }
aside#side_menu nav ul.menu { font-size: 1rem; padding: .25rem; }
aside#side_menu nav ul.menu li { padding: .5em; }
aside#side_menu nav ul.menu li:not(:last-child) { border-bottom: 1px solid #CCCCCC; }
aside#side_menu nav ul.menu li a { color: black; padding: .5em; }

.wp-block-media-text__media { margin-bottom: 1.5rem; }

.page_title { font-size: 1.75rem; margin-bottom: 1.5em; text-align: center; }
@media print, screen and (min-width: 40em) { .page_title { font-size: 2.5rem; } }
.page_title span { display: inline-block; border-bottom: 3px double #666666; }

.post_title { font-size: 1.25rem; margin-bottom: .5em; }

main .wp-block-cover { padding: 1rem .625rem; }

.wp-block-group .wp-block-group__inner-container { padding: 3rem; }
.wp-block-group h2 { font-size: 1.25rem; max-width: 940px; margin: 0 auto 1.5rem; text-align: center; display: flex; flex-flow: row wrap; justify-content: center; align-items: center; align-content: center; }
@media print, screen and (min-width: 64em) { .wp-block-group h2 { font-size: 2rem; } }
.wp-block-group h2:after, .wp-block-group h2:before { background-color: black; display: block; content: ""; min-width: 0; max-width: 20%; flex: 1 1 100%; height: 1px; width: auto; }
.wp-block-group h2 strong { display: inline-block; flex: 0 0 auto; padding: 0 .25em; }
.wp-block-group .blue_box { display: block; max-width: 800px; margin: 0 auto 3rem; background-color: #bbe2f1; border: 0.1875rem solid #bbe2f1; font-size: 1.5rem; letter-spacing: 0.5em; padding: 0.5em 0.5em 0.25em; color: #665f55; position: relative; }
.wp-block-group .blue_box::before, .wp-block-group .blue_box::after { content: ""; position: absolute; }
.wp-block-group .blue_box::before { top: -0.1875rem; left: -0.1875rem; bottom: -0.1875rem; right: -0.1875rem; }
.wp-block-group .blue_box::after { top: 1px; left: 1px; bottom: 1px; right: 1px; border: 0.125rem dashed white; }
@media screen and (max-width: 63.99875em) { .wp-block-group .blue_box { font-size: 1.25rem; letter-spacing: 0; } }

.wp-block-media-text { margin-bottom: 3rem; }

.wp-block-columns { max-width: 1260px; margin: 0 auto 3rem; }

#seminar_points .wp-block-columns .wp-block-column:first-child { border-right: 1px solid black; }

#opend_seminars { max-width: 940px; margin: 0 auto 5rem; }
#opend_seminars ul { list-style: none; font-size: 1rem; margin: 0 0 1rem; }
#opend_seminars ul li { display: inline-block; padding: .5em; }

@media screen and (max-width: 39.99875em) { .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { margin-bottom: 2rem; } }
.wp-block-media-text { margin-bottom: 2rem; }

.wp-block-group { margin: 4rem auto 0; }

.wp-block-media-text { max-width: 1280px; margin: 0 auto 3rem; }

.contacts_box { font-size: 1rem; max-width: 720px; margin: 0 auto; padding: 1.25rem; }

.c-btn a, .c-btn--circle a { font-size: 1.25rem; background-color: var(--buttons-color); }

main.page { padding-top: 3rem; }
main.page article { padding-top: 4rem; }

.content_area { max-width: 800px; margin: 0 auto; padding: .5rem 0; }
.content_area h3 + p { margin-bottom: 2rem; padding-left: 1.5rem; }

ul.event_meta { font-size: 1rem; }
ul.event_meta li { display: flex; }
ul.event_meta li .meta_title, ul.event_meta li .meta_name { display: inline-block; width: 5em; text-align: justify; text-align-last: justify; flex: 0 0 5em; }

a.link_button { background-color: #84d4f6; color: white; font-size: 1.125rem; display: inline-block; line-height: 1em; padding: .75em 2em; border-radius: .25em; letter-spacing: .125em; }

main.page .event_panel { border-bottom: 1px dotted #666666; margin-top: 1rem; padding-top: 2rem; padding-bottom: 3rem; }
@media print, screen and (min-width: 40em) { main.page .event_panel { display: grid; grid-column-gap: 1.25rem; gird-template-rows: auto auto auto auto; grid-template-columns: 1fr 2fr; grid-template-areas: "thumb terms" "thumb title" "thumb meta" "thumb button"; } }
@media print, screen and (min-width: 64em) { main.page .event_panel { grid-template-columns: 2fr 5fr; grid-column-gap: 1.875rem; } }
main.page .event_panel figure { grid-area: thumb; margin-bottom: 1rem; }
main.page .event_panel ul.event_terms { grid-area: terms; list-style: none; margin: 0 0 1rem 0; }
main.page .event_panel ul.event_terms li { display: inline-block; line-height: 1em; margin-right: 1em; padding: .5em 1em; border-radius: .25em; }
main.page .event_panel ul.event_terms li.ecat { border-radius: .25em; color: white; }
main.page .event_panel ul.event_terms li.xocat { border-width: 2px; }
main.page .event_panel .post_title { grid-area: title; }
main.page .event_panel ul.event_meta { grid-area: meta; font-size: 1rem; }
main.page .event_panel ul.event_meta li { display: flex; }
main.page .event_panel ul.event_meta li .meta_title, main.page .event_panel ul.event_meta li .meta_name { display: inline-block; width: 5em; text-align: justify; text-align-last: justify; }
main.page .event_panel .event_link_wrap { grid-area: button; text-align: center; }
main.page .event_panel .event_link_wrap a.link_button { background-color: #84d4f6; color: white; font-size: 1.125rem; display: inline-block; line-height: 1em; padding: .75em 2em; border-radius: .25em; letter-spacing: .125em; }

section { margin-top: 4rem; padding: 1rem 0 3rem; }
section .section_inner { max-width: 80rem; margin: 4rem auto 0; padding-bottom: 3rem; }
section .section_title { margin: 1.5em 0; }
section .grid { display: grid; grid-template-columns: 1fr; grid-gap: 2.5rem; }
@media print, screen and (min-width: 40em) { section .grid { grid-template-columns: 1fr 1fr; } }
@media print, screen and (min-width: 64em) { section .grid { grid-template-columns: 1fr 1fr 1fr; } }

.ecat { color: white; background-color: rgba(102, 102, 102, 0.5); }

.term_grid .term_panel { box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3); display: grid; grid-template-columns: 1fr; grid-template-rows: auto 4rem 6rem auto; }
.term_grid .term_panel a.term_link { display: block; grid-row: 1/3; grid-column: 1/2; }
.term_grid .term_panel .term_title { display: inline-block; width: 100%; margin: 0; padding: .25em; grid-row: 2/3; grid-column: 1/2; }
.term_grid .term_panel .description { grid-row: 3/4; grid-column: 1/2; padding: .25rem; }
.term_grid .term_panel .buttons_wrap { grid-row: 4/5; grid-column: 1/2; padding: .25rem .5rem; text-align: center; }
.term_grid .term_panel .buttons_wrap a { display: block; }
.term_grid .term_panel .buttons_wrap a span { display: inline-block; vertical-align: middle; }
.term_grid .term_panel .buttons_wrap a svg { fill: white; vertical-align: middle; }

ul.event_terms { list-style: none; color: white; }

section.whats_new .section_inner { max-width: 80rem; margin: 4rem auto 0; padding-bottom: 3rem; }
section.whats_new .section_title { margin: 1.5em 0; }
section.whats_new .event_grid { display: grid; grid-template-columns: 1fr; grid-gap: 2.5rem; }
@media print, screen and (min-width: 40em) { section.whats_new .event_grid { grid-template-columns: 1fr 1fr; } }
@media print, screen and (min-width: 64em) { section.whats_new .event_grid { grid-template-columns: 1fr 1fr 1fr; } }
section.whats_new .event_grid .event_panel { display: grid; grid-template-columns: 1fr; grid-template-rows: auto 4rem 6rem 4rem; grid-template-areas: "thumb" "title" "meta" "button"; border: 1px solid #CCCCCC; }
section.whats_new .event_grid .event_panel figure { grid-area: thumb; }
section.whats_new .event_grid .event_panel ul.event_terms { grid-area: thumb; margin: 0 0 1rem; text-align: right; }
section.whats_new .event_grid .event_panel ul.event_terms li { display: inline-block; padding: .5em 1em; }
section.whats_new .event_grid .event_panel .post_title { padding: .5em; }
section.whats_new .event_grid .event_panel .post_title span { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; line-clamp: 1; overflow: hidden; line-height: 1.5em; }
section.whats_new .event_grid .event_panel ul.event_meta { font-size: 0.875rem; grid-area: meta; }
section.whats_new .event_grid .event_panel .event_link_wrap { grid-area: button; text-align: center; padding: 0 .5rem; }
section.whats_new .event_grid .event_panel .event_link_wrap a { display: inline-block; letter-spacing: 0; }

.acf-map { width: 100%; height: 400px; }
.acf-map img { max-width: inherit !important; }

form { font-size: 1rem; }
form .info { margin-bottom: 2em; padding: 2.5em; text-align: center; }
form dl { display: flex; flex-flow: row wrap; }
form dl dt, form dl dd { margin: 0; border-bottom: 1px dashed #CCCCCC; width: 100%; padding: 1em 0 .5em; }
form dl dt small, form dl dd small { display: block; font-weight: normal; }
@media print, screen and (min-width: 40em) { form dl dt { flex: 1 1 30%; }
  form dl dd { flex: 1 1 70%; } }
form div.sender { font-sized: 1rem; padding: .5em 0; text-align: center; }
form div.sender input[type="submit"] { background-color: var(--mainColor); color: white; border-radius: .25em; line-height: 1em; padding: .5em 2em; }
form div.sender input[type="submit"]:focus, form div.sender input[type="submit"]:hover { background-color: var(--nvcolor); color: var(--mainColor); }

.event_form_wrap { padding: 2rem 0; margin: 2rem auto; }
.event_form_wrap h2, .event_form_wrap h3 { font-size: 1.5rem; margin-bottom: 2em; text-align: center; }
.event_form_wrap h2 span, .event_form_wrap h3 span { display: inline-block; padding: .5em 1em; border-bottom: 4px solid #F8B500; }
.event_form_wrap form { font-size: 1rem; }
.event_form_wrap form .info { margin-bottom: 2em; padding: 2.5em; text-align: center; }
.event_form_wrap form dl { display: flex; flex-flow: row wrap; }
.event_form_wrap form dl dt, .event_form_wrap form dl dd { margin: 0; border-bottom: 1px dashed #CCCCCC; width: 100%; padding: 1em 0 .5em; }
.event_form_wrap form dl dt small, .event_form_wrap form dl dd small { display: block; font-weight: normal; }
@media print, screen and (min-width: 40em) { .event_form_wrap form dl dt { flex: 1 1 30%; }
  .event_form_wrap form dl dd { flex: 1 1 70%; } }
.event_form_wrap form div.sender { font-sized: 1rem; padding: .5em 0; text-align: center; }
.event_form_wrap form div.sender input[type="submit"] { background-color: var(--mainColor); color: white; border-radius: .25em; line-height: 1em; padding: .5em 2em; }
.event_form_wrap form div.sender input[type="submit"]:focus, .event_form_wrap form div.sender input[type="submit"]:hover { background-color: var(--nvcolor); color: var(--mainColor); }

ol.policy_list > li { margin-top: 2.5rem; }
ol.policy_list > li::marker { font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", メイリオ, Meiryo, Georgia, Century, Cambria, "Times New Roman", Times, serif; font-size: 1.5rem; }
@media print, screen and (min-width: 64em) { ol.policy_list > li::marker { font-size: 2rem; } }

[data-widget-area-id="footer-widget-area"], .footer_widget_wrap { background-color: #9fe4ec; margin: 5rem 0 0; padding: 2rem 0; }
[data-widget-area-id="footer-widget-area"] .contacts_box, .footer_widget_wrap .contacts_box { borader-radius: 1rem; }
[data-widget-area-id="footer-widget-area"] .contacts_box .wp-block-buttons .wp-block-button, .footer_widget_wrap .contacts_box .wp-block-buttons .wp-block-button { margin-top: 1.5rem; width: 100%; }

nav#footer_navigation { background-color: var(--nvcolor); }
nav#footer_navigation a { color: var(--nvtext); }

footer#site_footer { background-color: var(--mainColor); }
footer#site_footer .footer_content { padding-top: 2rem; padding-bottom: 2rem; text-align: center; }
footer#site_footer #copyright { text-align: center; margin: 0 auto; padding: 1rem 0; }
