html
{
	width: 100%;
}

body
{
	-webkit-text-size-adjust: 100%;
	width: 100%;
	margin: 0px;
	padding: 0px;
	font-family: -apple-system, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ ゴシック', 'MS Gothic', sans-serif;
	font-size: 16px;
}

input[type="button"],input[type="submit"],input[type="file"],input[type="text"],input[type="password"],textarea
{
	font-family: inherit;
    -webkit-appearance: none;
	font-weight: 400;
	display: block;
}

select
{
	font-family: inherit;
	font-weight: 400;
	display: block;
}

a
{
	text-decoration: none;
	display: block;
}

img
{
	border-style: none;
	display: block;
}

div
{
	border-style: none;
}

ul
{
	margin: 0;
	padding: 0;
}

ul li
{
	list-style: none;
}

*:focus
{
	outline: none;
}


/* パーツ */
.mt0
{
	margin-top: 0px!important;
}

.mt5
{
	margin-top: 5px!important;
}

.mt10
{
	margin-top: 10px!important;
}

.mt15
{
	margin-top: 15px!important;
}

.mt20
{
	margin-top: 20px!important;
}

.mt25
{
	margin-top: 25px!important;
}

.mt30
{
	margin-top: 30px!important;
}

.mt32
{
	margin-top: 32px!important;
}

.mt35
{
	margin-top: 35px!important;
}

.mt40
{
	margin-top: 40px!important;
}

.mt45
{
	margin-top: 45px!important;
}

.mt50
{
	margin-top: 50px!important;
}

.mt55
{
	margin-top: 55px!important;
}

.mt60
{
	margin-top: 60px!important;
}

.mt65
{
	margin-top: 65px!important;
}

.mt70
{
	margin-top: 70px!important;
}

.mt75
{
	margin-top: 75px!important;
}

.mt80
{
	margin-top: 80px!important;
}

.mt85
{
	margin-top: 85px!important;
}

.mt90
{
	margin-top: 90px!important;
}

.mt95
{
	margin-top: 95px!important;
}

.mt100
{
	margin-top: 100px!important;
}

.mt106
{
	margin-top: 106px!important;
}

.mt110
{
	margin-top: 110px!important;
}

.mt120
{
	margin-top: 120px!important;
}

.mt130
{
	margin-top: 130px!important;
}

.mt140
{
	margin-top: 140px!important;
}

.mt150
{
	margin-top: 150px!important;
}

.mt160
{
	margin-top: 160px!important;
}

.mt170
{
	margin-top: 170px!important;
}

.mt178
{
	margin-top: 178px!important;
}

.mt180
{
	margin-top: 180px!important;
}

.mt190
{
	margin-top: 190px!important;
}

.mt200
{
	margin-top: 200px!important;
}

.mb0
{
	margin-bottom: 0px!important;
}

.mb5
{
	margin-bottom: 5px!important;
}

.mb10
{
	margin-bottom: 10px!important;
}

.mb15
{
	margin-bottom: 15px!important;
}

.mb20
{
	margin-bottom: 20px!important;
}

.mb30
{
	margin-bottom: 30px!important;
}

.mb40
{
	margin-bottom: 40px!important;
}

.mb45
{
	margin-bottom: 45px!important;
}

.mb50
{
	margin-bottom: 50px!important;
}

.ml0
{
	margin-left: 0px!important;
}

.ml1
{
	margin-left: 1em!important;
}

.ml2
{
	margin-left: 2em!important;
}

.ml10
{
	margin-left: 10px!important;
}

.ml20
{
	margin-left: 20px!important;
}

.ml30
{
	margin-left: 30px!important;
}

.ml40
{
	margin-left: 40px!important;
}

.ml50
{
	margin-left: 50px!important;
}

.ml60
{
	margin-left: 60px!important;
}

.ml70
{
	margin-left: 70px!important;
}

.ml80
{
	margin-left: 80px!important;
}

.ml90
{
	margin-left: 90px!important;
}

.ml100
{
	margin-left: 100px!important;
}

.ml110
{
	margin-left: 110px!important;
}

.ml120
{
	margin-left: 120px!important;
}

.ml130
{
	margin-left: 130px!important;
}

.ml140
{
	margin-left: 140px!important;
}

.ml150
{
	margin-left: 150px!important;
}

.mr0
{
	margin-right: 0px!important;
}

.pt0
{
	padding-top: 0px!important;
}

.pt5
{
	padding-top: 5px!important;
}

.pt10
{
	padding-top: 10px!important;
}

.pt15
{
	padding-top: 15px!important;
}

.pt20
{
	padding-top: 20px!important;
}

.pt25
{
	padding-top: 25px!important;
}

.pt30
{
	padding-top: 30px!important;
}

.pt40
{
	padding-top: 40px!important;
}

.pt50
{
	padding-top: 50px!important;
}

.pt60
{
	padding-top: 60px!important;
}

.pt70
{
	padding-top: 70px!important;
}

.pt80
{
	padding-top: 80px!important;
}

.pt90
{
	padding-top: 90px!important;
}

.pt100
{
	padding-top: 100px!important;
}

.pt110
{
	padding-top: 110px!important;
}

.pt120
{
	padding-top: 120px!important;
}

.pt130
{
	padding-top: 130px!important;
}

.pt140
{
	padding-top: 140px!important;
}

.pt150
{
	padding-top: 150px!important;
}

.pt160
{
	padding-top: 160px!important;
}

.pt170
{
	padding-top: 170px!important;
}

.pt180
{
	padding-top: 180px!important;
}

.pt190
{
	padding-top: 190px!important;
}

.pt200
{
	padding-top: 200px!important;
}

.pb0
{
	padding-bottom: 0px!important;
}

.pb10
{
	padding-bottom: 10px!important;
}

.pb20
{
	padding-bottom: 20px!important;
}

.pb30
{
	padding-bottom: 30px!important;
}

.pb40
{
	padding-bottom: 40px!important;
}

.pb50
{
	padding-bottom: 50px!important;
}

.pb60
{
	padding-bottom: 60px!important;
}

.pb70
{
	padding-bottom: 70px!important;
}

.pb80
{
	padding-bottom: 80px!important;
}

.pb90
{
	padding-bottom: 90px!important;
}

.pb100
{
	padding-bottom: 100px!important;
}

.pl0
{
	padding-left: 0px!important;
}

.pl5
{
	padding-left: 5px!important;
}

.pl10
{
	padding-left: 10px!important;
}

.pl20
{
	padding-left: 20px!important;
}

.pl30
{
	padding-left: 30px!important;
}

.pl40
{
	padding-left: 40px!important;
}

.pl50
{
	padding-left: 50px!important;
}

.pr0
{
	padding-right: 0px!important;
}

.pr5
{
	padding-right: 5px!important;
}

.pr7
{
	padding-right: 7px!important;
}

.pr10
{
	padding-right: 10px!important;
}

.pr20
{
	padding-right: 20px!important;
}

.pr30
{
	padding-right: 30px!important;
}

.pr40
{
	padding-right: 40px!important;
}

.pr50
{
	padding-right: 50px!important;
}

.mlra
{
	margin-left: auto!important;
	margin-right: auto!important;
}

.wd_a
{
	width: auto!important;
}

.wd_all
{
	width: 100%!important;
}

.popup-show
{
	cursor: pointer!important;
}

.modal-close
{
	cursor: pointer!important;
}

span.red
{
	color: #ff0000!important;
}

span.add
{
	font-size: 90%;
	color: #ff0000!important;
	font-weight: 400!important;
}

span.bold
{
	font-weight: 700!important;
}

span.word
{
	white-space: nowrap;
	margin-right: 1em;
	display: inline-block;
}

span.word2
{
	white-space: nowrap;
	display: inline-block;
}

span.nowrap
{
	white-space: nowrap;
	display: inline-block;
}

span.minus_left
{
	margin-left: -0.5em;
}

.indent
{
	text-indent: 1em!important;
}

.page_right
{
	margin-left: auto!important;
	margin-right: 0!important;
}

.float_clear
{
	clear: both;
}

a.url_str
{
	color: #000000!important;
	text-decoration: underline!important;
}

.bg_default
{
	background-color: transparent!important;
}


/* ヘッダー */
div.header
{
	width: 100%;
	background-color: rgba(255, 255, 255, 0.85);
	position: fixed;
	top: 0;
	z-index: 700;
}

div.header div.data
{
	width: 960px;
	height: 70px;
	margin: 0px auto 0px;
	position: relative;
}

div.header table.header
{
	width: 100%;
	height: 100%;
}

div.header table.header td.space
{
	width: auto;
}

div.header table.header td.logo
{
	/*width: 300px;*/
	padding-right: 5px;
}

div.header table.header td.logo div.logo
{
	width: 185px;
	height: 60px;
}

div.header table.header td.logo div.logo img
{
	width: 100%;
	display: block;
}

div.header table.header td.title
{
	width: 5px;
	/*vertical-align: top;
	padding-top: 10px;*/
}

div.header table.header td.title div.catch_img
{
	width: 131px;
	height: 10px;
	margin-bottom: 10px;
}

div.header table.header td.title div.catch_img img
{
	width: 131px;
	height: 10px;
	display: block;
}

div.header table.header td.title div.title_img
{
	width: 255px;
	height: 20px;
}

div.header table.header td.title div.title_img img
{
	width: 255px;
	height: 20px;
	display: block;
}

div.header table.header td.title div.title
{
	font-size: 110%;
	line-height: 100%;
	color: #333;
	letter-spacing: 0.2em;
	white-space: nowrap;
}

div.header table.header td.catch
{
	/*padding-top: 5px;*/
}

div.header table.header td.catch div.catch
{
	font-size: 90%;
	line-height: 120%;
	color: #333;
	letter-spacing: 0.02em;
	/*text-align: center;*/
	margin-left: 28px;
}

div.header table.header td.contact
{
	width: 100px;
	padding-top: 6px;
	white-space: nowrap;
}

div.header table.header td.contact div.text01
{
	font-size: 75%;
	line-height: 100%;
	color: #333;
	text-align: center;
	letter-spacing: 0.02em;
}

div.header table.header td.contact div.text02
{
	font-size: 130%;
	line-height: 100%;
	color: #333;
	text-align: center;
	margin: 2px 0px 2px;
	letter-spacing: 0.05em;
}

div.header table.header td.contact div.text02 a
{
	color: #2f5870;
}

div.header table.header td.contact div.text03
{
	font-size: 75%;
	line-height: 100%;
	color: #333;
	text-align: center;
	letter-spacing: 0.02em;
}

div.header div.menu
{
	width: 100%;
	height: 42px;
	margin: 0px auto 0px;
	box-sizing: border-box;
}

div.header table.header td.menu
{
	width: 1px;
	/*padding-right: 15px;*/
	padding-right: 10px;
	position: relative;
}

div.header table.header td:last-child.menu
{
	padding-right: 0px;
}

div.header table.header td.menu div.button
{
	/*width: 170px;
	height: 70px;*/
}

div.header table.header td.menu div.button button
{
	/*width: 170px;*/
	height: 30px;
	font-size: 100%;
	line-height: 100%;
	color: #333;
	border: none;
	text-shadow: none;
	background-color: transparent;
	letter-spacing: 0.05em;
	padding: 0px 5px 0px;
	box-sizing: border-box;
	white-space: nowrap;
	/*border-radius: 15px;*/
	cursor: pointer;
}

div.header table.header td.menu div.button button:hover
{
	color: #004097;
}

div.header table.header td.menu div.button button.special
{
	color: #ffffff;
	background-color: #a5a5a6;
}

div.header table.header td.menu div.button button.select
{
	border-bottom: 1px solid #333;
}

div.header table.header td.menu div.triangle
{
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-bottom: 40px solid #2f5870;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 701;
}

div.header table.header td.cart
{
	width: 40px;
	padding-right: 15px;
}

div.header table.header td.cart div.img
{
	width: 40px;
	height: 40px;
	margin: 0px auto 0px;
}

div.header table.header td.cart div.img img
{
	width: 40px;
	height: 40px;
	display: block;
}

div.header table.header td.cart a
{
	display: block;
	text-decoration: none;
}

div.header table.header td.mypage
{
	width: 40px;
	padding-right: 20px;
}

div.header table.header td.mypage div.img
{
	width: 40px;
	height: 40px;
	margin: 0px auto 0px;
}

div.header table.header td.mypage div.img img
{
	width: 40px;
	height: 40px;
	display: block;
}

div.header table.header td.mypage a
{
	display: block;
	text-decoration: none;
}

div.header table.header div.icon_name
{
	font-size: 80%;
	line-height: 100%;
	color: #333;
	white-space: nowrap;
	text-align: center;
	margin-top: 1px;
}

#buttonImage {
	width: 180px;
	height: 40px;
	background-image: url('../img/global_btn.png');
	display: inline-block;
}

div.header_height
{
	height: 70px;
}


/* フッター */
div.footer_frame
{
	width: 100%;
	height: 100px;
	background-color: #1a1919;
	padding: 20px 0px 0px;
	position: relative;
	box-sizing: border-box;
}

div.footer_frame table.links
{
	margin: 0px auto 10px;
}

div.footer_frame table.links td.link
{
	font-size: 90%;
	line-height: 100%;
	color: #ffffff;
	padding-right: 60px;
}

div.footer_frame table.links td:last-child
{
	padding-right: 0px;
}

div.footer_frame table.links a
{
	color: #ffffff;
	display: block;
	text-decoration: none;
}

div.footer_frame div.copyright
{
	font-size: 95%;
	line-height: 100%;
	color: #ffffff;
	text-align: center;
}

div.footer_frame div.logo
{
	width: 61px;
	height: 61px;
	margin: auto;
	position: absolute;
	top: 0px;
	left: 15px;
}

div.footer_frame div.logo img
{
	width: 61px;
	height: 61px;
}

table.copyright
{
	/*height: 100px;*/
	margin: 0px auto 0px;
}

table.copyright td.text
{
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	padding-right: 2em;
}

table.copyright td.text2
{
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	padding-right: 5px;
}

table.copyright td.logo
{
	/*width: 60px;*/
	width: 50px;
}

table.copyright td.logo div.img
{
	/*width: 60px;
	height: 60px;*/
	width: 50px;
	height: 50px;
}

table.copyright td.logo div.img img
{
	width: 100%;
	display: block;
}

div.sns_frame
{
	position: absolute;
	bottom: 20px;
	left: 30px;
}

table.sns_icon
{
	margin: 0px auto 0px;
}

table.sns_icon td.text
{
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	padding-bottom: 10px;
	white-space: nowrap;
}

table.sns_icon td.icon
{
	width: 30px;
	padding-right: 10px;
}

table.sns_icon td:last-child.icon
{
	padding-right: 0;
}

table.sns_icon td.icon div.img
{
	width: 30px;
	height: 30px;
}

table.sns_icon td.icon div.img img
{
	width: 100%;
	display: block;
}

table.sns_icon a
{
	text-decoration: none;
	display: block;
}

div.pagetop
{
	/*width: 40px;
	height: 56px;*/
	width: 35px;
	height: 49px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
}

div.pagetop img
{
	width: 100%;
	display: block;
}

div.pagetop a
{
	text-decoration: none;
	display: block;
}


/* ページャー */
div.pager_frame
{
	/*height: 41px;*/
	margin: 20px auto 0px;
}

table.pager
{
	margin: 0px auto 0px;
}

table.pager td.back
{
	font-size: 160%;
	line-height: 100%;
	color: #333;
	padding: 0px 8px 0px 0px;
	cursor: pointer;
}

table.pager td.next
{
	font-size: 160%;
	line-height: 100%;
	color: #333;
	padding: 0px 0px 0px 8px;
	cursor: pointer;
}

table.pager td.number
{
	height: 30px;
	color: #333;
	padding-right: 15px;
}

table.pager td:last-child.number
{
	padding-right: 0px;
}

table.pager td.number input
{
	min-width: 20px;
	height: 30px;
	font-size: 95%;
	line-height: 100%;
	color: #333;
	text-align: center;
	background-color: transparent;
	padding: 0px 2px 0px;
	box-sizing: border-box;
	cursor: pointer;
	border: none;
	text-shadow: none;
}

table.pager td.number_now
{
	height: 30px;
	padding-right: 15px;
}

table.pager td.number_now input
{
	min-width: 20px;
	height: 30px;
	font-size: 95%;
	line-height: 100%;
	color: #ffffff;
	padding: 0px;
	text-align: center;
	background-color: #333;
	padding: 0px 2px 0px;
	box-sizing: border-box;
	border: none;
	text-shadow: none;
}

table.pager td:last-child.number_now
{
	padding-right: 0px;
}

table.pager a
{
	text-decoration: none;
}


/* 完了 */
div.fin_text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	text-align: center;
	margin: 50px auto 0px;
}


/* フローチャート */
table.flow
{
	margin: 40px auto 0px;
}

table.flow td.now
{
	width: 90px;
	height: 90px;
	font-size: 100%;
	line-height: 140%;
	color: #ffffff;
	text-align: center;
	background-color: #d4bf8d;
}

table.flow td.before
{
	width: 90px;
	height: 90px;
	font-size: 100%;
	line-height: 140%;
	color: #ffffff;
	text-align: center;
	background-color: #8d8d8d;
}

table.flow td.after
{
	width: 90px;
	height: 90px;
	font-size: 100%;
	line-height: 140%;
	color: #ffffff;
	text-align: center;
	background-color: #333333;
}

table.flow td.arrow
{
	width: 55px;
	font-size: 150%;
	line-height: 100%;
	color: #333333;
	text-align: center;
}


/* リスト */
table.list
{
	margin: 25px 15px 0px;
}

table.list td.contents
{
	width: 450px;
	vertical-align: top;
	padding-right: 30px;
}

table.list td.contents a
{
	color: #f6f6f6;
}

table.list td:last-child.contents
{
	padding-right: 0px;
}

table.list div.block
{
	width: 450px;
	padding: 15px 0px 25px;
	border-bottom: 1px solid #f6f6f6;
	box-sizing: border-box;
	cursor: pointer;
}

table.list table.block
{
	width: 450px;
}

table.list table.block td.img
{
	width: 150px;
	vertical-align: top;
	padding-right: 10px;
}

table.list table.block td.img div.img
{
	width: 150px;
	height: 150px;
	background-color: #f0f0f0;
}

table.list table.block td.img div.img img
{
	width: 150px;
	height: 150px;
	display: block;
    object-fit: cover;
}

table.list table.block td.img div.img iframe
{
	width: 150px;
	height: 150px;
	display: block;
}

table.list table.block td.text
{
	vertical-align: top;
	padding-top: 5px;
	word-break: break-all;
}

table.list table.block td.text div.title
{
	font-size: 100%;
	line-height: 130%;
	color: #333;
	margin: 0px 0px 15px;
}

table.list table.block td.text div.text
{
	font-size: 100%;
	line-height: 130%;
	color: #333;
}


/* このページは存在しません */
div.nothing_text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	padding: 80px 0px 150px;
	text-align: center;
}


/* タイトル */
h1
{
	font-size: 120%;
	line-height: 160%;
	color: #333;
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	margin: 90px auto 150px;
	text-align: center;
	font-weight: normal;
	letter-spacing: 0.05em;
}

h2
{
	font-size: 120%;
	line-height: 140%;
	color: #333;
	margin: 0px;
	padding: 0px;
	/*letter-spacing: 0.2em;*/
	letter-spacing: 0.1em;
	font-weight: normal;
}

h2.short
{
	width: 430px;
}

h3.title
{
	width: 100%;
	font-size: 120%;
	line-height: 100%;
	color: #808080;
	margin: 80px auto 30px;
	padding: 0px 0px 6px;
	font-weight: 400;
	letter-spacing: 0.1em;
	border-bottom: 1px solid #808080;
	text-align: center;
}

h3.title span
{
	font-size: 70%;
}

div.title_frame01
{
	width: 960px;
	min-height: 54px;
	height: auto;
	margin: 100px auto 0px;
	position: relative;
	display: table;
}

div.title_frame01 div.bg
{
	width: 60px;
	height: 54px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}

div.title_frame01 div.bg img
{
	width: 60px;
	height: 54px;
}

div.title_frame02
{
	width: 960px;
	height: 54px;
	background-color: #ffffff;
	box-sizing: border-box;
	padding-left: 80px;
	display: table-cell;
	vertical-align: middle;
}

div.title_frame02 h2
{
	font-size: 180%!important;
	color: #2f5870!important;
}

div.title_frame03
{
	width: 100%;
	height: 40px;
	background-color: #e4e4e4;
	margin: 0px auto 0px;
	padding: 1px 0px 1px;
	box-sizing: border-box;
	position: relative;
}

div.title_frame04_left
{
	width: 430px;
	height: 38px;
	background-color: #ffffff;
	position: absolute;
	top: 1px;
	right: 25px;
	z-index: 5;
}

div.title_frame04_right
{
	width: 430px;
	height: 38px;
	background-color: #ffffff;
	margin: 0px auto 0px;
	position: absolute;
	top: 1px;
	left: 25px;
	z-index: 5;
}

table.title_frame
{
	width: 960px;
	height: 30px;
	margin: 130px auto 0px;
}

table.title_frame td.left
{
	width: 480px;
	height: 30px;
	position: relative;
}

table.title_frame td.left div.bg
{
	width: 480px;
	height: 30px;
	position: absolute;
	bottom: 0;
	left: 0;
}

table.title_frame td.left div.bg img
{
	width: 480px;
	height: 30px;
}

table.title_frame td.left div.title_frame
{
	width: 480px;
	height: 30px;
	background-color: #ffffff;
	box-sizing: border-box;
	padding-left: 180px;
}

table.title_frame td.right
{
	width: 480px;
	height: 30px;
	position: relative;
}

table.title_frame td.right div.bg
{
	width: 480px;
	height: 18px;
	position: absolute;
	bottom: 2px;
	left: -1px;
}

table.title_frame td.right div.bg img
{
	width: 480px;
	height: 18px;
}

table.title_frame td.right div.title_frame
{
	width: 480px;
	height: 30px;
	background-color: #ffffff;
	box-sizing: border-box;
	padding-left: 80px;
}

table.title_frame td.right div.icon
{
	width: 160px;
	height: 56px;
	position: absolute;
	bottom: 38px;
	left: 55px;
}

table.title_frame td.right div.icon img
{
	width: 160px;
	height: 56px;
}


/* ログイン */
div.login_header
{
	width: 100%;
	height: 60px;
	margin: 0px auto 0px;
	background-color: #000000;
	position: fixed;
	top: 0;
	z-index: 777;
}

div.login_header_height
{
	width: 100%;
	height: 60px;
}

div.login_top_text
{
	width: 730px;
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
	margin: 0px auto 30px;
}

div.login_frame
{
	width: 730px;
	margin: 0px auto 0px;
	padding: 40px 35px 50px;
	box-sizing: border-box;
	background-color: #f2f2f2;
	border-radius: 5px;
}

table.login_form
{
	width: 100%;
	margin: 0px 0px 0px;
}

table.login_form td.height
{
	height: 25px;
}

table.login_form td.title
{
	width: 150px;
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	padding-left: 10px;
	background-color: #000000;
	letter-spacing: 0.1em;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}

table.login_form td.title_top
{
	width: 150px;
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	padding-left: 10px;
	background-color: #000000;
	letter-spacing: 0.1em;
	border-top-left-radius: 5px;
}

table.login_form td.title_bottom
{
	width: 150px;
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	padding-left: 10px;
	background-color: #000000;
	letter-spacing: 0.1em;
	border-bottom-left-radius: 5px;
}

table.login_form td.form
{
	width: auto;
}

table.login_form td.form input
{
	width: 100%;
	height: 35px;
	font-size: 100%;
	color: #333;
	padding: 0px 10px 0px;
	border: none;
	background-color: #ffffff;
	box-sizing: border-box;
	border: 1px solid #000000;
	letter-spacing: 0.1em;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

table.login_form td.form_top
{
	width: auto;
}

table.login_form td.form_top input
{
	width: 100%;
	height: 35px;
	font-size: 100%;
	color: #333;
	padding: 0px 10px 0px;
	border: none;
	background-color: #ffffff;
	box-sizing: border-box;
	border-top: 1px solid #000000;
	border-left: 1px solid #000000;
	border-right: 1px solid #000000;
	letter-spacing: 0.1em;
	border-top-right-radius: 5px;
}

table.login_form td.form_bottom
{
	width: auto;
}

table.login_form td.form_bottom input
{
	width: 100%;
	height: 35px;
	font-size: 100%;
	color: #333;
	padding: 0px 10px 0px;
	border: none;
	background-color: #ffffff;
	box-sizing: border-box;
	border-bottom: 1px solid #000000;
	border-left: 1px solid #000000;
	border-right: 1px solid #000000;
	letter-spacing: 0.1em;
	border-bottom-right-radius: 5px;
}

table.login_form td.text
{
	height: 35px;
	font-size: 100%;
	color: #333;
	padding: 0px 10px 0px;
	letter-spacing: 0.1em;
}

table.login_form tr.bottom_line td
{
	border-bottom: 1px dashed #000000;
}


/* BOTチェックボックス */
table.bot_check
{
	margin: 35px auto 0px;
}

table.bot_check td.checkbox
{

}

table.bot_check td.checkbox input[type="checkbox"]
{
	display: block;
}

table.bot_check td.text
{
	font-size: 100%;
	line-height: 100%;
	color: #2f2f2f;
	letter-spacing: 0.1em;
	padding-left: 10px;
}


/* パスワード再発行 */
div.article_reminder
{
	width: 730px;
	margin: 0px auto 0px;
	position: relative;
	box-sizing: border-box;
}

div.reminder_top_text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.05em;
	/*margin-bottom: 25px;*/
	text-align: center;
}

div.reminder_text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.05em;
	margin-bottom: 25px;
}

table.reminder_form
{
	width: 100%;
	margin: 0px 0px 0px;
}

table.reminder_form td.height
{
	height: 25px;
}

table.reminder_form td.title
{
	width: 150px;
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	/*color: #2f2f2f;*/
	padding-left: 10px;
	background-color: #000000;
	letter-spacing: 0.1em;
	/*border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;*/
}

table.reminder_form td.title_top
{
	width: 150px;
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	padding-left: 10px;
	background-color: #000000;
	letter-spacing: 0.1em;
	/*border-top-left-radius: 5px;*/
}

table.reminder_form td.title_bottom
{
	width: 150px;
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	padding-left: 10px;
	background-color: #000000;
	letter-spacing: 0.1em;
	/*border-bottom-left-radius: 5px;*/
}

table.reminder_form td.form
{
	width: auto;
}

table.reminder_form td.form input
{
	width: 100%;
	height: 35px;
	font-size: 100%;
	color: #333;
	padding: 0px 10px 0px;
	border: none;
	background-color: #ffffff;
	box-sizing: border-box;
	/*border: 1px solid #33ace0;*/
	border: 1px solid #4d4d4d;
	letter-spacing: 0.1em;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

table.reminder_form td.form_top
{
	width: auto;
}

table.reminder_form td.form_top input
{
	width: 100%;
	height: 35px;
	font-size: 100%;
	color: #333;
	padding: 0px 10px 0px;
	border: none;
	background-color: #ffffff;
	box-sizing: border-box;
	border-top: 1px solid #4d4d4d;
	border-left: 1px solid #4d4d4d;
	border-right: 1px solid #4d4d4d;
	letter-spacing: 0.1em;
	border-top-right-radius: 5px;
}

table.reminder_form td.form_bottom
{
	width: auto;
}

table.reminder_form td.form_bottom input
{
	width: 100%;
	height: 35px;
	font-size: 100%;
	color: #333;
	padding: 0px 10px 0px;
	border: none;
	background-color: #ffffff;
	box-sizing: border-box;
	border-bottom: 1px solid #4d4d4d;
	border-left: 1px solid #4d4d4d;
	border-right: 1px solid #4d4d4d;
	letter-spacing: 0.1em;
	border-bottom-right-radius: 5px;
}

table.reminder_form td.text
{
	height: 35px;
	font-size: 100%;
	color: #333;
	padding: 0px 10px 0px;
	letter-spacing: 0.1em;
}

table.reminder_form tr.bottom_line td
{
	border-bottom: 1px dashed #ffffff
}


/* ページ内リンク */
a.anchor
{
	margin-top: -70px;
	padding-top: 70px;
}


/* 動画 */
div.home_video_frame
{
	width: 960px;
	margin: 0px auto 0px;
	background-color: #000000;
}

div.home_video_frame div.home_video
{
	width: 100%;
	height: 540px;
}

div.home_video_frame div.home_video iframe
{
	width: 100%;
	height: 540px;
}

div.home_video_frame div.home_video_text_frame
{
	width: 100%;
	padding: 20px 0px 40px;
}

div.home_video_frame div.home_video_text_frame div.main_text
{
	font-size: 350%;
	line-height: 100%;
	color: #ffffff;
	letter-spacing: 0.1em;
	text-align: center;
	font-family: serif;
}

div.home_video_frame div.home_video_text_frame div.sub_text
{
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	letter-spacing: 0.1em;
	text-align: center;
	margin-top: 10px;
}



/* ホーム */
div.content_frame
{
	width: 100%;
	/*height: 100%;*/
	margin: 0px auto;
}

div.article
{
	width: 960px;
	margin: 0px auto 0px;
}

div.article_small
{
	width: 960px;
	margin: 0px auto 0px;
}

div.top_space01
{
	width: 100%;
	height: 50px;
}

div.top_space02
{
	width: 100%;
	height: 25px;
}

div.top_space03
{
	width: 100%;
	height: 15px;
}

div.bottom_space01
{
	width: 100%;
	/*height: 155px;*/
	height: 105px;
}

div.bottom_space02
{
	width: 100%;
	height: 75px;
}

div.news_bottom_space
{
	width: 100%;
	height: 100px;
}

div.home_bg
{
	width: 100%;
	box-sizing: border-box;
	padding: 0px 20px 0px;
	background-color: #f8f9fb;
}

div.home_bg_white
{
	width: 100%;
	box-sizing: border-box;
	padding: 0px 20px 0px;
}

div.home_bg + div.home_bg_white
{
	margin-top: 50px;
}

div.contents_title
{
	font-size: 180%;
	line-height: 100%;
	color: #333;
	margin: 50px auto 0px;
	letter-spacing: 0.1em;
}

div.contents_title span.small
{
	font-size: 50%;
}

div.contents_text
{
	font-size: 95%;
	line-height: 180%;
	color: #333;
	margin: 15px auto 0px;
}

div.contents_link
{
	margin: 15px 0px 0px;
	display: inline-block;
}

div.contents_link button
{
	height: 30px;
	font-size: 95%;
	line-height: 100%;
	color: #ffffff;
	background-color: #825b29;
	border-radius: 15px;
	border: none;
	text-shadow: none;
	padding: 0px 10px;
	white-space: nowrap;
	cursor: pointer;
}

div.contents_link a
{
	text-decoration: none;
	display: block;
}

table.home_story_frame
{
	width: 100%;
	margin: 50px 0px 0px;
}

table.home_story_frame td.text_block
{
	width: 100%;
	margin: 50px 0px 0px;
}

table.home_story_frame td.text_block div.frame
{
	width: 100%;
	border-radius: 10px;
	background-color: #ffffff;
	box-sizing: border-box;
	padding: 20px 20px 20px;
}

table.home_story_frame td.text_block div.frame div.story_title
{
	font-size: 180%;
	line-height: 100%;
	color: #333;
	margin: 0px auto 0px;
	letter-spacing: 0.1em;
}

table.home_story_frame td.text_block div.frame div.story_text
{
	font-size: 95%;
	line-height: 180%;
	color: #333;
	margin: 15px auto 0px;
}

table.home_story_frame td.text_block div.frame div.link
{
	margin: 5px 0px 0px;
	display: inline-block;
}

table.home_story_frame td.text_block div.frame div.link button
{
	height: 30px;
	font-size: 95%;
	line-height: 100%;
	color: #ffffff;
	background-color: #825b29;
	border-radius: 15px;
	border: none;
	text-shadow: none;
	padding: 0px 10px;
	white-space: nowrap;
	cursor: pointer;
}

table.home_story_frame td.text_block div.frame div.link a
{
	text-decoration: none;
	display: block;
}

table.home_story_frame td.img_block
{
	width: 400px;
	padding-left: 30px;
}

table.home_story_frame td.img_block div.img
{
	width: 400px;
	height: 228px;
}

table.home_story_frame td.img_block div.img img
{
	width: 100%;
	display: block;
}

ul.product_list
{
	font-size: 0;
	margin: 15px 0px 0px;
	padding: 0;
}

ul.product_list li.block
{
	width: 176px;
	font-size: 16px;
	margin-bottom: 10px;
	margin-right: 10px;
	display: inline-block;
	vertical-align: top;
}

ul.product_list li:nth-child(5n).block
{
	margin-right: 0;
}

ul.product_list li.block div.frame
{
	width: 100%;
	box-sizing: border-box;
	background-color: #ffffff;
	padding: 10px 10px 10px;
	border-radius: 10px;
}

ul.product_list li.block div.frame div.img
{
	width: 150px;
	height: 150px;
	margin: 0px auto 0px;
}

ul.product_list li.block div.frame div.img img
{
	width: 100%;
	display: block;
}

ul.product_list li.block div.frame div.text
{
	font-size: 95%;
	line-height: 160%;
	color: #333;
	margin: 15px auto 0px;
}

ul.product_list li.block div.frame div.link
{
	font-size: 95%;
	line-height: 160%;
	color: #825b29;
	margin: 0px auto 0px;
}

ul.product_list li.block div.frame div.link a
{
	color: #825b29;
	text-decoration: none;
}

div.contact_frame
{
	/*width: 100%;*/
	width: 960px;
	/*height: 400px;*/
	height: 300px;
	margin: 50px 0px 0px;
	padding: 0px 0px 0px;
	/*background-color: #1a1919;*/
	background-image: url("https://cdn.mintomo.co.jp/geerkat.com/img/bg_contact.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	display: table;
}

div.contact_frame_block
{
	display: table-cell;
	vertical-align: middle;
	background-color: rgba(0, 0, 0, 0.5);
}

div.contact_frame div.contact_title
{
	font-size: 200%;
	line-height: 100%;
	color: #ffffff;
	margin: 0px auto 0px;
	text-align: center;
}

div.contact_frame div.contact_title span
{
	font-size: 100%;
}

div.contact_frame div.contact_text
{
	font-size: 95%;
	line-height: 100%;
	color: #ffffff;
	margin: 20px auto 0px;
	padding: 0;
	letter-spacing: 0.1em;
	text-align: center;
}

div.contact_frame div.contact_link
{
	width: 150px;
	margin: 20px auto 0px;
}

div.contact_frame div.contact_link button
{
	width: 150px;
	height: 40px;
	font-size: 95%;
	line-height: 100%;
	color: #ffffff;
	background-color: #d4bf8d;
	border-radius: 20px;
	border: none;
	text-shadow: none;
	padding: 0px 0px;
	white-space: nowrap;
	cursor: pointer;
}


/* Story */
div.story_bg
{
	width: 100%;
	box-sizing: border-box;
	padding: 0px 20px 0px;
	background-color: #f5f6f5;
}

div.story_bg_white
{
	width: 100%;
	box-sizing: border-box;
	padding: 0px 20px 0px;
	background-color: #ffffff;
}

div.story_bg + div.story_bg_white
{
	padding-left: 0px;
}

div.story_top_space
{
	width: 100%;
	height: 50px;
}

div.story_top_space_short
{
	width: 100%;
	height: 25px;
}

table.story_contents_frame
{
	width: 100%;
}

table.story_contents_frame td.text_frame
{
	
}

table.story_contents_frame td.text_frame_top
{
	vertical-align: top;
}

table.story_contents_frame td.text_frame div.title
{
	font-size: 95%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
	font-weight: 700;
}

table.story_contents_frame td.text_frame div.text
{
	font-size: 95%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
}

table.story_contents_frame td.text_frame div.text + div.text
{
	margin-top: 15px;
}

table.story_contents_frame td.text_frame div.contents_title + div.text
{
	margin-top: 20px;
}

table.story_contents_frame td.text_frame div.text_space
{
	width: 100%;
	height: 15px;
}

table.story_contents_frame td.img_frame
{
	width: 300px;
}

table.story_contents_frame td.text_frame + td.img_frame
{
	padding-left: 30px;
}

table.story_contents_frame td.img_frame + td.text_frame
{
	padding-left: 30px;
}

table.story_contents_frame td.img_frame div.img
{
	width: 300px;
}

table.story_contents_frame td.img_frame div.img img
{
	width: 100%;
	display: block;
}


/* Product */
div.product_bg
{
	width: 100%;
	box-sizing: border-box;
	padding: 0px 20px 0px;
	background-color: #f5f6f5;
}

div.product_bg_white
{
	width: 100%;
	box-sizing: border-box;
	padding: 0px 20px 0px;
	background-color: #ffffff;
}

div.product_top_space
{
	width: 100%;
	height: 50px;
}

ul.product_tag
{
	font-size: 0;
	margin: 0;
	padding: 0;
}

ul.product_tag li.block
{
	font-size: 16px;
	margin-right: 10px;
	display: inline-block;
	vertical-align: top;
}

ul.product_tag li.block a
{
	display: block;
	text-decoration: none;
}

ul.product_tag li.block button
{
	height: 30px;
	font-size: 95%;
	line-height: 100%;
	color: #666b74;
	background-color: #ffffff;
	border-radius: 15px;
	border: 1px solid #666b74;
	text-shadow: none;
	padding: 0px 15px 0px;
	white-space: nowrap;
	box-sizing: border-box;
	cursor: pointer;
}

ul.product_tag li.block button.select
{
	color: #ffffff;
	background-color: #666b74;
	cursor: default;
}

div.product_title
{
	font-size: 180%;
	line-height: 100%;
	color: #666b74;
	margin: 70px auto 0px;
	letter-spacing: 0.1em;
}

div.product_title span.small
{
	font-size: 50%;
}

div.product_title span.tech_arrow
{
	cursor: pointer;
}

ul.product_goods_list
{
	font-size: 0;
	margin: 15px 0px 0px;
	padding: 0;
}

ul.product_goods_list li.block
{
	width: 215px;
	font-size: 16px;
	margin-bottom: 20px;
	margin-right: 20px;
	display: inline-block;
	vertical-align: top;
}

ul.product_goods_list li:nth-child(4n).block
{
	margin-right: 0;
}

ul.product_goods_list li.block_large
{
	width: 450px!important;
}

ul.product_goods_list li:nth-child(2n).block_large
{
	margin-right: 0;
}

ul.product_goods_list li.block div.frame
{
	width: 100%;
	box-sizing: border-box;
	background-color: #ffffff;
	padding: 10px 10px 10px;
	border-radius: 10px;
}

ul.product_goods_list li.block div.frame div.img
{
	width: 150px;
	min-height: 120px;
	height: auto;
	margin: 0px auto 0px;
	position: relative;
}

ul.product_goods_list li.block div.frame div.img img
{
	width: 100%;
	display: block;
	position: relative;
	z-index: 1;
}

ul.product_goods_list li.block div.frame div.img_large
{
	width: 400px;
	height: 200px;
	margin: 0px auto 0px;
	position: relative;
}

ul.product_goods_list li.block div.frame div.img_large img
{
	width: 100%;
	display: block;
	position: relative;
	z-index: 1;
}

ul.product_goods_list li.block div.frame div.img div.limited_color
{
	font-size: 90%;
	line-height: 100%;
	color: #ffffff;
	white-space: nowrap;
	padding: 5px 5px 5px;
	background-color: #c02e79;
	display: inline-block;
	position: absolute;
	top: -5px;
	left: -20px;
	z-index: 2;
}

ul.product_goods_list li.block div.frame div.img div.coming_text_frame
{
	width: 100%;
	height: 100%;
	display: table;
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
}

ul.product_goods_list li.block div.frame div.img div.coming_text_frame div.coming_text
{
	font-size: 95%;
	line-height: 160%;
	color: #333;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
}

ul.product_goods_list li.block div.frame div.name
{
	font-size: 95%;
	line-height: 160%;
	color: #666b74;
	margin: 0px auto 5px;
}

ul.product_goods_list li.block div.frame div.color
{
	font-size: 95%;
	line-height: 160%;
	color: #333;
	margin: 5px auto 0px;
}

ul.product_goods_list li.block div.frame div.link
{
	font-size: 95%;
	line-height: 160%;
	color: #825b29;
	margin: 0px auto 0px;
}

ul.product_goods_list li.block div.frame div.link a
{
	color: #825b29;
	text-decoration: none;
}

div.product_tech_block
{
	margin: 15px auto 0px;
}

table.product_tech_frame
{
	margin: 15px auto 0px;
}

div.product_tech_block table.product_tech_frame
{
	margin-top: 0;
}

table.product_tech_frame td.block
{
	width: 300px;
	vertical-align: top;
	padding-bottom: 50px;
	padding-right: 20px;
}

table.product_tech_frame td:last-child.block
{
	padding-right: 0;
}

table.product_tech_frame tr:last-child td.block
{
	padding-bottom: 0;
}

table.product_tech_frame td.block div.img
{
	width: 300px;
	height: 300px;
}

table.product_tech_frame td.block div.img img
{
	width: 100%;
	display: block;
}

table.product_tech_frame td.block div.title
{
	font-size: 110%;
	line-height: 160%;
	color: #333;
	margin: 10px auto 5px;
	font-weight: 700;
}

table.product_tech_frame td.block div.text
{
	font-size: 95%;
	line-height: 160%;
	color: #333;
	margin: 5px auto 0px;
}


/* 問い合わせ */
span.notice
{
	color: #ff0000;
}

div.contact_text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	padding-top: 20px;
	letter-spacing: 0.1em;
	text-align: center;
}

table.contact
{
	margin: 40px auto 0px;
}

table.contact td.height
{
	height: 8px;
}

table.contact td.height2
{
	height: 25px;
}

table.contact td.title
{
	font-size: 100%;
	line-height: 100%;
	color: #333;
	padding-right: 25px;
}

table.contact td.title span
{
	color: #ff0000;
}

table.contact td.title_large
{
	font-size: 100%;
	line-height: 100%;
	color: #333;
	padding-top: 8px;
	padding-right: 25px;
	vertical-align: top;
}

table.contact td.title_large span
{
	color: #ff0000;
}

table.contact td.form input
{
	width: 620px;
	height: 40px;
	font-size: 100%;
	line-height: 100%;
	color: #333;
	background-color: #ffffff;
	padding: 0px 10px 0px;
	border: 1px solid #ededed;
	box-sizing: border-box;
}

table.contact td.form select
{
	width: 200px;
	height: 40px;
	font-size: 100%;
	line-height: 100%;
	color: #333;
	background-color: #ffffff;
	border: 1px solid #ededed;
	box-sizing: border-box;
}

table.contact td.form textarea
{
	width: 620px;
	height: 180px;
	font-size: 100%;
	line-height: 160%;
	color: #333;
	background-color: #ffffff;
	padding: 5px 10px 5px;
	border: 1px solid #ededed;
	box-sizing: border-box;
}

table.contact td.tel_form input
{
	width: 400px;
	height: 40px;
	font-size: 100%;
	line-height: 100%;
	color: #333;
	background-color: #ffffff;
	padding: 0px 10px 0px;
	border: 1px solid #ededed;
	box-sizing: border-box;
}

table.contact td.check
{
	width: 15px;
}

table.contact td.check input[type="checbox"]
{
	width: 15px;
	height: 15px;
	border: 1px solid #ededed;
	box-sizing: border-box;
}

table.contact td.check_text
{
	font-size: 100%;
	line-height: 100%;
	color: #333;
	padding-left: 15px;
}

table.contact td.check_text span
{
	color: #ff0000;
}

table.contact td.notice
{
	font-size: 100%;
	line-height: 100%;
	color: #ff0000;
}

table.contact td.number
{
	font-size: 100%;
	line-height: 100%;
	color: #333;
	padding-right: 10px;
}

table.contact td.number_form input
{
	width: 100px;
	height: 30px;
	font-size: 100%;
	line-height: 100%;
	color: #333;
	background-color: #ffffff;
	padding: 0px 10px 0px;
	border: 1px solid #ededed;
	box-sizing: border-box;
}

table.contact td.number_notice
{
	font-size: 100%;
	line-height: 100%;
	color: #ff0000;
	padding-left: 10px;
}


/* ボタン */
div.home_link_short
{
	width: 280px;
	height: 50px;
	margin: 0px auto 0px;
	position: relative;
}

div.home_link_short a
{
	width: 100%;
	height: 50px;
	display: block;
	position: relative;
}

div.home_link_short input
{
	width: 100%;
	height: 50px;
	font-size: 90%;
	color: #ffffff;
	padding: 0px;
	border: none;
	text-shadow: none;
	background-color: #d4bf8d;
	box-sizing: border-box;
	letter-spacing: 0.15em;
	border-radius: 25px;
	cursor: pointer;
}

div.home_link_short button
{
	width: 100%;
	height: 50px;
	font-size: 90%;
	color: #ffffff;
	padding: 0px;
	border: none;
	text-shadow: none;
	background-color: #d4bf8d;
	box-sizing: border-box;
	letter-spacing: 0.15em;
	border-radius: 25px;
	cursor: pointer;
}

div.home_link_large
{
	/*width: 770px!important;*/
	width: 400px!important;
}

div.home_link_large button
{
	/*font-size: 150%!important;*/
	color: #333!important;
	letter-spacing: 0.1em!important;
	border-radius: 0!important;
}

div.home_link_short div.arrow
{
	width: 5px;
	height: 10px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 12px;
}

div.home_link_short div.arrow img
{
	width: 5px;
	height: 10px;
	display: block;
	filter: brightness(0) invert(1);
}


/* キービジュアル */
div.key_visual_home
{
	width: 100%;
}

div.key_visual_home img
{
	width: 100%;
	display: block;
}

div.key_visual_outline
{
	width: 100%;
}

div.key_visual_outline img
{
	width: 100%;
	display: block;
}

div.key_visual_machine
{
	width: 100%;
}

div.key_visual_machine img
{
	width: 100%;
	display: block;
}

div.key_visual_product
{
	width: 100%;
}

div.key_visual_product img
{
	width: 100%;
	display: block;
}

div.key_visual_contact
{
	width: 100%;
}

div.key_visual_contact img
{
	width: 100%;
	display: block;
}


/* 会社案内 */
div.key_visual_shop
{
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: url(../img/store_key.jpg) center center no-repeat;
	/*background: url(../img/img.png) center center no-repeat;*/
	background-size: cover;
	width: 100%;
	height: 350px;
	padding-top: 36.458%;
	position: relative;
}

table.shop_schedule
{
	width: 355px;
	margin: 35px auto 0px;
	table-layout: fixed;
	box-sizing: border-box;
	border: 1px solid #686b99;
}

table.shop_schedule th
{
	height: 30px;
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	background-color: #686b99;
}

table.shop_schedule td.img
{
	height: 49px;
	box-sizing: border-box;
	border-right: 1px solid #686b99;
}

table.shop_schedule td.img div.img
{
	width: 44px;
	height: 40px;
	margin: auto;
}

table.shop_schedule td.img div.img img
{
	width: 44px;
	height: 40px;
	display: block;
}

table.shop_schedule td.text
{
	height: 49px;
	font-size: 110%;
	line-height: 100%;
	color: #dd3a6e;
	text-align: center;
	box-sizing: border-box;
	letter-spacing: 0.05em;
}

div.store_time
{
	font-size: 100%;
	line-height: 100%;
	color: #686b99;
	margin: 20px auto 0px;
	text-align: center;
}

table.store_about
{
	margin: 30px auto 0px;
}

table.store_about td.title
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	padding-bottom: 5px;
	padding-right: 1em;
	vertical-align: top;
	letter-spacing: 0.1em;
}

table.store_about td.title2
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	padding-bottom: 5px;
	padding-right: 0.5em;
	vertical-align: top;
	white-space: nowrap;
	letter-spacing: 0.1em;
}

table.store_about td.month
{
	width: 1px;
	font-size: 100%;
	line-height: 180%;
	color: #333;
	padding-bottom: 5px;
	padding-right: 1em;
	vertical-align: top;
	white-space: nowrap;
	text-align: right;
	letter-spacing: 0.1em;
}

table.store_about td.text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	padding-bottom: 5px;
	letter-spacing: 0.1em;
}

table.store_about td.text_frame
{
	padding-bottom: 15px;
}

table.store_about tr:last-child td
{
	padding-bottom: 0;
}

table.store_about table.inner
{
	margin: 0;
}

table.store_about table.inner td.inner_number
{
	width: 1px;
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
	padding-right: 0.5em;
	vertical-align: top;
	white-space: nowrap;
}

table.store_about table.inner td.inner_text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
}

div.store_pay
{
	font-size: 100%;
	line-height: 100%;
	color: #333;
	margin: 43px auto 0px;
	text-align: center;
}

table.store_maker
{
	margin: 35px auto 0px;
}

table.store_maker td.height
{
	height: 40px;
}

table.store_maker td.title
{
	font-size: 90%;
	line-height: 100%;
	color: #333;
	padding-bottom: 15px;
	letter-spacing: 0.1em;
}

table.store_maker td.title2
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	padding-right: 35px;
	vertical-align: top;
}

table.store_maker td.text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
}

div.route_title
{
	font-size: 90%;
	line-height: 100%;
	color: #333;
	text-align: center;
	margin: 40px 0px 0px;
	letter-spacing: 0.05em;
}

table.route
{
	margin: 25px auto 0px;
}

table.route td.img
{
	width: 150px;
	vertical-align: top;
}

table.route td.img div.img
{
	width: 150px;
	height: 150px;
}

table.route td.img div.img img
{
	width: 150px;
	height: 150px;
}

table.route td.img div.text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	text-align: center;
	padding: 20px 0px 0px;
	letter-spacing: 0.05em;
}

table.route td.img div.link
{
	font-size: 100%;
	line-height: 100%;
	color: #84c8bd;
	text-align: center;
	padding: 10px 0px 0px;
	letter-spacing: 0.05em;
}

table.route td.img div.link a
{
	color: #84c8bd;
	text-decoration: underline;
}

table.route td.arrow
{
	width: 85px;
	text-align: center;
}

table.route td.arrow div.arrow
{
	width: 20px;
	height: 22px;
	margin: 0px auto;
}

table.route td.arrow div.arrow img
{
	width: 20px;
	height: 22px;
	display: block;
}

table.staff
{
	margin: 30px auto 0px;
}

table.staff td
{
	vertical-align: top;
}

table.staff td.right
{
	padding-right: 30px;
}

table.staff td:last-child
{
	padding-right: 0px;
}

table.staff tr.text td
{
	padding-bottom: 32px;
}

table.staff tr:last-child.text td
{
	padding-bottom: 0px;
}

table.staff div.img
{
	width: 150px;
	height: 160px;
}

table.staff div.img img
{
	width: 150px;
	height: 160px;
	display: block;
}

table.staff div.post
{
	font-size: 100%;
	line-height: 100%;
	color: #333;
	text-align: center;
	margin: 20px auto 0px;
}

table.staff div.name
{
	font-size: 100%;
	line-height: 100%;
	color: #333;
	text-align: center;
	letter-spacing: 0.05em;
	margin: 10px auto 0px;
}

table.staff div.job
{
	font-size: 100%;
	line-height: 160%;
	color: #9a9a9a;
	text-align: center;
	margin: 10px auto 0px;
	padding: 0px 0px 0px;
}

table.staff div.note
{
	font-size: 100%;
	line-height: 150%;
	color: #9a9a9a;
	text-align: center;
	margin: 10px auto 0px;
}

div.job_img
{
	width: 300px;
	height: 150px;
	margin: 30px auto 0px;
}

div.job_img img
{
	width: 300px;
	height: 150px;
}


/* 工場設備 */
div.machine_title
{
	width: 660px;
	font-size: 100%;
	line-height: 100%;
	color: #686b99;
	margin: 25px auto 0px;
}

div.machine_text
{
	width: 660px;
	font-size: 100%;
	line-height: 180%;
	color: #333;
	margin: 5px auto 0px;
}

div.machine_text2
{
	width: 660px;
	font-size: 100%;
	line-height: 180%;
	color: #333;
	margin: 20px auto 15px;
}

table.machine_text
{
	margin: 5px auto 0px;
}

table.machine_text td.height
{
	height: 15px;
}

table.machine_text td.title
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	padding-right: 1em;
	vertical-align: top;
	white-space: nowrap;
	letter-spacing: 0.1em;
}

table.machine_text td.number
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	padding-right: 1em;
	vertical-align: top;
	white-space: nowrap;
	text-align: right;
	letter-spacing: 0.1em;
}

table.machine_text td.text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
}

table.machine_text td.top_text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
	padding-bottom: 20px;
}

table.machine_text td.item_title_frame
{
	height: 1px;
	padding-right: 30px;
	vertical-align: top;
}

div.machine_item_title
{
	width: 150px;
	height: 100%;
}

div.machine_item_title button
{
	width: 150px;
	height: 100%;
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	background-color: #2f5870;
	letter-spacing: 0.1em;
	border-radius: 10px;
	padding: 0px 0px 0px;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
}

table.machine_list
{
	margin: 30px auto 0px;
}

table.machine_list td.c_space01
{
	width: 16px;
}

table.machine_list td.c_space02
{
	width: 16px;
	background-color: #f2f2f2;
}

table.machine_list td.c_space03
{
	width: 6px;
}

table.machine_list td.c_space04
{
	width: 10px;
}

table.machine_list td.c_height
{
	height: 15px;
}

table.machine_list td.c_height2
{
	height: 15px;
	background-color: #f2f2f2;
}

table.machine_list td.content
{
	vertical-align: top;
}

table.machine_list div.frame
{
	box-sizing: border-box;
	padding: 50px 20px 5px;
	background-color: #f2f2f2;
	position: relative;
}

table.machine_list div.frame2
{
	box-sizing: border-box;
	padding: 40px 20px 5px 17px;
	background-color: #f2f2f2;
	position: relative;
}

table.machine_list div.frame3
{
	box-sizing: border-box;
	padding: 40px 17px 5px 20px;
	background-color: #f2f2f2;
	position: relative;
}

table.machine_list .bg_pro
{
	background-color: #f8f8f8!important;
}

table.machine_list div.title
{
	height: 40px;
	position: absolute;
	top: 5px;
	left: 10px;
}

table.machine_list div.t_frame
{
	width: 100%;
	height: 40px;
	position: relative;
}

table.machine_list table.m_title
{
	width: 100%;
	height: 40px;
}

table.machine_list table.m_title td.title div.button
{
	width: 170px;
	height: 40px;
	position: absolute;
	top: 0;
	left: 10px;
	z-index: 701;
}

table.machine_list table.m_title td.title div.button button
{
	width: 170px;
	height: 40px;
	font-size: 90%;
	line-height: 100%;
	color: #ffffff;
	border: none;
	text-shadow: none;
	background-color: #2f5870;
	letter-spacing: 0.05em;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 10px;
	box-sizing: border-box;
	cursor: pointer;
}

table.machine_list table.m_title td.title div.triangle
{
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-bottom: 40px solid #2f5870;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 701;
}

table.machine_list div.bg
{
	width: 100%;
	height: 30px;
	background-color: #686b99;
	position: absolute;
	top: 0;
	left: 0;
}

table.machine_list div.title div.t_position
{
	height: 30px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}

table.machine_list div.title div.text
{
	height: 30px;
	font-size: 85%;
	line-height: 100%;
	color: #ffffff;
	padding-left: 20px;
	box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
	letter-spacing: -0.01em;
}

table.machine_list .wd1
{
	width: 225px;
}

table.machine_list .wd2
{
	width: 275px;
}

table.machine_list .wd3
{
	width: 360px;
}

table.machine
{
	margin: 0px 0px 0px;
}

table.machine + table.machine
{
	margin-top: 20px;
}

table.machine td.m_space01
{
	/*width: 17px;*/
	width: 10px;
}

table.machine td.m_space02
{
	width: 23px;
}

table.machine td.img
{
	/*width: 220px;*/
}

table.machine td.img div.img
{
	width: 300px;
	height: 200px;
}

table.machine td.img div.img img
{
	width: 300px;
	height: 200px;
}

table.machine td.img .height_large_img
{
	width: 133px!important;
}

table.machine td.img .height_large_img img
{
	width: 133px!important;
}

table.machine td.text
{
	padding-top: 5px;
	text-align: center;
}

table.machine td.text button
{
	width: 240px;
	height: 40px;
	font-size: 90%;
	line-height: 120%;
	color: #ffffff;
	text-align: center;
	border: none;
	text-shadow: none;
	background-color: #2f5870;
	cursor: pointer;
	letter-spacing: -0.01em;
}

table.machine td.text button.large
{
	width: 220px;
}

table.machine td.text button.large2
{
	width: 260px;
}

table.machine td.text button.large3
{
	width: 320px;
}


/* 営業品目 */
div.product_item_title
{
	height: 40px;
	margin-top: 40px;
	margin-bottom: 10px;
}

div.product_item_title button
{
	height: 40px;
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	background-color: #2f5870;
	letter-spacing: 0.1em;
	border-radius: 10px;
	padding: 0px 10px 0px;
	white-space: nowrap;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
}

div.item_title
{
	font-size: 100%;
	line-height: 180%;
	color: #2f5870;
	margin: 25px 0px 0px;
}

div.product_item_title + div.item_title
{
	margin-top: 0px;
}

table.item_text
{
	margin: 5px 0px 0px;
}

table.item_text + table.item_text
{
	margin-top: 15px;
}

table.item_text td.icon
{
	width: 1px;
	font-size: 100%;
	line-height: 180%;
	color: #333;
	padding-right: 0.5em;
	vertical-align: top;
	white-space: nowrap;
}

table.item_text td.title
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	padding-right: 1em;
	vertical-align: top;
	white-space: nowrap;
	letter-spacing: 0.1em;
}

table.item_text td.text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
}

table.item_top_frame
{
	margin: 0;
}

table.item_top_frame td.item_top_text_frame
{
	vertical-align: top;
	padding-left: 20px;
}

table.item_top_frame td.line
{
	width: 1px;
	height: 1px;
	vertical-align: top;
}

table.item_top_frame td.line div.line
{
	width: 20px;
	height: 100%;
	background-color: #2f5870;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

div.item_top_text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
}

table.item_top_text
{
	margin: 0;
}

table.item_top_text td.icon
{
	width: 1px;
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
	white-space: nowrap;
	vertical-align: top;
	padding-right: 0.5em;
}

table.item_top_text td.text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
}

div.item_list_frame
{
	width: 100%;
	margin: 15px 0px 0px;
	padding-left: 20px;
	box-sizing: border-box;
}

table.access_frame
{
	width: 100%;
	margin: 40px 0px 0px;
}

table.access_frame td.text_frame
{
	vertical-align: top;
}

table.access_frame td.map_frame
{
	width: 400px;
	vertical-align: top;
}

table.access_frame td.map_frame iframe
{
	width: 400px;
	height: 400px;
}


/* ホームトップ */
div.common_text_indent
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	text-indent: 1em;
	letter-spacing: 0.1em;
}

div.common_text_indent + div.common_text_indent
{
	margin-top: 15px;
}

table.home_merit_list
{
	width: 100%;
	margin: 45px 0px 0px;
	table-layout: fixed;
}

table.home_merit_list + table.home_merit_list
{
	margin-top: 35px;
}

table.home_merit_list td
{
	box-sizing: border-box;
}

table.home_merit_list td.space
{
	width: 10px;
}

table.home_merit_list td.line
{
	width: 5px;
	height: 1px;
}

table.home_merit_list td.line div.line
{
	width: 5px;
	height: 100%;
	background-color: #2f5870;
	border-top-left-radius: 2.5px;
	border-top-right-radius: 2.5px;
	border-bottom-left-radius: 2.5px;
	border-bottom-right-radius: 2.5px;
}

table.home_merit_list td.list
{
	border-top: 1px solid #e5e5e5;
	/*border-left: 5px solid #2f5870;*/
	padding-top: 10px;
	padding-left: 12px;
	vertical-align: top;
}

table.home_merit_list div.text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
}

table.common_text
{
	margin: 0;
}

table.common_text td.height
{
	height: 15px;
}

table.common_text td.icon
{
	width: 1px;
	font-size: 100%;
	line-height: 180%;
	color: #333;
	white-space: nowrap;
	vertical-align: top;
	padding-right: 0.5em;
}

table.common_text td.text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
}

table.common_text td.text2
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
	/*padding-left: 1em;*/
}

table.common_text td.indent_text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
	text-indent: 1em;
}

table.common_text td.link
{
	padding: 0px 5px 0px 5px;
}

table.common_text td.link button
{
	height: 25px;
	font-size: 100%;
	line-height: 100%;
	color: #333;
	padding: 0px 5px 0px;
	border: none;
	text-shadow: none;
	background-color: #ffffff;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	white-space: nowrap;
	cursor: pointer;
}

table.common_text a
{
	color: #333;
	text-decoration :none;
	display: block;
}

div.home_contact_frame_bg
{
	width: 100%;
	background-color: #2f5870;
	margin: 105px 0px 0px;
}

div.home_contact_frame
{
	width: 960px;
	margin: 0px auto 0px;
	padding: 30px 0px 35px;
	box-sizing: border-box;
}

div.home_contact_frame div.common_text
{
	color: #ffffff;
}

div.home_contact_frame div.common_text_indent
{
	color: #ffffff;
}

div.home_contact_frame table.common_text td.indent_text
{
	color: #ffffff;
}

div.home_contact_frame table.common_text td.text
{
	color: #ffffff;
}

div.home_contact_frame table.common_text button
{
	height: 25px;
	font-size: 95%;
	line-height: 100%;
	color: #2f5870;
	padding: 0px 5px 0px;
	border: none;
	text-shadow: none;
	background-color: #ffffff;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	white-space: nowrap;
	cursor: pointer;
	border-radius: 5px;
}

div.home_contact_frame table.title
{
	/*width: 100%;*/
	width: 960px;
	margin: 0px auto 0px;
}

div.home_contact_frame table.title td.side
{
	width: 260px;
}

div.home_contact_frame table.title td.title
{
	font-size: 150%;
	line-height: 100%;
	color: #ffffff;
	text-align: center;
	letter-spacing: 0.4em;
	white-space: nowrap;
}

div.home_contact_frame table.title table.inner
{
	margin: 0px;
}

div.home_contact_frame table.title table.inner td.icon
{
	width: 60px;
	padding-right: 16px;
}

div.home_contact_frame table.title table.inner td.icon button
{
	width: 100%;
	height: 25px;
	font-size: 90%;
	line-height: 100%;
	color: #2f5870;
	padding: 0px 0px 0px;
	border: none;
	text-shadow: none;
	background-color: #ffffff;
	box-sizing: border-box;
	letter-spacing: 0.1em;
}

div.home_contact_frame table.title table.inner td.date
{
	font-size: 95%;
	line-height: 100%;
	color: #ffffff;
	letter-spacing: 0.1em;
}

table.home_contact_list
{
	margin: 32px auto 0px;
}

table.home_contact_list td.list
{
	width: 310px;
	vertical-align: top;
	padding-right: 15px;
}

table.home_contact_list td:last-child.list
{
	padding-right: 0px;
}

table.home_contact_list td.list div.frame
{
	width: 310px;
	/*min-height: 160px;
	height: auto;*/
	height: 100%;
	background-color: #ffffff;
	padding: 15px 7px 15px;
	box-sizing: border-box;
	border-radius: 10px;
}

table.home_contact_list td.list div.frame div.list_title
{
	font-size: 150%;
	line-height: 140%;
	color: #333;
	text-align: center;
	letter-spacing: 0.1em;
}

table.home_contact_list td.list div.frame table.list_text
{
	margin: 18px auto 0px;
}

table.home_contact_list td.list div.frame table.list_text td.icon
{
	width: 1px;
	font-size: 95%;
	line-height: 160%;
	color: #333;
	padding-right: 0.5em;
	white-space: nowrap;
}

table.home_contact_list td.list div.frame table.list_text td.title
{
	width: 1px;
	font-size: 95%;
	line-height: 160%;
	color: #333;
	white-space: nowrap;
}

table.home_contact_list td.list div.frame table.list_text td.dot
{
	width: 1px;
	font-size: 95%;
	line-height: 160%;
	color: #333;
	white-space: nowrap;
}

table.home_contact_list td.list div.frame table.list_text td.text
{
	font-size: 95%;
	line-height: 160%;
	color: #333;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

table.home_contact_list td.list div.frame table.list_text_green
{
	/*width: 100%;*/
	margin: 0px auto 0px;
}

table.home_contact_list td.list div.frame table.list_text_green td.height
{
	height: 12px;
}

table.home_contact_list td.list div.frame table.list_text_green td.icon
{
	width: 1px;
	font-size: 95%;
	line-height: 160%;
	color: #2f5870;
	padding-right: 0.5em;
	white-space: nowrap;
	vertical-align: top;
}

table.home_contact_list td.list div.frame table.list_text_green td.title
{
	width: 1px;
	font-size: 95%;
	line-height: 160%;
	color: #2f5870;
	white-space: nowrap;
	vertical-align: top;
}

table.home_contact_list td.list div.frame table.list_text_green td.dot
{
	width: 1px;
	font-size: 95%;
	line-height: 160%;
	color: #2f5870;
	white-space: nowrap;
	vertical-align: top;
}

table.home_contact_list td.list div.frame table.list_text_green td.name
{
	width: 1px;
	font-size: 95%;
	line-height: 160%;
	color: #2f5870;
	letter-spacing: 0.1em;
	box-sizing: border-box;
	vertical-align: top;
	white-space: nowrap;
	padding-right: 0.5em;
}

table.home_contact_list td.list div.frame table.list_text_green td.text
{
	/*width: 125px;*/
	font-size: 95%;
	line-height: 160%;
	color: #2f5870;
	letter-spacing: 0.1em;
	/*padding-right: 15px;*/
	box-sizing: border-box;
	vertical-align: top;
	white-space: nowrap;
}

/*table.home_contact_list td.list div.frame table.list_text_green td:last-child.text
{
	width: auto;
	padding-right: 0px;
}*/

table.home_contact_list table.inner
{
	margin: 20px auto 0px;
}

table.home_contact_list table.inner td.icon
{
	width: 60px;
	padding-right: 16px;
}

table.home_contact_list table.inner td.icon button
{
	width: 100%;
	height: 25px;
	font-size: 90%;
	line-height: 100%;
	color: #ffffff;
	padding: 0px 0px 0px;
	border: none;
	text-shadow: none;
	background-color: #2f5870;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	border-radius: 5px;
	display: block;
}

table.home_contact_list table.inner td.date
{
	font-size: 95%;
	line-height: 100%;
	color: #2f5870;
	letter-spacing: 0.1em;
}

table.steel_top_frame
{
	margin: 60px auto 0px;
}

table.steel_top_frame td.block
{
	vertical-align: top;
	padding-right: 60px;
}

table.steel_top_frame td:last-child.block
{
	padding-right: 0px;
}

table.steel_top_frame td.block button
{
	width: 300px;
	height: 70px;
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	background-color: #2f5870;
	border: none;
	text-shadow: none;
	letter-spacing: 0.1em;
	padding: 0px;
	border-radius: 10px;
	display: block;
}

div.steel_top_notice
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
	margin-top: 15px;
	text-align: center;
}

table.steel_top_notice
{
	margin: 30px auto 0px;
}

table.steel_top_notice td.icon
{
	width: 1px;
	font-size: 100%;
	line-height: 180%;
	color: #333;
	white-space: nowrap;
	vertical-align: top;
	padding-right: 0.5em;
}

table.steel_top_notice td.text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
}

table.needs_frame
{
	margin: 40px auto 0px;
}

table.needs_frame td.block
{
	height: 1px;
	vertical-align: top;
	padding-right: 40px;
}

table.needs_frame td:last-child.block
{
	padding-right: 0px;
}

table.needs_frame td.block div.frame
{
	width: 460px;
	height: 100%;
	box-sizing: border-box;
	padding: 0px 0px 10px;
	border: 1px solid #2f5870;
	border-radius: 10px;
}

table.needs_frame td.block div.frame div.title
{
	font-size: 110%;
	line-height: 180%;
	color: #ffffff;
	letter-spacing: 0.12em;
	padding: 10px 10px 10px;
	text-align: center;
	background-color: #2f5870;
	font-weight: 700;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
}

table.needs_frame td.block div.frame div.line
{
	width: 100%;
	height: 1px;
	background-color: #000000;
	margin: 10px auto 10px;
}

table.needs_frame td.block div.frame table.inner
{
	width: calc(100% - 20px);
	margin: 10px auto 0px;
}

table.needs_frame td.block div.frame table.inner td.inner_icon
{
	width: 1px;
	font-size: 100%;
	line-height: 180%;
	color: #2f5870;
	white-space: nowrap;
	vertical-align: top;
	padding-right: 0.5em;
}

table.needs_frame td.block div.frame table.inner td.inner_text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
}


/* FAQ */
div.faq
{
	width: 960px;
	margin: 0px auto 0px;
	padding: 20px 10px 20px 10px;
	border-bottom: 1px solid #2f5870;
	box-sizing: border-box;
}

div.title_frame01 + div.faq
{
	margin-top: 10px;
}

div.faq table.faq
{
	margin: 0px;
}

div.faq table.faq td.height
{
	height: 9px;
}

div.faq table.faq td.icon
{
	width: 25px;
	padding-right: 25px;
	vertical-align: top;
}

div.faq table.faq td.icon div.q
{
	width: 25px;
	height: 25px;
	border: 1px solid #2f5870;
	border-radius: 50%;
	box-sizing: border-box;
}

div.faq table.faq td.icon div.q div.icon_text
{
	width: 23px;
	height: 23px;
	font-size: 100%;
	line-height: 100%;
	color: #2f5870;
	text-align: center;
	border-radius: 50%;
	display: table-cell;
	vertical-align: middle;
}

div.faq table.faq td.icon div.a
{
	width: 25px;
	height: 25px;
	background-color: #2f5870;
	border-radius: 50%;
	box-sizing: border-box;
}

div.faq table.faq td.icon div.a div.icon_text
{
	width: 25px;
	height: 25px;
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	text-align: center;
	border-radius: 50%;
	box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
}

div.faq table.faq td.text
{
	font-size: 100%;
	line-height: 160%;
	color: #333;
}


/* パスワード再発行 */
table.reminder
{
	margin: 40px auto 0px;
}

table.reminder td.title
{
	width: 20px;
	font-size: 90%;
	line-height: 100%;
	color: #333;
	padding-right: 15px;
	white-space: nowrap;
}

table.reminder td.title_large
{
	width: 20px;
	font-size: 90%;
	line-height: 100%;
	color: #333;
	padding-right: 15px;
	white-space: nowrap;
	padding-bottom: 10px;
	vertical-align: top;
}

table.reminder td.text
{
	font-size: 90%;
	line-height: 100%;
	color: #333;
	padding-bottom: 10px;
}

table.reminder td.form input
{
	width: 300px;
	height: 30px;
	font-size: 90%;
	line-height: 100%;
	color: #333;
	background-color: #ffffff;
	padding: 0px 10px 0px;
	border: 1px solid #ededed;
	box-sizing: border-box;
}


/* ニュース */
ul.holdings_news_frame
{
	width: 100%;
	font-size: 0;
	margin: 25px auto 0px;
	padding: 0px;
}

ul.holdings_news_frame li.list
{
	width: 100%;
	font-size: 16px;
	display: inline-block;
	vertical-align: top;
	padding: 5px 0px 5px;
	/*margin-bottom: 15px;*/
}

ul.holdings_news_frame li.list a
{
	color: #333;
	display: block;
	text-decoration: none;
}

ul.holdings_news_frame li.list div.frame
{
	width: 100%;
	padding: 0px 0px 0px;
	box-sizing: border-box;
}

ul.holdings_news_frame li.list div.frame table.top_news
{
	width: 100%;
	margin: 0;
}

ul.holdings_news_frame li.list div.frame table.top_news td.icon
{
	width: 100px;
	padding-right: 10px;
}

ul.holdings_news_frame li.list div.frame table.top_news td.icon button
{
	width: 100px;
	height: 30px;
	font-size: 100%;
	line-height: 100%;
	color: #ffffff;
	padding: 0px;
	border: none;
	text-shadow: none;
	background-color: #333;
	box-sizing: border-box;
	letter-spacing: 0.05em;
	cursor: pointer;
	white-space: nowrap;
}

ul.holdings_news_frame li.list div.frame table.top_news .milestone button
{
	color: #777777!important;
	background-color: #c2e4e8!important;
}

ul.holdings_news_frame li.list div.frame table.top_news .unso button
{
	background-color: #c6b29a!important;
}

ul.holdings_news_frame li.list div.frame table.top_news .logistics button
{
	background-color: #196f85!important;
}

ul.holdings_news_frame li.list div.frame table.top_news td.date
{
	width: 160px;
	font-size: 100%;
	line-height: 180%;
	color: #333;
	vertical-align: top;
	white-space: nowrap;
	letter-spacing: 0.1em;
}

ul.holdings_news_frame li.list div.frame table.top_news td.text
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
}

ul.holdings_news_frame li.list div.frame table.top_news td.link
{
	font-size: 100%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.1em;
}

ul.holdings_news_frame li.list div.frame table.top_news td.link a
{
	display: inline-block;
}


/* エラー */
div.error_text
{
	font-size: 90%;
	line-height: 100%;
	color: #ff0000;
	margin: 5px 0px 0px;
}

div.error
{
	font-size: 90%;
	line-height: 100%;
	color: #ff0000;
	margin: 5px 0px 0px;
}


/* プライバシーポリシー */
div.privacy_frame
{
	width: 960px;
	margin: 0px auto 0px;
	padding: 60px 0px 0px;
	box-sizing: border-box;
}

div.privacy_frame div.title
{
	font-size: 130%;
	line-height: 100%;
	color: #333;
	letter-spacing: 0.1em;
	margin-top: 60px;
}

div.privacy_frame div.text
{
	font-size: 95%;
	line-height: 180%;
	color: #333;
	margin-left: 20px;
	margin-right: 20px;
}

div.privacy_frame div.title + div.text
{
	margin-top: 35px;
}

div.privacy_frame div.text + div.text
{
	margin-top: 10px;
}

table.line_title + div.text
{
	margin-top: 35px;
}

div.privacy_frame table.text + div.text
{
	margin-top: 15px;
}

div.privacy_frame div.text_last
{
	margin-top: 60px;
}

div.privacy_frame div.text_right
{
	margin-top: 35px;
	margin-right: 20px;
	text-align: right;
}

div.privacy_frame div.text a
{
	color: #333;
}

div.privacy_frame table.text
{
	margin-top: 15px;
	margin-left: 20px;
}

div.privacy_frame table.text a
{
	color: #333;
}

div.privacy_frame table.text td.height
{
	height: 20px;
}

div.privacy_frame table.text td.title
{
	width: 1px;
	font-size: 95%;
	line-height: 200%;
	color: #333;
	white-space: nowrap;
	vertical-align: top;
	padding-right: 1em;
}

div.privacy_frame table.text td.icon
{
	width: 1px;
	font-size: 95%;
	line-height: 200%;
	color: #333;
	white-space: nowrap;
	vertical-align: top;
	padding-right: 0.5em;
}

div.privacy_frame table.text td.text
{
	font-size: 95%;
	line-height: 200%;
	color: #333;
}

table.privacy_contact
{
	margin: 60px auto 0px;
}

table.privacy_contact a
{
	color: #333;
}

table.privacy_contact td.title
{
	width: 1px;
	font-size: 95%;
	line-height: 180%;
	color: #333;
	white-space: nowrap;
	vertical-align: top;
	padding-right: 2em;
}

table.privacy_contact td.text
{
	font-size: 95%;
	line-height: 180%;
	color: #333;
}


/* 特定商取引法に基づく表記 */
table.rule_card_list
{
	margin: 20px 0px 0px 20px;
}

table.rule_card_list td.img
{
	width: 60px;
	padding-right: 15px;
}

table.rule_card_list td:last-child
{
	padding-right: 0px;
}

table.rule_card_list td.img div.img
{
	width: 60px;
}

table.rule_card_list td.img div.img img
{
	width: 60px;
	display: block;
}


/* 商品カテゴリ */
.title_top_margin
{
	margin-top: 100px!important;
}

div.product_article
{
	width: 960px;
	margin: 0px auto 0px;
	padding-top: 50px;
}

div.product_title + div.product_article
{
	padding-top: 15px;
}

div.service_top_menu_frame
{
	width: 100%;
	margin: 0px 0px 0px;
	/*background-color: transparent;*/
	box-sizing: border-box;
}

div.service_top_menu_block
{
	width: 100%;
	margin: 0px auto 0px;
}

div.service_top_menu_frame table.service_top_menu
{
	margin: 0px auto 0px;
}

div.service_top_menu_frame table.service_top_menu td.menu
{
	padding-right: 10px;
}

div.service_top_menu_frame table.service_top_menu td:last-child.menu
{
	padding-right: 0px;
}

div.service_top_menu_frame table.service_top_menu td.menu button
{
	/*width: 120px;*/
	height: 30px;
	font-size: 95%;
	line-height: 100%;
	color: #666b74;
	background-color: #ffffff;
	border-radius: 15px;
	border: 1px solid #666b74;
	text-shadow: none;
	padding: 0px 15px 0px;
	white-space: nowrap;
	box-sizing: border-box;
	cursor: pointer;
}

div.service_top_menu_frame table.service_top_menu td.menu button:hover
{
	color: #ffffff;
	background-color: #666b74;
	cursor: default;
}

div.service_top_menu_frame table.service_top_menu td.menu_large
{
	width: 470px;
	padding-right: 20px;
}

div.service_top_menu_frame table.service_top_menu td:last-child.menu_large
{
	padding-right: 0px;
}

div.service_top_menu_frame table.service_top_menu td.menu_large button
{
	width: 100%;
	height: 45px;
	font-size: 95%;
	line-height: 100%;
	color: #ffffff;
	padding: 0;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
	background-color: #000000;
	letter-spacing: 0.1em;
	cursor: pointer;
}

div.service_top_menu_frame table.service_top_menu td.menu_large button:hover
{
	color: #000000;
	background-color: #ffffff;
	border: 1px solid #000000;
}

div.service_top_menu_frame table.service_top_menu a
{
	text-decoration: none;
	display: block;
	position: relative;
}

div.service_top_menu_frame table.service_top_menu div.arrow
{
	width: 5px;
	height: 10px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 12px;
	z-index: 11;
}

div.service_top_menu_frame table.service_top_menu div.arrow img
{
	width: 5px;
	height: 10px;
	display: block;
	margin: 0px auto 0px;
	filter: brightness(0) invert(1);
}


/* タイトル */
div.rc_title_top_space
{
	width: 100%;
	height: 50px;
}

div.rc_title_frame
{
	width: 100%;
	margin: 100px 0px 0px;
}

table.rc_title
{
	width: 100%;
	margin: 0px 0px 0px;
	table-layout: fixed;
}

table.rc_title td.side
{
	position: relative;
	vertical-align: top;
	/*padding-top: 20px;*/
	padding-top: 17px;
}

table.rc_title td.side div.line
{
	width: 100%;
	height: 1px;
	background-color: #7f7f7f;
}

table.rc_title td.title
{
	width: 960px;
	position: relative;
	padding-left: 100px;
	box-sizing: border-box;
	vertical-align: top;
}

table.rc_title td.title div.title
{
	font-size: 130%;
	line-height: 160%;
	color: #333;
	letter-spacing: 0.3em;
	/*font-weight: 700;*/
}

table.rc_title td.title div.line
{
	width: 70px;
	height: 1px;
	background-color: #7f7f7f;
	position: absolute;
	/*top: 20px;*/
	top: 17px;
	left: 0;
}

table.rc_title td.title_right
{
	width: 960px;
	position: relative;
	padding-right: 0px;
	box-sizing: border-box;
	vertical-align: top;
}

table.rc_title td.title_right div.title
{
	font-size: 130%;
	line-height: 160%;
	color: #333;
	letter-spacing: 0.3em;
	display: inline-block;
	padding-right: 30px;
	background-color: #ffffff;
	position: relative;
	z-index: 10;
}

table.rc_title td.title_right div.line
{
	width: 960px;
	height: 1px;
	background-color: #7f7f7f;
	position: absolute;
	/*top: 20px;*/
	top: 17px;
	right: 0px;
	z-index: 3;
}


/* 汎用ボタン */
table.button
{
	margin: 50px auto 0px;
}

table.button td
{
	padding-right: 30px;
}

table.button td:last-child
{
	padding-right: 0px;
}

table.button td.link_button
{
	width: 300px;
	position: relative;
}

table.button td.link_button a
{
	display: block;
	position: relative;
}

table.button td.link_button input
{
	width: 300px;
	height: 50px;
	font-size: 95%!important;
	color: #ffffff;
	margin: 0px!important;
	padding: 0px!important;
	border: none!important;
	text-shadow: none!important;
	background-color: #333!important;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	cursor: pointer;
	border-radius: 0px!important;
}

table.button td.link_button button
{
	width: 300px;
	height: 50px;
	font-size: 95%!important;
	color: #ffffff;
	margin: 0px!important;
	padding: 0px!important;
	border: none!important;
	text-shadow: none!important;
	background-color: #333!important;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	cursor: pointer;
	border-radius: 0px!important;
}

table.button .link_button_large
{
	width: 470px!important;
}

table.button td.link_button_large input, table.button td.link_button_large button
{
	width: 470px!important;
	height: 70px!important;
	font-size: 16px!important;
}

table.button .privacy_button
{
	width: 400px!important;
}

table.button td.privacy_button input, table.button td.privacy_button button
{
	width: 400px!important;
}

table.button td.link_button_large div.top_text
{
	font-size: 110%;
}

table.button td.link_button_large div.bottom_text
{
	font-size: 140%;
	margin-top: 5px;
}

table.button td.link_button div.arrow_frame
{
	width: 5px;
	height: 10px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 12px;
	z-index: 11;
}

table.button td.link_button div.arrow
{
	width: 5px;
	height: 10px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 12px;
	z-index: 11;
}

table.button td.link_button div.arrow img
{
	width: 5px;
	height: 10px;
	display: block;
	margin: 0px auto 0px;
	filter: brightness(0) invert(1);
}

table.button td.mypage_link_button
{
	width: 300px;
	position: relative;
}

table.button td.mypage_link_button a
{
	display: block;
	position: relative;
}

table.button td.mypage_link_button input
{
	width: 300px;
	height: 50px;
	font-size: 95%;
	color: #ffffff;
	margin: 0;
	padding: 0;
	border: none;
	text-shadow: none;
	background-color: #333!important;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	cursor: pointer;
	border-radius: 0;
}

table.button td.mypage_link_button button
{
	width: 300px;
	height: 50px;
	font-size: 95%;
	color: #ffffff;
	margin: 0;
	padding: 0;
	border: none;
	text-shadow: none;
	background-color: #333!important;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	cursor: pointer;
	border-radius: 0;
}

table.button td.mypage_link_button div.arrow
{
	width: 5px;
	height: 10px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 12px;
	z-index: 11;
}

table.button td.mypage_link_button div.arrow img
{
	width: 5px;
	height: 10px;
	display: block;
	margin: 0px auto 0px;
	filter: brightness(0) invert(1);
}

table.button td.button button
{
	width: 380px;
	height: 50px;
	font-size: 100%;
	line-height: 140%;
	/*color: #ffffff;*/
	color: #2f2f2f;
	padding: 0px;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
	border-radius: 25px;
	letter-spacing: 0.05em;
	cursor: pointer;
}

table.button .orange button
{
	background-color: #ee9d59;
}

table.button .red button
{
	background-color: #e35555;
}

table.button .special button
{
	background: -moz-linear-gradient(left, #ee9d59, #e35555);
	background: -webkit-linear-gradient(left, #ee9d59, #e35555);
	background: linear-gradient(left, #ee9d59, #e35555);
	cursor: default!important;
}

table.button td.height
{
	height: 25px;
}

table.button td.text
{
	font-size: 100%;
	line-height: 160%;
	color: #2f2f2f;
	letter-spacing: 0.1em;
	padding-right: 35px;
}

table.button td.button_img
{
	width: 554px;
}

table.button td.button_img div.img
{
	width: 554px;
	height: 70px;
}

table.button td.button_img div.img img
{
	width: 554px;
	height: 70px;
	display: block;
}

table.button a
{
	text-decoration: none;
}


/* Sustain */
div.sustain_frame
{
	width: 760px;
	margin: 0px auto 0px;
	/*padding-left: 20px;*/
	box-sizing: border-box;
}

div.sustain_img
{
	width: 760px;
	height: 542px;
	margin: 0px auto 0px;
	margin-top: 30px;
}

div.sustain_img img
{
	width: 100%;
}


/* Social Impact */
.social_impact_width
{
	width: 840px!important;
}


/* Item */
div.item_key
{
	width: 960px;
	height: 640px;
	margin: 0px auto 0px;
	position: relative;
}

div.item_key img
{
	width: 960px;
	height: 640px;
	display: block;
}

div.item_key div.img_title
{
	font-size: 140%;
	line-height: 100%;
	color: #ffffff;
	letter-spacing: 0.05em;
	position: absolute;
	top: 15px;
	left: 15px;
	font-weight: 700;
	text-shadow: 1px 1px 0 #000, -1px -1px 0 #000,
	              -1px 1px 0 #000, 1px -1px 0 #000,
	              0px 1px 0 #000,  0-1px 0 #000,
	              -1px 0 0 #000, 1px 0 0 #000;
}

div.item_key a
{
	display: block;
}

div.item_key_top_space
{
	width: 100%;
	height: 100px;
	margin: 0px auto 0px;
}

div.item_link
{
	width: 170px;
	margin: 20px auto 0px;
}

div.item_link input, div.item_link button
{
	width: 170px;
	height: 30px;
	font-size: 95%;
	line-height: 100%;
	color: #ffffff;
	background-color: #825b29;
	border-radius: 15px;
	border: none;
	text-shadow: none;
	padding: 0px 10px 0px;
	white-space: nowrap;
	cursor: pointer;
}

div.item_link a
{
	text-decoration: none;
	display: block;
}


/* collab */
div.collab_key
{
	width: 960px;
	height: 409px;
	margin: 0px auto 0px;
	position: relative;
}

div.collab_key img
{
	width: 960px;
	height: 409px;
	display: block;
}

div.collab_key div.img_title
{
	font-size: 150%;
	line-height: 140%;
	color: #333;
	letter-spacing: 0.05em;
	position: absolute;
	top: 15px;
	left: 15px;
	font-weight: 700;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
	              -1px 1px 0 #fff, 1px -1px 0 #fff,
	              0px 1px 0 #fff,  0-1px 0 #fff,
	              -1px 0 0 #fff, 1px 0 0 #fff;
}

div.collab_key div.img_title span
{
	font-size: 70%;
	letter-spacing: 0;
}

div.collab_key div.img_text
{
	font-size: 95%;
	line-height: 160%;
	color: #333;
	letter-spacing: 0.05em;
	position: absolute;
	bottom: 15px;
	left: 15px;
	font-weight: 700;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
	              -1px 1px 0 #fff, 1px -1px 0 #fff,
	              0px 1px 0 #fff,  0-1px 0 #fff,
	              -1px 0 0 #fff, 1px 0 0 #fff;
}

div.collab_key a
{
	display: block;
}

div.collab_key_top_space
{
	width: 100%;
	height: 100px;
	margin: 0px auto 0px;
}

div.collab_list_frame
{
	width: 100%;
	box-sizing: border-box;
	padding: 0px 0px 0px;
	background-color: #f5f6f5;
}

div.collab_list_frame div.collab_list_title
{
	font-size: 95%;
	line-height: 100%;
	color: #333;
	letter-spacing: 0.05em;
	padding: 20px 20px 20px;
}

div.collab_list_frame ul.collab_list
{
	width: 100%;
	margin: 0;
	padding: 0;
}

div.collab_list_frame ul.collab_list li.block
{
	width: 100%;
	padding: 15px 20px 15px;
	box-sizing: border-box;
	border-top: 1px solid #a5a5a3;
}

div.collab_list_frame ul.collab_list li.block:last-child
{
	border-bottom: 1px solid #a5a5a3;
}

div.collab_list_frame ul.collab_list li.yet
{
	opacity: 0.5;
}

div.collab_list_frame ul.collab_list li.block table.contents
{
	width: 100%;
}

div.collab_list_frame ul.collab_list li.block table.contents td.number
{
	width: 30%;
	font-size: 95%;
	line-height: 100%;
	color: #333;
}

div.collab_list_frame ul.collab_list li.block table.contents td.name
{
	font-size: 95%;
	line-height: 100%;
	color: #333;
}

div.collab_list_frame ul.collab_list li.block table.contents td.link
{
	width: 20%;
	font-size: 95%;
	line-height: 100%;
	color: #333;
	text-align: right;
}

div.collab_list_frame ul.collab_list li.block table.contents a
{
	color: #333;
	display: block;
	text-decoration: none;
}

div.collab_contents_frame
{
	width: 100%;
	margin: 50px auto 0px;
}

div.collab_contents_frame div.collab_number
{
	font-size: 95%;
	line-height: 100%;
	color: #333;
	font-weight: 700;
	margin-bottom: 20px;
	margin-left: 20px;
}

table.collab_contents
{
	width: 100%;
}

table.collab_contents_fix
{
	width: 920px!important;
	margin: 0px auto 0px;
}

div.collab_bg + table.collab_contents
{
	margin-top: 30px;
}

table.collab_contents td.text_frame
{
	padding-left: 20px;
	padding-right: 20px;
}

div.collab_bg table.collab_contents td.img_frame + td.text_frame
{
	padding-left: 40px;
	padding-right: 0;
}

table.collab_contents td.text_frame div.title
{
	font-size: 140%;
	line-height: 130%;
	color: #333;
	/*letter-spacing: 0.1em;*/
	font-weight: 700;
}

table.collab_contents td.text_frame div.catch
{
	font-size: 110%;
	line-height: 170%;
	color: #333;
	/*letter-spacing: 0.1em;*/
	font-weight: 700;
}

table.collab_contents td.text_frame div.title + div.catch
{
	margin-top: 15px;
}

table.collab_contents td.text_frame div.text
{
	font-size: 95%;
	line-height: 170%;
	color: #333;
	/*letter-spacing: 0.1em;*/
}

table.collab_contents td.text_frame div.text + div.text
{
	margin-top: 15px;
}

table.collab_contents td.text_frame div.title + div.text
{
	margin-top: 20px;
}

table.collab_contents td.text_frame table.data
{
	margin: 0;
}

table.collab_contents td.text_frame div.title + table.data
{
	margin-top: 20px;
}

table.collab_contents td.text_frame table.data td.data_title
{
	font-size: 95%;
	line-height: 170%;
	color: #333;
	font-weight: 700;
	white-space: nowrap;
	padding-right: 1em;
	vertical-align: top;
}

table.collab_contents td.text_frame table.data td.data_text
{
	font-size: 95%;
	line-height: 170%;
	color: #333;
}

table.collab_contents td.text_frame div.text_space
{
	width: 100%;
	height: 15px;
}

table.collab_contents td.text_frame div.button
{
	height: 30px;
	margin-top: 10px;
}

table.collab_contents td.text_frame div.button button
{
	height: 30px;
	font-size: 95%;
	line-height: 100%;
	color: #ffffff;
	background-color: #a5a5a6;
	border-radius: 15px;
	border: none;
	text-shadow: none;
	padding: 0px 10px 0px;
	white-space: nowrap;
	cursor: pointer;
}

table.collab_contents td.text_frame div.button a
{
	display: block;
	text-decoration: none;
}

table.collab_contents td.img_frame
{
	width: 10px;
	vertical-align: top;
}

table.collab_contents td.img_frame + td.img_frame
{
	padding-left: 20px;
}

/*table.collab_contents td.text_frame + td.img_frame
{
	padding-left: 30px;
}

table.collab_contents td.img_frame + td.text_frame
{
	padding-left: 30px;
}*/

table.collab_contents td.img_frame div.img01
{
	width: 500px;
	height: 306px;
}

table.collab_contents td.img_frame div.img01 img
{
	width: 100%;
	display: block;
}

table.collab_contents td.img_frame div.img02
{
	width: 250px;
	height: 203px;
}

table.collab_contents td.img_frame div.img02 img
{
	width: 100%;
	display: block;
}

table.collab_contents td.img_frame div.img03
{
	/*width: 250px;
	height: 203px;*/
	width: 220px;
	height: 179px;
}

table.collab_contents td.img_frame div.img03 img
{
	width: 100%;
	display: block;
}

div.collab_bg
{
	width: 100%;
	box-sizing: border-box;
	padding: 20px 20px 20px;
	background-color: #f5f6f5;
	margin-top: 30px;
}

div.collab_bg_white
{
	width: 100%;
	box-sizing: border-box;
	padding: 0px 0px 0px;
	background-color: #ffffff;
}

div.collab_bg + div.collab_bg_white
{
	padding-left: 0px;
}

div.collab_end_key
{
	width: 960px;
	height: 400px;
	margin: 50px auto 0px;
	position: relative;
}

div.collab_end_key img
{
	width: 960px;
	height: 400px;
	display: block;
}

div.collab_end_key div.text_block
{
	position: absolute;
	top: 20px;
	right: 80px;
}

div.collab_end_key div.img_title
{
	font-size: 150%;
	line-height: 140%;
	color: #00a0d5;
	letter-spacing: 0.1em;
	font-weight: 700;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
	              -1px 1px 0 #fff, 1px -1px 0 #fff,
	              0px 1px 0 #fff,  0-1px 0 #fff,
	              -1px 0 0 #fff, 1px 0 0 #fff;
}

div.collab_end_key div.img_text
{
	font-size: 90%;
	line-height: 160%;
	color: #00a0d5;
	letter-spacing: 0.05em;
	margin-top: 10px;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
	              -1px 1px 0 #fff, 1px -1px 0 #fff,
	              0px 1px 0 #fff,  0-1px 0 #fff,
	              -1px 0 0 #fff, 1px 0 0 #fff;
}


/* リンク用ボタン */
table.button_frame
{
	margin: 30px auto 0px;
}

table.button_frame td.button
{
	width: 450px;
	padding-right: 40px;
	vertical-align: top;
}

table.button_frame td:last-child.button
{
	padding-right: 0px;
}

table.button_frame td.button div.frame
{
	width: 450px;
	height: 50px;
	position: relative;
}

table.button_frame td.button input
{
	width: 450px;
	height: 50px;
	font-size: 95%;
	line-height: 130%;
	color: #ffffff;
	padding: 0px 0px 0px;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	white-space: nowrap;
	background-color: #4d4d4d;
	display: block;
	cursor: pointer;
}

table.button_frame td.button button
{
	width: 450px;
	height: 50px;
	font-size: 95%;
	line-height: 130%;
	color: #ffffff;
	padding: 0px 0px 0px;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	white-space: nowrap;
	background-color: #4d4d4d;
	display: block;
	cursor: pointer;
}

table.button_frame td.button div.frame div.arrow
{
	width: 30px;
	height: 30px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 20px;
}

table.button_frame td.button div.frame div.arrow img
{
	width: 30px;
	height: 30px;
	display: block;
}

table.button_frame td.button_small
{
	width: 200px;
	padding-right: 10px;
	vertical-align: top;
}

table.button_frame td:last-child.button_small
{
	padding-right: 0px;
}

table.button_frame td.button_small div.frame
{
	width: 250px;
	height: 50px;
	position: relative;
}

table.button_frame td.button_small input
{
	width: 250px;
	height: 50px;
	font-size: 95%;
	line-height: 130%;
	color: #ffffff;
	padding: 0px 0px 0px 50px;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	white-space: nowrap;
	background-color: #4d4d4d;
	display: block;
	cursor: pointer;
}

table.button_frame td.button_small button
{
	width: 250px;
	height: 50px;
	font-size: 95%;
	line-height: 130%;
	color: #ffffff;
	padding: 0px 0px 0px 50px;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	white-space: nowrap;
	background-color: #4d4d4d;
	display: block;
	cursor: pointer;
}

table.button_frame td.button_small div.frame div.arrow
{
	width: 30px;
	height: 30px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 20px;
}

table.button_frame td.button_small div.frame div.arrow img
{
	width: 30px;
	height: 30px;
	display: block;
}

table.button_frame td.button_two
{
	width: 460px;
	padding-right: 40px;
	vertical-align: top;
}

table.button_frame td:last-child.button_two
{
	padding-right: 0px;
}

table.button_frame td.button_two div.frame
{
	width: 460px;
	height: 50px;
	position: relative;
}

table.button_frame td.button_two input
{
	width: 460px;
	height: 50px;
	font-size: 95%;
	line-height: 130%;
	color: #ffffff;
	padding: 0px 0px 0px 50px;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	white-space: nowrap;
	background-color: #4d4d4d;
	display: block;
	cursor: pointer;
}

table.button_frame td.button_two button
{
	width: 460px;
	height: 50px;
	font-size: 95%;
	line-height: 130%;
	color: #ffffff;
	padding: 0px 0px 0px 50px;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	white-space: nowrap;
	background-color: #4d4d4d;
	display: block;
	cursor: pointer;
}

table.button_frame td.button_two div.frame div.arrow
{
	width: 30px;
	height: 30px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 20px;
}

table.button_frame td.button_two div.frame div.arrow img
{
	width: 30px;
	height: 30px;
	display: block;
}

table.button_frame td.link
{
	width: 370px;
	padding-right: 40px;
	padding-bottom: 30px;
	vertical-align: top;
}

table.button_frame td:last-child.link
{
	padding-right: 0px;
}

table.button_frame tr:last-child td.link
{
	padding-bottom: 0px;
}

table.button_frame td.link div.frame
{
	width: 370px;
	height: 60px;
	position: relative;
}

table.button_frame td.link input
{
	width: 370px;
	height: 60px;
	font-size: 95%;
	line-height: 130%;
	color: #ffffff;
	padding: 0px 0px 0px;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	white-space: nowrap;
	background-color: #192f60;
	border-radius: 5px;
	display: block;
	cursor: pointer;
}

table.button_frame td.link button
{
	width: 370px;
	height: 60px;
	font-size: 95%;
	line-height: 130%;
	color: #ffffff;
	padding: 0px 0px 0px;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	white-space: nowrap;
	background-color: #192f60;
	border-radius: 5px;
	display: block;
	cursor: pointer;
}

table.button_frame .invalid input, table.button_frame .invalid button
{
	background-color: #555555!important;
}

table.button_frame td.link div.frame div.icon
{
	width: 30px;
	height: 30px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 12px;
}

table.button_frame td.link div.frame div.icon img
{
	width: 30px;
	height: 30px;
	display: block;
}

table.button_frame a
{
	display: block;
	text-decoration: none;
}


/* ホーム */
div.home_keyvisual_bg
{
	width: 100%;
	background-color: #010103;
}

div.home_keyvisual_frame
{
	width: 960px;
	height: 720px;
	margin: 0px auto 0px;
	position: relative;
}

div.home_keyvisual_frame div.img
{
	width: 960px;
	height: 720px;
}

div.home_keyvisual_frame div.img img
{
	width: 100%;
	display: block;
}

div.home_keyvisual_frame div.text_block
{
	/*width: 320px;
	height: 350px;
	background-color: rgba(0, 0, 0, 0.7);*/
	box-sizing: border-box;
	padding-left: 10px;
	position: absolute;
	top: 20px;
	left: 20px;
}

div.home_keyvisual_frame div.logo
{
	width: 350px;
	height: 47px;
	margin-bottom: 15px;
}

div.home_keyvisual_frame div.logo img
{
	width: 100%;
	display: block;
}

div.home_keyvisual_frame div.img_title
{
	font-size: 400%;
	line-height: 130%;
	color: #ffffff;
	letter-spacing: 0.05em;
	font-weight: 700;
	white-space :nowrap;
}

div.home_keyvisual_frame div.img_title2
{
	font-size: 250%;
	line-height: 130%;
	color: #ffffff;
	letter-spacing: 0.05em;
	font-weight: 700;
	white-space :nowrap;
	margin-left: -0.5em;
}

div.home_keyvisual_frame div.img_title_blue
{
	font-size: 140%;
	line-height: 140%;
	color: #00a0d5;
	letter-spacing: 0.1em;
	margin-top: 30px;
	font-weight: 700;
	white-space :nowrap;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
	              -1px 1px 0 #fff, 1px -1px 0 #fff,
	              0px 1px 0 #fff,  0-1px 0 #fff,
	              -1px 0 0 #fff, 1px 0 0 #fff;
}

div.home_keyvisual_frame div.img_text_top
{
	font-size: 125%;
	line-height: 140%;
	color: #333;
	/*letter-spacing: 0.05em;*/
	margin-top: 10px;
	font-weight: 700;
	white-space :nowrap;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
	              -1px 1px 0 #fff, 1px -1px 0 #fff,
	              0px 1px 0 #fff,  0-1px 0 #fff,
	              -1px 0 0 #fff, 1px 0 0 #fff;
}

div.home_keyvisual_frame div.img_text
{
	font-size: 110%;
	line-height: 140%;
	color: #333;
	letter-spacing: 0.05em;
	margin-top: 20px;
	font-weight: 700;
	white-space :nowrap;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
	              -1px 1px 0 #fff, 1px -1px 0 #fff,
	              0px 1px 0 #fff,  0-1px 0 #fff,
	              -1px 0 0 #fff, 1px 0 0 #fff;
}

div.home_keyvisual_frame div.img_text + div.img_text
{
	margin-top: 25px;
}

div.home_keyvisual_frame div.goods_block
{
	width: 920px;
	background-color: #ffffff;
	box-sizing: border-box;
	padding: 10px 30px 10px;
	position: absolute;
	bottom: 20px;
	left: 10px;
}

div.home_goods_block
{
	width: 920px;
	background-color: #ffffff;
	box-sizing: border-box;
	margin: 0px auto 0px;
	padding: 10px 30px 10px;
}

div.contents_title_center
{
	font-size: 180%;
	line-height: 100%;
	color: #333;
	margin: 130px auto 0px;
	letter-spacing: 0.2em;
	text-align: center;
}

div.contents_text_new
{
	width: 830px;
	font-size: 95%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.05em;
	margin: 45px auto 0px;
}

div.contents_text_new + div.contents_text_new
{
	margin-top: 15px;
}

table.home_shoes_img + div.contents_text_new
{
	margin-top: 30px;
}

div.official_site_frame
{
	margin: 70px auto 120px;
	text-align: center;
}

div.official_site_frame a
{
	display: inline-block;
}

div.official_site_frame table.official_site
{
	margin: 0px auto 0px;
}

div.official_site_frame table.official_site td.img_frame
{
	width: 280px;
}

div.official_site_frame table.official_site td.img_frame div.img
{
	width: 280px;
	height: 80px;
}

div.official_site_frame table.official_site td.img_frame div.img img
{
	width: 100%;
}

div.official_site_frame table.official_site td.text_frame
{
	padding-left: 45px;
}

div.official_site_frame table.official_site td.text_frame div.text
{
	font-size: 180%;
	line-height: 100%;
	color: #333;
}

table.home_shoes_img
{
	margin: 40px auto 40px;
}

table.home_shoes_img td.list
{
	width: 240px;
	vertical-align: top;
	padding-bottom: 20px;
}

table.home_shoes_img tr:last-child td.list
{
	padding-bottom: 0px;
}

table.home_shoes_img td.list div.img
{
	width: 240px;
	height: 155px;
	background-image: url("https://cdn.mintomo.co.jp/geerkat.com/img/img.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}

table.home_shoes_img td.list div.img img
{
	width: 100%;
	display: block;
}

table.home_shoes_img td.list div.ruby
{
	font-size: 95%;
	line-height: 150%;
	color: #333;
	text-align: center;
}

table.home_shoes_img td.list div.name
{
	font-size: 120%;
	line-height: 150%;
	color: #333;
	text-align: center;
	font-weight: 700;
}

div.purpose_key
{
	width: 960px;
	height: 523px;
	margin: 0px auto 0px;
	position: relative;
}

div.purpose_key img
{
	width: 100%;
	display: block;
}

div.purpose_key div.text_block_left
{
  	position: absolute;
  	top: 50px;
  	left: 20px;
}

div.purpose_key div.text_block_left div.img_text
{
	font-size: 100%;
	line-height: 200%;
	color: #00a0d5;
	letter-spacing: 0.05em;
	font-weight: 700;
	white-space :nowrap;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
	              -1px 1px 0 #fff, 1px -1px 0 #fff,
	              0px 1px 0 #fff,  0-1px 0 #fff,
	              -1px 0 0 #fff, 1px 0 0 #fff;
}

div.purpose_key div.text_block_right
{
  	position: absolute;
  	bottom: 30px;
  	right: 20px;
}

div.purpose_key div.text_block_right div.img_text
{
	font-size: 100%;
	line-height: 150%;
	color: #333;
	letter-spacing: 0.05em;
	font-weight: 700;
	white-space :nowrap;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
	              -1px 1px 0 #fff, 1px -1px 0 #fff,
	              0px 1px 0 #fff,  0-1px 0 #fff,
	              -1px 0 0 #fff, 1px 0 0 #fff;
}

div.purpose_key div.text_block_right div.img_text span.catch
{
	font-size: 110%;
}

div.purpose_key div.img_text + div.img_text
{
	margin-top: 15px;
}

div.contents_top_text_frame
{
	width: 840px;
	margin: auto;
	padding: 40px 80px 50px 80px;
	background-color: #ffffff;
	box-sizing: border-box;
	position: absolute;
	top: -190px;
	left: 0;
	right: 0;
	z-index: 100;
}

div.contents_top_text_frame_space
{
	width: 100%;
	height: 250px;
}

div.tech_top_space
{
	width: 100%;
	height: 80px;
}

table.home_shoes_data_frame
{
	margin: 20px auto 0px;
}

table.home_shoes_data_frame td.block
{
	width: 450px;
	vertical-align: top;
	padding-right: 60px;
}

table.home_shoes_data_frame td:last-child.block
{
	padding-right: 0;
}

table.home_shoes_data
{
	margin: 0;
}

table.home_shoes_data td.title
{
	width: 1px;
	font-size: 95%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.05em;
	white-space: nowrap;
	vertical-align: top;
	padding-right: 1em;
}

table.home_shoes_data td.text
{
	font-size: 95%;
	line-height: 180%;
	color: #333;
}

table.record_list
{
	margin: 45px auto 0px;
}

table.record_list td.block
{
	width: 450px;
	padding-right: 60px;
	vertical-align: top;
}

table.record_list td:last-child.block
{
	padding-right: 0px;
}

table.record_list td.block div.text
{
	font-size: 95%;
	line-height: 180%;
	color: #333;
	letter-spacing: 0.05em;
}

table.record_list td.block div.text + div.text
{
	margin-top: 15px;
}


/* ご購入はこちら */
div.fix_purchase_button
{
	width: 60px;
	margin: 0px auto 0px;
	position: fixed;
	top: 70px;
	right: 0;
	z-index: 101;
}

div.fix_purchase_button a
{
	display: block;
	text-decoration: none;
}

div.fix_purchase_button button
{
	width: 60px;
	height: 200px;
	font-size: 95%;
	line-height: 170%;
	color: #ffffff;
	padding: 0px 0px 0px;
	border: none;
	text-shadow: none;
	box-sizing: border-box;
	letter-spacing: 0;
	white-space: nowrap;
	background-color: #004097;
	/*border-bottom-left-radius: 20px;*/
	cursor: pointer;
	display: block;
}