@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap');
@font-face {
   font-family: 'Noto Sans JP W9';
   font-style: normal;
   font-weight: 900;
   src: url(../fonts/NotoSansJP-Black.woff) format('woff'),
        url(../fonts/NotoSansJP-Black.otf) format('opentype');
 }

html { width:100%;height:100%; }
body {
    width:100%;
    height:100%;
    margin: 0;
    padding: 0;
    background-color: #fff;
    text-align:center;
    color:#000;
    font:16px 'Noto Sans JP','Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    line-height:1.6;
    letter-spacing: 0.05em;
    font-weight: normal;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

form,ul,dl,dt,dd,.site-title,h1,h2,h3,h4,h5,h6,section,article { padding:0; margin:0; }
li { padding:0; margin:0; list-style:none; }

select,input,button,textarea,button {
    font-family:'Noto Sans JP','Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    font-size:inherit;
    transition: .2s linear;
}
section:focus { outline: none; }

/* ----- リンク要素 ----- */
a,a:link,a:visited,a:active,a:hover {
    color: #1a0dab;
    cursor: pointer;
    text-decoration: none;
    overflow:hidden;
    outline:none;
    transition: .2s linear;
    backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
a:hover { color: #df0347; }

.single .entry-content a:hover,
.sidebar a:hover { text-decoration: underline; }

.white a,
.white a:link,
.white a:visited,
.white a:active,
nav .homelogo a,
footer nav a,
footer nav a:link,
footer nav a:visited,
footer nav a:active,
.button.link { color: #fff; }

.white a:hover,
footer nav a:hover { color: #fe4; }

img { border:none; }
a img { border: none; overflow: hidden;transition: .2s linear; }
a:hover img { opacity: 0.7; }


/* ============================= ヘッダー・フッターなど共通CSS =============================== */

/* ==================================================================
　　ロゴ - header / footer / nav
================================================================== */

.homelogo a {
    width: 200px;
    margin: 1.7% auto;
    padding-top:63px;
    background: url(../img/common/head_logo-white.png) no-repeat 50% 0%;
    background-size: 100% auto;
    font-family: 'Noto Sans JP W9';
    font-size: 1.188em;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.15em;
    display: inline-block;
}
.homelogo a:hover {
    -webkit-transform: scale(1.1) rotate(-15deg);
    transform: scale(1.1) rotate(-15deg);
}

.site-title.homelogo a {
    width: 100%;
    margin: 0;
    padding: 72px 0 30px 0;
    background: url(../img/common/head_logo.png) no-repeat 0% 0%;
    background-size: 100% auto;
    color: #0a4485;
    display: block;
}

.access_info .homelogo a {
    width: 100%;
    margin: 0;
    padding-top: 53px;
    background-size: 95% auto;
    display: block;
    color: #fff;
    font-size: 1rem;
}


/* ==================================================================
　　ヘッダー - .site-header
================================================================== */

/* ----- タイトルなど - .titlearea ----- */
header.site-header {
    width:100%;
    position: relative;
    z-index: 11;
    color: #000;
}

header.site-header .titlearea {
    min-height: 350px;
    margin-top: -350px;
}

/* ---------------------------------------------------
　ハンバーガーメニュー - nav#fixed ul
--------------------------------------------------- */

#switchBtnArea {
    width: 5.5em;
    height: 5.5em;
    background: rgba(0,0,0,0.3);
}
#switchBtnArea a:hover { background: #df0347; }

#switchBtnArea .hamburger {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    margin: 0 auto;
    color: #fff;
}
#switchBtnArea .hamburger::after { content:'メニュー';display: block;padding-top: 62.5%; }
#switchBtnArea .hamburger.btnClose::after { content:'とじる'; }

#switchBtnArea .hamburger span {
    width: 44%;
    height: 3px;
    left: 27.8%;
    display: block;
    position: absolute;
    background-color: #fff;
    transition: .15s ease-in-out;
}
#switchBtnArea .hamburger span:nth-of-type(1) {
    top: 1.54em;
    -webkit-transform: rotate(0);
    transform: rotate(0);
}
#switchBtnArea .hamburger span:nth-of-type(2) {
    top: 2.38em;
    -webkit-transform: scale(1);
    transform: scale(1);
}
#switchBtnArea .hamburger span:nth-of-type(3) {
    top: 3.23em;
    -webkit-transform: rotate(0);
    transform: rotate(0);
}

#switchBtnArea .hamburger.btnClose { background: transparent; }
#switchBtnArea .hamburger.btnClose span:nth-of-type(1) {
    top: 2.38em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
#switchBtnArea .hamburger.btnClose span:nth-of-type(2) {
    -webkit-transform: scale(0);
    transform: scale(0);
}
#switchBtnArea .hamburger.btnClose span:nth-of-type(3) {
    top: 2.38em;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.mainnav_wrap {
    top: 0;
    right: 5.5em;
    width: 100%;
    height: 100%;
    background-color: rgba(7, 35, 70, 0.9);
    position: fixed;
    z-index: 14;
    overflow: scroll;
    transition: all .4s;
    display: block;
}

.mainnav_wrap.open {
    display: block;
    opacity: 1;
    transition: all .4s;
    visibility: visible;
    position: fixed;
}
.mainnav_wrap.close {
    opacity: 0;
    visibility: hidden;
}

.mainnav_wrap > ul {
    width: 85%;
    margin: 0 auto;
    padding: 2em 0;
}

.mainnav_wrap > ul > li { width: 33.3%; }
.mainnav_wrap > ul > li.social,
.mainnav_wrap > ul > li.homelogo { width: 100%;top:0; }


/* ---------------------------------------------------
　メインナビ - header > nav#fixed > ul > li
--------------------------------------------------- */

nav#fixed {
    width: 5.5em;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    background: #0a4485;
    z-index: 1100;
}

nav#fixed > ul { height: 100%; }

/* ----- 常時表示固定 - header > nav#fixed > ul > li.fix ----- */
nav#fixed > ul > li.fix a.hamburger,
nav#fixed > ul > li.fix li > a {
    font-family: 'Noto Sans JP W9';
    font-size: 0.875em;
    font-weight: 900;
    line-height: 1.5;
}
nav#fixed > ul > li.fix li { margin-top: 35px; }

nav#fixed > ul > li.fix li > a {
    padding-top: 48px;
    background-repeat: no-repeat;
    background-position: 50% 0%;
    background-size: auto 60%;
    display: block;
    color: #fff;
}
nav#fixed > ul > li.fix li > a:hover {
    opacity: 0.7;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

nav#fixed > ul > li.fix li.home > a { background-image: url(../img/common/menu_fix_i_home.png); }
nav#fixed > ul > li.fix li.coupon > a { background-image: url(../img/common/menu_fix_i_coupon.png); }
nav#fixed > ul > li.fix li.event > a { background-image: url(../img/common/menu_fix_i_event.png); }
nav#fixed > ul > li.fix li.today > a { padding-top: 43px;background-image: url(../img/common/menu_fix_i_today.png);background-size: auto 48%; }

/* ----- クーポンPopUp - header > nav#fixed > ul > li.fix li.coupon ----- */
.popupbg {
	position: fixed;
	width: calc(100% - 5.5em);
	height: 100%;
	background: rgba(7, 35, 70, 0.9);
	z-index: 10;
	top: 0;
	left: 0;
	display: none;
}
.popup_wrapper{
	width: 100%;
	height: 100%;
    position: absolute;
    top:0;
    left: 0;
    overflow-y: auto;
}

.item_wrapper {
	width: auto;
    max-width: 80%;
    padding: 4%;
	position: relative;
    top: 0;
	z-index: 11;
	text-align: center;
    background: rgba(255,255,255,0.9);
}
.item_wrapper .close_btn {
	line-height: 36px;
	position: absolute;
	right: 0;
	top: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #df0347;
	margin: -18px -18px 0 0;
	font-size: 24px;
    color: #fff;
	vertical-align: middle;
	text-align: center;
	cursor: pointer;
}
.item_wrapper .close_btn:hover { background: #222; }

.qr_code {
    width: 200px;
    height: 200px;
    margin: 1em auto;
    background: #999;
}

.item_wrapper p { font-size: 1.125em;font-weight: 700; }


/* ---------------------------------------------------
　SNSボタン - header nav ul li.social / footer nav ul.social / article footer ul.social
--------------------------------------------------- */

.social { font-size: 0; }
.social i { margin-left: 20%; }
.social > ul { max-width: 480px;margin: 0 auto;padding: 8px; }
.social li:not(.fb-like) { display: inline-block; }
.social li:not(.lang) a {
    width:100%;
    height: 100%;
    font-size: 22px;
}
.social li.line a { font-size: 25px; }

/* ----- ヘッダー・フッターのみ ----- */
nav .social li:not(.lang) a {
    width: 40px;
    height: 40px;
    background: #fff;
    border-radius: 50%;
    margin-right: 12px;
    color: #0a4485;
}
nav .social li a:hover { background: #fe4; }

/* ----- 記事上下のみ ----- */
article .social li:not(.fb_btn) { width: 45px;height: 45px;margin-right: 10px; }
article .social li a { color: #fff; }
article .social li a:hover { background: #333 !important; }
article .social li.fb_btn { margin: 0 10px 0 0; display: block;float: left; }
article .social li.fb_btn > iframe { padding: 9px 0 0 5px; background: #227bef; }
article .social li.facebook a { background: #227bef; }
article .social li.twitter a { background: #55acee; }
article .social li.line a { background: #00b900; }
article .social li.pocket a { background: #ee4056; }

/* ----- 言語切り替え ----- */
.social li.lang {
    margin:0;
    padding: 10px 10px 15px 42px;
    background: url(../img/common/head_i_lang.png) no-repeat 7% 50% #fff;
    background-size: auto 60%;
    font-family: 'Noto Sans JP W9';
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: 0.03em;
    line-height: 1;
    display: block;
    float: right;
}
.social li.lang span { margin: 0 3px;border-bottom: 4px solid #0a4485; }
.social li.lang a { padding: 0 3px;color: #666;font-size: 0.93rem;font-weight: 700; }
.social li.lang a:hover { color: #222; }


/* ---------------------------------------------------
　グローバルナビ - header > nav#fixed > ul > li.global
-------------------------------------------------- */

.global {
    margin-top: 5px;
    overflow: hidden;
}

.global > ul {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 5px 0;
    position: relative;
    background: #fff;
}

.global li {
    width: 33.3%;
    height: 33.3%;
    margin: 0;
    padding: 0;
    border-bottom: 3px dotted #0a4485;
    border-right: 3px dotted #0a4485;
    font-size: 1.125em;
    font-weight: 700;
    letter-spacing: 0.08em;
}
.global li:nth-child(3n) { border-right: none; }
.global li:nth-child(n+7):nth-child(-n+9) { border-bottom: none; }

.global li span {
    margin-top: 10px;
    font-size: 0.75em;
    letter-spacing: 0.05em;
    display: block;
    font-weight: 500;
}

.global > ul > li > a {
    width: 100%;
    height:100%;
    color: #222;
}

.global > span.wave{ margin-bottom: -1px; }

/* ----- 表示ページ - current-menu-item ----- */
.global li.current-menu-item > a { background:#fe4; }

/* ---------------------------------------------------
　シーズンナビ - header > nav#fixed > ul > li.season
-------------------------------------------------- */

nav .season { padding-right: 4%;text-align: left;color: #fff; }
nav .season .title { padding: 5px 0 0.8em 0;font-size: 1.25em;letter-spacing: 0.09em; }

nav .season li {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 3px dotted rgba(255,255,255,0.8);
    font-size: 1.188em;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 500;
}
nav .season li a { display: block; }

nav .season li span { display: inline-block;vertical-align: middle;white-space: nowrap; }
nav .season li span:first-child {
    width:31%;
    min-height: 3.4em;
    margin-right:5.5%;
    background-image: url(../img/common/menu_season_winter.jpg);
    background-repeat: no-repeat;
    background-position: 0% 50%;
    background-size: cover;
    transition: .2s linear;
    border: 4px solid;
}
nav .season li:first-child span:first-child { border-color: #0a4485; }

nav .season li:nth-child(2) span:first-child { border-color: #b8e385; }
nav .season li:nth-child(3) span:first-child { border-color: #32b145; }
nav .season li:nth-child(4) span:first-child { border-color: #fb0; }
nav .season li:nth-child(5) span:first-child { border-color: #a35f2a;background-color: #fff; }
nav .season li:not(:first-child) a:hover span:first-child { border-color: #fe4; }

/* ----- 冬サイト ----- */
nav .season li.home,
nav .season li:last-child { margin-bottom: 5px;border-bottom:none; }
nav .season li.home a { padding: 8px 5px 8px 8px; background-color: #fff; }
nav .season li.home span { color: #222;font-weight: 700; }


/* ---------------------------------------------------
　ベースナビ - header > nav#fixed > ul > li.basemenu
-------------------------------------------------- */

nav .basemenu {
    margin-top: 10px;
    padding-left: 4%;
    text-align: left;
    color: #fff;
    font-size: 1.125em;
    font-weight: 500;
}

nav .basemenu li:not(.contact) { margin-top: 5.7%; }
nav .basemenu li:not(.contact) a:hover::before,
.sitemap .entry-content a:hover::before,
.link .entry-content dl a:hover::before { margin: 0 5px 0 3px; }

nav .basemenu li.contact {
    padding: 4.3% 7.2%;
    letter-spacing: 0.1em;
    border: 3px dotted rgba(255,255,255,0.8);
}
nav .basemenu li.contact p { padding:3px 0; }
nav .basemenu li.contact p:last-child { font-size: 1.125em; }

nav .basemenu li:not(.contact) a::before,
.sitemap .entry-content  a::before,
.link .entry-content dl a::before {
    margin-right: 8px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 0.813em;
    content: "\f0da";
    transition: .2s linear;
}

/* ==================================================================
　　フッター - footer
================================================================== */

/* ----- ページトップ ----- */
#pagetop {
    width: 75px;
    height: 75px;
    left: 50%;
    right: 50%;
    bottom: 0;
    margin: 0 0 0 auto;
    padding-top: 10px;
    z-index: 10;
    position: fixed;
    text-indent: 100%;
    white-space: nowrap;
    overflow:hidden;
    background: #fff;
    border-radius:50%;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
#pagetop a {
    width: 40px;
    height: 40px;
    display: block;
    margin: 0 auto;
    background: url(../img/common/i_pagetop.png) no-repeat 50% 100%;
    background-size: 100% auto;
}
#pagetop a:hover { background: url(../img/common/i_pagetop-over.png) no-repeat 50% 100%;background-size: 100% auto; }

/* ----- フッター全体 ----- */
footer.site-footer {
    margin-top: 3em;
    padding:9% 3% 0 3%;
    font-size: 0.938em;
    line-height: 1.4;
    color:#fff;
    clear:both;
    position: relative;
    background: url(../img/common/foot_bg_mountain.gif) no-repeat 50% 0% #0a4485;
    background-size: 100% auto;
}

/* ----- 基本情報 - footer > section.access ----- */
.access_info {
    width:100%;
    padding: 45px 0 0 0;
}
.access_info p { padding:0 0 15px 0; }
.access_info h2 { width: 180px;margin:0 auto; }
.access_info address { font-style: normal;margin: 15px 0 5px 0; }
.access_info a { color: #fff; }

/* ----- ページリンク群 - footer > section.links ----- */
.links { line-height: 1.6; }
.links ul.base_links { margin-bottom: 5px;font-size: 0.938em; }

.links .base_links {
    max-width: 750px;
    margin: 2.2em auto 0 auto;
    padding: 1.5em 3.3em;
    border: 3px dotted rgba(255,255,255,0.5);
    line-height: 1;
    font-weight: 500;
}
.links .base_links li { margin:8px 0;padding: 0 20px; display: inline-block;border-right: 1px solid #fff; }
.links .base_links li:last-child { border-right: none; }

/* ----- コピーライト ----- */
.links p.copy { margin: 0;padding: 20px 0 80px 0;font-size: 0.938em; }

 
/* ==================================================================
　　その他
================================================================== */

.a{ transition: .3s ease-in-out; }

/* ------------------------------
　　FlexBox
------------------------------ */

.mainnav_wrap > ul,
nav#fixed > ul,
.social li:not(.lang) a,
.global > ul,
.global > ul a,
.sidebar,
.rowlist,
.hfeed .site-main,
.popup_wrapper{
    display:-webkit-box;
  	display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

nav#fixed > ul,
.social li:not(.lang) a,
.global > ul a,
.popup_wrapper{
    -webkit-box-align: center;
	-ms-flex-align: center;
    align-items: center;
}

.global > ul a,
.social li:not(.lang) a,
.rowlist,
.hfeed .site-main,
.popup_wrapper{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
    justify-content: center;
}

/* ------------------------------
　　ドット柄背景影 - .dotshadow
------------------------------ */

.dotshadow_wrap {
    margin: 28px auto 28px 10px;
    background: url(../img/common/bg_dot_black.png) repeat 100% 100%;
    display: inline-block;
}
.row3 .dotshadow_wrap,
.row4 .dotshadow_wrap { margin: 18px auto 18px 7px; }
.link_btn .dotshadow_wrap { margin: 13px auto 13px 8px; }

.dotshadow { margin: -10px 10px 10px -10px;display: block; }
.dotshadow.small { margin: -7px 7px 7px -7px; }
.dotshadow.small2 { margin: -4px 4px 4px -4px; }

/* ------------------------------
　　リンクボタン - .button
------------------------------ */

.button {
    position: relative;
    z-index: 1;
    display: inline-block;
    transition: .4s;
    overflow: hidden;
}
.button::before {
    position: absolute;
    top: 0;
    left: -5%;
    z-index: -1;
    content: '';
    width: 110%;
    height: 180%;
    background: #fe4;
    -webkit-transform-origin: left bottom;
    -webkit-transform: skewY(-10deg) scale(1, 0);
    transform-origin: left bottom;
    transform: skewY(-10deg) scale(1, 0);
    transition: transform .4s;
}
.button.long::before { width: 150%;height: 280%; }
.button:hover::before {
    -webkit-transform-origin: left top;
    -webkit-transform: skewY(-10deg) scale(1, 1);
    transform-origin: left top;
    transform: skewY(-10deg) scale(1, 1);
}

/* ----- 通常リンクボタン ----- */
.link_btn { display: inline-block;padding: 10px; }
.link_btn.block { display: block; }
.link_btn .dotshadow { margin: -8px 8px 8px -8px; }
.link_btn .dotshadow:hover { margin: -5px 5px 5px -5px; }

.button.link {
    background: #222;
    padding: 12px 15px;
    display: block;
    letter-spacing: 0.1em;
    font-weight: 500;
}
.button.link.yellow:hover { color: #222; }
.button.link.pink::before { background: #df0347; }
.button.link.blue::before { background: #0a4485; }

.button.link.color.yellow { background: #fe4;color: #222; }
.button.link.color,
.button.link.color.yellow:hover { color: #fff; }
.button.link.color.pink { background: #df0347; }
.button.link.color.blue { background: #0a4485; }
.button.link.color.green{ background: #00b900; }
.button.link.color::before { background: #222; }

 .button.link::after{
    padding-left: 30px;
    padding-right: 0;
    font-size: 1.063em;
}

/* ------------------------------
　　左右末広がりライン - .expanse_line
------------------------------ */

.expanse_line { 
    margin-bottom: 0.5em;
    padding: 0 0.5em;
    line-height: inherit;
    display: inline-block;
    color: #000;
}
.expanse_line::before,
.expanse_line::after {
    width: 1px;
    height: 1.5em;
    margin-top: 0.2em;
    content: '';
    position: absolute;
    border-left: 2px solid #555;    
}
.expanse_line::before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.expanse_line::after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.expanse_line span { border-bottom: none;padding: 0 0.8em; }

/* ------------------------------
　　アイコン表示
------------------------------ */

i { margin-right: 0.3em; }
i.fa-phone-volume { -webkit-transform: rotate(-30deg);transform: rotate(-30deg);margin-right: 2px; }

.icon::before,
.rush .icon::after,
.sub-title.icon span::before,
.widget h2::before,
.blog_rss .date::after,
.button.link::after,
.breadcrumb li:not(:last-child)::after,
.search-submit:before {
    font-family: "Font Awesome 5 Free";
    margin-right: 0.3em;
    font-weight: 900;
    display: inline-block;
}
/* Arrow */
.sitemap .entry-content a::before,
.link .entry-content dl a::before,
.button.link::after { content: "\f0da"; }
/* Folder */
.widget_categories h2::before { content: "\f07b"; }
.c-meta-box__item--category::before { content: "\f07b";margin-right: 0; }
/* Clock */
.widget_archive h2::before,
article .p-page-header__date::before,
.blog_rss .date::before,
.clock::before{ content: "\f017"; }
/* Comment */
.c-meta-box__item--comment::before { content: "\f075"; }

/* Other */
.site::before { content: "\f2d2";font-weight: 400; }
.mapmarker::before { content: "\f3c5"; }
.phone::before { content: "\f2a0";-webkit-transform: rotate(-30deg);transform: rotate(-30deg);margin-right:0.2em; }
.mail::before { content: "\f0e0"; }
.pdf::before { content: "\f1c1";font-size: 1.188em; }
.moon::before { content: "\f186"; }
.sun::before { content: "\f185"; }
.train span::before { content: "\f238"; }
.fa-file-pdf { font-size: 1.313em;margin:0 0.4em 0 0.1em; }
.search-submit:before { content: "\f002";margin-right: 0; }
.users:before { content: "\f0c0";margin-right: 0.5em; }
.users:after { content: "\f101"; margin-left: 0.8em; }



/* =============================　下層ページ CSS =============================== */

/* ==================================================================
　　主要コンテンツ共通エリア - 
================================================================== */

.container,
footer.site-footer { width: calc(100% - 5.5em); }
.site-content { width: calc(100% - 5.5em);padding-top: 2em; }
.content-area { width: 90%;max-width: 1190px;margin: 0 auto; }
.hfeed .content-area { width: 96%; }

.entry-content > section { padding-top: 2em;padding-bottom: 5.5em;clear: both; }
.entry-content > section:first-child { padding-top: 1em; }

/* ------------------------------
　　ヘッダー　タイトル
------------------------------ */

.entry-content .title_normal { font-size:1.125em;line-height: inherit;font-weight: normal;margin: inherit; }

/* ----- ページタイトル - .page-title ----- */
h1.page-title {
    margin-top: -5px;
    background: url(../img/common/bg_dot_white.png) repeat right bottom;
    font-size: 2em;
    letter-spacing: 0.15em;
    display: inline-block;
}

h1.page-title span {
    margin: -7px 7px 7px -7px;
    padding: 5px 15px;
    background: rgba(255,255,255,0.85);display: inline-block;
}

/* ----- 大見出し 波下線＆円装飾 - .section-title ----- */
.content-area .section-title {
    margin-bottom: 0.8em;
    padding: 15px 15px 0 18px;
    font-size: 1.75em;
    letter-spacing: 0.1em;
    line-height: 1.4;
    display: inline-block;
    background:
        url(../img/common/bg_circle.png) no-repeat 0 100%,
        url(../img/common/bg_circle-m.png) no-repeat 100% 100%;
}

.content-area .section-title span {
    padding: 0 5px 25px 5px;
    display: inline-block;
    background:url(../img/common/line_wave_double.png) repeat-x 0% 100%;
}

/* ----- 小見出し カラー下線＆ドット背景影 - .sub-title ----- */
main .sub-title {
    margin: 0 auto 0.8em 4px;
    font-size: 1.375em;
    display: inline-block;
    background: url(../img/common/bg_dot_black.png) repeat-x 100% 100%;
    font-weight: 700;
    line-height: 1.4;
}
main .sub-title.none { margin-top: 0.4em;margin-bottom: 0.4em; }
.sub-title span {
    margin: -4px 4px 4px -4px;
    padding: 3px 3px 3px 5px;
    background: -webkit-linear-gradient(transparent 70%, rgba(255, 238, 68,0.8) 70%);
    background: linear-gradient(transparent 70%, rgba(255, 238, 68,0.8) 70%);
    display: inline-block;
}

.entry-content .blk-title {
    margin-bottom: 0;
    padding: 8px;
    background: #444;
    color: #fff;
    font-size: 1.375em;
    letter-spacing: 0.12em;
}

/* ------------------------------
　　ヘッダー ナビ・画像
------------------------------ */

/* ----- ローカルナビ - section.localnavi ----- */
section.localnavi {
    width: auto;
    display: block;
    font-size:0;
    margin-top: 110px;
}
section.localnavi ul li {
    margin-left: -1px;
    padding: 12px 0;
    display: inline-block;
    background-color:#fff;
    font-size: 1rem;
    border-left:1px dotted #999;
}
section.localnavi ul li a {
    padding: 13px 18px;
    color: #000;
}
section.localnavi ul li a:hover,
section.localnavi ul li.current-cat a { color:#fff; background: #df0347;font-weight: 500; }

/* ----- ヘッダー画像 ----- */
.main_img {
    width:100%;
    margin: 0 auto;
    clear: both;
    height: 350px;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
    position: relative;
    overflow: hidden;
}

.main_img span.wave{
    width: calc(100% + 30px);
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-position: 0% 100%;
}

/* ----- 波アニメ基本 ----- */
span.wave{
    width: calc(100% + 30px);
    height: 9px;
    position: relative;
    display: block;
    background: url(../img/common/line_wave_white_top.png) repeat-x 0% 0%;
    -webkit-animation: navAnime 1s linear infinite;
    animation: navAnime 1s linear infinite;
}

span.wave.blk {
    background: url(../img/common/line_wave_black_top.png) repeat-x 0% 0%;
    -webkit-animation: navAnime 1s linear infinite;
    animation: navAnime 1s linear infinite;
}
span.wave.blk.bottom { background: url(../img/common/line_wave_black_bottom.png) repeat-x 0% 100%; }

@keyframes navAnime {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  100% {
    -webkit-transform: translate3d(-30px, 0, 0);
    transform: translate3d(-30px, 0, 0); } }


/* -------------------------------------------
　　ブログ - Bloglist
------------------------------------------- */

/* ---------- 一覧ページ ---------- */
.hfeed .page-header,
.search .page-header { width: 100%;padding-top: 1.5%; }
.post-type-archive .page-header { display: none; }

.hfeed .site-main { line-height: 1.7; }
.hfeed article  {
    width: 33%;
    margin: 0;
    padding-top: 2%;
    padding-bottom: 4%;
    text-align: left;
}

.hfeed article a:hover img { opacity: 1; }

.hfeed .entry-content a {
    padding: 5%;
    color: #222;
    display: block;
    border: 6px double #fff;
}
.hfeed .entry-content a:hover { border: 6px double #1c66b9; }

.hfeed .sub-title { margin-bottom: 0;padding-bottom: 1px; display: block;font-size: 1.125em; }
.hfeed .sub-title span,
.single .sub-title span { margin: -3px 3px 3px -3px;display: block; }

article .text { padding: 10px 0 0 0; }

.date_hold {
    display: inline-block;
    margin-bottom: 15px;
    padding:0 3px 13px 3px;
    background: url(../img/common/line_wave_double.png) repeat-x 0% 100%;
    background-size: auto 28%;
    font-size: 1.063em;
    font-weight: 700;
}

.wrapper { width: 100%;clear: both; }

/* パンくず表示 */
.breadcrumb { margin: -35px auto 35px auto; }
.breadcrumb li { display: inline-block;font-size: 0.875em; }
.breadcrumb li:not(:last-child)::after {
    margin:0 5px 0 10px;
    font-size: 0.813em;
    content: "\f105";
}
.post-type-archive-event .breadcrumb li:last-child,
.post-type-archive-event .breadcrumb li:nth-child(2)::after{ display: none; }

/* サムネイル表示 */
.photo_ratio { position: relative;width: 100%;overflow: hidden;border: 1px solid #ddd; }
.hfeed .photo_ratio { margin-bottom: 4.5%; }
.photo_ratio:before { content:"";display: block;padding-top: 60%; }
.photo_ratio .inner { position: absolute;top: 0;left: 0;bottom: 0;right: 0; }
.photo_ratio .inner img { width: 100%;height: auto; }

/* ---------- 記事ページ ---------- */
.single .site-main {text-align: left;}
.entry-header { margin-bottom: 2%; }

article .social { display: inline-block; }
.p-entry__meta { float: none;font-size: 0.938em; text-align: center; }
.single .p-entry__meta { float: right;display: block;font-size: 1em; }
.p-entry__meta li { margin-right: 15px;display: inline-block;color: #666; }
article .p-page-header__date { color: #666; }

.single .entry-content { border:6px double #666;padding: 2.5% 2.5% 2.5% 3.4%; }
.single .entry-content img { margin: 20px 0; }

.single .sub-title { padding-bottom: 1px; display: block;font-size: 1.563em; }

.entry-header .p-entry__meta { font-size: 1.063em; }
.entry-footer { margin-top: 2%; }

main .comments-area { margin-bottom: 3%; padding: 5%;border: 6px double #ccc; }
.post-navigation { margin-bottom: 3.5em;background: #fe4;clear: both; }

.single .expanse_line { text-align: center;font-size: 0.93rem; }

/* ---------- ページ下部ウィジェット ---------- */
.sidebar {
    width: 96%;
    max-width: 1190px;
    margin: 1em auto;
    padding: 30px 0;
    justify-content: space-around;
    border: 6px double #777;
}
.sidebar section { width: 33%;clear: none; }
.sidebar section:last-child { margin-right: 0; }
.sidebar section select { padding:0 15px;height: 40px; }
.sidebar .widget { margin: 0; padding: 20px; }
.sidebar .widget ul { font-size: 0.938em; }
.sidebar .widget_search form { width: 90%;margin: 0 auto; }
.sidebar .widget_archive { border-right: 1px solid #999;border-left: 1px solid #999; }
.search-form label { margin-left: -30px; }

.widget .widget-title { margin-bottom: 10px; }

.post-navigation .nav-links a:hover span { color: #fff; }
.pagination .prev.page-numbers:hover,
.pagination .prev.page-numbers:focus,
.pagination .next.page-numbers:hover,
.pagination .next.page-numbers:focus { background: #0d56a8;color: #fff; }

button:hover,
button:focus,
.post-navigation div div a:hover,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
.btns input[type="submit"] { background-color: #0a4485;color: #fff; }

.btns input[type="reset"]:hover,
.btns input[type="reset"]:focus { background-color: #df0347;color: #fff; }

.btns input[type="submit"]:hover,
.btns input[type="submit"]:focus,
.pagination .current,
.pagination .page-numbers:hover,
.entry-footer.edit .edit-link { background-color:#fe4;color: #222; }


/* ------------------------------
　　その他
------------------------------ */

/* ---------- 列レイアウト ---------- */
.rowlist { margin: 0 0 -2em 0; }
.rowlist > li { margin-top:0.8em;margin-bottom: 2em; padding:0; }
.rowlist li.row1 { width: 100%; }
.rowlist li.row2 { width:48%;margin-right: 4%; }
.rowlist li.row3 { width:31%;margin-right: 3.5%; }
.rowlist li.row4 { width:23%;margin-right: 2.2%; }
.rowlist li.none { margin-right: 0; }
.rowlist li img { display: block; }
.rowlist li.row1 .sub-title { font-size: 1.563em; }
.rowlist li.row3 .sub-title,
.rowlist li.row4 .sub-title { margin-bottom: 0.5em;font-size: 1.313em; }

.rowlist li p { text-align: left; }

.entry-content div.row1 img,
.entry-content div.row1 iframe,
.entry-content div.row1 table { margin-top: 2%; }

/* ---------- 基本テーブル ---------- */
table.normal {
    width: 100%;
	height:auto;
    margin-top: 1.5em;
    margin-bottom: 0.8em;
    border-top:1px solid #666;
    clear: both;
    font-size: 0.938em;
    display: table;
}
table.normal.auto {width: auto;}

table.normal th {
    padding: 4px 8px;
    background: #adf;
    border-right:1px dotted #666;
    border-bottom:1px solid #666;
    font-size:1.063em;
    font-weight: 500;
}
table.normal th.title { background: #0a4485;border-color: #fff;color: #fff;font-size: 1.063em;letter-spacing: 0.1em; }
table.normal tr.subtitle th,
table.normal tr.subtitle td { border-bottom: 3px double #666;letter-spacing: 0.1em; }
table.normal td { padding: 0.25em 0.5em;border-bottom:1px solid #666; }
table.normal td:not(:last-child) { border-right:1px dotted #666; }

table.normal th.orange { background: #fe4; }
table.normal.other th { background: #f5c3c3; }
table.normal.other th.title { background: #df0347; }
table.normal td.text_left { padding-left: 0.8em; }

/* ---------- Attention ---------- */
.attention {
    width: 100%;
    margin-top: 1em;
    padding: 3% 5%;
    border: 6px double #555;
    text-align:left;
}
dl.attention dt { padding: 0; }
dl.attention dd { margin-bottom: 1.5em;padding-bottom: 1.5em;border-bottom: 1px dotted #999; }
dl.attention dd:last-child { border-bottom:none; }
ul.attention li:not(.sub-title) { margin: 0.8em 0 0.8em 1.5em;list-style: disc;list-style-position: outside; }
ul.attention li.kome {list-style: none;}
.attention .comment { text-align: right; }
ul.attention li.comment { margin-top: 10px;list-style: none;text-align: right; }

/* ----- リスト関連 ----- */
ul.normal,
ol.normal { display: inline-block;margin-top: 0.6em;padding-left: 0.5em;text-align: left; }
.normal li { margin-bottom: 0.5em;margin-left: 1.4em; }
.normal.wrap_line,
.wrap_line { border: 6px double #555;padding: 3% 3% 2% 3% !important; }
.normal.wrap_line > li:not(:last-child) { margin-bottom: 2.5em; }

ul.disc li,
ul li.disc { list-style: disc;list-style-position: outside; }
ul li.kome::before { padding-right: 5px; content: '※';margin-left: -1.4em;  }

ol > li { list-style:decimal; }
ol.other li {
    list-style-type:none;
    list-style-position:outside;
    counter-increment: cnt;
}
ol.other li:before {
    display: marker;
    content: '(' counter(cnt) ')';
    padding-right: 5px;
    margin-left: -2em;
}
ol.other li.kome:before { content: '※' counter(cnt) '' ; }
ol.other li {margin-left: 2em;}

.rowlist dl { display: inline-block;margin-top: 0.6em; }
dl dd { padding:0 0 1em 1em; }
.entry-content dl ol { margin: 1em 0 0 0; }

ul.normal.block,
ol.normal.block,
.rowlist dl { display: block; }

/* ----- Animate ----- */
.animated.fadeInDown {
  /* n秒かけてアニメーションする */
  -webkit-animation-duration: 0.7s;
  animation-duration: 0.7s;
}
.animated.tada {
  /* n秒待ってからアニメーションする */
  -webkit-animation-delay:0.5s;
  animation-delay:0.5s;
}
.visibility { visibility: hidden; }

/* ----- clearfix ----- */
.entry-content > section::after,
.clearfix::after {
    content:"";
    display:block;
    visibility: hidden;  
    height: 0.1px;  
    font-size: 0.1em;  
    line-height: 0;
    clear:both;
}
.entry-content > section,
.clearfix { display:block; }
.clear { clear:both; }
.clearleft { clear:left; }

/* ----- Font関連 ----- */
p { padding:10px 5px 10px 10px; margin:0; }
.text_left { text-align: left !important; }
.text_center { text-align:center !important; }
.block { display:block; }

.font-size_m4 { font-size:0.75em;line-height:1.6; }
.font-size_m3 { font-size:0.813em;line-height:1.6; }
.font-size_m2 { font-size:0.875em;line-height:1.6; }
.font-size_m1 { font-size:0.938em;line-height:1.6; }
.font-size_p1 { font-size:1.063em;line-height:1.6; }
.font-size_p2 { font-size:1.125em;line-height:1.6; }
.font-size_p3 { font-size:1.188em;line-height:1.6; }
.font-size_p4 { font-size:1.25em;line-height:1.6; }
.font-size_p5 { font-size:1.313em;line-height:1.6; }
.font-size_p6 { font-size:1.375em;line-height:1.6; }
.font-size_p7 { font-size:1.438em;line-height:1.6; }
.font-line200 { line-height:2; }

.font-white { color:#fff; }
.font-red { color:#e00; }
.font-yellow { color:#fe4; }
.font-green { color:#70b92c; }
.font-blue { color:#0a4485; }
.font-gray { color:#777; }
.font-bold { font-weight: bold; }

.before_br::before,
.after_br::after { content: "\A" ;white-space: pre ; }

/* ----- 余白 ----- */
.padding-top_0 { padding-top:0 !important; }
.margin_0 { margin: 0 !important; }
.margin-top_0 { margin-top: 0 !important; }
.margin-top_1em { margin-top: 1em !important; }
.margin-top_2p { margin-top: 2% !important; }
.margin-top_3p { margin-top: 3% !important; }
.margin-top_5p { margin-top: 5% !important; }
.margin-bottom_0 { margin-bottom: 0 !important; }
.margin-bottom_2p { margin-bottom: 2% !important; }
.margin-bottom_3p { margin-bottom: 3% !important; }
.margin-bottom_5p { margin-bottom: 5% !important; }
.margin-right_2p { margin-right: 2% !important; }
.margin-left_2p { margin-left: 2% !important; }
.margin-right_3p { margin-right: 3% !important; }
.margin-left_3p { margin-left: 3% !important; }

/* ----- その他 ----- */
.line_btm { border-bottom: 5px solid #555; }
.entry-content .w_half { width: 49%;display: inline-block; }
.entry-content .p_float_left { margin-right: 2.6em;float: left;display: inline-block; }
.entry-content .p_float_right { margin-left: 2.6em;float: right; }


/* ==================================================================
　　固定ページ個別 - Page
================================================================== */

.page .entry-content iframe { margin: 0.75em auto;display: block; }
.gmap iframe { pointer-events: none; }
.land table td,
.staff table td,
.company table td { text-align: left;padding-left: 15px; }
.school .entry-content .p_float_left { margin-right: 1.5em; }
#rental table.normal { width:calc(100% - 350px);float:left;clear:none; }
#accessmap .rowlist img { margin: 0 auto; }
.access .wrap_line { margin-top: 2em; }
.privacy .content-area .section-title { letter-spacing: 0.05em;line-height: 1.2; }
.contact .content-area .section-title { margin-top: 1em; }
.link .row2:first-child dt { padding: 1em 0 0.5em 0; }

/* --------------------------------------------------------
　　フード・施設 - Page > Facility
-------------------------------------------------------- */

.facility .rowlist p { padding-left: 0;padding-bottom: 0; }
.facility .rowlist i { font-size: 1.188em; }
.facility .rowlist li .wrapper { text-align: center;margin-bottom: 0.6em; }
.facility .rowlist li th { text-align: center; }
.facility .rowlist .row1 table { width: auto;display: inline-block; }

.facility .rowlist > li { padding: 2em 2em 1.6em 2em;text-align: left; }
.rowlist li.salmonpink {border: 6px double #ff8e94; }
.rowlist li.pink { border: 6px double #ffb7d7; }
.rowlist li.green { border: 6px double #59c994; }
.rowlist li.orange { border: 6px double #f90; }
.rowlist li.yellow { border: 6px double #fd0; }
.rowlist li.brown { border: 6px double #c6a264; }
.rowlist li.enji { border: 6px double #ad5c75; }

.facility .rowlist li h4 { margin: 0;padding-bottom: 1em; display: inline;font-size: 1.063em; }
.rowlist li.salmonpink h4 { color: #ff7481; }
.rowlist li.pink h4 { color: #fe57a1; }
.rowlist li.green h4 { color: #5bb10b; }
.rowlist li.orange h4 { color: #e60; }
.rowlist li.yellow h4 { color: #f90; }
.rowlist li.brown h4 { color: #960; }
.rowlist li.enji h4 { color: #900; }

/* --------------------------------------------------------
　　宿泊・温泉 - Page > stay
-------------------------------------------------------- */

.stay .blk-title { background: #720; }
.stay .rowlist .row1 { margin: 2em 0 1em 0; }
.stay .rowlist .row2 .sub-title { font-size: 1.313em;letter-spacing: 0.1em; }
.stay .rowlist .row2 .sub-title span{
    background: -webkit-linear-gradient(transparent 70%, rgba(245, 198, 198,0.8) 70%);
    background: linear-gradient(transparent 70%, rgba(245, 198, 198,0.8) 70%);
}
.stay .rowlist .row2 th { width: 30%; background: #f7cbcb; }
.stay .rowlist img { width: 90%; height: auto;margin: 0 auto; }

/* --------------------------------------------------------
　　ゲレンデ - Page > Gelande
-------------------------------------------------------- */

#course .rowlist h3 span:first-letter { font-size: 1.375em; }
#course .rowlist p { padding: 0; }

/* ---------- 基本項目 ---------- */
.today .camera a {
    padding: 10px 10px 45px 10px;
    background: url(../img/common/today_bg_camera.png) repeat-x 50% 0%;
    background-size: auto 100%;
    display: block;
    color: #fff; 
}
.today .camera a:hover {opacity: 0.8; }
.today .camera b { padding: 5px 15px;background: #222;font-size: 1.125em; letter-spacing: 0.2em; }
.today .camera img { width: 100%;height: auto; display: block;margin: 10px auto 0 auto; }

.today .base_factor { margin: 0;font-size: 1.125em; }
.today .base_factor li:not(.kassou) {
    width: 33%;
    margin: 0;
    padding-top: 65px;
    background-size: auto 65%;
}

.today .base_factor .weather { background: url(../img/common/today_i_weather.png) no-repeat 50% 0%; }
.today .base_factor .snow {
    background: url(../img/common/today_i_snowfall.png) no-repeat 50% 0%;
    border-left: 2px dotted #666;
    border-right: 2px dotted #666;
}
.today .base_factor .tempture { background: url(../img/common/today_i_tempture.png) no-repeat 50% 0%; }
.today .base_factor .kassou { width: 100%;margin: 10px 0;border-top: 2px dotted #666; }
.today .base_factor .kassou p {
    margin-top: 10px;
    padding: 13px 0 13px 80px;
    background: url(../img/common/today_i_kassou.png) no-repeat 0% 60%;
    background-size: auto 100%;
    display: inline-block;
    letter-spacing: 0.1em;
}

.today .comment p { padding-top: 0;text-align: left;display: inline-block; }
.today .comment p::before {
    width: 75px;
    height: 65px;
    margin-bottom: -23px;
    content: '';
    background: url(../img/common/today_i_comment.png) no-repeat 0% 0%;
    display: inline-block;
}
.today .comment.traffic p::before { background: url(../img/common/today_i_traffic.png) no-repeat 0% 0%; }

.today .rush p { padding: 0.2em 0.8em;color: #fff;text-align: center;background-color: #444; }
.today .rush p.red { background-color: #d00; }
.today .rush p.yellow { background-color: #ffe044;color: #000; }
.today .rush p.green { background-color: #090; }

/* ---------- テーブル本日の営業案内のみ ---------- */
.today table.normal.season { margin: 0 auto; }
table.normal.main { margin: 0 auto 3% auto; }

.today table.normal th.title {border-right: none;}
table.normal th.title_day { background: #d3e9ff; }

table.normal tr.dotline th,
table.normal tr.dotline td { border-right:1px dotted #666;border-bottom:1px dotted #666; }

table.normal tr.dotline th.last,
table.normal tr.dotline td.last { border-bottom: 1px solid #666; }

table.normal.season tr.subtitle th { background: #9cf; }
table.normal tr.line th,
table.normal tr.line td { border-top:2px solid #666; }

table.normal th.subtitle { border-right: 1px solid #666; line-height: 1.2; }
table.normal th.title_day.last { border-bottom:1px solid #666; }

table.normal th.close,
table.normal tr.dotline td:last-child { border-right: none; }

table.normal.season td { font-size: 1.125em; }

/* ---------- スノーパーク ---------- */
#snowpark .rowlist.item li { margin-top: 0;margin-bottom: 0;font-size: 0.938em; }
#snowpark .blk-title { margin-bottom: -1em; }

/* 外部ブログRSS読み込み部分 */
.rowlist.blog_rss { margin: 4em 0 2em 0; }
.rowlist.blog_rss li.row4:nth-child(4n+1) { margin-right: 0; }
.blog_rss .row4 span::after { content: "\f0da";margin-left: 8px; }
.blog_rss p { padding: 1em 0 0 0; }
.blog_rss p.description { font-size: 0.938em; }
.blog_rss .title a,
.title-yellowline {
    background: -webkit-linear-gradient(transparent 70%, rgba(255, 238, 68,0.8) 70%);
    background: linear-gradient(transparent 70%, rgba(255, 238, 68,0.8) 70%);
    font-size: 1.063em;
    font-weight: 700;
    word-break: break-all;
    display: inline !important;
}
.title-yellowline { margin-bottom: 1em; }
.blog_rss .row1 { margin: 0 auto; }
.blog_rss .row1 a { padding: 0 5px;font-size: 1.313em;letter-spacing: 0.05em; }
.blog_rss .row1 i { margin-left: 0.2em;font-size: 1.125em; }

.blog_rss .row1 .expanse_line { font-size: 1.313em;line-height: 1.2; margin-bottom: 2%; }
.blog_rss .row1 .expanse_line::before,
.blog_rss .row1 .expanse_line::after { border-width: 3px; }


/* --------------------------------------------------------
　　ベースコンテンツ - Page
-------------------------------------------------------- */

/* ---------- 安全にご利用 ---------- */
.safety .entry-content ol li li,
.safety .entry-content ol li table {font-size: 0.938em;}

/* ---------- サイトマップ ---------- */
.sitemap .rowlist li:first-child span,
.sitemap .rowlist span br { display: none; }
.sitemap .rowlist .normal li {margin-bottom: 1em;}

/* ---------- メールフォーム ---------- */
.wpcf7 p.title b { color:#e00; }

input.p-button { border-radius: 4px; display: inline-block; color: #fff;font-weight: bold;font-size: 100%; line-height: 1.9; text-align: center; min-width: 220px; height: auto;padding: 13px 20px;cursor: pointer; }

p.tel { margin:0 auto 2% auto; padding: 3%;border: 6px double #666;font-size: 2em;font-weight: 700; }
section .wpcf7 { width: 100%;border: 6px double #666; }
.wpcf7 li { padding: 2.5% 2.5% 0 2.5%; list-style: none; border-top: 3px dotted #999;clear: both; }
.wpcf7 li:first-child { border-top:none; }
.wpcf7 p.title { width:25%;margin-bottom: 10px;padding: 1.2% 1.8%;text-align: right;float: left; }
.wpcf7 p { margin-bottom:20px;padding: 0; }
.wpcf7 .input_area { width:75%;padding: 0 1.8%;text-align: left;float: left; }
.wpcf7 .input_area.name input { width:30%; }
.wpcf7 .input_area input[type=checkbox] { width: auto; }
.wpcf7 .input_area input, .wpcf7 .input_area textarea { padding: 1.8%; width: 70%; }
.wpcf7 .input_area .comment { display: block;margin: 8px 0; }
.wpcf7 .wpcf7-list-item { display: block;margin: 0; }
.wpcf7 textarea { height: 300px; border: none; }
.wpcf7 .btns { padding: 4% 1.5%;border-top: 3px dotted #999; text-align: center; }
.wpcf7 .btns p { padding-left: 15px;padding-right: 15px; }
.wpcf7 .wpcf7-submit { -webkit-transition: all .3s; transition: all .3s; }
.wpcf7 .wpcf7-submit .wpcf7-not-valid { background: pink; }
.wpcf7 .wpcf7-submit .wpcf7-response-output { margin: 10px 0 0; padding: 8px 35px 8px 14px; border-radius: 4px; }
.wpcf7 .wpcf7-submit .wpcf7-validation-errors { color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7; }
.wpcf7 .wpcf7-submit .wpcf7-mail-sent-ok { color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1; }
.wpcf7 .wpcf7c-conf { border: none;background: #ccc; }
.wpcf7 .btns input[type=button] { width: auto;margin-right: 20px; padding: 13px 20px;background: #666;color: #fff; }
div.wpcf7-response-output { margin:0 20px 20px 20px;text-align: center;padding: 20px;border: none;background: #f7f733;color: #e00;font-weight: bold; }




/* ==========================　Media Queries CSS ============================ */

@media screen and (min-width: 960px) {
    .mainnav_wrap > ul {
        max-width: 1190px;
        height: auto;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-45%, -50%);
        transform: translate(-45%, -50%);
        position: absolute;
    }
    .site-title.homelogo { width: 225px;margin: 20px 0 3px 25px; }
    .single .expanse_line { margin-right: 0.5em; }
    .facility .rowlist .row1.green table { width: calc(100% - 550px);float: right;display: table;clear: none; }
    .facility .rowlist .row1.green ul { width: 515px;padding-top: 2em; float: left;clear: left; }
    .facility .rowlist .p_float_left { max-width: 50%; }
    .today .base_factor { margin: 0.6em 0; }
    .today .base_factor li:not(.kassou) { width: auto;padding: 1em 2em 0 4.4em;background-size: auto 80%;background-position: 10% 50%;text-align: left; }
    .today .base_factor li.kassou { width: auto;margin: 0;padding-left: 2em; border-top: none;border-left: 2px dotted #666; }
    section.localnavi ul li:first-child { border-left: none; }
}

/* ======================== 960px以上 1279px以下 ========================== */
@media screen and (min-width:960px) and (max-width: 1279px) {
    .global li { font-size: 1.35vw; }
    nav .season .title { font-size: 1.5vw; }
    nav .season li { font-size: 1.45vw; }
    nav .basemenu { font-size: 1.4vw; }
    .p-entry__meta { font-size: 1.3vw; }
    .p-entry__meta li { margin-right: 5px; }
}

/* ======================== 959px以下 ========================== */
@media screen and (max-width: 959px) {
    body { font-size: 15px; }
    .mainnav_wrap { width: calc(100% - 5.5em); }
    .mainnav_wrap > ul { width: 76%;display: block;padding-top:285px; }
    .mainnav_wrap > ul > li { width: 100%;padding: 0; }
    .mainnav_wrap > ul > li.season { position: absolute;top:15px;left: 0;padding: 0 12%; }
    nav .season .title { font-size: 1.125em;letter-spacing: 0.2em;text-align: center; }
    nav .season li { margin-bottom: 7px;padding-bottom: 7px; font-size: 1.063em;border-bottom-width: 2px; }
    nav .season li.home { margin-bottom: 0; }
    nav .season li.home a { padding: 6px; }
    nav .season br { display: none; }
    nav .season li span:first-child { width: 25%; min-height: 1.5em;margin-right:3%; }
    nav .season li span:first-child { border-width: 2px; }
    nav .season li:last-child { border-bottom: 2px dotted rgba(255,255,255,0.8); }
    .global li a { padding: 15% 0; }
    nav .basemenu { margin: 10% auto 6em auto; }
    
    .homelogo a { margin: 4% auto;font-size: 1.2rem; }
    .site-title.homelogo { width: 245px;margin: 15px auto; }
    .site-title.homelogo a { padding-top: 78px; }
    h1.page-title { margin-top: 20px; }
    
    section.localnavi { width: 40%;margin: 70px auto 0 auto;padding-bottom: 30px;border-top:1px dotted #999; }
    section.localnavi ul li { display: block;padding: 0;border-right:1px dotted #999; }
    section.localnavi ul li a { display: block;padding:6px 12px;border-bottom:1px dotted #999; }
    
    .entry-content > section > p:not(.link_btn){ text-align: left; }
    .rowlist li.row2,
    .today .rowlist li.row3:last-child { width:100%;margin-right: 0; }
    .rowlist li.row3,
    .rowlist li.row4 { width:48%;margin-right: 4%; }
    .rowlist li.row3:nth-child(2n),
    .rowlist:not(.blog_rss) li.row4:nth-child(2n),
    .rowlist.blog_rss li.row4:nth-child(2n+1) { margin-right: 0; }
    
    .today .rowlist li.row3:nth-child(2) { margin: 0; }
    .today table.normal.season { margin-bottom: 3%; }
    .today table.normal.main.rush { margin: 0 auto 6% auto; }
    .today .rowlist > li.camera { margin-top: 0; }
    
    #rental table.normal { width: 90%; margin-left: auto;margin-right: auto; float: none;display: table; }
    #rental img.p_float_right { float: none;margin-left: auto; }
    .school .rowlist li.row2:first-child { margin-bottom: 0; }
    .facility .rowlist .row1.green table { width:100%;display: table; }
    .facility .rowlist .p_float_left { float: none;margin: 0 auto;display: block; }
    .wrap_line .link_btn .dotshadow_wrap { margin-bottom: 0; }
    
    /* ---------- ブログ ---------- */
    .hfeed article { width: 50%; }
    .single .entry-content { margin-bottom: 5%; padding: 5%; }
    .single .sub-title { margin-bottom: 0;font-size: 1.438em; }
    .single .p-entry__meta { float: none;text-align: right; }
    .single .expanse_line { margin: 0 auto; }
    article .social { margin: 10px 0 5% 0;display: block; }
    .post-navigation .post-title { font-size: 1.188em; }
    
    /* ---------- コンタクトフォーム ---------- */
    .wpcf7 .input_area.name input { width: 40%; }
    .wpcf7 .input_area.name span.sub { display: block; } 
    .wpcf7 .input_area input,.wpcf7 .input_area textarea { width: 95%; }
}

/* ======================== 767px以下 ========================== */
@media screen and (max-width: 767px) {
    nav li.social {text-align: left;}
    nav li.social > ul { padding: 8px 0; }
    nav li.social li:not(.lang) a { width: 5.5vw; height: 5.5vw;font-size:3.5vw;margin-right: 1.5vw; }
    li.social li.lang { padding: 1.5vw 1.5vw 1.5vw 6vw;font-size: 2.5vw; }
    li.social li.lang a { padding: 0 0.4vw;font-size: inherit; }
}

/* ======================== 559px以下 ========================== */
@media screen and (max-width: 559px) {
    nav#fixed { width: 100%; height: 5em;top: auto;bottom:0; }
    nav#fixed > ul > li.fix { width: 100%;z-index: 20;background: #0a4485; }
    #switchBtnArea { width: 20%; float: right; }
    #switchBtnArea .hamburger::after { padding-top: 48px; }
    nav#fixed > ul > li.fix li { width: 20%;float: left;margin-top: 14px; }
    nav#fixed > ul > li.fix li > a,
    nav#fixed > ul > li.fix li.today > a { padding-top: 35px; background-size: auto 63%;font-size: 0.813em; }
    nav#fixed > ul > li.fix a.hamburger { font-size: 0.813em; }
    nav#fixed > ul > li.fix li br { display: none; }
    .site-title.homelogo { width: 220px; }
    .site-title.homelogo a { padding-top: 70px;font-size: 1.125rem; }
    .homelogo a { width: 180px;padding-top: 58px;font-size: 1.1em; }
    
    .mainnav_wrap { width: 100%; right: 0; }
    .mainnav_wrap > ul { width: 84%;padding-top:58vw; }
    .mainnav_wrap > ul > li.season { padding: 0 8%; }
    nav li.social li:not(.lang) a { width: 7.2vw; height: 7.2vw;font-size:4.7vw;margin-right: 2vw; }
    li.social li.lang { padding: 2vw 2vw 2vw 8vw;font-size: 3.3vw; }
    nav .season .title { padding-bottom: 0.5em; }
    nav .season li span:first-child { width: 15%; }
    nav .season .title,
    nav .season li,
    .global li,
    nav .basemenu ul { font-size: 3.5vw; }
    .popupbg { width: 100%;height: calc(100% - 5em); }
    
    nav#fixed > ul,
    .container,
    .site-content { width: 100%; }
    img { max-width: 100%;height: auto; }
    section.localnavi { width: 50%; }
    .rowlist li.row3 { width:100%;margin-right: 0; }
    .entry-content > section { overflow: hidden; }
    h1.page-title { font-size: 1.75em; }
    .content-area .section-title { font-size: 1.625em;background-size: auto 100%, auto auto;}
    main .sub-title,
    .single .sub-title,
    .entry-content .blk-title,
    .stay .rowlist .row2 .sub-title { font-size: 1.25em; }
    .entry-content .title_normal { font-size: 1.063em;text-align: left; }
    .blog_rss .row1 h4 { font-size: 1.125em; }
    table.normal { display: block;overflow-x: scroll;-webkit-overflow-scrolling: touch; }
    table.normal.none,
    .stay table.normal,
    .gerande table.normal { display: table; }
    .today .camera img { max-width: 400px; }
    .today .comment p { display: block; }
    
    #pagetop { margin: 0 auto 5.2em auto;width: 65px;height: 65px;left: 0;right: 0; }
    #pagetop a { width: 35px;height: 35px; }
    footer.site-footer { width: 100%;padding:15% 3% 4.5em 3%;font-size: 0.875em; background-image: url(../img/common/foot_bg_mountain-m.gif); }
    .links ul.base_links { padding: 3%; display: inline-block;text-align: left;font-size: 1em; }
    .links .base_links li { margin: 20px 0;display: block;border-right: none; }
    .links .base_links li a::before {
        padding-right: 8px;
        font-size: 0.813em;
        font-family: "Font Awesome 5 Free";
        content: "\f0da";
        font-weight: 900;
    }
    
    .font-size_p2 { font-size:1.063em; }
    .font-size_p3 { font-size:1.125em; }
    .font-size_p4 { font-size:1.188em; }
    .font-size_p5 { font-size:1.25em; }
    .font-size_p6 { font-size:1.313em; }
    .font-size_p7 { font-size:1.375em; }
    
    .blog_rss .row1 .expanse_line::before,
    .blog_rss .row1 .expanse_line::after { border-width: 2px; }
    .content-area { width: 94%; }
    
    /* ---------- ブログ ---------- */
    .hfeed article { width: 100%; }
    .post-navigation .post-title { font-size: 1.063em; }
    .sidebar .widget_archive { border: solid #999;border-width: 1px 0; }
    .sidebar section { width: 100%;margin:15px auto 30px auto; }
    .entry-header .p-entry__meta { font-size: 1em; }
    article .social li:not(.fb_btn) { width: 34px;height: 34px;margin-right: 8px; }
    article .social li:last-child { margin-right: 0; }
    article .social li:not(.fb_btn) a { font-size: 20px; }
    article .social li.fb_btn { margin-right: 8px; }
    article .social li.fb_btn > iframe { height: 34px !important;padding-top: 4px; }
    .pagination { font-size: 1em; }
	
    /* ---------- コンタクトフォーム ---------- */
	.wpcf7 li { padding: 3%; }
    .wpcf7 p.title,.wpcf7 .input_area,.mailmag .wpcf7 .input_area,.wpcf7 .input_area input,.wpcf7 .input_area textarea { width: 100%; float: none;text-align: left; }
    .wpcf7 .input_area.name input { width: 38%; }
    .wpcf7 .btns p { line-height: 1.7; }
    .wpcf7 p.title br { display: none; }
    .wpcf7 .btns .p-button { min-width: auto; }
}

/* ======================== 479px以下 ========================== */
@media screen and (max-width: 479px) {
    nav#fixed { height: 4em; }
    nav .season .title,
    nav .season li,
    nav .basemenu ul { font-size: 3.8vw; }
    .mainnav_wrap > ul > li.season { top:10px; }
    nav .season li,nav .season li:last-child { border-width: 1px; }
    nav .season li { margin-bottom: 1.5%;padding-bottom: 1.5%; }
    nav .season li.home a { padding: 1.3%; }
    .global li { font-size: 3.8vw;border-width: 2px; }
    nav .basemenu { margin-bottom: 4em; }
    nav#fixed > ul > li.fix li { margin-top: 12px; }
    nav#fixed > ul > li.fix li > a,
    nav#fixed > ul > li.fix li.today > a { padding-top: 28px;font-size: 0.67em; }
    nav#fixed > ul > li.fix li.today > a { font-size: 0.63em; }
    nav#fixed > ul > li.fix a.hamburger { font-size: 0.67em; }
    #switchBtnArea .hamburger::after { padding-top: 40px; }
    .site-title.homelogo { width: 185px;margin-bottom: 30px; }
    .site-title.homelogo a { padding-top: 60px;font-size: 1rem;letter-spacing: 0.1em; }
    .popupbg { height: calc(100% - 4em); }
    
    section.localnavi { width: 60%; }
    section.localnavi ul li { font-size: 0.938rem; }
    .school .rowlist li.row2:first-child { text-align: center; }
    .school .entry-content .p_float_left { float: none; display: block;margin: 0 auto; }
    .entry-content .blk-title,
    .stay .rowlist .row2 .sub-title { font-size: 1.125em; }
    #pagetop { margin-bottom: 4.2em;width: 55px;height: 55px; }
    #pagetop a { width: 27px;height: 27px; }
}