@charset "UTF-8";
/* - - - - - - - - - - - - - - - - - - - - - - - - */
/* common */
/* - - - - - - - - - - - - - - - - - - - - - - - - */
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
a:hover {
	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all  0.5s ease;
}
body {
	color: #191919;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	letter-spacing: 1.2px;
	line-height: 1.5;
}
h1,h2,h3,h4,h5,h6 {
	width: 100%;
	margin: 0 auto 20px;
	padding: 0;
	line-height: 1.5;
	letter-spacing: 1.5px;
	font-size: 22px;
}
p {
	margin-bottom: 15px;
}
a {
	color: var(--color-text);
}
button {
    cursor: pointer;
}
ol,ul,li,dl,dt,dd {
	margin: 0;
	padding: 0;
	list-style: none;
}
img {
	width: 100%;
	vertical-align: bottom;
	object-fit: cover;
}
/* root設定 */
/* - - - - - - - - - */
:root {
    /*カラー関係*/
    --color-text:#191919;
    --color-main: #FFA500;
    --color-point: #FFE200;
    --color-second: #333;
    --color-second2: #777;
    --color-second3: #aaa;
    --color-bk:#ececec;
    --color-bk2:#f7f7f7;
    --color-bk3:rgb(255, 226, 0,0.1);
    --color-border:#ccc;
    --color-error:#E54343;

    /*フォントサイズ*/
    --fsize-type0:40px;
    --fsize-type1:35px;
    --fsize-type2:25px;
    --fsize-type3:20px;
    --fsize-type4:18px;
    --fsize-type5:16px;
    --fsize-type6:14px;
    --fsize-type7:12px;
    --fsize-type8:10px;
    --fsize-type9:8px;

    /*余白 - margin*/
    --mar-all:50px auto;
    --mar-bottom:100px;

    /*余白 - padding*/
    --pad-tbwide:100px 0;
    --pad-tbnrow:50px 0;
    --pad-tbmin:20px 0;

    /*コンテンツ幅*/
    --content-width: 1200px;
}

/* - - - - - - - - - - - - - - - - - - - - - - - - */
/* 共通設定 */
/* - - - - - - - - - - - - - - - - - - - - - - - - */
/*コンテンツの幅*/
/* - - - - - - - - - */
.conwrap {
    width: var(--content-width);
    margin: 0 auto;
}

/*フレックスボックス設定*/
/* - - - - - - - - - */
.conflex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

/*要素間の余白*/
/* - - - - - - - - - */
.conspace-wide {/*広め*/
    padding: var(--pad-tbwide);
}
.conspace-row {/*狭め*/
    padding: var(--pad-tbnrow);
}
.conspace-min {/*かなり狭め*/
    padding: var(--pad-tbmin);
}

/*下層ページトップ*/
/* - - - - - - - - - */
#subvisual {
    padding: var(--pad-tbnrow);
    background-color: var(--color-bk2);
}
.sub-titlebox h1 {
    font-size: var(--fsize-type2);
    margin-bottom: 5px;
}
.sub-titlebox p {
    font-size: 14px;
    margin: 0;
    color: var(--color-second2);
}
/*キャンペーン中のタグ*/
.campaign-tag {
    width: 130px;
    padding: 2px 0;
    display: block;
    font-size: 12px;
    text-align: center;
    letter-spacing: 1px;
    background-color: var(--color-point);
}
/*指定した検索条件を表示*/
.sub-word {
    display: flex;
    flex-wrap: wrap;
}
.sub-word p {
    display: inline-block;
}
.sub-word p::before {
    content: '【';
}
.sub-word p::after {
    content: '】';
}
.sub-word ul {
    display: flex;
    flex-wrap: wrap;
    flex: 1;
    font-size: 12px;
    color: var(--color-second2);
}
.sub-word ul li {
    padding: 0 5px;
    margin:1px 0 5px;
}

/*サイドバーありの場合*/
/* - - - - - - - - - */
.sideon {/*メインコンテンツ*/
    width: 800px;
}
.sidebar {/*サイドバー*/
    width: 300px;
}

/*マップピン*/
/* - - - - - - - - - */
.map-pin {
    display: block;
    text-align: left;
    color: var(--color-second2);
    font-size: var(--fsize-type8);
}
.map-pin::before {
    content: '\f3c5';
    font-family: fontawesome;
    color: var(--color-error);
    margin-right: 3px;
}
/*見出し関係*/
.htype01 {/*大見出し*/
    font-size: var(--fsize-type0);
}
.htype02 {/*中見出し*/
    font-size: var(--fsize-type2);
}
.htype03 {/*小見出し*/
    font-size: var(--fsize-type4);
}

/*リンクボタン*/
/* - - - - - - - - - */
a.btnlink01 {/*白→黒*/
    width: 100%;
    padding: 10px 5px;
    display: block;
    text-decoration: none;
    border: solid 1px var(--color-border);
    background-color: #fff;
    border-radius: 10px;
    font-size: var(--fsize-type6);
    text-align: center;
}
a.btnlink01:hover {
    background-color: var(--color-text);
    color: #fff;
}
a.btnlink02 {/*白→黒 枠なし*/
    width: 120px;
    padding: 10px 5px;
    display: block;
    text-decoration: none;
    background-color: #fff;
    border-radius: 10px;
    font-size: var(--fsize-type6);
    text-align: center;
    font-weight: 500;
}
a.btnlink02:hover {
    background-color: var(--color-text);
    color: #fff;
}



/* - - - - - - - - - - - - - - - - - - - - - - - - */
/* header */
/* - - - - - - - - - - - - - - - - - - - - - - - - */
header {
    width: 100%;
    height: 60px;
    padding: 5px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
    position: fixed;
    top: 0;
    z-index: 999;
}
.hd-logo img {
    height: 30px;    
}
/*ナビ*/
.hd-pcnavi ul {
    display: flex;
    justify-content: flex-end;
}
.hd-pcnavi ul li {
    margin-left: 30px
}
.hd-pcnavi a,
.hd-pcnavi button {
    text-decoration: none;
    border: none;
    background: none;
}
.hd-pcnavi button i {
    color: var(--color-second3);
}

/* - - - - - - - - - */


/* - - - - - - - - - - - - - - - - - - - - - - - - */
/* footer */
/* - - - - - - - - - - - - - - - - - - - - - - - - */
footer {
    padding-top: 50px;
    background-color: var(--color-bk);
}
footer a {
    text-decoration: none;
}
footer small {
    display: block;
    padding: 5px;
    text-align: center;
    background-color: #191919;
    color: #fff;
    font-size: 10px;
}
.ft-wrap {
    margin-bottom: 30px;
    padding: 30px 50px;
    background-color: #fff;
    align-items: center;
}

/*ロゴとSNS*/
/* - - - - - - - - - */
.ft-coco {
    margin-right: 30px;
    text-align: center;
    color: var(--color-second2);
}
.ft-coco img {
    width: 150px;
    margin-bottom: 20px;
}
.ft-coco h4 {
    margin: 0;
    font-size: var(--fsize-type7);
}
.ft-coco p {
    margin: 0;
    font-size: var(--fsize-type8);
}
/*SNS*/
.ft-snsbox {
    margin-top: 10px;
    font-size: 20px;
}
.ft-snsbox p {
    display: inline-block;
}
.ft-snsbox a {
    margin: 0 5px;
    color: var(--color-second2); 
}
.fa-twitter:hover {/*twitter*/
    color: #55acee;
}
.fa-instagram:hover {/*instagram*/
    color: #CF2E92;
}
.fa-facebook:hover {/*facebook*/
    color: #3b5998;
}

/*サイトマップ*/
/* - - - - - - - - - */
.ft-sitemap {
	flex: 1;
    padding: 0 80px 20px 0;
    position: relative;
}
.ft-sitemap img {
    width: 70px;
    height: 70px;
    position: absolute;
    right: -40px;
    bottom: -20px;
}
.ft-smlist {
	margin-left: 50px;
}
.ft-smlist nav {
	display: flex;
	align-items: flex-start;
}
.ft-smlist a.ft-smname {
    display: block;
	font-weight: bold;
	margin-bottom: 5px;
	font-size: 16px;
}
.ft-smlist ul {
	margin-right: 30px;
	margin-left: 5px;
	border-left: solid 3px var(--color-bk);
}
.ft-smlist ul li {
	padding-left: 10px;
	margin: 5px 0;
	font-size: 12px;
}
/*リストにしないサイトマップ*/
.ft-smlist2 a {
	display: block;
	margin-bottom: 5px;
	font-size: 12px;
}


/* - - - - - - - - - - - - - - - - - - - - - - - - */
/* パンくず */
/* - - - - - - - - - - - - - - - - - - - - - - - - */
#pan {
    margin-top: 60px;
    padding: 5px 30px 0;
    background-color: var(--color-bk);
    font-size: 12px;
}
#pan ol {
	display: flex;
	flex-wrap: wrap;
}
#pan ol li {
	margin-bottom: 5px;
}
#pan ol li::after {
	content: '\f105';
	font-family: fontawesome;
	margin: 0 5px;
	color: #aaa;
}
#pan ol li:last-child:after {
	content: '';
}
.panCurrent span {
	font-weight: 600;
}
#pan a {
    text-decoration: none;
    color: var(--color-second2);
}
#pan a:hover {
	opacity: 0.5;
}


/* - - - - - - - - - - - - - - - - - - - - - - - - */
/* ポップアップの設定 */
/* - - - - - - - - - - - - - - - - - - - - - - - - */
.popup {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: .6s;
}
.popup.is-show {
    opacity: 1;
    visibility: visible;
}
/*閉じるボタン*/
.close-btn {
    position: absolute;
    right: 15px;
    top: 20px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 30px;
    text-align: center;
    cursor: pointer;
    background-color: var(--color-second3);
}
.close-btn i {
    font-size: 20px;
    color: #fff;
    font-weight: bold;
}
/*ポップアップ時の背景*/
.black-background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.8);
    z-index: 1;
    cursor: pointer;
}
/*ポップアップの中身*/
.popinnerwrap {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 80%;
    height: 50%;
    max-width: 800px;
    background-color: #fff;
    z-index: 2;
    overflow: scroll;
}
/*閲覧履歴*/
/* - - - - - - - - - */
.popup-history {
    padding: 20px 50px 20px 20px;
}
p.history-title {
    margin: 0 0 30px;
    font-weight: bold;
    font-size: 25px;
}
p.history-title i {
    color: var(--color-second3);
}
/*履歴リスト*/
ul.history-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
ul.history-list::after {
    content: "";
    display: block;
   	width: 200px;
   	height: 0;
}
ul.history-list li {
    width: 200px;
    margin-bottom: 50px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.hlist-wrap img {
    width: 100%;
    height: 120px;
    margin-bottom: 2px;
}
p.hlist-name {
    margin: 0;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.2;
}
span.hlist-area {
    display: block;
    font-size: 10px;
    color: var(--color-second2);
}
a.hlist-linkbtn {
    display: block;
    margin-top: 10px;
    padding: 10px 5px;
    border-radius: 10px;
    border: solid 2px var(--color-border);
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    letter-spacing: 2px;
    font-size: 15px;
}
a.hlist-linkbtn:hover {
    background-color: var(--color-border);
    color: #fff;
}

@media screen and (max-width:1200px) {
/* - - - - - - - - - - - - - - - - - - - - - - - - */
	
}/* @media screen and (max-width:1200px)  */


@media screen and (max-width:490px) {
/* - - - - - - - - - - - - - - - - - - - - - - - - */
	
}/* @media screen and (max-width:490px)  */
