@charset "utf-8";

#billboard{
  width:100%; height:200px;
  background-image:url(./../../img/index/bg_mtfuji.jpg);
  background-repeat:no-repeat;
  background-position:center top -130px;
  background-size:cover;
  position:relative;
}
#billboard h1{
  position:absolute;
  bottom:10px; left:25px;
  font-size:16px; line-height:1.6;
  color:#fff;
  letter-spacing:0.1em;
  text-align:left;
}
#billboard h1 .eng{
  display:inline-block;
  font-size:38px; line-height:1.0; font-weight:normal;
  margin-right:15px;
}
#billboard::after{
  content:"";
  width:calc(280px * 0.6); height:calc(480px * 0.6);
  background-image:url(./../../img/index/cyclist01.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:60px; right:15px;
  opacity:0.5;
}
#crumb{
  width:calc(100% - 50px);
  margin:5px auto 40px;
}
#crumb ul{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
}
#crumb ul li{
  font-size:12px; line-height:1.8;
  color:#666;
}
#crumb ul li:not(:last-child)::after{
  content:">";
  display:inline-block;
  margin:0 5px;
  transform:scale(0.6,1);
}
#crumb ul li a{color:#666;}
#crumb ul li:last-child a{color:#222; pointer-events:none;}

#container{
  box-sizing:border-box;
  width:1100px;
  margin:0 auto;
  padding:40px 0;
  background:#FFF;
  text-align:left;
}
#container.course{
  display:flex;
  justify-content:space-between;
}
#main{
  width:780px;
}
#side{
  width:260px;
  height:100%;
  position:sticky;
  top:60px;
}

.side-menu-box h2,
.side-course-data h2{
  font-size:28px; line-height:1.0; font-weight:normal;
  color:#0d6d7e;
  color:#a62a2a;
  letter-spacing:0.1em;
  margin-bottom:5px;
}
.side-course-data table.data-table{
  width:100%;
  border-collapse:collapse;
  margin-bottom:25px;
}
.side-course-data table.data-table tr{
  border-bottom:1px dashed #CCC;
}
.side-course-data table.data-table th{
  font-size:13px; line-height:24px; font-weight:normal;
  padding:15px 0;
  vertical-align:bottom;
}
.side-course-data table.data-table th span{
  display:inline-block;
  position:relative;
  padding-left:30px;
}
.side-course-data table.data-table th span::before{
  content:"";
  width:22px; height:22px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:0; left:0;
}
.side-course-data table.data-table th span.distance::before{
  background-image:url(./../../img/common/icon_course01.svg);
}
.side-course-data table.data-table th span.elevation::before{
  background-image:url(./../../img/common/icon_course02.svg);
}
.side-course-data table.data-table th span.slope::before{
  background-image:url(./../../img/common/icon_course03.svg);
}

.side-course-data table.data-table td{
  font-size:17px; line-height:20px; font-weight:bold;
  padding:15px 0;
}
.side-course-data .chart-box{
}

ul.side-news-list li{
//  border-top:1px dashed #CCC;
}
ul.side-news-list li a{
  display:block;
  text-decoration:none;
  color:#444;
  letter-spacing:0.05em;
  padding:10px 0;
  position:relative;
}
ul.side-news-list li a .entry-date{
  display:block;
  font-size:13px; line-height:1.8;
}
ul.side-news-list li a .entry-title{
  font-size:14px; line-height:1.8;
}
ul.side-news-list li a:hover .entry-title{
  text-decoration:underline;
  color:#034a92;
}
ul.side-news-list li.more a{
  font-size:13px; line-height:1.8;
  color:#034a92;
  text-align:right;
  padding-right:10px;
  position:relative;
}
ul.side-news-list li.more a::after{
  content:"";
  border-left:5px solid #034a92;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  position:absolute;
  top:50%; right:0px;
  margin-top:-6px;
}
ul.side-news-list li.more a:hover{
  text-decoration:underline;
}

section{
  width:100%;
  margin:0 auto 80px;
}
section h3{
  font-size:18px; line-height:1.8;
  color:#0d6d7e;
  color:#a62a2a;
  margin-bottom:10px;
}
section p{
  line-height:2;
  margin-bottom:25px;
}
section .button{
  display:block;
  margin:0 auto;
  text-align:center;
}
section .button a{
  display:inline-block;
  text-decoration:none;
  width:auto; height:42px;
  font-size:15px;
  line-height:42px; font-weight:bold;
  color:#0d6d7e;
  color:#a62a2a;
  border:1px solid #0d6d7e;
  border:1px solid #a62a2a;
  border-radius:21px;
  padding:0 100px;
  text-align:center;
  position:relative;
  transition:0.3s;
}
section .button a::after{
  content:"";
  border-left:7px solid #0d6d7e;
  border-left:7px solid #a62a2a;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  position:absolute;
  top:50%; right:20px;
  margin-top:-7px;
  transition:0.3s;
}
section .button a:hover{
  background:#0d6d7e;
  background:#a62a2a;
  color:#fff;
  transition:0.3s;
}
section .button a:hover::after{
  border-left-color:#fff;
  transition:0.3s;
}

section ul.disc-list li{
  list-style:disc outside;
  margin-left:20px;
}
section ol.decimal-list li{
  list-style:decimal outside;
  margin-left:20px;
}
section ul.kigou-list li{
  position:relative;
  padding-left:1.1em;
}
section ul.kigou-list li::before{
  content:"※";
  position:absolute;
  top:0; left:0;
}

section#page-title{
  margin:0 auto 40px;
}
section#page-title h1{
  font-size:30px; line-height:1.8; font-weight:normal;
  border-bottom:1px solid #0d6d7e;
  border-bottom:1px solid #a62a2a;
}

.course-main{
  position:relative;
  margin:0 auto 25px;
  padding-top:40px;
}
.course-main .course-title{
  position:absolute;
  top:0px; left:-30px;
  background:#FFF;
  padding:0 45px 25px 0;
}
.course-main .course-title h1{
  min-width:400px;
  font-size:48px; line-height:1; font-weight:normal;
  border-bottom:1px solid #0d6d7e;
  border-bottom:1px solid #a62a2a;
  padding-bottom:15px;
  margin-bottom:15px;
}
.course-main .course-title h1 .kana{
  font-size:21px;
  margin-left:10px;
}
.course-main .course-title .course-area{
  line-height:1;
  margin-top:5px;
}
figure.main{
  margin:0 auto 25px;
}

section.sp-course-data{
  display:none;
}

.course-point-box{
  border:2px solid #0d6d7e;
  border:2px solid #a62a2a;
  border-radius:3px;
  padding:35px 30px 25px 30px;
  text-align:center;
  position:relative;
  background:rgba(13,109,126,0.05);
  background:rgba(166,42,42,0.05);
}
.course-point-box .title-point{
  font-size:18px; line-height:34px; font-weight:bold;
  color:#FFF;
  background:#0d6d7e;
  background:#a62a2a;
  padding:0 30px;
  position:absolute;
  top:-16px; left:-10px;
  transform:rotate(-2deg);
}
.course-point-box p{
  font-weight:bold;
  margin-bottom:0;
}
.course-point-box figure{
  width:90%;
  margin:0 auto 10px;
}
.button-navitime{
  width:60%;
  margin:0 auto;
}
.button-navitime a{
  display:block;
  text-decoration:none;
  border:2px solid #006400;
  color:#006400;
  font-size:18px; line-height:68px; font-weight:bold;
  text-align:center;
  letter-spacing:0.1em;
  position:relative;
  transition:0.3s;
}
.button-navitime a::after{
  content:"";
  border-left:7px solid #006400;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  position:absolute;
  top:50%; right:25px;
  margin-top:-7px;
  transition:0.3s;
}
.button-navitime a:hover{
  background:#006400;
  color:#fff;
  transition:0.3s;
}
.button-navitime a:hover::after{
  border-left-color:#FFF;
  transition:0.3s;
}
.routemap-box iframe{
  width:100%; height:480px;
  border:none;
}
.course section h2{
  font-size:36px; line-height:1.0; font-weight:normal;
  color:#0d6d7e;
  color:#a62a2a;
  letter-spacing:0.1em;
  margin-bottom:10px;
}
.course-attack-box{
  margin:25px auto;
  display:flex;
}
.course-attack-box .title-attack div{
  font-size:16px; line-height:32px; font-weight:bold;
  color:#FFF;
  background:#0d6d7e;
  background:#a62a2a;
  padding:0 10px 0 20px;
  position:relative;
}
.course-attack-box .title-attack{
  margin-right:30px;
}
.course-attack-box .title-attack div::after{
  content:"";
  border-left:14px solid #0d6d7e;
  border-left:14px solid #a62a2a;
  border-top:16px solid transparent;
  border-bottom:16px solid transparent;
  position:absolute;
  top:0; right:-14px;
}
.course-attack-box p{
  flex:1;
  margin:0;
}
ul.course-guide li{
  background:rgba(13,109,126,0.05);
  background:rgba(166,42,42,0.05);
  border-radius:5px;
  margin-bottom:45px;
  padding:25px;
  display:flex;
  justify-content:space-between;
  position:relative;
}
ul.course-guide li::after{
  content:"";
  border-top:14px solid rgba(13,109,126,1);
  border-top:14px solid rgba(166,42,42,1);
  border-left:30px solid transparent;
  border-right:30px solid transparent;
  position:absolute;
  bottom:-30px; left:50%;
  margin-left:-30px;
}
ul.course-guide li:last-child{
  margin-bottom:15px;
}
ul.course-guide li:last-child::after{
  display:none;
}
ul.course-guide li figure{
  width:240px;
  margin-right:20px;
}
ul.course-guide li p{
  flex:1;
}
.course-guide-caution{
  font-size:14px; line-height:1.8;
  text-align:right;
}
table.access-table{
  width:100%;
  border-collapse:collapse;
}
table.access-table tr{
  background:rgba(13,109,126,0.05);
  background:rgba(166,42,42,0.05);
}
table.access-table tr:nth-child(even){
  background:rgba(13,109,126,0);
  background:rgba(166,42,42,0);
}
table.access-table th{
  padding:8px 20px;
  font-weight:normal;
  white-space:nowrap;
  text-align:left; vertical-align:top;
}
table.access-table td{
  padding:8px 20px;
  font-weight:normal;
  text-align:left; vertical-align:top;
}
.sightseeing-box{
  margin:50px auto 0;
}
.sightseeing-box ul.spot-list{
  display:flex;
  flex-wrap:wrap;
}
.sightseeing-box ul.spot-list li{
  width:32%;
  margin:0 2% 2px 0;
}
.sightseeing-box ul.spot-list li:nth-child(3n){
  margin-right:0;
}
.sightseeing-box ul.spot-list li p{
  font-size:14px; line-height:1.8;
  margin:5px 0 0 0;
}

.sightseeing-box .spot{
  border:1px solid #CCC;
  padding:25px 25px;
}
.spot .spot-box{
  display:flex;
  justify-content:space-between;
  margin-bottom:20px;
  padding-bottom:20px;
  border-bottom:1px dashed #CCC;
}
.spot .spot-box:last-of-type{
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:none;
}
.sightseeing-box .spot-box figure{
  width:220px;
  margin-right:20px;
}
.sightseeing-box .spot-box .text-box{
  flex:1;
}
.sightseeing-box .spot-box .text-box h4{
  font-size:17px; line-height:1.6;
  margin-bottom:5px;
}
.sightseeing-box .spot-box .text-box p{
  line-height:1.6;
  margin-bottom:0;
}

section.related-course{
  border-top:1px solid #CCC;
  padding-top:80px;
}
ul.related-course{
  display:flex;
  margin:0 auto 10px;
}
ul.related-course li{
  width:186px;
  margin:0 12px 25px 0;
}
ul.related-course li:nth-child(4n){
  margin-right:0;
}
ul.related-course li p{
  font-size:14px; line-height:1.8;
  margin:2px 0 0 0;
}

ul.course-list{
  display:flex;
  flex-wrap:wrap;
}
ul.course-list li{
  width:340px;
  margin:0 40px 30px 0;
}
ul.course-list li:nth-child(3n){
  margin-right:0;
}
ul.course-list li a{
  display:block;
  text-decoration:none;
  background:#FFF;
  color:#111;
  text-align:left;
}
ul.course-list li a .text-box{
  padding:10px 0px;
}
ul.course-list li a h3{
  font-size:18px; line-height:1.6;
  color:#034a92;
  margin-bottom:5px;
}
ul.course-list li a:hover h3{
  text-decoration:underline;
}
ul.course-list li a ul.course-data{
  display:flex;
}
ul.course-list li a ul.course-data li{
  width:auto;
  font-size:14px; line-height:20px;
  position:relative;
  padding-left:24px;
  margin:0 25px 0 0;
}
ul.course-list li a ul.course-data li::before{
  content:"";
  width:20px; height:20px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:0; left:0;
}
ul.course-list li a ul.course-data li.distance::before{
  background-image:url(./../../img/common/icon_course01.svg);
}
ul.course-list li a ul.course-data li.elevation::before{
  background-image:url(./../../img/common/icon_course02.svg);
}
ul.course-list li a ul.course-data li.slope::before{
  background-image:url(./../../img/common/icon_course03.svg);
}
ul.course-list li a ul.course-data li::after{
  content:"km";
  font-size:18px;
  margin-left:3px;
}
ul.course-list li a ul.course-data li.elevation::after{
  content:"m";
}
ul.course-list li a ul.course-data li.slope::after{
  content:"%";
}

.area-map{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
.area-map .map{
  width:680px;
}
.area-map .area{
  width:360px;
}
.map .st0{
  fill:rgba(13,109,126,0.1);
  fill:rgba(166,42,42,0.1);
  stroke:#fff;
  stroke-width:0.15em;
}
.map a:hover .st0{
  fill:rgba(13,109,126,1);
  fill:rgba(166,42,42,1);
}
.map a:hover .number{
  fill:rgba(255,255,255,1);
}
.area ul.area-list li a h3{
  position:relative;
}
.area ul.area-list li a h3::before{
  content:"①";
  color:#111;
  margin-right:5px;
}
.area ul.area-list li:nth-child(2) a h3::before{content:"②";}
.area ul.area-list li:nth-child(3) a h3::before{content:"③";}
.area ul.area-list li:nth-child(4) a h3::before{content:"④";}
.area ul.area-list li:nth-child(5) a h3::before{content:"⑤";}
.area ul.area-list li:nth-child(6) a h3::before{content:"⑥";}
.area ul.area-list li:nth-child(7) a h3::before{content:"⑦";}
.area ul.area-list li:nth-child(8) a h3::before{content:"⑧";}
.area ul.area-list li:nth-child(9) a h3::before{content:"⑨";}
.area ul.area-list li p{
  display:none;
  font-size:14px; line-height:1.6;
  margin:0;
}

.button-courselist{
  margin:30px auto 0;
}
.button-courselist a{
  display:block;
  text-decoration:none;
  border:1px solid #a62a2a;
  color:#a62a2a;
  font-size:17px; font-weight:bold;
  text-align:center;
  padding:16px 0;
  border-radius:7px;
  overflow:hidden;
  position:relative;
  transition:0.2s;
}
.button-courselist a::after{
  content:"";
  border-left:7px solid #a62a2a;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  position:absolute;
  top:50%; right:20px;
  margin-top:-7px;
  transition:0.2s;
}
.button-courselist a:hover{
  background:#a62a2a;
  color:#fff;
  transition:0.2s;
}
.button-courselist a:hover::after{
  border-left-color:#fff;
  transition:0.2s;
}

.re-search-box{
  box-sizing:border-box;
  width:100%;
  margin:50px auto 0;
  padding:40px 50px;
  border:1px solid #ececec;
  background:rgba(0,0,0,0.01);
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  position:relative;
  z-index:100;
}
.re-search-box::after{
  content:"";
  width:calc(340px * 0.6); height:calc(184px * 0.6);
  background-image:url(./../../img/index/cyclist02.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  bottom:-50px; left:30px; z-index:2;
}
.course-search-box{
  box-sizing:border-box;
  width:100%;
  margin:0px auto;
  padding:30px 40px;
  border:1px solid #ececec;
  background:rgba(0,0,0,0.01);
  position:relative;
  z-index:100;
}
.re-search-box h3,
.course-search-box h3{
  font-size:16px; line-height:1.8;
  color:#333;
  letter-spacing:0.1em;
  text-align:left;
  margin-right:60px;
}
.re-search-box h3 .eng{
  display:block;
  font-size:34px; line-height:1.0; font-weight:normal;
  color:#0d6d7e;
  color:#a62a2a;
}
.course-search-box h3 .eng{
  display:inline-block;
  font-size:24px; line-height:1.2; font-weight:normal;
  color:#0d6d7e;
  color:#a62a2a;
  margin-right:0.3em;
}

section.area-coursemap{
  display:flex;
  justify-content:space-between;
  margin-bottom:100px;
}
section.area-coursemap .title{
  width:240px;
}
section.area-coursemap .area-coursemap-box{
  flex:1;
}
.area-coursemap h3{
  font-size:16px; line-height:1.8;
  color:#333;
  letter-spacing:0.1em;
  text-align:left;
}
.area-coursemap h3 .eng{
  display:block;
  font-size:34px; line-height:1.0; font-weight:normal;
  color:#0d6d7e;
  color:#a62a2a;
}
ul.coursemap-menu{
  margin-top:30px;
  margin-left:100px;
}
ul.coursemap-menu li{
  background:#F0F0F0;
  font-size:15px; line-height:40px;
  text-align:center;
  margin-bottom:8px;
  margin-left:10px;
  padding-left:0.5em;
  border-radius:20px 0 0 20px;
  cursor:pointer;
  transition:0.2s;
}
ul.coursemap-menu li.active{
  background:#a62a2a;
  font-weight:bold; color:#FFF;
  margin-left:0;
  transition:0.2s;
}

.area-coursemap-box .tab-contents{
  display:none;
}
.area-coursemap-box .tab-contents.active{
  display:block;
}
.area-coursemap-box .tab-contents iframe{
  border:none;
  width:100%; height:500px;
}

/* news */
ul.news-list{
  margin-bottom:40px;
}
ul.news-list li{
  margin-bottom:15px;
}
ul.news-list li a{
  display:block;
  text-decoration:none;
  color:#444;
  letter-spacing:0.05em;
  padding-left:100px;
  position:relative;
}
ul.news-list li a .entry-date{
  font-size:14px; line-height:1.8;
  position:absolute;
  top:3px; left:0;
}
ul.news-list li a .entry-title{
  font-weight:bold;
  color:#034a92;
}
ul.news-list li a:hover .entry-title{
  text-decoration:underline;
}
.pagenavi-box .wp-pagenavi{
  padding:0 !important;
}

.entry .entry-title{
  margin-bottom:40px;
}
.entry .entry-title h1{
  font-size:32px; line-height:1.4; font-weight:normal;
  border-bottom:1px solid #a62a2a;
  padding-bottom:15px;
  margin-bottom:25px;
}
.entry .entry-title .entry-date{
  font-size:15px; line-height:1.8;
}
.entry .entry-title .sns-button-box{
  text-align:right;
}
.entry .entry-body img{
  max-width:100% !important;
  height:auto;
}
.entry .entry-body iframe{
  border:none;
  max-width:100% !important;
}
ul.entry-bottom{
  border-top:1px solid #CCC;
  margin-top:50px;
  padding-top:25px;
}
ul.entry-bottom::after{
	content:"";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
}
ul.entry-bottom li.prev-post{float:left;}
ul.entry-bottom li.next-post{float:right;}
ul.entry-bottom li a{
  font-size:13px; line-height:1.8;
}

/* 百坂やまなしとは about */
section.about{
  display:flex;
  justify-content:space-between;
  flex-direction:row-reverse;
}
section.about .text-box{
  flex:1;
  margin-right:15px;
}
.column-box{
  box-sizing:border-box;
  border:1px solid #CCC;
  margin:50px 0 0;
  padding:15px 25px;
}
.column-box h3{
  font-size:16px; line-height:1.8; font-weight:normal;
  color:#111;
  margin-bottom:10px;
  border-bottom:1px dashed #999;
}
.column-box p{
  font-size:15px; line-height:1.8;
  margin:0;
}

section.character{
  display:flex;
  justify-content:center;
  margin:100px auto;
}
section.character .character-title h2{
  font-size:30px; line-height:1.4;
  color:#0d6d7e;
  color:rgba(166,42,42,1);
  letter-spacing:0.1em;
}
section.character .character-title h2 .eng{
  display:block;
  font-size:21px; line-height:1.4;
  color:#111;
  border-bottom:1px solid #333;
  margin-bottom:10px;
}
section.character figure.character-image{
  width:640px;
}

/*　参加方法 */
.entry-box{
  box-sizing:border-box;
  display:flex;
  justify-content:space-between;
//  background:rgba(166,42,42,0.03);
  padding:40px 55px;
  margin:0 auto 40px auto;
  border:1px solid #CCC;
  position:relative;
}
.entry-box h2{
  font-size:17px; line-height:1.8;
}
.entry-box h2 span{
  display:inline-block;
  border-bottom:2px solid #a62a2a;
}
.entry-box .text-box{
  width:780px;
}
.entry-box table.event-table{
  width:100%;
  border-collapse:collapse;
  font-size:15px; line-height:1.8;
  margin-bottom:10px;
}
.entry-box table.event-table caption{
  font-size:15px; line-height:2; font-weight:bold;
  text-align:left;
}
.entry-box table.event-table caption::before{
  content:"《 ";
}
.entry-box table.event-table caption::after{
  content:" 》";
}
.entry-box table.event-table tr{
  border-top:1px solid #ccc;
}
.entry-box table.event-table th,
.entry-box table.event-table td{
  padding:15px 0;
  text-align:left;
  vertical-align:top;
}
.entry-box table.event-table th{
  white-space:nowrap;
  padding-right:25px;
}
.entry-box .app-box{
  background:rgba(166,42,42,0.04);
  padding:30px 40px;
  margin:30px auto 0;
}
.app-box figure{
  width:400px;
  margin:0 auto 30px auto;
}
.app-box ul.app-dl-list{
  display:flex;
  justify-content:center;
  margin:0 auto 30px;
}
.app-box ul.app-dl-list li{
  width:200px;
  margin:0 15px;
}
.app-box .caution{
  border-top:1px dashed #999;
  padding-top:30px;
}
.entry-box .button{
  text-align:left;
}

/* イベント情報 */
section.event h2{
  font-size:18px; line-height:1.8; font-weight:bold;
  position:relative;
  padding-left:85px;
  margin-bottom:10px;
}
section.event h2 .eng{
  display:inline-block;
  font-size:48px; line-height:1.1; font-weight:400;
  letter-spacing:0.1em;
  border-bottom:1px solid #FFF;
  margin-right:10px;
}
section.event h2::before{
	content:"";
	width:80px; height:80px;
	background-image:url(./../../img/common/charitanu.png);
	background-repeat:no-repeat;
	background-position:center top;
	background-size:contain;
	position:absolute;
	top:-20px; left:-10px; z-index:200;
}
section.event h2.logo{
  padding-left:0;
}
section.event h2.logo figure{
  display:inline-block;
  width:200px;
  margin-right:15px;
}
section.event h2.logo::before{
  display:none;
}
.event-container{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-top:40px;
}
.event-box{
  box-sizing:border-box;
  width:500px;
//  border:1px solid #CCC;
  margin-bottom:70px;
}
.event-box h3{
  font-size:21px; line-height:1.8;
  border-bottom:1px solid #a62a2a;
}
.event-box p{
  margin:0 0 10px 0;
}
.event-box ul.event-data-list li{
  position:relative;
  padding-left:110px;
  margin-bottom:5px;
}
.event-box ul.event-data-list li > .label{
  box-sizing:border-box;
  width:100px;
  font-size:12px; line-height:1; font-weight:bold;
  text-align:center;
  padding:5px 0;
//  border:1px solid #CCC;
  background:rgba(166,42,42,0.05);
  background:#f3f3f3;
  position:absolute;
  top:4px; left:0;
}
ul.event-data-list li .climb-target{
  position:relative;
  padding-left:3em;
}
ul.event-data-list li .climb-target > .label{
  position:absolute;
  top:0; left:0;
}
ul.event-data-list li .climb-target > .label::after{
  content:"：";
  margin-left:3px;
}
ul.event-data-list li .application-close{
  display:inline-block;
  text-decoration:line-through;
  position:relative;
}
ul.event-data-list li .application-close::after{
  content:"受付終了しました";
  position:absolute;
  top:0; right:-8.5em;
  font-size:15px; font-weight:bold;
  color:#dd0000;
  white-space:nowrap;
}
.event-box .button{
  margin:25px auto 0;
}
.event-box .button a{
  box-sizing:border-box;
  width:100%;
}

/* MOVIE */
ul.movie-list li{
  margin:0 0 40px;
}
ul.movie-list li a{
  display:block;
  text-decoration:none;
  color:#111;
  display:flex;
  justify-content:space-between;
}
ul.movie-list li a figure{
  width:480px; height:270px;
  overflow:hidden;
  position:relative;
  margin-right:25px;
}
ul.movie-list li a figure::before{
  content:"";
  width:54px; height:54px;
  background-image:url(./../../img/common/play_off.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; left:50%; z-index:2;
  transform:translate(-50%, -50%);
}
ul.movie-list li a:hover figure::before{
  background-image:url(./../../img/common/play_on.png);
}
ul.movie-list li a figure img{
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
ul.movie-list li a .text-box{
  flex:1;
}
ul.movie-list li a .movie-title{
  font-size:20px; line-height:1.8; font-weight:bold;
  color:#034a92;
}
ul.movie-list li a:hover .movie-title{
  text-decoration:underline;
}

/* プレゼント */
ul.present-list li{
  margin:0 0 40px;
}
ul.present-list li a{
  display:block;
  text-decoration:none;
  color:#111;
  display:flex;
  justify-content:space-between;
}
ul.present-list li a figure{
  box-sizing:border-box;
  width:360px; height:240px;
  border:1px solid #CCC;
  overflow:hidden;
  position:relative;
  margin-right:30px;
}
ul.present-list li a figure img{
  width:100%;
  position:absolute;
  top:50%; left:0%;
  transform:translateY(-50%);
}
ul.present-list li a .text-box{
  flex:1;
}
ul.present-list li a .present-title{
  font-size:20px; line-height:1.8; font-weight:bold;
  color:#034a92;
}
ul.present-list li a:hover .present-title{
  text-decoration:underline;
}
ul.present-list li a .button{
  display:block;
  margin:0 auto;
  text-align:center;
}
ul.present-list li a .button{
  display:inline-block;
  text-decoration:none;
  width:auto; height:42px;
  font-size:15px;
  line-height:42px; font-weight:bold;
  color:#0d6d7e;
  color:#a62a2a;
  border:1px solid #0d6d7e;
  border:1px solid #a62a2a;
  border-radius:21px;
  padding:0 100px;
  text-align:center;
  position:relative;
  transition:0.3s;
}
ul.present-list li a .button::after{
  content:"";
  border-left:7px solid #0d6d7e;
  border-left:7px solid #a62a2a;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  position:absolute;
  top:50%; right:20px;
  margin-top:-7px;
  transition:0.3s;
}
ul.present-list li a:hover .button{
  background:#0d6d7e;
  background:#a62a2a;
  color:#fff;
  transition:0.3s;
}
ul.present-list li a:hover .button::after{
  border-left-color:#fff;
  transition:0.3s;
}

.present .present-title{
  margin-bottom:40px;
}
.present .present-title h1{
  font-size:32px; line-height:1.4; font-weight:normal;
  border-bottom:1px solid #a62a2a;
  padding-bottom:15px;
  margin-bottom:25px;
}
.present .present-title .sns-button-box{
  text-align:right;
}

.present figure{
  width:400px;
  margin-right:30px;
}
.present .present-body{
  flex:1;
}
.present .present-form{
  border-top:1px solid #ccc;
  margin-top:50px;
  padding-top:50px;
}
.present table.contact-table{
  width:100%;
  border-collapse:collapse;
  font-size:15px; line-height:36px;
}
.present table.contact-table tr{
  border-top:1px dashed #CCC;
}
.present table.contact-table th,
.present table.contact-table td{
  padding:20px 10px;
  font-weight:normal;
  text-align:left; vertical-align:top;
}
.present table.contact-table th{
  white-space:nowrap;
}
.present table.contact-table .caution{
  font-size:15px; line-height:1.8;
}
.present table.contact-table .name-box{
  width:48%;
  display:inline-block;
}
.present table.contact-table .name-box:first-of-type{
  margin-right:4%;
}
.present table.contact-table input::placeholder{
  color:#aaa;
}
.present table.contact-table input:focus::placeholder{
  color:transparent;
}
.present table.contact-table .zip-box{
  width:40%;
  margin:10px 0;
}
.present table.contact-table .zip-box input[type="text"]{
  display:inline-block;
  width:calc(100% - 2em);
}
.present table.contact-table .address02-box{
  margin:10px 0;
  position:relative;
  text-align:right;
}
.present table.contact-table .address02-box::before{
  content:"番地等";
  position:absolute;
  top:0; left:0;
}
.present table.contact-table .address02-box input[type="text"]{
  width:calc(100% - 4em);
}
.present table.contact-table .center{
  text-align:center;
}
.present table.contact-table input[type="submit"]{
  display:block;
  width:300px; height:44px;
  margin:30px auto;
  border-color:#a62a2a;
  color:#a62a2a;
  cursor:pointer;
  transition:0.3s;
}
.present table.contact-table input[type="submit"]:hover{
  background-color:#a62a2a;
  color:#fff;
  transition:0.3s;
}
.present table.contact-table input[type="submit"]:disabled{
  color:#666;
  background:#F0F0F0;
  border-color:#F0F0F0;
  transition:0.3s;
  cursor:not-allowed;
}

.present table.contact-table .select-course{
  display:flex;
  justify-content:space-between;
}
.present table.contact-table .select-course-box{
  width:49%;
}
table.contact-table .select-course-box .select-wrapper{
  box-sizing:border-box;
  width:100%; height:42px;
  background:#FFF;
  border:1px solid #CCC;
  border-radius:3px;
  overflow:hidden;
  position:relative;
}
table.contact-table .select-course-box .select-wrapper::after{
  content:"";
  border-top:8px solid #0d6d7e;
  border-top:8px solid #a62a2a;
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  position:absolute;
  top:50%; right:10px; z-index:1;
  transform:translateY(-50%);
}
table.contact-table .select-course-box .select-wrapper select{
  width:120%;
  border:none;
  color:#333;
  text-indent:1em;
  background:transparent;
  position:relative; z-index:2;
}

#container.course-list{
  width:900px;
}
ul.archive-area-list{
  display:flex;
  flex-wrap:wrap;
  margin:30px 0 80px;
}
ul.archive-area-list li{
  margin:0 10px 10px 0;
}
ul.archive-area-list li a{
  display:block;
  text-decoration:none;
  font-size:14px; line-height:28px;
  border:1px solid #034a92;
  padding:0 1em;
  border-radius:15px;
}
ul.archive-area-list li a:hover{
  color:#FFF;
  background:#034a92;
}
#container.course-list h2 .count{
  font-size:20px;
  margin-left:5px;
}
table.course-list-table{
  width:100%;
  border-collapse:collapse;
}
table.course-list-table tr:not(:first-of-type){
  border-top:1px solid #CCC;
}
table.course-list-table tr th{
  padding:10px 10px;
  font-size:14px; line-height:1.8;
  color:#666;
  text-align:center;
}
table.course-list-table tr th:nth-of-type(2){
  text-align:left;
}
table.course-list-table tr td{
  padding:20px 10px;
}
table.course-list-table tr td a h3{
  font-size:20px; line-height:1.6;
  color:#034a92;
  margin-bottom:0px;
}
table.course-list-table tr td.image{
  width:120px;
}
table.course-list-table tr td.data{
  width:100px;
  text-align:center;
}
table.course-list-table tr td span::after{
  content:"km";
  font-size:14px;
  margin-left:3px;
}
table.course-list-table tr td span.elevation::after{
  content:"m";
}
table.course-list-table tr td span.slope::after{
  content:"%";
}

/* Photo Gallery */
.photo-banner{
  margin:0 auto 60px;
}
.photo-banner a{
  display:block;
  text-decoration:none;
  background:#a62a2a;
  border-radius:5px;
  position:relative;
  overflow:hidden;
  font-size:20px; line-height:1.6; font-weight:bold;
  letter-spacing:1px;
  color:#FFF;
  text-align:center;
  padding:30px 0;
}
.photo-banner a::before{
  content:"";
  width:calc(400px * 0.3); height:calc(300px * 0.3);
  border:2px solid #FFF;
  background-image:url(./../../img/gallery/image01.jpg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:absolute;
  top:10px; left:30px;
  transform:rotate(-5deg);
}
.photo-banner a::after{
  content:"";
  width:calc(400px * 0.3); height:calc(300px * 0.3);
  border:2px solid #FFF;
  background-image:url(./../../img/gallery/image02.jpg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:absolute;
  bottom:10px; left:120px;
  transform:rotate(5deg);
}
.photo-banner a .more{
  display:inline-block;
  text-decoration:none;
  width:auto;
  height:42px;
  font-size:16px; line-height:42px; font-weight:bold;
  color:#a62a2a;
  background:#FFF;
  border-radius:24px;
  text-align:center;
  position:relative;
  transition:0.3s;
  margin:15px auto 0;
  padding:0 6em;
}
.photo-banner a .more::after{
  content:"";
  border-left:7px solid #a62a2a;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  position:absolute;
  top:50%;
  right:20px;
  margin-top:-7px;
  transition:0.3s;
}
.photo-banner a:hover .more{
  background:#FFFF00;
  transition:0.3s;
}

ul.gallery-list{
  display:flex;
  flex-wrap:wrap;
}
ul.gallery-list li{
  width:252px;
  margin:0 30px 30px 0;
}
ul.gallery-list li:nth-child(4n){
  margin-right:0;
}
ul.gallery-list li a{
  display:block;
  text-decoration:none;
  color:#111;
}
ul.gallery-list li a figure{
  margin-bottom:5px;
  border-radius:5px;
  overflow:hidden;
}
ul.gallery-list li a .gallery-title{
  font-size:17px; line-height:1.6;
  font-weight:bold;
  color:#034a92;
}
ul.gallery-list li a:hover .gallery-title{
  text-decoration:underline;
}
ul.gallery-list li a .course-info{
  font-size:14px; line-height:1.6;
}

.gallery-body figure{
  width:600px;
}
.gallery-body .text-box{
  flex:1;
}
.gallery-body ul.photo-data{
  margin:15px 0 0;
}
.gallery-body ul.photo-data li{
  margin-bottom:5px;
  position:relative;
  padding-left:80px;
}
.gallery-body ul.photo-data li .label{
  font-size:15px; line-height:2;
  font-weight:bold;
  color:#777;
  position:absolute;
  top:0; left:0;
}

ul.gallery-related{
  display:flex;
}
ul.gallery-related li{
  width:160px;
  margin:0 28px 0 0;
}
ul.gallery-related li:last-child{
  margin-right:0;
}
ul.gallery-related li a{
  display:block;
  text-decoration:none;
  color:#111;
}
ul.gallery-related li a figure{
  border-radius:5px;
  overflow:hidden;
}
ul.gallery-related li a .gallery-title{
  font-weight:bold;
  color:#034a92;
}
ul.gallery-related li a:hover .gallery-title{
  text-decoration:underline;
}
ul.gallery-related li a .course-info{
  font-size:13px; line-height:1.6;
}
.gallery-button-box{
  display:flex;
  justify-content:center;
  margin:30px auto 0;
}
.gallery-button-box .button{
  margin:0 20px;
}
