@charset "utf-8";

/* base styling
	========================================================================== */
html{ font-size: 62.5%; }
body{
	color: #4e4e4e;
	line-height: 1.4;
	font-family: 'ヒラギノ角ゴ ProN W3', 'HiraKakuProN-W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	letter-spacing: -0.01px;/*iPhoneバグ用*/
	font-size: 1.4rem;
}
img:not([width]) {
	zoom: .5;
}
*,*::before,*::after{
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
a {
	-webkit-touch-callout:none;
}
a, a:link, a:visited, a:hover{
	color: #4C7ABD;
}
.center{
	text-align: center;
}
.img-rp{
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
@font-face {
	font-family: 'hannari';
	src: url('../font/hannari/Hannari.otf');
}
.fnt-cng{
	font-family: 'hannari';
	letter-spacing: -.18em;
}
.clearfix{
	content: "";
	display: block;
	clear: both;
}
li{
	list-style: none;
}

/* wrapper
	========================================================================== */
#wrapper{
	background: url("../img/bg_top.png") no-repeat 50% 0,url("../img/bg.png");
	background-size: 320px 775px, 320px 5px;
}
.gradient{
	background: url("../img/bg_bottom.png") no-repeat 50% 80%,-webkit-linear-gradient(top, transparent, #eee8db 30%, #eee8db) repeat-x 0 0,-webkit-linear-gradient(top, #eee8db, #eee8db) repeat-x 0 150px;
	background: url("../img/bg_bottom.png") no-repeat 50% 80%,linear-gradient(top, transparent, #eee8db 30%, #eee8db) repeat-x 0 0,linear-gradient(top, #eee8db 0%, #eee8db 100%) repeat-x 0 150px;
	background-size: 320px 361px, 320px 200px, 320px 100%;
}
#page-spot #wrapper{
	padding-top: 15px;
}

/* header
	========================================================================== */
header#inner {
	border-bottom: none;
	background: #feaead;
}
header#inner>p{text-shadow: none !important}

/* box
	========================================================================== */
.box{
	width: 293px;
	padding: 10px;
	background: #fefefe;
	margin-left: auto;
	margin-right: auto;
	box-shadow: 0 0 0 1px #dadada, 0 0 0 3px #fff, 1px 1px 8px 0 rgba(0,0,0,.3);
	border-radius: 3px;
	font-size: 1.8rem;
}
.line-bottom{
	padding-bottom: 15px;
	border-bottom: 1px dotted #979797;
}

/* coming-soon
	========================================================================== */
.comingsoon{
	position: relative;
}
.comingsoon::after{
	content: "";
	display: block;
	position: absolute;
	z-index: 100;
	left: 50%;
	top: 5px;
}
.search-list .comingsoon::after{
	width: 68px;
	height: 48px;
	background: url(../img/cs.png) no-repeat;
	background-size: 68px 48px;
	margin-left: -34px;
}
.content-list .comingsoon::after{
	width: 102px;
	height: 70px;
	background: url(../img/cs2.png) no-repeat;
	background-size: 102px 70px;
	margin-left: -52px;
}

/* toppage
	========================================================================== */
/* [ image-box ] */
.image-box{
	padding-top: 25px;
	position: relative;
}
.image-box::after{
	content: "";
	display: block;
	width: 80px;
	height: 74px;
	background: url(../img/icon_head.png) no-repeat;
	background-size: 80px 74px;
	position: absolute;
	right: 0;
	top: 0;
}
.image-box figure{
	width: 280px;
	overflow: hidden;
	border: 3px solid #fff;
	margin: 0 auto;
	box-shadow: 1px 1px 5px 0 rgba(0,0,0,.3);
}
.image-box figcaption{
	position: relative;
	background: #ded6c1;
	font-size: 2.0rem;
	padding: 13px 10px;
	margin: -5px 0 10px;
	border-top: 3px solid #fff;
	border-bottom: 3px solid #fff;
	box-shadow: 0 -1px 0 0px #dadada inset, 0 1px 0 0px #dadada inset, 0px -4px 0 0px #fff inset, 0px 4px 0 0px #fff inset, 0 0 10px 0px rgba(0,0,0,.5);
}
.image-box figcaption p{
	margin: 0 auto 10px;
	width: 300px;
}
/* [ my ] */
.project,.spot{
	display: none;
}
.project{
	padding-top: 15px;
}
.user-device{
	color: #e05169;
	line-height: 1;
	margin-bottom: 10px;
}
.my-report figure>img{
	float: left;
	padding-right: 10px;
	margin-bottom: 10px;
}
.my-report h1{
	margin-bottom: 5px;
}
.my-mission{
	margin-top: 10px;
}
.my-mission h1{
	margin-bottom: 5px;
}
.my-mission p{
	font-size: 1.8rem;
}
/* [ spot ] */
.envi-spot h1 a{
	display: block;
	height: 30px;
	line-height: 30px;
	box-shadow: 0 0 0 1px #dadada, 0 0 0 3px #fff, 0px 0px 6px 1px rgba(0,0,0,.9);
	border-radius: 3px;
	margin: 10px 5px 10px;
	padding-left: 5px;
	color: #e06f81;
	position: relative;
}
.envi-spot h1 img{
	vertical-align: middle;
}
.envi-spot h1 i{
	position: absolute;
	right: 0;
}
.search-list li{
	width: 25%;
	float: left;
	text-align: center;
	line-height: 1;
}
.search-list a{
	font-size: 1.3rem;
	color: #cd3750;
}
.no-data{
	padding: 15px 0;
	font-size: 2.0rem;
	text-align: center;
}
.fav-caption{
	margin-bottom: 15px;
}
.fav-caption img{
	float: left;
	padding-right: 10px;
}
.fav-caption em{
	color: #cd711e;
}
.fav-list li{
	position: relative;
}
.fav-list li a{
	display: block;
	border: 2px solid #e06f81;
	height: 40px;
	line-height: 40px;
	padding-left: 48px;
	border-radius: 5px;
	color: #434343;
	margin: 5px 0;
	background: #fff url("../img/icon_sakura.png") no-repeat 10px 0;
	background-size: 31px 33px;
}
.fav-list li:last-child a{
	margin-bottom: 0;
}
.fav-list li a strong{
	color: #cb3d50;
	font-size: 2.0rem;
}
.fav-list li a i{
	color: #e06f81;
	position: absolute;
	right: 5px;
}
/* [ content ] */
.content-list{
	width: 310px;
	margin: 15px auto 0;
}
.content-list li{
	width: 155px;
	height: 132px;
	float: left;
	position: relative;
}
.content-list li:nth-child(2) span{
	position: absolute;
	color: #fff;
	z-index: 10;
	top: 20px;
	right: 32px;
	line-height: 1.2;
	font-size: 2.0rem;
	text-align: center;
}
/* [ alerm ] */
.alerm{
	height: 320px;
	background: url("../img/bg_alerm.png") no-repeat 50% 0;
	background-size: 320px 319px;
	padding-top: 30px;
}
.alerm h1{
	font-weight: normal;
	color: #832424;
	font-size: 2.3rem;
	text-align: center;
	margin-bottom: 10px;
}
.alerm h2{
	color: #cd5460;
	font-size: 1.9rem;
	text-align: center;
	margin-bottom: 10px;
}

/* spot page
	========================================================================== */
/* [ spot-detail ] */
.spot-detail h1{
	font-size: 1.8rem;
	font-weight: bold;
	padding-left: 30px;
	background: url("../img/icon_pin.png") no-repeat;
	background-size: 20px 25px;
	padding-bottom: 8px;
	border-bottom: 1px dotted #979797;
	margin-bottom: 10px;
}
.spot-status{
	display: table;
}
.spot-status dt,
.spot-status dd{
	display: table-cell;
	vertical-align: middle;
}
.spot-status dt{
	width: 55px;
	text-align: center;
}
.spot-status dd:nth-child(2){
	width: 130px;
}
.spot-status dd:nth-child(2) strong{
	font-size: 1.8rem;
	color: #df5468;
}
.spot-status dd:nth-child(2) span{
	font-size: 1.8rem;
}
.spot-status dd:nth-child(3) .forecast{
	background: #e06f81;
	padding: 5px;
	width: 105px;
	color: #fff;
	border-radius: 5px;
	text-align: center;
	margin-top: 5px;
}
.spot-status dd:nth-child(3) .forecast strong{
	font-size: 1.8rem;
}
/* [ calender ] */
.calender h1{
	text-align: center;
	margin-bottom: 10px;
}
.calender aside{
	margin-top: 10px;
	font-size: 1.8rem;
}
.calender-table{
	border: 2px solid #fed0d8;
	width: 100%;
	border-collapse: collapse;
}
.calender-table th,.calender-table td{
	border: 1px solid #fed0d8;
	text-align: center;
	padding: 5px 0;
	color: #a7675c;
}
.calender-table th{
	border-bottom: 2px solid #fed0d8;
	vertical-align: middle;
	background: #fef4f6;
	font-weight: normal;
}
.calender-table td{
	height: 68px;
	vertical-align: top;
	width: 37px;
	font-weight: bold;
}
.calender-table i{
	display: inline-block;
	width: 30px;height: 33px;
	background: url("../img/icon_sakura.png") no-repeat;
	background-size: 31px 33px;
	position: relative;
}
.calender-table span{
	display: block;
	color: #e06f81;
	width: 5em;
	padding: 5px 0;
	text-align: center;
	font-size: 1.2rem;
	border-radius: 5px;
	position: absolute;
	background: #fff;
	-webkit-filter: drop-shadow(0px 1px 3px rgba(0,0,0,.3));
	filter: drop-shadow(0px 1px 3px rgba(0,0,0,.3));
	bottom: -80%;
	left: 50%;
	margin-left: -2.5em;
	margin-top: -30px;
	z-index: 100;
	display: none;
}
.calender-table span::after {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: transparent;
	border-width: 6px;
	margin-left: -6px;
	border-bottom-color: #fff;
}
.calender-table td.status1{
	background-color: #fee2e7;
}
.calender-table td.status2{
	background-color: #feacb9;
}
.calender-table td.status3{
	background-color: #fe7488;
}

/* [ weather-list ] */
.spot-weather{
	width: 300px;
	overflow: hidden;
	margin-left: auto;
	margin-right: auto;
}
.spot-weather h2{
	font-size: 2.0rem;
	color: #010101;
}
.spot-weather .weather-list{
	border: 2px solid #fed0d8;
	border-radius: 10px 0 0 10px;
	overflow: hidden;
	box-shadow: 1px 2px 5px 0 rgba(0,0,0,.2);
	background: #fee2e7;
}
.weather-list dl.caption-list{
	float: left;
}
.snap-area{
	width: 204px;
	overflow: hidden;
}
.flipsnap{
	width: 385px;
	overflow: hidden;
}
.weather-list dl{
	width: 55px;
	float: left;
}
.weather-list dt,.weather-list dd{
	border-bottom: 1px solid #fed0d8;
	border-right: 1px solid #fed0d8;
	color: #a7675c;
	text-align: center;
	padding: 3px;
	background: #fff;
	-webkit-flex: 1 auto;
	-moz-flex: 1 auto;
	flex: 1 auto;
}
.weather-list dl:last-child dt,
.weather-list dl:last-child dd{
	border-right: 0;
}/*
.weather-list dl:last-child{
	width: 52px;
}*/
.weather-list dl dt:first-child{
	height: 35px;
	padding: 3px;
	line-height: 1.2;
	-webkit-flex: 1 1 50px;
	-moz-flex: 1 1 50px;
	flex: 1 1 50px;
	line-height: 1;
	font-weight: bold;
	background: #fef4f6
}
.weather-list .caption-list dt:first-child{
	background: #fee2e7;
}
/* 天気 */
.weather-list dl dd:nth-child(2){
	height: 40px;
	padding: 0;
}
.weather-list dl dd:nth-child(2) img{
	width: 108px;
	height: 80px;
	vertical-align: bottom;
}
/* 最高気温 */
.weather-list dl dd:nth-child(3){ color: #f99520; }
/* 最低気温 */
.weather-list dl dd:nth-child(4){ color: #48b5e0; }
/*曜日*/
.weather-list dl dt.sat{ background: #3969b9;color:#fff; }
.weather-list dl dt.sun{ background: #e06578;color:#fff; }
.weather-list dd:last-child{
	border-bottom: 0;
}

.weather-list dl.caption-list{
	width: 92px;
}
.weather-list dl.caption-list dt:first-child{
	line-height: 36px;
}
.weather-list dl.caption-list dd:nth-child(2){
	padding: 3px;
	height: 40px;
	line-height: 26px;
}
.caption-list dt, .caption-list dd {
	font-weight: normal;
	text-align: left;
	color: #a7675c !important;
	background: #fee2e7;
}

/* [ info-table ] */
.spot-intro #place,.spot-intro #access{
	display: none;
}
.info-table{
	border: 2px solid #fed0d8;
	border-collapse: collapse;
	margin-top: 5px;
}
.info-table th,.info-table td{
	border: 1px solid #fed0d8;
	color: #a7675c;
	padding: 3px;
}
.info-table th{
	background: #fee2e7;
	width: 35%;
	text-align: left;
	font-weight: normal;
}
.info-table td em{
	font-style: normal;
	font-weight: bold;
	color: #e06578;
}
.info-table td em.no{
	color: #3969b9;
}

/* tab
	========================================================================== */
.select-tab{
	display: -webkit-box;
	display: box;
	box-align:center;
	width: 300px;
	margin: 0 auto;
	box-shadow: 0 0 0 1px #dadada, 0 0 0 3px #fff, 0px 0px 8px 0 rgba(0,0,0,.8);
	border-radius: 3px;
	overflow: hidden;
	position: relative;
}
.select-tab li{
	width: 33.3333%;
}
.select-tab li a{
	display: block;
	text-align: center;
	line-height: 25px;
	background: #fee2e7;
	border-right: 1px solid #dadada;
	color: #434343;
}
.select-tab li a.current{
	background: #fe7488;
	color: #fff;
}
.select-tab li:nth-child(1) a{
	box-shadow: -1px 0 0 0 #fff inset;
}
.select-tab li:nth-child(2) a{
	box-shadow: -1px 0 0 0 #fff inset, 1px 0 0 0 #fff inset;
}
.select-tab li:nth-child(3) a{
	box-shadow: 1px 0 0 0 #fff inset;
	border-right: 0;
}

/* btn
	========================================================================== */
.more{
	font-size: 1.8rem;
	text-align: right;
}
.more a{
	color: #d86879;
	text-decoration: underline;
}
.more i{
	font-size: 1.4rem;
}
.btn-more1 {
	cursor: pointer;
	width: 300px;
	height: 50px;
	display: -webkit-box;
	display: box;
	-webkit-box-align:center;
	box-align:center;
	box-shadow: 0 0 0 1px #dadada, 0 0 0 3px #fff, 0px 0px 8px 0 rgba(0,0,0,.8);
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
.box .btn-more1{
	width: 273px;
}
.btn-more1 div {
	width: 275px;
	text-align: center;
	position: relative;
}
.box .btn-more1 div{
	width: 248px;
}
.btn-more1 .one-line{
	font-size: 2.0rem;
}
.btn-more1 .two-line{
	font-size: 2.0rem;
	/*font-size: 1.4rem;*/
}
.btn-more1 .two-line span{
	font-size: 1.2rem;
}
.btn-more1 .two-line.fnt-cng{
	font-size: 1.3rem;
	top: -3px;
	line-height: 1.1;
}
.btn-more1 .one-line.fnt-cng{
	font-size: 2.4rem;
	top: -3px;
}
.btn-more1 .two-line.fnt-cng strong{
	font-weight: normal;
	font-size: 2.2rem;
	/*font-size: 1.9rem; */
	letter-spacing: 0;
}
.btn-more1 .two-line.fnt-cng span{
	font-size: 2.2rem;
	/*font-size: 1.4rem;*/
}
.btn-more1 i[class^="icon-"]{
	display: block;
	width: 25px;
	height: 50px;
	line-height: 50px;
	font-size: 2.0rem;
	border-radius: 0 5px 5px 0;
}
.btn-more1 i[class^="icon-"].reflect::before{
	position: relative;
	top: -5px;
	-webkit-transform: rotate(180deg);
}
.btn-more1.white{
	background: #fefefe;
	color: #a9505b;
}
.btn-more1.white i[class^="icon-"]{
	background: #fee4e8;
	color: #ee97a4;
}
.btn-more1.white span{
	color: #333;
}
.btn-more1.dpink{
	background: #fe7488;
	color: #fff;
}
.btn-more1.dpink i[class^="icon-"]{
	background: #feacb9;
	color: #fff;
}
.btn-more1.dpink span{
	color: #9e343b;
}
.btn-more1.lpink{
	background: #fed0d8;
	color: #9e343b;
}
.btn-more1.lpink i[class^="icon-"]{
	background: #feb7c2;
	color: #fff;
}
.btn-more1.lpink span{
	color: #9e343b;
}
.btn-more1.blue{
	background: #79bad2;
	color: #fff;
}
.btn-more1.blue i[class^="icon-"]{
	background: #b4d6e2;
	color: #fff;
}
.btn-more1.blue span{
	color: #fff;
}
.btn-more1.brown{
	background: #f1ece1;
	color: #a25d52;
}
.btn-more1.brown i[class^="icon-"]{
	background: #d8cfb9;
	color: #fff;
}
.btn-more1.brown span{
	color: #ec8494;
}
.btn-more1.green{
	background: #dae9cf;
	color: #61906a;
}
.btn-more1.green i[class^="icon-"]{
	background: #90b391;
	color: #fff;
}
.btn-more1.green span{
	color: #61906a;
}
.btn-more1.join span{
	padding-left: 30px;
}
.btn-more1.join::before{
	content: "";
	display: block;
	background: url("../img/icon_joinpr.png") no-repeat;
	background-size: 70px 48px;
	width: 70px;
	height: 48px;
	position: absolute;
	left: -10px;
	top: -15px;
	animation-name: join;
	-webkit-animation-name: join;
	animation-duration: 2.5s;
	-webkit-animation-duration: 2.5s;
	animation-timing-function: ease-out;
	-webkit-animation-timing-function: ease-out;
	transform-origin: 0% 100%;
	-webkit-transform-origin: 0% 100%;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
}
@-webkit-keyframes join {
	0% {
		-webkit-transform: rotate(0deg);
	}
	25% {
		-webkit-transform: rotate(-3deg);
	}
	50% {
		-webkit-transform: rotate(2deg);
	}
	75% {
		-webkit-transform: rotate(1deg);
	}
	100% {
		-webkit-transform: rotate(0deg);
	}
}
@keyframes join {
	0% {
		transform: rotate(0deg);
	}
	25% {
		transform: rotate(-3deg);
	}
	50% {
		transform: rotate(2deg);
	}
	75% {
		transform: rotate(1deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
.btn-more1.join_sw span{
    padding-left: 50px;
    /*padding-left: 30px; */
}
.btn-more1.join_sw::before{
    content: "";
    display: block;
    background: url("../img/icon_joinpr.png") no-repeat;
    background-size: 70px 48px;
    width: 70px;
    height: 48px;
    position: absolute;
    left: -10px;
    top: -15px;
    animation-name: join;
    -webkit-animation-name: join;
    animation-duration: 2.5s;
    -webkit-animation-duration: 2.5s;
    animation-timing-function: ease-out;
    -webkit-animation-timing-function: ease-out;
    transform-origin: 0% 100%;
    -webkit-transform-origin: 0% 100%;
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
}
.btn-more1.live {
	background-image: url("../img/icon_live.png");
	background-repeat: no-repeat;
	background-size: 70px 48px;
}
.btn-more1.live div{
	padding-left: 50px;
}
.btn-more1.live strong{
	letter-spacing: .4em;
}
.btn-more1.live span{
	letter-spacing: 0;
	font-family: 'ヒラギノ角ゴ ProN W3', 'HiraKakuProN-W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-style: italic;
}
.btn-more1.place{
	margin-top: 20px;
}
.btn-more1.place div{
	padding-left: 45px;
}
.btn-more1.place strong{
	letter-spacing: .2em;
}
.btn-more1.place::before{
	content: "";
	display: block;
	width: 49px;
	height: 57px;
	top: -10px;
	left: 8px;
	position: absolute;
	background: url("../img/icon_place.png") no-repeat 0 100%;
	background-size: 45px 55px;
	animation-name: hatch;
	-webkit-animation-name: hatch;
	animation-duration: 5s;
	-webkit-animation-duration: 5s;
	animation-timing-function: ease-in-out;
	-webkit-animation-timing-function: ease-in-out;
	transform-origin: 50% 100%;
	-webkit-transform-origin: 50% 100%;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
}

@keyframes hatch {
	0% {
		transform: rotate(0deg) scaleY(0.6);
	}
	5% {
		transform: rotate(-3deg) scaleY(1.05);
	}
	10% {
		transform: rotate(3deg) scaleY(1);
	}
	15% {
		transform: rotate(-3deg);
	}
	20% {
		transform: rotate(2deg);
	}
	25% {
		transform: rotate(-2deg);
	}
	30% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@-webkit-keyframes hatch {
	0% {
		-webkit-transform: rotate(0deg) scaleY(0.6);
	}
	5% {
		-webkit-transform: rotate(-3deg) scaleY(1.05);
	}
	10% {
		-webkit-transform: rotate(3deg) scaleY(1);
	}
	15% {
		-webkit-transform: rotate(-3deg);
	}
	20% {
		-webkit-transform: rotate(2deg);
	}
	25% {
		-webkit-transform: rotate(-2deg);
	}
	30% {
		-webkit-transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(0deg);
	}
}
.btn-more1.regist{
	background-image: url("../img/icon_regist.png");
	background-repeat: no-repeat;
	background-size: 40px 42px;
	background-position: 5px 50%;
}
.btn-more1.regist div{
	padding-left: 40px;
}

.btn-more1 i.icon-left{
	border-radius: 5px 0 0 5px;
}
.btn-more1 i.icon-left::before{
	margin-left: .1em;
}

/* footer
	========================================================================== */
footer{
	height: auto;
	background: transparent;
	border:none;
	text-align: center;
	margin: 0 10px;
	line-height: 25px;
	color: #4c4c4c;
	font-size: 1.8rem;
}