@charset "utf-8";

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
.all_season b {
  display: block;
  margin: 0 auto 1.8em;
}
.all_season p {
  margin: 0 auto 1em;
  letter-spacing: 0.1em;
  box-sizing: border-box;
}
.all_season p.kome {
  padding: 0 0 0 1.15em;
  text-indent: -1.15em;
  font-size: 88.235%;
}
#ev_cal h2 {
  margin: 0 0 1em;
  font-size: 141.176%;
  text-align: center;
  color: #a21;
}
#ev_cal .chronology {
  margin: 0 auto;
  width: 660px;
}
#ev_cal .chronology li {
  display: inline-block;
}
#ev_cal .chronology h2 {
  margin: 0 0 1em;
  font-size: 141.176%;
  text-align: center;
  color: #a21;
}
#ev_cal .chronology a {
  border-left: 2px solid #8e7538;
  font-size: 110%;
  padding: 5px 0 0 15px;
  margin: 0 0 0 15px;
}
#ev_cal .cal_colors li {
  position: relative;
  padding: 0.05em 1.5em 0 2em;
  font-size: 88.235%;
}
#ev_cal .cal_colors li:last-child {
  padding: 0;
  height: 1.6em;
}
#ev_cal .cal_colors li::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 1.6em;
  height: 1.6em;
  margin: auto 0;
  background: #f4ccc9;
}
#ev_cal .cal_colors li.onsen::before {
  content: "";
  background: #f4ccc9;
}
#ev_cal .cal_colors li.golf::before {
  content: "";
  background: #d4e6ad;
}
#ev_cal .cal_colors li.reserved::before {
  content: "";
  background: #d4f3ff;
}
#maincolumn #ev_cal div[id^="cal_"],
#maincolumn > div[id^="ev_"] {
  display: none;
}
#maincolumn.show_1 #ev_cal div#cal_1,
#maincolumn.show_2 #ev_cal div#cal_2,
#maincolumn.show_3 #ev_cal div#cal_3,
#maincolumn.show_4 #ev_cal div#cal_4,
#maincolumn.show_5 #ev_cal div#cal_5,
#maincolumn.show_6 #ev_cal div#cal_6,
#maincolumn.show_7 #ev_cal div#cal_7,
#maincolumn.show_8 #ev_cal div#cal_8,
#maincolumn.show_9 #ev_cal div#cal_9,
#maincolumn.show_10 #ev_cal div#cal_10,
#maincolumn.show_11 #ev_cal div#cal_11,
#maincolumn.show_12 #ev_cal div#cal_12,
#maincolumn.show_1 > div#ev_1,
#maincolumn.show_2 > div#ev_2,
#maincolumn.show_3 > div#ev_3,
#maincolumn.show_4 > div#ev_4,
#maincolumn.show_5 > div#ev_5,
#maincolumn.show_6 > div#ev_6,
#maincolumn.show_7 > div#ev_7,
#maincolumn.show_8 > div#ev_8,
#maincolumn.show_9 > div#ev_9,
#maincolumn.show_10 > div#ev_10,
#maincolumn.show_11 > div#ev_11,
#maincolumn.show_12 > div#ev_12 {
  display: block;
}
#ev_cal .calendar tr th {
  background: #e6d9bd;
}
#ev_cal .calendar tr th.sat {
  background: #2196f3;
  color: #fff !important;
}
#ev_cal .calendar tr th.sun,
#ev_cal .calendar tr th.hol {
  background: #e91e63;
  color: #fff;
}
#ev_cal .calendar tr td {
  background: #d4f2ff;
}
#ev_cal .calendar tr.golf + tr.golf td,
#ev_cal .calendar tr.reservation + tr.reservation td {
  border-top: none;
}
#ev_cal .calendar tr.golf td {
  background: #d4e6ad;
}
#ev_cal .calendar tr.hotel td {
  background: #f3ccc9;
}
#ev_cal .calendar tr.reservation td {
  background: #d6f0f;
}
#ev_cal .calendar tr th:first-child {
  width: 13em;
  padding: 0.5em 0.5em 0.5em 0;
  text-align: right;
}
#ev_cal .calendar tr th:nth-child(n+2) {
  width: 1.7em;
  padding: 0.5em 0;
}
#ev_cal .calendar th {
  font-size: 82.353%;
}
#ev_cal .calendar td {
  padding: 0.5em;
  text-align: center;
  vertical-align: middle;
  font-size: 58.823%;
}
#ev_cal .calendar td.name {
  width: 13em;
  font-size: 88.235%;
}
#ev_cal .calendar tr.reservation td {
  font-size: 88.235%;
}
#ev_cal .calendar tr.reservation td.details {
  font-size: 88.235%;
  text-align: left;
}
.tax {
  font-size: 88.235%;
}
.tax p {
  font-size: inherit;
  padding: 0 0 0 1em;
  text-indent: -1em;
}
#ev_cal .calendar tr.other td{
	background: #fff;
	padding-top:1em;
}
.ask{
	font-size:16px!important;
	line-height: 1.5;
	padding-top:0!important;
}
.note{
	font-size:15px!important;
	color:red;
}
.discontinue{
    border:1px solid red;
    padding:10px 10px 0;
    margin:0 0 15px;
    width:600px;
    font-size:16px;
    color:red;
}
@media only screen and (max-width: 812px) {
.discontinue{
    border:1px solid red;
    padding:10px 10px 0;
    margin:0 0 15px;
    width:100%;
    font-size:16px;
    color:red;
}
}

@media only screen and (max-width: 812px) {
  .all_season b {
    width: 84%;
  }
  .all_season p {
    margin: 0 1em 1em;
  }
  /* --------------------------------------
   イベントカレンダー
  --------------------------------------- */
  #ev_cal {
    margin: 1.5em auto 2em;
    /*padding: 23vw 0 0;
    background: url("../image/bg_event_photo.png") 50% 0 / 100% auto no-repeat;*/
  }
  #ev_cal h2 {
    margin: 0 0 0.5em;
  }
  #ev_cal .chronology {
    margin: 0 auto 1em;
    width: 83%;
    text-align: center;
  }
  #ev_cal .chronology h2 {
    margin: 0 0 0.3em;
  }
  #ev_cal .chronology a {
    border: none;
    font-size: 110%;
    padding: 1.6vw 0 0 6vw;
    background: url(../image/icon_arrow.png) 0.5vw 2vw / 4.5vw auto no-repeat;
    margin: 0
  }
  #ev_cal .cal_colors {
    border: 0.27vw solid #96814c;
    margin: 0 3em 1.2em;
    padding: 0.5em 0.9em 0.7em;
  }
  #ev_cal .cal_colors li {
    margin: 0.5em 0 0;
  }
  #ev_cal .month_tab {
    display: flex;
    width: 80%;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 auto 0.5em;
  }
  #ev_cal .month_tab li {
    width: 17vw;
    margin: 0 1vw 2vw;
  }
  #ev_cal .month_tab li button {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.4em 0;
    background: #f8bbd0;
    font-size: 4vw;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    border-radius: 2vw;
  }
  #ev_cal .month_tab li button.selected {
    background: #a21;
    font-weight: 600;
    cursor: default;
  }
  #ev_cal .sp_scroll {
    width: 100%;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
  #ev_cal .calendar {
    width: 240%;
    padding: 0 4vw;
    line-height: 1.3;
    border-collapse: separate;
    border-spacing: 0.27vw;
  }

  #ev_cal .calendar tr.golf td,
  #ev_cal .calendar tr.reservation td {
    border-top: 1.35vw solid #fff;
  }
  #ev_cal .calendar .other td {
    text-align: left;
  }
  #ev_cal .calendar .other td figure {
    margin: 0;
  }
  #ev_cal .calendar .other td figure a {
    display: block;
    width: 75vw;
    margin: 0 7.5vw;
  }
  #ev_cal .calendar td.ask {
    padding: 0.5em 2em;
  }
  .event_banner {
    display: block;
    width: 75%;
    margin: 3vw auto 0;
  }
  /* --------------------------------------
   イベントスケジュール
  --------------------------------------- */
  #ev_schedule {
    margin: 0 4vw;
  }
  #ev_schedule h2 {
    padding: 0.15em 0;
    margin: 0 0 0.5em;
    border-top: 1.08vw double #a21;
    border-bottom: 1.08vw double #a21;
    font-size: 5vw;
    text-align: center;
    color: #a21;
  }
  #ev_schedule section,
  #ad_reservation section {
    margin: 0 4vw;
  }
  #ev_schedule > section {
    margin: 0;
  }
  #ev_schedule section h3,
  #ad_reservation section h3 {
    position: relative;
    padding: 0.5em;
    background: #a21;
    color: #fff;
    margin: 0 0 3vw;
    line-height:1.5;
  }
  #ev_schedule section figure,
  #ad_reservation section figure {
    width: 60%;
    margin: 0 auto 3vw;
  }
  #ev_schedule section figure img,
  #ad_reservation section figure img {
    display: block;
    border: 0.27vw solid #a21;
    box-sizing: border-box;
  }
  #ev_schedule section figure img.zoom_btn,
  #ad_reservation section figure img.zoom_btn {
    display: block;
    width: 75%;
    margin: 2vw auto 0;
    border: none;
  }
  #ev_schedule section p,
  #ad_reservation section p {
    margin: 0 1em 1em;
    line-height: 1.5;
  }
  #ev_schedule section table,
  #ad_reservation section table {
    margin: 0 0 1em;
    border-collapse: separate;
    border-spacing: 1.08vw;
    line-height: 1.3;
    font-size: 78%;
  }
  #ev_schedule section table th,
  #ad_reservation section table th {
    padding: 0.4em 0.5em;
    background: #e6d9bd;
    vertical-align: middle;
    width: 4.5em;
    font-size: inherit;
  }
  #ev_schedule section table td,
  #ad_reservation section table td {
    padding: 0.6em 1em;
    vertical-align: middle;
    font-size: inherit;
  }
	
  /* --------------------------------------
   先行予約
  --------------------------------------- */
  #ad_reservation {
    margin: 0 4vw;
  }
  #ad_reservation h2 {
    padding: 0.15em 0;
    margin: 0 0 0.5em;
    border-top: 1.08vw double #1E88E5;
    border-bottom: 1.08vw double #1E88E5;
    font-size: 5vw;
    text-align: center;
    color: #0D47A1;
  }
  #ad_reservationsection {
    margin: 0 4vw;
  }
  #ad_reservation section h3 {
    position: relative;
    padding: 0.5em;
    background: #1565C0;
    color: #fff;
    margin: 0 0 3vw;
    line-height:1.5;
  }
  #ad_reservation section table td {
    padding: 0.6em 1em;
    vertical-align: middle;
  }

  #ad_reservation section table td.cl{ 
    padding: 0.6em 0;
    vertical-align: middle;
  }
  .classic {
    margin: 0 4vw 2em;
  }
  .classic h2 {
    position: relative;
    margin: 0 0 1em;
    text-align: center;
    color: #007130;
    font-weight: 600;
    letter-spacing: 0.1em;
  }
  .classic h2:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1.5vw;
    margin: auto 0;
    background: #007130;
  }
  .classic h2 span {
    position: relative;
    display: inline-block;
    background: #fff;
    z-index: 10;
    padding: 0 0.2em 0 0.6em;
  }
  .classic .plan dl {
    margin: 0 4vw 4vw;
    line-height: 1.4;
  }
  .classic .plan dl dt {
    margin: 0 0 0.1em;
  }
  .classic .plan dl dt a img {
    display: inline-block;
    width: 100%;
  }
  .classic .plan dl dt a span {
    display: block;
    min-height: 5vw;
    padding: 1.6vw 0 0 6vw;
    background: url("../image/icon_arrow.png") 0.5vw 2vw / 4.5vw auto no-repeat;
    font-weight: 600;
  }
  .classic .plan dl dd {
    padding: 0 1em 0 1.8em;
    font-size: 88.235%;
  }
  .contact {
    width: 92%;
    height: 64vw;
    margin: 0 auto;
    background: url("../image/bg_contact_sp.png") 0 0 / 100% auto no-repeat;
    text-align: center;
  }
  .contact dt {
    padding: 2.6vw 0;
    font-size: 120%;
    font-weight: 600;
    box-sizing: border-box;
  }
  .contact dd {
    padding: 28vw 0 0;
  }
  .contact dd img {
    width: 85%;
    margin: 0 auto;
  }

}
@media screen and (min-width: 813px) {
  a[href^="tel:"] {
    pointer-events: none;
    color: #000;
  }
  .bg_title {
    width: 929px;
    height: 154px;
    padding: 32px 0 0;
    margin: 0 auto 32px;
    background: url("../image/bg_title.jpg") 0 0 / 100% auto no-repeat;
    text-align: center;
    box-sizing: border-box;
    color: #cd1919;
    font-size: 18px;
  }
  .bg_title h1 {
    font-size: 27.5px;
  }
  .all_season b {
    width: 749px;
  }
  .all_season b img {
    width: 100%;
  }
  .all_season p {
    width: 580px;
  }
  /* --------------------------------------
   イベントカレンダー
  --------------------------------------- */
  #ev_cal {
    margin: 32px auto 40px;
    /*padding: 194px 0 0;
    background: url("../image/bg_event_photo.png") 50% 0 / 918px auto no-repeat;*/
  }
  #ev_cal .cal_colors {
    display: flex;
    border: 1px solid #96814c;
    width: 690px;
    margin: 0 auto 32px;
    padding: 8px;
  }
  #ev_cal .month_tab {
    display: flex;
    width: 968px;
    justify-content: center;
    align-content: flex-end;
    margin: 0 auto 6px;
    border-bottom: 4px solid #a21;
  }
  #ev_cal .month_tab li {
    flex-basis: 64px;
    margin: 0 4px;
  }
  #ev_cal .month_tab li button {
    display: block;
    width: 100%;
    height: 100%;
    padding: 4px 0 0;
    background: #f8bbd0;
    font-size: 17px;
    color:#fff;
    text-align: center;
    box-sizing: border-box;
    border-radius: 8px 8px 0 0;
  }
  #ev_cal .month_tab li button.selected {
    background: #a21;
    width: 5em;
    font-size: 20px;
    font-weight: 600;
  }
  #ev_cal .calendar {
    margin: 0 auto;
    line-height: 1.3;
    /*border: 2px solid #dca;*/
    border-collapse: separate;
    border-spacing: 2px;
    table-layout: fixed;
  }
  .event figcaption{
  	width:210px;
  	font-size:15px;
  }
  #ev_cal .calendar tr.golf td,
  #ev_cal .calendar tr.reservation td {
    border-top: 5px solid #fff;
  }
#ev_cal .calendar tr.reservation02 td{
	background: #3d9ac3;
	border-top: 10px solid #fff;
	padding:7px 0;
	color:#fff;
	}
	#ev_cal .calendar tr.reservation02 td span a{
	color:#fff;
	}
  /* --------------------------------------
   イベントスケジュール
  --------------------------------------- */
  #ev_schedule {
    width: 920px;
    margin: 0 auto;
  }
  #ev_schedule h2 {
    padding: 0.15em 0;
    margin: 0 0 24px;
    border-top: 4px double #a21;
    border-bottom: 4px double #a21;
    font-size: 150%;
    text-align: center;
    color: #a21;
  }
  #ev_schedule section,
  #ad_reservation section {
    min-height: 392px;
    margin: 0 24px;
  }
  #ev_schedule section.noimage,
  #ad_reservation section.noimage {
    min-height: auto;
  }
  #ev_schedule > section {
    margin: 0;
  }
  #ev_schedule section h3,
  #ad_reservation section h3 {
    position: relative;
    padding: 0.5em;
    background: #a21;
    color: #fff;
    margin: 0 0 16px;
    line-height:1.5;
  }
  /*#ev_schedule section h3:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    width: 4px;
    height: 24px;
    background: #fff;
  }*/
  #ev_schedule section figure,
  #ad_reservation section figure {
    float: right;
    padding: 0 20px;
  }
  #ev_schedule section figure img,
  #ad_reservation section figure img {
    display: block;
    width: 210px;
    border: 1px solid #a21;
  }
  #ev_schedule section figure.bnr,
  #ad_reservation section figure.bnr{
	float:none;
    padding: 0;
  }
  #ev_schedule section figure.bnr img,
  #ad_reservation section figure.bnr img{
	width:560px!important;
	margin:0 auto!important;
	}
  #ev_schedule section figure.bnr figcaption,
  #ad_reservation section figure.bnr figcaption{
	width:560px!important;
	margin:5px auto 10px!important;
	}
  #ev_schedule section figure img.zoom_btn,
  #ad_reservation section figure img.zoom_btn {
    display: block;
    width: 163px;
    margin: 10px auto;
    border: none;
  }
  #ev_schedule section p,
  #ad_reservation section p {
    margin: 0 20px 1em;
    line-height: 1.5;
    width:570px;
  }
 #ev_schedule section p.colum01,
  #ad_reservation section p.colum01{
	margin: 0 20px 1em;
    line-height: 1.5;
    width:770px;
}

  #ev_schedule section table,
  #ad_reservation section table {
    margin: 0 16px 16px;
    border-collapse: separate;
    border-spacing: 4px;
    line-height: 1.3;
  }
  #ev_schedule section table th,
  #ad_reservation section table th {
    padding: 0.6em 1em;
    background: #e6d9bd;
    vertical-align: middle;
    width:100px;
  }
  #ev_schedule section table td,
  #ad_reservation section table td {
    padding: 0.6em 1em;
    vertical-align: middle;
  }
  .event{
    padding:0 0 40px 0;
  }
  .event_banner {
    display: block;
    width: 340px;
    margin: 20px auto 0;
  }
  .event_banner:hover img {
    opacity: 0.8;
  }

	.ov:hover{
		opacity: 0.8;
	}
	

  /* --------------------------------------
   先行予約
  --------------------------------------- */
  #ad_reservation {
    width:920px;
    margin:0 auto;
  }
  #ad_reservation h2 {
    padding: 0.15em 0;
    margin: 0 0 24px;
    border-top: 4px double #1E88E5;
    border-bottom: 4px double #1E88E5;
    font-size: 150%;
    text-align: center;
    color: #0D47A1;
  }
  #ad_reservationsection {
    margin: 0 24px;
  }
  #ad_reservation section h3 {
    position: relative;
    padding: 0.5em;
    background: #1565C0;
    color: #fff;
    margin: 0 0 16px;
    line-height:1.5;
  }
  #ad_reservation section table td {
    padding: 0.6em 1em;
    vertical-align: middle;
  }

  #ad_reservation section table td.cl{ 
    padding: 0.6em 0;
    vertical-align: middle;
    width:250px;
  }
  
  section.event.trailrun {
    background: url("../image_event/bg_2020tado_trailrun.png") 94% 280px / 164px auto no-repeat;
  }
  section.event.token_cup {
    background: url("../image_event/img_homemate_cup.jpg") 100% 446px / 258px auto no-repeat;
  }
  #ad_reservation section.event.token_cup h3 {
    background: #1565C0 url("../image_event/bg_homemate_cup_title.png") 625px 7px / 240px auto no-repeat;
  }
  #ev_schedule  section.event.token_cup h3 {
    background: #a21 url("../image_event/bg_homemate_cup_title.png") 625px 7px / 240px auto no-repeat;
  }
  .movie_area{
		width:600px;
		margin:0 auto;
		padding:10px;
		background: #fffde7;
	  border-radius: 10px;
	  line-height: 0;
	}
	.movie_area p.hanabi{
	   font-size: 19px;
	   font-weight:600;
	   text-align: center;
	   background:#c2af4d;
	   padding: 5px 0;
	   color:#fff;
	}
	.movie_area dt{
	   font-size:18px;
	   font-weight:600;
		text-align: center;
		line-height: 0;
		padding:7px 0;
	}
	.movie_area dd img{
	    width:550px;
		margin:10px 22px;
	}	
.bnr{
		margin:1em auto;
		text-align: center;
	}
.bnr p{
		font-size:15px;
		margin:.5em auto .5em!important;
	}	

  .classic {
    width: 830px;
    margin: 0 auto 48px;
  }
  .classic h2 {
    position: relative;
    margin: 0 0 24px;
    text-align: center;
    color: #007130;
    font-size: 19px;
    font-weight: 600;
    letter-spacing: 0.1em;
  }
  .classic h2:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 7px;
    margin: auto 0;
    background: #007130;
  }
  .classic h2 span {
    position: relative;
    display: inline-block;
    background: #fff;
    z-index: 10;
    padding: 0 0.2em 0 0.6em;
  }
  .classic .plan {
    display: flex;
    justify-content: space-between;
  }
  .classic .plan dl {
    width: 266px;
    line-height: 1.2;
  }
  .classic .plan dl dt {
    margin: 0 0 8px;
  }
  .classic .plan dl dt a img {
    width: 266px;
  }
  .classic .plan dl dt a:hover img {
    opacity: 0.8;
  }
  .classic .plan dl dt a span {
    display: block;
    padding: 11px 0 0 24px;
    background: url("../image/icon_arrow.png") 3px 11px / 18px auto no-repeat;
    font-weight: 600;
  }
  .classic .plan dl dd {
    padding: 0 1em 0 24px;
    font-size: 15px;
  }
  .contact {
    display: flex;
    width: 812px;
    height: 82px;
    margin: 0 auto;
    background: url("../image/bg_contact.png") 0 0 / 100% auto no-repeat;
  }
  .contact dt {
    padding: 30px 0 0 29px;
    width: 204px;
    font-size: 18px;
    font-weight: 600;
    box-sizing: border-box;
  }
  .contact dd {
    padding: 17px 0 0 306px;
  }
  .contact dd img {
    width: 243px;
  }
}

.ml1{
	margin-left: 1em;
}
.ml2{
	margin-left: 2em;
}
.mt1{
	margin-top:1em!important;
}
.ml0_6{
	margin-left: .6em!important;
}
.ml3_6{
	margin-left: 3.6em!important;
}
.ml5_7{
	margin-left: 5.7em!important;
}
.mt01{
	margin-top:-1em!important;
}

.mt005{
	margin-top:-0.5em!important;
}
.mb0{
	margin-bottom: 0!important;
}
.mb0_5{
	margin-bottom: 0.5em!important;
}
.bdrb{
	border-bottom:1px #000 solid;
}
.pd5{
	padding:0 5px;
}

.txt_sat{
	color:#2196f3;
}
.txt_sun{
	color:#e91e63;
}
.txt_green{
	color:#009688;
}
.tax02{
	font-size:15px;
	margin:-1.5em 2em 0;
}
.fs_15{
	font-size: 15px;
}
.fs_16{
	font-size: 16px;
}
.fs_17{
	font-size: 17px;
}
.fs_18{
	font-size: 18px;
}
.fs_19{
	font-size: 19px;
}
.fs_20{
	font-size:20px;
}
