﻿@charset "UTF-8";


/* ===================================
	File Name   : common.css
	Description : Base Layout CSS
	
	Update Description :
	[2018/7/30] 新規作成

====================================== */

/*========== Style Contents ==========

	1. Global Redefinition
	2. Font Redefinition
	3. Box Setting
	4. Form Setting
	5. Common Items Setting
		- Basic Link
	 	- Header Items
		- Header Action
	 	- Footer Items
		- Page Top Button
		- Title Items
		- Refine
		- Catalog List
		− Clear Fix

====================================== */



/*===== ■1. Global Redefinition =====*/
body {
	color: #333;
	line-height: 1.5;
	margin: 0px auto;
}

body::before {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(/img/common/bg-dotted.png);
  z-index: -100;
	opacity: .35;
	content:'';
}

article img,
#article img { width: 100%;}

.pc { display: block;}
.sp { display: none;}


@media only screen and (max-width: 750px){
	.pc { display: none;}
	.sp { display: block;}
}


.ico-blank:before { content: "\e900";}
.ico-lang:before { content: "\e901";}
.ico-search:before { content: "\e902";}

.entry-title:after{
    content: '\e901';
    display: inline-block;
    font-family: FontAwesome;
    font-weight: normal;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html { font-size: 62.5%;}

body {
	font-size: 1.6em;
	font-family: Arial,sans-serif;
}

::-webkit-input-placeholder { color: #999;}
::-moz-placeholder { color: #999;}
:-ms-input-placeholder { color: #999;}
:placeholder-shown { color: #999;}


@media only screen and (max-width: 750px){
	html { font-size: calc(100vw / 75);}
	body { font-size: 1.4rem;}
}
@media only screen and (max-width: 640px){
	html { font-size: calc(100vw / 64);}
}
@media only screen and (max-width: 480px){
	html { font-size: calc(100vw / 48);}
}
@media only screen and (max-width: 375px){
	html { font-size: calc(100vw / 37.5);}
}


select::-ms-expand { display: none;}

.select_wrap {
	display: block;
	position: relative;
}
.select_wrap::before {
	position: absolute;
	z-index: 2;
	top: 1px;
	right: 1px;
	border-radius: 0 3px 3px 0;
	background: #636262;
	height: calc(100% - 2px);
	width: 18px;
	pointer-events: none;
	content: '';
}
.select_wrap::after {
	position: absolute;
	z-index: 3;
	top: 0;
	bottom: 0;
	right: 7px;
	width: 6px;
	height: 6px;
	margin: 12px 0 0;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	pointer-events: none;
	transform: rotate(45deg);
	content: '';
}



/*===== ■5. Common Items Setting =====*/
/* Basic Link */
a {
	color: rgba(99,98,98,1);
	text-decoration: none;
	backface-visibility: hidden;
}

a.icon_disp {
	text-decoration: underline;
}

a:visited {
	color: rgba(99,98,98,1);
	text-decoration: underline;
}

a:hover {
	color: #999;
	text-decoration: underline;
}

a:not(.button) {
	opacity: 1;
	transition: all .2s ease-out;
}
a:not(.button):hover {
	opacity: .6;
	text-decoration: none;
	transition: all .2s ease-out;
}

ul.wrapper a.button {
	display: block;
	position: relative;
	width: calc(100% - 20px);
	margin: auto 10px 10px;
	padding: 5px 30px;
	box-sizing: border-box;
	border: 1px solid #636262;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: all .2s ease-out;
}

ul.wrapper a.button:hover {
	border: 1px solid #fff;
	background: #636262;
	color: #fff;
	transition: all .2s ease-out;
}

a.button b {
	display: block;
	font-size: 1.2rem;
	text-align: center;
}

a[target="_blank"][href$=".pdf"]::after {
	position: absolute;
	top: 50%;
	right: 10px;
	width: 23px;
	height: 23px;
	background: url(/img/ico-pdf.png) no-repeat right center / 23px auto;
	transform: translateY(-50%);
	content:'';
}

a.icon_disp[target="_blank"][href$=".pdf"]::after {
	position: absolute;
	top: unset;
	right: unset;
	width: 16px;
	height: 16px;
	margin-left: 5px;
	background: url(/catalogs/img/ico-pdf.png) no-repeat right center / 16px auto;
	transform: unset;
	content:'';
}

.hamb {
	position: relative;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(99,98,98,1);
}

.hamb span {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	height: 2px;
	margin-top: -2px;
	background: rgba(99,98,98,1);
	transform: translate(-50%);
}
.hamb span::before,
.hamb span::after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: rgba(99,98,98,1);
	transition: all .2s;
	content: '';
}
.hamb span::before { margin-top: -8px;}
.hamb span::after { margin-top: 8px;}

.hamb:hover span::before { margin-top: -6px;}
.hamb:hover span::after { margin-top: 6px;}

.hamb:active span {
	opacity: .6;
	backface-visibility: hidden;
}


@media only screen and (max-width: 750px){
	a:hover {
		color: inherit;
		text-decoration: inherit;
	}
	
	a.button { padding: 15px 30px;}
	
	a.button:hover {
		background: #636262;
		color: #fff;
		text-decoration: none;
		transition: none;
	}

	a.button i.arrow { transition: none;}

	a.button:hover i.arrow {
		right: 10px;
		width: 30px;
		background: #fff;
		transition: none;
	}
	a.button:hover i.arrow::after { background: #fff;}

	a.button:active i.arrow {
		right: 10px;
		width: 30px;
		opacity: 1;
	}
	a.button:active i.arrow::after {
		right: 0;
		opacity: 1;
		transition: none;
	}

	a:not(.button):hover {
		opacity: 1;
		text-decoration: inherit;
		transition: none;
	}
}



/* Header Items */
body > header {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
	max-width: 1280px;
	margin: 10px auto;
	padding: 0 20px;
	background: #fff;
}

body > header h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	line-height: 0;
}

body > header h1 img:first-child {
	height: 18px;
	margin-right: 10px;
}
body > header h1 img:first-child + img { height: 28px;}

body > header > ul {
	display: flex;
	margin-left: auto;
}

body > header > ul > li { border-left: 1px dotted rgba(99,98,98,1);}

body > header > ul > li#head_switch {
	display: flex;
	align-items: center;
	margin-right: 10px;
	border: none;
}
body > header > ul > li#head_switch select {
	padding: 0 20px 0 10px;
	border: 1px solid #ebebeb;
	background: #fff;
	font-size: 1.2rem;
}
body > header > ul > li#head_switch .select_wrap::before {
	background: #fff;
	width: 10px;
}
body > header > ul > li#head_switch .select_wrap::after {
	border-bottom: 1px solid #636262;
	border-right: 1px solid #636262;
}

body > header > ul > li > a {
	display: block;
	height: 36px;
	padding: 2px 15px;
	font-size: 34px;
	line-height: 1.2;
	text-decoration: none !important;
}
body > header > ul > li > a:hover {
	position: relative;
	background: rgba(99,98,98,1);
	color: #fff;
	opacity: 1 !important;
}
body > header > ul > li > a:hover i,
body > header > ul > li > a.active i { color: #fff;}

body > header > ul > li .hamb {
	display: none;
	margin-left: 15px;
}

body > header > ul #search_wrap,
body > header > ul #lang_wrap { display: none;}

button.lang_close {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	width: 65px;
	height: 65px;
	border: none;
	background: rgba(99,98,98,1);
	font-size: 0;
	line-height: 0;
	text-indent: -9999px;
	transition: all .1s ease-out;
}
button.lang_close:hover { background: rgba(99,98,98,.5);}
button.lang_close::before,
button.lang_close::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 60px;
	height: 2px;
	background: #fff;
	content:'';
}
button.lang_close::before { transform: translate(-50%) rotate(-45deg);}
button.lang_close::after { transform: translate(-50%) rotate(45deg);}


@media only screen and (max-width: 750px){
	body > header { padding: 0 10px;}
	
	body > header > ul > li#head_switch { display: none;}
	
	body > header > ul > li:last-child { border-left: 1px dotted rgba(99,98,98,1);}

	body > header > ul > li > a { padding: 2px 10px;}
		
	body > header > ul > li > a:hover {
		background: inherit;
		color: inherit;
	}
	body > header > ul > li > a:hover i { color: inherit;}
	
	body > header > ul > li .hamb { display: block;}
	
	button.lang_close {
		position: fixed;
		width: 50px;
		height: 50px;
		transition: none;
	}
	button.lang_close:hover { background: rgba(99,98,98,1);}
	button.lang_close::before,
	button.lang_close::after {
		width: 40px;
	}
	body > header h1 {
		position: static;
		transform: translateY(0);
		width: 56.8%;
	}
	body > header h1 img:first-child {
		height: auto;
		width: 100%;
		margin-right: 2%;
	}
	body > header h1 img:first-child + img { height: auto; width: 45%;}
}


/* Languages */
#lang_wrap {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
	overflow-y: scroll;
}

#lang_wrap #switch_sp { display: none;}

#lang_wrap > div {
	display: flex;
	width: 100vw;
	min-height: 100vh;
	padding-right: calc(100vw - 100%);
}

#lang_wrap > div > div {
	flex: 1;
	opacity: 1;
	transform: translateY(0);
}

#lang_wrap > div > div:nth-child(odd) { background: #f1f1f1;}
#lang_wrap > div > div:nth-child(even) { background: #ebebeb;}

#lang_wrap > div .h3 {
	display: block;
	position: relative;
	font-size: 5.0rem;
	font-family: 'Open Sans', sans-serif;
	margin-bottom: 30px;
	padding: 30px 10px 20px;
	text-align: center;
	white-space: nowrap;
}

div#lang_usa .h3 {
	font-size: 3.5rem;
	font-weight: bold;
	padding: 10px 10px 14px;
}

#lang_wrap > div .h3::before {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 50px;
	height: 2px;
	background: #333;
	transform: translateX(-50%);
	content: '';
}

#lang_wrap > div a:hover { color: rgba(99,98,98,1);}

#lang_wrap > div div ul {
	background: rgba(99,98,98,.1);
	font-size: 0;
}

#lang_wrap > div div li { margin-bottom: 1px;}

#lang_wrap > div div ul a {
	display: flex;
	align-items: center;
	position: relative;
	min-height: 50px;
	padding: 15px 15px 15px 20px;
	box-sizing: border-box;
	background: rgba(99,98,98,.15);
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1.2;
}
#lang_wrap > div div ul a::before {
	position: absolute;
	top: 50%;
	left: 10px;
	border: 6px solid transparent;
	border-left: 6px solid rgba(99,98,98,1);
	transform: translateY(-50%);
	content: '';
}

#lang_wrap > div div ul a span {
	width: 30px;
	margin-right: 5px;
	line-height: 0;
}
#lang_wrap > div div ul a span img { width: 100%;}


html.lang_on { overflow: hidden;}
html.lang_on #lang_wrap { display: block; overflow-x: hidden;}

html.lang_on #lang_wrap > div > div {
	min-height: 100vh;
	opacity: 0;
  animation-duration: .5s;
	animation-fill-mode: forwards;
	animation-name: lang-on;
}

#lang_wrap > div > div:nth-child(odd) { transform: translateY(-50%);}
#lang_wrap > div > div:nth-child(even) { transform: translateY(50%);}

@keyframes lang-on {
  100% {
		opacity: 1;
		transform: translateY(0);
  }
}

@keyframes lang-on-sp {
	100% {
		opacity: 1;
		transform: translate(0);
	}
}


@media only screen and (max-width: 750px){
	#lang_wrap #switch_sp {
		display: block;
		position: relative;
		margin-right: 10px
	}

	#lang_wrap > div {
		flex-direction: column;
		padding-top: 60px;
		background: rgba(235,235,235,.95);
	}
	
	#lang_wrap > div > div {
		flex: none;
		min-height: 0;
		padding-left: 4%;
	}
	
	#lang_wrap > div > div:nth-child(odd),
	#lang_wrap > div > div:nth-child(even) { background: none;}
	
	#lang_wrap > div .h3 {
		margin: 0;
		padding: 20px 10px;
		border-bottom: 1px solid #636262;
		color: #636262;
		font-size: 1.6rem;
		text-align: left;
		white-space: inherit;
	}

	#lang_wrap > div .h3::before,
	#lang_wrap > div .h3::after {
		position: absolute;
		left: inherit;
		bottom: inherit;
		top: 50%;
		right: 10px;
		width: 20px;
		height: 2px;
		background: #636262;
		transform: translate(0,-50%);
		content: '';
	}
	#lang_wrap > div .h3::after {
		right: 19px;
		width: 2px;
		height: 20px;
	}
	#lang_wrap > div .h3.active::after { display: none;}
	
	#lang_wrap > div .h3 b {
		display: inline-block;
		margin-left: 5px;
		font-size: 1.4rem;
	}
	
	#lang_wrap > div .h3 b::before {
		float: left;
		margin-right: 5px;
		content:'/';
	}
	
	#lang_wrap > div > div:nth-child(odd) { transform: translate(50%,0);}
	#lang_wrap > div > div:nth-child(even) { transform: translate(50%,0);}
	
	#lang_wrap > div div ul {
		display: none;
		background: none;
		margin-left: 10px;
	}
	
	html.lang_on #lang_wrap > div > div {
		min-height: 0;
		animation-name: lang-on-sp;
	}
}


/* Footer Items */
footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 20px;
	background: #636262;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.2;
}

footer li {
	display: inline-block;
	margin-right: 15px;
}

footer li a:not(.button) {
	position: relative;
	padding-left: 10px;
	color: #fff;
}

footer li a:not(.button)::before {
	position: absolute;
  top: 50%;
  left: 0;
  border: 4px solid transparent;
  border-left: 5px solid #fff;
  transform: translateY(-50%);
  content: '';
}

footer > p {
	font-family: 'Open Sans', sans-serif;
}


@media only screen and (max-width: 750px){
	footer {
		flex-direction: column;
		padding: 10px;
	}
	
	footer ul {
		width: 100%;
		margin-bottom: 10px;
		padding-bottom: 10px;
		border-bottom: 1px dotted #999;
	}
	
	footer li {
		margin: 0 10px;
	}
	
}


/* Page Top Button */
aside#pagetop {
	display: none;
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 80px;
	border-radius: 5px;
	border: 1px solid rgba(255,255,255,.7);
	background: linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.4) 50%, rgba(255,255,255,.8));
	transform: translateY(-50%);
	box-shadow: 0 0 3px rgba(0,0,0,.2);
}

aside#pagetop a {
	display: block;
	width: 40px;
	height: 40px;
	margin: 0 auto;
	padding: 15px;
	box-sizing: content-box;
}

aside#pagetop a span {
	display: block;
	position: relative;
	width: 32px;
	height: 2px;
	margin: 30px auto 0;
	background: rgba(99,98,98,1);
}
aside#pagetop a span::before {
	position: absolute;
	top: -20px;
	left: 4px;
	width: 22px;
	height: 22px;
	border-top: 2px solid rgba(99,98,98,1);
	border-right: 2px solid rgba(99,98,98,1);
	opacity: 1;
	transform: rotate(-45deg);
	transition: all .2s ease-out;
  animation-duration: .2s;
	animation-fill-mode: forwards;
	content: '';
}

aside#pagetop a:hover span::before {
	top: -15px;
	transition: all .2s ease-out;
}

aside#pagetop a:active span::before {
	animation-name: top-on;
}

@keyframes top-on {
  100% {
    top: -30px;
    opacity: 0;
  }
}

@media only screen and (max-width: 750px){
	aside#pagetop { display: none !important;}
}


/* Title Items */
.h3 {
	margin: 0 20px 25px;
	font-weight: 600;
	font-size: 5.0rem;
	line-height: 1.3;
	font-family: 'Open Sans', sans-serif;
	text-align: center;
}
.h3 b {
	display: block;
	font-weight: bold;
	font-size: 1.8rem;
}

main > h2 {
	position: relative;
	margin-bottom: 40px;
	padding: 20px 0;
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
}

main > h2::after {
	display: inline-block;
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 100px;
	height: 5px;
	background: #636262;
	transform: translateX(-50%);
	content: '';
}


@media only screen and (max-width: 750px){
	.h3 { font-size: 3rem;}
	.h3 b {
		display: block;
		margin-left: 5px;
		font-size: 1.2rem;
	}
	
	main > h2 {
		position: relative;
		margin-bottom: 20px;
		padding-bottom: 15px;
		font-size: 2rem;
	}

	main > h2::after {
		display: inline-block;
		position: absolute;
		bottom: 0;
		width: 50px;
		height: 3px;
		content: '';
	}
}


/* Refine */
#refine {
	width: calc(100% - 40px);
	max-width: 1280px;
	margin: 10px auto;
	padding: 20px;
	background: #ebebeb;
}

#refine > div {
	display: flex;
	margin-bottom: 10px;
}

#refine dl {
	flex: 1;
	position: relative;
}

#refine dd button {
	position: absolute;
	top: 2px;
	right: 2px;
	width: 80px;
	height: 36px;
	border-radius: 3px;
	background: #333;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 36px;
	cursor: pointer;
}
#refine dd button:hover { background: #636262;}

#refine >div ul {
	display: flex;
	align-items: center;
}

#refine >div ul li { padding: 5px 0;}

#refine >div ul li:not(:last-child) { border-right: 1px solid #ccc;}
#refine >div ul li:not(:first-child) { border-left: 1px solid #fff;}

#refine >div ul a {
	position: relative;
	margin: 0 15px;
	padding-left: 10px;
	font-weight: bold;
}
#refine >div ul a::before {
	position: absolute;
  top: 50%;
  left: 0;
  border: 4px solid transparent;
  border-left: 5px solid #333;
  transform: translateY(-50%);
  content: '';
}

#refine > ul {
	display: flex;
	justify-content: space-between;
}

#refine > ul > li {
	position: relative;
	width: calc(33.33% - 8px);
}

#refine > ul > li > a {
	display: block;
	position: relative;
	z-index: 3;
	padding: 10px;
	border-radius: 5px;
	border-bottom: 3px solid #333;
	background: #636262;
	color: #fff;
	text-shadow: 0 1px 0 #000;
	font-weight: bold;
	font-size: 2.0rem;
	text-align: center;
	text-decoration: none;
}
#refine > ul > li > a::after {
	position: absolute;
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(-45deg);
	content: '';
}
#refine > ul > li > a:hover,
#refine > ul > li.active > a {
	top: 3px;
	border-bottom: 0;
	background: #555;
}

#refine > ul > li > a:hover::after,
#refine > ul > li.active > a::after {	transform: translateY(-50%) rotate(45deg);}

#refine > ul ul {
	display: none;
	position: absolute;
	z-index: 2;
	width: 100%;
	margin-top: -3px;
	padding-top: 5px;
	border-radius: 0 0 5px 5px;
	background: rgba(0, 0, 0, .8);
	animation: .5s forwards slideUp;
}

#refine > ul > li.active ul {
	opacity: 0;
	animation: .5s forwards dropDown;
}
@keyframes dropDown {
  100% { opacity: 1;}
}
@keyframes slideUp {
  100% { opacity: 0;}
}

#refine > ul ul::before {
	position: absolute;
	left: 50%;
	margin-top: -3px;
	border: 16px solid transparent;
	border-top: 12px solid #555;
	transform: translateX(-50%);
	content: '';
}

#refine > ul ul li:not(:last-child) {
	border-bottom: 1px dotted #636262;
}

#refine > ul ul a {
	display: block;
	position: relative;
	padding: 15px 15px 15px 20px;
	color: #fff;
}

#refine > ul ul a::before {
	position: absolute;
	top: 50%;
	left: 10px;
	border: 5px solid transparent;
	border-left: 6px solid #fff;
	transform: translateY(-50%);
	content: '';
}


@media only screen and (max-width: 750px){
	#refine {
		width: 100%;
		margin: 0;
		padding: 10px;
	}

	#refine > div {flex-direction: column;}

	#refine dl { margin-bottom: 5px;}
	
	#refine > ul > li {
		position: static;
		width: calc(32%);
	}

	#refine > ul > li > a {
		pointer-events: none;
		padding: 10px 5px 20px;
		border-radius: 5px;
		font-size: 1.4rem;
	}
	
	#refine > ul > li > a:hover,
	#refine > ul > li.active > a {
		top: inherit;
		margin-top: 3px;
		border-bottom: 0;
		background: #555;
	}

	#refine > ul > li > a::after {
		position: absolute;
		top: inherit;
		bottom: 10px;
		left: 50%;
		right: inherit;
		width: 10px;
		height: 10px;
		border-bottom: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: translateX(-50%) rotate(45deg);
		content: '';
	}
	#refine > ul > li > a:hover::after,
	#refine > ul > li.active > a::after {
		bottom: 5px;
		transform: translateX(-50%) rotate(-135deg);
	}

	#refine > ul ul {
		left: 0;
		width: 100vw;
		margin-top: 10px;
		border-radius: 0;
	}

	#refine > ul ul::before {
		display: none;
		margin-top: -5px;
	}

	#refine > ul ul li:not(:last-child) {
		border-bottom: 1px dotted #636262;
	}

	#refine > ul ul a {
		display: block;
		position: relative;
		padding: 15px 20px;
		color: #fff;
	}
	
	#refine > ul ul a::before {
		border: 4px solid transparent;
		border-left: 5px solid #fff;
	}
}


/* Catalog List */
ul.wrapper {
	display: flex;
	flex-wrap: wrap;
	padding: 40px 10px;
	background: #ebebeb;
}

ul.wrapper li {
	display: flex;
	flex-direction: column;
	position: relative;
	width: calc(33.32% - 20px);
	margin: 0 10px 20px;
	box-sizing: border-box;
	border: 1px solid #636262;
	background: #fff;
	color: #636262;
}
ul.wrapper li.sa { border-color: #ddb900;}
ul.wrapper li.su { border-color: #b8183f;}
ul.wrapper li.sm { border-color: #395daa;}

@media only screen and (max-width: 1024px){
	ul.wrapper li { width: calc(50% - 20px);}
}
@media only screen and (min-width: 1366px){
	ul.wrapper li { width: calc(25% - 20px);}
}
@media only screen and (min-width: 2048px){
	ul.wrapper li { width: calc(20% - 20px);}
}

ul.wrapper li::after {
	position: absolute;
	top: -5px;
	left: -5px;
	width: 30px;
	height: 30px;
	content: '';
}
ul.wrapper li.sa::after { background: url(/img/bg-sa.png) no-repeat left top / 100%;}
ul.wrapper li.su::after { background: url(/img/bg-su.png) no-repeat left top / 100%;}
ul.wrapper li.sm::after { background: url(/img/bg-sm.png) no-repeat left top / 100%;}

ul.wrapper em {
	display: block;
	margin-bottom: 10px;
	padding: 10px 15px;
	background: #ebebeb;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1.2;
}

ul.wrapper li div {
	display: flex;
	align-items: flex-start;
	margin: 0 10px 10px;
}

ul.wrapper li div dl {
	flex: 1;
	margin: 0 10px 5px 0;
}

ul.wrapper li div dt {
	margin-bottom: 15px;
	padding: 0 5px 15px;
	border-bottom: 1px solid #ebebeb;
	font-weight: bold;
	line-height: 1.2;
}

ul.wrapper li div dd {
	margin: 0 5px;
	font-size: 1.4rem;
	line-height: 1.4;
}

ul.wrapper li div span {
	width: 100px;
	line-height: 0;
}
ul.wrapper li div span img { width: 100%; border: 5px solid #ebebeb;}


@media only screen and (max-width: 750px){
	ul.wrapper { padding: 20px 5px;}
	
	ul.wrapper li {
		width: calc(50% - 10px);
		margin: 0 5px 10px;
	}
	
	ul.wrapper li div {
		flex-direction: column;
		width: calc(100% -10px);
		margin: 0 5px 10px;
	}

	ul.wrapper em {
		padding: 10px;
		font-size: 1.2rem;
	}
	
	ul.wrapper li div dl {
		order: 2;
		flex: none;
		width: 100%;
		margin: 0 0 5px;
	}

	ul.wrapper li div dt {
		margin-bottom: 10px;
		padding: 0 5px 10px;
		font-size: 1.3rem;
	}

	ul.wrapper li div dd {
		font-size: 1.2rem;
	}

	ul.wrapper li div span {
		order: 1;
		margin: 0 auto 10px;
	}
}


@media only screen and (max-width: 479px){
	ul.wrapper li {
		width: calc(100% - 20px);
		margin: 0 10px 15px;
	}
	
	ul.wrapper li div {
		flex-direction: row;
		margin: 0 5px 10px;
	}
	
	ul.wrapper li div dl {
		order: inherit;
		flex: 1;
		width: inherit;
		margin: 0 10px 5px 0;
	}
	
	ul.wrapper li div span {
		order: inherit;
		margin: 0 auto;
	}
}

/* Clear Fix */
.obj::after {
	display: block;
	clear: both;
	content: '';