@charset "UTF-8";
/* common */
h1 {
  font-size: 8.0rem;
  letter-spacing: 0.2em;
  margin-bottom: 2.0rem;
  text-align: center;
  margin:0;
}

h2 {
  padding: 1.6rem 0;
  border-top: solid 1px #fff;
  border-bottom: solid 1px #fff;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}

h2::before {
  content: '■';
}

h3 {
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 1.0rem;
}

figure figcaption{
	margin-top:8px;
}
main {
  overflow:hidden;
}
main #sub-img {
  margin: 0;
  padding: 85px 0 0;
  height: 761px;
  background: no-repeat center/cover;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  background-image: url(../img/common/sub-img.jpg);
  position:relative;
}
main #sub-img:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	background: #000;
	opacity: 0.2;
}
main #sub-img .inner {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

main #sub-img .title {
/*
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  white-space: nowrap;
*/
  padding: 0 16px;
}

main #sub-img .title p {
  font-size: 4.2rem;
  text-align: center;
  line-height: 1.6;
}

main p.sub-title {
  font-size: 2.8rem;
  margin: 8.0rem 0;
}

/* domestic */
#Domestic main #sub-img {
  background-image: url(../img/domestic/sub-img.jpg);
}

#Domestic main #s01 ul.type li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 4.0rem;
  font-size: 1.8rem;
}

#Domestic main #s01 ul.type li img {
  width: 24%;
  max-width: 200px;
  margin-right: 3.0rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

#Domestic main #s01 ul.list_01 {
  margin-top: 8.0rem;
}

#Domestic main #s01 ul.list_01 li {
  margin: 4.0rem 0;
}

#Domestic main #s01 ul.list_01 li:nth-of-type(3), #Domestic main #s01 ul.list_01 li:nth-of-type(4) {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

#Domestic main #s01 ul.list_01 span.db {
  font-size: 2.4rem;
  display: block;
}

#Domestic main #s01 ul.list_01 dl {
  font-size: 2.4rem;
}

#Domestic main #s01 ul.list_01 dt {
  float: left;
  width: 145px;
  text-align-last: justify;
  /* Chrome・Firefox用 */
  text-justify: inter-ideograph;
  /* IE用 */
}

#Domestic main #s01 ul.list_01 dd {
  margin-left: 160px;
}

#Domestic main #s02 h2, #Domestic main #s03 h2, #Domestic main #s04 h2, #Domestic main #s05 h2 {
  border: none;
  padding: 0;
}

#Domestic main #s05 dl {
  font-size: 1.8rem;
}

#Domestic main #s05 dt {
  float: left;
  width: 110px;
  text-align-last: justify;
  /* Chrome・Firefox用 */
  text-justify: inter-ideograph;
  /* IE用 */
}

#Domestic main #s05 dd {
  margin-left: 130px;
  margin-bottom: 1.6rem;
}

#Domestic main #s05 > p {
  margin-bottom: 6.0rem;
}

#Domestic main a.btn_more {
  font-size: 2.4rem;
  letter-spacing: 0.5em;
  padding: 1.2rem 10rem;
  margin-bottom: 8.0rem;
}

/* overseas */
#Overseas main #sub-img {
  background-image: url(../img/overseas/sub-img.jpg);
}

#Overseas main #s01 .flex-box .w75{
	width:75%;
}
#Overseas main #s01 .flex-box .w25{
	width:25%;
}

#Overseas main #s01 ul.type {
  margin-bottom: 8.0rem;
}

#Overseas main #s01 ul.type li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 4.0rem;
  font-size: 1.8rem;
}

#Overseas main #s01 ul.type li img {
  width: 24%;
  max-width: 200px;
  margin-right: 3.0rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

#Overseas main #s01 ul.list_01 li li {
  font-size: 2.4rem;
  margin: 0;
}

#Overseas main #s01 ul.list_01 li li dt {
  float: left;
}

#Overseas main #s01 ul.list_01 li li dd {
  margin-left: 9.0rem;
  width: 100%;
}

#Overseas main #s01 ul.list_01 li:nth-of-type(1), #Overseas main #s01 ul.list_01 li:nth-of-type(4) {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

#Overseas main #s02 h2 {
  border: none;
  padding: 0;
}

#Overseas main #premium {
  margin: 10.0rem 0;
}

#Overseas main #premium .title-premium {
  width: 100%;
  border: solid 3px #fff;
  padding: 2.0rem;
  letter-spacing: 0.05em;
}

#Overseas main #premium .title-premium span {
  font-size: 2.6rem;
  font-weight: 600;
}

#Overseas main #premium .title-premium p {
  font-size: 5.6rem;
  letter-spacing: 0.1em;
}

#Overseas main #premium > p {
  font-size: 2.0rem;
  line-height: 1.8;
  margin: 3.0rem 0;
}

#Overseas main #premium .product-li li {
  min-height: 675px;
}

#Overseas main #premium .product-li li p {
  padding: 0 3.0rem;
}

#Overseas main #premium .product-li li div.benefit {
  margin: auto 3.0rem 0;
  padding: 0.6rem 1.0rem;
  border: solid 3px #ff0000;
}

#Overseas main #premium .product-li li div.benefit span {
  color: #ff0000;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.8em;
}

#Overseas main #premium .product-li li div.benefit p {
  padding: 0;
  text-align: left;
  font-size: 1.5rem;
}

/* retail */
#Retail main #sub-img {
  background-image: url(../img/retail/sub-img.jpg);
}

#Retail main .title-premium {
  width: 100%;
  border: solid 3px #fff;
  margin-bottom: 2.0rem;
  padding: 2.0rem;
  letter-spacing: 0.05em;
}

#Retail main .title-premium span {
  font-size: 2.6rem;
  font-weight: 600;
}

#Retail main .title-premium p {
  font-size: 5.6rem;
  letter-spacing: 0.1em;
}

#Retail main #s01 .product-li li img {
  margin: 7.0rem 2.0rem 3.0rem;
}

#Retail main #s01 .product-li li .name {
  max-width: calc(48vw - 220px);
}

#Retail main #s01 .product-li li .character {
  margin: 0;
  max-width: 100px;
  position: absolute;
  top: 3.6rem;
  right: 4.0rem;
  z-index: 10;
}

#Retail main #s01 .product-li li p.detail {
  min-height: 145px;
}

#Retail main #s02 h2 {
  border: none;
  padding: 0;
  margin: 3.0rem 0 2.0rem;
}

#Retail main #s02 .product-li li .name span {
  display: block;
  font-size: 1.8rem;
}

#Retail main #s02 .product-li li img {
  padding: 0 6.0rem;
}

#Retail main #s02 .text-right {
  text-align: right;
  font-size: 2.0rem;
}

/* about */
#About main #sub-img {
  background-image: url(../img/about/sub-img.jpg);
}

#About main #s01 img {
  width: 100%;
}

#About main #s01 > div {
  margin: 4.0rem 0;
  line-height: 1.8;
}

#About main #s01 div.map {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#About main #s01 div.map img {
  width: 300px;
  float: left;
  margin-right: 2.0rem;
}

#About main #s02 > div {
  margin: 4.0rem 0;
}

#About main #s02 > div img {
  float: right;
  margin-left: 2.0rem;
}

#About main #s03 img {
  margin-left: 2.0rem;
}

/* compay */
#Company main #sub-img {
  background-image: url(../img/company/sub-img.jpg);
  max-height: 350px;
}

#Company main #access .font24 {
  font-size: 2.4rem;
}

#Company main #access ul {
  margin: 3.0rem 0;
}

#Company main #access ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 32%;
}

/* ----- form 共通 --------- */

.bs-mail-form th .normal {
  display: none;
}
.bs-mail-form th .required {
  margin: 0 5px;
  padding: 3px 7px;
  display: inline-block;
  background: #d93f10;
  border-radius: 5px;
  font-size: 1.1rem;
  color: #fff;
}

.bs-mail-form input[type="text"],
.bs-mail-form input[type="email"],
.bs-mail-form input[type="number"],
.bs-mail-form textarea {
  margin: 5px 0;
  padding: 5px 10px;
  width: 100%;
  border-radius: 6px;
  border: solid 1px #808080;
  font-size: 1.5rem;
}

.bs-mail-form select {
  padding: 5px 10px;
  border-radius: 6px;
  border: solid 1px #808080;
  font-size: 1.5rem;
  color: #000;
}
.bs-mail-form .bs-mail-form-submit {
  display: flex;
  justify-content: center;
}
.bs-mail-form input[type="reset"],
.bs-mail-form input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: #fff;
  color: #000;
}
.bs-mail-form input[type="reset"],
.bs-mail-form input[type="submit"]{
  display: inline-block;
  margin: 50px 10px;
  padding: 10px 24px;
  border-radius: 0;
  font-size: 1.6rem;
  font-weight: 600;
}
.bs-mail-form input[type="submit"]{
  background: #060;
  color: #fff;
  letter-spacing: 0.1em;
}
.bs-mail-form input#BtnMessageBack {
  background: #808080;
  color: #fff;
}

.bs-mail-form .error-message,
.bs-mail-form .alert-message  {
  color: #d93f10;
}


/* order */
#Order main #sub-img {
  background-image: url(../img/order/sub-img.jpg);
  max-height: 350px;
}

#Order main .order_form{ 
  padding: 50px 0;
  background: #fff; color: #000;
}

#Order main .order_form .inner {
  width: 620px;
  margin: 0 auto;
}

#Order main .bs-mail-form th {
  padding: 8px 0;
  width: 180px;
  text-align: left;
  vertical-align: baseline;
}

#Order main .bs-mail-form td {
  padding: 3px 0;
}
#Order main .bs-mail-form table{
  position: relative;
}

#Order main .bs-mail-form #RowMessageItem {
  display: block;
  width: 100%;
  height: 60px;
}
#Order main .bs-mail-form #RowMessageItem th {
  display: inline-block;
  width: 0;
}
#Order main .bs-mail-form #RowMessageItem td {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
#Order main .bs-mail-form #RowMessageItem td span {
  width: 100%;
  display: block;
}
#Order main .bs-mail-form #RowMessageItem td select {
  -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
  padding: 10px;
}

#Order main .bs-mail-form #MailMessageZip {
  width: auto;
  margin-right: 8px;
}

#Order main .bs-mail-form input[type="reset"]{
  display: none;
}

#Order main .bs-mail-form input[type="submit"]{
  margin: 30px auto;
}

#Order main p.order_msg {
  margin-bottom: 20px;
}

#Order main p.order_msg2 span {
  font-size: 1.4rem;
}


/* contact */
#Contact main #sub-img {
  background-image: url(../img/contact/sub-img.jpg);
  max-height: 350px;
}

#Contact main .bs-mail-form table {
  width: 100%;
  border: solid 1px #d2d2d2; 
}

#Contact main .bs-mail-form th,
#Contact main .bs-mail-form td {
  padding: 25px 20px;
  border: solid 1px #d2d2d2;
  color: #000;
  text-align: left;
}

#Contact main .bs-mail-form th {
  width: 20%;
  background: #f5f5f5;
  font-weight: 600;
}

#Contact main .bs-mail-form td {
  width: 80%;
  background: #fff;
}

#Contact main .bs-mail-form-auth-captcha {
  margin: 20px 0;
}

#Contact main .bs-mail-form-auth-captcha > div {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#Contact main .bs-mail-form-auth-captcha input[type="text"] {
  width: auto;
  margin-left: 20px;
}

.Tokushoho main table {
	border-left:1px solid #FFF;
	border-top:1px solid #FFF;
}
.Tokushoho main table th{
	padding: 8px 16px;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	background: #FFF;
	color: #000;
}
.Tokushoho main table td{
	padding:8px;
	border-right:1px solid #FFF;
	border-bottom:1px solid #FFF;
	
}
.Tokushoho main dl {
	margin-bottom:24px;
}
.Tokushoho main dl dt{
	font-weight: bold;
	margin-bottom: 8px;
	background: #FFF;
	color: #000;
	display: inline-block;
	padding: 8px;
}
.Tokushoho main dl dd{
	margin:0;
}
.Tokushoho main dl dd .underline{
	text-decoration:underline;
}

.bs-single-post__meta-date{
	background:#FFF;
	color:#000;
	padding:8px;
	display:inline-block;
	margin:16px 0;
}
.bs-blog-contents-navi{
	margin-top:40px;
}

.bs-blog-post__item{
	padding:16px 0;
	border-bottom:1px solid #FFF;
}
.bs-blog-post__item-date{
	display:inline-block;
	margin-right:1em;
}
.bs-pagination{
	margin:32px 0;
	display: flex;
	justify-content: center;
	
}
.bs-pagination span{
	padding:8px;
}
.bs-pagination span a{
	background:#FFF;
	color:#000;
	padding:0 8px;
	border-radius:4px;
	text-decoration:underline;
}
/*# sourceMappingURL=page.css.map */