@charset "utf-8";  
/*------------------------------------------------------------ 
	デフォルトスタイル	全ページ共通css
------------------------------------------------------------*/  

@import url('https://fonts.googleapis.com/css?family=Heebo:400,700&display=swap');

/**** フォントサイズ　*************

基本を12pxに、サイズは％指定。

====偶数====　　　====奇数====
■10px = 84%      ■11px = 92%
■12px = 100%     ■13px = 109%
■14px = 117%     ■15px = 125%
■16px = 134%     ■17px = 142%
■18px = 150%     ■19px = 159%
■20px = 167%     ■21px = 175%
■22px = 184%     ■23px = 192%
■24px = 200%     ■25px = 209%
■26px = 217%     ■27px = 226%

**********************************/

html,
body {
	margin: 0;
	padding: 0;
}

body {
	font-size: 76%;
	background:#2F2F2F;
	padding-top:57px;
	-webkit-text-size-adjust: 100%;
}

html { font-size: 100%;}

div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td ,figure,figcaption{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-family:"游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, 'メイリオ', Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-size: 100%;
	line-height: 1.2;
	font-weight: 300;
	vertical-align: baseline;
	background: transparent;
}  

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,main,picture {
    display: block;
}

blockquote,
q { quotes: none;}

a {
	text-decoration: none;
	outline: none;
}

ins {
	color: #000;
	text-decoration: none;
}

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del { text-decoration: line-through;}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

label{ cursor:pointer;}

input,
select,
textarea {
	font-size: 100%;
	vertical-align: middle;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, 'メイリオ', Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-weight: 300;
}

input[type=text],
input[type=tel],
input[type=password],
textarea{ -webkit-appearance:none;}

input[type=checkbox],
input[type=radio]{
	position:relative;
	top:-1px;
}

ul,ol { list-style-type: none;}
img { vertical-align: middle;}

.img-responsive{
	width:100%;
	height:auto;
}

.opacity { transition:opacity 0.2s ease-out;}
.opacity:hover { opacity: .7;}

.clear { clear: both;}
.clearfix { width: 100%;}
.clearfix:after {
	content: " ";
	display: block;
	clear: both;
	visibility:hidden;
	height:0.1px;
	font-size:0.1em;
	line-height:0;
}

.fl { float: left;}
.fr { float: right;}

.txtl { text-align: left;}
.txtr { text-align: right;}
.txtc { text-align: center;}

strong,
strong *,
.fwb { font-weight: bold;}

.clrr { color: #FF0000;}
.clrb { color: #333;}
.clrw { color: #fff;}

.il { display: inline;}
.bl { display: block;}
.no { display: none;}

.li2 { line-height: 2;}

/* loading */

#overlay{
	width:100%;
	height:100%;
	background:#2F2F2F;
	position:fixed;
	top:0;
	left:0;
	z-index:1000;
}

#loader{
	width:50%;
	height:50%;
	border: 6px solid rgba(100, 100, 100, 0.6);
	border-top: 6px solid rgba(255, 255, 255, 1);
	border-radius:50%;
	height: 50px;
	width: 50px;
	-webkit-animation: fancybox-rotate .8s infinite linear;
	animation: fancybox-rotate .8s infinite linear;
	background: transparent;
	position: absolute;
	top: 45%;
	left: 50%;
	margin-top: -30px;
	margin-left: -30px;
	z-index: 99999;
}

@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }


/*------------------------------------------------------------ 
    スタイル 
------------------------------------------------------------*/

.flex{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	   -ms-flex-pack:justify;
	justify-content:space-between;
	-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex-end{
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.flex-center{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.flex-left{
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.flex-align{
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}

.flex-align-start{
  -webkit-box-align: start;
     -ms-flex-align: start;
        align-items: flex-start;
}

.flex-align-end{
  -webkit-box-align: end;
     -ms-flex-align: end;
        align-items: flex-end;
}

.flex-column{
 -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
     -ms-flex-direction: column;
         flex-direction: column;
}

.flex-reverse{
 -webkit-box-orient: horizontal;
  -webkit-box-direction: row-reverse;
     -ms-flex-direction: row-reverse;
         flex-direction: row-reverse;
}


/*------------------------------------------------------------ 
    コンテンツ 
------------------------------------------------------------*/ 

#selectItem{
	width:100%;
	height:57px;
	padding:10px;
	border-bottom:1px solid #494949;
	box-sizing:border-box;
	position:fixed;
	left:0;
	top:0;
	z-index:100;
	background:#2F2F2F;
}

#selectItem select{
	display:block;
	width:100%;
	max-width:180px;
	height:100%;
	font-size:14px;
	background:#fff url(../img/arrow-select.svg) no-repeat right 10px top 50%;
	background-size:8px 6px;
	padding:0 25px 0 10px;
	border:none;
	border-radius: 3px;
	box-sizing:border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position:relative;
	outline:none;
}

#selectItem select::-ms-expand { display: none;}

.flatpickr-current-month .flatpickr-monthDropdown-months{
	padding-right:22px;
	background:url(../img/arrow-select-white.svg) no-repeat right 10px top 50%;
	background-size:8px 6px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months::-ms-expand { display: none;}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover{
	background:url(../img/arrow-select-white.svg) no-repeat right 10px top 50%;
	background-size:8px 6px;
}

#selectItem input{
	display:block;
	width:100%;
	max-width:180px;
	height:100%;
	font-size:14px;
	background:#fff;
	background-size:8px 6px;
	padding:0 25px 0 10px;
	border:none;
	border-radius: 3px;
	box-sizing:border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position:relative;
	outline:none;
}

#contents{
	flex:1;
	width:100%;
	padding:2px 0;
	box-sizing:border-box;
	-webkit-overflow-scrolling: touch;
}

#result li{ width:calc(33.33333333% - 2px);}
#result li:nth-child(n+4){ margin-top:3px;}
#result li:nth-child(3n+2):last-child{ margin-right:calc(33.33333333% + 1px);}

#result a{
	display:block;
	width:100%;
	height:0;
	padding-top:100%;
	position:relative;
	overflow:hidden;
}

#result img{
	height:100%;
	width:auto;
	position:absolute;
	top:0;
	left:50%;
	transform:translateX(-50%);
}

.flatpickr-day.today,
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay{
    background: #646c8c;
    -webkit-box-shadow: none;
    box-shadow: none;
    color: #fff;
    border-color: #646c8c;
}

.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month{ padding:10px 18px;}

.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg{ fill:#eee;}

#sp-close{
	position:fixed;
	right:15px;
	top:15px;
	z-index:100000;
	width:30px;
	height:30px;
	opacity:0;
	visibility:hidden;
}

#sp-close.show{
	opacity:1;
	visibility:visible;
}

#sp-close a{
	display:block;
	width:100%;
	height:100%;
	position:relative;
}

.top-bar,
.bottom-bar{
	width:100%;
	height:1px;
	background:#fff;
	position:absolute;
	left:0;
	top:50%;
}

.top-bar{transform: rotate(45deg);}
.bottom-bar{transform: rotate(-45deg);}

/*------------------------------------------------------------ 
    MediaQuery 
------------------------------------------------------------*/  

/* TABLET */
@media screen and (min-width: 897px){

.tb-show{ display:none;}

}

@media screen and (max-width: 896px){

.tb-hide{ display:none;}

}


/* SP */
@media screen and (min-width: 481px){

.sp-show{ display:none;}

.flatpickr-calendar{
	position:fixed;
	top:47px!important;
}

}

@media screen and (max-width: 480px){

.sp-hide{ display:none;}

/* calendar */

.flatpickr-months{
	padding:10px 0;
	margin-top:60px;
}
.flatpickr-current-month{
	padding-top:0;
	line-height:34px;
}

.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month{
	line-height:38px;
	top:60px;
}

.flatpickr-calendar.open{
	width:100%;
	height:100vh;
	max-height:100vh;
	position:fixed;
	left:0!important;
	top:0!important;
}

.flatpickr-rContainer,
.flatpickr-days,
.dayContainer{
	width:100%;
	min-width:100%;
	max-width:100%;
}

.flatpickr-day{
	display:block;
	flex-basis:auto;
	width:calc(14.28571428571429% - 4px);
	max-width:none;
	margin:2px;
	height:13.33333333333333vw;
	line-height:13.33333333333333vw;
}


}

.flatpickr-day.today,
.flatpickr-day.today:hover{
    background: #efefef;
    color: #000;
    border: none;
}
