@charset "UTF-8";
@import url("grid.css");

img {
    max-width:100%;
    height: auto;/*高さ自動*/
}
a {
    display:block;
    color: #666;
    text-decoration-line: none;
}
.inline a {
    display: inline !important;
}
a:hover { 
    color: #999;
}
a img:hover {
    opacity: 0.8;
}
.underline {
    border-bottom: 3px solid #000;
    padding-bottom: 0.5rem;
}
.center {
    text-align: center;
}
.main_bg_color {
    background-color: #000;
}
.sub_bg_color {
    background-color: rgb(215, 232, 248);
}
.sec_bg_color {
    background-color: whitesmoke;
}
.indent_ul {
    margin-left: 30px;
    margin-right:30px;
}
.indent_com {
    margin-left:20px;
}

/*ヘッダー
-------------------------------------*/
.head {
    display: flex;
    flex-direction: row;
    padding: 1rem 0 0 0;
}
header h1 { 
    padding :0;
    margin:0;
}

nav ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    list-style: none;
    margin:22px 0 10px 0;
}
nav li {
    display: block;
    flex: 0 0 12%; 
    font-size: 90%;
}
nav li a {
    text-decoration: none;
    text-align: center;
    color: #333;
}
nav a:hover {
    text-decoration: underline;
}
nav a {
    padding: 0rem;
}
.gnav_area .col{
    margin-left: 0%;
}
.logo {
    padding:20px 100px 10px 100px;
}
#translation { 
    display:inline; 
}
.translate_box { 
    font-size: 0.5rem;
    text-align:left;
    margin-top:10px;
}

.news_time {
    text-align: right;
    color: #999;
}

/*トップ
-------------------------------------*/
.mainimg {
    position: relative;
    background-color:#000;
}
.slider {
    padding-bottom:8px;
}

.blogmsg {
	padding-top:20px;
	padding-bottom:10px;
}
.blogmsg table th {
	border: none;
}

.blogmsg a {
	display:inline;
}

.front_msg .msg {
    font-size:1.3em;
    font-family: serif;
    color: #666;
    text-shadow: 1px 2px 3px #fff;
    padding-top:50px;
}
.release {
    font-size:0.7em;
}
.news-body {
    margin-bottom:5px;
}
.cautionslist {
    padding-left:5px;
    text-align: left;
}
.cautionslist h6 {
    text-align: center;
}
#todays_info {
    position: absolute;
    bottom:0px;
    right: 30px;
}
#todays_info table {
    background-color:rgb(3, 3, 3,0.7);
    color: white;
    table-layout: auto !important;
}
#todays_info table th{
    padding:5px 15px 3px 15px;
    font-size: 0.8em;
    text-align: center;
    color: #b0b0b0;
}
#todays_info table td{
    padding:3px 15px 3px 15px;
    text-align: center;
    font-size: 1.5em;
    border-bottom: none;
}
#todays_info table span{
    font-size: 0.6em;
    border-bottom: none;
}
#todays_info table .day_area{
    padding-top:20px;
}
#todays_info .small_font {
    line-height: 2.3rem;
    font-size: 1.5rem;
}
#todays_info .comment {
    line-height: 2.3rem;
    font-size: 1.5rem;
    text-align: left;
}
#todays_info .underline {
    border-bottom: 1px solid #fff;
}
#todays_info .no_line {
    border-bottom: none;
}
#todays_info .t_col_width {
    width: 19%;
}
#todays_info .t_col_width2 {
    width: 24%;
}
#todays_info table.no_margin_b{
    margin-bottom:0px;
}
.update_time {
    float: right;
    font-size: 0.8em;
}
#todays_gelande table {
    border-collapse: collapse;
    border: 1px solid #E1E1E1;
}
#todays_gelande th {
    padding: 2px 5px 2px 5px;
    text-align: center;
    border: 1px solid #E1E1E1;
    font-size: 0.9em;
    background-color: whitesmoke;
  }
#todays_gelande td {
  padding: 5px 10px 5px 10px;
  text-align: left;
  border: 1px solid #E1E1E1;
}
#todays_gelande td:first-child {
  padding-left: 10px; 
}
#todays_gelande th:last-child,
#todays_gelande td:last-child {
  padding-right: 10px; }

#todays_gelande h6 {
    margin-bottom: 5px;
}
/*タブ切り替え全体のスタイル*/
.tabs {
    margin-top: 50px;
    padding-bottom: 40px;
    background-color: #fff;
    margin: 0 auto;
    border: solid 1px #565656;
}
  /*タブのスタイル*/
.tab_item {
    width: calc(100%/3);
    height: 50px;
    border-bottom: 1px solid #565656;
    border-left: 1px solid #565656;
    background-color: #d9d9d9;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #565656;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
  }
  .tab_item:hover {
    opacity: 0.75;
  }
  /*ラジオボタンを全て消す*/
  input[name="tab_item"] {
    display: none;
  }
  /*タブ切り替えの中身のスタイル*/
  .tab_content {
    display: none;
    padding: 40px 10px 40px 10px;
    clear: both;
    overflow: hidden;
  }
  /*選択されているタブのコンテンツのみを表示*/
  #course:checked ~ #course_content,
  #lift:checked ~ #lift_content,
  #factory:checked ~ #factory_content {
    display: block;
  }
  
  /*選択されているタブのスタイルを変える*/
  .tabs input:checked + .tab_item {
    background-color: #000;
    color: #fff;
  }
/*週間天気予報の幅変更
#wf-weatherfeed {
    width:100% !important;
}*/
#wf-link {
    width:100% !important;  
}

/* add201223*/
.banner-area th, .banner-area td {
    border-bottom: none;
}

/* 本日のゲレンデ情報：各テーブルセル幅設定 */
/*[コース]*/
.tp_gd_c_n_width {
    width:25%;
}
.tp_gd_c_l_width {
    width:25%;
}
.tp_gd_c_s_width {
    width:10%;
}
.tp_gd_c_i_width {
    width:40%;
}
/*[リフト]*/
.tp_gd_r_n_width {
    width:45%;
}
.tp_gd_r_s_width {
    width:10%;
}
.tp_gd_r_i_width {
    width:45%;
}
/*[施設]*/
.tp_gd_f_n_width {
    width:30%;
}
.tp_gd_r_i_width {
    width:70%;
}




/*　ページタイトル */
.title_wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);   
}
/* 中ページタイトル */
.page_title {
    text-shadow: 1px 2px 3px #000;
    color: #fff;
    padding:0;
    text-align:center;
}
/* テーブル用幅設定 */
table {
    table-layout: fixed;
    width: 100%;
}

/* スマホ用スタッフブログ　ad230110*/
.blogmsg table {
	table-layout:auto;
	font-size:100%;
	margin-bottom:0px;
}
.blogmsg table td{
	border:none;
}

.banner-area  table td{
	border:none;
}

/* リフト料金用幅 */
.rf_title_width {
    width:40%;
}
.rf_title_width_m {
    width:30%;
}
.rf_title_width_s {
    width:15%;
}
/* スキー場利用規約　*/
.servicelist {
    font-size:80%;
}
/* コロナ対策 */
.coronalist {
    font-size:90%;
}
/* レンタル料金表用幅 */
.rt_title_width {
    width:28%;
}
.rt_title_width_s {
    width:12%;
}
/* ゲレンデ 滑走〜最大傾斜 文字サイズ */
.gd_font_s {
    font-size:0.7em;
}
/* 注意事項 */
.b_caution {
    background-color: orangered;
    padding:2px 10px 2px 10px;
    margin-left:10px;
}
/* ゲレンデ　基本情報表用幅 */
.gd_s_title_width {
    width:40%;
}
/* ゲレンデ　リフト営業時間表用幅 */
.gd_r_title_width {
    width:50%;
}
.coution_area_m {
    margin:0px 20px 0px 20px;
    padding:3px 3px 3px 3px;
    font-size: 85%;
}
/* イベント　開催日 */
.event_day {
    font-size:80%;
    color: #565656;
    text-align: right;
}
/* スクール料金用幅 */
.sh_c_width {
    width:20%;
}
.sh_p_width {
    width:25%;
}
.sh_t_width {
    width:50%;
}
/* ニュースリリース用（トップ内一覧・一覧画面共通） */
#pg-news .newsLists {
    margin-bottom:20px;
}
#pg-news .newsLists .news-link {
    display: block;
}
#pg-news .newsLists .news-link:hover .title {
    text-decoration: underline;
}
#pg-news .newsLists .news-body {
    padding: 5px 10px 5px 10px;
} 
#pg-news .newsLists .news-body .release {
    font-size: 1.3rem;
    color: #787878;
}
#pg-news .newsLists .news-body .title {
    margin: 0 10px 0 10px;
}
/* ニュースリリース一覧用：ページャー設定 */
#pg-news .pager {
    margin: 6.5% auto 0;
}
#pg-news .pager ul {
    list-style: none ;
    display: flex;
}
#pg-news .pager li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 6.5px;
    width: 36px;
    height: 36px;
    text-align: center;
    border: 1px solid #d0d0d0;
    position: relative;
    line-height: 36px;
}
#pg-news .pager li.current {
    text-align: center;
    border: 1px solid #999;
    background-color: #999;
    vertical-align: bottom;
}
#pg-news .pager li.current a {
    color: #787878;
}
#pg-news .pager li.ellipsis {
    width: 14px;
    border: none;
}
#pg-news .pager li.ellipsis span {
    display: block;
    width: inherit;
    height: inherit;
    background-size: contain;
}
#pg-news .pager li a {
    width: 100%;
    height: 100%;
    font-size: 1.4rem;
    line-height: 36px;
}
#pg-news .pager li.head {
    padding: 0px;
}
/* ニュース詳細  */
#pg-newsDetail .news .news-body {
    margin-top: 2.5%;
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 4%;
    border-bottom: 1px solid #d0d0d0;
}
#pg-newsDetail .news .news-body p {
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.15em;
}
#pg-newsDetail .news .news-body p + p {
    margin-top: 3%;
}
/* ニュース詳細ページャー */
#pg-newsDetail .more-news {
    margin-top: 1.5%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
}
#pg-newsDetail .more-news .prev .another-link, #pg-newsDetail .more-news .next .another-link {
    font-size: 1.4rem;
}
/*prev*/
#pg-newsDetail .more-news .prev .another-link {
    position: absolute;
    top: 8px;
    right: 0;
    width: 62px;
    height: 80%;
    text-align: right;
    background-repeat: no-repeat;
    background-size: contain;
}
#pg-newsDetail .more-news .prev .another-link:hover {
    color:black;
}
/*next*/
#pg-newsDetail .more-news .next .another-link {
    position: absolute;
    top: 8px;
    left: 0;
    width: 62px;
    height: 80%;
    background-repeat: no-repeat;
    background-size: contain;
}
#pg-newsDetail .more-news .next .another-link:hover {
    color:black;
}
/* 各種割引・クーポン*/
#pg-ticket_coupon h5.catch {
    text-align: center;
    color: #565656;
    background-color:#d9d9d9;
}
#pg-ticket_coupon ul {
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
    list-style: none;
    margin:20px 0 20px 0;
}
#pg-ticket_coupon li {
    width: 32%;
}
.seeDetail {
    text-align: center;
    font-size: 80%;
    margin-bottom: 50px;
}
.infomation {
    background-color:white;
    padding:5px 10px 5px 10px;
    font-size: 90%;
}

/* コンタクトフォーム*/
.form-msg {
	width:80%;
    margin: 2% auto 5%;    
}
.form-msg a {
    display: inline;
}
#pg-contact {
    text-align: center;
}
#pg-contact .form-inner {
    margin: 8% auto 5%;
    width: 75%;
}
#pg-contact .form-inner .contact-form input {
    margin: auto;
}
#pg-contact .form-inner .contact-form .input-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    text-align: left;
}
#pg-contact .form-inner .contact-form .input-box:not(:first-child) {
    margin-top: 6.7%;
}
#pg-contact .form-inner .contact-form .input-box .label-area {
    padding: 26px 0;
    font-size: 1.2rem;
}
#pg-contact .form-inner .contact-form .input-box .input-area label{
	display: block;
    color: #fff;	
    line-height: 0rem;
}
#pg-contact .form-inner .contact-form .input-box .input-area {
    color: #000;
    position: relative;
}
#pg-contact .form-inner .contact-form .input-box .input-area input {
	width: 100%;
    padding: 9px 12px;
    font-size: 1.6rem;
    /*color: #d0d0d0;*/
    border: 1px solid #d0d0d0;
}
#pg-contact .form-inner .contact-form .input-box .input-area textarea {
	width: 150%;
    resize: none;
    padding: 9px 12px;
    height: 243px;
    font-size: 1.6rem;
    color: #fff;
    border: 1px solid #d0d0d0;
}
#pg-contact .form-inner .contact-form .input-box .input-area input:focus, #pg-contact .form-inner .contact-form .input-box .input-area textarea:focus {
    outline: none;
    color: #343434;
    border: 1px solid #127dd6;
    box-shadow: 0 0 1px 0 rgba(18, 125, 214, 0.45);
}
#pg-contact .form-inner .contact-form .input-box .input-area .input-error {
    display: none;
    position: absolute;
    bottom: -30px;
    left: 0;
    color: #c00;
}
#pg-contact .form-inner .contact-form .input-box .input-area .input-error.wpcf7-not-valid-tip {
    display: block;
}
#pg-contact .form-inner .contact-form .action-box {
    margin-top: 7%;
}
#pg-contact .form-inner .note {
    margin-top: 4%;
}
#pg-contact .form-inner .note small {
    font-size: 1.4rem;
    line-height: 2.4;
    letter-spacing: 0.2em;
}


/*　ーーーーーーーーー　PC表示設定　ーーーーーーーーーーー　*/
@media screen and (min-width: 768px){
/* MENUボタンを非表示 */
#open,#close {
    display: none !important;
}
#navi {
    display: block !important;
}
.hidden_pc {
    display: none !important;
}

}
/*　ーーーーーーーーー　スマホ表示設定　ーーーーーーーーーーー　*/
@media screen and (max-width: 768px){
.head {
    flex-direction: column;
    text-align: left;
    margin-bottom: 20px;
}
.telbox {
    margin-left: 0;
    text-align: center;
}
.head #open,#close  {
    position: absolute;
    top: 28px;
    right: 12px;
    }
nav ul {
    flex-direction: column;
}
nav li {
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
}
.weblink ul {
    flex-direction: column;
}
.weblink li {
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.page_title  {
    margin-top: 10px;
    font-size: 2.0rem;
}

/* MENUボタンを表示 */
#open,#close  {
    display: block;
    width: 50px;
    border: none;
    position: absolute;
    top: 20px;
    right: 12px;
}

/*　スマホ非表示 */
.hidden_phone {
    display: none !important;
}

/* テーブルの文字サイズを変更 */
table {
    font-size: 70%;
}

/* google翻訳の表示位置微調整 */
.translate_box { 
    margin-top: 0px;
    margin-bottom: 10px;
    text-align: center;
}
/* メニューを非表示にする */
#navi {
    display: none;
}
#translation {
    display: none;    
}

/* 本日の情報欄の表示位置をメイン画像の直下に変更 */
#todays_info {
    position: unset;
    width:100%;
}
#todays_info table {
    /*margin: auto;*/
    font-size: 90%;
    margin-bottom: 0;
}
#todays_info table td{
    font-size: 1.2em;
}
#todays_info table span{
    font-size: 0.6em;
}
/*[施設]*/
.tp_gd_f_n_width {
    width:45%;
}
.tp_gd_r_i_width {
    width:55%;
}

.snow_forcast {
	overflow-x:auto;
	width:100%;
}

/* メッセージ欄の微調整 */
.front_msg .msg {
    font-size:1.2em;
    padding:10px 0 0 0;
}

/*コンタクトフォーム*/
#pg-contact .form-inner .contact-form .input-box .input-area textarea {
	width: 100%;
}


/* ゲレンデ 滑走〜最大傾斜 文字サイズ */
.gd_font_s {
    font-size:0.8em;
}

/* チケット・クーポン一覧*/
#pg-ticket_coupon li {
    width: 47%;
}
#pg-ticket_coupon h5.catch {
    font-size: 90%;
}
}

/*メイン画像
-------------------------------------*/
.mainimg img {
    width: 100%;
}

/*メインコンテンツ
-------------------------------------*/
main {
    margin: 0rem 0 0rem 0;
}

/*キャッチタイトル
-------------------------------------*/
h2.catch {
    text-align: center;
    /* color: #666; */
    font-size: 3.0rem;
    margin-bottom: 3rem;
}

/*フッター
-------------------------------------*/
footer {
    padding: 3rem 0;
    color: #ccc;
}
footer h5 {
    border-bottom: 1px solid #ccc;
}

footer .f-navi ul {
    font-size:1.3rem;
    vertical-align: bottom;
}
footer .f-navi ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    list-style: none;
    margin-bottom: 0rem;
}
footer .f-navi li {
    display: block;
    margin-bottom: 0rem;
/*    flex: 0 0 15%; */
}
footer .f-navi li a {
    text-decoration: none;
    text-align: center;
    color: #ccc;
}
footer .f-navi a:hover {
    text-decoration: underline;
}
footer .f-navi a {
    padding: 1rem;
}
footer h5 {
    text-align: center;
}

footer button {
    color: #ccc;
}

.snslink {
    display: flex;
}

.snslink li {
    background-size: contain !important;
    width: 30px;
    margin-right: 30px;
}

.snslink li a {
    width: 50px;
    height: 50px;
}

.snslink li:last-child {
    margin-right: 0px;
}


.weblink {
    margin-top: 20px;
    margin-bottom: 20px;
}

.weblink img {
    width:120px;
}

.weblink li {
    margin-right: 5px;
}

.weblink li:last-child {
    margin-right: 0px;
}

address {
    font-style: normal;
}


/*コピーライト
-------------------------------------*/
.copyright {
    font-size: 1.2rem;
    text-align: center;
    padding: 0.5rem 0;
    background-color: #fff;
    margin:0;
}
.copyright a {
    color: #000;
    text-decoration: none;
    display: inline-block;
}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    /*bottom: 15px;*/
    bottom: 75px; /*add201223*/
    right: 15px;
}
#pagetop a {
    display: block;
    background: #666;
    color: #fff;
    width: 50px;
    padding: 10px 5px;
    text-align: center;
}
#pagetop a:hover {
    background: #999;
}