@charset "utf-8";
/*
**********************************************************************

* ページ専用CSS

*********************************************************************
*/
.mt10  { margin-top: 10px; }
.mt20  { margin-top: 20px; }
.mt30  { margin-top: 30px; }


.mb10  { margin-bottom: 10px; }
.mb20  { margin-bottom: 20px; }
.mb30  { margin-bottom: 30px; }

.flex_wrap {
  display: -ms-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 20px;
}
.flex_wrap img {
  width: 100%;
}
.flex_wrap.al_start {
  align-items: start;
}
.flex_second_content { flex-basis: 48%; }
.flex_third_content { flex-basis: 31.3333%; }
.flex_fourth_content { flex-basis: 23%; }
.flex_second_content2 {
	flex-basis: 48%;
	padding: 10px;
	border: 1px solid #333333;
}

.flex_second_content p {
  margin-top: 10px;
}
.flex_fourth_content img,
.flex_fourth_content p {
  margin-top: 10px;
}

.flex_second_content2 .content_left {
	float: left;
	width: 32%;
}
.flex_second_content2 .content_right {
	/*overflow: hidden;*/
	float: right;
	width: 64%;
	margin-left: 2%;
}

/*各花火大会ごとのカラー*/
/*利根川*/
h2.ttl_tonegawa {
  padding: 10px 0;
  margin-top: 30px;
  font-size: 20px;
  background: #014694;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}

h2.ttl_tonegawa1 {
  padding: 10px 0;
  margin-top: 30px;
  font-size: 20px;
  background: #368C44;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}

h2.ttl_tonegawa2 {
  padding: 10px 0;
  margin-top: 30px;
  font-size: 20px;
  background: #E6001A;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}

h2.ttl_tonegawa3 {
  padding: 10px 0;
  margin-top: 30px;
  font-size: 20px;
  background: #F68B1E;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}

h2.ttl_pink {
  padding: 10px 0;
  margin-top: 30px;
  font-size: 20px;
  background: #F29CA7;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}

h2.ttl_green {
  padding: 10px 0;
  margin-top: 30px;
  font-size: 20px;
  background: #006835;
  color: #FFF;
  font-weight: bold;
  text-align: center;
}

h2.ttl_purple {
  padding: 10px 0;
  margin-top: 30px;
  font-size: 20px;
  background: #4850A3;
  color: #FFF;
  font-weight: bold;
  text-align: center;
}

h2.ttl_lightgreen {
  padding: 10px 0;
  margin-top: 30px;
  font-size: 20px;
  background: #E4E178;
  color: #FFF;
  font-weight: bold;
  text-align: center;
}

h2.ttl_orange {
  padding: 10px 0;
  margin-top: 30px;
  font-size: 20px;
  background: #FFE637;
  color: #FFF;
  font-weight: bold;
  text-align: center;
}

h2.ttl_red {
  padding: 10px 0;
  margin-top: 30px;
  font-size: 20px;
  background: #fa543c;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}

h3.border_ttl {
  font-size: 22px;
  color: #1993FF;
  font-weight: bold;
  position: relative;
  padding: 0 15px 10px 0;
  line-height: 120%;
}

h3.border_ttl:before {
  content: '';
  position: absolute;
  left: 30%;
  bottom: 0;
  width: 69%;
  height: 5px;
  background: repeating-linear-gradient(-45deg, white, white 3px, rgba(0, 0, 0, 1) 4px, rgba(0, 0, 0, 1) 6px );
}

h3.border_ttl:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 30%;
  height: 5px;
  background: repeating-linear-gradient(-45deg, white, white 3px, rgba(92, 196, 252, 1) 4px, rgba(92, 196, 252, 1) 6px )
}

h3.border_ttl_pink {
  font-size: 22px;
  color: #eb5467;
  font-weight: bold;
  position: relative;
  padding: 0 15px 10px 0;
  line-height: 120%;
}

h3.border_ttl_pink:before {
  content: '';
  position: absolute;
  left: 30%;
  bottom: 0;
  width: 69%;
  height: 5px;
  background: repeating-linear-gradient(-45deg, white, white 3px, rgba(0, 0, 0, 1) 4px, rgba(0, 0, 0, 1) 6px );
}

h3.border_ttl_pink:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 30%;
  height: 5px;
  background: repeating-linear-gradient(-45deg, white, white 3px, #F29CA7 4px, #F29CA7 6px );
}

h3.border_ttl_orange {
  font-size: 22px;
  color: #f07605;
  font-weight: bold;
  position: relative;
  padding: 0 15px 10px 0;
  line-height: 120%;
}

h3.border_ttl_orange:before {
  content: '';
  position: absolute;
  left: 30%;
  bottom: 0;
  width: 69%;
  height: 5px;
  background: repeating-linear-gradient(-45deg, white, white 3px, rgba(0, 0, 0, 1) 4px, rgba(0, 0, 0, 1) 6px );
}

h3.border_ttl_orange:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 30%;
  height: 5px;
  background: repeating-linear-gradient(-45deg, white, white 3px, #fcc362 4px, #fcc362 6px );
}

h3.border_ttl_red {
  font-size: 22px;
  color: #f50516;
  font-weight: bold;
  position: relative;
  padding: 0 15px 10px 0;
  line-height: 120%;
}
h3.border_ttl_red:before {
  content: '';
  position: absolute;
  left: 30%;
  bottom: 0;
  width: 69%;
  height: 5px;
  background: repeating-linear-gradient(-45deg, white, white 3px, rgba(0, 0, 0, 1) 4px, rgba(0, 0, 0, 1) 6px );
}

h3.border_ttl_red:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 30%;
  height: 5px;
  background: repeating-linear-gradient(-45deg, white, white 3px, #FF6C2C 4px, #FF6C2C 6px );
}

h3.border_ttl_suwa {
  font-size: 22px;
  color: #023D1D;
  font-weight: bold;
  position: relative;
  padding: 0 15px 10px 0;
  line-height: 120%;
}

h3.border_ttl_suwa:before {
  content: '';
  position: absolute;
  left: 30%;
  bottom: 0;
  width: 69%;
  height: 5px;
  background: repeating-linear-gradient(-45deg, white, white 3px, rgba(0, 0, 0, 1) 4px, rgba(0, 0, 0, 1) 6px );
}

h3.border_ttl_suwa:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 30%;
  height: 5px;
  background: repeating-linear-gradient(-45deg, white, white 3px, #008137 4px, #008137 6px );
}

h3.border_ttl_tonegawa {
  font-size: 22px;
  color: #00458D;
  font-weight: bold;
  position: relative;
  padding: 0 15px 10px 0;
  line-height: 120%;
}

h3.border_ttl_tonegawa:before {
  content: '';
  position: absolute;
  left: 30%;
  bottom: 0;
  width: 69%;
  height: 5px;
  background: repeating-linear-gradient(-45deg, white, white 3px, rgba(0, 0, 0, 1) 4px, rgba(0, 0, 0, 1) 6px );
}
h3.border_ttl_tonegawa:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 30%;
  height: 5px;
  background: repeating-linear-gradient(-45deg, white, white 3px, #0063B5 4px, #0063B5 6px );
}

h4.double_line {
  color: #009688;
  font-size: 16px;
  font-weight: bold;
  border-top: 2px solid #009688;
  border-bottom: 2px solid #009688;
  padding-top: 2px;
}

.bold_txt {
  font-size: 16px;
  font-weight: bold;
  margin: 10px 0 0;
}

.pink_txt {
  color: #FF00BF;
  font-size: 15px;
  font-weight: bold;
  margin: 10px 0;
}

.plan_list {
  margin-bottom: 0;
}

.kaika_tbl {
  margin-top: 10px;
}

.kaika_tbl dl {
  display: -ms-flex;
  display: flex;
}

.kaika_tbl dl dt {
  border: 1px solid #333;
  border-bottom: none;
  border-right: none;
  background: #FADCE8;
  flex-basis: 40%;
  padding: 5px;
  text-align: center;
}

.kaika_tbl dl dt:first-child,
.kaika_tbl dl dd:first-child {
  flex-basis: 20%;
}

.kaika_tbl dl dt:last-child,
.kaika_tbl dl dd:last-child {
  border-right: 1px solid #333;
}

.kaika_tbl dl dd {
  border: 1px solid #333;
  border-bottom: none;
  border-right: none;
  flex-basis: 40%;
  padding: 5px;
  text-align: center;
}

.kaika_tbl dl.last dd {
  border-bottom: 1px solid #333;
}

.strong_txt {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}
.kawazu_list {
  margin-top: 10px;
}
.kawazu_list li {
  margin-top: 2px;
}
.kawazu_list li span {
  color: #FF00BF;
  font-weight: bold;
}
.img_wrap {
  display: -ms-flex;
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
}
.img_wrap img {
  flex-basis: 48%;
}
_:-ms-lang(x)::-ms-backdrop, .img_wrap img {
	max-height: 219px;
}
.access_list {
  margin-top: 10px;
}
.access_list li {
  margin-top: 2px;
  position: relative;
}
.access_list .numazu,
.access_list .atsugi {
  padding-left: 6.5em;
}
.access_list .numazu:before {
  content: "東名沼津IC…";
  font-size: 15px;
  display: block;
  position: absolute;
  left: 0;
}
.access_list .atsugi:before {
  content: "東名厚木IC…";
  font-size: 15px;
  display: block;
  position: absolute;
  left: 0;
}
.sakura_link {
  color: #FFF;
  font-weight: bold;
  background: #F29CA7;
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 10px 0;
  box-shadow: 0 -4px 0 #CC8787 inset;
  border-radius: 5px;
  margin-top: 10px;
  transition: 0.5s;
}
.flower_link {
  display: -ms-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  margin-top: 30px;
}
.flower_link li {
  flex-basis: 23%;
}
.flower_link li a {
  padding: 10px 0;
  font-weight: bold;
  font-size: 18px;
  color: #FFF;
  background: #13AD67;
  text-decoration: none;
  display: block;
  border-radius: 5px;
  text-align: center;
  transition: 0.5s;
  box-shadow: 0 -4px 0 #0E803B inset;
}


/* カセット（大） */
.box3{
	width:103%;margin:0 0% 0 0;
	padding:1% 0;
/*	background:#acc;*/
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}

.col_d2 {
	width:47%;
	margin:0 3% 2% 0;
	padding:0%;
/*	background:#aac;*/
}

/* box */
.box3{
	float:left;
}

.box3:after{
	content:"";
	clear:both;
	display:block;
}

h3.h3_c1 a:hover,
h3.h3_c2 a:hover,
h3.h3_c3 a:hover,
h3.h3_c4 a:hover,
a.arrow_green:hover{
	color:#ff4499;
}

h3.h3_c1{
	margin-top:5px;
	margin-bottom:10px;
	font-size: 16px;
	font-weight: bold;
	padding:0.2em 0.6em 0.1em 0.6em!important;
	line-height:1.3em;
	color:#eb5467!important;
	border-left:solid 8px #E6001A;
	border-bottom:solid 1px #E6001A;
	position:relative;
}

h3.h3_c2{
	margin-top:5px;
	margin-bottom:10px;
	font-size: 16px;
	font-weight: bold;
	padding:0.2em 0.6em 0.2em 0.6em!important;
	line-height:1.3em;
	color:#E07453!important;
	border-left:solid 8px #368C44;
	border-bottom:solid 1px #368C44;
	position:relative;
}

.cen{
	text-align: center;
	margin: 0 auto;
}

.txt01 {
    font-size: 14px;
}

/* メニューボタン */
.reservation_btn {
    /*padding: 10px 50px;*/
    padding: 10px 10px;
    width: 100%;
    background: #014694;
    color: #FFFFFF !important;
    display: block;
    font-size: 1.2em;
    font-weight: bold;
    margin: 15px 0;
    border: 1px solid #FFFFFF;
    box-shadow: 0 0 0 4px #014694;
    position: relative;
    box-sizing: border-box;
}

.reservation_btn1 {
    padding: 10px 10px;
    width: 100%;
    background: #368C44;
    color: #FFFFFF !important;
    display: block;
    font-size: 1.2em;
    font-weight: bold;
    margin: 15px 0;
    border: 1px solid #FFFFFF;
    box-shadow: 0 0 0 4px #368C44;
    position: relative;
    box-sizing: border-box;
}

.reservation_btn2 {
    padding: 10px 10px;
    width: 100%;
    background: #E6001A;
    color: #FFFFFF !important;
    display: block;
    font-size: 1.2em;
    font-weight: bold;
    margin: 15px 0;
    border: 1px solid #FFFFFF;
    box-shadow: 0 0 0 4px #E6001A;
    position: relative;
    box-sizing: border-box;
}

.reservation_btn3 {
    padding: 10px 10px;
    width: 100%;
    background: #F68B1E;
    color: #FFFFFF !important;
    display: block;
    font-size: 1.2em;
    font-weight: bold;
    margin: 15px 0;
    border: 1px solid #FFFFFF;
    box-shadow: 0 0 0 4px #F68B1E;
    position: relative;
    box-sizing: border-box;
}

.reservation_btn.orange{
    background: #FFB74D;
    box-shadow: 0 0 0 4px #FFB74D;
}

.reservation_btn:after,
.reservation_btn1:after,
.reservation_btn2:after,
.reservation_btn3:after {
    content: "";
    background: url(../images/arrow_white2.png) no-repeat;
    width: 30px;
    height: 30px;
    position: absolute;
    right: 10px;
    top: 11px;
}

.col_4 .reservation_btn:after,
.col_4_pd0 .reservation_btn:after {
    background: none;
}

.reservation_btn a,
.reservation_btn1 a,
.reservation_btn2 a,
.reservation_btn3 a {
  text-decoration: none;
}

/* クリックで画像拡大 */
#modal-container {
	display: none;
	position: fixed;
	background: rgba(0, 0, 0, .6);
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 99;
	& > div {
	display: flex;
	height: 100vh;
	justify-content: center;
	align-items: center;
	& > img {
		max-width: calc(100vw - 30px);
		max-height: calc(100vh - 30px);
	}
	}
}

img.popup {
	cursor: pointer;
	width: 100%;
}

.cl {
	clear: both;
}

@media
only screen and (max-width : 640px){

	/* カセット大（スマホ版） */
	.col_d2 {
		width:97%;
		margin:0 3% 2% 0;
		padding:0%;
	}
	
	/* メニューボタン */
    .reservation_btn:after,
    .reservation_btn1:after,
    .reservation_btn2:after,
    .reservation_btn3:after {
    content: "";
    background: url(../images/arrow_white2.png) no-repeat;
    width: 30px;
    height: 30px;
    position: absolute;
    right: 5px;
    top: 11px;
    }
    .col_4 .reservation_btn:after,
    .col_4 .reservation_btn1:after,
    .col_4 .reservation_btn2:after,
    .col_4 .reservation_btn3:after {
    background: url(../images/arrow_white2.png) no-repeat;
    right:10px;
    }

}

/* 767px以下 */
@media screen and (max-width: 767px){
  h3.border_ttl {
    font-size: 18px;
    padding: 0 10px 10px 10px;
  }
  
  h3.border_ttl_pink {
    font-size: 18px;
    padding: 0 10px 10px 10px;
  }
  
  h3.border_ttl_orange {
    font-size: 18px;
    padding: 0 10px 10px 10px;
  }
    h3.border_ttl_red {
    font-size: 18px;
    padding: 0 10px 10px 10px;
  }
  
  .flex_wrap {
    display: block;
  }
  .flex_wrap .flex_second_content2:last-child,
  .flex_wrap .flex_second_content:last-child {
    margin-top: 20px;
  }
  h4.double_line {
    padding: 2px 0 0;
  }
  h4.double_line:after {
    content: none;
  }
  .flex_fourth_content {
    margin-top: 10px;
  
  .img_wrap {
    display: block;
  }
  .img_wrap img {
    margin-top: 10px;
  }
  .flower_link {
    display: block;
  }
  .flower_link li {
    margin-top: 10px;
  }
}

