@charset "utf-8";

/*==========
リセット用
==========*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6,
 pre, form, fieldset, input, select, textarea, p, blockquote, th, td, img{
    margin: 0;
    padding: 0;
}

ol, ul{
    list-style:none;
}

fieldset, img{
     border:0;
}

table{
    border-collapse: collapse;
    border-spacing:0;
}

caption, th{
    text-align: left;
}

address, caption, cite, code, dfn, em, strong, th, var{
    font-style: normal;
    font-weight: normal;
}

img {
  vertical-align: bottom;
}

a{
    text-decoration: none;
        color: #333;
}

a:active, a:hover{
    text-decoration: underline;
}

p,h1,h2,h3,h4,h5{/*Android端末での途中改行回避用*/
    background: url("../images/common/blank.png");
}

/*ベースフォントサイズ 100%=10px*/
body {
    font-size: 62.5%; /* IE */
}
html>/**/body {
    font-size: 10px; /* Except IE */
}

body{
font-family: Helvetica , Arial , Verdana , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
    color: #000;
}


h1, h2, h3, h4, h5, h6{
    font-size: 100%;
    font-weight: normal;
}

/*clearfix*/
.clearfix:after{
    content: ".";
    display: block;
    clear: both;
    height: 0;
    font-size: 0;
    visibility: hidden;
}
.clearfix {
    display: inline-block;
}

/* exclude MacIE5 */
*html .clearfix{height: 1%;}
*+html .clearfix{height: 1%;}
.clearfix {display: block;}
/* end MacIE5 */

/*テキスト*/
.txt_c{
    text-align: center;
}

.txt_r{
    text-align: right;
}

.bold{
  font-weight: bold;
}

a:hover{
    text-decoration: none;
}

.red,
#main .red{
    color: #B81C22;
}

.red2,
#main .red2{
  color: #d40020;
}


/*レイアウト*/
.fl_l{
    float: left;
}
.fl_r{
    float: right;
}

.flex{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content:  space-between;
}

.col3{width: calc(100% / 3);}
.col4, .panel4 div{width: calc(100% / 4);}

.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.mb50{margin-bottom: 50px;}
.mb60{margin-bottom: 60px;}
.mb80{margin-bottom: 80px;}
.mb100{margin-bottom: 100px;}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}


/* コンテンツ設定
===================*/

/*=====
common
=====*/

/*font*/
#main {
 font-size: 14px;
 z-index:1;
}

#main a{
   color:#036eb8;
   text-decoration: underline;
}

#main .link{
   color:#036eb8;
}

#main#main .f12,
#main#main .f12 li,
#main#main .f12 a{
    font-size: 12px;
}

#main#main#main .f14,
#main#main .f14 li,
#main#main .f14 a{
    font-size: 14px;
}

#main#main .f16,
#main#main .f16 li,
#main#main .f16 a{
    font-size: 16px;
}

#main#main .f18,
#main#main .f18 li,
#main#main .f18 a{
    font-size: 18px;
}

#main#main .f20,
#main#main .f20 li,
#main#main .f20 a{
    font-size: 20px;
}

#main .f16b{
    font-size: 16px;
    font-weight: bold;
}

#main#main .f18b{
    font-size: 18px;
    font-weight: bold;
}

#main#main .f20b{
    font-size: 20px;
    font-weight: bold;
}

#main#main .f22b{
    font-size: 22px;
    font-weight: bold;
}
#main#main .f24b{
    font-size: 24px;
    font-weight: bold;
}

#main#main .f26b{
    font-size: 26px;
    font-weight: bold;
}

#main#main .f28b{
    font-size: 28px;
    font-weight: bold;
}

#main#main .f30b{
    font-size: 30px;
    font-weight: bold;
}

#main#main .f36b{
    font-size: 36px;
    font-weight: bold;
}

#main#main .f40b{
    font-size: 40px;
    font-weight: bold;
}

#main#main .f55b{
    font-size: 55px;
    font-weight: bold;
}


#main#main .ls-1{letter-spacing: -1px;}
#main#main .ls0{letter-spacing: 0;}

h1{
    background-color: #B81C22;
    color: #FFFF00;
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    line-height: 40px;
}


/*===
page common
===*/


#main .sec{
  padding: 30px 0;
}

#page_footer{
  text-align: center;
  margin-top: 50px;
}

#page_footer li{
  margin-bottom: 20px;
}

#main .ttl01{
  font-size: 20px;
  font-weight: bold;
  line-height:1.5;
}

#main .ttl02{
  font-size: 18px;
  font-weight: bold;
  background-color: #f5f53e;
  text-align: center;
  color:#000;
  padding: 2px 0;
}

#main .ttl03{
  font-size: 26px;
  font-weight: bold;
  padding: 28px 0 12px;
}

#main .ttl04{
  font-size: 50px;
  font-weight: bold;
}

#main .ttl05{
  font-size: 18px;
  font-weight: bold;
  background-color: #000;
  text-align: center;
  color:#fff;
  padding: 2px 0;
}

#main .st01{
    background-color: #B81C22;
    color: #FFFF00;
    text-align: center;
    font-weight: bold;
    font-size: 25px;
    padding: 5px 0;
}
/* IEのみの対応 */
@media all and (-ms-high-contrast: none){
  #main .st01{
    height: 20px;
  }
}

#main .st02{
    background-color: #666666;
    color: #FFF;
    font-weight: bold;
    font-size: 18px;
    padding: 11px 20px;
}

#main .st03{
    color: #B81C22;
    font-weight: bold;
    font-size: 24px;
    margin-bottom: 10px;
    margin-left: 4px;
}

#main .st03::before {
  position: relative;
  top: 1px;
  left: -4px;
  display: inline-block;
  width: 20px;
  height: 20px;
  content: '';
  border-radius: 0;
  background: #B81C22;
}

#main .st03 + div{
  padding-left: 1.5rem;
  padding-bottom: 20px;
  font-size: 16px;
}

#main .st03 + div p{
  font-size: 16px;
}

#main .st04{
  color: #B81C22;
  font-weight: bold;
  border-top: 1px solid #B81C22;
  border-bottom: 1px solid #B81C22;
  padding: 0.5rem 0;
  margin: 2rem 0;
}

#main .st05{
    font-weight: bold;
    font-size: 24px;
    margin-bottom: 10px;
    margin-left: 4px;
    padding-left: 1rem;
    text-indent: -1rem;
}

#main .st05::before {
  position: relative;
  top: 1px;
  left: -4px;
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  content: '';
  border-radius: 0;
  background: #B81C22;
  color: #B81C22;
}

#main#main div.para{
  padding-left: 1.5rem;
  font-size: 16px;
  /* padding-bottom: 20px; */
}

#main#main div.para div.para{
  padding-left: 1em;
}
#main#main div.para div.para ul{
  margin-left: 0.4em;
}


#main .st05 + div.para p{
  font-size: 16px;
}


#main .st06{
  border-left: 10px solid #B81C22;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.5;
  padding: 0.5rem 0 0.5rem 1rem;
  margin-top: 20px;
}

#main .st06 span{
  font-size: 24px;
}

#main .st07{
    background-color: #9d9d9d;
    color: #FFF;
    font-weight: bold;
    font-size: 18px;
    padding: 5px 0;
    text-align: center;
}

#main .st08{
    font-weight: bold;
    font-size: 30px;
    line-height: 1.1;
}

#main .st08 span{
    font-size: 19px;
}


#main .st09{
    background-color: #B81C22;
    color: #FFF;
    font-weight: bold;
    font-size: 17px;
    padding: 5px 0;
    text-align: center;
    margin-bottom: 15px;
}

#main .st10{
  border-left: 5px solid #000;
  font-size: 14px;
  line-height: 1.5;
  padding: 0.5rem 0 0.5rem 0.5rem;
  margin: 10px 0;
}

#main .st11{
    background-color: #B81C22;
    color: #FFF;
    font-weight: bold;
    font-size: 17px;
    padding: 5px 0;
    text-align: center;
    margin-bottom: 15px;
    color: #FFFF00;
}


#main .st12{
    background-color: #9d9d9d;
    color: #FFF;
    font-weight: bold;
    font-size: 17px;
    padding: 5px 0;
    text-align: center;
}

#main .st13{
  border-left: 10px solid #B81C22;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  padding: 0.5rem 0 0.5rem 1rem;
  margin-top: 20px;
}

#main .st14{
  border-bottom: 1px solid #B81C22;
  font-size: 20px;
  font-weight: bold;
  padding: 0 1rem 0.5rem;
}


#main .st14.b_green{
  border-bottom: 1px solid #4dad31;
}

#main .st14 + div{
  padding: 1rem 25px;
}


#main .st15{
    background-color: #B81C22;
    color: #FFF;
    font-weight: bold;
    font-size: 17px;
    padding: 5px 15px;
    text-align: left;
    margin-bottom: 0;
    color: #FFFF00;
}

#main .st16{
  background-color: #f17900;
  display: inline-block;
  padding: 0.2rem 2rem;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  border-radius: 2rem;
  margin-bottom: 0.8rem;
}


#main .st17{
  background-color: #d6d6d6;
  display: inline-block;
  padding: 0.7rem 6.3rem;
  font-size: 22px;
  border-radius: 2rem;
  margin: 0.5rem 0 0.8rem;
}

#main .st18{
    background-color: #dedede;
    padding: 0.7em 1rem;
}

#main .st19{
    background-color: #9d9d9d;
    color: #FFF;
    font-weight: bold;
    padding: 2px 0;
    text-align: center;
    display: inline-block;
    width: 155px
}


#main .st20{
    background-color: 62aaf4;
    color: #FFF;
    font-weight: bold;
    font-size: 17px;
    padding: 5px 0;
    text-align: center;
    margin-bottom: 15px;
}

#main .lm00{padding-left: 1.2em;text-indent:-1em;}


#main .lm00::before {
  position: relative;
  top: 2px;
  left: -4px;
  display: inline-block;
  width: 0.8rem;
  height: 0.8rem;
  content: '';
  border-radius: 0;
  background: #000;
}



#main .lm01{
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 0;
    margin-left: 4px;
    margin-top: 10px;
    letter-spacing: -2px;
}

#main .lm01::before {
  position: relative;
  top: 1px;
  left: -4px;
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  content: '';
  border-radius: 0;
  background: #000;
}

#main .lm02{
    font-weight: bold;
    font-size: 22px;
    margin-bottom: 0;
    margin-left: 4px;
    margin-top: 10px;
    letter-spacing: -1px;
}

#main .lm02::before {
  position: relative;
  top: 1px;
  left: -4px;
  display: inline-block;
  width: 16px;
  height: 16px;
  content: '';
  border-radius: 0;
  background: #000;
}

#main .lm03{
padding-left:1em;
text-indent:-1em;
}


#main .lm03::before {
  position: relative;
  top: 1px;
  left: -4px;
  display: inline-block;
  width: 0.8rem;
  height: 0.8rem;
  content: '';
  background: #000;
  border-radius: 100%;
}


#main .lm04{
padding-left:1em;
text-indent:-1em;
margin-left: 1em;
}


#main .lm04::before {
  position: relative;
  top: 1px;
  left: -4px;
  display: inline-block;
  width: 0.8rem;
  height: 0.8rem;
  content: '\025b6';
}


.lm_disc li:before{
  content: "・ ";
}

.lm_disc li{
  padding-left:1em;
  text-indent:-1em;
  margin-left: 0em;
}

.lm_star li:before{
  content: "※ ";
}

.lm_star li{
  padding-left:1em;
  text-indent:-1em;
  margin-left: 0em;
}

#main ol{
  list-style-type: decimal;
/*   list-style-position: inside; */
  margin-left: 1rem;
}

#main ol li{/* padding-left:1em; *//* text-indent:-1em; */margin-left: 0em;margin-bottom: 0.2rem;}


.point > p:first-child{
  padding-left: 120px;
  min-height: 120px;
  padding-top: 8px;
}

.point1{
  background-image: url(../images/common/point1.png);
  background-repeat: no-repeat;
}

.point2{
  background-image: url(../images/common/point2.png);
  background-repeat: no-repeat;
}

.point3{
  background-image: url(../images/common/point3.png);
  background-repeat: no-repeat;
}

.point4{
  background-image: url(../images/common/point4.png);
  background-repeat: no-repeat;
}

.point5{
  background-image: url(../images/common/point5.png);
  background-repeat: no-repeat;
}

.point6{
  background-image: url(../images/common/point6.png);
  background-repeat: no-repeat;
}

.point7{
  background-image: url(../images/common/point7.png);
  background-repeat: no-repeat;
}

.point8{
  background-image: url(../images/common/point8.png);
  background-repeat: no-repeat;
}

.point9{
  background-image: url(../images/common/point9.png);
  background-repeat: no-repeat;
}

.point10{
  background-image: url(../images/common/point10.png);
  background-repeat: no-repeat;
}

#main .point p.link,
#main .point a{
  color:#036eb8;
}

#main .point a{
  text-decoration: underline;
}

#main .bd01{
  border: solid 1px #999;
}

#main .bd01 p{
  padding: 0.3em 1em;
}

.ev_no{
  width: 100%;
  border: 1px solid #000;
  box-sizing: border-box;
  padding: 10px 30px;
}

.ev_no th,
.ev_no td{
  padding: 2px 0;
  vertical-align: middle;
}
.ev_no th{
  background-image: url(../images/common/dot.png);
  background-repeat: repeat-x;
  background-position:center;
  padding-right: 3em;
}

.ev_no td{
  padding-left: 1em;
}

#main .ev_no th p{
  background-color: #fff;
  display: inline-block;
  padding-right: 0.5em;

}

/*click button*/
#main .btn{
  text-align: center;
}

#main .btn a{
  display: block;
  font-weight: bold;
  padding: 0.3rem 0;
  font-size: 15px;
  text-decoration: none;
}

#main .btn.red a{
  background-color: #B81C22;
  color: #fff;
}


#main .btn.blue a{
  background-color: #036eb8;
  color: #fff;
}

div.plan1{
  border-top: 1px solid #777;
  border-bottom: 1px solid #777;
  padding: 1rem 0;
  width: 100%;
}

.plan1 th,
.plan1 td{
  font-size: 16px;
  text-align: left;
  font-weight: bold;
  padding: 0.1rem 0;
}

.plan1 th{
  padding-right: 1.5rem;
}

.plan2{
  padding: 1rem 0;
  width: 100%;
}

.plan2 th,
.plan2 td{
  border: 1px solid #777;
  font-size: 14px;
  text-align: left;
  /* font-weight: bold; */
  padding: 16px 16px;
}

.plan2 th{
  padding-right: 2rem;
  background-color:#cccccc;
  width: 230px;
}

.plan2 a{
   color:#036eb8;
   text-decoration: underline;
}

.plan3 th{
  vertical-align: top;
  font-weight: bold;
}


/*header*/
#header.flex{
    align-items:flex-end;
}

#nav_area{
    font-size: 15px;
    font-weight: bold;
    width: 870px;
}

#nav1 li{
    margin-right: 20px;
}

#nav1 li:last-child{
    margin-right: 0;
}

#header .nav_sns li,
#header2 .nav_sns li{
  margin-left: 20px;
}

.nav_sns li:first-child{
  margin-left: 0;
}

#nav2.flex{
    justify-content:  flex-end;
    padding: 12px 0 16px;
    box-sizing: border-box;
}

#nav2 li a{
    border-left: 1px solid #000;
    padding: 0 10px;
    font-weight: bold;
}

#nav2 li a.last{
    padding-right: 0;
}

#nav2 li a.first{
    border-left: none;
}

/*footer*/
#ft_link{
    background-color: #B81C22;
    font-size: 12px;
    padding: 24px 0;
}

#ft_link ul.mb0{margin-bottom: 0px;}

#ft_link,
#ft_link a,
#copy{
    color: #fff;
}

#ft_link .ttl{
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 9px;
}

#ft_link ul{
    margin-bottom: 18px;
}

#ft_link ul ul{
    margin-bottom: 0px;
}

#ft_link li {
    background-image: url(../images/common/lm1.png);
    background-repeat: no-repeat;
    background-position: left top 5px;
    line-height: 1.8;
    position:relative;
    margin-left: 1em;
    padding-left: 1em;
    font-size: 13px;
}



#ft_link li li{
    list-style-image: none;
    padding-left: 12px;
}

#ft_link li li li{
    padding-left: 24px;
}

#ft_link li li:before{
    content: "・";
}

#ft_link li li li:before{
    content: "";
}

#ft_link .ttl.lm:before{
  position: relative;
  top: 1px;
  left: -4px;
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  content: '';
  border-radius: 0;
  background: #fff;
}


#copy{
    background-color: #B81C22;
    font-size: 12px;
    padding: 16px 0;
    border-top: 1px solid #fff;
}

#ft_info{
  background-color: #B81C22;
  text-align: center;
  color: #fff;
  font-size: 12px;
  padding-bottom: 10px;
}

#ft_info p{
  margin-bottom: 4px;
}

#ft_info .txt1{
  font-weight: bold;
  font-size: 13px;
}

#ft_info .txt2{

}

#ft_info .txt3{
  background-color: #fff;
  display: inline-block;
  color: #B81C22;
  font-weight: bold;
  padding: 0 1em;
  border-radius: 1em;
}
/* IEのみの対応 */
@media all and (-ms-high-contrast: none){
  #ft_info .txt3{
    padding-top: 6px;
  }
}

#ft_info .txt4{
  font-size: 20px;
  font-weight: bold;
}

#ft_info .txt4 span{
  font-size: 12px;
  font-weight: normal;
}


/*contents*/

/*alart*/
#alart{
    background-color: #000;
    padding: 10px 0;
}

#alart p{
    color: #FFF100;
    font-weight: bold;
}

#alart .flex{
  align-items:center;
}

.marquee {width: 85%;padding:0.5em 0;overflow:hidden;margin-bottom:10px;position:relative;margin: 0 auto;font-size: 16px;}

.marquee p:after {
content:"";
white-space:nowrap;
padding-right:50px;
}

.marquee p {
margin:0;
padding-left:100%;
display:inline-block;
white-space:nowrap;
    -webkit-animation-name:marquee;
    -webkit-animation-timing-function:linear;
    -webkit-animation-duration:20s;
    -webkit-animation-iteration-count:infinite;
    -moz-animation-name:marquee;
    -moz-animation-timing-function:linear;
    -moz-animation-duration:20s;
    -moz-animation-iteration-count:infinite;
    -ms-animation-name:marquee;
    -ms-animation-timing-function:linear;
    -ms-animation-duration:20s;
    -ms-animation-iteration-count:infinite;
    -o-animation-name:marquee;
    -o-animation-timing-function:linear;
    -o-animation-duration:20s;
    -o-animation-iteration-count:infinite;
    animation-name:marquee;
    animation-timing-function:linear;
    animation-duration:20s;
    animation-iteration-count:infinite;
}
@-webkit-keyframes marquee {
  from   { -webkit-transform: translate(0%);}
  99%,to { -webkit-transform: translate(-100%);}
}
@-moz-keyframes marquee {
  from   { -moz-transform: translate(0%);}
  99%,to { -moz-transform: translate(-100%);}
}
@-ms-keyframes marquee {
  from   { -ms-transform: translate(0%);}
  99%,to { -ms-transform: translate(-100%);}
}
@-o-keyframes marquee {
  from   { -o-transform: translate(0%);}
  99%,to { -o-transform: translate(-100%);}
}
@keyframes marquee {
  from   { transform: translate(0%);}
  99%,to { transform: translate(-100%);}
}


a.hov{
    opacity: 0.7;
    transition: 0.8s;
}


/*home*/
.top #kv{
    position: relative;
    overflow: hidden;

}
.top #kv:after {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
height: 100%;
    top: 0;
    background: url("../images/home/kv_bg.jpg") 0 0 no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    animation-name: kv1;
    animation-duration: 10s;
animation-fill-mode:forwards;
}
/*
.top #kv:hover:after {    opacity: .8;
    -moz-transform: scale(1.2);
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}
*/
.top #kv img{z-index: 1;
    position: relative;}

#kv img{
  width: 100%;
  height: auto;
  background-repeat: no-repeat;
  background-position: center top;
}
/*
.top #kv img{
  background-image:url(../images/home/kv_bg.jpg);
  background-size: 130%;
  animation-name: kv1;
  animation-duration: 12s;
}
*/
@keyframes kv1 {
0% {transform: scale(1);}
100% {
  transform: scale(1.3);
  }
}

div.more{
  padding: 20px 0 0;
}

div.more img{
  cursor: pointer;
}



.top #sec2{
  padding: 8px 0 50px;
}

.top #sec2 li{
  margin-bottom: 8px;
}


.top #info_area dl{
  width: 95%;
  margin: 0 auto;
}

.top #info_area dt{
  font-size: 12px;
  width: 20%;
  background-color: #666;
  text-align: center;
  color: #fff;
  padding: 8px 0;
}

.top #info_area dd{
  width: 80%;
  padding: 0.2em 1em;
  box-sizing: border-box;
}

.top #info_area dd a{
  font-size: 14px;
  text-decoration: underline;
}


.top #info_area dl{
  border-bottom:  1px dashed #999;
  padding: 10px 0;
}

.top #sec1 li a{
  display: block;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  background-color: #000;
}

.top #sec1 li#cat1 a{background-image: url(../images/home/bg_pic1.png);}
.top #sec1 li#cat2 a{background-image: url(../images/home/bg_pic2.png);}
.top #sec1 li#cat3 a{background-image: url(../images/home/bg_pic3.png);}
.top #sec1 li#cat4 a{background-image: url(../images/home/bg_pic4.png);}
.top #sec1 li#cat5 a{background-image: url(../images/home/bg_pic5.png);}
.top #sec1 li#cat6 a{background-image: url(../images/home/bg_pic6.png);}

.top #sec1 li.no_mov a{
  -webkit-transition-property: background-size;
  -webkit-transition-duration: 1s,1s;
  -webkit-transition-timing-function: ease,ease-in;
  -webkit-transition-delay: 0s,0s;
  transition-property: background-size;
  transition-duration: 1s,1s;
  transition-timing-function: ease,ease-out;
  transition-delay: 0s,0s;
}

.top #sec1#sec1 li.no_mov a:hover{
  background-size: 120%;
}

.top #sec1#sec1 li.mov a:hover{
  opacity: 1;
  background-image: none;
}

.top #sec1.panel2 li {
  background-color: #000;
  position:relative;
  overflow:hidden;
  text-align:center;
  max-width: 100vw;
}

.top #sec1.panel2 .cover{
  z-index: 2;
  position:relative;
  width:100%;
  height:100%;
}

video{
  position: absolute;
  right:0;
  bottom: 0;
  left:0;
  top:0;
  min-width: 100%;
  width: auto;
  height: auto;
  margin:auto;
  display: none;
}

.on video{
  display: block;
}

.top #sec1.panel2 li.on {
        background:none !important;
    }
.top #sec1.panel2 li.off {
        z-index:-1;
    }

.top #sec4{
  position: relative;
}

.top #sec4 .text img{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;

}
/*pages*/

.rafting #main,
.group #main,
.outline #main,
.safty #main,
.recruit #main,
.booking #main,
.contact #main,
.canoe #main,
.download #main,
.premium #main,
.privacy #main,
.special #main,
.registration #main,
.condition #main,
.plans #main,
.faq #main,
.faq2 #main,
.faq3 #main,
.guide #main,
.guide_yoshino #main,
.guide_kidu #main,
.guide_suhara #main{
 padding: 40px 0;
}

.group #sec1{
  padding-bottom: 65px;
}

.group #main h2.st01{
  margin: 30px 0;
}

/*rafting*/

.rafting #sec2{
  padding-bottom: 50px;
}

.rafting #sec2_1 p.ttl01{
  padding: 26px 0;
}

.rafting #sec2_1,
.rafting .plan_sec1{
  position: relative;
}

.rafting .chara{
  position: absolute;
}

.rafting .chara{
  top: -120px;
  right:0;
}

.rafting .chara.even{
  top: -100px;
  left:0;
}

.rafting .plan_sec1{
  padding-top: 26px;
}


.rafting .plan_sec2{
  padding: 30px 0 0;
}

.rafting .plan_sec2 a{
  text-decoration: underline;
  padding-left: 1rem;
}

.rafting #sec6 .panel4{
  justify-content: flex-start;
}

.rafting #sec6 .panel4 div{
  padding-bottom: 20px;
}

.rafting #sec6 .panel4 p.lm01 + p{
  padding-right: 1rem;
}

.rafting #sec6_3{
  margin-bottom: 36px;
}

.rafting #sec6_3 div{
  margin-bottom: 40px;
}


.rafting #sec1{
  padding-bottom: 65px;
}

.rafting #sec2{
  padding-bottom: 50px;
}

.rafting #sec3{
  padding-bottom: 60px;
}

.rafting #sec4{
  padding-bottom: 70px;
}

.rafting #sec5{
  padding-bottom: 60px;
}

.rafting #sec6_1{
  margin-bottom: 36px;
}

.rafting .plan1 th,
.plan_top .plan1 th,
.rafting .plan1 td,
.plan_top .plan1 td{
  font-weight: bold;
}



/*slider*/
.slider_wrap{
 padding: 0 25px;
}
.slide div.slick-slide img{
  margin: 0 auto;
}

.slide p.first:first-letter{
  font-size: 40px;
  padding-right: 8px;
  font-weight: bold;
  color: #B81C22;

}

.slide p.first strong{
  font-size: 40px;
  padding-right: 8px;
  font-weight: bold;
  color: #B81C22;

}

.slide p.first{
  text-indent:-30px;
  padding-left: 40px;
}



/*plan*/
.p_con{
  padding: 38px 28px 50px;
}

#main .p_con p,
#main .p_con p a {
  font-weight: bold;
  font-size: 16px;
  text-decoration: none;
  color: #000;
}
#main .p_con p span{
  font-size: 18px;
}

#main .yoyaku li{
  display: block;
  width: 32%;
  text-align: center;
  padding-bottom: 4px ;
}

#main .yoyaku a{
  display: block;
  background-color: #B81C22;
  border-top: 2px solid #B81C22;
  border-bottom: 2px solid #B81C22;
  border-left: 1px solid #B81C22;
  border-right: 1px solid #B81C22;
  text-decoration: none;
  color: #fff;
  padding: 4px 0;
 font-weight: bold;
}

#main .yoyaku a{
  background-color: #ffff00;
  color: #B81C22;
}


.reserve a{
  max-width: 470px;
  margin: 0 auto;
  box-sizing: border-box;
}

.point_wrap  div.flex{
  margin-bottom: 20px;
}

.course{
  margin-bottom: 50px;
}

.flex.pic_s li:first-child{
  width: 35%;
}

.flex.pic_s li:last-child{
  width: 65%;
  padding: 0 0.6rem;
  box-sizing: border-box;
}

.course > .flex{
  margin-top: 30px;
  margin-bottom: 30px;
}

.course > .flex .col2:nth-child(1){
  border-right: 1px solid #000;
}

/*item*/
.item .flex.item1,
.item .flex.item3{
  border-bottom: 1px solid #b2b2b2;
}

.item .flex.item1 div:nth-child(1){

}

.item .flex.item1 div:nth-child(2),
.item .flex.item3 div:nth-child(2){
  padding-top: 40px;
}

.item .flex.item1 .col2
.item .flex.item2 .col2{
  width: 49%;
}
.item .flex.item3{
  padding-bottom: 20px;
}

.item .flex.item3 div:nth-child(1){
  padding-top: 40px;
  box-sizing: border-box;
  text-align:center;
  padding-right: 10%
}

#main table.t01{
  border: 1px solid #777;
  width: 100%;
  margin: 30px 0;
}

#main table.t01 th{
  text-align: center;
  width: 20%;
}

#main table.t01 td p{
  border-left: 1px solid #777;
  margin: 1em 0;
  padding: 0 2em;
}


#main table.t02{
  width: 100%;
}

#main table.t02 th,
#main table.t02 td{
  text-align: center;
  width: 20%;
  border: 1px solid #262626;
  padding: 0.8em 0.5em;
}

#main table.t02 th.th1{
  text-align: left;
  width: 50%;
}

#main table.t02 td.td1{
  text-align: left;
}

#main table.t02 th{
  background-color: #999;
  font-weight: bold;
  color: #fff;
}

#main table.t03{
  width: 100%;
  font-size: 12px;

}

#main table.t03 th,
#main table.t03 td{
  text-align: center;
  border: 1px solid #262626;
  padding: 0.8em 0.5em;
}

#main table.t03 th.th1{
  text-align: left;
}

#main table.t03 td.td1{
  text-align: left;
}

#main table.t03 th{
  background-color: #999;
  font-weight: bold;
  color: #fff;
}

#main table.t04{
  width: 100%;
  font-size: 12px;

}

#main table.t04 th,
#main table.t04 td{
  border: 1px solid #262626;
  padding: 0.8em 1em;
  text-align: left;
  font-size: 14px;
}

#main table.t04 th{
  width: 20%;
  background-color: #dfdfdf;
  vertical-align: top;
}

#main table.t05{
  width: 100%;
  font-size: 12px;

}

#main table.t05 th,
#main table.t05 td{
  border: 1px solid #262626;
  padding: 0.8em 1em;
  text-align: left;
  font-size: 14px;
}

#main table.t05 th{
  text-align: center;
  width: 30%
}


#main table.t05 th.th1{
  background-color: #dfdfdf;
  vertical-align: top;
  text-align: left;
  width: 100%;
}

#main table.t06{
  width: 100%;
  font-size: 12px;

}

#main table.t06 th,
#main table.t06 td{
  border: none;
  padding: 0.5rem 0;
  text-align: left;
  font-size: 16px;
  border-bottom: 1px solid #000;
  font-weight: bold;
}

#main table.t06 .last th,
#main table.t06 .last td{
border-bottom: none
}

#main table.t06 th{
  text-align: left;
  width: 50%;
  padding-left: 15px;
  background-color: transparent;
}

#main table.t07{
  width: 100%;
  margin-top: 0.5em;
}

#main table.t07 th,
#main table.t07 td{
  border: 1px solid #000;
  padding: 1em 1em;
  box-sizing: border-box;
}

#main table.t07 th{
  background-color: #dedede;
}

#main table.t07 th.th1{
  width: 20%;
  background-color: #838383;
}

#main table.t07 th.th2{
  background-color: #306ab7;
}

#main table.t07 th.th3{
  background-color: #a5001d;
}


#main table.t07 th.th2,
#main table.t07 th.th3{
  width: 40%;
}


#main table.t07 th.th1,
#main table.t07 th.th2,
#main table.t07 th.th3{
  padding: 0.5em 1em;
  color: #fff;
  font-weight: bold;
}

#main table.t07 .blue,
#main table.t07 .red2{
  font-size: 20px;
  font-weight: bold;
}

#main table.t07 .blue{
  color: #3069be;
}


#main .para01{
  margin-left: 1rem;
}

/*group*/
.group #sec2 li.col3.bd01{
  max-width: 310px;
}

#main p.tel,
#main p.fax{
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 0.2em;
}

.vm{
  vertical-align: middle;
}

/*recruit*/
.recruit #sec2_1 li.col3{
  margin-bottom: 25px;
}

#main h3.st05.f28{
  font-size: 28px;
  line-height: 1.2;
}

.recruit #main .st14 + div{
  margin-bottom:25px;
}

#main .t04 .lm01{
    font-size: 14px;
    font-weight: normal;
    margin-bottom: 0;
    margin-left: 4px;
    margin-top: 0px;
    letter-spacing: 0px;
}

#main .t04 .lm01 + div{
  margin-left: 1.2em;
}

.recruit #sec6 .plan1 p a,
.recruit #sec6 .plan1 p{
  font-size: 16px;
  color: #000;
}

/*booking*/


.booking #main .arrow .lm01{
  font-size: 16px;
}

.booking #main .arrow .btn{
  width: 330px;
}

#main .payment{
  margin-bottom: 50px;
}

/*contact*/
.contact #sec2_1 .lm01,
.contact #sec3_1 .lm01{
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0;
}

/*canoe*/
.canoe #sec1{
  padding-bottom: 65px;
}

.canoe #sec2{
  padding-bottom: 50px;
}

.canoe #sec3{
  padding-bottom: 60px;
}

.canoe #sec4{
  padding-bottom: 70px;
}

.canoe #sec5{
  padding-bottom: 60px;
}

.plan_top h2.st01{
  margin-bottom: 30px;
}


.plan_top #main .st05{
  margin-top: 30px;
}

.plan_top #main .panel4{
  justify-content: flex-start;
}

.plan_top #main .panel4 div{
  padding-bottom: 20px;
}

.canoe #sec7 div.col2 p.lm01{
  font-size: 14px;
}


.canoe #sec7 div.col2 p.lm01 span{
  font-size: 12px;
  font-weight: normal;
}

/*stepup roll*/
.stepup .course{
  margin-bottom: 0;
}

.roll .course{
  margin-bottom: 0;
}

/*privacy*/
.privacy #main .st05{
  font-size: 16px;
  margin: 20px 0 10px;
}

.privacy #main div.para2 {
    padding-left: 1rem;
}


.privacy #main div.para2 ul{
    padding-left: 0.5em;
    margin-top: 1em;
    font-size: 12px;
}

.privacy #main .lm03::before {
  top: -1px;
  left: -4px;
  width: 0.7em;
  height: 0.7em;
  content: '';
}

/*registration*/
.registration .require th:after{
  content:" ※";
  color: red;
}

.form1 table{
  width: 100%;
}

.form1 table th{
  width: 30%;
}


.form1 table th.vt{
  vertical-align: top;
}

.form1 table th,
.form1 table td{
  padding: 0.8em;
}

.form1 .area.short,
.form1 .area.long{
  width: 25em!important;
  box-sizing: border-box;
}


.form1 textarea.area.long{
  height: 10em!important;
}


.form1 input[type=text],
.form1 input[type=date],
.form1 input[type=datetime],
.form1 input[type=number],
.form1 input[type=search],
.form1 input[type=time],
.form1 input[type=url],
.form1 input[type=email],
textarea,
select{
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    border: 1px solid #C2C2C2;
    box-shadow: 1px 1px 4px #EBEBEB;
    -moz-box-shadow: 1px 1px 4px #EBEBEB;
    -webkit-box-shadow: 1px 1px 4px #EBEBEB;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    padding: 7px;
    outline: none;
}
.form1 input[type=text]:focus,
.form1 input[type=date]:focus,
.form1 input[type=datetime]:focus,
.form1 input[type=number]:focus,
.form1 input[type=search]:focus,
.form1 input[type=time]:focus,
.form1 input[type=url]:focus,
.form1 input[type=email]:focus,
.form1 textarea:focus,
.form1 select:focus{
    border: 1px solid #0C0;
}

.form1 input[type=submit],
.form1 input[type=button]{
    border: none;
    padding: 8px 15px 8px 15px;
    background: #B81C22;
    color: #fff;
    box-shadow: 1px 1px 4px #DADADA;
    -moz-box-shadow: 1px 1px 4px #DADADA;
    -webkit-box-shadow: 1px 1px 4px #DADADA;
  width: 300px;
    cursor: pointer;
    font-weight: bold;
}
.form1 input[type=submit]:hover,
.form1 input[type=button]:hover{
    background: #99171c;
    color: #fff;
}

#inquiry_privacy_policy textarea{
    width: 100%;
    height: 15em;
    padding: 1em 3em;
    border: none;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    border-radius: 0;
    margin-bottom: 1em;
    font-size: 12px;
    color: #666666;
}

/*condition*/
.condition #main .red{
  color: #d40020;
}

.condition #main .op_info li{
  margin-bottom: 50px;
}

.condition #main .op_info .cancel .para{
  color: #d40020;
}


.condition #main .op_info .open .para{
  color: #305bff;
}


/*プラン一覧*/
.plans table{
  width: 100%;
  text-align: center;
}


table.spec th{
  box-sizing: border-box;
  border: 1px solid #000;
}

table.spec td{
  font-size: 26px;
  padding: 4px 0;
  border: 1px solid #000;
}

table.spec th{
  width:20%;
  background-color: #848484;
  color: #fff;
  font-weight: bold;
  padding: 0.5em;
  text-align: center;
}

table.spec th.th_c{
  width:calc(80% / 6);
}

table.spec th.th4{
  font-size: 16px;
  text-align: left;
}

table.spec td:nth-child(odd){
  background-color: #ebebeb;
}

#main table.spec a{
  color: #fff;
}

table.spec td:nth-child(odd){
  background-color: #ebebeb;
}

table.spec th.th1{
  background-color:#b30012;
}

table.spec th.th2{
  background-color:#036eb7;
}

table.spec th.th3{
  background-color:#03a5b7;
}

.plans #sec2_1 {
  margin-top: 20px;
}


.plans #sec2_1 li{
  margin-bottom: 8px;
}

table.spec img{
  vertical-align: middle;
}

/*guide*/
.guide_menu{
  text-align: center;
  line-height: 1.5;
  font-size: 16px;
  font-weight: bold;
}

.guide_menu img{
  margin-bottom: 10px;
}


.guide_col.small .text_area{
 padding-right: 30px;
}

/*faq*/
#main .faq_menu li{
  display: block;
  width: 32%;
  text-align: center;
}
#main .faq_menu a{
  display: block;
  background-color: #5e5e5e;
  border-top: 2px solid #5e5e5e;
  border-bottom: 2px solid #5e5e5e;
  border-left: 1px solid #5e5e5e;
  border-right: 1px solid #5e5e5e;
  text-decoration: none;
  color: #fff;
  padding: 4px 0;
 font-weight: bold;
}

#main .faq_menu a:hover,
#main .faq_menu a.hov2{
  background-color: #ffff00;
  color: #5e5e5e;
}

ul#qa > li{
  padding: 0 22%;
}

#qa h2{
  background-image: url(../images/faq/question.png);
  background-repeat: no-repeat;
  height: 56px;
  display: table-cell;
  vertical-align: middle;
  padding-left: 40px;
  font-size: 17px;
  font-weight: bold;
}

#qa .answer{
  margin: 10px 0 40px;
  background-image: url(../images/faq/answer.png);
  background-repeat: no-repeat;
  background-position: left 10px top 20px;
  padding: 14px 14px 14px 50px;
  min-height: 140px;
}

.faq #sec1,
.faq2 #sec1,
.faq3 #sec1{
  padding: 30px 0;
}

#qa li{
  background-repeat: no-repeat;
}

#qa .c1{background-image: url(../images/faq/c1.png);}
#qa .c2{background-image: url(../images/faq/c2.png);}
#qa .c3{background-image: url(../images/faq/c3.png);}
#qa .c4{background-image: url(../images/faq/c4.png);}
#qa .c5{background-image: url(../images/faq/c5.png);}
#qa .c6{background-image: url(../images/faq/c6.png);}
#qa .c7{background-image: url(../images/faq/c7.png);}
#qa .c8{background-image: url(../images/faq/c8.png);}
#qa .c9{background-image: url(../images/faq/c9.png);}
#qa .c10{background-image: url(../images/faq/c10.png);}

.arrow_box_r{
  background-position: right 60%;
}

.arrow_box_l{
  background-position: left 60%;
}

.arrow_box_r div.answer {
  position: relative;
  background: #fff;
  border: 1px solid #a7a7a7;
}
.arrow_box_r div.answer:after, .arrow_box_r div.answer:before {
  left: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.arrow_box_r div.answer:after {
  border-color: rgba(255, 255, 255, 0);
  border-left-color: #fff;
  border-width: 15px;
  margin-top: -15px;
}
.arrow_box_r div.answer:before {
  border-color: rgba(167, 167, 167, 0);
  border-left-color: #a7a7a7;
  border-width: 16px;
  margin-top: -16px;
}

.arrow_box_l div.answer {
  position: relative;
  background: #fff;
  border: 1px solid #a7a7a7;
}
.arrow_box_l div.answer:after, .arrow_box_l div.answer:before {
  right: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.arrow_box_l div.answer:after {
  border-color: rgba(255, 255, 255, 0);
  border-right-color: #fff;
  border-width: 15px;
  margin-top: -15px;
}
.arrow_box_l div.answer:before {
  border-color: rgba(167, 167, 167, 0);
  border-right-color: #a7a7a7;
  border-width: 16px;
  margin-top: -16px;
}

/*voice*/
.voice #post p.date{
  border-left: 20px solid red;
}

.voice #post p.ttl{
  font-weight: bold;
  margin-bottom: 0.5em;
}

/*calender*/
.calendar_block{
    overflow:hidden;
    margin-bottom:30px;
}
.calendar_block > iframe{
  width:100%;
  height:701px;
  border:none;
  pointer-events:none;
  margin-top:-180px;
}
@media screen and (max-width:640px){
    .calendar_block > iframe{
        height:666px;
        margin-top:-165px;
    }
}

.ggmap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
   
.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pagination {
  font-size: 20px;
}

/*===============================================
画面の横幅が641px以上(PC tablet)
===============================================*/
@media screen and (min-width: 641px){


#wrapper{
    min-width: 1280px;

}

.sponly{
    display: none;
}

img{
max-width: 100%;
height: auto;
width /***/:auto;
}
#container{
width:100%;
position: relative;
}
/*～以下、画面の横幅が641px以上の場合のスタイル記入～*/

#page-top {
    position: fixed;
    bottom: 60px;
    right: 20px;
}

.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index:  100;
}


a:hover{
    opacity: 0.7;
    transition: 0.8s;
}

a{
    opacity: 1;
    transition: 0.4s;
}

.inner1280{
    width: 1280px;
    margin: 0 auto;
}

.inner1000{
    max-width: 1000px;
    margin: 0 auto;
}

.inner{
    max-width: 960px;
    margin: 0 auto;
}


.col2{width: 48%;}
.col2_50{width: 50%;}
.col3{width: calc(98% / 3);}
.col4{width: calc(98% / 4);}

#main .youtube_wrap{
  width: 60%;
  margin: 0 auto;
  padding: 40px 0;
}



/*header*/
/*-- fix header*/
#header_wrap.fixed #nav_area{
    width: 1000px;
}

#header_wrap.fixed{
  background-color:#fff;
}

#header_wrap.fixed h1,
#header_wrap.fixed #nav2{
  display: none;
}

#header_wrap.fixed #header.flex{
  align-items: center;
}

.hd_firstView #logo2{display: none;}
.fixed #logo1{display: none;}

.hd_firstView #hb_btn.pconly{
  display: none;
}


.pconly .drawer-hamburger-icon, .pconly .drawer-hamburger-icon:after, .pconly .drawer-hamburger-icon:before{
  background-color:#666;
}

.drawer-open .pconly .drawer-hamburger-icon{
  background-color: transparent;
}

.drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
    position: absolute;
    top: -15px;
    left: 0;
    content: ' ';
}

.drawer-hamburger-icon:after{
  top: 15px;
}

.pconly .drawer-hamburger{
    position: unset;
    z-index: 20000;
    top: 0;
    display: block;
    box-sizing: content-box;
    width: 45px;
    padding: 0 0 0 40px;
    -webkit-transition: all .6s cubic-bezier(.19,1,.22,1);
    transition: all .6s cubic-bezier(.19,1,.22,1);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    border: 0;
    outline: 0;
    background-color: transparent;
    margin: auto;
    height: 37px;
}

.pconly .drawer-hamburger-icon{
  margin-top:0;
}


.win .drawer-nav{
  width: 300px;
  color: #fff;
  z-index: 1000;
  height: calc(100% - 69px);
  margin-top: 69px;

}

.win .drawer-menu{
  padding: 0;

 }

.drawer-nav a{
  color: #fff;
  font-size: 16px;
  display: block;
  border-bottom:1px dotted #fff ;
  padding: 0.5em ;
}

/*slider*/
.slider_wrap{
  width: 600px;
  margin: 0 auto;
}

.slick-prev.slick-prev,
.slick-next.slick-next{
  top: 180px;
}

/*footer*/

#bn_area{
  padding: 0 45px;
  box-sizing: border-box;
  margin-top: 50px;
  margin-bottom: 30px;
}

/*home*/
.top #facebook{
  width: 440px;
  padding-right: 20px;
  box-sizing: border-box;
}

.top div.fb-page{
  min-height: 460px;
}


.top #info_area{
  width: calc(1000px - 460px);
  box-sizing: border-box;
}

.top #info_area dl.flex{
  justify-content: flex-start;
  align-items:  flex-start;
}

.top #sec3.flex{
 justify-content: flex-start;
 padding: 20px 0 40px;
}

/*rafting*/
.rafting #sec1_1,
.headline1 #sec1_1{
  width: calc(960px - 450px);
  box-sizing:border-box;
  padding-right: 20px;
}


.rafting #sec1_2{
  width: 450px;
}

p.last{
  /* position: absolute; */
  /* bottom: 0; */
}

/*recruit*/
#main div.arrow{
  background-image: url(../images/common/arrow.png);
  background-repeat: no-repeat;
  background-position: left 10px bottom;
}

#main div.arrow.noarrow{
  background-image: none;
}

#main div.arrow p{
  margin-bottom: 0.5rem;
}

#main div.arrow table p{
  margin-bottom: 0;
}

#main div.arrow > div{
  padding-left: 110px;
  padding-bottom: 30px;
}

#main div.arrow .col_left{
    width: calc(100% - 300px);
    padding-right: 4rem;
    box-sizing: border-box;
}

#main div.arrow .col_right{
    width: 300px;
}

/*download*/
.download .arrow .txt_c{
  margin-left: -120px;
}

/*special*/
.special #main dl.flex{
  justify-content: flex-start;
}

.special #main dt{
  width: 310px;
  font-weight: bold;
  margin-left: 100px;
}

.special #main dl.dl2 dt{
  width: 200px;
  font-weight: bold;
  margin-left: 100px;
}

/*guide*/
.guide_col{
  padding: 50px 0;
  background-image: url(../images/common/bg_border.png);
  background-repeat: no-repeat;
  background-position: center bottom;
}

.guide_col:last-child {
  background-image: none;
}

.guide_col.large .text_area{
  width: 600px;
}

.guide_col .ttl{
  margin-bottom: 1em;
}

.guide_col.small .img_area{
 max-width: 271px;
}

.guide_col.small .text_area{
 max-width: 188px;
}

.guide_suhara .guide_col.large .text_area{
  width: 500px;
}


/*top*/
.panel2 li{
  width: 50%;
  overflow: hidden;
}

.panel2 li img{
  width: 100%;
}


}/* __for pc*/




/*===============================================
画面の横幅が640pxまで(mobile)
===============================================*/
@media screen and (max-width:640px){
.pconly{
    display: none;
}

img{max-width: 100%;height: auto;width /***/:auto;}
#container{
width:100%;
padding-top: 0!important;
}
/*～以下、画面の横幅が640pxまでの場合のスタイル記入～*/



/*font*/
#container{
    font-size: 3.5vw;
}

#main p{
  font-size: 3.5vw;
}

.inner,
#footer #bn_area{
 width: 92vw;
 margin: 0 auto;
 box-sizing: border-box;
}


#main .ttl01{
  font-size: 4.2vw;
  line-height:1.5;
}

#main .ttl02{
  font-size: 18px;
  font-weight: bold;
  background-color: #666;
  text-align: center;
  color:#fff;
  padding: 2px 0;
}

#main .ttl03{
  font-size: 4.5vw;
  padding: 4vw 0 4vw;
}

#main .st01{
    text-align: left;
    font-size: 4.5vw;
    padding: 2vw;
}

#main .st02{
    background-color: #666666;
    color: #FFF;
    font-weight: bold;
    font-size: 18px;
    padding: 11px 20px;
}

#main .st03{
    color: #B81C22;
    font-weight: bold;
    font-size: 4vw;
    margin-bottom: 10px;
    margin-left: 4px;
}

#main .st03::before {
  position: relative;
  top: 1px;
  left: -4px;
  display: inline-block;
  width: 3.4vw;
  height: 3.4vw;
  content: '';
  border-radius: 0;
  background: #B81C22;
}

#main .st03 + div{
  padding-left: 1.5rem;
  padding-bottom: 20px;
  font-size: 16px;
}

#main .st03 + div p{
  font-size: 3.5vw;
}

#main .st04{
  color: #B81C22;
  font-weight: bold;
  border-top: 1px solid #B81C22;
  border-bottom: 1px solid #B81C22;
  padding: 0.5rem 0;
  margin: 2rem 0;
}

#main .st05{
    font-weight: bold;
    font-size: 6vw;
    margin-bottom: 10px;
    margin-left: 4px;
}

#main .st05::before {
  position: relative;
  top: 1px;
  left: -4px;
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  content: '';
  border-radius: 0;
  background: #B81C22;
  color: #B81C22;
}



#main .st06{
  font-size: 5vw;
  font-weight: bold;
  line-height: 1.5;
  padding: 0.5rem 0 0.5rem 1rem;
  margin-top: 20px;
}

#main .st06 span{
  font-size: 4vw;
}


#main .st07{
    font-size: 4vw;
    padding: 1vw 0;
}

#main .st08{
    font-size: 6vw;
    line-height: 1.1;
}

#main .st08 span{
    font-size: 4vw;
}

#main .st09{
    font-size: 17px;
    padding: 5px 0;
    text-align: center;
    margin-bottom: 15px;
}

#main .st10{
  border-left: 5px solid #000;
  font-size: 14px;
  line-height: 1.5;
  padding: 0.5rem 0 0.5rem 0.5rem;
  margin: 10px 0;
}

#main .st11,
#main .st15{
    font-size: 3.8vw;
    padding: 1vw;
    text-align: left;
    margin-bottom: 1vw;
}


#main .st12{
    font-size: 3.8vw;
    padding: 1vw;
    text-align:left;
}


#main .st17{
  background-color: #d6d6d6;
  display: inline-block;
  padding: 0.7rem 12vw;
  font-size: 5vw;
  border-radius: 2rem;
  margin: 0.5rem 0 0.8rem;
}




#main .ttl01{
  font-size: 20px;
  font-weight: bold;
  line-height:1.5;
}

#main .ttl02{
  font-size: 18px;
  font-weight: bold;
  background-color: #666;
  text-align: center;
  color:#fff;
  padding: 2px 0;
}

#main .ttl03{
  font-size: 26px;
  font-weight: bold;
  padding: 28px 0 12px;
}

#main .ttl04{
  font-size: 8vw;
  font-weight: bold;
  margin: 0.5em 0
}


#main .ttl05{
  font-size: 5vw;
  margin-bottom: 1em;

}




#main .f18b {
    font-size: 4.5vw;
    font-weight: bold;
}

#main .f20b {
    font-size: 4.7vw;
    font-weight: bold;
}

#main#main .f55b{
    font-size: 10vw;
    font-weight: bold;
    line-height: 1.2;
}

#main h3.st05.f28{
  font-size: 6vw;
  line-height: 1.2;
}

#main#main .f36b{
    font-size: 6vw;
    font-weight: bold;
    margin: 0.5em 0;
}

#main#main .f40b{
    font-size: 6vw;
    font-weight: bold;
    margin: 0.5em 0;
}

#main#main .f55b{
    font-size: 7vw;
    font-weight: bold;
    margin: 0.5em 0;
}



#main .lm01{
    font-weight: bold;
    font-size: 4vw;
    margin-bottom: 0;
    margin-left: 4px;
    margin-top: 10px;
    letter-spacing: -2px;
}

#main .lm01::before {
  position: relative;
  top: 1px;
  left: -4px;
  display: inline-block;
  width: 3.4vw;
  height: 3.4vw;
  content: '';
  border-radius: 0;
  background: #000;
}

#main .lm02{
    font-weight: bold;
    font-size: 4vw;
    margin-bottom: 0;
    margin-left: 4px;
    margin-top: 10px;
    letter-spacing: -1px;
}

#main .lm02::before {
  position: relative;
  top: 1px;
  left: -4px;
  display: inline-block;
  width: 3.4vw;
  height: 3.4vw;
  content: '';
  border-radius: 0;
  background: #000;
}


.col4, .panel4 div {
    width: calc(100% / 2);
    box-sizing: border-box;
    padding: 2vw;
}

.point > p:first-child{
  padding-left: 25vw;
  min-height: 25vw;
  padding-top: 3.5vw;
}

.point{
  background-size: 22vw;
}


/*header*/
#wrapper{
  position: relative;
}

/*footer*/
#bn_area{
  padding-bottom: 6vw;
}

#bn_area .flex{
  justify-content: center;
  margin: 6vw 0 0;

}

#bn_area .flex li{
  margin-bottom: 3vw;
}

/*フッターメニュースマホ用*/
#footer_menu {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height:70px;
  z-index:100;
  margin:0;
  padding:0;
  background-color:#FFF;
  overflow:hidden;
  display: flex;
  text-align: center;
  }
#footer_menu div{
  display: block;
  width: 25%;
  padding: 10px;
  background-color:#DB5D60;
  color:  #FFF;               /* 文字色 */
  /*font-size: 2.6vw;*/ 
  margin:  5px;              /* 外側の余白 */
  border-radius:  5px; 
  }
#footer_menu a{display: block;width: 100%;text-decoration: none;line-height:40px;}
#footer_menu a:link { color: #fff; }
#footer_menu a:visited { color: #fff; }
#footer_menu a:hover { color: #fff; }
#footer_menu a:active { color: #fff; }
  .linkend{
  padding:0;
  }
#pagetop{display:none;}
#footer_menu i{font-size: 2em;}

/*menu*/

#hb_btn {
  position: fixed;
  top: 4vw;
  right: 7vw;
z-index:999;
}

.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before{
  background-color:#000;
}
	
.drawer-menu a{
  color: #fff;
  font-size: 4.5vw;
  line-height: 3;
  padding: 0 1rem;
  display: block;
  box-sizing: border-box;
}

.drawer-menu li{
  border-top: 2px solid #fff;
}

.drawer-menu li:last-child{
  border-bottom: 2px solid #fff;
}


#main#main .f12,
#main#main .f12 li,
#main#main .f12 a{
    font-size: 3.5vw;
}

#main#main .f14,
#main#main .f14 li,
#main#main .f14 a{
    font-size: 3.8vw;
}

#main#main .f16,
#main#main .f16 li,
#main#main .f16 a{
    font-size: 4vw;
}

#main .f16b{
    font-size: 4.2vw;
    font-weight: bold;
}

#main#main .f18b{
    font-size: 4.4vw;
    font-weight: bold;
}

#main#main .f20b{
    font-size: 4.6vw;
    font-weight: bold;
}

#main#main .f22b{
    font-size: 4.8vw;
    font-weight: bold;
}
#main#main .f24b{
    font-size: 5vw;
    font-weight: bold;
}

#main#main .f26b{
    font-size: 5.2vw;
    font-weight: bold;
}

#main#main .f28b{
    font-size: 5.4vw;
    font-weight: bold;
}


h1{
    text-align: left;
    font-weight: bold;
    font-size: 3.5vw;
    line-height:1.5;
    padding: 2vw 2vw;
}
	
#header.flex,
#header2.flex{
    display: block;
    position: relative;
}

#logo_area{
  width: 40vw;
}

#nav_area{
  width: 100vw;
}

#nav_area .flex{
  justify-content: center;
}

#nav1 li{
  margin: 10px;
  margin-bottom: 4vw;
}

#nav1 li:nth-child(2n){
  margin: 10px;
  margin-bottom: 4vw;
}



#header .nav_sns,
#header2 .nav_sns{
  position: absolute;
  top: 5vw;
  right: 5vw;
}

#alart{
  padding: 2vw;
  box-sizing: border-box;
}

.marquee{
  font-size: 4vw;
}

#main#main div.para{
  padding-left: 0;
  font-size: 4vw;
}

/*home*/
.top #kv{
  padding-bottom: 8vw;

}

.top #sec1 li,
.top #sec2 li{
  margin-bottom: 4vw;
}

.top #sec1 li:last-child,
.top #sec2 li:last-child{
  margin-bottom: 0;
}


.top #sec3{
  padding: 3vw 0;
}

#facebook .flex.nav_sns {
    padding: 6vw 0;
    box-sizing: border-box;
    width: 88%;
    margin: 0 auto;
}

#facebook .flex.nav_sns li:nth-child(4){
  text-align: left;
  width: 50%;
}

#facebook .flex.nav_sns li:nth-child(4) img{
    width: 100%;

}

#facebook{
  width: 100%;
  text-align: center;
}


.top #info_area dt{
  height: 1em;
}

.top #sec4{
  margin: 4vw 0;
}


/*rafting*/
.rafting .plan_sec1 .flex{
  display: block;
}

.plan1 th, .plan1 td {
    font-size: 3vw;
    text-align: left;
    font-weight: bold;
    padding: 0.1rem 0;
    vertical-align: top;
}

.plan1 th{
  padding-right: 1.5rem;
}

.plan2{
  padding: 1rem 0;
  width: 100%;
}

.plan2 th,
.plan2 td{
  border: 1px solid #777;
  font-size: 14px;
  text-align: left;
  font-weight: bold;
  padding: 0.5rem;
}

.plan2 th{
  padding-right: 0.2rem;
  background-color:#cccccc;
  width: 30vw
}

.plan2 a{
   color:#036eb8;
   text-decoration: underline;
}

.map {
  position: relative;
  width: 100%;
  padding-top: 75%;
}
 
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}


.rafting #sec2_1 p.ttl01{
  padding: 4vw 0 0;
}

.course > .flex .col2:nth-child(1){
  border-right: none;
  border-bottom: 1px solid #000;
}

.course > .flex {
    margin-top: 4vw;
    margin-bottom: 4vw;
}

.course > .flex .col2{
  padding: 3vw 0;
}

/*item*/
.item .flex.item1,
.item .flex.item3{
  border-bottom: 1px solid #b2b2b2;
}

.item .flex.item1 div:nth-child(1){

}

.item .flex.item1 div:nth-child(2),
.item .flex.item3 div:nth-child(2){
  padding-top: 0;
  padding-bottom: 4vw;
}

.item .flex.item1 .col2
.item .flex.item2 .col2{
  width: 49%;
}
.item .flex.item3{
  padding-bottom: 4vw;
}

.item .flex.item3 img{
  width: 30vw;
}


.item .flex.item3 div:nth-child(1){
  padding-top: 4vw;
  padding-left: 0;
  box-sizing: border-box;
  padding-bottom: 4vw;

}

#main .col2,
#main .col2_50{
margin-bottom: 4vw
}

/*group*/
.group #sec2 li.col3.bd01{
  width: 100%;
  margin-bottom: 3vw;
}

/*outline*/

#main table.t06 th,
#main table.t06 td{
  border: none;
  padding: 0.5rem 0;
  text-align: left;
  font-size: 3.5vw;
  border-bottom: 1px solid #000;
  font-weight: bold;
}

#main table.t06 .last th,
#main table.t06 .last td{
border-bottom: none
}

#main table.t06 th{
  text-align: left;
  width: 70%;
  padding-left: 0;
  padding-right: 1rem;
}


.ev_no{
  padding: 3vw;
}


#main table.t04 th{
  width: 10vw;
}


#main table.t06 th{
  width: 60%;
}

/*booking*/
#main h3.st05.f26{
  font-size: 6vw;
  line-height: 1.2;
}


/*registration*/
.registration .require th:after{
  content:" ※";
  color: red;
}

.form1 table{
  width: 100%;
  font-size: 3.2vw;
}

.form1 table th,
.form1 table td{
  padding: 0.8em 0;
}

.form1 table th{
  width: 25%;
 padding-right: 1em;
 box-sizing: border-box;
 vertical-align: top;
}


.form1 table th.vt{
  vertical-align: top;
}


.form1 .area.short,
.form1 .area.long,
.form1 select{
  width: 90%;
  box-sizing: border-box;
}


.form1 textarea.area.long{
  height: 10em;
}


.form1 input[type=text],
.form1 input[type=date],
.form1 input[type=datetime],
.form1 input[type=number],
.form1 input[type=search],
.form1 input[type=time],
.form1 input[type=url],
.form1 input[type=email],
textarea,
select{
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    border: 1px solid #C2C2C2;
    box-shadow: 1px 1px 4px #EBEBEB;
    -moz-box-shadow: 1px 1px 4px #EBEBEB;
    -webkit-box-shadow: 1px 1px 4px #EBEBEB;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    padding: 7px;
    outline: none;
}
.form1 input[type=text]:focus,
.form1 input[type=date]:focus,
.form1 input[type=datetime]:focus,
.form1 input[type=number]:focus,
.form1 input[type=search]:focus,
.form1 input[type=time]:focus,
.form1 input[type=url]:focus,
.form1 input[type=email]:focus,
.form1 textarea:focus,
.form1 select:focus{
    border: 1px solid #0C0;
}

.form1 input[type=submit],
.form1 input[type=button]{
    border: none;
    padding: 8px 15px 8px 15px;
    background: #B81C22;
    color: #fff;
    box-shadow: 1px 1px 4px #DADADA;
    -moz-box-shadow: 1px 1px 4px #DADADA;
    -webkit-box-shadow: 1px 1px 4px #DADADA;
  width: 60vw;
    cursor: pointer;
    font-weight: bold;
}
.form1 input[type=submit]:hover,
.form1 input[type=button]:hover{
    background: #99171c;
    color: #fff;
}

#inquiry_privacy_policy textarea{
    /* width: 100%; */
    height: 15em;
    padding: 1em 3em;
    border: none;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    border-radius: 0;
    margin-bottom: 1em;
    font-size: 12px;
    color: #666666;
}

/*plans*/
table.spec,
table.spec th.th4{
  font-size: 3.5vw;
}

table.spec td{
  font-size: 5vw
}


/*guide*/
.guide_menu li{
  margin: 0 auto;
  padding-bottom: 5vw;
}

.guide_col{
  padding: 0;
}

.guide_col .ttl{
  margin-bottom: 0.5em;
}

.guide_col .text_area{
  margin-bottom: 1em;
}

.guide_col .img_area{
  border-bottom: 3px solid #000;
  margin-bottom: 1em;
}

.guide_col .img_area img{
  width: 100vw;
  margin-bottom: 6vw;
  box-sizing: border-box;
}

/*faq*/
#qa li{
  background-size: 17vw;
}



/*top panel*/
video{
  max-width: 100vw;
  min-width: 100vw;
    box-sizing: border-box;
}
.top #sec1 li a{
  background-size: 100vw;
box-sizing: border-box;
}

.top #sec1.panel2 .cover{
  z-index: 2;
  position:relative;
  width: 100vw;
  max-width:100vw;
  height:auto;
  box-sizing: border-box;
}

ul#list_more{
  max-width: 100vw;
}

div.more img{
  width: 90vw;
}

.top #sec4 .text img{
width: 70vw;

}

#ft_info{
  padding-top: 3vw;
  font-size: 3.5vw;
}

#ft_info .txt1{
  font-weight: bold;
  font-size: 3.5vw;
}

#ft_info .txt2{

}

#ft_info .txt3{
  background-color: #fff;
  display: inline-block;
  color: #B81C22;
  font-weight: bold;
  padding: 3px 1em;
  border-radius: 1em;
}

#ft_info .txt4{
  font-size: 6vw;
  font-weight: bold;
}

#ft_info .txt4 span{
  font-size: 3.5vw;
  font-weight: normal;
}
}/* __for mobile */


/* bargar */
.burger {
  height: 3em;
  width: 3em;
  position: relative;
  font-size: 12px;
  cursor: pointer;
  -webkit-transition: .2s all;
  -o-transition: .2s all;
  transition: .2s all; }
  .burger:after {
    content: '';
    display: block;
    position: absolute;
    height: 150%;
    width: 150%;
    top: -25%;
    left: -25%; }
  .burger .burger-lines {
    top: 50%;
    margin-top: -0.125em; }
    .burger .burger-lines, .burger .burger-lines:after, .burger .burger-lines:before {
      pointer-events: none;
      display: block;
      content: '';
      width: 100%;
      border-radius: 0.25em;
      background-color: white;
      height: 0.25em;
      position: absolute;
      -webkit-transform: rotate(0);
          -ms-transform: rotate(0);
              transform: rotate(0); }
    .burger .burger-lines .burger-lines:after {
      left: 0;
      top: -1em; }
    .burger .burger-lines .burger-lines:before {
      left: 1em;
      top: 1em; }
.burger {
  height: 3em;
  width: 3em;
  position: relative;
  font-size: 12px;
  cursor: pointer;
  -webkit-transition: .2s all;
  -o-transition: .2s all;
  transition: .2s all; }
  .burger:after {
    content: '';
    display: block;
    position: absolute;
    height: 150%;
    width: 150%;
    top: -25%;
    left: -25%; }
  .burger .burger-lines {
    top: 50%;
    margin-top: -0.125em; }
    .burger .burger-lines, .burger .burger-lines:after, .burger .burger-lines:before {
      pointer-events: none;
      display: block;
      content: '';
      width: 100%;
      border-radius: 0.25em;
      background-color: white;
      height: 0.25em;
      position: absolute;
      -webkit-transform: rotate(0);
          -ms-transform: rotate(0);
              transform: rotate(0); }
    .burger .burger-lines .burger-lines:after {
      left: 0;
      top: -1em; }
    .burger .burger-lines .burger-lines:before {
      left: 1em;
      top: 1em; }

.burger.burger-squeeze .burger-lines, .burger.burger-squeeze .burger-lines:after, .burger.burger-squeeze .burger-lines:before {
  -webkit-transition: .2s top .2s, .1s left, .2s transform, .4s background-color .2s;
  -o-transition: .2s top .2s, .1s left, .2s transform, .4s background-color .2s;
  transition: .2s top .2s, .1s left, .2s transform, .4s background-color .2s; }

.burger.burger-squeeze .burger-lines:after, .burger.burger-squeeze .burger-lines:before {
  width: 2em; }

.burger.burger-squeeze .burger-lines:after {
  left: 0;
  top: -1em; }

.burger.burger-squeeze .burger-lines:before {
  left: 1em;
  top: 1em; }

.burger.burger-squeeze.open .burger-lines, .burger.burger-squeeze.open .burger-lines:after, .burger.burger-squeeze.open .burger-lines:before {
  -webkit-transition: .2s background-color, .2s top, .2s left, .2s transform .15s;
  -o-transition: .2s background-color, .2s top, .2s left, .2s transform .15s;
  transition: .2s background-color, .2s top, .2s left, .2s transform .15s; }

.burger.burger-squeeze.open .burger-lines {
  background-color: transparent; }

.burger.burger-squeeze.open .burger-lines:before, .burger.burger-squeeze.open .burger-lines:after {
  left: 0.5em;
  top: 0px; }

.burger.burger-squeeze.open .burger-lines:before {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg); }

.burger.burger-squeeze.open .burger-lines:after {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg); }
/* 口コミ */
.staron{color:#E7711B;font-size:1.5rem;}
.staroff{color:#C5C5C5;font-size:1.5rem;}

.voice-row{
  border-bottom-color:rgb(141, 195, 223);
  border-bottom-style:solid;
  border-bottom-width:1px;
  margin-bottom:3px;
  padding:3px;
}
.sankama{
  background-color:rgb(4, 104, 51);
  border-bottom-left-radius:5px;
  border-bottom-right-radius:5px;
  border-top-left-radius:5px;
  border-top-right-radius:5px;
  box-sizing:border-box;
  color:rgb(255, 255, 255);
  display:inline-block;
  margin-bottom:5px;
  margin-right:10px;
  padding:5px 12px;
  text-align:center;
  text-size-adjust:100%;
}
.voice-r1{
  border-bottom-color:rgb(141, 195, 223);
  border-bottom-style:dashed;
  border-bottom-width:1px;
  display: flex;
  justify-content: space-between;
}
#more-button{
  display: block;
  text-decoration: none;
  background: #668ad8;/*ボタン色*/
  color: #FFF;
  border-bottom: solid 4px #627295;
  border-radius: 3px;
  font-size:1.3rem;
  padding:10px 20px;
  margin: 0 auto;
}
.voice-top{text-align:center;}
.voice-ken{
  font-size:1.3rem;
  color:rgb(0, 0, 170);
}
.voice-h h4{font-size:1.3rem;font-weight: bold;}
.kutiname{font-size:1.1rem;}



#main .youtube_wrap2{
display:flex;
  margin: 0 auto;
  padding: 40px 0 0;
}
.youtube2 {
  position: relative;
  width: 100%;
  padding-top: 36.5%;
  margin: 0 5px;
}
.youtube2 iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 75% !important;
  border: 0;
}
@media screen and (max-width: 640px)
{
#main .youtube_wrap2{flex-direction:column;}
.youtube2 {  padding-top: 75.4%;}
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

#sec35 .koe{
  width: 100%;}
