@charset "utf-8";

/*=======================================================

	YOKOHAMA Display Museum CSS
	ATHR : Assiette Ltd.
	DATE : 2021/11

=======================================================*/

/*-------------------------------------
	reset
-------------------------------------*/

body,
h1, h2, h3, h4, h5, h6,
p, address, blockquote, pre, div,
dl, dt, dd, ol, ul, li,
th, td,
form, fieldset, input, textarea { margin: 0; padding: 0; outline: none;}

input{ vertical-align : middle ;}

select { margin: 0; }

abbr, acronym { border:0 none; }
q::before, q::after { content:""; }
img { width: auto; max-width: 100%; height: auto; max-height: 100%; border:0 none; vertical-align:bottom; }
object { outline:none; }
table { border-collapse: collapse; border-spacing: 0; word-break: break-all; word-wrap: break-word; }
caption { text-align:left; }
th,
td { text-align:left; vertical-align:middle; empty-cells:show; }
fieldset { border:0 none; }
label { cursor: pointer; }
iframe { margin: 0; padding: 0; width: 100%; overflow:auto; border: none;}
p, address, blockquote, pre, div,
abbr, acronym, dfn, cite, q, code, kbd, samp, var,
dl, ol, ul,
caption, th { font-weight: 500; font-style:normal; }
em, strong, optgroup { font-weight:900; font-style:normal; }

main, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { position:relative; display:block; margin:0 0 0 0; padding:0 0 0 0; }

/* 全対応 */
*, *:before, *:after {
	font-family: "游ゴシック体", "游ゴシック Medium", "Yu Gothic", "Yu Gothic Medium","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Helvetica, sans-serif;
	box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 { position: relative; margin: 0 0 2rem; color: #262C33; font-size: 2rem; font-weight: 900; font-style: normal; line-height: 1.2; text-align: left; }


/*-------------------------------------
	base
-------------------------------------*/

html { position: relative; width: 100%; min-height: 100%; font-size: 7.5px; text-align: center; background: #FFF; }

body {
	padding: 0;
	width: 100%;
	color:  #333;
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust : none;
	 -webkit-text-size-adjust: 100%;
	}


/* links */
a, input, object{ outline:none; }

a {
	margin: 0;
	padding: 0;
	border: 0;
	color: #000;
	text-decoration: underline;
	vertical-align: baseline;
	background: transparent;
	transition: all 0.3s ease;
	-webkit-backface-visibility: hidden;
    backface-visibility: hidden;
	}

a:hover { text-decoration: none; }
a:visited {	color: #003461; }
a:active { color: #003461; text-decoration:none; }

a *,
a:before,
a:after { transition: all 0.3s ease; }

::selection { color: #FFF !important; background: rgba(1, 49, 97, 0.8); }
::-moz-selection { color: #FFF !important; background: rgba(1, 49, 97, 0.8); }

/* disabled */
.btn:disabled:hover{ cursor: default; opacity:.6; pointer-events: none; }

/* table */
table { width: 100%; border-top: 1px solid #333;}
th, td { display: block; padding: 1rem; font-size: 1.6rem; line-height: 1.4; text-align: left; border-bottom: 1px solid #333; }
table td { border-bottom: 1px solid #333; }
table a img { position: relative; top: -0.2rem; margin: 0 0.5rem 0 0; width: 1.4rem; vertical-align: middle; }

/* list dl リスト・定義 */
ul { margin: 0; padding: 0; list-style: none; list-style-position: inside; }
ol { margin: 0; padding: 0; }

li { position: relative; text-align: left; line-height: 140%; list-style: none; }

/* 文字装飾 */
em { color: #971B20; font-weight: normal;}
small { font-size: 70%;}
strong.red { color: #F00;}
i { font-style: normal; font-weight:  normal;}
u { text-decoration: none;}

mark { margin: 0 0.1rem; padding: 0 0.1rem; color: #111; font-style: normal; background: url("/images/common/wave-marker.svg") left bottom repeat-x; background-size: auto 1rem; }
mark.line { padding: 0 0.1rem 0.4rem; line-height: 2; background-image: url("/images/common/wave-line.svg"); background-size: auto 0.4rem; }
p mark.line,
dd mark.line { padding: 0 0.1rem 0.35rem; line-height: 1.8; background-image: url("/images/common/wave-line.svg"); background-size: auto 0.35rem; }

/* 罫線 */
hr {
	clear: both;
	position: relative;
	display: block;
	margin: 6rem auto;
	width: 100%;
	height: 1px;
	border: none;
	border-bottom: 1px dotted #CCC;
	text-shadow: none;
	z-index: -20;
	}

/* form関係 */
input, select, optgroup, textarea, label, kbd { vertical-align: middle; }

input[type="hidden"]{ display: none;}

input[type="text"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="email"],
input[type="url"],
select,
textarea {
	display: inline-block;
	margin: 0;
	padding: 0 1rem;
	width: 100%;
	height: 4rem;
	color: #111;
	font-size: 16px;
	line-height: 1;
	background: #FFF;
	border: 1px solid #333;
	border-radius: 5px;
	box-shadow: none;
	box-sizing: border-box;
	vertical-align: baseline;
	transition: all 0.3s ease;
}

input:hover,
select:hover,
textarea:hover { border-color: #013161; box-shadow: 0 2px 10px rgba(1, 49, 97, 0.2); }

input:focus:not(.btn),
select:focus,
textarea:focus { background-color: #FFF !important; border-color: #013161 !important; box-shadow: 0 3px 15px rgba(1, 49, 97, 0.5); outline: none; }

input:disabled,
select:disabled,
textarea:disabled { background-color: #f6fafd; border-color: #abc0d4; pointer-events: none; }

fieldset { display: inline-block; margin: 0 1rem 0 0; }

input[type="tel"] { width: 17.3rem; }
input[type="number"] { width: 17.3rem; -moz-appearance:textfield; }
input[type="number"].age { width: 8rem; }
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }

input[type="file"] { box-shadow: none !important;}

input::-ms-clear,
input::-ms-reveal { visibility:hidden; }

textarea { padding: 1rem 0.8rem; max-width: 100%; height: 15rem; text-align: left !important; vertical-align: text-top;}

:placeholder-shown { color: #999 !important; }
::-webkit-input-placeholder { color: #999 !important; }
:-moz-placeholder { color: #999 !important; }
::-moz-placeholder { color: #999 !important; }
:-ms-input-placeholder { color: #999 !important; }

select { padding: 0 0 0 0.5rem; width: auto; }
select option { margin: 0; padding: 3px 8px; font-size: 16px; font-style: normal; background: #FFF; }
select option:checked { color: #FFF !important; background-color: #093186; }
select option:disabled { color: #999 !important; background: #FFF; }

.errorMsg { position: relative; margin: 0 0 2rem; padding: 1.5rem; color: #F00; line-height: 1.4; text-align: center; background: #fff0f0;}
.errorMsg:before { content: ""; display: inline-block; position: relative; top: -0.1rem; margin: 0 0.5rem 0 0; width: 2.2rem; height: 2.2rem; background: url("/images/common/icon-alert.svg") no-repeat; background-size: contain; vertical-align: middle;}

.errorRow th,
.errorRow td { background: #fff0f0;}
.errorRow input { border-color: #F00;}
.errorRow input:hover { border-color: #F00; box-shadow: 0 2px 10px rgba(255, 0, 0, 0.2); }
.errorRow input:focus { border-color: #F00 !important; box-shadow: 0 3px 15px rgba(255, 0, 0, 0.5); outline: none; }

/*　radio, checkbox　*/
input[type=radio],
input[type=checkbox] { display: inline-block; position: relative; top: -1px; margin-right: 0.6rem; vertical-align: middle; }

label { display: inline-block; position: relative; line-height: 1.4; cursor: pointer; }

input[type=radio],
input[type=checkbox] { margin: 0 0.8rem 0 0; vertical-align: middle;}

/* btn */
.btn {
	display: inline-block;
	position: relative;
	padding: 1.3rem 2rem;
	width: auto;
    min-width: 20rem;
	color: #FFF !important;
	font-size: 1.6rem;
	font-weight: 900;
	text-align: center;
	text-decoration: none !important;
	line-height: 1.4;
	background: #013161;
	border: none;
	vertical-align: middle;
	cursor: pointer;
	outline: none !important;
	z-index: 0;
	transition: all 0.3s ease;
}
.btn:after { content: ""; position: absolute; top: -0.2rem; left: -0.2rem; width: calc(100% + 0.4rem); height: calc(100% + 0.4rem); border: 1px solid #FFF; transition: all 0.3s ease; }
.btn:hover:after { top: 0.2rem; left: 0.2rem; width: calc(100% - 0.4rem); height: calc(100% - 0.4rem);}

.btn .icon { position: relative; top: -0.1rem; left: 0; display: inline-block; margin: 0 0 0 0.5rem; width: 1.4rem; height:1.4rem; vertical-align: middle; background: center no-repeat; background-size: contain; transition: all 0.3s ease; }
.btn:hover .icon { left: 5px;}

.btn .icon.arrowR { background-image: url("/images/common/arrowRW.svg");}

.btn .icon.plus:before,
.btn .icon.plus:after { content: ""; position: absolute; top: 50%; left: 0; margin: -0.1rem 0 0; width: 100% ; height: 0.2rem; background: #FFF; transition: all 0.3s ease;}
.btn .icon.plus:after { top: 0; left: 50%; margin: 0 0 0 -0.1rem; width: 0.2rem; height: 100% ;}
.btn:hover .icon.plus { left: 0; -webkit-transform: rotate(180deg); transform: rotate(180deg);}

.btn img { margin: -0.4rem 0.5rem 0 0; vertical-align: middle;}

/* .round */
.btn.round,
.btn.round:after { border-radius: 99rem; }

/* .small */
.btn.small { padding: 0.6rem 1.5rem; min-width: 0; font-size: 1.3rem; }
.btn.small .icon { width: 1.0rem; height:1.0rem;}

/* .large */
.btn.large { padding: 1.8rem 3rem; }

/* .white */
.btn.white { color: #013161 !important; background: #FFF; box-shadow: 0 0.2rem 1rem rgba(1, 49, 97, 0.2);}
.btn.white:after { border-color: #013161; }
.btn.white:hover { box-shadow: 0 0.5rem 1.5rem rgba(1, 49, 97, 0.3);}

.btn.white .icon.arrowR { background-image: url("/images/common/arrowR.svg");}

.btn.white .icon.plus:before,
.btn.white .icon.plus:after { background: #013161;}

/* .red */
.btn.red { background: #FF00A6;}

/* .light */
.btn.light { color: #013161 !important; background: rgba(1, 49, 97, 0.2);}
.btn.light:after { border-color: #013161; }

.btn.light .icon.arrowR { background-image: url("/images/common/arrowR.svg");}

.btn.light .icon.plus:before,
.btn.light .icon.plus:after { background: #013161;}

/* .gray */
.btn.gray { color: #555 !important; font-weight: 500; background: #DDD;}
.btn.gray:after { border-color: #FFF; }
.btn.gray:hover { color: #333 !important; background: #CCC;}

.btn.gray .icon.arrowR { background-image: url("/images/common/arrowRG.svg");}

.btn.gray .icon.plus:before,
.btn.gray .icon.plus:after { background: #888;}

/* .ghost */
.btn.ghost { color: #FFF !important; background: rgba(1, 49, 97, 0.2); box-shadow: none;}
.btn.ghost:after { border-color: #FFF; }
.btn.ghost:hover { box-shadow: none;}

.btn.ghost .icon.plus:before,
.btn.ghost .icon.plus:after { background: #FFF;}

/* for input */
.inputWrap { display: inline-block; position: relative;}

.btn ~ .inputAfter { content: ""; position: absolute; top: -0.2rem; left: -0.2rem; width: calc(100% + 0.4rem); height: calc(100% + 0.4rem); border: 1px solid #FFF; transition: all 0.3s ease; pointer-events: none;}
.btn:hover ~ .inputAfter { top: 0.2rem; left: 0.2rem; width: calc(100% - 0.4rem); height: calc(100% - 0.4rem);}

.btn.white ~ .inputAfter,
.btn.light ~ .inputAfter { border-color: #013161; }
.btn.gray ~ .inputAfter,
.btn.ghost ~ .inputAfter { border-color: #FFF; }


/*-------------------------------------
	Common
-------------------------------------*/

p:empty { display: none; }
p:last-child { margin-bottom: 0 !important; }

.br { display: inline-block; }
.pc { display: none !important; }

.center { text-align: center !important; }
.right { text-align: right !important; }
.left { text-align: left !important; }

.rightBtn { margin: -4.7rem 0 2rem; text-align: right;}

.fitImg { display: block; position: relative; overflow: hidden;}
.fitImg:after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 1px solid #013161; opacity: .2;}

.square .fitImg { position: relative; padding: 100% 0 0; overflow: hidden;}
.square .fitImg img { position: absolute; top: 4%; left: 4%; width: 92%; height: 92%; object-fit: contain;}

.square.long .fitImg { padding: 150% 0 0;}
.square.long .fitImg img { object-fit: contain;}

#compose div,
#compose p { font-size: 1.6rem; text-align: left;}

.itemLists { padding: 2rem 0;}
.itemLists ul { margin: 0 -1rem;}
.itemLists ul li { margin: 2rem 1rem 0; width: calc(50% - 2rem);}
.itemLists .selectWrap { margin: 2rem 0 0;}
.itemLists .selectWrap select { width: 100%;}

.ctrlBtn {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	width: 5rem;
	height: 5rem;
	background: rgba(191, 205, 219, 0.8) center no-repeat;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);
	cursor: pointer;
	z-index: 1;
}
.ctrlBtn:nth-last-of-type(2) { right: 7rem;}
.ctrlBtn.plus { background-image: url("/greenpot/images/icon-plus.svg");}
.ctrlBtn.minus { background-image: url("/greenpot/images/icon-minus.svg");}
.ctrlBtn.dots { background-image: url("/greenpot/images/icon-dots.svg");}
.ctrlBtn:hover { background-color: rgba(162, 183, 205, 0.8);}

footer { padding: 2rem 2rem 13rem;}
footer #copy { color: #99adc0; font-size: 1.4rem; text-align: center;}

/* modal */
.modalLink { cursor: pointer;}

.modal { display: none; position: relative; z-index: 900; }
.modalBG { position: fixed; top: 0; left: 0; margin: 0; height: 100%; width: 100%; background: #001b36; opacity: .5; z-index: 999; }

.modalBlock {
	position: fixed;
	top: 10%;
	left: 50%;
	margin: -4rem 0 0;
	padding: 2rem;
	width: 80%;
	height: auto;
	max-height: 80%;
	background: #fff;
	box-shadow: 0 1rem 3rem rgba(1, 49, 97, 0.5);
	overflow: hidden;
	overflow-y: auto;
	z-index: 1000;
	transform: translateX(-50%);
	transition: all 0.3s ease-in-out;
}
.modalBlock.itemDetail { width: min(40rem, 80%);}
.modalBlock p { margin: 0 0 2rem; font-size: 1.6rem; text-align: left;}

.modal .center { margin: 2rem 0 0;}
.modal .center .note { display: block; margin: 2rem 0 0; color: #FF00A6;}

.modal .closeBtn { position: fixed; top: 0.5rem; right: 0.5rem; cursor: pointer; opacity: .6; z-index: 1000;}
.modal .closeBtn a { display: block; padding: 0.5rem; width: 4rem; height: 4rem; background: #FFF;}
.modal .closeBtn a:hover { cursor: pointer; -webkit-transform: rotate(-180deg); transform: rotate(-180deg); }
.modal .closeBtn img { width: 100%; opacity: 1 !important;}

.modal.show .modalBlock { margin-top: 0 !important; }

/* flex */
#composeArea header,
#compose,
#composerCtrl,
.itemLists ul,
.itemLists .nums,
#composeFilter .price,
#composeFixed,
#composeFixed .right p,
.itemDetail,
.tagList ul,
#composeFilter .colors,
#composeKeyword ul { display: -webkit-box; display: -ms-flexbox; display: flex; }

#composeFilter .price { align-items: center;}

.wpPage .imgTextGroupM > div > div { align-items: flex-start;}

.wpPage .imgTextGroupF > div { justify-content: center;}

#composeArea header { justify-content: space-between;}

.wpPage .imgTextGroupF > div { justify-content: flex-start;}

#composeArea header,
#compose,
#composerCtrl,
.itemLists ul,
#composeFixed,
.itemDetail,
.tagList ul,
#composeFilter .colors,
#composeKeyword ul { -ms-flex-wrap: wrap; flex-wrap: wrap; }


/*-------------------------------------
			CSS end
-------------------------------------*/