@charset "utf-8";

/* Noto Sans Japanese */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/* ----------------------------------------------
   This style definition is initiarize.
------------------------------------------------- */
* { margin: 0; padding: 0; box-sizing:border-box; }
body { color:#111; font-family:'Noto Sans Japanese',"Century Gothic","メイリオ",Meiryo,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN",sans-serif; background:#000; font-size:15px; line-height:2em; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset , img { border: 0; vertical-align: bottom; }
img { max-width:100%; }
address , caption , cite , code , dfn , em , strong , th , var { font-style: normal; font-weight: normal; }
strong { font-weight:700; }
ol , ul { list-style: none; }
caption , th { text-align: left; }
h1 , h2 , h3 , h4 , h5 , h6 { font-size: 100%; font-weight: normal; }
q:before , q:after { content: ''; }
abbr , acronym { border: 0; }
input, select, textarea { font-size:100%; font-family:'Century Gothic',"メイリオ",Meiryo,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",sans-serif; }

/* clearfix */
.cfix:after { content:"."; display:block; height:0; font-size:0; clear:both; visibility:hidden; }
.cfix { display: inline-block; }
* html .cfix { height:  1%; }
.cfix { display: block; }

/* link */
a { text-decoration:none; outline:0; vertical-align:baseline; background:transparent; font-size:100%; color:#222222; }
a:hover, a:active { outline: none; color:#111111; }
a, a img { -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all  0.3s ease; }
a:hover img { opacity:0.7; filter: alpha(opacity=70); -ms-filter: "alpha( opacity=70 )"; -moz-opacity: 0.7; }

/* ----------------------------------------------
   汎用
------------------------------------------------- */

#wrapper { width:100%; max-width:800px; margin:0 auto; overflow:hidden; }
#copyright, #copyright a {}
#copyright { text-align:center; padding:30px 0; font-size:0.8em; line-height:1.5em; }

.caption { background:#3fb6b4; color:#fff; font-size:1.2em; line-height:1.6em; padding:20px; font-weight:900; text-align:center; }
.content { padding:40px; }

.leftbox { float:left; margin:0 20px 0 0; }
.rightbox { float:right; margin:0 0 0 20px; }
.floatbox { overflow:hidden; }

.frame { position:relative; z-index:1; -moz-border-radius:15px; -webkit-border-radius:15px; border-radius:15px; }
.red { color:#e62828; }
.yellow { color:#f97c00; }
.orange { color:#e05200; }
.gray { color:#777; }

.marker { background:#fdf7a8; }
.strong { font-weight:700; }

.bg-gray { background:#eee; }
.bg-yellow { background:#fbf5b4; color:#2d2618; }

.big1 { font-size:1.25em; }
.big2 { font-size:1.5em; }
.small1 { font-size:0.9em; }
.small2 { font-size:0.8em; }
.big1, .big2 { line-height:1.7em; }

.inside-nano { padding:5px; }		.next-nano { margin-bottom:5px; }
.inside-mini { padding:10px; }		.next-mini { margin-bottom:10px; }
.inside-small { padding:15px; }		.next-small { margin-bottom:15px; }
.inside-normal { padding:20px; }		.next-normal { margin-bottom:20px; }
.inside-middle { padding:30px; }	.next-middle { margin-bottom:30px; }
.inside-large { padding:40px; }		.next-large { margin-bottom:45px; }
.center { text-align:center; } .right { text-align:right; }

.floatlist { margin:0 0 -20px; }
.floatlist li { float:left; margin:0 2% 20px 0; }
.float2 li { width:49%; }
.float3 li { width:32%; }
.float4 li { width:23.5%; }
.float2 li:nth-child(2n), .float3 li:nth-child(3n), .float4 li:nth-child(4n) { margin-right:0; }
.float2 li:nth-child(2n+1), .float3 li:nth-child(3n+1), .float4 li:nth-child(4n+1) { clear:both; }

.border-blue { border:solid 1px #1c3350; }

.anchor_parent a, .anchor { color:#ee3333; text-decoration:underline; }
.anchor_parent a:hover, .anchor:hover { text-decoration:none; }

.bg-red { background:#ee3333; color:#fff; } .bg-red a { color:#fff; } .bg-red a:hover { text-decoration:underline; }
.border-red { border:solid 2px #ee3333; }

.shoplink { position:relative; display:block; }
.shoplink:after { display:block; content:""; position:absolute; left:0; right:0; bottom:0; height:40px; background:url(../lp/xmas/lp01_detail3.png.webp) no-repeat center center; background-size:contain; -webkit-transition:all 0.3s ease; -moz-transition:all 0.3s ease; -o-transition:all 0.3s ease; transition:all  0.3s ease; opacity:0; filter:alpha(opacity=0); -ms-filter:"alpha( opacity=0 )"; -moz-opacity:0; z-index:10; }
.shoplink:hover:after { opacity:1; filter:alpha(opacity=100); -ms-filter:"alpha( opacity=100 )"; -moz-opacity:1; bottom:-35px; }


/* ページトップへ
--------------------------------------------------------------------------------*/
#pagetop, #pagetop a { width:50px; height:50px; line-height:50px; }
#pagetop { display:block; position:absolute; bottom:30px; right:30px; }
#pagetop a { display:block; background:rgba(255,255,255,0.2); position:fixed; z-index:1; -moz-border-radius:4px; -webkit-border-radius:4px; border-radius:4px; font-size:30px; color:#000; text-align:center; cursor:pointer; }
#pagetop a:hover { opacity:0.7; }

/* ----------------------------------------------
   独自
------------------------------------------------- */

.light { background:#fff; padding:50px; }
.light1 { padding-top:0 ! important; }

.menu { padding:30px 20px 60px; -webkit-transform: rotate(-3deg); -moz-transform: rotate(-3deg); -ms-transform: rotate(-3deg); transform: rotate(-3deg); }
.menu li { font-size:1.2em; font-weight:500; }
.menu a { color:#fff; }
.menu a:before { font-family:"Font Awesome 5 Free"; font-weight:900; margin-right:10px; content:"\f105"; font-weight:normal; }
.menu a:hover { color:#ed281e; padding-left:10px; }

.captionline1, .answer { font-size:1.5em; font-weight:600; margin-bottom:30px; }
/*
.captionline1 span { display:inline-block; border-bottom:solid 2px #111; padding-bottom:10px; }
*/
.answer { color:#da101a; margin-bottom:20px; }

.caselist .block { clear:both; margin-bottom:50px; }
.caselist .block:last-child { margin-bottom:0; }
.shopinfo {}
.shopinfo .image { float:right; margin-left:30px; width:240px; }

.footer .logo, .shoplist { margin-bottom:30px; }
.footer .logo { clear:both; }
.shoplist li { display:inline-block; margin-right:10px; }
.shoplist a { display:block; width:120px; height:120px; color:#fff; border:solid 1px rgba(255,255,255,0.2); padding:10px; padding-top:30px; text-align:center; line-height:1.7em; box-shadow:0 200px 0 rgba(255,255,255,0) inset; }
.shoplist a:after { font-family:"Font Awesome 5 Free"; font-weight:900; content:"\f105"; display:block; }
.shoplist a:hover { box-shadow:0 200px 0 rgba(255,255,255,0.1) inset; }

.itemlist { text-align:center; font-size:0.85em; line-height:1.7em; }
.itemlist span { display:block; }

.wraplist .image { margin-bottom:10px; }
.wraplist .name { font-weight:700; font-size:0.9em; margin-bottom:5px }
.wraplist .desc { font-size:0.85em; line-height:1.7em; color:#777; }

.copyright { color:#fff; font-size:0.85em; }

.caseline2 { border:solid 1px #000; border-width:1px 0; padding:20px 0; }
.caseline22 { position:relative; }
.caseline22:after { content:""; display:block; position:absolute; left:15px; bottom:0; width:120px; height:120px; background:url(../lp/xmas/lp02_female1.png.webp) no-repeat 0 0; }

.catalog a { display:block; width:260px; height:60px; line-height:60px; text-align:center; max-width:100%; background:#fff; color:#000; margin:0 auto; font-size:1.1em; font-weight:600; position:relative; z-index:1; -moz-border-radius:4px; -webkit-border-radius:4px; border-radius:4px; }
.catalog a:hover { opacity:0.7; -webkit-transform:translateY(5px); -moz-transform:translateY(5px); -ms-transform:translateY(5px); transform:translateY(5px); }
.catalog a:before { font-family:"Font Awesome 5 Free"; font-weight:900; margin-right:10px; content:"\f105"; }

.sp { display:none; }
.last { margin-bottom:0 ! important; }

/* ----------------------------------------------------------------------------
   レスポンシブ
------------------------------------------------------------------------------- */
@media only screen and (max-width: 800px) {

	.light { padding:40px; }

	.itemlist li:nth-child(1n) { width:32%; margin:0 2% 20px 0; clear:none; }
	.itemlist li:nth-child(3n) { margin-right:0; }
	.itemlist li:nth-child(3n+1) { clear:both; }

	.caseline22:after { display:none; }
	#pagetop a {background:rgba(0,0,0,0.3); color:#fff; }

}

@media only screen and (max-width: 640px) {


	.inside-small { padding:10px; }		.next-small { margin-bottom:10px; }
	.inside-normal { padding:15px; }		.next-normal { margin-bottom:15px; }
	.inside-middle { padding:20px; }	.next-middle { margin-bottom:20px; }
	.inside-large { padding:30px; }		.next-large { margin-bottom:30px; }
	.caption { font-size:1em; font-weight:normal; padding:15px 10px; line-height:1.5em; }
	.content { padding:15px; }

	.big1 { font-size:1em; }
	.big2 { font-size:1.2em; }
	.big1, .big2 { line-height:1.7em; }

	.light { padding:30px; }

	.front img { max-width:150px; }
	.captionline1, .answer { font-size:1.2em; margin-bottom:15px; }
	.answer { color:#da101a; margin-bottom:0; }
	.caseline { margin:0 -30px 30px; }
	.caselist .block { padding-top:30px; margin-top:30px; }

	.footer { font-size:0.9em; padding:40px 0; }
	.shoplist li { display:block; float:left; width:49%; margin:0 2% 2% 0; }
	.shoplist li:nth-child(2n) { margin-right:0; }
	.shoplist a { width:100%; height:100px; padding:20px 0 10px; }

	.itemlist li:nth-child(1n) { width:49%; margin:0 2% 20px 0; clear:none; }
	.itemlist li:nth-child(2n) { margin-right:0; }
	.itemlist li:nth-child(2n+1) { clear:both; }

	.wraplist li:nth-child(1n) { width:48%; margin:0 4% 20px 0; clear:none; }
	.wraplist li:nth-child(2n) { margin-right:0; }
	.wraplist li:nth-child(2n+1) { clear:both; }
	.wraplist li:nth-child(1n) { width:100%; margin:0 0 20px; float:none; }

	.shopinfo .image { width:180px; }

	.pc { display:none; } .sp { display:block; }
}
@media only screen and (max-width:400px) {

	body { font-size:13px; line-height:2em;  }
	.light { padding:20px; }

	.menu { padding:0; }
	.menu { -webkit-transform:rotate(0); -moz-transform:rotate(0); -ms-transform:rotate(0); transform:rotate(0); }
	.menu li { font-size:1em; }
	.menu li:last-child { margin-bottom:0; }
	.menu a { display:block; padding:10px 15px; border-bottom:solid 1px #222; }
	.menu a:hover { padding-left:20px; }

	.caseline { margin:0 -20px 20px; padding:20px 0 15px; }
	.voices li:nth-child(1n) { width:100%; max-width:300px; float:none; margin:0 auto 20px; }

	.shopinfo .image { float:none; margin:0 0 15px; width:100%; }

	.itemlist { font-size:0.8em; line-height:1.7em; }
	.wraplist li:nth-child(1n) { width:100%; margin:0 0 20px; float:none; }



}
