/* 共通CSS */
p,a,h1,h2,h3{
	word-wrap:break-word;
}
a:hover{
	opacity:0.5;
}
img{
	max-width:100%;
}
table{
	width:100%;
	border-collapse: separate;
    border-spacing: 5px;
}

th,td{
	font-size:0.8rem;
	padding:5px;
	border-bottom:solid 2px #3D4976;
}
th{
	background:#3D4976;
	text-align:center;
	color:#fff;
}
td{
	color:#3D4976;
}

.top_content_bk th,
.top_content_bk td{
	border-bottom:solid 2px #fff;
}
.top_content_bk td{
	color:#fff;
}
.top_content_bk th{
	background:#fff;
	color:#3D4976;
}

.trouble_banner{
       background:#fff;
       padding:10px;
       margin-bottom:30px;
}
.ec-layoutRole__header,
.ec-footerRole,
.navbar{
	background:#3D4976;
}
.ec-layoutRole__header p,
.ec-layoutRole__header a,
.navbar-light .navbar-brand,
.navbar-light .navbar-brand:hover,
.ec-layoutRole__header .navbar-light .navbar-nav .nav-link{
	color:#fff;
}
.ec-grid,
.navbar .container{
	display:flex;
	flex-wrap:wrap;
}
.navbar-brand{
	width:80%;
	margin-right:0;
	padding:0;
}
.navbar-toggler{
	width:20%;
}

.header .navbar-nav .nav-item:last-child>.nav-link{
	border-bottom:0;
}
.header .nav-link>span{
	height:20px;
	margin-left:15px;
}
.navbar-collapse{
	padding: 0 15px;
}
.navbar-light .navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
.navbar,
.ec-grid2 .ec-grid2__cell {
    overflow: hidden;
}

.ec-select{
	margin-bottom:15px;
}
.ec-select select::-ms-expand {
	display: none;
}
.ec-select select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff;
	color: #3d4976;
	font-weight: bold;
}
.ec-select .selectWrap{
	position: relative;
}
.ec-select .selectWrap:before{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 10px solid transparent;
	border-top: 10px solid #3d4976;
}
.ec-productRole .ec-productRole__actions .ec-select select,
.ec-select select {
	width:100%;
	max-width: 100%;
    min-width: 100%;
	height:50px;;
}
.ec-select select,
.ec-select input,
.ec-input input,
.ec-input textarea,
.ec-zipInput input,
.ec-telInput input,
.ec-halfInput input,
.ec-numberInput input{
	border: 1px solid #3d4976;
}
.ec-input input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input, .ec-select input, .ec-birth input {
    height: 50px;
    margin-bottom: 15px;
}
.ec-blockBtn--action{
	background-color: #FFCD45;
	border-color: #FFCD45;
}
.ec-halfInput{
	display:flex;
	justify-content:space-between;
}
.ec-halfInput>input[type='text'],
.ec-halfInput>span {
	width: 49%;
	margin:0;
}
.ec-halfInput>span>input[type='text']{
	width:100%;
	margin:0;
}
.ec-productRole__description{
	padding:15px 0;
}
.ec-headingTitle{
	font-size:1.3rem;
	text-align:center;
}
.ec-price{
	text-align:center;
}
.ec-price .ec-price__price,
.ec-productRole .ec-productRole__price {
    color: #bf0000;
}
.ec-price .ec-price__price{
	font-size:1.3rem;
}
.ec-numberInput{
	display:flex;
	align-items: center;
	justify-content: center;
	margin-bottom:15px;
}
.ec-numberInput>span{
	width:60%;
}
.ec-numberInput>input[type='number']{
	width:40%;
	max-width:40%;
	margin-bottom: 0;
}
.ec-select label,
.ec-numberInput>span,
.ec-input label {
    margin-right: 10px;
    font-weight: bold;
}

.header .nav-link{
		position:relative;
	}
.header .nav-link>span.ec-cartNavi__badge {
		width: 20px;
		height: 20px;
		font-size: 14px;
		top: 15px;
		margin-top: -15px;
		right: 0;
		line-height: 14px;
		padding:3px;
		background:#bf0000;
		position: absolute;
		border-radius:50%;
		text-align:center;
		color:#fff;
	}
.top_title,
.top_content_bk{
	color:#fff;
	background: #3D4976;
}
.front_page .col-12{
	padding-right: 0;
	padding-left: 0;
}
.top_h2_box{
	position:relative;
	height:80px;
	margin-bottom:1rem;
}
.top_h2_box h2:before,
.top_h2_box h2:after{
	content: "";
	position: absolute;
	width: 20%;
	border-top: 2px solid #fff;
	top:0;
}
.top_h2_box h2:before {
	left:0;
}
.top_h2_box h2:after {
	right:0;
}
.top_h2_box h2 {
	font-size: 0.9rem;
	height:40px;
	line-height:40px;
	bottom:0;
	margin-bottom:0;
}
.top_h2_box .arc-text{
	top: 0;
	font-weight:bold;
	font-size:1.5rem;
	color:rgba(255,255,255,0);
	-webkit-text-stroke: 1px #FFF;
	text-stroke: 1px #FFF;
}
.top_h2_box h2,
.top_h2_box .arc-text{
	position: absolute;
	left: 0;
	width: 100%;
	text-align: center;
}
.keycode_page .top_h2_box h2,
.front_page .top_content_wh .top_h2_box h2{
	color:#3D4976;
}
.keycode_page .top_h2_box .arc-text,
.front_page .top_content_wh .top_h2_box .arc-text{
	-webkit-text-stroke: 1px #3D4976;
	text-stroke: 1px #3D4976
}
.keycode_page .top_h2_box h2:before,
.keycode_page .top_h2_box h2:after,
.front_page .top_content_wh .top_h2_box h2:before,
.front_page .top_content_wh .top_h2_box h2:after{
	border-color:#3D4976;
}
.top_receipt .top_content_box p{
	margin:15px 0;
}
.front_page .top_title h1{
	text-align:center;
	font-size:1.2rem;
	font-weight:bold;
}
.front_page .top_link_box{
	margin-top:15px;
}
.front_page .top_link_box a{
	position: relative;
	background:#fff;
	display: flex;
	align-items: center;
    justify-content: center;
	width:100%;
	height:60px;
	color:#525263;
	font-weight:bold;
	font-size:1.1rem;
	border-radius:10px;
}
.front_page .top_link_box a:after{
	display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 5px;
    width: 0;
    height: 0;
    margin-top: -10px;
    border: 10px solid transparent;
    border-left: 10px solid #525263;
}
.front_page .top_image_inner{
	height:200px;
	background:url("../img/top/top_image.jpg") no-repeat center center/cover;
}
.front_page .top_system .top_content_box{
	background:url("../img/top/top_system.jpg") no-repeat center center/cover;
}
.front_page .top_about .top_content_box{
	background:url("../img/top/top_about.jpg") no-repeat center center/cover;
}

.cart_page .ec-grid{
	justify-content:center;
}

.ec-orderAccount__account,
.ec-orderDelivery__address{
	display:flex;
	flex-wrap:wrap;
}
#page_shopping .ec-imageGrid,
#page_shopping_confirm .ec-imageGrid{
	border-top:0;
}
#page_shopping .ec-orderAccount__account,
#page_shopping_confirm .ec-orderAccount__account{
	margin-bottom:0;
}
#page_shopping .ec-orderRole__detail>div,
#page_shopping_confirm .ec-orderRole__detail>div{
	margin-bottom:40px;
}
#page_shopping .tableTh,
#page_shopping .tableTd,
#page_shopping_confirm .tableTh,
#page_shopping_confirm .tableTd{
	padding:7px;
}
#page_shopping .tableTh,
#page_shopping_confirm .tableTh{
	width:30%;
}
#page_shopping .tableTd,
#page_shopping_confirm .tableTd{
	width:70%;
}

/**********************
keycode
************************/

.keycode_page .h3_box{
	background:#3D4976;
	color:#fff;
	text-align:center;
	padding:15px 0 15px;
	margin-top:40px;
	position:relative;
}
.keycode_page h3{
	font-size:1.0rem;
	border-bottom:0;
}
.keycode_page .h3_box>img{
	position:absolute;
	left:50%;
	border-radius:50%;
}
.keycode_page div>span{
	background:#D8DBE4;
	display:inline-block;
	padding:15px;
	margin:10px 0;
	width:100%;
}
.keycode_page div>p{
	padding:15px 0;
}
.keycode_page div>span>ul{
	margin-left:-15px;
}
.keycode_page div>span>ul{
	margin-bottom:0;
}
.keycode_content{
	margin-top:40px;
}


.h1_box p,
.h1_box h1{
	text-align:center;
	color:#3d4976;
	font-weight:bold;
}
.h1_box p{
	position:relative;
	font-size:2.0rem;
}
.h1_box p:before{
	content: "";
	height: 0.6rem;
	width: 5rem;
	position: absolute;
	background: #3d4976;
	border-radius: 50%;
	left: 50%;
	margin-left: -2.5rem;
	bottom:-0.5rem;
}
.h1_box h1{
	font-size:1.0rem;
	position:relative;
	line-height:2.0rem;
	margin:1.0rem 0;
}
.h1_box h1:before,
.h1_box h1:after{
	content:"";
	position:absolute;
	border-top:1px solid #3d4976;
	width:50%;
	left:50%;
	margin-left:-25%;
}
.h1_box h1:before{
	top:0;
}
.h1_box h1:after{
	bottom:0;
}

.ec-grid2 {
    width: 100%;
}
.square_btn0{
	width:100%;
	margin-top:40px;
}
.subText{
	background:#f3f3f3;
	padding:30px;
	line-height:1.5;
	margin-top:40px;
}
.ec-orderAccount__account,
.ec-orderDelivery__address{
	display:flex;
	flex-wrap:wrap;
}
.ec-orderAccount__account p.tableTh,
.ec-orderDelivery__address p.tableTh{
	width:30%;
	background:#f3f3f3;
}
.ec-orderAccount__account p.tableTd,
.ec-orderDelivery__address p.tableTd{
	width:70%;
}
.ec-orderAccount__account p.tableTh,
.ec-orderAccount__account p.tableTd,
.ec-orderDelivery__address p.tableTh,
.ec-orderDelivery__address p.tableTd{
	padding:5px;
	margin-bottom:2px;
}
#shopping_order_expire_month,
#shopping_order_expire_year{
	width: 2rem;
    min-width: 2rem;
}

.ec-select__delivery{
	display:none;
}