@charset "UTF-8";
body {
  color: #332924;
  background: url(../images/bg_texture.jpg) repeat center top;
}

/* リンク */
a {
  color: #332924;
  font-weight: bold;
  text-decoration: underline;
  transition: .2s;
}

@media (hover: hover) {
  a:hover {
    text-decoration: none;
    color: #332924;
  }
}

#no_script {
  position: relative;
  width: 100%;
  background: #f00;
  color: #fff;
  text-align: center;
  padding: 5px 10px;
  margin: 0;
  font-size: 14px;
  z-index: 100;
}

.cms-ready #header {
  top: 0 !important;
}

/* sp */
.sp_off, .pc_tb {
  display: none !important;
}

.sp_inline {
  display: inline !important;
}

/* structure
====================================================================================================================================== */
html,
body {
  width: 100%;
}

html {
  height: 100%;
  scroll-behavior: smooth;
}

body {
  overflow-y: scroll;
  overflow-x: hidden;
}

#container {
  width: 100%;
}

.wrapper {
  width: auto;
  padding-left: 20px;
  padding-right: 20px;
}

.wrapper:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

#link_to_top {
  display: none;
}

#pc_illust_right {
  display: none;
}

#main_contents_area {
  position: relative;
  overflow: hidden;
  background-color: #FCFAF0;
}

#page_title_wrap {
  padding: 5px 0 4em;
  margin-bottom: 2.5em;
  position: relative;
  background-color: #FFF3B8;
}

#page_title_wrap:before, #page_title_wrap:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 10px;
  background: url(../images/rough_line_yellow.svg) repeat-x left bottom;
  background-size: contain;
}

#page_title_wrap:before {
  bottom: 100%;
}

#page_title_wrap:after {
  top: 100%;
  rotate: 180deg;
}

#page_title_wrap .updated_date {
  font-size: 0.8rem;
  text-align: center;
  color: #332924;
  margin: 0.2em 0 0;
}

#navibar {
  font-size: 0.8rem;
  margin-bottom: 3.5em;
}

#navibar p {
  margin-bottom: 0;
}

#navibar a {
  font-weight: normal;
}

/* header
====================================================================================================================================== */
#header {
  padding: 30px 0;
  position: relative;
}

#header .illust {
  position: absolute;
}

#header .illust img {
  width: 100%;
}

#header .illust01 {
  width: 210px;
  bottom: -10px;
  left: -130px;
}

#header .illust02 {
  width: 290px;
  top: -103px;
  right: -193px;
}

#header .illust03 {
  width: 47px;
  bottom: 2px;
  right: 28px;
}

#header #site_title {
  position: relative;
}

#site_title {
  margin-bottom: 0;
  font-size: 0.8rem;
  line-height: normal;
  text-align: center;
}

#site_title a {
  color: #332924;
  font-weight: bold;
  text-decoration: none;
}

#site_title .title_text {
  display: block;
  margin-bottom: 0.2em;
}

#site_title .title_image {
  display: block;
  width: 250px;
  margin: 0 auto;
}

#site_title .title_image img {
  width: 100%;
}

@media (hover: hover) {
  #site_title a:hover {
    opacity: 0.7;
  }
}

.sp_menu_button {
  display: none;
}

#fixed_nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 70px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
  z-index: 99999;
}

#fixed_nav ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  height: 100%;
}

#fixed_nav ul li {
  height: 100%;
  font-size: 0.8rem;
  line-height: 1;
  text-align: center;
  background-color: #fff;
  position: relative;
}

#fixed_nav ul li:before {
  content: "";
  display: block;
  width: 1px;
  height: 77%;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  border-right: 1px dashed #CCC3BE;
}

#fixed_nav ul li:first-child, #fixed_nav ul li:last-child {
  position: static;
}

#fixed_nav ul li:first-child:before, #fixed_nav ul li:last-child:before {
  display: none;
}

#fixed_nav ul li:first-child {
  border-top-left-radius: 18px;
}

#fixed_nav ul li:last-child {
  border-top-right-radius: 18px;
}

#fixed_nav ul li#button_menu_open {
  background-color: #332924;
}

#fixed_nav ul li#button_menu_open a {
  color: #fff;
}

#fixed_nav ul li a {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.7em;
  text-decoration: none;
}

#fixed_nav ul li .icon {
  width: 2em;
}

#fixed_nav ul li .icon img {
  width: 100%;
}

/* globalnavi
====================================================================================================================================== */
#globalnavi {
  margin-bottom: 0.5em;
}

#globalnavi ul.nav_list li {
  font-size: 1.2rem;
  font-weight: bold;
  border-bottom: 2px dotted rgba(51, 41, 36, 0.3);
}

#globalnavi ul.nav_list li:last-child {
  border-bottom: none;
}

#globalnavi ul.nav_list li a {
  display: block;
  padding: 1.35em 0;
  padding-left: 1.6em;
  text-decoration: none;
  line-height: 1;
  font-weight: bold;
  background: url(../images/icon/link_arrow_b.svg) no-repeat left center;
  background-size: 1.2em auto;
}

@media (hover: hover) {
  #globalnavi ul.nav_list > li > a:hover {
    opacity: 0.9;
    text-decoration: underline;
  }
}

/* サイドメニュー */
#side_menu {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 999999;
  width: 100%;
  height: min(90dvh, 755px);
  background-color: #FCFAF0;
  padding: 35px 25px 30px;
  border-radius: 35px 35px 0 0;
  translate: 0 100%;
  transition: .35s ease-out;
}

#side_menu.opened {
  translate: 0;
  box-shadow: 0 0 200px rgba(0, 0, 0, 0.15);
}

#side_menu #button_menu_close {
  position: absolute;
  top: 25px;
  right: 25px;
  width: 25px;
  line-height: 1;
}

#side_menu #button_menu_close a {
  transition: .1s;
}

#side_menu #button_menu_close img {
  width: 100%;
}

#side_menu .side_inner {
  overflow: auto;
  height: 100%;
}

#side_menu a {
  color: #332924;
}

#side_menu .to_top {
  font-size: 0.9rem;
  line-height: 1;
  margin-bottom: 0.8em;
}

#side_menu #search_form {
  margin-bottom: 1em;
}

#side_menu #search_form form {
  position: relative;
}

#side_menu #search_form form input[type="text"] {
  background-color: #fff;
  font-size: 1rem;
  border-radius: 12px;
  border: 2px solid #CCC3BE;
  font-size: 1rem;
  padding: 8px;
  padding-right: 45px;
}

#side_menu #search_form form input[type="text"]::placeholder {
  color: #666;
}

#side_menu #search_form form button {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 45px;
  background: url(../images/icon/i_search.svg) no-repeat center center;
  background-size: 55% auto;
}

#side_menu .button_contact {
  margin-bottom: 0;
}

#side_menu .button_contact a {
  padding: 0.9em 0;
}

#side_menu .button_contact a:before {
  display: none;
}

#side_menu .button_contact a .inner {
  display: inline-block;
  padding-left: calc(26px + 10px);
  position: relative;
}

#side_menu .button_contact a .inner:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 26px;
  aspect-ratio: 1/1;
  translate: 0 -50%;
  border-radius: 50%;
  background: #fff url(../images/icon/i_tel.svg) no-repeat center center;
  background-size: 66.5% auto;
}

#side_menu .menu_close {
  font-size: 0.9rem;
  font-weight: bold;
  text-align: center;
  margin-top: 1.7rem;
  text-decoration: underline;
}

#side_menu .menu_close p {
  margin-bottom: 0;
}

@media (hover: hover) {
  #side_menu .to_top a:hover {
    text-decoration: underline;
  }
}

/* アニメーション定義
====================================================================================================================================== */
@keyframes fade_down {
  from {
    opacity: 0;
    translate: 0 -10px;
  }
  to {
    opacity: 1;
    translate: 0;
  }
}

@keyframes fade_up {
  from {
    opacity: 0;
    translate: 0 10px;
  }
  to {
    opacity: 1;
    translate: 0;
  }
}

@keyframes slide_in_from_left {
  from {
    opacity: 0;
    translate: -20px;
  }
  to {
    opacity: 1;
    translate: 0;
  }
}

@keyframes slide_in_from_right {
  from {
    opacity: 0;
    translate: 20px;
  }
  to {
    opacity: 1;
    translate: 0;
  }
}

@keyframes item_appear {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* アニメーション */
@keyframes bird_appear {
  from {
    opacity: 0;
    translate: 30px 5px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}

/* contents
====================================================================================================================================== */
#conts {
  padding: 0 0 8rem;
}

#intro_area {
  padding: 0 0 23%;
  position: relative;
  background: url(../images/illust/bg_wood.png) no-repeat center bottom;
  background-size: 130% auto;
}

#intro_area:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 38%;
  aspect-ratio: 60/72;
  background: url(../images/illust/buppousou.png) no-repeat right top;
  background-size: contain;
}

#intro_area p {
  display: inline-block;
  font-size: 3.45vw;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
  padding: 0 1.4em;
  margin-bottom: 0;
  background: url(../images/intro_text_line.svg) repeat left top;
  background-size: auto 2.4em;
  line-height: 2.4em;
}

#intro_area p strong {
  font-size: 1.11em;
}

/* お知らせ・イベント */
#articles {
  position: relative;
}

#articles .tab {
  margin-bottom: 0;
}

#articles .tab li {
  padding: 0;
  margin: 0;
  position: absolute;
  top: -54px;
  left: 50%;
  z-index: 1;
  transition: .1s;
}

#articles .tab li:before {
  display: none;
}

#articles .tab li a {
  text-decoration: none;
  transition: none;
  width: 144px;
  padding: 0.3em 0 0.7em;
  transition: .1s;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  box-shadow: 4px 4px 0 0 rgba(0, 0, 0, 0.05);
}

#articles .tab li a .en, #articles .tab li a .ja {
  display: block;
}

#articles .tab li a .en {
  font-family: "Darumadrop One", sans-serif;
}

#articles .tab li a .ja {
  font-size: 0.56em;
}

#articles .tab li.select {
  top: calc(-54px - 9px);
  z-index: 3;
}

#articles .tab li.select a {
  padding: 0.4em 0 0.8em;
  gap: 7px;
}

#articles .tab li.tab_event {
  translate: calc(-100% - 5px);
}

#articles .tab li.tab_event a {
  background-color: #ffda00;
  rotate: -2deg;
}

#articles .tab li.tab_news {
  translate: 5px;
}

#articles .tab li.tab_news a {
  background-color: #9DCFF2;
  rotate: 2deg;
}

#articles .tab_content {
  position: relative;
  z-index: 2;
  background-color: #FFF3B8;
  padding: 2.5rem 25px 4rem;
  margin: 0 -20px;
}

#articles .tab_content:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 100%;
  rotate: 180deg;
  width: 100%;
  height: 10px;
  background: url(../images/rough_line_yellow.svg) repeat-x left top;
  background-size: contain;
}

#articles .tab_content > li {
  display: none;
  padding: 0;
  margin: 0;
}

#articles .tab_content > li:before {
  display: none;
}

#articles .tab_content > li.first_select {
  display: block;
}

#articles .tab_content .event_boxes_wrap,
#articles .tab_content .article_list {
  max-height: 510px;
  overflow: auto;
}

#articles .event_boxes_wrap {
  margin-bottom: 3em;
}

.top_section {
  padding: 7rem 0 3.5rem;
}

.top_title_lead {
  font-size: 1rem;
  font-weight: bold;
  background-color: #ffda00;
  padding: 0.3em 0.8em;
  width: fit-content;
  margin: 0 auto 0.6em;
  rotate: -3deg;
}

.top_title_lead:after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50%;
  width: 13px;
  aspect-ratio: 13/9;
  background-color: inherit;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

#support {
  position: relative;
  z-index: 2;
}

#support .illust_fox {
  position: absolute;
  top: -80px;
  left: -35px;
  width: 270px;
}

#support .illust_cloud_small {
  position: absolute;
  top: -10px;
  right: 50px;
  width: 75px;
}

#support .illust_cloud_big {
  position: absolute;
  top: 30px;
  right: -60px;
  width: 160px;
}

#support .illust_wood {
  position: absolute;
  bottom: 5px;
  left: calc(50% - 20px);
  width: 125px;
}

#support .top_title_lead {
  position: relative;
}

#support .life_stage_board {
  position: relative;
}

#support .life_stage_board .load_image {
  width: 415px;
  margin: 0 auto;
  translate: -22%;
}

#support .life_stage_board .load_image img {
  width: 100%;
}

#support .stage_circle {
  width: 155px;
  height: 155px;
  border-radius: 50%;
  box-shadow: 4px 4px 0 0 rgba(0, 0, 0, 0.05);
  position: absolute;
  left: 50%;
  flex-shrink: 0;
}

#support .stage_circle a {
  display: block;
  height: 100%;
  text-decoration: none;
}

#support .stage_circle.stage01 {
  top: -15px;
  translate: calc(-100% - 15px);
}

#support .stage_circle.stage02 {
  top: 50px;
  translate: 15px;
}

#support .stage_circle.stage03 {
  top: 185px;
  translate: calc(-100% + 30px);
}

#support .stage_circle.stage04 {
  top: 320px;
  translate: 15px;
}

#support .stage_circle.stage05 {
  top: 385px;
  translate: calc(-100% - 15px);
}

#support .stage_circle.stage06 {
  top: 520px;
  translate: -30px;
}

#support .stage_circle.stage07 {
  top: 655px;
  translate: calc(-100% - 15px);
}

#support .stage_circle.stage08 {
  top: 720px;
  translate: 15px;
}

#support .stage_circle.stage09 {
  top: 855px;
  translate: calc(-100% + 35px);
}

#support .stage_circle.stage_pink {
  background-color: #FAB17D;
}

#support .stage_circle.stage_yellow {
  background-color: #ffda00;
}

#support .stage_circle.stage_green {
  background-color: #4FCC47;
}

#support .stage_content {
  position: absolute;
  top: -24px;
  left: 0;
  width: 155px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
}

#support .stage_icon {
  width: 85px;
  transition: .1s;
}

#support .stage_label {
  font-size: 0.8rem;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 0;
}

#support .stage_button {
  padding: 7px;
  padding-left: 35px;
  border-radius: 12px;
  background: #fff url(../images/icon/link_arrow_b.svg) no-repeat left 8px center;
  background-size: 21px auto;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  margin-bottom: 0;
  transition: .1s;
}

#support .illust {
  position: absolute;
  left: 50%;
}

#support .illust img {
  width: 100%;
}

#support .illust.illust01 {
  top: -15px;
  translate: 75px;
  width: 140px;
}

#support .illust.illust02 {
  top: 120px;
  translate: -230px;
  width: 125px;
}

#support .illust.illust03 {
  top: 200px;
  translate: 55px;
  width: 110px;
}

#support .illust.illust04 {
  top: 315px;
  translate: -225px;
  width: 100px;
}

#support .illust.illust05 {
  top: 460px;
  translate: 120px;
  width: 120px;
}

#support .illust.illust06 {
  top: 605px;
  translate: -210px;
  width: 85px;
}

#support .illust.illust07 {
  top: 640px;
  translate: 125px;
  width: 110px;
}

#support .illust.illust08 {
  top: 810px;
  translate: -255px;
  width: 150px;
}

@media (hover: hover) {
  #support .stage_circle a:hover .stage_icon {
    translate: 0 -3px;
  }
  #support .stage_circle a:hover .stage_button {
    background-position: left 10px center;
  }
}

#map {
  padding: 4.5rem 0 3rem;
  position: relative;
  z-index: 2;
  background: url(../images/bg_texture_green.jpg);
}

#map:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 100%;
  width: 100%;
  height: 10px;
  background: url(../images/rough_line_green.png) repeat-x left bottom;
  background-size: contain;
}

#map:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  height: 10px;
  background: url(../images/rough_line.svg) repeat-x left bottom;
  background-size: contain;
}

#map .illust_risu {
  position: absolute;
  top: -160px;
  right: -35px;
  width: 265px;
}

#map .illust_risu img {
  width: 100%;
}

#map .illust_lake {
  position: absolute;
  bottom: 0;
  z-index: 1;
  right: -40px;
  width: 265px;
}

#map .illust_lake img {
  width: 100%;
}

#map .illust_oosansyouo {
  position: absolute;
  bottom: -75px;
  left: -40px;
  z-index: 3;
  width: 270px;
}

#map .top_title {
  color: #fff;
}

#map .top_title .en {
  background: none;
  padding: 0;
}

#map .map_wrap {
  width: 140%;
  margin-left: calc(40% / -2);
  margin-bottom: -33%;
}

#map .map_wrap img {
  width: 100%;
}

#map .map_wrap map area:hover {
  cursor: pointer;
}

#map .wrapper {
  position: relative;
  z-index: 4;
  padding-left: 25px;
  padding-right: 25px;
}

#map .list_hoikuen h3 {
  background-color: #FAB17D;
}

#map .list_hoikuen .mark_list li:before {
  background-image: url(../images/icon/pin_r.svg);
  color: #332924;
}

#map .list_shochugakkou h3 {
  background-color: #9DCFF2;
}

#map .list_shochugakkou .mark_list li:before {
  background-image: url(../images/icon/pin_b.svg);
  color: #332924;
}

#map .list_shienkyoten_library h3 {
  background-color: #A1E5A1;
}

#map .list_taiiku .mark_list li:before {
  background-image: url(../images/icon/pin_y.svg);
  color: #332924;
}

#category {
  padding: 4.5rem 0 0;
}

/* footer
====================================================================================================================================== */
#footer {
  text-align: center;
}

#footer .footer_contact {
  position: relative;
  background-color: #FFF3B8;
  padding: 3.5rem 0 4rem;
}

#footer .footer_contact .illust_deer {
  width: 245px;
  position: absolute;
  top: -120px;
  right: -25px;
}

#footer .footer_contact .illust_deer img {
  width: 100%;
}

#footer .footer_contact:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 100%;
  width: 100%;
  height: 10px;
  background: url(../images/rough_line_yellow.svg) repeat-x left bottom;
  background-size: contain;
}

#footer .footer_contact h2 {
  letter-spacing: 0.03em;
  padding-bottom: 0.35em;
  margin-bottom: 0.4em;
  background-size: 4.8em auto;
}

#footer .footer_contact .lead_area {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.6;
  padding-bottom: 2em;
  background: url(../images/illust/wood_sakura.png) no-repeat left 5px bottom;
  background-size: 52px auto;
  width: min(100%, 400px);
  margin: 0 auto;
}

#footer .footer_contact .lead_area p {
  margin-bottom: 0;
}

#footer .footer_contact .button_tel {
  margin-bottom: 0.5em;
}

#footer .footer_contact .button_tel a {
  border: none;
  font-size: 0.8rem;
  font-weight: bold;
  line-height: 1.2;
  padding: 1.7em 0 1.2em;
}

#footer .footer_contact .button_tel a .main_text {
  display: inline-block;
  padding-left: calc(26px + 10px);
  position: relative;
}

#footer .footer_contact .button_tel a .main_text:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 26px;
  aspect-ratio: 1/1;
  translate: 0 -50%;
  border-radius: 50%;
  background: #ffda00 url(../images/icon/i_tel.svg) no-repeat center center;
  background-size: 66.5% auto;
}

#footer .footer_contact .button_tel a .tel_label {
  display: block;
  letter-spacing: 0.04em;
}

#footer .footer_contact .button_tel a .telno {
  display: block;
  font-size: 2em;
  letter-spacing: 0.09em;
}

#footer .footer_contact .button_tel a:before {
  display: none;
}

#footer .footer_contact .tel_note {
  font-size: 0.8rem;
  line-height: 1.6;
  margin-bottom: 1.4em;
}

#footer .footer_contact .button_contact {
  margin-bottom: 0;
}

#footer .footer_contact .button_contact a {
  padding: 1em 0;
}

#footer .footer_contact .button_contact a:before {
  display: none;
}

#footer .footer_contact .button_contact a .inner {
  display: inline-block;
  padding-left: calc(26px + 10px);
  position: relative;
}

#footer .footer_contact .button_contact a .inner:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 26px;
  aspect-ratio: 1/1;
  translate: 0 -50%;
  border-radius: 50%;
  background: #fff url(../images/icon/i_tel.svg) no-repeat center center;
  background-size: 66.5% auto;
}

#footer .footer_bottom {
  background-color: #332924;
  color: #fff;
  padding: 4rem 0 calc(4em + 70px);
  position: relative;
  font-size: 0.9rem;
}

#footer .footer_bottom:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 100%;
  width: 100%;
  height: 10px;
  background: url(../images/rough_line_black.svg) repeat-x left bottom;
  background-size: contain;
}

#footer .footer_bottom .footer_office {
  font-size: 1rem;
  margin-bottom: 0.5em;
}

#footer .footer_bottom .footer_address {
  margin-bottom: 3em;
}

#footer .footer_bottom .footer_links {
  display: flex;
  justify-content: center;
  margin-bottom: 3em;
}

#footer .footer_bottom .footer_links li {
  padding: 0 1.5em;
  border-left: 1px solid #fff;
  line-height: 1;
}

#footer .footer_bottom .footer_links li:first-child {
  padding-left: 0;
  border-left: none;
}

#footer .footer_bottom .footer_links li:last-child {
  padding-right: 0;
}

#footer .footer_bottom .footer_links li a {
  color: #fff;
}

#footer .footer_bottom .copyright {
  display: block;
  font-size: 0.8rem;
}

/* side_fixed_box
====================================================================================================================================== */
.top_page {
  display: block;
  position: fixed;
  right: 10px;
  bottom: calc(70px + 5px);
  z-index: 9999;
  width: 50px;
}

.top_page img {
  width: 100%;
}

@media (hover: hover) {
  .top_page:hover {
    opacity: 0.8;
  }
}

/* カレンダー
====================================================================================================================================== */
.calendar_prev_next {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 20px;
  line-height: 1;
  font-weight: bold;
}

.calendar_prev_next .y, .calendar_prev_next .ym {
  margin: 0;
}

.calendar_prev_next .y .month_text, .calendar_prev_next .ym .month_text {
  font-size: 1.8rem;
}

.calendar_prev_next .y .month_text .smaller, .calendar_prev_next .ym .month_text .smaller {
  font-size: 0.78em;
}

.calendar_prev_next .move {
  font-size: 1.1rem;
}

.calendar_prev_next .move a {
  display: block;
  position: relative;
}

.calendar_prev_next .move a:before {
  content: "";
  display: block;
  width: 1.27em;
  aspect-ratio: 1/1;
  background: url(../images/icon/link_arrow_b.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}

.calendar_prev_next .move.prev a {
  padding-left: 1.7em;
}

.calendar_prev_next .move.prev a:before {
  left: 0;
  rotate: 180deg;
}

.calendar_prev_next .move.next a {
  padding-right: 1.7em;
}

.calendar_prev_next .move.next a:before {
  right: 0;
}

.month_calendar_table {
  margin-bottom: 20px;
}

.month_calendar_table tbody tr.sat th {
  color: #4DBBF2;
}

.month_calendar_table tbody tr.sun th {
  color: #D93200;
}

/* フォーム画面
====================================================================================================================================== */
table.table_form tbody th, table.table_form tbody td {
  display: block;
  width: 100%;
}

table.table_form tbody th {
  border-bottom: none;
  padding: 1.3em 0 0.5em;
}

table.table_form tbody td {
  padding: 0 0 1.7em;
}

table.table_form tbody td .help_text {
  font-size: 0.9em;
  color: #666;
}

form#inputForm {
  text-align: center;
}

form input,
form button {
  font-size: 14px;
}

form button {
  font-size: 18px;
}

form input[type="text"],
form input[type="email"],
form textarea {
  background: #f2f2f2;
  border: solid 1px #e6e6e6;
  color: #332924;
  outline: none;
  padding: 4px 6px;
  font-size: 16px;
  font-weight: normal;
  border-radius: 0;
  transition: background-color 0.3s, color 0.3s;
}

form input[type="text"],
form input[type="email"] {
  width: 100%;
}

form textarea {
  width: 100%;
  height: 220px;
  line-height: 1.6;
}

form select {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  width: calc(100% - 2em);
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 0;
  font-size: 16px;
  padding: 0.35em 0.4em;
}

form .button_area {
  margin-bottom: 2em;
}

.form_btn {
  display: inline-block;
  min-width: 0;
  width: min(49%, 290px);
  text-align: center;
  transition: 0.3s;
  padding: 0.8em 1.7em;
  padding-left: 2.2em;
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.5;
  background-color: #fff;
  background-image: url(../images/icon/link_arrow_l.svg);
  background-repeat: no-repeat;
  background-position: left 1.2em center;
  background-size: 1.1em auto;
  border: 1px solid #111;
  border-radius: 2.5em;
  color: #111;
  cursor: pointer;
}

.form_btn + input.form_btn {
  margin-left: 10px;
}

.form_btn:hover {
  opacity: 0.8;
}

input.form_btn.btn_submit,
a.form_btn.go_home {
  padding-left: 1.7em;
  padding-right: 2.2em;
  background-color: #111;
  background-image: url(../images/icon/link_arrow_w.svg);
  background-position: right 1.2em center;
  color: #fff;
}

input.form_btn.btn_submit:hover,
a.form_btn.go_home:hover {
  color: #fff;
}

/*confilm*/
.error {
  color: #f33;
  font-weight: normal;
}

.error:before {
  content: "※";
}

/*確認*/
form table {
  margin-bottom: 2em;
}

.form_send h2 {
  margin-top: 1.5em;
  margin-bottom: 1em;
}

form .column02 {
  overflow: hidden;
}

/*form .column02 dt { float:left; width:27%; margin-bottom:0; }
form .column02 dd { float:left; width:73%; }*/
form .form_file_group {
  margin-bottom: 20px;
  overflow: hidden;
}

form .file_list {
  margin-bottom: 10px;
  overflow: hidden;
}

form .form_tit {
  clear: both;
  letter-spacing: 0.2em;
  padding-right: 10px;
}
