@charset "UTF-8";
/*-------------------------------------
リセット
-------------------------------------*/
/*! sanitize.css v3.3.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */
/* Normalization */
abbr[title] { text-decoration: underline; text-decoration: underline dotted; }

audio:not([controls]) { display: none; }

b, strong { font-weight: bolder; }

button { -webkit-appearance: button; overflow: visible; }

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
button:-moz-focusring, input:-moz-focusring { outline: 1px dotted ButtonText; }

button, select { text-transform: none; }

details { display: block; }

hr { overflow: visible; }

html { -ms-overflow-style: -ms-autohiding-scrollbar; overflow-y: scroll; -webkit-text-size-adjust: 100%; }

input { -webkit-border-radius: 0; }
input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; }
input[type="number"] { width: auto; }
input[type="search"] { -webkit-appearance: textfield; }
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

main { display: block; }

pre { overflow: auto; }

progress { display: inline-block; }

summary { display: block; }

svg:not(:root) { overflow: hidden; }

template { display: none; }

textarea { overflow: auto; }

[hidden] { display: none; }

/* Universal inheritance */
*, ::before, ::after { box-sizing: inherit; }

* { font-size: inherit; line-height: inherit; }

::before, ::after { text-decoration: inherit; vertical-align: inherit; }

button, input, select, textarea { font-family: inherit; font-style: inherit; font-weight: inherit; }

/* Opinionated defaults */
* { margin: 0; padding: 0; }

*, ::before, ::after { border-style: solid; border-width: 0; }

a, area, button, input, label, select, textarea, [tabindex] { touch-action: manipulation; }

select { -moz-appearance: none; -webkit-appearance: none; }
select::-ms-expand { display: none; }
select::-ms-value { color: currentColor; }

svg { fill: currentColor; }

[aria-busy="true"] { cursor: progress; }

[aria-controls] { cursor: pointer; }

[aria-disabled] { cursor: default; }

[hidden][aria-hidden="false"] { clip: rect(0 0 0 0); display: inherit; position: absolute; }
[hidden][aria-hidden="false"]:focus { clip: auto; }

/* Configurable defaults */
* { background-repeat: no-repeat; }

:root { background-color: #ffffff; box-sizing: border-box; color: #000000; cursor: default; font: 100%/1.5 sans-serif; }

a { text-decoration: none; }

audio, canvas, iframe, img, svg, video { vertical-align: middle; }

button, input, select, textarea { background-color: transparent; color: inherit; }

button, [type="button"], [type="date"], [type="datetime"], [type="datetime-local"], [type="email"], [type="month"], [type="number"], [type="password"], [type="reset"], [type="search"], [type="submit"], [type="tel"], [type="text"], [type="time"], [type="url"], [type="week"], select, textarea { min-height: 1.5em; }

code, kbd, pre, samp { font-family: monospace, monospace; }

nav ol, nav ul { list-style: none; }

small { font-size: 75%; }

table { border-collapse: collapse; border-spacing: 0; }

textarea { resize: vertical; }

::-moz-selection { background-color: #b3d4fc; color: #ffffff; text-shadow: none; }

::selection { background-color: #b3d4fc; color: #ffffff; text-shadow: none; }

/*====================================================================================
初期化の設定
====================================================================================*/
/* テキスト */
html, body, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, dt, dd, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure { color: #000; line-height: 140%; letter-spacing: 0; font-size: 14px; font-weight: normal; font-family: 'ヒラギノ角ゴ ProN W3', 'HiraKakuProN-W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif; }

/*テキストボックス変換時のカラー調整[mac/chrome用]*/
::-moz-selection { color: #174a95; }

::selection { color: #174a95; }

/* リンク */
a { color: #000; }

a:hover { color: #000; }

a:visited { color: #000; }

/* リスト */
li { list-style-type: none; list-style-position: inside; }

/* テーブル */
table { width: 100%; table-layout: fixed; }

/* フォームの設定
------------------------------------------*/
/* 全体の初期化 - - - - - - - - - - - - - - */
input, select, textarea { appearance: none; -moz-appearance: none; -webkit-appearance: none; -ms-appearance: none; -o-appearance: none; }

/* 個別の初期化 - - - - - - - - - - - - - - */
/* テキストフィールドの設定 */
input[type="text"], input[type="email"] { color: #174a95; width: 100%; height: 32px; background: #ffffff; border: 1px solid #6699cc; padding-left: 5px; padding-right: 5px; box-shadow: none; }

/*====================================================================================
個別のスタイル
====================================================================================*/
/*------------------------------------------
タイトルの設定
------------------------------------------*/
/* 見出し
------------------------------------------*/
/* タイトルの設定：01 */
.tit-01 { color: #fff; font-size: 16px; font-weight: bold; line-height: 1em; padding: 6px 10px; background: #6699cc; position: relative; }

/*雪マークアイコン*/
.icon-tit { padding-left: 38px; }
.icon-tit:before { content: ""; display: block; width: 28px; height: 28.5px; width: 28px; height: 28.5px; background-image: url("../img/icon_tit.svg"); background-size: 28px 28.5px; background-repeat: no-repeat; position: absolute; top: 50%; left: 10px; margin-top: -14px; }

/*右ボーダー付き*/
.tit-02 { color: #fff; font-size: 18px; font-weight: bold; line-height: 1em; padding: 4px 10px; background: #174a95; border-left: 2px solid #bcd4f2; box-sizing: border-box; }

/*右ボーダー色違い*/
.tit-02.type-02 { border-left: 2px solid #3399ff; }

/* 最近のリポート/見出し */
.tit-03 { font-size: 120%; font-weight: bold; }

.tit-04 { font-size: 18px; text-align: center; font-weight: bold; padding: 10px 0; background: rgba(255, 255, 255, 0.7); }

/* 検索ページ/見出し */
.tit-05 { color: #174a95; font-size: 16px; font-weight: bold; line-height: 1em; background: #9ec0ea; padding: 12px 14px; }
.tit-05.mb0 { margin-bottom: 0; }
.tit-05 img { vertical-align: middle; margin-right: 5px; }

.tit-06 { font-size: 120%; font-weight: bold; border-bottom: 1px solid #CACACA; padding-bottom: 5px; margin-bottom: 5px; }

/*背景色なし*/
.tit-07 { font-size: 120%; font-weight: bold; padding-top: 5px; padding-bottom: 5px; }

/*------------------------------------------
テキストの設定
------------------------------------------*/
/*テキスト中央寄せ*/
.center { text-align: center; }

/* 注意書き */
.notice-01 { color: #000; opacity: 0.5; }

/* もっと見る */
.more-left a, .more-right a { font-weight: bold; position: relative; }
.more-left .arrow04:before, .more-right .arrow04:before { top: 0; left: -20px; margin: 0; }
.more-left .arrow04:after, .more-right .arrow04:after { top: 5px; left: -17px; margin: 0; }

.more-left { text-align: left; padding-left: 20px; }

.more-right { text-align: right; }

/* はみ出たらテキストを消すよ */
.text-overflow, .list-01 li a, .list-02 li a, .list-06 a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -webkit-text-overflow: ellipsis; }

/* 白背景box */
.txt-box-01 { padding: 5px; background: #fff; border: 1px solid #174a95; }

/*------------------------------------------
リストの設定
------------------------------------------*/
/* ランキングの設定 */
.list-01 { background: #fff; }
.list-01 li { border-bottom: 1px solid #174a95; }
.list-01 li a { display: block; position: relative; padding: 10px; }
.list-01 li a span { display: inline-block; width: 26px; height: 26px; color: #fff; font-weight: bold; text-align: center; background-color: #3399ff; border-radius: 18px; position: relative; padding-top: 5px; margin-right: 5px; }
.list-01 li:nth-child(1) a span { width: 24px; height: 25px; background-image: url("../img/icon_star01.svg"); background-size: 24px 25px; background-repeat: no-repeat; background-color: transparent; }
.list-01 li:nth-child(2) a span { width: 24px; height: 25px; background-image: url("../img/icon_star02.svg"); background-size: 24px 25px; background-repeat: no-repeat; background-color: transparent; }
.list-01 li:nth-child(3) a span { width: 24px; height: 25px; background-image: url("../img/icon_star03.svg"); background-size: 24px 25px; background-repeat: no-repeat; background-color: transparent; }

.list-02 li { width: 100%; position: relative; background: #fff; text-align: left; }
.list-02 li:not(:last-child) { border-bottom: 1px solid #6699cc; }
.list-02 li a { display: block; width: 100%; font-size: 15px; color: #000; font-weight: bold; padding: 13px 35px 12px 14px; }
.list-02 li label { display: block; width: 100%; font-size: 15px; color: #000; font-weight: bold; padding: 13px 14px; position: relative; }
.list-02 li.checked input ~ label:after { content: ""; display: block; width: 12px; height: 22px; border: 6px solid #3399ff; border-left: none; border-top: none; transform: rotate(50deg); -moz-transform: rotate(50deg); -webkit-transform: rotate(50deg); -ms-transform: rotate(50deg); -o-transform: rotate(50deg); position: absolute; top: 50%; right: 30px; margin-top: -16px; }
.list-02.icon-list li a { padding-top: 7px; padding-bottom: 7px; }
.list-02.icon-list li img { width: 36px; height: 36px; display: inline; }

.list-03 li { list-style-type: none; line-height: 1.2em; border-bottom: 1px solid #174a95; padding-left: 1.5em; padding-right: 50px; padding-bottom: 0.5em; margin-bottom: 0.5em; position: relative; }
.list-03 .btn-04 { position: absolute; right: 10px; top: 50%; margin-top: -13px; }

.list-04 { padding: 10px; background: #ffffff; }
.list-04 li a { display: table; width: 100%; padding-top: 8px; padding-bottom: 8px; border-bottom: 1px solid #174a95; position: relative; }
.list-04 li a > * { display: table-cell; }
.list-04 li a figure { width: 95px; }
.list-04 li a figure img { width: 100%; }
.list-04 li a > span { vertical-align: top; padding-left: 10px; padding-right: 20px; }
.list-04 li a > span > img { width: 50px; }
.list-04 li a > span .reporter-name { font-size: 14px; font-weight: bold; }
.list-04 li a > span span { display: block; font-size: 12px; font-weight: normal; }
.list-04 li a .day { color: #999; font-size: 12px; font-weight: normal; position: absolute; right: 0; bottom: 0; }

.list-05 { background: #3399ff; padding-top: 10px; padding-bottom: 10px; padding-left: 15px; padding-right: 15px; }
.list-05 li { color: #fff; font-weight: bold; position: relative; vertical-align: middle; padding-left: 1em; text-indent: -1.6em; }
.list-05 li:not(:last-child) { margin-bottom: 0.5em; }
.list-05 li:before { content: ""; display: inline-block; width: 17.5px; height: 18px; background-image: url("../img/icon_snow.svg"); background-size: 17.5px 18px; background-repeat: no-repeat; margin-right: 5px; }

.list-06 { background: #fff; }
.list-06 li { font-weight: bold; }
.list-06 li:not(:last-child) { border-bottom: 1px solid #6699cc; }
.list-06 a { width: 100%; display: block; padding: 10px 18px 10px 60px; position: relative; }
.list-06 a:before { content: ""; display: block; position: absolute; width: 40px; height: 40px; background: url(../img/icon_tit.svg) no-repeat; background-size: 40px 40px; position: absolute; left: 10px; top: 50%; margin-top: -20px; }
.list-06 span { color: #6699cc; font-size: 12px; display: block; }

.list-07 > li { list-style-type: decimal; font-weight: bold; margin-top: 1em; }
.list-07 > li ol { margin-top: 5px; }
.list-07 > li li { padding-left: 1em; }
.list-07 > li li:not(:last-child) { margin-bottom: 3px; }
.list-07 > li li:before { content: "・"; display: inline; }
.list-07 > li li span { display: block; padding-left: 1em; }

/*------------------------------------------
アローの設定
------------------------------------------*/
.arrow03 { position: relative; }
.arrow03:after { content: ""; display: block; width: 0px; height: 0px; border: 7px solid  transparent; border-right-color: #6699cc; border-left-width: 8px; border-top-width: 8px; transform: rotate(180deg); -moz-transform: rotate(180deg); -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); position: absolute; right: 3px; top: 50%; margin-top: -6px; }

.arrow04 { position: relative; }
.arrow04:before, .arrow04:after { content: ""; display: block; position: absolute; }
.arrow04:before { width: 16px; height: 16px; background: #174a95; border-radius: 10px; top: 50%; left: 0; margin-top: -8px; margin-left: -24px; }
.arrow04:after { width: 0; height: 0; border: 3px solid transparent; border-left-color: #fff; border-bottom-color: #fff; transform: rotate(-135deg); -moz-transform: rotate(-135deg); -webkit-transform: rotate(-135deg); -ms-transform: rotate(-135deg); -o-transform: rotate(-135deg); top: 50%; left: 0; margin-top: -3px; margin-left: -21px; }

/*------------------------------------------
ボタンの設定
------------------------------------------*/
/* 共通の設定 */
.btn-02, .btn-03 { width: 300px; margin-left: auto; margin-right: auto; }
.btn-02 .arrow03:after, .btn-03 .arrow03:after { border-right-color: #fff; }

/* ボタンの設定
------------------------------------------*/
.btn-01 { display: inline-block; background: #3399ff; border-radius: 2px; }
.btn-01 a { padding: 6px 12px; display: block; color: #fff; font-size: 16px; font-weight: bold; line-height: 1em; position: relative; }
.btn-01 a:after { content: ""; display: inline-block; width: 10px; height: 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); -moz-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); }

.btn-02 { display: block; cursor: pointer; color: #fff; font-size: 16px; font-weight: bold; text-align: center; line-height: 1em; background: #3399ff; border-radius: 8px; }
.btn-02 a { padding: 14px 0 15px; color: #fff; display: block; }

.btn-03 { display: block; cursor: pointer; color: #fff; font-size: 16px; font-weight: bold; text-align: center; line-height: 1em; background: #174a95; border-radius: 8px; }
.btn-03 a { padding: 14px 0 15px; color: #fff; display: block; }

/* 削除ボタン
------------------------------------------*/
span.btn-04 a { display: inline-block; color: #fff; font-size: 80%; font-weight: bold; line-height: 1em; padding: 3px; border-radius: 5px; background-color: #3399ff; }

/* お気に入りボタン
------------------------------------------*/
.btn-05 { width: 100%; background: #3399ff; border-radius: 10px; border: 2px solid #fff; }
.btn-05 a { display: block; color: #fff; font-weight: bold; line-height: 1em; padding: 10px; border-radius: 5px; position: relative; }
.btn-05 a:after { content: ""; width: 10px; height: 10px; border-bottom: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(-45deg); -moz-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); position: absolute; right: 10px; top: 50%; margin-top: -5px; }

/* リポートを送るボタン
------------------------------------------*/
.btn-report a { font-size: 90%; vertical-align: middle; padding: 6px; }
.btn-report a:before { content: ""; width: 19px; height: 14.5px; background-image: url("../img/icon_camera_w.svg"); background-size: 19px 14.5px; background-repeat: no-repeat; display: inline-block; margin-right: 3px; margin-top: -3px; }

/* お気に入りボタン
------------------------------------------*/
.btn-fav, .btn-fav a, .btn-fav a:visited { color: #fff; font-weight: bold; }
.btn-fav { background: #FFB320; width: 170px; border-radius: 6px; border: 2px solid #fff; position: relative; overflow: hidden; }
.btn-fav a { display: block; padding: 5px; padding-left: 40px; position: relative; }
.btn-fav a:before { content: ""; display: block; width: 24px; height: 22px; background: url(../img/icon_star.svg) no-repeat; background-size: 24px 22px; position: absolute; left: 10px; top: 50%; margin-top: -11px; }
.btn-fav.act { opacity: 1; }
.btn-fav.act:before { content: ""; display: block; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.3); position: absolute; left: 0; top: 0; z-index: 2; }

/* 戻るボタン
------------------------------------------*/
#head-back { position: absolute; top: 50%; left: 10px; margin-top: -13px; z-index: 999; }
#head-back a { display: block; width: 60px; color: #0c3261; font-size: 11px; font-weight: bold; line-height: 1em; text-align: right; padding: 6px 8px; background: #fff; border-radius: 20px; box-sizing: border-box; position: relative; }
#head-back a:before { content: ""; display: inline-block; width: 17px; height: 17px; background: #6699cc; border-radius: 15px; position: absolute; left: 5px; top: 50%; margin-top: -8.5px; }
#head-back a:after { content: ""; display: inline-block; width: 7px; height: 7px; border: 1px solid #fff; border-top-color: transparent; border-left-color: transparent; transform: rotate(135deg); -moz-transform: rotate(135deg); -webkit-transform: rotate(135deg); -ms-transform: rotate(135deg); -o-transform: rotate(135deg); position: absolute; left: 12px; top: 50%; margin-top: -3.5px; }

/* COMING SOON
------------------------------------------*/
.private { position: relative; z-index: 99; }
.private:before { content: ""; width: 100%; height: 100%; display: block; background: rgba(0, 0, 0, 0.4); position: absolute; top: 0; left: 0; z-index: 99; }
.private:after { content: "COMING SOON"; text-align: center; color: rgba(255, 255, 255, 0.8); font-size: 100%; font-weight: bold; transform: rotate(5deg); -moz-transform: rotate(5deg); -webkit-transform: rotate(5deg); -ms-transform: rotate(5deg); -o-transform: rotate(5deg); position: absolute; top: 50%; left: 50%; margin-top: -10px; margin-left: -57px; z-index: 99; }

.list-banner .private:before { border-radius: 10px; }

/* 横並びボタン（正方形の設定）
------------------------------------------*/
/*3つの場合*/
.btn-list-01 { width: 270px; font-size: 0; margin-left: auto; margin-right: auto; }
.btn-list-01 li { display: inline-block; }
.btn-list-01 li a { display: block; width: 80px; height: 80px; color: #3399ff; font-size: 80%; font-weight: bold; line-height: 1em; text-align: center; padding-top: 54px; background: #fff; border-radius: 6px; border: 2px solid #3399ff; box-sizing: border-box; position: relative; }
.btn-list-01 li a:before { content: ""; display: block; position: absolute; top: 8px; left: 50%; }
.btn-list-01 li .area:before { width: 56px; height: 52.5px; background-image: url("../img/icon_area.svg"); background-size: 56px 52.5px; background-repeat: no-repeat; text-indent: 110%; white-space: nowrap; overflow: hidden; display: block; top: 4px; margin-left: -26px; }
.btn-list-01 li .place:before { width: 52.5px; height: 34px; background-image: url("../img/icon_name.svg"); background-size: 52.5px 34px; background-repeat: no-repeat; text-indent: 110%; white-space: nowrap; overflow: hidden; display: block; margin-left: -26px; }
.btn-list-01 li .calendar:before { width: 38px; height: 44px; background-image: url("../img/icon_situation.svg"); background-size: 38px 44px; background-repeat: no-repeat; text-indent: 110%; white-space: nowrap; overflow: hidden; display: block; margin-left: -19px; }
.btn-list-01 li .purp:before { width: 37px; height: 38px; background-image: url("../img/icon_purp.svg"); background-size: 37px 38px; background-repeat: no-repeat; text-indent: 110%; white-space: nowrap; overflow: hidden; display: block; top: 12px; margin-left: -17px; }
.btn-list-01 li:not(:last-child) { margin-right: 15px; }

/*4つの場合*/
.btn-list-01.type-02 { width: 303px; }
.btn-list-01.type-02 li a { width: 72px; height: 72px; font-size: 80%; }
.btn-list-01.type-02 li a:before { content: ""; display: block; position: absolute; top: 8px; left: 50%; }
.btn-list-01.type-02 li .place:before { width: 52.5px; height: 34px; background-image: url("../img/icon_name.svg"); background-size: 52.5px 34px; background-repeat: no-repeat; text-indent: 110%; white-space: nowrap; overflow: hidden; display: block; margin-left: -26px; }
.btn-list-01.type-02 li .calendar:before { width: 38px; height: 44px; background-image: url("../img/icon_situation.svg"); background-size: 38px 44px; background-repeat: no-repeat; text-indent: 110%; white-space: nowrap; overflow: hidden; display: block; margin-left: -19px; }
.btn-list-01.type-02 li .purp:before { width: 37px; height: 38px; background-image: url("../img/icon_purp.svg"); background-size: 37px 38px; background-repeat: no-repeat; text-indent: 110%; white-space: nowrap; overflow: hidden; display: block; top: 12px; margin-left: -17px; }
.btn-list-01.type-02 li:not(:last-child) { margin-right: 5px; }

.btn-list-02 li:not(:last-child) { margin-bottom: 10px; }

/* 横並びタブボタン
------------------------------------------*/
.tab-cont ul.btn-list-col3 { width: auto; font-size: 0px; border-bottom: none; margin-left: 10px; margin-right: 10px; }
.tab-cont ul.btn-list-col3 li { display: inline-block; width: 33.3%; height: auto; font-weight: bold; text-align: center; padding-top: 10px; padding-bottom: 10px; background: #ffffff; border: 1px solid #3399ff; color: #000; }
.tab-cont ul.btn-list-col3 li.select { color: #fff; background: #6699cc; }
.tab-cont ul.btn-list-col3 li input { display: none; }
.tab-cont ul.btn-list-col3 li:not(:last-child) { border-right: 1px solid #3399ff; }
.tab-cont ul.btn-list-col3 .tab-01 { border-radius: 10px 0 0 10px; border-right: none; }
.tab-cont ul.btn-list-col3 .tab-02 { border-left: 1px solid #3399ff; border-right: none; }
.tab-cont ul.btn-list-col3 .tab-03 { border-radius: 0 10px 10px 0; }

/*------------------------------------------
画像の設定
------------------------------------------*/
figure { width: 100%; }
figure img { width: 100%; }

.img-report { max-width: 300px; margin-left: auto; margin-right: auto; }

/*------------------------------------------
フォームの設定
------------------------------------------*/
/* フォームエリアの設定
------------------------------------------*/
/* 検索ページのフォーム */
form.serch .tit-05 { margin-bottom: 20px; }
form.serch .tit-05.mb0 { margin-bottom: 0px; }
form.serch .btn-02 { margin-top: 30px; margin-left: auto; margin-right: auto; }

.item-serch { color: #174a95; margin-top: 20px; padding-left: 10px; padding-right: 10px; }
.item-serch > *:not(:last-child) { margin-bottom: 10px; }

.item-serch + * { margin-top: 20px; }

form.serch { padding-bottom: 30px; }

/* フォームパーツの設定
------------------------------------------*/
/* キーワード検索の設定 */
.search-keyword-box { position: relative; }
.search-keyword-box input[type="submit"] { width: 16px; height: 15.5px; background-image: url("../img/icon_search.svg"); background-size: 16px 15.5px; background-repeat: no-repeat; text-indent: 110%; white-space: nowrap; overflow: hidden; display: block; position: absolute; top: 50%; right: 5px; margin-top: -8px; }

/* セレクトボックス */
.select-add01 { display: block; width: 100%; background: #fff; border-radius: 6px; border: 1px solid #6699cc; box-sizing: border-box; position: relative; }
.select-add01:after { content: ""; display: block; width: 0; height: 0; border: 6px solid transparent; border-top: 8px solid #174a95; position: absolute; right: 10px; top: 50%; margin-top: -3px; }
.select-add01 option { padding-left: 5px; }

.select-add01 select { width: 100%; color: #174a95; line-height: 1em; padding: 8px 0; padding-left: 10px; display: block; }

/*チェックボックス*/
input[type="checkbox"] { display: block; }

/* スイッチボタン */
ul.btn-list-col2 { width: auto; font-size: 0px; margin-left: 10px; margin-right: 10px; }
ul.btn-list-col2 li { display: inline-block; width: 49.5%; color: #174a95; font-weight: bold; text-align: center; padding: 0; }
ul.btn-list-col2 li label { display: block; height: auto; color: #6699cc; padding-top: 10px; padding-bottom: 10px; background: #fff; border: 1px solid #6699cc; }
ul.btn-list-col2 li.select label { background: #EED06E; }
ul.btn-list-col2 li input { display: none; }
ul.btn-list-col2 .checked input[type="radio"] ~ label { background: #6699cc; color: #ffffff; }
ul.btn-list-col2 .tab-01 label { border-radius: 10px 0 0 10px; border-right: none; }
ul.btn-list-col2 .tab-02 label { border-radius: 0 10px 10px 0; }

/*------------------------------------------
SNSの設定
------------------------------------------*/
#sns-share { width: 100%; position: fixed; left: 0; bottom: 0; z-index: 999; }
#sns-share ul { display: table; table-layout: fixed; width: 100%; height: 42px; padding: 8px; background: rgba(255, 255, 255, 0.7); box-sizing: border-box; }
#sns-share li { display: table-cell; height: 26px; line-height: 1em; }
#sns-share li:not(:last-child) { padding-right: 5px; }
#sns-share li a { display: block; width: 100%; height: auto; color: #fff; font-size: 10px; text-align: center; vertical-align: middle; padding: 3px 0; border: 1px solid transparent; border-radius: 0; }
#sns-share li a * { vertical-align: middle; }
#sns-share li a svg { position: relative; top: 0; }
#sns-share li a span { margin-left: 5px; }
#sns-share .twitter a { background-color: #01a7e1; }
#sns-share .facebook a { background-color: #3c599d; }
#sns-share .line a { background-color: #00c300; }
#sns-share .twitter svg { width: 18px; height: 18px; fill: #fff; }
#sns-share .facebook svg { width: 9px; height: 18px; fill: #fff; }
#sns-share .line svg { width: 19px; height: 18px; }
#sns-share .line svg .st0 { fill: #fff; }
#sns-share .line svg .st1 { fill: #3ACE01; }

/*====================================================================================
共通のエリアの設定
====================================================================================*/
/*------------------------------------------
基本設定
------------------------------------------*/
html, body { overflow-x: hidden; position: relative; }

html:root { background-color: #bcd4f2; background-image: url(../img/bg_body_pc.png); background-repeat: no-repeat; background-size: 100% auto; }

body { -webkit-font-smoothing: antialiased; }

/*リストページの背景*/
article#wrap.list { background: #bcd4f2; }

/* margin
------------------------------------------*/
.mb30 { margin-bottom: 30px; }

.mb20 { margin-bottom: 20px; }

/*------------------------------------------
ヘッダーの設定
------------------------------------------*/
header { padding: 5px; position: relative; overflow: hidden; }
header #tit-01 { float: left; }
header #tit-wni { float: right; }

#head-top { padding: 10px 0; position: relative; background: #6699cc; }
#head-top * { color: #fff; font-size: 18px; font-weight: bold; text-align: center; line-height: 1em; }

/*------------------------------------------
コンテント(メイン・サブ)の設定
------------------------------------------*/
#content { padding-bottom: 30px; }
#content section[class^="group"]:not(:last-child) { margin-bottom: 30px; }
#content section[class^="col"] { padding: 10px; overflow: hidden; }
#content section[class^="col"] .col-item:not(:last-child) { margin-bottom: 20px; }
#content section[class^="col"]:not(:last-child) { margin-bottom: 30px; }

/*リストページの下padding打ち消し*/
.list div#content { padding-bottom: 0; }

/* 背景あり、paddingなし */
#content.pt01 { padding: 0; padding-bottom: 30px; }

/* 背景なし、paddingあり */
#content.pt02 { padding-bottom: 30px; background: none; }

/*------------------------------------------
メインの設定
------------------------------------------*/
/* 基本設定 - - - - - - - - - - - - - - - -*/
#main section[class^="group"] h2 { margin-bottom: 10px; }
#main section[class^="group"]:not(:last-child) { margin-bottom: 30px; }
#main .col-item h3 { margin-bottom: 10px; }

/* 段組設定 - - - - - - - - - - - - - - - -*/
.box-style01 { overflow: hidden; position: relative; }
.box-style01 > *:first-child { float: left; }
.box-style01 > *:last-child { float: right; }
.box-style01 figure { width: 45%; }
.box-style01 figure img { width: 100%; }
.box-style01 .txt { width: 55%; height: 100%; box-sizing: border-box; padding-left: 10px; overflow: hidden; }
.box-style01 .txt .btn-01 { margin-top: 10px; float: right; }

.box-style02 { overflow: hidden; position: relative; }
.box-style02 > *:last-child { margin-top: 10px; }
.box-style02 figure { width: 100%; }
.box-style02 figure img { width: 100%; }
.box-style02 .txt { width: 100%; box-sizing: border-box; padding-left: 10px; }
.box-style02 .txt .btn-01 { margin-top: 10px; float: right; }

.reco { position: relative; }
.reco .txt { position: relative; }
.reco .txt p[class^="btn"] { position: absolute; right: 0; bottom: 0; z-index: 1; }
.reco .txt:after { content: ""; display: block; width: 100%; height: 50px; background: linear-gradient(rgba(255, 255, 255, 0), #ffffff 60%); position: absolute; bottom: 0; }

.box-style-03 { background: #ffffff; text-align: center; border: 2px solid #6699cc; padding: 10px; margin-bottom: 20px; }

/*------------------------------------------
groupの設定
------------------------------------------*/
/* 透過白背景 - - - - - - - - - - - - - - - -*/
.group-01 { padding: 10px; background: rgba(255, 255, 255, 0.5); border-top: 1px solid #99ccff; border-bottom: 1px solid #99ccff; }
.group-01 figure { border: 3px solid #fff; }

/* 薄い青&結晶背景 - - - - - - - - - - - - - - - -*/
.bg-snow { padding-bottom: 10px; background: #bcd4f2; position: relative; z-index: 1; }
.bg-snow:after { content: ""; width: 98.5px; height: 111px; background-image: url("../img/bg_snow.png"); background-size: 98.5px 111px; background-repeat: no-repeat; text-indent: 110%; white-space: nowrap; overflow: hidden; display: block; position: absolute; top: 3px; right: 10px; z-index: -1; }

body #content .col-01.bg-snow { padding: 10px; }

/*------------------------------------------
サイドの設定
------------------------------------------*/
#side { margin-top: 30px; }
#side section[class^="group"]:not(:last-child) { margin-bottom: 15px; }

#side *[class^="list"], #side *[class^="list"] + * { padding: 10px; }

#side .list-banner { margin-left: 20px; margin-right: 20px; margin-top: 15px; background: none; padding: 0; }
#side .list-banner img { width: 100%; }
#side .list-banner li:not(:last-child) { margin-bottom: 15px; }

/*------------------------------------------
フッターの設定
------------------------------------------*/
footer { width: 100%; background: #eeeeee; }
footer li { line-height: 1em; list-style: none; text-align: center; border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
footer li a { font-weight: bold; padding: 15px 0; display: block; }
footer .copy { font-size: 8px; text-align: center; padding-top: 24px; padding-bottom: 40px; border-bottom: none; }

footer.fixed { position: absolute; bottom: 0; }

/*====================================================================================
indexの個別設定
====================================================================================*/
/*------------------------------------------
背景色の設定
------------------------------------------*/
.bg-01 #content { background-color: #fff; }

/*------------------------------------------
パーツの設定
------------------------------------------*/
/* トップ
------------------------------------------*/
#content .group-01 .col-01 { padding: 0; }

.plr10 { padding-left: 10px; padding-right: 10px; }

.ballon { background: #3399ff; padding: 10px; border-radius: 10px; position: relative; margin-top: 7px; }
.ballon p { color: #fff; font-weight: bold; }
.ballon:before { content: ""; display: block; width: 0; height: 0; border: 20px solid transparent; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 20px solid #3399ff; position: absolute; top: -40px; right: 20px; }

/* エリアで検索 */
/*====================================================================================
spotの個別設定
====================================================================================*/
/*------------------------------------------
パーツの設定
------------------------------------------*/
#content section .report { padding: 10px; background: #e4eefa; }
#content section .report .txt:after { background: linear-gradient(rgba(228, 238, 250, 0), #e4eefa 60%); }

/*スポット名*/
.tit-spot { margin-left: -10px; margin-right: -10px; color: #fff; font-size: 150%; font-weight: bold; text-align: center; padding-top: 3px; padding-bottom: 3px; background-color: #174a95; }

/* みんなのオススメポイント
------------------------------------------*/
#content section.point { padding-bottom: 20px; }
#content section.point h3 { margin-bottom: 30px; }
#content section.point .col-item { margin-left: auto; margin-right: auto; width: 280px; }
#content section.point .list-hexagon { float: left; }
#content section.point .list-point { float: right; }

/*六角形チャート*/
.list-hexagon { width: 168.5px; height: 194.5px; background-image: url("../img/hexagon.svg"); background-size: 168.5px 194.5px; background-repeat: no-repeat; position: relative; }
.list-hexagon:after { content: ""; width: 48px; height: 55px; background-image: url("../img/hexagon_snow.svg"); background-size: 48px 55px; background-repeat: no-repeat; position: absolute; top: 50%; left: 50%; margin-left: -24px; margin-top: -27.5px; }
.list-hexagon li { content: ""; position: absolute; width: 28px; height: 28px; background-image: url("../img/icon_point_course.svg"); background-size: 28px 28px; background-repeat: no-repeat; text-indent: 110%; white-space: nowrap; overflow: hidden; display: block; }
.list-hexagon .course { top: -10px; left: 50%; margin-left: -14px; }
.list-hexagon .environ { background-image: url(../img/icon_point_environ.svg); bottom: -15px; left: 50%; margin-left: -14px; }
.list-hexagon .snow { background-image: url(../img/icon_point_snow.svg); top: 36px; right: -15px; }
.list-hexagon .access { background-image: url(../img/icon_point_access.svg); bottom: 36px; left: -15px; }
.list-hexagon .gourmet { background-image: url(../img/icon_point_gourmet.svg); bottom: 36px; right: -15px; }
.list-hexagon .fee { background-image: url(../img/icon_point_fee.svg); top: 36px; left: -15px; }

/*アイコンリスト*/
.list-point li { position: relative; font-size: 80%; margin-bottom: 18px; }
.list-point li:before { content: ""; display: inline; position: absolute; top: 50%; left: -30px; margin-top: -14px; }
.list-point .course:before { width: 28px; height: 28px; background-image: url("../img/icon_point_course.svg"); background-size: 28px 28px; background-repeat: no-repeat; }
.list-point .environ:before { width: 28px; height: 28px; background-image: url("../img/icon_point_environ.svg"); background-size: 28px 28px; background-repeat: no-repeat; }
.list-point .snow:before { width: 28px; height: 28px; background-image: url("../img/icon_point_snow.svg"); background-size: 28px 28px; background-repeat: no-repeat; }
.list-point .access:before { width: 28px; height: 28px; background-image: url("../img/icon_point_access.svg"); background-size: 28px 28px; background-repeat: no-repeat; }
.list-point .gourmet:before { width: 28px; height: 28px; background-image: url("../img/icon_point_gourmet.svg"); background-size: 28px 28px; background-repeat: no-repeat; }
.list-point .fee:before { width: 28px; height: 28px; background-image: url("../img/icon_point_fee.svg"); background-size: 28px 28px; background-repeat: no-repeat; }

/* タブ
------------------------------------------*/
.tab-cont .tab-box-inner { padding-bottom: 15px; }
.tab-cont > div { padding: 10px; background: #fff; }
.tab-cont ul { width: 100%; font-size: 0; }
.tab-cont ul li { display: inline-block; width: 33.3%; color: #fff; font-weight: bold; text-align: center; padding-top: 5px; padding-bottom: 5px; background: #3399ff; box-sizing: border-box; }
.tab-cont ul li:not(:last-child) { border-right: 3px solid #bcd4f2; }
.tab-cont .tab-box-inner span { font-weight: bold; }
.tab-cont .box-item:not(:last-child) { margin-bottom: 15px; }
.tab-cont dd a { word-wrap: break-word; overflow-wrap: break-word; }
.tab-cont .g-map { position: relative; padding-bottom: 56.25%; padding-top: 30px; margin-top: 8px; height: 0; overflow: hidden; }
.tab-cont .g-map iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.tab-cont .select { color: #3399ff; background: #fff; padding-top: 12px; }
.tab-cont .hide { display: none; }

/* iphone
------------------------------------------*/
.box-iphone { padding-top: 20px; padding-left: 15px; padding-right: 15px; }
.box-iphone figure { width: 262.5px; margin-left: auto; margin-right: auto; margin-bottom: 15px; }
.box-iphone p { font-weight: bold; font-size: 120%; text-align: center; }

/*====================================================================================
ゲレコンINFO
====================================================================================*/
.info .list-05 { margin-bottom: 20px; }
.info .search-keyword-box { width: 300px; margin-top: 30px; margin-left: auto; margin-right: auto; }
.info .more-right { padding: 10px; background: #174a95; }
.info .more-right a { color: #fff; }
.info .more-right a:before { background: #fff; }
.info .more-right a:after { border-left-color: #174a95; border-bottom-color: #174a95; }

.info-regist .col-02 { width: 310px; margin-left: auto; margin-right: auto; }
.info-regist .col-02 > * { width: 140px; }
.info-regist .col-02 > *:nth-child(1) { float: left; }
.info-regist .col-02 > *:nth-child(2) { float: right; }
.info-regist .item-serch { padding: 0; }
.info-regist .btn-02 { margin: 0 10px; }

form.serch .col-02 { width: 310px; margin-left: auto; margin-right: auto; }
form.serch .col-02 > * { width: 140px; }
form.serch .col-02 > *:nth-child(1) { float: left; }
form.serch .col-02 > *:nth-child(2) { float: right; }

.piste-mail { max-width: 600px; margin-left: auto; margin-right: auto; }
.piste-mail .tit-02 { font-size: 14px; text-align: center; line-height: 1.4em; }
