@charset "UTF-8";
* {
  /* HTML5 display-role reset for older browsers */
  box-sizing: border-box;
}
* html,
* body,
* div,
* span,
* applet,
* object,
* iframe,
* h1,
* h2,
* h3,
* h4,
* h5,
* h6,
* p,
* blockquote,
* pre,
* a,
* abbr,
* acronym,
* address,
* big,
* cite,
* code,
* del,
* dfn,
* em,
* img,
* ins,
* kbd,
* q,
* s,
* samp,
* small,
* strike,
* strong,
* sub,
* sup,
* tt,
* var,
* b,
* u,
* i,
* center,
* dl,
* dt,
* dd,
* ol,
* ul,
* li,
* fieldset,
* form,
* label,
* legend,
* table,
* caption,
* tbody,
* tfoot,
* thead,
* tr,
* th,
* td,
* article,
* aside,
* canvas,
* details,
* embed,
* figure,
* figcaption,
* footer,
* header,
* hgroup,
* menu,
* nav,
* output,
* ruby,
* section,
* summary,
* time,
* mark,
* audio,
* video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
* article,
* aside,
* details,
* figcaption,
* figure,
* footer,
* header,
* hgroup,
* menu,
* nav,
* section {
  display: block;
}
* body {
  line-height: 1;
}
* ol,
* ul {
  list-style: none;
}
* blockquote,
* q {
  quotes: none;
}
* blockquote:before,
* blockquote:after,
* q:before,
* q:after {
  content: '';
  content: none;
}
* table {
  border-collapse: collapse;
  border-spacing: 0;
}
*::before, *::after {
  box-sizing: border-box;
}

html {
  line-height: 1.2;
  -webkit-text-size-adjust: 100%;
}

body {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 12px;
  }
}

.pc_hide {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc_hide {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .sp_hide {
    display: none;
  }
}

#main .mailform .reserve {
  margin-top: 0;
}
#main .mailform .date-row {
  margin-top: 10px;
}
#main .mailform .date-row .options {
  display: flex;
  flex-wrap: wrap;
  margin-top: 5px;
}
#main .mailform .date-row .options label {
  display: block;
  cursor: pointer;
  padding: 2px;
  margin-right: 5px;
}
#main .mailform .date-row .options label input {
  display: none;
}
#main .mailform .date-row .options label span {
  display: inline-block;
  border: 1px solid #003f97;
  border-radius: 3px;
  padding: 3px 7px;
  line-height: 1.2;
  color: #003f97;
  background: white;
}
#main .mailform .date-row .options label span.enabled:hover {
  background: rgba(0, 63, 151, 0.1);
}
#main .mailform .date-row .options label span.disabled {
  background: #f3f3f3;
  color: #777;
  border-color: #999;
  cursor: not-allowed;
}
#main .mailform .date-row .options label input:checked + span.enabled {
  background: #003f97;
  color: white;
}
#main .mailform .reserve-admin {
  margin-top: 30px;
}

:root {
  --color-pink: #E7373E;
  --color-light-green: #58B665;
}

#sumai,
#hiraya {
  --page-bg: #A62126;
  --point-bg: #E7373E;
}

#detail {
  --page-bg: #366A2A;
  --point-bg: #58B665;
}
#detail #main .bg_section_wrap {
  padding-top: 50px;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  #detail #main .bg_section_wrap {
    padding-top: 30px;
  }
}

body {
  min-width: 400px;
  background-color: var(--page-bg);
  color: #191919;
}

a {
  transition: opacity .3s;
}
a:hover {
  opacity: 0.75;
}

.hidden_title {
  font-size: 0;
  opacity: 0;
}

header {
  height: 100px;
  padding: 30px 20px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  header {
    height: 60px;
    padding: 18px 20px;
  }
}
header .header_contents .header_title {
  width: 180px;
}
header .header_contents .header_title img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  header .header_contents .header_title {
    width: 122px;
  }
}

#main {
  max-width: 790px;
  margin: 0 auto;
}
#main .kv_logo {
  width: 53.5%;
  margin: 27px auto 0;
  position: relative;
  right: 12px;
}
#main .kv_logo img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  #main .kv_logo {
    width: 70%;
    margin: 35px auto 0;
    right: 4px;
  }
}
#main .kv_label {
  display: flex;
  justify-content: space-between;
  margin-top: 44px;
}
@media screen and (max-width: 767px) {
  #main .kv_label {
    margin-top: 20px;
  }
}
#main .kv_label_left img, #main .kv_label_right img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
#main .kv_label_left {
  width: 27.3%;
  margin-left: 5px;
}
@media screen and (max-width: 767px) {
  #main .kv_label_left {
    width: 29%;
    margin-left: 24px;
  }
}
#main .kv_label_right {
  width: 28.2%;
  margin-right: 2px;
}
@media screen and (max-width: 767px) {
  #main .kv_label_right {
    width: 29%;
    margin-right: 26px;
  }
}
#main .kv.hiraya .kv_logo {
  width: 52.8%;
  margin: 54px auto 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  #main .kv.hiraya .kv_logo {
    width: 72.3%;
    margin: 30px auto 0;
  }
}
#main .kv.hiraya .kv_label {
  margin-top: 74px;
}
@media screen and (max-width: 767px) {
  #main .kv.hiraya .kv_label {
    margin-top: 27px;
  }
}
#main .kv.hiraya .kv_label_left {
  width: 28.3%;
  margin-left: 58px;
}
@media screen and (max-width: 767px) {
  #main .kv.hiraya .kv_label_left {
    width: 33.5%;
    margin-left: 22px;
  }
}
#main .kv.hiraya .kv_label_right {
  width: 29.2%;
  margin-right: 46px;
}
@media screen and (max-width: 767px) {
  #main .kv.hiraya .kv_label_right {
    width: 34.5%;
    margin-right: 17px;
  }
}
#main .bg_section_wrap {
  padding-top: 50.5%;
  margin-top: -24.5%;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  #main .bg_section_wrap {
    padding-top: 49.2%;
    padding-right: 20px;
    padding-left: 20px;
    margin-top: -16%;
  }
}
#main .bg_section_wrap.hiraya {
  padding-top: 44.5%;
  margin-top: -30.5%;
}
@media screen and (max-width: 767px) {
  #main .bg_section_wrap.hiraya {
    padding-top: 41.2%;
    margin-top: -26.5%;
  }
}
#main .bg_section_wrap.hiraya .kv_pic {
  width: 64%;
  aspect-ratio: 506 / 460;
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  #main .bg_section_wrap.hiraya .kv_pic {
    width: 59.4%;
    margin-left: 1px;
  }
}
@media screen and (max-width: 767px) {
  #main .bg_section_wrap.hiraya .bg_section {
    padding-top: 18px;
  }
}
#main .bg_section_wrap .kv_pic {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  width: 87.3%;
  aspect-ratio: 691 / 460;
  margin-left: 14px;
}
#main .bg_section_wrap .kv_pic img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  #main .bg_section_wrap .kv_pic {
    width: 85%;
    margin-left: 8px;
  }
}
#main .bg_section {
  padding: 35.7px 33px;
  background-color: #fff;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  #main .bg_section {
    padding: 26px 18px 30px;
  }
}
#main section + section {
  margin-top: 34px;
}
@media screen and (max-width: 767px) {
  #main section + section {
    margin-top: 42px;
  }
}
#main .outset {
  display: flex;
  gap: 14.5px;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  #main .outset {
    margin-bottom: 12px;
  }
}
#main .outset_side {
  position: relative;
  flex: 0 0 172.53px;
  height: 234.68px;
  margin-left: -16px;
}
#main .outset_side_pic {
  width: 143.27px;
  height: 234.68px;
}
#main .outset_side_pic img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
#main .outset_side_comment {
  position: absolute;
  top: 8px;
  right: 0;
  width: 67.02px;
  height: 60.06px;
}
@media screen and (max-width: 767px) {
  #main .outset_main {
    flex: 0 0 100%;
  }
}
#main .outset_main_title {
  height: 63.12px;
  margin: 8px 0 18px 42px;
}
@media screen and (max-width: 767px) {
  #main .outset_main_title {
    height: 53.67px;
    margin: 0 0 17px;
    text-align: center;
  }
}
#main .outset_main_title img {
  width: auto;
  height: 100%;
}
#main .outset_main .place {
  font-size: 28px;
  line-height: 1.43;
}
@media screen and (max-width: 767px) {
  #main .outset_main .place {
    font-size: 19px;
  }
}
#main .outset_main .place_kana {
  display: block;
  margin-top: 11px;
  margin-left: -10px;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  #main .outset_main .place_kana {
    margin-top: 7px;
  }
}
#main .outset_main .access {
  margin-top: 2px;
  font-size: 14px;
  line-height: 1.64;
}
@media screen and (max-width: 767px) {
  #main .outset_main .access {
    line-height: 1.43;
  }
}
#main .outset_main .access dt {
  float: left;
}
#main .photo_list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  #main .photo_list {
    gap: 11.5px;
  }
}
#main .photo_list.col2 li {
  flex: 1 0 calc((100% - 12px) / 2);
}
@media screen and (max-width: 767px) {
  #main .photo_list.col2 li {
    flex: 1 0 100%;
  }
}
#main .photo_list.col3 {
  gap: 5px;
}
@media screen and (max-width: 767px) {
  #main .photo_list.col3 {
    gap: 7px;
  }
}
#main .photo_list.col3 li {
  flex: 1 0 calc((100% - 10px) / 3);
}
@media screen and (max-width: 767px) {
  #main .photo_list.col3 li {
    flex: 1 0 calc((100% - 7px) / 2);
  }
}
#main .photo_list li {
  flex: 0 0 calc((100% - 12px) / 2);
}
@media screen and (max-width: 767px) {
  #main .photo_list li {
    flex: 1 0 100%;
  }
}
#main .photo_list li.full {
  flex: 0 0 100%;
}
#main .photo_list li .photo img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
#main .photo_list li .caption {
  margin: 9px 0;
  font-size: 14px;
  line-height: 1.29;
}
@media screen and (max-width: 767px) {
  #main .photo_list li .caption {
    margin: 4px 0;
  }
}
#main .photo_list + .outset {
  margin-top: 39px;
  margin-bottom: 14px;
}
@media screen and (max-width: 767px) {
  #main .photo_list + .outset {
    margin-top: 32px;
  }
}
#main .button {
  width: 314px;
  margin: 13px auto;
}
@media screen and (max-width: 767px) {
  #main .button {
    margin: 8px auto;
  }
}
#main .button a {
  display: block;
  width: 100%;
}
#main .button a img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
#main .highlight {
  display: flex;
  align-items: flex-start;
  gap: 42px;
}
@media screen and (max-width: 767px) {
  #main .highlight {
    margin-top: 14px;
  }
}
@media screen and (max-width: 610px) {
  #main .highlight {
    display: block;
  }
}
#main .highlight_title {
  flex: 0 0 157px;
  aspect-ratio: 1;
  padding: 17px 12px;
  background-color: var(--point-bg);
  position: relative;
}
@media screen and (max-width: 610px) {
  #main .highlight_title {
    aspect-ratio: 325.92 / 96.54;
    margin-bottom: 10px;
  }
}
#main .highlight_title_main {
  width: 134.34px;
  height: 45.45px;
}
#main .highlight_title_main img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 610px) {
  #main .highlight_title_main {
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    width: 69%;
    height: auto;
    aspect-ratio: 220.36 / 65.42;
  }
}
#main .highlight_title_pic {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 108.63px;
  aspect-ratio: 108.63 / 85.2;
}
#main .highlight_title_pic img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 610px) {
  #main .highlight_title_pic {
    left: -20px;
    width: 40%;
    transform: unset;
  }
}
#main .highlight_title_comment {
  position: absolute;
  right: -20px;
  bottom: 31px;
  width: 72.36px;
  height: 58.34px;
}
#main .highlight_title_comment img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 610px) {
  #main .highlight_title_comment {
    display: none;
  }
}
#main .highlight p {
  margin-top: -5px;
  font-size: 16px;
  line-height: 1.44;
}
@media screen and (max-width: 610px) {
  #main .highlight p {
    margin-top: 0;
  }
}
#main .event_title {
  height: 51.55px;
  margin: 0 0 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #main .event_title {
    height: 43.54px;
  }
}
#main .event_title img {
  width: auto;
  height: 100%;
}
@media screen and (min-width: 768px) {
  #main .challenge {
    display: flex;
    gap: 17px;
  }
}
#main .challenge_pic {
  flex: 0 0 46%;
}
#main .challenge_pic img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  #main .challenge_pic {
    margin-bottom: 15px;
  }
}
#main .challenge p {
  font-size: 16px;
  line-height: 1.375;
}
@media screen and (min-width: 768px) {
  #main .challenge p {
    margin-top: -3px;
  }
}
#main .gift {
  padding-top: 16.4%;
  margin-top: 30px;
  position: relative;
}
@media screen and (max-width: 767px) {
  #main .gift {
    padding-top: 141px;
    margin-top: 12px;
  }
}
#main .gift_sub {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  width: 158.09px;
  aspect-ratio: 158.09 / 124.67;
}
@media screen and (max-width: 767px) {
  #main .gift_sub {
    top: 2px;
    width: 212.52px;
  }
}
#main .gift_sub_pic {
  position: absolute;
  left: -4px;
  width: 158.09px;
  aspect-ratio: 158.09 / 124.67;
}
#main .gift_sub_pic img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  #main .gift_sub_pic {
    width: 100%;
  }
}
#main .gift_sub_comment {
  position: absolute;
  top: 9px;
  right: -61px;
  width: 99.05px;
  height: 82.23px;
}
@media screen and (max-width: 767px) {
  #main .gift_sub_comment {
    top: 32px;
    right: -41px;
  }
}
#main .gift_main {
  padding: 45px 55px 52px;
  background-color: var(--point-bg);
  text-align: center;
}
@media screen and (max-width: 767px) {
  #main .gift_main {
    padding: 22px 22.5px 18px;
    border-radius: 12px;
  }
}
#main .gift_main_title {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  #main .gift_main_title {
    margin-bottom: 10px;
  }
}
#main .gift + .button {
  margin-top: 18px;
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  #main .gift + .button {
    margin-bottom: 4px;
  }
}
#main .bungalow {
  background-color: #E8E2E1;
}
#main .bungalow_top {
  display: flex;
  align-items: flex-start;
  gap: 22px;
}
@media screen and (max-width: 767px) {
  #main .bungalow_top {
    gap: 0;
  }
}
@media screen and (max-width: 610px) {
  #main .bungalow_top {
    display: block;
  }
}
#main .bungalow_top_sub {
  flex: 0 0 229.45px;
  aspect-ratio: 229.45 / 196.99;
  padding: 17px 12px;
  background-color: #CD232F;
  position: relative;
  									/*&_comment {
  									position: absolute;
  									right: -62px;
  									bottom: 8px;
  									width: 114.13px;
  									height: 80.7px;
  									@include inner_img;
  
  									@media screen and (max-width: 610px) {
  									right: 32px;
  									bottom: 12px;
  									width: 63%;
  									height: auto;
  									aspect-ratio: 203.18 / 28.54;
  								}
  								}*/
}
@media screen and (max-width: 610px) {
  #main .bungalow_top_sub {
    aspect-ratio: 324 / 106.41;
  }
}
#main .bungalow_top_sub_title {
  width: 198.8px;
  height: 51.22px;
  margin: 0 auto;
}
#main .bungalow_top_sub_title img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 610px) {
  #main .bungalow_top_sub_title {
    position: absolute;
    top: 9px;
    right: 35px;
    width: 58%;
    height: auto;
    aspect-ratio: 219.07 / 57.85;
  }
}
#main .bungalow_top_sub_pic {
  position: absolute;
  left: 50%;
  bottom: -2px;
  transform: translateX(-50%);
  width: 146.89px;
  aspect-ratio: 143.89 / 132.34;
  margin-left: 5px;
}
#main .bungalow_top_sub_pic img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 610px) {
  #main .bungalow_top_sub_pic {
    left: -2px;
    bottom: -1px;
    width: 35%;
    transform: unset;
  }
}
@media screen and (min-width: 768px) {
  #main .bungalow_top_main {
    margin-top: 31.5px;
  }
}
@media screen and (max-width: 767px) {
  #main .bungalow_top_main {
    padding: 19px 28.4px 14px;
    margin: 0 auto;
    text-align: center;
  }
}
#main .bungalow_top_main_2 {
  margin-top: 17px;
}
@media screen and (min-width: 768px) {
  #main .bungalow_top_main_2 {
    margin-left: 3px;
  }
}
@media screen and (max-width: 767px) {
  #main .bungalow_top_main_2 {
    margin-top: 20px;
  }
}
#main .bungalow_middle {
  padding: 0 24px;
  margin-bottom: 7px;
}
@media screen and (max-width: 767px) {
  #main .bungalow_middle {
    padding: 0 12px;
    margin-bottom: 18px;
  }
}
@media screen and (min-width: 768px) {
  #main .bungalow_middle_main {
    display: flex;
    align-items: flex-end;
    gap: 17.6px;
    padding: 0 9px 0 0;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  #main .bungalow_middle_main_title {
    position: absolute;
    top: 16px;
    left: 18px;
    width: 215px;
  }
}
@media screen and (max-width: 767px) {
  #main .bungalow_middle_main_title {
    width: 92%;
    max-width: 276px;
    margin: 0 auto;
  }
}
#main .bungalow_middle_main_title_pic {
  width: 186.74px;
  height: 25.11px;
  margin-bottom: 10px;
}
#main .bungalow_middle_main_title_pic img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  #main .bungalow_middle_main_title_pic {
    width: 96.5%;
    height: auto;
    margin: 0 auto 9px;
  }
}
#main .bungalow_middle_main_title_type {
  font-family: 'ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN', sans-serif;
}
@media screen and (max-width: 767px) {
  #main .bungalow_middle_main_title_type {
    margin: 0 8px;
  }
}
#main .bungalow_middle_main_title_type p {
  font-size: 16px;
  font-weight: 700;
}
#main .bungalow_middle_main_title_type dl {
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.46;
}
#main .bungalow_middle_main_title_type dl dt {
  float: left;
  width: 4.7em;
  margin-right: 1em;
  white-space: nowrap;
  text-align: justify;
  text-align-last: justify;
  position: relative;
}
#main .bungalow_middle_main_title_type dl dt::after {
  position: absolute;
  right: -1em;
  content: "：";
}
#main .bungalow_middle_main_pic {
  flex: 0 0 52%;
}
#main .bungalow_middle_main_pic img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  #main .bungalow_middle_main_pic {
    margin-left: -6px;
  }
}
@media screen and (max-width: 767px) {
  #main .bungalow_middle_main_pic {
    width: 100%;
    margin-top: 7px;
    margin-bottom: 18px;
  }
}
#main .bungalow_middle_main_fig {
  flex: 0 0 47%;
}
#main .bungalow_middle_main_fig img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  #main .bungalow_middle_main_fig {
    margin-top: -23px;
    margin-bottom: 13px;
  }
}
#main .bungalow_middle_caution {
  margin-top: -2px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  #main .bungalow_middle_caution {
    margin-top: 16px;
    text-align: center;
  }
}
#main .bungalow_bottom {
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  #main .bungalow_bottom {
    display: flex;
    gap: 18px;
  }
}
#main .bungalow_bottom .present {
  display: flex;
  gap: 6px;
  position: relative;
  									/*&_caution {
  									position: absolute;
  									right: -1px;
  									bottom: 22px;
  
  									@media screen and (max-width: 767px) {
  									bottom: 16px;
  								}
  								}*/
}
@media screen and (max-width: 767px) {
  #main .bungalow_bottom .present {
    flex-wrap: wrap;
    gap: 3px 14px;
    padding-bottom: 4px;
  }
}
#main .bungalow_bottom .present_title {
  aspect-ratio: 224.73 / 229.5;
  position: relative;
}
@media screen and (max-width: 767px) {
  #main .bungalow_bottom .present_title {
    width: 100%;
    aspect-ratio: 224.73 / 86.5;
  }
}
#main .bungalow_bottom .present_title_main {
  width: 204px;
  aspect-ratio: 201.6 / 90.04;
}
#main .bungalow_bottom .present_title_main img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  #main .bungalow_bottom .present_title_main {
    position: absolute;
    right: 5px;
    width: 70.5%;
  }
}
#main .bungalow_bottom .present_title_pic {
  position: absolute;
  left: 53%;
  bottom: 0;
  transform: translateX(-50%);
  width: 136.41px;
  aspect-ratio: 141.41 / 121.41;
}
#main .bungalow_bottom .present_title_pic img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  #main .bungalow_bottom .present_title_pic {
    left: 15.5%;
    bottom: 8px;
    width: 45.5%;
  }
}
#main .bungalow_bottom .present_title_comment {
  position: absolute;
  right: 2px;
  bottom: 28px;
  width: 72.49px;
  aspect-ratio: 72.49 / 66.56;
}
#main .bungalow_bottom .present_title_comment img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  #main .bungalow_bottom .present_title_comment {
    right: -8px;
    bottom: 30px;
    width: 54%;
    max-width: 150px;
  }
}
#main .bungalow_bottom .present_item {
  width: 109.63px;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  #main .bungalow_bottom .present_item {
    width: calc((100% - 14px) / 2);
    margin-top: 3px;
  }
}
@media screen and (min-width: 768px) {
  #main .bungalow_bottom .present_item:not(:last-child) {
    margin-right: 8px;
  }
}
@media screen and (min-width: 768px) {
  #main .bungalow_bottom .present_item:nth-child(5) {
    width: 101.24px;
  }
}
#main .bungalow_bottom .present_item .photo img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
#main .bungalow_bottom .present_item .caption {
  margin: 10px 0;
}
@media screen and (max-width: 767px) {
  #main .bungalow_bottom .present_item .caption {
    margin: 20px 0 25px;
  }
}
@media screen and (max-width: 767px) {
  #main .bungalow_bottom .present_item .caption img {
    transform: scale(1.25);
    transform-origin: left;
  }
}
#main .banner {
  width: 100%;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #main .banner {
    margin-top: 28px;
  }
}
#main .banner a {
  display: block;
}
#main .banner a img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
#main .space {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 38.6px;
}
#main .space img {
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  #main .space {
    margin-top: 25.6px;
  }
}
#main .map {
  width: 100%;
  aspect-ratio: 5 / 3;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  #main .map {
    aspect-ratio: 324 / 222;
    margin-top: 17px;
  }
}
#main .map iframe {
  width: 100%;
  height: 100%;
}
#main h3.reserve {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #main h3.reserve {
    font-size: 19px;
  }
}
#main .reserve {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  #main .reserve {
    margin-top: 17px;
  }
}
#main .reserve .preset {
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  #main .reserve form.table table th, #main .reserve form.table table td {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  #main .reserve form.table input.sizeLL {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #main .reserve form.table label.radio,
  #main .reserve form.table label.checkbox {
    width: 50%;
  }
}
#main .reserve .privacy .privacy_area {
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  #main .reserve .privacy .privacy_area {
    margin-top: 0;
    margin-bottom: 0;
  }
}
#main .reserve .privacy .privacy_area h3 {
  line-height: 1.3;
}

footer {
  padding: 85px 0;
  margin-top: 48px;
  background-color: #EDEDED;
}
@media screen and (max-width: 767px) {
  footer {
    padding: 30px 0;
  }
}
footer .footer_read {
  margin: 0 0 10px;
  font-size: 15px;
  text-align: center;
  letter-spacing: 0.5px;
}
@media screen and (max-width: 767px) {
  footer .footer_read {
    font-size: 12px;
    line-height: 1.9;
  }
}
footer .footer_logo {
  margin: 63px auto 17px;
  width: 200px;
}
@media screen and (max-width: 767px) {
  footer .footer_logo {
    margin: 20px auto 27px;
    width: 150px;
  }
}
footer .footer_logo a img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
footer .footer_copy {
  font-size: 10px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  footer span.wrap {
    display: block;
  }
}

/*# sourceMappingURL=2025-autumn-lower.css.map */
