@charset "utf-8";  
/*------------------------------------------------------------ 
	デフォルトスタイル	全ページ共通css
------------------------------------------------------------*/  
/*
@font-face{
	font-family: 'TTNorms';
	src: url("../fonts/TTNorms-Regular.woff"), url("../fonts/TTNorms-Regular.otf");
	font-weight: normal;
	font-style: normal;
}

@font-face{
	font-family: 'TTNorms';
	src: url("../fonts/TTNorms-Bold.woff"), url("../fonts/TTNorms-Bold.otf");
	font-weight: 700;
	font-style: normal;
}
*/
html,
body { margin: 0; padding: 0;}
body {
	font-size: 1.2rem;
	background: #fff;
	-webkit-text-size-adjust: 100%;
	overflow-y:scroll;
}

html { font-size: 62.5%;}

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: 'Noto Sans JP',"游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, 'メイリオ', Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-size: 1.2rem;
	line-height: 1.5;
	font-weight: normal;
	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 {
	background-color: #ff9;
	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;
}

input,
select,
textarea {
	font-size: 100%;
	vertical-align: middle;
	font-family:'Noto Sans JP', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, 'メイリオ', Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

input[type=text],
input[type=tel],
input[type=password],
input[type=search],
input[type=email],
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:all 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: #E73828;}
.clrb { color: #333;}
.clrw { color: #fff;}
.clrg { color:#595757;}

.il { display: inline;}
.bl { display: block;}
.no { display: none;}

.li2 { line-height: 2;}

/* margin */
.mt10 { margin-top: 10px;}
.mt20 { margin-top: 20px;}
.mt30 { margin-top: 30px;}

.mr10 { margin-right: 10px;}
.mr20 { margin-right: 20px;}
.mr30 { margin-right: 30px;}

.mb10 { margin-bottom: 10px;}
.mb20 { margin-bottom: 20px;}
.mb30 { margin-bottom: 30px;}

.ml10 { margin-left: 10px;}
.ml20 { margin-left: 20px;}
.ml30 { margin-left: 30px;}

/* padding */
.pt10 { padding-top: 10px;}
.pt20 { padding-top: 20px;}
.pt30 { padding-top: 30px;}

.pr10 { padding-right: 10px;}
.pr20 { padding-right: 20px;}
.pr30 { padding-right: 30px;}

.pb10 { padding-bottom: 10px;}
.pb20 { padding-bottom: 20px;}
.pb30 { padding-bottom: 30px;}

.pl10 { padding-left: 10px;}
.pl20 { padding-left: 20px;}
.pl30 { padding-left: 30px;}

/* font-size */
.font10 { font-size: 84%;}
.font11 { font-size: 92%;}
.font12 { font-size: 100%;}
.font13 { font-size: 109%;}
.font14 { font-size: 117%;}
.font15 { font-size: 125%;}
.font16 { font-size: 134%;}
.font17 { font-size: 142%;}
.font18 { font-size: 150%;}
.font19 { font-size: 159%;}
.font20 { font-size: 167%;}
.font21 { font-size: 175%;}
.font22 { font-size: 184%;}
.font23 { font-size: 192%;}
.font24 { font-size: 200%;}
.font25 { font-size: 209%;}
.font26 { font-size: 217%;}
.font27 { font-size: 226%;}



/*------------------------------------------------------------ 
    スタイル 
------------------------------------------------------------*/

.inner {
	width:auto;
	max-width: 1100px;
	margin: 0 auto;
	padding-right:30px;
	padding-left:30px;
	position:relative;
}

.inner.wid{ max-width:1440px;}

.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-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;
}

.flex-auto{ flex:1;}

.hover figure{ overflow:hidden;}
.hover img{ transition:all 0.4s ease-out;}
.hover:hover img{ transform:scale(1.1);}

.tel-link a{ color:inherit;}

.txtlink{
	font-size:inherit;
	font-weight:inherit;
	line-height:inherit;
}

.circle{ border-radius:50%;}

/*------------------------------------------------------------ 
    ヘッダー 
------------------------------------------------------------*/

#header {
	width:100%;
	padding:20px 30px;
	box-sizing:border-box;
	background:#fff;
	position: sticky;
    top: 0px;
    z-index: 1000;
	border-bottom:1px solid #DCDDDD;
}

.logo{
	width:300px;
	margin-right:30px;
}

#header .logo{
	position:relative;
	z-index:2000;
}

#gNavi{
	flex:1;
	flex-wrap: nowrap;
    white-space: nowrap;
}

.navi1{ margin-right:30px;}

.navi1 a{
	font-size:1.4rem;
	color:#666;
	transition:all 0.2s ease-out;
}

#ftNavi a:hover,
.navi1 a:hover{ color:#000;}

.navi2 + .navi2{ margin-left:20px;}
.navi2 a{
	display:block;
	padding:0 25px;
	line-height:38px;
	font-size:1.4rem;
	color:#fff;
	overflow:hidden;
	border-radius:5px;
	border:1px solid;
	transition:all 0.4s ease-out;
	position:relative;
	z-index:1;
}

.navi2 .style1{ border-color:#E73828;}
.navi2 .style1:hover{ color:#E73828;}

.navi2 .style2{ border-color:#0DB7D6;}
.navi2 .style2:hover{ color:#0DB7D6;}

.btn-effect{
    position: absolute;
    display: block;
    width: 225%;
    height: 562.5px;
    border-radius: 50%;
    transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.navi2 .style1 .btn-effect{ background:#E73828;}
.navi2 .style2 .btn-effect{ background:#0DB7D6;}

a:hover .btn-effect{
	width: 0;
	height: 0;
}


#hdSearch{
	flex:1;
	max-width:550px;
	margin-right:auto;
	box-sizing:border-box;
}

#hdSearch + #gNavi{
	padding-left:20px;
	flex:none;
}

.naviInput{
	width:50%;
	height:46px;
	border:1px solid #EFEFEF;
	box-sizing:border-box;
	position:relative;
}

.naviInput + .naviInput{ border-left:none;}

.naviInput input{
	width:100%;
	height:100%;
	padding:0 10px 0 40px;
	border:none;
	outline:none;
	font-size:1.4rem;
	border-radius:0;
	background:#F7F8F8 no-repeat 12px 50%;
	box-sizing:border-box;
}

.naviInput input.style1{
	background-image:url(../img/icon-search.svg);
	background-size:17px auto;
}

.naviInput input.style2{
	background-image:url(../img/icon-spot.svg);
	background-size:15px auto;
}

#headerForm{
	width:100%;
	margin-top:30px;
}

#headerForm > li{
	width:120px;
	height:30px;
	position:relative;
}

#headerForm .hdFormBtn{
	display:block;
	width:100%;
	height:100%;
	text-align:center;
	line-height:28px;
	color:#000;
	font-size:1.4rem;
	border:1px solid #C9CACA;
	box-sizing:border-box;
	border-radius:5px;
	transition:all 0.2s ease-out;
    padding:0 5px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#headerForm .hdFormBtn.selected,
#headerForm .hdFormBtn:hover{ background:rgb(247,248,248);}

.seachItem{
	width:auto;
	padding:18px;
}

.btn-clear{
	color:#333;
	font-size:1.4rem;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
	background:none;
	border:none;
	cursor:pointer;
	font-family: 'Noto Sans JP',"游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, 'メイリオ', Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

.form-price{
	width:130px;
	height:45px;
	padding:0 10px;
	font-size:1.4rem;
	background:#F7F8F8;
	border:1px solid #EFEFEF;
	border-radius:0;
	outline:none;
	box-sizing:border-box;
}

.seachItem .form-input{
	height:45px;
	padding:0 10px;
	border-radius:0;
	border:1px solid #EFEFEF;
}

.seachItemFacility li{ width:50%;}
.seachItemFacility li:nth-child(n+3){ margin-top:15px;}
.seachItemFacility label{
	display:block;
	cursor:pointer;
}

.seachItemFacility input{ display:none;}
.seachItemFacility span{
	display:block;
	padding:0 4px 0 28px;
	line-height:18px;
	font-size:1.4rem;
	position:relative;
	white-space:normal;
}

.seachItemFacility span::before{
	display:block;
	content:"";
	width:18px;
	height:18px;
	background:#EFEFEF;
	position:absolute;
	left:0;
	top:0;
}

.seachItemFacility input:checked + span::before{ background:#0DB7D6 url(../img/icon-check.svg) no-repeat 50%;}


/* popup */

.popupItem{
	min-width:330px;
	white-space:nowrap;
    box-shadow: rgba(0, 0, 0, .1) 0px 0 6px;
    border: 1px solid #EEEEEE;
    background: #fff;
    border-radius: 5px;
    position: absolute;
    left: 0px;
    top: calc(100% + 8px);
	box-sizing:border-box;
	transition:all 0.2s ease-out;
	opacity:0;
	visibility:hidden;
	z-index:-100;
}

.popupItemHd{
	width:100%;
	padding:15px 20px 10px;
	box-sizing:border-box;
}

.popupItemHd p{
	font-weight:bold;
	font-size:1.6rem;
}

.popupItemLink{
	width:100%;
	position:relative;
}

.popupItem .bdr{
	border-top: 1px solid #EEEEEE;
	margin-top:15px;
}

.naviInput .popupItem .bdr{ margin-top:0;}

.popupItemLink > a{
	display:block;
	color:#000;
	padding:10px 20px;
	font-size:1.4rem;
	transition:all 0.2s ease-out;
}

.popupItemLink > a:hover{ background:rgb(246, 246, 246);}

.popupItem.show,
.popupItemLink:hover .popupItemSubLink{
	opacity:1;
	visibility:visible;
    z-index: 500;
}


/* login */

#mypageMenu{ position:relative;}

#mypageMenuUser{
	display:block;
	width:42px;
	padding-right:30px;
	position:relative;
}

#mypageMenuUser::after{
	display:block;
	content:"";
	width:8px;
	height:8px;
	border-right:2px solid #666666;
	border-bottom:2px solid #666666;
	transform:rotate(45deg) translate(-50%,-50%);
	position:absolute;
	right:0;
	top:50%;
}

#mypageMenuList{
	position:absolute;
	width:260px;
    box-shadow: rgba(0, 0, 0, .1) 0px 0 6px;
    border: 1px solid #EEEEEE;
    background: #fff;
	right:0;
	top:64px;
	z-index:100;
	opacity:0;
	visibility:hidden;
	transition:all 0.2s ease-out;
}

#mypageMenuList::before{
	display:block;
	content:"";
	width:100%;
	height:30px;
	position:absolute;
	top:-30px;
}

.mypageNaviName{
	width:auto;
	padding:16px;
	border-bottom:1px solid #DCDDDD;
	font-size:1.4rem;
}

.mypageNavi1 a{
	display:block;
	width:auto;
	padding:16px;
	font-size:1.4rem;
	color:#000;
	position:relative;
	transition:all 0.2s ease-out;
}

.mypageNavi1 a:hover,
.mypageNavi2 a:hover{ background:#EFEFEF;}

.mypageNavi2{
	width:auto;
	padding:16px;
}

.mypageNavi2 a{
	display:block;
	padding:10px 14px;
	font-size:1.4rem;
	color:#000;
	border:1px solid #C9CACA;
	position:relative;
	transition:all 0.2s ease-out;
}

.mypageNavi1 a::after,
.mypageNavi2 a::after{
	display:block;
	content:"";
	width:6px;
	height:6px;
	border-right:2px solid #666666;
	border-top:2px solid #666666;
	transform:rotate(45deg) translate(-50%,-50%);
	position:absolute;
	top:50%;
}

.mypageNavi1 a::after{ right:20px;}
.mypageNavi2 a::after{ right:12px;}



/* sp */

.navBtn{
	width:40px;
	height:40px;
	padding-left:15px;
	position:relative;
	z-index:2000;
}

.navBtn a{
	display:block;
	width:100%;
	height:100%;
	position:relative;
}

.top-bar,
.middle-bar,
.bottom-bar{
	width: 30px;
	height: 1px;
	background-color:#000;
	transition: transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	transform-origin: 50% 50%;
	position: absolute;
	top: 8px;
	left:5px;
}

.middle-bar{
	transition: opacity 0s .15s linear ;
	top: 20px;
}

.bottom-bar{ top: 33px;}

.open .top-bar{
	transform: rotate(45deg);
	top: 20px;
}

.open .middle-bar{ opacity: 0;}

.open .bottom-bar{
	transform: rotate(-45deg);
	top: 20px;
}


/*------------------------------------------------------------ 
    コンテンツ 
------------------------------------------------------------*/ 

#contents{
	width:100%;
	padding-bottom:150px;
/*	overflow:hidden;*/
}

#contents.detail{
	padding-top:50px;
	position:relative;
	z-index:1;
}

#contents.detail::before{
	display:block;
	content:"";
	width:100%;
	height:900px;
	max-height:100%;
	position:absolute;
	left:0;
	top:0;
	z-index:-1;
	background: rgb(247,248,248);
	background: -moz-linear-gradient(top,  rgba(247,248,248,1) 0%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(247,248,248,1) 0%,rgba(255,255,255,1) 100%);
	background: linear-gradient(to bottom,  rgba(247,248,248,1) 0%,rgba(255,255,255,1) 100%);
}

.section{ margin-top:80px;}
.section-sub{ margin-top:50px;}


/* title & text */

.headline{
	width:100%;
	text-align:center;
	font-size:3rem;
	font-weight:bold;
	margin-bottom:40px;
}

#detailHd{
	font-size:3rem;
	margin-bottom:70px;
}

.title{
	font-size:4rem;
	text-align:center;
	margin-bottom:20px;
}

.sub-title{
	font-size:2rem;
	margin-bottom:30px;
}

.lead{
	font-size:1.8rem;
	line-height:1.75;
} 

.txt-l{
	font-size:1.6rem;
	line-height:1.75;
} 

.editor div,
.editor p,
#editor div,
#editor p,
.txt,
.txtlist li{
	font-size:1.4rem;
	line-height:1.75;
}

.txtlist li{
	padding-left:1em;
	text-indent:-1em;
}
.txtlist li::before{ content:"・";}
.txtlist li + li{ margin-top:4px;}

#editor blockquote{
    font-style: italic;
    border-left: 2px solid #DCDDDD;
    padding-left: 1em;
    padding-top: .05em;
    padding: 1em;
    padding-bottom: .2em;
}

/* pankuzu */

#pankuzu{
	width:100%;
	padding:6px 30px;
	border-bottom:1px solid #DCDDDD;
	box-sizing:border-box;
	background:#fff;
	position:relative;
	z-index:400;
	white-space:nowrap;
	-webkit-flex-wrap:nowrap;
	flex-wrap:nowrap;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
}

#pankuzu li{
	padding:2px 0;
	margin-right:12px;
}

#pankuzu a{
	color:#595757;
	transition:all 0.2s ease-out;
}

#pankuzu a:hover{ color:#000;}

#pankuzu li:not(:last-child)::after{
	content:">";
	padding-left:8px;
}

.notfound{
	width:100%;
	text-align:center;
	padding-top:40px;
	font-size:1.4rem;
	font-weight:bold;
}


/* button */

.btn{
	width:100%;
	max-width:340px;
	height:60px;
	margin-left:auto;
	margin-right:auto;
}

.btn.btn-small{
	max-width:250px;
	height:50px;
}

.btn.btn-wid{ max-width:100%;}

.btn-wrap{ margin-top:50px;}
.btn-wrap.btn-small{ margin-top:30px;}

.btn a{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
	width:100%;
	height:100%;
	text-align:center;
	font-size:1.6rem;
	font-weight:bold;
	border-radius:5px;
	color:#0DB7D6;
	background:#fff;
	border:1px solid #0DB7D6;
	transition:all 0.4s ease-out;
	position:relative;
	z-index:1;
	overflow:hidden;
	box-sizing:border-box;
}

.btn a .btn-effect{
	width:0;
	height:0;
	background:#0DB7D6;
}

.btn a:hover{ color:#fff;}
.btn a:hover .btn-effect{
	width: 225%;
	height: 562.5px;
}

.btn.btn-search{
	width:85px;
	height:40px;
	margin:0;
}

.btn.btn-search a{
	font-size:1.4rem;
	font-weight:normal;
	border:1px solid #0DB7D6;
}

.btn .btn-blue{
	color:#fff;
	background:#0DB7D6;
	border:1px solid #0DB7D6;
}

.btn .btn-blue:hover{ color:#0DB7D6;}
.btn .btn-blue .btn-effect{ background:#fff;}

.btn .btn-red{
	color:#fff;
	background:#E73828;
	border-color:#E73828;
}

.btn .btn-red:hover{ color:#E73828;}
.btn .btn-red .btn-effect{ background:#fff;}

.btn .btn-cancel{
	border:none;
	background:#DCDDDD;
	color:#fff;
}

.btn .btn-cancel .btn-effect{ background:#E73828;}

.btn .btn-fb{
	color:#fff;
	border-color:#0574F6;
	background:#0574F6;
}

.icon-fb{
	display:block;
	width:10px;
	position:absolute;
	left:18px;
	top:50%;
	transform:translateY(-50%);
	z-index:10;
}

.icon-fb path{ transition:all 0.2s ease-out;}

.btn .btn-fb:hover{ color:#0574F6;}
.btn .btn-fb:hover .icon-fb path{ fill:#0574F6;}
.btn .btn-fb .btn-effect{ background:#fff;}

.btn .disabled{
	background:#DCDDDD;
	pointer-events: none;
	border:none!important;
	color:#fff;
}


.close-btn{
	display:block;
	width:15px;
}


/* item */

.articleItem.col4{ width:calc(33.333333% - 26px);}
.articleItem.col4:nth-child(n+4){ margin-top:40px;}

.articleItem.col6{ width:calc(50% - 15px);}
.articleItem.col6:nth-child(n+3){ margin-top:30px;}

.item-img{
	width:100%;
	position:relative;
}

.item-favorite{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width:40px;
	height:40px;
	border-radius:50%;
	background:rgba(0,0,0,.3);
	position:absolute;
	right:15px;
	top:10px;
	z-index:10; 
}

.item-img svg{
	width:21px;
	height:auto;
	transform:translateY(1px);
}

.item-img path{ transition:all 0.2s ease-out;}
.item-img .selected path{ fill:#E73828;}

.item-info{
	display:block;
	padding:15px 12px 20px;
	color:#000;
	transition:all 0.2s ease-out;
}

.item-info:hover,
a:hover .item-info{ box-shadow: rgba(0, 0, 0, .1) 0px 0 6px;}

.item-review{ /* レビュー機能まだのため */
	display:none;
	width:100%;
	margin-bottom:10px;
}

.item-review dt{ width:84px;}
.item-review dt img{ display:block;}

.item-review dd{
	width:calc(100% - 90px);
	font-size:1.4rem;
	line-height:14px;
}

.item-review dd span{
	color:#898989;
	line-height:inherit;
}

.item-ttl{
	font-size:1.4rem;
	color:#000;
	margin-bottom:8px;
}

.item-txt{
	color:#898989;
	line-height:1.75;
}

.item-cate{
	margin-top:8px;
	color:#333333;
}

.item-price{
	font-size:1.4rem;
	margin-bottom:10px;
	color:#000;
}

.item-price span{
	font-size:1.6rem;
	font-weight:bold;
	color:#000;
}

.item-data li{
	margin-top:5px;
	color:#898989;
	line-height:16px;
	padding-left:22px;
	background:no-repeat 0 50%;
	background-size:auto 16px;
}

.item-data .style1{ background-image:url(../img/icon-spot.svg);}
.item-data .style2{ background-image:url(../img/icon-time.svg);}
.item-data .style3{ background-image:url(../img/icon-person.svg);}

.item-btn{
	width:100%;
	max-width:246px;
	height:50px;
	margin:15px auto 0;
	text-align:center;
	line-height:50px;
	color:#fff;
	font-size:1.6rem;
	font-weight:bold;
	background:#0DB7D6;
	border-radius:5px;
	transition:all 0.2s ease-out;
}

a:hover .item-btn{ opacity:0.7;}

/* pagination */

#pagination{
	width:100%;
	margin-top:25px;
}

#pagination li{
	margin:5px;
	font-size:1.4rem;
	color:#595757;
	line-height:40px;
}

#pagination a{
	display:block;
	width:40px;
	text-align:center;
	line-height:40px;
	color:#0DB7D6;
	font-size:inherit;
	font-weight:bold;
	background:#F7F8F8;
	border-radius:50%;
	transition:all 0.2s ease-out;
}

#pagination a:hover,
#pagination .selected{
	color:#fff;
	background:#0DB7D6;
}

#pagination .selected{ pointer-events: none;}

#pagination .next,
#pagination .prev{
	text-indent:-9999px;
	position:relative;
}

#pagination .next::before,
#pagination .prev::before{
	display:block;
	content:"";
	width:8px;
	height:8px;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%) rotate(45deg);
	transition:all 0.2s ease-out;
}

#pagination .next::before{
	border-top:2px solid #0DB7D6;
	border-right:2px solid #0DB7D6;
}

#pagination .prev::before{
	border-bottom:2px solid #0DB7D6;
	border-left:2px solid #0DB7D6;
}

#pagination .next:hover::before,
#pagination .prev:hover::before{ border-color:#fff;}


/* recruit */

#spaceRecruitment{
	width:100%;
	text-align:center;
	padding:140px 15px;
	margin-top:200px;
	color:#fff;
	background:url(../img/bg-recruit.jpg?ver=1) no-repeat 50%;
	background-size:cover;
	box-sizing:border-box;
	position:relative;
	z-index:1;
}

#spaceRecruitment::before{
	display:block;
	content:"";
	width:100%;
	height:100%;
	background:rgb(34, 34, 34);
	opacity:0.3;
	position:absolute;
	left:0;
	top:0;
	z-index:10;
}

#spaceRecruitment .title,
#spaceRecruitment .lead,
#spaceRecruitment .btn{
	position:relative;
	z-index:20;
}



/* input */

.halfItem{ width:calc(50% - 10px);}

.form-input{
	width:100%;
	height:60px;
	padding:0 20px;
	font-size:1.4rem;
	background:#F7F8F8;
	border-radius:5px;
	border:none;
	outline:none;
	box-sizing:border-box;
}

.form-input.small{
	padding:0 15px;
	height:50px;
}

.form-txtarea{
	width:100%;
	height:240px;
	padding:20px;
	font-size:1.4rem;
	background:#F7F8F8;
	border-radius:5px;
	border:none;
	outline:none;
	resize:none;
	overflow:auto;
	box-sizing:border-box;
}

.form-txtarea.small{
	height:160px;
	padding:15px;
}

.form-select{ position:relative;}

.form-select select{
	-webkit-appearance: none;
	appearance: none;
}

.form-select select::-ms-expand{ display: none;}

.form-select::after{
	display:block;
	content:"";
/*
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 3.5px 0 3.5px;
	border-color: #303a39 transparent transparent transparent;
*/
	width:4px;
	height:4px;
	border-right:2px solid #666;
	border-bottom:2px solid #666;
	position:absolute;
	right:20px;
	top:50%;
	transform:translateY(-50%) rotate(45deg);
	pointer-events: none;
}

.form-check{
	display:block;
	width:100%;
	text-align:center;
	padding:30px 0;
}

.form-check input{ display:none;}
.form-check span{
	display:inline-block;
	font-size:1.4rem;
	padding-left:26px;
	line-height:14px;
	position:relative;
	cursor:pointer;
}

.form-check span::before{
	display:block;
	content:"";
	width:14px;
	height:14px;
	background:#EFEFEF;
	position:absolute;
	left:0;
	top:0;
}

.form-check input:checked + span::before{ background:#E73828 url(../img/icon-check.svg) no-repeat 50%;}

.contactItem + .contactItem{ margin-top:40px;}

.contactItem dt{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
	-webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	font-size:1.4rem;
	margin-bottom:15px;
}

.contactItem dt::after{
	display:block;
	width:40px;
	text-align:center;
	line-height:20px;
	margin-left:10px;
	font-size:1.1rem;
	color:#fff;
}

.contactItem .required::after{
	content:"必須";
	background:#E73828;
}

.contactItem .free::after{
	content:"任意";
	background:#C0CACA;
}

.submit{
	width:100%;
	max-width:420px;
}

.submit .btn-blue{
	font-size:1.8rem;
	border:1px solid #0DB7D6;
}

.error{
	width:100%;
	margin-top:8px;
}

.error span{
	font-size:1.3rem;
	color:#E73828;
}

.grecaptcha-badge{
	bottom:180px!important;
	z-index:100;
}

#password-result p{
	font-size:1.4rem;
	padding-top:10px;
	color:inherit;
}

#password-result.short,
#password-result.week{ color:#E73828;}
#password-result.good{ color:#F2C81F;}
#password-result.strong{ color:#23ACC9;}

#password-result p::after{
	display:block;
	content:"";
	height:10px;
	margin-top:8px;
}

#password-result.short p::after,
#password-result.week p::after{
	width:30%;
	background:#E73828;
}

#password-result.good p::after{
	width:60%;
	background:#F2C81F;
}

#password-result.strong p::after{
	width:100%;
	background:#23ACC9;
}


/* article */

.article-title1{
	font-size:2.8rem;
	line-height:1.25;
	margin-bottom:30px;
}

.article-title1::after{
	display:block;
	content:"";
	width:220px;
	height:1px;
	margin-top:15px;
	background:#0DB7D6;
}

.template-bg > *:first-child,
#editor > *:first-child,
.editor > *:first-child{ margin-top:0!important;}

#editor .template-bg,
.editor .template-bg{
	margin-top:40px;
	padding:20px;
	background:#F7F8F8;
}

#editor ol,
.editor ol,
#editor ul,
.editor ul{
	list-style:none;
	width:100%;
	margin-top:15px;
	counter-reset: item;
}

#editor ol > li,
.editor ol > li{
	text-indent: -1.3em;
	padding-left: 1.6em;
	font-size: 14px;
}

#editor ul > li,
.editor ul > li{
	text-indent: -1.2em;
	padding-left: 1.2em;
	font-size: 14px;
}

#editor ol > li + li,
.editor ol > li + li,
#editor ul > li + li,
.editor ul > li + li{ margin-top:10px;}

#editor ol > li::before,
.editor ol > li::before{
    counter-increment: item;
    content: counter(item)'.';
    padding-right: .5em;
}

#editor ul > li::before,
.editor ul > li::before{
    content:'・';
    padding-right: .2em;
}

#editor ol > li:nth-child(n+10)::before,
.editor ol > li:nth-child(n+10)::before{ padding-right:.3em;}

#editor ol > li:nth-child(n+10),
.editor ol > li:nth-child(n+10){
	text-indent: -1.5em;
	padding-left: 1.5em;
}

#editor ol li li,
.editor ol li li,
#editor ul li li,
.editor ul li li{
	font-size: 14px;
	text-indent: -2em;
	padding-left: 2em;
	margin-top:5px;
}

#editor ol li li:nth-child(-n+9),
.editor ol li li:nth-child(-n+9){
	text-indent: -1.45em;
	padding-left: 2em;
}

#editor,
.editor{ word-break: break-all;}

#editor h2,
.editor h2,
.article-title2{
	font-size:1.6rem;
	line-height:1.75;
	padding:10px 10px 10px 20px;
	margin:0 0 20px;
	background:#F7F8F8;
	border-left:4px solid #0DB7D6;
}

.editor div + h2,
.editor p + h2,
#editor div + h2,
#editor p + h2{ margin-top:40px;}

.article-image{ margin:20px 0;}
#editor img,
.editor img,
.article-image img{
	max-width:100%;
	float:none!important;
	height:auto!important;
}

.article-date{
	color:#666666;
	font-size:1.4rem;
	margin-bottom:20px;
}

#editor > ol,
.editor > ol,
#editor > ul,
.editor > ul,
.article-list{
	width:100%;
	margin-top:15px;
	counter-reset: item;
}

#editor > ol > li,
.editor > ol > li,
.article-list > li{
	text-indent: -1.3em;
	padding-left: 1.6em;
	font-size: 1.4rem;
}

#editor > ul > li,
.editor > ul > li{
	text-indent: -1.2em;
	padding-left: 1.2em;
	font-size: 1.4rem;
}

#editor > ol > li + li,
.editor > ol > li + li,
#editor > ul > li + li,
.editor > ul > li + li,
.article-list > li + li{ margin-top:10px;}

#editor > ol > li::before,
.editor > ol > li::before,
.article-list > li:before {
    counter-increment: item;
    content: counter(item)'.';
    padding-right: .5em;
}

#editor > ul > li::before,
.editor > ul > li::before{
    content:'・';
    padding-right: .2em;
}

#editor > ol > li:nth-child(n+10)::before,
.editor > ol > li:nth-child(n+10)::before,
.article-list > li:nth-child(n+10)::before{ padding-right:.3em;}

#editor > ol > li:nth-child(n+10),
.editor > ol > li:nth-child(n+10),
.article-list > li:nth-child(n+10){
	text-indent: -1.5em;
	padding-left: 1.5em;
}

#editor > ol li li,
.editor > ol li li,
#editor > ul li li,
.editor > ul li li,
.article-list li li{
	font-size: 1.4rem;
	text-indent: -2em;
	padding-left: 2em;
	margin-top:5px;
}

#editor > ol li li:nth-child(-n+9),
.editor > ol li li:nth-child(-n+9),
.article-list li li:nth-child(-n+9){
	text-indent: -1.45em;
	padding-left: 2em;
}

.editor div,
#editor div,
.editor p,
#editor p{ margin-top:20px;}

.clr-blue{ color:#0DB7D6;}

.editor strong,
.editor em,
#editor strong,
#editor em{ font-size:inherit;}

.editor a,
#editor a{
	font-size:inherit;
	color:#0DB7D6;
	transition:all 0.2s ease-out;
}

.editor a:hover,
#editor a:hover{ opacity:.7;}

#editor a:not([href]),
.editor a:not([href]){
	color:inherit;
	pointer-events:none;
}

#editor span{ font-size:inherit;}

.editor .iframe-wrap,
#editor .iframe-wrap{
	width:100%;
	height:0;
	padding-top:56.25%;
	position:relative;
	margin-top:20px;
}

.editor .iframe-wrap iframe,
#editor .iframe-wrap iframe{
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
}


/* loading */

#overlay{
	display:none;
	width:100%;
	height:100%;
	background:rgba(255,255,255,.7);
	position:fixed;
	top:0;
	left:0;
	z-index:10000;
}

#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); } }

/*------------------------------------------------------------ 
    フッター 
------------------------------------------------------------*/  

#ftMessage{
	width:100%;
	text-align:center;
	padding:40px 0;
	background:#0DB7D6;
}

#ftMessage-ttl{
	color:#fff;
	font-size:2.8rem;
	font-weight:bold;
	margin-bottom:35px;
}

#ftMessage .btn a{ border:1px solid #fff;}

#pagetop{
	display:none;
	width:96px;
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:500;
}


#footer{
	width:100%;
	padding:40px 0 80px;
	background:#F7F8F8;
}

#ftNavi{
	width:100%;
	margin-top:40px;
}

#ftNavi dt{
	font-size:1.6rem;
	margin-bottom:15px;
}

#ftNavi a{
	color:#666;
	line-height:2.1;
	transition:all 0.2s ease-out;
}

#copyright{
	width:100%;
	margin-top:30px;
	padding-top:20px;
	text-align:center;
	border-top:1px solid #DCDDDD;
}
/*
#copyright small{
	font-family: 'TTNorms';
	font-weight: normal;
}
*/
/*------------------------------------------------------------ 
    MediaQuery 
------------------------------------------------------------*/  

/* PC */
@media screen and (max-width: 1300px){

.logo{
	width:240px;
	margin-right:24px;
}

.navi1:not(:first-child){ margin-right:24px;}
/*.navi1 a{ font-size:1.4rem;}*/

.navi2 + .navi2{ margin-left:16px;}
.navi2 a{
	padding:0 20px;
	line-height:30px;
/*	font-size:1.4rem;*/
}

}

@media screen and (max-width: 1100px) and (min-width: 835px){

.inner,
#pankuzu{
	padding-left:20px;
	padding-right:20px;
}

#header{ padding:15px 20px;}

#header .logo:not(.mypage){
	width:41px;
	margin-right:20px;
}

.navi1:not(:first-child){ margin-right:15px;}
.navi2 + .navi2{ margin-left:10px;}

}


/* TABLET */
@media screen and (min-width: 835px){

.tb-show{ display:none;}

.logo + #gNavi li:first-child{ margin-right:auto;}

#headerForm > li:not(:last-child){ margin-right:10px;}

.articleItem.col4:nth-child(3n+2):last-child{ margin-right:calc(33.333333% + 13px);}

#mypageMenu:hover #mypageMenuList{
	opacity:1;
	visibility:visible;
}

}

@media screen and (max-width: 834px){

.tb-hide{ display:none;}

.inner,
#pankuzu{
	padding-left:15px;
	padding-right:15px;
}

.inner .inner{ padding:0;}

#header{
	padding:10px 15px;
/*	overflow-x:hidden;*/
}

.logo{ width:200px;}

.navi2 a{ padding:0 10px;}

#gNavi{
    display:block;
    width:100%;
    height:100vh;
    position:fixed;
    top:0;
    right:0;
    z-index:1000;
    padding:90px 30px 30px;
    box-sizing:border-box;
    overflow:auto;
    -webkit-overflow-scrolling: touch;
    opacity:0;
    visibility:hidden;
    transition: all 0.5s cubic-bezier(0.485, 0.135, 0, 0.995);
}

.open #gNavi{
    background:#F7F8F8;
    opacity:1;
    visibility:visible;
}

#gNavi > ul{
	max-width:600px;
	margin:0 auto;
    transform:translateX(15%);
    transition: all 0.6s cubic-bezier(0.485, 0.135, 0, 0.995);
}

.open #gNavi > ul{ transform:translateX(0%);}

.navi1{
	width:100%;
	margin-right:0;
}
.navi1 a{ font-size:1.8rem;}
.navi1:not(:first-child){ margin:20px 0 0;}

#header .navi2{
	width:calc(50% - 10px);
	margin-top:20px;
}

#header .navi2 a{
	font-size:1.6rem;
	line-height:50px;
	text-align:center;
}

#headerForm{ margin-top:10px;}

#headerForm > li{
	width:100px;
	position:static;
}

#headerForm > li + li{ margin-left:10px;}

#headerForm .popupItem{
	left:25px;
	top:100%;
}

.navBtn{ padding-left:5px;}

#mypageMenu{
	margin-left:auto;
	padding-left:10px;
}

#mypageMenuUser{ padding-right:0;}
#mypageMenuUser::after{ display:none;}

#mypageMenuList.show{
	opacity:1;
	visibility:visible;
}

#mypageMenuList{
	position:fixed;
	top:62px;
}

/* contents */

#contents{
	padding-bottom:120px;
	overflow-x:hidden;
}
#contents.detail{ padding-top:40px;}

.section{ margin-top:60px;}
.section-sub{ margin-top:40px;}

#detailHd{
	font-size:2.4rem;
	margin-bottom:50px;
}

.headline{
	font-size:2.4rem;
	margin-bottom:30px;
}

.title{ font-size:3.2rem;}


#spaceRecruitment{
	padding:100px 15px;
	margin-top:150px;
}

.list-wrap{
	width:auto;
	margin:0 -15px;
	padding-left:15px;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
}

.list-wrap > ul{
/*	width:900px;*/
	-webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
	-webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.list-wrap .articleItem.col4{
	width:300px;
	padding-right:15px;
	box-sizing:border-box;
}

.list-wrap .articleItem.col4:nth-child(n+3){ margin-top:0;}

.articleItem.col4,
.articleItem.col6{ width:calc(50% - 10px);}
.articleItem.col4:nth-child(n+3),
.articleItem.col6:nth-child(n+3){ margin-top:20px;}

.article-title1{ font-size:2.4rem;}



/* footer */

#ftMessage{ padding:30px 0;}

#ftMessage-ttl{
	font-size:2.1rem;
	margin-bottom:25px;
}

#pagetop{
	width:72px;
	right:15px;
	bottom:15px;
}

#footer{ padding:30px 0 60px;}

#ftNavi{ margin-top:30px;}
#ftNavi > li{ width:50%;}
#ftNavi > li:nth-child(n+3){ margin-top:30px;}

}


/* SP */
@media screen and (min-width: 481px){

.sp-show{ display:none;}

#ftNavi .sub + .sub::before{
	content:"|";
	padding:0 5px;
}

.popupItemSubLink{
	width:200px;
	white-space:nowrap;
    box-shadow: rgba(0, 0, 0, .1) 0px 0 6px;
    border: 1px solid #EEEEEE;
    background: #fff;
    border-radius: 5px;
	position:absolute;
	left:90%;
	top:-15px;
	z-index:10;
	opacity:0;
	visibility:hidden;
	transition:all 0.2s ease-out;
}

.seachItemFacility{ width:350px;}

}

@media screen and (max-width: 834px) and (min-width: 481px){

.popupItemSubLink{
	left:60%;
	top:0;
}

}

@media screen and (max-width: 480px){

.sp-hide{ display:none;}

#gNavi{ padding:90px 20px 20px;}

.navi1{ width:100%;}
.navi1 a{ font-size:1.6rem;}

#header .navi2{ width:100%;}

.navi2 + .navi2{ margin-left:0;}

.navBtn{ padding-left:10px;}
/*
#headerForm{
	-webkit-box-pack:justify;
	   -ms-flex-pack:justify;
	justify-content:space-between;
}
*/
#headerForm > li{ width:calc(25% - 6px);}
#headerForm > li + li{ margin-left:8px;}

#headerForm .popupItem{
	width:calc(100% - 40px);
	min-width:calc(100% - 40px);
	left:20px;
}

.naviInput{ height:40px;}
.naviInput input{
	padding-left:30px;
	font-size:1.3rem;
	background-position:6px 50%;
}

.popupItem{ min-width:100%;}

.popupItemHd{ padding:15px 15px 10px;}
.popupItemHd p{ font-size:1.4rem;}

.popupItemLink{ border-top:1px solid #EEEEEE;}
.popupItemLink > a{
	padding:10px 15px;
	font-size:1.2rem;
}

.popupItemSubLink{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:start;
	   -ms-flex-pack:start;
	justify-content:start;
	-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.popupItemSubLink .popupItemLink{
	width:20%;
	box-sizing:border-box;
	position:relative;
}

.popupItemSubLink .popupItemLink:nth-child(5n)::before{
	display:block;
	content:"";
	width:100%;
	height:1px;
	position:absolute;
	bottom:-1px;
	border-bottom:1px solid #EEEEEE;
}
.popupItemSubLink .popupItemLink:not(:nth-child(5n)){ border-right:1px solid #EEEEEE;}

.popupItem .bdr{ margin-top:0;}

.form-price{
	width:calc(50% - 15px);
	box-sizing:border-box;
}

.txt-price{
	display:block;
	width:30px;
	text-align:center;
	padding:0;
}

.seachItem{ padding:15px;}
/*
.seachItemFacility span{
	padding-left:24px;
	line-height:16px;
	font-size:1.3rem;
}

.seachItemFacility span::before{
	width:16px;
	height:16px;
}
*/
#headerForm .popupItem .bdr{ margin-top:15px;}



/* contents */

#contents{
	padding-bottom:80px;
}

#contents.detail{ padding-top:30px;}

.section{ margin-top:50px;}
.section-sub{ margin-top:30px;}

#detailHd{
	font-size:2.1rem;
	margin-bottom:30px;
}

.headline,
.article-title1{
	font-size:2.1rem;
	margin-bottom:20px;
}


#editor .template-bg,
.editor .template-bg{
	width:auto;
	margin:30px -15px 0;
	padding:20px 15px;
}

.editor h2,
#editor h2,
.article-title2{ padding:8px 10px 8px 12px;}

.title{ font-size:2.8rem;}
.lead{ font-size:1.5rem;}
.txt-l{ font-size:1.4rem;}

.sub-title{
	font-size:1.8rem;
	margin-bottom:20px;
}

#spaceRecruitment{
	padding:80px 15px;
	margin-top:100px;
}

.btn{
	max-width:300px;
	height:50px;
}

.btn-wrap{ margin-top:30px;}

.list-wrap .articleItem.col4:nth-child(n+2){ margin-top:0;}

.articleItem.col4,
.articleItem.col6{ width:100%;}
.articleItem.col4:nth-child(n+2),
.articleItem.col6:nth-child(n+2){ margin-top:15px;}


.halfItem{ width:calc(50% - 5px);}
.halfItem.sp-wid{ width:100%;}
.contactItem + .contactItem{ margin-top:20px;}

.article-date{ margin-bottom:15px;}


/* footer */

#ftMessage-ttl{
	font-size:1.8rem;
	margin-bottom:20px;
}

#footer .logo{ margin:0 auto 20px;}
#footer .logo + ul,
#footer .navi2{	width:100%;}

#footer .navi2 + .navi2{ margin:10px 0 0;}

#footer .navi2 a{
	text-align:center;
	line-height:40px;
}

#ftNavi{
	display:block;
	margin-top:20px;
}

#ftNavi > li{ width:100%;}
#ftNavi > li:nth-child(n+2){ margin-top:0;}

#ftNavi dt{
	margin-bottom:0;
	line-height:46px;
}

#ftNavi dd{
	width:auto;
	margin:0 -15px;
}

#ftNavi dd li + li{ margin-top:1px;}

#ftNavi a{
	display:block;
	width:auto;
	padding:0 15px;
	line-height:40px;
	background:#fff;
	position:relative;
}

#ftNavi a::after {
    display: block;
    content: "";
    width: 5px;
    height: 5px;
    border-right: 1px solid #595757;
    border-top: 1px solid #595757;
    transform: translate(-50%,-50%) rotate(45deg);
    position: absolute;
    right: 10px;
    top: 50%;
}

#ftNavi .sub{
	width:20%;
	margin-top:1px;
	box-sizing:border-box;
}

#ftNavi .sub + .sub{ border-left:1px solid #F7F8F8;}

#copyright{
	padding-top:0;
	border-top:none;
}

.grecaptcha-badge{ bottom:110px!important;}

}

@media screen and (max-width: 360px){

#header .logo{ width:170px;}

}