/***********************************
 reset
***********************************/
@font-face {
	font-family: YuGothicM;
	src: local("Yu Gothic Medium");
}
*, html, body, div, dl, dt, dd, ul, ol, li, header, footer, nav,section,
h1, h2, h3, h4, h5, h6, form, input, textarea, p{
	margin: 0;
	padding: 0;
	font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	font-size: 1em;
}
dl, ul, ol{
	list-style-type: none;
}
html{
	overflow: unset;
	height: auto;
	min-height: 100%;
}
a{
//	transition: all 1.0s;
	color: #3d3d3d;
//	text-decoration: none;
}
a:hover{
	color: #005dff;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}

/***********************************
 base
***********************************/
body{
	position: relative;
	margin: 0;
	padding: 0;
	min-width: 1000px;
	height: 100vh;
	min-height: 100%;
	line-height: 1.6em;
	letter-spacing: 0.07em;
	color: #222222;
	font-size: 14px;
	text-align: center;
}
article,
div#wrap{
	position: relative;
	margin: auto;
	width: 100%;
	height: auto;
	background: none;
	overflow: hidden;
}
section,
div.container{
	clear: both;
	position: relative;
	padding: 0;
	background: none;
	height: auto;
	overflow: hidden;
}
section{
	margin: 15px auto;
	max-width: 980px;
}
div.container{
	margin: 0 auto;
	width: 980px;
}

main{
	float: left;
	width: 596px;
	overflow: hidden;
}

aside{
	float: right;
	width: 340px;
	height: 100%;
}

/***********************************
 others
***********************************/
.txtSS{
	font-size: 0.88em;
	letter-spacing: -0.1em;
}
.txtS{
	font-size: 0.9em;
	letter-spacing: -0.06em;
}
.txtM{
	font-size: 1.05em;
	letter-spacing: -0.06em;
}
.txtL{
	font-size: 1.2em;
	letter-spacing: 0;
}
.txtAC{
	text-align: center;
}
.txtAL{
	text-align: left;
	letter-spacing: 0.03em;
}
.fltL{
	float: left;
}
.fltR{
	float: right;
}

ul.disc{
	list-style-type: disc;
	margin-left: 20px;
	text-align: left;
}

ul.caution{
	margin: 0 0 0 20px;
	text-align: left;
}
ul.caution li{
	position: relative;
	padding: 2px 0 0;
}
ul.caution li::before {
	position: absolute;
	left: -1.2em;
	display: block;
	content: "※";
}

strong.push{
	display: block;
	margin: 15px 0;
	color: #ccbe00;
	font-size: 1.2em;
}

/***********************************
 header, footer
***********************************/
header, footer{
	clear: both;
	position: relative;
	width: 100%;
	display: block;
	letter-spacing: normal;
	font-size: 0.85em;
}
header{
	margin: 0;
	height: 200px;
	text-align: left;
}

footer{
	margin-top: 50px;
	padding-top: 100px;
	height: 140px;
	text-align: center;
}

/***********************************
 #pnList
***********************************/
ul#pnList{
	text-align: left;
}
ul#pnList li{
	float: left;
}
ul#pnList li:after{
	float: right;
	display: block;
	padding: 0 10px;
	content: ">";
	line-height: 1.5em;
}
ul#pnList li:last-child:after{
	display: none;
}
ul#pnList li a{
	display: inline-block;
	color: #242424;
	text-decoration: none;
}
ul#pnList li a:hover{
	color: #663399;
}

/***********************************
 h2, h3, h4
***********************************/
h2{
	font-weight: normal;
	font-size: 2em;
}

h3{
	position: relative;
	margin: 0 0 8px;
	padding: 5px 0 0;
	width: 100%;
	min-height: 30px;
	line-heiht:20px;
	text-align: left;
	letter-spacing: 0;
	font-weight: normal;
	font-size: 1.5em;
}

h4{
	margin: 0 0 10px;
	font-size: 1.17em;
	text-align: left;
}

h4.point{
	display: inline-block;
	line-height: 1em;
	font-size: 1.4em;
}
h4.point:first-letter{
	font-size: 1.4em;
	color: #a64175;
}

/***********************************
 table
***********************************/
table {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.3em;
}
th {
	padding: 10px 20px;
	border: #bbbbbb 1px solid;
	text-align: left;
	background: #F6F6F1;
	font-weight: bold;
}
td {
	padding: 10px;
	background: #ffffff;
	border: #bbbbbb 1px solid;
	text-align: left;
}

table.noBorder{
}
table.noBorder th,
table.noBorder td {
	padding: 5px 10px;
	background: none;
	border: none;
}
table.noBorder th img,
table.noBorder td img{
	display: block;
	margin: auto;
}

/***********************************
 .ul4, .row, .column
***********************************/
.ul4 li{
	float: left;
	margin: 0 10px 8px 0;
	width: calc(100% /4 - 30px /4);
}
.ul4 li:nth-child(4n){
	margin: 0 0 8px;
}

.row{
	position: relative;
	display: -webkit-flex;
	display: flex;
	width: calc(100% + 15px);
	margin: 0 0 20px;
}
.row:after{
	clear: both;
	display: block;
	content: "";
}
.column1,
.row .column2,
.row .column3-1,
.row .column3-2,
.row .column4-1,
.row .column4-3,
.row .column5-1{
	display: block;
	float: left;
	overflow: hidden;
	margin: 0 20px 0 0;
}
.column1{ width: calc(100% - 20px); clear: both; }
.row .column2{ width: calc(50% - 20px); }
.row .column2.short{ width: calc(45% - 20px); }
.row .column2.long{ width: calc(55% - 20px); }
.row .column3-1{ width: calc((100% /3) - 20px); }
.row .column3-2{ width: calc((100% /3) * 2 - 20px); }
.row .column4-1{ width: calc(25% - 20px); }
.row .column4-3{ width: calc(75% - 20px); }
.row .column5-1{ width: calc((100% /5) - 20px); }

.column1 img,
.row .column2 img,
.row .column3-1 img,
.row .column3-2 img,
.row .column4-1 img,
.row .column4-3 img,
.row .column5-1 img{
	display: block;
	width: 100%;
}

.column1 img.fixity,
.row .column2 img.fixity,
.row .column3-1 img.fixity,
.row .column3-2 img.fixity,
.row .column4-1 img.fixity,
.row .column4-3 img.fixity,
.row .column5-1 img.fixity{
	display: block;
	margin: 0 auto;
	width: auto;
}
.column1 strong.inlineBlock,
.row .column2 strong.inlineBlock,
.row .column3-1 strong.inlineBlock,
.row .column3-2 strong.inlineBlock,
.row .column4-1 strong.inlineBlock,
.row .column4-3 strong.inlineBlock,
.row .column5-1 strong.inlineBlock{
	display: inline-block;
	padding: 5px 0;
	width: 100%;
	text-align: left;
	font-size: 1.1em;
	font-family: 'Noto Serif JP', serif;
}

.row .boxShadow{
	border: solid 1px #c4c4c4;
	background: #ffffff;
	width: calc(100% - 4px);
	height: calc(100% - 5px);
	box-shadow: 0px 0px 3px 0px #c4c4c4;
}
.row.boxRowBorder{
	padding: 15px 0 15px 15px;
	background: #ffffff;
	width:calc(100% - 17px);
	border: solid 1px #cfceac;
}
.row.boxRowBorder + .row.boxRowBorder{
	border-top: none;
	margin-top: -40px;
	padding-top: 0;
}

.row.boxColor{
	padding: 15px 0 15px 15px;
	width:calc(100% - 17px);
	border: solid 1px #ffffff;
}
.row.boxColor.color01{ 	background: #ebf2c7; }
.row.boxColor.color02{ 	background: #f2ecc7; }


/***********************************
 .btn, .btnBox, .btnBoxRow
***********************************/
a.btn{
	display: block;
	text-indent: -9999px;
	background-repeat: no-repeat;
	background-position: left top;
}
a.btn:hover{
	background-position: left bottom;
}

a.btnTxt{
	display: inline-block;
	margin: 20px 10px 10px; 
	padding: 0.5em 2em 0.5em 2.05em;
	background: #423837;
	min-width: 180px;
	height: 33px;
	line-height: 33px;
	letter-spacing: 0.05em;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	font-size: 1em;
	border-radius: 3px;
}
a.btnTxt:hover,
a.btnTxt:active{
	background: #4f4342;
	color: #ffffff;
}

a.btnTxt2{
	position: relative;
	display: inline-block;
	margin: 10px; 
	padding: 0 1em 0 1.05em;
	background: #2f3b80;
	min-width: 170px;
	height: 33px;
	overflow: hidden;
	z-index: 1;
	line-height: 33px;
	letter-spacing: 0.05em;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	font-size: 1em;
	border-radius: 3px;
}
a.btnTxt2:before{
	position: absolute;
	content: '';
	right: 0px;
	bottom: 0px;
	width: 0;
	height: 0;
	border: none;
	border-left: solid 80px transparent;
	border-bottom: solid 33px #263066;
	z-index: -1;
}
a.btnTxt2:hover{
	background: #394799;
	color: #ffffff;
}
a.btnTxt2:hover:before{
	border-bottom: solid 30px #2f3b80;
}

a.bgChenge{
	position: relative;
	display: inline-block;
	color: #242424;
	text-decoration: none;
	transition: all 0.5s;
}
a.bgChenge:hover{
	color: #242424;
	background: #ffffff;
	box-shadow: inset 0 0 10px 10px #f4d6e5;
}
a.imgChenge{
//	transition: all 0.5s;
}
a.imgChenge img{
	display: unset !important;
}
a.imgChenge:hover{
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

.btnBox{
	display: table;
	border-collapse: separate;
	border-spacing: 15px;
	width: 100%;
	table-layout: fixed;
}
.btnBox a.btnTxt{
	display: table-cell;
	width: auto;
	border-radius: unset;
}

.btnBoxLine{
	clear: both;
	margin: 10px 0;
}
.btnBoxLine:after{
	clear: both;
	display: block;
	content: "";
}
.btnBoxLine a.btn{
	float: left;
	margin-right: 4px;
}

.btnBoxCover{
	clear: both;
	margin: 10px auto 20px;
	padding: 20px 0;
	width: 80%;
	background: #eef0d9;
	border: solid #ffffff 3px;
	outline: solid #dde4ce 1px;
	text-align: center;

}
.btnBoxCover:after{
	clear: both;
	display: block;
	content: "";
}
.btnBoxCover p{
	display: inline-block;
	margin: 0 auto;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.1em;
}
.btnBoxCover .btnBoxLine a.btnTxt{
	margin: 5px 10px 0; 
}


.btnBoxRow{
	margin: 15px;
}
.btnBoxRow a.btn{
	display: block;
	margin: 0 auto;
}
.btnBoxRow a.btn + a.btn{
	margin-top: 15px;
}

/**********************************************************************
 
 for Kawashimaya
 
**********************************************************************/

/***********************************
 base
***********************************/
a{
	color: #2f3b80;
}
a:hover{
	color: #3d4da6;
}

body{
	background: url(/images/bg.png) center center;
}
section,
div.container{
	margin: 20px auto 30px;
	max-width: 920px;
}
section.short{
	max-width: 750px;
}

main{
	float: none;
	width: 920px;
}

/***********************************
 others
***********************************/
iframe#googlemap{
	width: 443px;
	height: 390px;
	border: solid 2px #e3e3e3;
}

/***********************************
 header
***********************************/
header{
	background: url(/images/header_line.png) repeat-x center top;
	height: 143px;
}
header .container{
	height: 100%;
	margin: 0 auto;
}

header a{
	display: block;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
}
header a.tel{
	cursor: default;
}

header h1{
	margin: 30px 0 0;
	width: 270px;
	height: 54px;
}
header h1 a{
	background: url(/images/logo.png) no-repeat center center;
}

header ul#header_info{
	position: absolute;
	top: 22px;
	right: 0;
	background: url(/images/header_info.png) no-repeat center top;
	width: 229px;
	height: 65px;
}
header ul#header_info li{
	position: absolute;
	top: 15px;
	display: inline-block;
	margin: 0;
	height: 50px;
}
header ul#header_info li:first-child{
	left: 2px;
	width: 162px;
	background: url(/images/header_tel.png?date=2025) no-repeat center;
}
header ul#header_info li:last-child{
	right: 2px;
	width: 58px;
	background: url(/images/header_mail.png) no-repeat right center;
}
header ul#header_info li:last-child:hover{
	background-color: #fffff7;
}

/***********************************
 footer
***********************************/
footer{
	padding: 0;
	background: url(/images/footer_logo.png) calc(50% + 292px) bottom no-repeat #252029;
	height: auto;
	font-size: 1em;
}
footer div.container{
	margin: 0 auto;
}

footer ul.footer_nav{
	display: block;
	margin: 80px 0 95px;
}
footer ul.footer_nav:after{
	clear: both;
	display: block;
	content: "";
}
footer ul.footer_nav li{
	position: relative;
	float: left;
	margin: 0 10px;
}
footer ul.footer_nav li:after{
	position: absolute;;
	top: 5px;
	bottom: 5px;
	right: -10px;
	display: block;
	content: "";
	border-right: solid 1px #ffffff;
}
footer ul.footer_nav li:last-child:after{
	display: none;
}
footer ul.footer_nav li a{
	display: block;
	color: #ffffff;
	text-decoration: none;
}
footer ul.footer_nav li a:hover{
	color: #af97c2;
}

footer #copyright{
	margin: 0 auto 25px;
	color: #ffffff;
}

/***********************************
 nav
***********************************/
nav{
	position: absolute;
	bottom: 9px;
}
nav ul li{
	display: inline-block;
	float: left;
	margin: 0;
	width: 184px;
	height: 30px;
//	overflow: hidden;
}
nav ul li a{
	position: relative;
	background-position: center;
	background-repeat: no-repeat;
	border-left: dotted 1px #555553;
}
nav ul li:nth-child(1) a{ background-image: url(/images/nav01.png); }
nav ul li:nth-child(2) a{ background-image: url(/images/nav02.png); }
nav ul li:nth-child(3) a{ background-image: url(/images/nav03.png); }
nav ul li:nth-child(4) a{ background-image: url(/images/nav04.png); }
nav ul li:nth-child(5) a{ background-image: url(/images/nav05.png); width: calc(100% - 2px); border-right: dotted 1px #555553; }
nav ul li a:after{
	position: absolute;
	bottom: -9px;
	left: -1px;
	right: 0;
	display: block;
	height: 9px;
	content: "";
}
nav ul li:nth-child(5) a:after{
	right: -1px;
}
nav ul li a.on:after,
nav ul li a:hover:after{
	background: url(/images/nav_on.png) repeat-x center;
}

/***********************************
 h2, h3, h4
***********************************/
h2, h3{
	margin: 0;
	padding: 0;
	text-indent: -9999px;
	background-repeat: no-repeat;
	background-position: center center;
}

h2{
	margin: auto;
	width: 100%;
	height: 180px;
}
h2#support{ background-image: url(/images/ttl_support.png); }
h2#service{ background-image: url(/images/ttl_service.png); }
h2#about{ background-image: url(/images/ttl_about.png); }
h2#contact{ background-image: url(/images/ttl_contact.png); }

#home h2#topics01,
#home h2#topics02,
h3{
	padding: 40px 0 0;
	width: 100%;
	height: 20px;
}
#home h2#topics01{ background-image: url(/images/ttl_topics01.png); }
#home h2#topics02{ background-image: url(/images/ttl_topics02.png); }
h3#kishonashohin{ background: url(/images/ttl_kishonashohin.png) no-repeat left center; height: 65px; }
h3#aisatsu{ background: url(/images/ttl_aisatsu.png) no-repeat left center; height: 65px; }


#home h2.bar,
h3.bar{
	position: relative;
	display: inline-block;
	margin: 20px 0 30px;
	padding: 0 50px;
	height: 30px;
}
#home h2.bar:before,
h3.bar:before,
#home h2.bar:after,
h3.bar:after{
	position: absolute;
	top: 50%;
	display: block;
	content: "aaa";
	width: 170px;
	border-top: solid 1px #b8afa3;
}
#home h2.bar:before,
h3.bar:before{
	left: -170px;
}
#home h2.bar:after,
h3.bar:after{
	right: -170px;
}
#home h2#twitter{ background-image: url(/images/ttl_twitter.png); width: 110px; }
#home h2#instagram{ background-image: url(/images/ttl_instagram.png); width: 151px; }
h3#menu-poster{ background-image: url(/images/ttl_menu-poster.png); width: 396px; }
h3#ippannokata{ background-image: url(/images/ttl_ippannokata.png); width: 410px; height: 55px; }
h3#takuhai{ background-image: url(/images/ttl_takuhai.png); width: 142px; }
h3#tenpo-otoiawase{ background-image: url(/images/ttl_tenpo-otoiawase.png); width: 287px; }
h3#otoiawase{ background-image: url(/images/ttl_otoiawase.png); width: 165px; }
h3#keieirinen{ background-image: url(/images/ttl_keieirinen.png); width: 96px; }
h3#odenwakara{ background-image: url(/images/ttl_odenwakara.png); width: 286px; }
h3#mailformkara{ background-image: url(/images/ttl_mailformkara.png); width: 381px; }

h4{
	margin: 5px 0 20px;
	padding: 0 0 0 14px;
	line-height: 1.3em;
	background-repeat: no-repeat;
	background-position: 15px center;
	border-left: solid 4px #e19d0c;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.35em;
}

/***********************************
 table
***********************************/
table {
	background: #ffffff;
	border-collapse: separate;
	border-spacing: 0px 5px;
	border:solid 3px #e3e3e3;
}
table th,
table td {
	padding: 10px 15px;
	border: none;
}
table th {
	position: relative;
	background: #263066;
	vertical-align: middle;
	text-align: left;
	overflow: visible;
	color: #fff;
	font-weight: normal;
}
table th:after {
	position: absolute;
	top: 50%;
	left: 100%;
	margin-top: -10px;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-left-color: #263066;
	border-width: 10px;
}
table td {
	background: #eff0f7;
	padding-left: 30px;
}

/***********************************
 .btn
***********************************/
.contactBox{
	padding: 20px 0;
	background-color:rgba(56,102,38,0.6);
	border-radius: 20px;
}
.contactBox > div{
	margin: 0 20px;
	padding: 30px;
	background: #ffffff;
	border-radius: 15px;
}
.contactBox > div:after{
	clear: both;
	display: block;
	content: "";
}
.contactBox > div .fltL{
	width: 465px;
}
.contactBox > div .fltL strong{
	display: block;
	background: url(/images/contactbox_ttl.png) no-repeat;
	width: 465px;
	height: 65px;
	text-indent: -9999px;
}
.contactBox > div .fltL p{
	margin: 1em 4em 0;
	text-align: left;
	text-indent: -3em;
}
.contactBox > div .fltR{
	width: 350px;
}
.contactBox > div .fltR a.btnTxt2{
	margin: 5px auto 20px;
	padding: 0 1em 0 3em;
	width: 210px;
	height: 45px;
	background: url(/images/contactbox_mail.png) no-repeat 15px center #2f3b80;
	line-height: 45px;
}
.contactBox > div .fltR a.btnTxt2:before{
	border-left: solid 100px transparent;
	border-bottom: solid 45px #263066;
}
.contactBox > div .fltR a.btnTxt2:hover{
	background: url(/images/contactbox_mail.png) no-repeat 15px center #394799;
}
.contactBox > div .fltR a.btnTxt2:hover:before{
	border-bottom: solid 45px #2f3b80;
}

.contactBox > div .fltR p{
	display: inline-block;
	margin: auto;
	text-align: left;
}

/***********************************
 #mainimage
***********************************/
#mainimage{
	height: 180px;
	margin: 0 auto;
	background: #ffffff;
}
#home #mainimage{
	background: url(/images/slide_bg.png) center;
	height: 300px;
}
#home #mainimage #slide img{
	margin: 12px auto;
}

/***********************************
 home
***********************************/
#topics .topicsBox{
	position: relative;
	float: left;
	margin: 80px 0 10px;
	padding: 120px 0 20px;
	background: #ffffff;
	width: 445px;
	z-index: 1;
}
#topics .topicsBox:nth-child(2n){
	margin-left: 30px;
}
#topics .topicsBox img{
	position: absolute;
	top: -70px;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: -1;
}
#topics .topicsBox div{
	margin: auto;
	background-color:rgba(0,0,0,0.6);
	width: 395px;
	height: 270px;
}
#topics .topicsBox div p{
	padding: 0 10px 10px;
	color: #ffffff;
}
#topics .topicsBox div a.btnTxt{
	position: absolute;
	bottom: 45px;
	left: 0;
	right: 0;
	margin: auto;
	width: 200px;
	background: none;
	border: solid 1px #ffffff;
	border-radius: 0;
}
#topics .topicsBox div a.btnTxt:hover,
#topics .topicsBox div a.btnTxt:active{
	background: #aaaaaa;
	color: #000000;
}

.bnrLst li{
	margin: 0 0 20px;
}
.bnrLst li a:hover{
	display:block;
	overflow:hidden;
	opacity:0.8;
}
/***********************************
 support
***********************************/
.itemBox{
	float: left;
	margin: 0 0 20px;
	padding: 18px;
	background: #ffffff;
	width: calc((100% - 96px) / 2);
	border: solid 1px #cfceac;
	text-align: left;
}
.itemBox:nth-child(2n){
	margin-left: 20px;
}
.itemBox > img{
	float: left;
	display: block;
	margin: 0 15px 0 0;
	width: 180px;
	height: 242px;
}
.itemBox > .outline{
	float: left;
	padding: 0 0 15px;
	width: calc(100% - 195px);
}
.itemBox > .outline > strong{
	display: block;
	margin: 15px 0;
	font-weight: bold;
	font-size: 1.1em;
}
.itemBox > .outline > strong:has(.price){
	margin: 15px 0 15px 10px;
}
.itemBox > .outline > span{
	display: block;
	margin: 0 0 10px;
	color: #ffffff;
	text-align: center;
}
.itemBox > .outline > span.cate01{
	background: #263066;
}
.itemBox > .outline > span.cate02{
	background: #bd2a5e;
}
.itemBox > .outline > span.cate03{
	background: #4a2666;
}
.itemBox > .outline > span.cate04{
	background: #d18a0f;
}
.itemBox > .detail{
	letter-spacing: 0;
}

.itemBox span.size{
	display:inline-block;
	width:4em;
}
.itemBox span.price{
	display: block;
}
.itemBox span.price + span.price{
	font-weight: normal;
	font-size: 0.85em;
	letter-spacing: -0.02em;
}
/***********************************
 service
***********************************/
#serviceLogoBox{
	position: relative;
	background: #ffffff;
	height: 450px;
}
#serviceLogoBox img{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
#serviceLogoBox img:first-child{ left: 80px; height: 350px; }
#serviceLogoBox img:last-child{ right: 80px; height: 400px; }

a.onlineShop{
	display:block;
	margin:auto;
}

a.onlineShop:hover{
	opacity:0.8;
}




table#ryokinhyo{
	margin: 0 0 10px;
}
table#ryokinhyo th,
table#ryokinhyo td{
	text-align: center;
}
table#ryokinhyo th:after{
	display: none;
}
table#ryokinhyo th:nth-child(2),
table#ryokinhyo th:nth-child(3){
	background: #47549b;
}
table#ryokinhyo th:first-child,
table#ryokinhyo th:last-child,
table#ryokinhyo td:last-child{
	border-left: solid 1px #ffffff;
	border-right: solid 1px #ffffff;
}

/***********************************
 about
***********************************/
#aisatsuBox .imgBox{
	float: right;
	margin: 0 0 0 15px;
	width: 330px;
}
#aisatsuBox .imgBox .row{
	margin-bottom: 15px;
}

#aisatsuBox p{
	text-align: left;
	letter-spacing: 0;
}
#aisatsuBox p + p{
	margin: 15px 0 0;
}
#aisatsuBox p#fromname{
	margin-bottom: 15px;
	line-height: 1.8em;
	text-align: right;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.25em;
}

#philosophy dl{
	padding: 0 0 30px;
	background: url(/images/bg_gourd.png) no-repeat center top;
}
#philosophy dl dt,
#philosophy dl dd{
	line-height: 1.8em;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.25em;
}
#philosophy dl dt{
	margin: 15px 0 5px;
	color: #665626;
}
#philosophy dl dd{
	margin: 0 0 20px;
}

/***********************************
 contact
***********************************/
.contactBox_tel{
	margin: auto;
	padding: 15px 0;
	background-color:rgba(56,102,38,0.6);
	width: 590px;
	border-radius: 18px;
}
.contactBox_tel > div{
	margin: 0 15px;
	padding: 30px;
	background: #ffffff;
	border-radius: 12px;
}
.contactBox_tel > div ul li{
	display: inline-block;
	width: 240px;
	height: 60px;
	text-indent: -9999px;
}
.contactBox_tel > div ul li:first-child{
	float: left;
	background: url(/images/contactbox_tel.png) no-repeat;
}
.contactBox_tel > div ul li:last-child{
	float: right;
	background: url(/images/contactbox_fax.png) no-repeat;
}
.contactBox_tel > div p{
	display: inline-block;
	margin: 20px auto 0;
	text-align: left;
}
.contactBox_tel > div p:last-child{
	margin: 10px auto 0;
}

form table{
	margin: 20px 0;
}
form table th span,
span.required{
	padding: 0 5px;
	color: red;
}
span.error{
	color: red;
}
form table + p.memo{
	margin: -10px 20px 20px;
	text-align: left;
}

label{
	position: relative;
	display: inline-block;
	margin: 3px 30px 3px 0;
	min-width: 100px;
	cursor: pointer;
}
input[type="checkbox"]{
	margin-right: 5px;
	width: 18px;
	height: 18px;
	font-weight: bold;
}
input[type="text"],
textarea{
	margin: 1px 0;
	padding: 5px 5px;
	line-height: 1.3em;
	color: #000000;
	width: 450px;
}
input[type="text"]{
	line-height: 2em;
}
input[type="text"].short{
	width: 100px;
}
input[type="text"].mini{
	width: 60px;
}

input[type="button"].btn,
input[type="submit"].btn{
	padding: 8px 20px;
	min-width: 300px;
	background: #e1e1e1;
	border: solid 2px #adadad;
}
input[type="button"].btn:hover,
input[type="submit"].btn:hover{
	background: #eff0f7;
	border: solid 2px #2f3b80;
}

/* placeholder */
textarea[name="address"]::placeholder,
textarea[name="detail"]::placeholder,
input[type="text"]::placeholder{
	color: #b3b3b3;
	line-height: 1.3em;
}
/* placeholder IE */
textarea[name="address"]:-ms-input-placeholder,
textarea[name="detail"]:-ms-input-placeholder,
input[type="text"]:-ms-input-placeholder{
	color: #b3b3b3;
	line-height: 1.3em;
}
/* placeholder Edge */
@supports (-ms-ime-align: auto){
	textarea[name="address"]::-ms-input-placeholder,
	textarea[name="detail"]::-ms-input-placeholder,
	input[type="text"]::-ms-input-placeholder{
		color: #b3b3b3;
		line-height: 1.3em;
		opacity: 1;
	}
}

#thanksBox{
	margin: 40px 0 50px;
	line-height: 1.8em;
}
#thanksBox + input{
	margin: 0 auto 50px;
}
