@charset "UTF-8";
@media screen and (max-width: 640px) {

img {
	max-width: 100%;
	height: auto;
	width /***/:auto;
}


/* スマホ用CSS ↓*/

/* -------------- drawer -------------- */
button.drawer-toggle {
	display: block;
}

.drawer-hamburger {
/*	background: #ffffff;*/
}

ul.drawer-menu > li {
	background: #ffffff;
	border-left: 2px solid #eeeeee;
}

ul.drawer-dropdown-menu li {
	margin: 0 10px;
}
ul.drawer-dropdown-menu li a {
	padding: 5px 5px 5px 10px;
	margin: 0;
	line-height: 1.6;
	display: block;
}
ul.drawer-dropdown-menu li a:hover {
	background: #e46469;
}

ul.drawer-menu > li.menu-head {
	border-top: 2px solid #eeeeee;
}

ul.drawer-dropdown-menu {
	background: #f5f5f5;
}


/* -------------- サイト共通基本プロパティ -------------- */
div.inner {
	width: auto;
}

div.inner-sub {
	width: auto;
	margin-top: -60px;
}

section {
	padding: 0 15px;
	margin: 0;
}

section#top-slider,
section#top-banner-s {
	padding: 0;
}


/* -------------- サイト共通汎用部品：パンくず -------------- */
nav.breadcrumb ul {
	width: auto;
	line-height: 1.4;
}

/* -------------- サイト共通汎用部品：h2見出し -------------- */
h2.mds {
	width: auto;
	font-size: 22px;
	margin: 0 auto 15px;
}
h2.mds em {
	font-size: 14px;
}

/* -------------- サイト共通汎用部品：h3見出し -------------- */

h3.mdl {
	font-size: 20px;
	line-height: 1.6;
	margin: 25px 0;
}

/* -------------- サイト共通汎用部品：一覧リンク（more...） -------------- */

p.more a {
	display: block;
	line-height: 30px;
	height: 30px;
	margin-top: 5px;
}

/* -------------- サイト共通汎用部品：もっとるみアコーディオン -------------- */

.more-dpn-sm {
	display: none;
}

/* -------------- サイト共通汎用部品：リード文 -------------- */

p.read {
	margin: 0;
}

/* -------------- サイト共通汎用部品：デフォルトフォーム部品 -------------- */


form.default input[type=text], 
form.default input[type=tel],
form.default input[type=email],
form.default textarea {
	width: 90%;
}


form.default input.em20 { width: 90%; }

form.default select {
	font-size: 16px;
	padding: 10px;
	border-radius: 2px;
	border: solid 1px #8d7b35;
	width: auto;
}

/* -------------- サイト共通汎用部品：フォームレイアウト dlタグ -------------- */
dl.form-layout {
	margin-top: 20px;
	overflow: visible;
}

dl.form-layout dt {
	float: none;
	width: auto;
	text-align: left;
	padding: 0;
}

dl.form-layout dt:before {
	content: "■";
}

dl.form-layout dd {
	font-size: 16px;
	margin-left: 0;
	margin-top: 0;
	line-height: 1;
	padding: 5px 0;
}

dl.form-layout dd span {
	line-height: 1.6;
	display: block;
}

/* button 格納用 */
p.form-layout-btn {
	width: auto;
	margin: 0 auto;
	text-align: center;
}

/* -------------- サイト共通汎用部品：ページ送り -------------- */

nav.page-nav {
	margin: 20px 0;
}
nav.page-nav p.prev a,
nav.page-nav p.next a {
	width: auto;
	padding: 5px 10px;
}
nav.page-nav ul {
	display: none;
}

nav.info-navi + p {
	float: none;
	margin-bottom: 10px;
}

p.search-info {
	float: none;
	width: auto;
}

form.page-sort {
	float: none;
	width: auto;
}

/* -------------- サイト共通汎用部品：お知らせナビ -------------- */
nav.info-navi {
	width: auto;
	margin: 0
}

nav.info-navi ul {
	height: auto;
	flex-wrap: wrap;
	justify-content: flex-start;
/*	justify-content: space-center;*/
	background: #ffffff;
}
nav.info-navi ul li {
	line-height: 3;
	padding: 0;
	margin-right: 5px;
}

nav.info-navi ul li a {
	color: #8d7B35;
	padding: 5px 7px;
	border-radius: 3px;
	background: #f8f7f3;
}

section#top-info nav.info-navi {
	display: none;
}

nav.info-navi-year ul {
	width: auto;
	margin: 0 auto 20px;
}

nav.info-navi-year ul li {
	margin-bottom: 5px;
	padding: 5px 0;
}

nav.info-navi-year ul li a {
	padding: 5px;
}

/* -------------- サイト共通汎用部品：お知らせリスト -------------- */
div.info-list {
	margin: 0;
}
div.info-list dt.title {
	margin-left: 0;
	clear: both;
}

div.info-list dd.date {
	line-height: 26px;
}

section#top-info div.info-list dl:nth-child(n+6),
section#frstore-flier div.info-list dl:nth-child(n+6) {
	display: none;
}

#top-info p.more {
	display: block;
}

div.info-list a {
	display: block;
}


div.info-list dd.icon {
	letter-spacing: -0.1em;
	width: 150px;
}

div.info-list dd.icon span.cat-icon {
	max-width: 150px;
	width: 150px;
	padding: 0;
	text-align: center;
}

/* -------------- サイト共通汎用部品：商品リスト -------------- */

div.book-list dl {
	padding: 20px 0;

}

div.book-list dl:first-child {
	padding-top: 0;
}

div.book-list dd.img {
	width: 150px;
	height: 150px;
	line-height: 150px;

}
div.book-list dd.img img {
	max-width: 150px;
	max-height: 150px;
}

div.book-list dd.genre,
div.book-list dd.series,
div.book-list dt.title,
div.book-list dd.author,
div.book-list dd.icon,
div.book-list dd.price,
div.book-list dd.spec,
div.book-list dd.date {
	margin-left: 150px;
}

div.book-list dd.music {
	padding: 20px 0;
}

div.book-list dd.recent {
	margin-top: 10px;
	margin-left: 0;
	font-size: 16px;
	clear: both;
	display: block;
}

/* -------------- サイト共通汎用部品：商品タイル -------------- */

div.book-tile {
	margin: 0 auto;
	justify-content: space-between;
}

div.book-tile dl {
	width: 48%;
	margin-right: 0;
	padding-bottom: 10px;
}
div.book-tile dd.genre,
div.book-tile dt.title {
	padding: 0 10px 10px 10px;
}
div.book-tile dd.img {
	padding-top: 15px;
	width: 150px;
	height: 150px;
	line-height: 150px;
}

div.book-tile dd.img img {
	max-width: 150px;
	max-height: 150px;
}

div.book-tile dd.series,
div.book-tile dd.author,
div.book-tile dd.vol,
div.book-tile dd.date {
	padding: 0 10px;
}

/* Slider */
#top-newbook div.book-tile,
#catalog-detail-book div.book-tile {
	width: 90%;
}

#top-newbook div.book-tile dl,
#catalog-detail-book div.book-tile dl {
	width: 98%;
}


/* -------------- サイト共通汎用部品：商品詳細 -------------- */

div.book-detail {
	overflow:visible;
}

.modal-wrapper {
	width: 80%;
	max-width: 300px;
	padding: 30px 5px;
}

ul.shop-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: auto;
}

ul.shop-list li {
	width: 40%;
}
ul.shop-list img {
	width: 100%;
}

div.book-detail div.book-image {
	width: 250px;
	height: 300px;
	float: none;
	margin: 0 auto;
}

div.book-detail div.book-image img {
	max-width: 90%;
	max-height: 90%;
	margin: 10px auto 0;
}

ul.book-detail-slider{
	width: 200px;
	height: 240px;
}

div.book-detail div.book-image div.slider-dots {
	width: 250px;
}

div.book-detail div.book-icon {
	float: none;
	width: 250px;
	margin: 0 auto;
}

div.book-detail div.book-info,
div.book-detail div.book-spec {
	width: auto;
	margin: 15px auto;
}
div.book-detail div.shopping {
	position: static;
	margin: 10px auto;
}

div.book-detail ol.sns {
	justify-content: center;
}

div.book-detail ol.sns li:last-child {
	padding-right: 0;
}

ul.sns-bnr {
	margin-bottom: 15px;
	justify-content: center;
}

ul.sns-bnr li {/*
	width: 45%;
	height: auto;*/
	text-align: center;
	margin-left: 0;
}
ul.sns-bnr li:last-child {
	margin-left: 15px;
}

ul.sns-bnr li img {
	max-width: 100%;
	max-height: 100%;
}

div.book-detail div.shopping {
	padding-top:1px;
}

div.book-detail div.book-spec dl dd p.icon-onpu {
	display: none;
}


/* -------------- サイト共通汎用部品：お知らせタイル -------------- */

div.info-tile {
	width: auto;
	margin: 0 auto;
	justify-content: space-between;
}

div.info-tile dl {
	width: 48%;
	margin-right: 0;
	margin-bottom: 15px;
}
div.info-tile dl:nth-child(2n) {
	margin-left: 2%;
}

div.info-tile dd.img {
	width: 140px;
	height: 140px;
	line-height: 140px;
}

div.info-tile dd.img img {
	max-width: 140px;
	max-height: 140px;
}

div.info-tile dt.title {
	padding: 0 10px 10px 10px;
}

/* -------------- サイト共通汎用部品：バナータイルMサイズ3列 -------------- */
/* -------------- サイト共通汎用部品：バナータイルSサイズ4列 -------------- */

div.banner-m-tile ul,
div.banner-s-tile ul {
	width: auto;
	margin: 0 auto;
	justify-content: flex-start;
}

div.banner-m-tile ul li,
div.banner-s-tile ul li {
	width: 49%;
	height: auto;
	margin-right: 5px;
	margin-bottom: 10px;
}

div.banner-m-tile ul li:nth-child(3n) {
	margin-right: 5px;
}

div.banner-m-tile ul li:nth-child(2n),
div.banner-s-tile ul li:nth-child(2n) {
	margin-right: 0;
}

div.banner-m-tile ul li img,
div.banner-s-tile ul li img {
	max-width: 100%;
	max-height: 100%;
}

/* -------------- サイト共通汎用部品：バナータイルIcon4列 -------------- */

div.banner-icon-tile ul {
	margin: 0 15px;
	width: auto;
}
div.banner-icon-tile ul li {
	width: 48%;
	box-sizing:border-box;
	height: 120px;
	margin-right: 2%;
	margin-bottom: 15px;
}
div.banner-icon-tile a {
	width: 100%;
	height: 120px;
	text-align: center;: auto;
}

div.banner-icon-tile ul li:nth-child(3n) {
	margin-right: 2%;
}
div.banner-icon-tile ul li:nth-child(2n),
div.banner-icon-tile ul li:last-child {
	margin-right: 0;
}

div.banner-icon-tile a img{
	top: 30%;
	left:50%;
	position:absolute;
	transform:translate(-50%,-50%);
	width: 130px;
}

div.banner-icon-tile a span {
	top: 70%;
	left:50%;
	position:absolute;
	transform:translate(-50%,-50%);
	width: 130px;
	text-align: center;
	font-size: 14px;
	line-height: 1.4;
}
div.banner-icon-tile a span br{
	display: inline;
}
div.banner-icon-tile a span.bnr-txts {
	letter-spacing : -0.1em;
}

/* -------------- サイト共通ヘッダー -------------- */
header {
	position: fixed;
	top: 0;
	left: 0;
	margin: 0px 0px 10px 0px;
	background: #ffffff;
	width:1000px;
	height: 60px;
	z-index: 1;
	box-sizing: border-box;
}

header.scroll {
	height: 60px;
}

header.scroll + nav + main {
	padding-top: 120px;
}

main {
	padding-top: 60px;
}

header nav.header-sub-menu {
	display: none;
}

header h1.header-logo {
	left: 5px;
	width: 180px;
	height: 42px;
}

header div.header-search {
	position: static;
	padding: 5px 0;
	height: 50px;
	width: auto;
	border-bottom: 3px solid #a42429;
}

header div.header-search form {
	width: 300px;
	background: #ffffff;
	margin: 0 auto;
}

header div.header-search form select {
	width: 70px;
	font-size: 12px;
}

header div.header-search form input[type=text] {
	left: 80px;
	width: 150px;
}

header div.header-search form button img {
	width: 38px;
	height: 38px;
}
header div.header-search a {
	display:block;
	width: 80px;
	font-size: 11px;
	padding: 0 2px 0 6px;
	border-radius: 3px;
	border: none;
	color: #ffffff;
	background: #000000;
	text-align: center;
}

/*========= 検索窓を開くためのボタン設定 ===========*/

.open-btn1{
	display:block;
	position: absolute;
	top: 5px;
	right:55px;
	background:url("../imgs/btn_search.svg") no-repeat center;/*虫眼鏡アイコンを背景に表示*/
	background-size: 25px 25px;
	width:50px;
	height:50px;
	cursor: pointer;/*カーソルを指マークに*/
}

/*クリック後、JSでボタンに btnactive クラスが付与された後の見た目*/
.open-btn1.btnactive{
	background:url("../imgs/btn_close.svg") no-repeat center;/*閉じるアイコンを背景に表示*/
	background-size: 23px 23px;
	}

/*========= 検索窓の設定 ===============*/

/*==検索窓背景のエリア*/

#search-wrap{
	margin: 55px 0 0;
	z-index: -1;
	width: auto;
	background: #a42429;
	padding: 5px;
	transition: all 0.3s;
	display: flex;
	justify-content: space-between;
	opacity: 0;
}


/*ボタンクリック後、JSで#search-wrapに panelactive クラスが付与された後の見た目*/
#search-wrap.panelactive{
	opacity: 1;
	z-index: 3;
	width: auto;
	margin-bottom: 50px;
}

/*==検索窓*/
#search-wrap #searchform,
#search-wrap form,
#search-wrap select,
#search-wrap input,
#search-wrap button,
#search-wrap a {
	display: none;/*検索窓は、はじめ非表示*/
}

/*ボタンクリック後、JSで#search-wrapに panelactive クラスが付与された後*/
#search-wrap.panelactive #searchform,
#search-wrap.panelactive form,
#search-wrap.panelactive select,
#search-wrap.panelactive input,
#search-wrap.panelactive button,
#search-wrap.panelactive a{
	display: block;/*検索窓を表示*/
}

/*==検索フォームの設定*/

/*==テキスト入力とボタンinput共通設定*/
#search-wrap input{
	-webkit-appearance:none;/*SafariやChromeのデフォルトの設定を無効*/
	outline: none;
	cursor: pointer;/*カーソルを指マークに*/
	color: #000000;
}


/*テキスト入力inputにフォーカスされたら*/
#search-wrap input[type="text"]:focus {
	background:#eee;/*背景色を付ける*/
}

/*ボタンinput設定*/
#search-wrap input[type="submit"] {
	position: absolute;
	top:10px;
	right:30px;
	background:url("https://coco-factory.jp/ugokuweb/wp-content/themes/ugokuweb/data/7-2-3/img/icon_search.svg") no-repeat right;/*虫眼鏡アイコンを背景に表示*/
	background-size: 20px 20px;
	width:30px;
	height: 60px;
}


/* -------------- サイト共通グローバルメニュー -------------- */
nav.global-menu {
	width:1000px;
	height: 50px;
	margin: 100px auto 0px auto;
	background: #a42429;
}

/* -------------- サイト共通サイトマップ -------------- */

nav#sitemap {
	width:1000px;
	padding: 25px 0;
}

nav#sitemap ul {
	display:;
}
nav#sitemap ol.footer-sns {
	width: 80%;
	position: static;
	display: flex;
	justify-content: center;
	margin: auto;
}

nav#sitemap ol.footer-sns li {
	width: 80px;
	text-align: center;
	margin: 0;
}


/* -------------- サイト共通フッター -------------- */
footer {
	width:1000px;
	padding: 25px 0;
}

footer p.footer-catch {
	font-size: 18px;
	padding: 20px;
}

footer div.jasrac {
	margin-top: 15px;
	display: block;
}
footer div.jasrac dl {
	width: 70%;
	margin: 0 auto 15px;
}
footer p.copyright {
	width: 95%;
	margin: 0 auto;
	line-height: 1.6;
}
footer p.copyright br {
	display: inline;
}


/* -------------- tab 形状設定 -------------- */

.tab {
	width: auto;
	margin: 0 15px 15px;
}

.tab li {
	margin-bottom: 15px;
	width : 48%;
}

.tab li a {
	border-radius: 3px;
	width : 100%;
}
.tab li.active a {
	background : #ffecec;
	color: #a42429;
}

/* -------------- slick -------------- */

.prev-arrow {
	left: 0;
}
.next-arrow {
	right: 0;
}

/* スマホ用CSS ↑*/

}