@charset "utf-8";

:root {
  /*--color01: #FDB81E;*/
  --color01: #FFB0BC;
  /*--color02: #FCF1F6;*/
  --color02: #FCF1F6;
  --color03: #F4F4F4;
}


/* -----------------------------------------------------------
　common
----------------------------------------------------------- */

html {font-size: 62.5%;}

* {box-sizing: border-box;}
img {max-width: 100%;}
.fcred {color: #FF0000;}
.fwbold {font-weight: bold;}
.left {float: left;}
.right {float: right;}
.center {text-align: center;}
.alignright {text-align: right;}
.alignleft {text-align: left;}
.clear {clear: both;}
.italic {font-style: italic;}
figure img {display: block;}
.fs80 {font-size: 0.8em;}
.fs90 {font-size: 0.9em;}
.fs110 {font-size: 1.1em;}
.fs120 {font-size: 1.2em;}
.fs125 {font-size: 1.25em;}
.fs130 {font-size: 1.3em;}
.fs140 {font-size: 1.4em;}
.fs200 {font-size: 2em;}
.mb50 {margin: 0 auto 50px;}
.count00 {
  text-align: center;
  font-size: 1.2em;
  color: #FF0000;
  margin: 100px auto;
}
.pen {
  opacity: 0.5;
  pointer-events: none;
}


input,textarea,select,option,button {font-family: 'BIZ UDGothic',"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
input::placeholder {color: #999999;}
input.err,textarea.err {
  background: var(--color02)!important;
  border: solid 3px #FF0000!important;  
}
a {
  color: inherit;
  text-decoration: none;
}
body {
  font-family: 'BIZ UDGothic',"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.6rem;
  line-height: 1.7;
  color: #333333;
  min-width: 1080px;
}

@media screen and (min-width: 768px) {
  
  .sp_cont {display: none !important;}
  
}
a:hover {
  text-decoration: underline;
  color: inherit;
}
.hover_btn {
  transition: 0.5s;
  opacity: 1;
}
.hover_btn:hover {
  transition: 0.5s;
  opacity: 0.75;
}

/* -----------------------------------------------------------
  template
----------------------------------------------------------- */

/* :::::::::: header :::::::::: */

header .menu {display: none;}


header.header01 {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 70px;
  padding: 15px 20px;
  background: #FFFFFF;
}
header.header01 .logo {
  display: inline-block;
  width: auto;
  height: 40px;
  line-height: 40px;
  font-size: 2rem;
  font-weight: 700;
}
header.header01 .logo a {text-decoration: none;}
header.header01 .btn_list {
  position: absolute;
  z-index: 1;
  display: inline-block;
  text-align: right;
  top: 15px;
  right: 20px;
}
header.header01 .btn_list li {
  position: relative;
  display: inline-block;
  width: auto;
  min-width: 240px;
  height: 40px;
  line-height: 40px;
  font-size: 1.6rem;
  text-align: center;
  margin: 0 0 0 10px;
}
header.header01 .header_product {display: none;}

header.header01 .btn_list li::before,
header.header01 .btn_list li::after {
  position: absolute;
  display: block;
  content: "";
  margin: auto;
  top: 0;
  bottom: 0;
}
header.header01 .btn_list li.header_contact::before {
  width: 30px;
  height: 30px;
  background: url("../img/common/ico_contact.svg") no-repeat center / cover;
  left: 15px;
}
header.header01 .btn_list li.header_login::before {
  width: 20px;
  height: 28px;
  background: url("../img/common/ico_login.svg") no-repeat center / cover;
  left: 15px;
}
header.header01 .btn_list li::after {
  width: 8px;
  height: 18px;
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
  right: 15px;
}
header.header01 .btn_list li a {
  display: block;
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: solid 1px #333333;
  border-radius: 99px;
  transition: 0.5s;
}
header.header01 .btn_list li a:hover {
  text-decoration: none;
  background: var(--color01);
}
header .btn_lang span {display: block;}
header.header01 .btn_lang {
  position: fixed;
  z-index: 10;
  width: 220px;
  height: 140px;
  line-height: 140px;
  color: #FFFFFF;
  text-align: center;
  background: #046B99;
  border-radius: 20px 0 0 20px;
  top: 120px;
  right: 0;
  cursor: pointer;
}
header.header01 .btn_lang::before,
header.header01 .btn_lang::after {
  position: absolute;
  display: block;
  content: "";
  margin: auto;
  left: 0;
  right: 0;
}
header.header01 .btn_lang::before {
  width: 32px;
  height: 32px;
  background: url("../img/common/ico_lang_w.svg") no-repeat center / cover;
  top: 16px;
}
header.header01 .btn_lang::after {
  width: 8px;
  height: 8px;
  border-right: solid 2px #FFFFFF;
  border-bottom: solid 2px #FFFFFF;
  bottom: 30px;
  transform: rotate(45deg);
}
header .btn_chat {
  position: fixed;
  z-index: 10;
  width: 261px;
  height: 289px;
  background: url("../img/common/btn_chat.png") no-repeat center / cover;
  bottom: 20px;
  right: 0;
  cursor: pointer;
}

header.header02 {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 140px;
  padding: 10px 20px;
  background: #FFFFFF;
}
header.header02::before {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 80px;
  background: var(--color02);
  top: 0;
  left: 0;
}
header.header02 .logo {
  display: inline-block;
  width: 140px;
}
header.header02 .member_info {
  position: absolute;
  z-index: 0;
  display: inline-block;
  width: auto;
  min-width: 320px;
  font-size: 1.5rem;
  line-height: 1.5;
  text-align: center;
  top: 15px;
  left: 180px;
}
header.header02 .member_info p {
  width: 100%;
  height: 30px;
  line-height: 30px;
  background: #FFFFFF;
  border: solid 1px #333333;
  border-radius: 4px;
  padding: 0 10px;
  font-size: 1.8rem;
}
header.header02 .member_info > span {font-size: 1.2rem;}
header.header02 .member_info > span > span {
  display: inline-block;
  font-size: 2em;
}
header.header02 .header_login {
  position: absolute;
  display: inline-block;
  width: auto;
  min-width: 240px;
  height: 40px;
  line-height: 40px;
  font-size: 1.6rem;
  text-align: center;
  margin: 0 0 0 10px;
  top: 20px;
  right: 20px;
}
header.header02 .header_login::before,
header.header02 .header_login::after {
  position: absolute;
  display: block;
  content: "";
  margin: auto;
  top: 0;
  bottom: 0;
}
header.header02 .header_login::before {
  width: 20px;
  height: 28px;
  background: url("../img/common/ico_login.svg") no-repeat center / cover;
  left: 15px;
}
header.header02 .header_login::after {
  width: 8px;
  height: 18px;
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
  right: 15px;
}
header.header02 .header_login a {
  display: block;
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: solid 1px #333333;
  border-radius: 99px;
  transition: 0.5s;
}
header.header02 .header_login a:hover {
  text-decoration: none;
  background: var(--color01);
}
header.header02 .header_search {
  position: absolute;
  display: flex;
  width: 300px;
  height: 40px;
  background: #FFFFFF;
  line-height: 40px;
  border: solid 1px #333333;
  border-radius: 4px;
  top: 20px;
  right: 20px;
}
header.header02 .header_search input {
  width: calc(100% - 50px);
  line-height: 40px;
  padding: 0 0 0 20px;
}
header.header02 .header_search button {
  color: #333333;
  width: 50px;
  height: 40px;
  background: url("../img/common/ico_search.svg") no-repeat center / 50%;
  cursor: pointer;
} 
header.header02 .header_login + .header_search {
  height: 50px;
  line-height: 50px;
  top: 15px;
  right: 330px;
}
header.header02 .header_login + .header_search input {line-height: 50px;}
header.header02 .header_login + .header_search button {height: 50px;} 

header.header02 .btn_list:nth-of-type(1) {
  position: absolute;
  display: inline-block;
  top: 95px;
  left: 20px;
}
header.header02 .btn_list:nth-of-type(1) li {
  position: relative;
  display: inline-block;
  min-width: 180px;
  height: 30px;
  line-height: 30px;
  font-size: 1.4rem;
  text-align: center;
  margin: 0 5px 0 0;
  background: #FFFFFF;
  border: solid 1px #333333;
  border-radius: 99px;
  vertical-align: top;
}
header.header02 .btn_list:nth-of-type(1) li::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: #333333;
  border-radius: 99px;
  top: 4px;
  left: 0;
  right: 0;
}
header.header02 .btn_list:nth-of-type(1) li:nth-child(1) > span ,
header.header02 .btn_list:nth-of-type(1) li:nth-child(2) > a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 20px;
  border-radius: 99px;
  transition: 0.5s;
}

header.header02 .btn_list:nth-of-type(1) li:nth-child(2) > a:hover {
  text-decoration: none;
  background: var(--color01);
}
header.header02 .btn_list:nth-of-type(1) li:nth-child(1) > span::before ,
header.header02 .btn_list:nth-of-type(1) li:nth-child(2) > a::before ,
header.header02 .btn_list:nth-of-type(1) li:nth-child(1) > span::after ,
header.header02 .btn_list:nth-of-type(1) li:nth-child(2) > a::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
}
header.header02 .btn_list:nth-of-type(1) li:nth-child(1) > span::before {
  width: 16px;
  height: 16px;
  background: url("../img/common/ico_lang_w.svg") no-repeat center / cover;
  margin: 0 8px 3px 0;
}
header.header02 .btn_list:nth-of-type(1) li:nth-child(2) > a::before {
  width: 14px;
  height: 18px;
  background: url("../img/common/ico_guide.svg") no-repeat center / cover;
  margin: 0 8px 3px 0;
}
header.header02 .btn_list:nth-of-type(1) li.btn_lang > span::after {
  width: 12px;
  height: 6px;
  background: url("../img/common/btn_ab_w.svg") no-repeat center / cover;
  margin: 0 0 0 8px;
}
header.header02 .btn_list:nth-of-type(1) li.btn_lang {
  color: #FFFFFF;
  background: #046B99;
  border: solid 1px #046B99;
  cursor: pointer;
}
header.header02 .btn_list:nth-of-type(2) {
  position: absolute;
  display: inline-block;
  top: 80px;
  right: 20px;
}
header.header02 .btn_list:nth-of-type(2) li {
  display: inline-block;
  width: auto;
  min-width: 40px;
  margin: 0 5px;
  height: 60px;
}
header.header02 .btn_list:nth-of-type(2) li a {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 1.2rem;
  line-height: 1.3;
  text-align: center;
  padding: 40px 0 0;
  transition: 0.5s;

}
header.header02 .btn_list:nth-of-type(2) li a:hover {
  opacity: 0.5;
  text-decoration: none;
}


header.header02 .btn_list li.btn_list_home a {background: url("../img/common/ico_home.svg") no-repeat top 6px center / auto 30px;}
header.header02 .btn_list li.btn_list_recommend a {background: url("../img/common/ico_recommend.svg") no-repeat top 10px center / auto 24px;}
header.header02 .btn_list li.btn_list_cart a {background: url("../img/common/ico_cart.svg") no-repeat top 10px center / auto 24px;}
header.header02 .btn_list li.btn_list_mypage a {background: url("../img/common/ico_mypage.svg") no-repeat top 10px center / auto 24px;}
header.header02 .btn_list li.btn_list_faq a {background: url("../img/common/ico_faq.svg") no-repeat top 10px center / auto 24px;}
header.header02 .btn_list li.btn_list_logout a {background: url("../img/common/ico_logout.svg") no-repeat top 10px center / auto 24px;}
header .btn_cat {display: none;}
header.header02 .btn_list li.btn_list_cart {
  position: relative;
  z-index: 0;
}
header.header02 .btn_list li.btn_list_cart span {
  position: absolute;
  display: block;
  content: "";
  width: 18px;
  height: 18px;
  background: #F00;
  font-size: 14px;
  font-weight: bold;
  color: #FFFFFF;
  line-height: 18px;
  text-align: center;
  border-radius: 50%;
  top: 5px;
  right: 10px;
  pointer-events: none;
}
.btn_lang > a {
  position: relative;
  z-index: 2;
  display: none;
  width: 90%;
  height: 30px;
  line-height: 30px;
  text-decoration: none;
  margin: 0 auto;
  border: solid 1px #046B99;
  border-top: none;
  background: #FFFFFF;
  color: #046B99;
}
.btn_lang > a:hover {
  background: #046B99;
  color: #FFFFFF;
}
.btn_lang.active > a {display: block;}
.btn_lang > a:nth-of-type(1) {border: solid 1px #046B99;}

header.header02 .btn_lang > a {
  border: solid 1px #046B99;
  border-top: none;
  color: #046B99;
}
header.header02 .btn_lang > a:hover {
  background: #046B99;
  color: #FFFFFF;
}
header.header02 .btn_lang > a:nth-of-type(1) {border: solid 1px #046B99;}


.bread_crumbs {
  width: 100%;
  background: var(--color03);
}
.bread_crumbs > div {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  line-height: 1.3;
  padding: 10px 40px;
}
.bread_crumbs span {
  display: inline-block;
  font-size: 1.2rem;
}
.bread_crumbs span::after {
  content: ">";
  margin: 0 0.5em;
}
.bread_crumbs span:nth-last-child(1)::after {content: none;}

/* :::::::::: main :::::::::: */

main {
  display: block;
  width: 100%;
  min-height: calc(100vh - 300px);
  overflow: hidden;
  padding: 120px 0 100px;
}
main.pt0 {padding: 0 0 100px;}
main.pb0 {padding: 120px 0 0;}
main.pt0.pb0 {padding: 0;}
main article {width: 100%;}
.box {
  width: 100%;
  max-width: 1280px;
  padding: 0 40px;
  margin: 0 auto;
}
.m_box {
  width: 100%;
  max-width: 1080px;
  padding: 0 40px;
  margin: 0 auto;
}
.box {
  width: 100%;
  max-width: 1280px;
  padding: 0 40px;
  margin: 0 auto;
}
.border_box {
  padding: 60px 40px;
  border: solid 1px #707070;
  margin: 40px auto;
}
.border_box.no_border {
  border: none;
  padding: 60px 40px 0;
}
.border_box > *:nth-last-child(1) {margin-bottom: 0;}
.border_box h2 {
  margin: 0 auto 40px;
  font-size: 2.4rem;
}
.bg_beige {background: var(--color02);}
.bg_border {background: url("../img/common/bg_border.jpg");}
.bg_baloon {position: relative;}
.bg_baloon::before,
.bg_baloon::after {
  position: absolute;
  display: block;
  content: "";
  z-index: 5;
}
.bg_baloon::before {
  width: 216px;
  height: 995px;
  background: url("../img/home/bg_baloon01.png") no-repeat center / cover;
  bottom: 100px;
  right: calc(50% + 600px);
}
.bg_baloon::after {
  width: 143px;
  height: 207px;
  background: url("../img/home/bg_baloon02.png") no-repeat center / cover;
  bottom: 300px;
  left: calc(50% + 700px);
}
  
/* :::::::::: aside :::::::::: */

aside {
  padding: 40px 0;
  background: var(--color03);
}
aside h2 {
  font-size: 2.2rem;
  font-weight: 700;
  margin: 0 0 30px;
}
aside .aside_box {
  display: flex;
  justify-content: space-between;
}
aside .aside_box > div {width: 20%;}
aside .aside_box > div > p {
  font-size: 1.8rem;
  font-weight: 700;
  padding: 0 0 5px;
  margin: 0 0 30px;
  border-bottom: solid 1px #333333;
}
aside .aside_box > div > ul li {
  position: relative;
  z-index: 0;
  font-size: 1.4rem;
  line-height: 1.4;
  margin: 0 0 10px;
  padding: 0 0 0 1em;
}
aside .aside_box > div > ul li::before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-left: solid 0.75em #333333;
  border-top: solid 0.5em transparent;
  border-bottom: solid 0.5em transparent;
  top: 0.1em;
  left: 0;
}

/* :::::::::: footer :::::::::: */

footer {
  padding: 15px 0;
  border-bottom: solid 40px var(--color03);
}
footer .box {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
footer .box .footer_name {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48%;
  font-size: 2rem;
  line-height: 1.3;
  text-align: center;
  padding: 15px 20px;
  border-left: solid 1px #333333;
}
footer .box .footer_address {
  width: 52%;
  font-size: 1.4rem;
  line-height: 1.5;
  padding: 0 20px;
  border-left: solid 1px #333333;
}
footer .box .footer_address p {
  font-size: 1.2rem;
  margin: 0 0 10px;  
}
footer .box .footer_address span {
  font-size: 2rem;
  font-weight: 700;
}
footer .box .footer_address .footer_contact {
  display: inline-block;
  font-size: inherit;
  font-weight: inherit;
  width: 160px;
  height: 25px;
  line-height: 25px;
  border: solid 1px #333333;
  border-radius: 99px;
  text-align: center;
  margin: 0 10px 5px 0;
}

/* -----------------------------------------------------------
 hX
----------------------------------------------------------- */

.h1_common {
  position: relative;
  z-index: 0;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  margin: 0 auto 50px;
  padding: 120px 0 0;
}
.h1_common span {
  position: absolute;
  display: block;
  font-family: 'Pacifico', cursive;
  font-size: 8rem;
  font-weight: normal;
  color: var(--color01);
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
}
.h1_normal {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  margin: 0 auto 50px;
}
.h1_normal + .cat_detail {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.3;
  padding: 0 5%;
  text-align: center;
  margin: 0 auto 20px;
  transform: translateY(-1em);
}

.h2_common {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin: 0 auto 50px;
  letter-spacing: 0.2em;
}
.h2_common > span {
  display: block;
  font-size: 3.6rem;
  margin: 20px auto 0;
}
.h2_common > span img {
  display: block;
  height: 50px;
  margin: 0 auto;
}
.common_feature .h2_common > span img {height: 40px;}
.h2_table {
  font-size: 2.7rem;
  margin: 0 0 10px;
}



p.lead {
  font-size: 1.8rem;
  text-align: center;
  margin: 0 auto 50px;
}
p.lead_cart {
  font-size: 2rem;
  text-align: center;
  margin: 0 auto 40px;
}

/* -----------------------------------------------------------
 common_parts
----------------------------------------------------------- */

.cat_info {background: #AECFED!important;}
.cat_product {background: #A4D3AC!important;}
.cat_event {background: #F3CF5D!important;}
.cat_other {background: #EDC9CF!important;}
.cat01 {background: #E9F0D1!important;}
.cat02 {background: #D3E5F2!important;}
.cat03 {background: #FFF1DD!important;}
.cat04 {background: #E2F2FD!important;}
.cat05 {background: #EADFDF!important;}
.cat06 {background: #FFEFFA!important;}
.cat07 {background: #D5EFE7!important;}
.cat08 {background: #EFEDCF!important;}
.cat09 {background: #FCE4E4!important;}
.cat010 {background: #FDF2DA!important;}
.cat011 {background: #E9E4F4!important;}
.cat012 {background: #CCDED2!important;}
.cat01 a {background: #E9F0D1!important;}
.cat02 a {background: #D3E5F2!important;}
.cat03 a {background: #FFF1DD!important;}
.cat04 a {background: #E2F2FD!important;}
.cat05 a {background: #EADFDF!important;}
.cat06 a {background: #FFEFFA!important;}
.cat07 a {background: #D5EFE7!important;}
.cat08 a {background: #EFEDCF!important;}
.cat09 a {background: #FCE4E4!important;}
.cat010 a {background: #FDF2DA!important;}
.cat011 a {background: #E9E4F4!important;}
.cat012 a {background: #CCDED2!important;}

.ico_new {
  display: inline-block;
  width: 60px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  color: #FFFFFF;
  font-size: 1.5rem;
  background: #FF0000;
  border-radius: 99px;
  vertical-align: middle;
  margin: 0 0 5px 20px;
}


.news_box {
  padding: 40px;
  background: var(--color02);
  border-radius: 20px;
}
.news_box > div {
  padding: 30px 40px 40px;
  background: #FFFFFF;
  border-radius: 20px;
}
.news_box > div .news_list {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  border-top: solid 1px var(--color01);
}
.news_list li {
  font-size: 0;
  padding: 20px 0;
  border-bottom: solid 1px var(--color01);
}
.news_list li p {
  display: inline-block;
  font-size: 1.6rem;
  vertical-align: middle;
}
.news_list li .news_date {width: 110px;}
.news_list li .news_cat {
  width: 140px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  border-radius: 99px;
  margin: 0 30px 0 0;
}
.news_list li .news_title {width: calc(100% - 280px);}


.pagenation {
  position: relative;
  z-index: 0;
  text-align: center;
  margin: 30px auto 0;
  padding: 20px 100px;
}
.pagenation span ,
.pagenation a {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 2px;
  line-height: 40px;
  font-size: 1.8rem;
  background: #FFFFFF;
  border: solid 1px #333333;
  border-radius: 50%;
}
.pagenation .current ,
.pagenation a:hover {
  color: #FFFFFF;
  background: #333333;
  text-decoration: none;
}
.pagenation .btn_prev,
.pagenation .btn_next {
  position: absolute;
  display: block;
  width: 80px;
  height: 40px;
  background: #FFFFFF;
  border: solid 1px #333333;
  border-radius: 99px;
  margin: auto;
  top: 0;
  bottom: 0;
  transition: 0.3s;
}
.pagenation .btn_prev {left: 0;}
.pagenation .btn_next {right: 0;}
.pagenation .btn_prev:hover ,
.pagenation .btn_next:hover {
  color: #333333;
  background: #FFFFFF;
  top: 10px;
}
.pagenation .btn_prev::before ,
.pagenation .btn_next::before {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  border-left: solid 3px #333333;
  border-bottom: solid 3px #333333;
  transform: rotate(45deg);
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.pagenation .btn_next::before {transform: rotate(-135deg);}
.pagenation .btn_prev::after ,
.pagenation .btn_next::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: #333333;
  border-radius: 99px;
  margin: auto;
  top: 10px;
  bottom: 0;
  left: 0;
  right: 0;
  transition: 0.3s;
}
.pagenation .btn_prev:hover::after ,
.pagenation .btn_next:hover::after {top: 0;}

.cat_anc {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  max-width: 1280px;
  padding: 0 40px;
  margin: 20px auto 100px;
}
.cat_anc li {
  width: 32%;
  margin: 0 1%;
  text-align: center;
}
.cat_anc li a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px 20px 30px;
  font-size: 1.8rem;
  background: url("../img/common/btn_ab.svg") no-repeat bottom 10px center / 21px,#FFFFFF;
  border: solid 2px #FFB0BC;
  border-radius: 10px;
  transition: 0.5s;
  top: 0;
}
.cat_anc li a:hover {
  top: 8px;
  text-decoration: none;
}
.cat_anc li a spn {line-height: 1.3;}
.cat_anc li a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: #B28216;
  border-radius: 10px;
  top: 8px;
  left: 0;
  right: 0;
  transition: 0.5s;
}
.cat_anc li a:hover::after {top: 0;}
.cat_anc li a span::before {
  display: inline-block;
  content: "";
  width: 36px;
  height: 36px;
  margin: 0 0.5em 0 0;
  vertical-align: middle;
}
.cat_anc li:nth-child(1) a span::before {background: url("../img/common/ico_category.svg") no-repeat center / 100%;}
.cat_anc li:nth-child(2) a span::before {background: url("../img/common/ico_point.svg") no-repeat center / 100%;}
.cat_anc li:nth-child(3) a span::before {background: url("../img/common/ico_age.svg") no-repeat center / 100%;}

.cat_hover {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  height: 40px;
  margin: 20px auto 70px;
}
.cat_hover > li {width: 49.5%;}
.cat_hover > li span {
  display: block;
  height: 40px;
  font-weight: bold;
  text-align: center;
  line-height: 40px;
  border: solid 1px #333333;
  border-radius: 5px;
  cursor: pointer;
}
.cat_hover > li span::before {
  display: inline-block;
  content: "";
  width: 30px;
  height: 30px;
  margin: 0 0.5em 0.25em 0;
  vertical-align: middle;
}
.cat_hover li:nth-child(1) span::before {background: url("../img/common/ico_category.svg") no-repeat center / 100%;}
.cat_hover li:nth-child(2) span::before {background: url("../img/common/ico_point.svg") no-repeat center / 100%;}
.cat_hover li span::after {
  display: inline-block;
  content: "";
  width: 36px;
  height: 36px;
  margin: 0 0 0.35em 0.5em;
  vertical-align: middle;
  background: url("../img/common/btn_ab.svg") no-repeat bottom 10px center;
}
.cat_hover > li:hover {background: #FCF1F6;}
.cat_hover li ul {
  position: absolute;
  z-index: 2;
  top: 44px;
  left: 0;
  right: 0;
  width: 100%;
  oveflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
}
.cat_hover li:hover ul {
  opacity: 1;
  visibility: visible;
}
.cat_hover li ul li {
  width: 25%;
  float: left;
}
.cat_hover li:nth-child(2) ul li {width: 20%;}
.cat_hover li ul li a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 1em 3em;
  background: #FCF1F6;
  text-decoration: none;
  transition: 0.5s;
}
.cat_hover li ul li a:hover {color: #A42E68;}
.cat_hover li:nth-child(2) ul li a {padding: 1.5em 3em;}
.cat_hover li ul li a::after {
  position: absolute;
  display: block;
  content: "";
  width: 0.5em;
  height: 1em;
  top: 0;
  bottom: 0;
  right: 1em;
  margin: auto;
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
}
.cat_hover li ul li a:hover::after {background: url("../img/common/btn_ar_p.svg") no-repeat center / cover;}

.common_feature {
  position: relative;
  z-index: 0;
  padding: 110px 0;
}
.common_feature::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 100%;
  height: 30px;
  background: url("../img/common/bg_feature.png") repeat-x center / auto 100%;
  top: 0;
  left: 0;
  right: 0;
}
.feature_banner div img {
  display: block;
  border-radius: 15px;
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.4);
}
.feature_banner > div {
  display: flex;
  justify-content: space-between;
}
.feature_banner > div:nth-of-type(1) > div {
  width: 49%;
  margin: 0 0 2%;
}
.feature_banner > div:nth-of-type(1) > div > div {margin: 0 0 3.5%;}
.feature_banner > div:nth-of-type(1) > div > div:nth-of-type(2) {margin: 0;}
.feature_banner > div:nth-of-type(2) > div {width: 32%;}
.common_ranking {padding: 100px 0 90px;}
.common_ranking .h2_common {margin: 0 auto;}
.ranking_slider {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto!important;
  padding: 80px 20px;
  overflow: hidden;
}
.ranking_slider .slick-track {
  display: flex;
  align-items: stretch;
}
.ranking_slider .slick-list {overflow: visible;}
.ranking_slider .slick-slide {
  position: relative;
  width: 32%;
  background: #FFFFFF;
  border-radius: 15px;
  margin: 0 20px;
}
.ranking_slider .slick-slide a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 40px 30px 30px;
  transition: 0.5s;
}
.ranking_slider .slick-slide a:hover {
  text-decoration: none;
  opacity: 0.5;
}
.ranking_slider .slick-slide a span {
  position: absolute;
  z-index: 1;
  display: block;
  width: 70px;
  height: 70px;
  line-height: 60px;
  text-align: center;
  color: #FFFFFF;
  font-size: 4rem;
  font-weight: 700;
  background: #333333;
  border: solid 4px #FFFFFF;
  border-radius: 50%;
  margin: auto;
  top: -40px;
  left: 0;
  right: 0;
}
.ranking_slider .slick-slide:nth-child(3n+1) a span {background: #BAA636;}
.ranking_slider .slick-slide:nth-child(3n+2) a span {background: #868686;}
.ranking_slider .slick-slide:nth-child(3n) a span {background: #A3712C;}
.ranking_slider .slick-slide figure {margin: 0 auto 30px;}
.ranking_slider .slick-slide p {
  font-size: 1.4rem;
  margin: 10px 0;
}
.ranking_slider .slick-slide p:nth-of-type(2) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  height: 3em;
  overflow: hidden;
}


.ranking_slider .slick-slide .product_point {
  font-size: 2rem;
  margin: 20px 0 0;
}
.ranking_slider .slick-arrow {
  width: 20px;
  height: 40px;
  z-index: 2;
}
.slick-arrow::before {content: none!important;}
.ranking_slider .slick-prev {
  background: url("../img/common/btn_al.svg") no-repeat center / cover;
  left: 0;
}
.ranking_slider .slick-next {
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
  right: 0;
}
.ranking_slider .slick-prev:hover ,
.ranking_slider .slick-prev:focus {
  background: url("../img/common/btn_al.svg") no-repeat center / cover;
}
.ranking_slider .slick-next:hover ,
.ranking_slider .slick-next:focus {
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
}
.ranking_slider .slick-dots {bottom: 0;}
.ranking_slider .slick-dots li {
  width: 15px;
  height: 15px;
  background: #CBCBCB;
  border-radius: 50%;
  margin: 0 10px;
}
.ranking_slider .slick-dots li.slick-active {background: #333333;}
.ranking_slider .slick-dots button::before {content: none;}
.common_link .box {
  position: relative;
  z-index: 0;
  padding: 80px 40px;
}
.common_relation {padding: 80px 0;}
.common_relation .relation_list {
  padding: 0 40px 60px;
}
.common_relation .relation_list .slick-slide {
  width: 18.4%;
  margin: 0 10px;
  float: left;
}
.common_relation .relation_list .slick-slide a {
  display: block;
  transition: 0.5s;
}
.common_relation .relation_list .slick-slide a:hover {
  opacity: 0.5;
  text-decoration: none;
}
.common_relation .relation_list .slick-slide a figure {
  position: relative;
  z-index: 0;
  margin: 0 auto 20px;
  border: solid 1px #707070;
  border-radius: 20px;
  overflow: hidden;
}
.common_relation .relation_list .slick-slide a p {
  font-size: 1.4rem;
  margin: 0 0 1em;
}
.common_relation .relation_list .slick-slide a p:nth-of-type(2) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 3em;
  overflow: hidden;
}
.common_relation .relation_list .slick-slide a .product_point {
  font-size: 2rem;
  margin: 20px 0 0;
}
.common_relation .relation_list .slick-arrow {
  width: 20px;
  height: 40px;
  z-index: 2;
}
.common_relation .relation_list .slick-prev {
  background: url("../img/common/btn_al.svg") no-repeat center / cover;
  left: 0;
}
.common_relation .relation_list .slick-next {
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
  right: 0;
}
.common_relation .relation_list .slick-prev:hover ,
.common_relation .relation_list .slick-prev:focus {
  background: url("../img/common/btn_al.svg") no-repeat center / cover;
}
.common_relation .relation_list .slick-next:hover ,
.common_relation .relation_list .slick-next:focus {
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
}
.common_relation .relation_list .slick-dots {
  left:0;
  right: 0;
  bottom: 0;
}
.common_relation .relation_list .slick-dots li {
  width: 15px;
  height: 15px;
  background: #CBCBCB;
  border-radius: 50%;
  margin: 0 10px;
}
.common_relation .relation_list .slick-dots li.slick-active {background: #333333;}
.common_relation .relation_list .slick-dots button::before {content: none;}
.common_checked {padding: 90px 0;}
.common_checked .h2_common {margin: 0 auto;}
.common_checked .h2_common > span img {height: 50px;}

.checked_slider {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto!important;
  padding: 50px 20px 50px;
}
.checked_slider .slick-track {padding: 10px 0;}
.checked_slider .slick-slide {
  position: relative;
  width: 18%;
  background: #FFFFFF;
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
  border-radius: 15px;
  margin: 0 10px;
}
.checked_slider .slick-slide img {border-radius: 15px}
.checked_slider .slick-slide a {transition: 0.5s;}
.checked_slider .slick-slide a:hover {opacity: 0.5;}
.checked_slider .slick-arrow {
  width: 20px;
  height: 40px;
  z-index: 2;
}
.slick-arrow::before {content: none!important;}
.checked_slider .slick-prev {
  background: url("../img/common/btn_al.svg") no-repeat center / cover;
  left: 0;
}
.checked_slider .slick-next {
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
  right: 0;
}
.checked_slider .slick-prev:hover ,
.checked_slider .slick-prev:focus {
  background: url("../img/common/btn_al.svg") no-repeat center / cover;
}
.checked_slider .slick-next:hover ,
.checked_slider .slick-next:focus {
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
}

.checked_slider .slick-dots {bottom: 0;}
.checked_slider .slick-dots li {
  width: 15px;
  height: 15px;
  background: #CBCBCB;
  border-radius: 50%;
  margin: 0 10px;
}
.checked_slider .slick-dots li.slick-active {background: #333333;}
.checked_slider .slick-dots button::before {content: none;}
.common_link .box {
  position: relative;
  z-index: 0;
  padding: 80px 40px;
}
.common_link .box::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: calc(100% - 80px);
  height: 2px;
  border-bottom: dotted 2px #333333;
  margin: auto;
  left: 0;
  right: 0;
  bottom: 0;
}
.common_link:nth-last-of-type(1) .box::after {content: none;}
.common_link .h2_common > span img {height: 50px;}
.common_link .h2_common > span {font-size: 2.4rem;}
.common_link .h2_common > span span {font-size: 3.5rem;}
.common_link ul {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: wrap;
}
.common_link ul::before {
  display: block;
  content: "";
  width: 32%;
  order: 1;
}
.common_link ul::after {
  display: block;
  content: "";
  width: 32%;
}
.common_link ul li {
  width: 24.625%;
  font-size: 1.8rem;
  line-height: 1.3;
  margin: 0 0 0.5%;
}
.common_link ul li a {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  background: var(--color03);
  padding: 1.5em 2em 1.5em 1.5em;
  transition: 0.5s;
}
.common_link ul li a:hover {
  text-decoration: none;
  opacity: 0.5;
}
.common_link ul li a::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 10px;
  height: 20px;
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 1.2em;
}
.common_link#anc01 ul li {
  width: 33%;
  margin: 0 0 0.5%;
}
.common_link#anc01 ul::before {width: 33%;}
.common_link#anc01 ul::after {display: none;}
.common_link#anc01 ul li a {padding: 1.5em 2em 1.5em 5em;}
.common_link#anc01 ul li a::before {
  position: absolute;
  display: block;
  content: "";
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #FFFFFF;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 1em;
}
.common_link#anc01 ul li.cat01 a::before {background: url("../img/common/ico_cat01.png") no-repeat center / 65% ,#FFFFFF;}
.common_link#anc01 ul li.cat02 a::before {background: url("../img/common/ico_cat02.png") no-repeat center / 65% ,#FFFFFF;}
.common_link#anc01 ul li.cat03 a::before {background: url("../img/common/ico_cat03.png") no-repeat center / 65% ,#FFFFFF;}
.common_link#anc01 ul li.cat04 a::before {background: url("../img/common/ico_cat04.png") no-repeat center / 40% ,#FFFFFF;}
.common_link#anc01 ul li.cat05 a::before {background: url("../img/common/ico_cat05.png") no-repeat center / 55% ,#FFFFFF;}
.common_link#anc01 ul li.cat06 a::before {background: url("../img/common/ico_cat06.png") no-repeat center / 60% ,#FFFFFF;}
.common_link#anc01 ul li.cat07 a::before {background: url("../img/common/ico_cat07.png") no-repeat center / 65% ,#FFFFFF;}
.common_link#anc01 ul li.cat08 a::before {background: url("../img/common/ico_cat08.png") no-repeat center / 65% ,#FFFFFF;}
.common_link#anc01 ul li.cat09 a::before {background: url("../img/common/ico_cat09.png") no-repeat center / 50% ,#FFFFFF;}
.common_link#anc01 ul li.cat10 a::before {background: url("../img/common/ico_cat10.png") no-repeat center / 55% ,#FFFFFF;}
.common_link#anc01 ul li.cat11 a::before {background: url("../img/common/ico_cat11.png") no-repeat center / 60% ,#FFFFFF;}
.common_link#anc01 ul li.cat12 a::before {background: url("../img/common/ico_cat12.png") no-repeat center / 65% ,#FFFFFF;}
.shien_banner a {transition: 0.5s;}
.shien_banner a:hover {opacity: 0.5;}
.shien_banner a img {display: block;}

.ac_box {
  position: relative;
  z-index: 1;
  padding: 40px;
  border: solid 1px #707070;
  border-radius: 60px;
  margin: 0 0 20px;
  background: #FFFFFF;
}
.ac_box::before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-top: solid 1.5em #707070;
  border-left: solid 1em transparent;
  border-right: solid 1em transparent;
  top: 40px;
  right: 40px;
  pointer-events: none;
}
.ac_box.active::before {transform: rotateX(180deg);}
.ac_box > dt {
  font-size: 2rem;
  margin: 0;
  padding: 0 50px 0 0;
  cursor: pointer;
}
.ac_box > dd {
  display: none;
  font-size: 1.4rem;
  margin: 20px 0 0;
}
.ac_box > dd dl {
  padding: 20px 0;
  border-bottom: dotted 2px #707070;
}
.ac_box > dd dl dt {
  font-size: 1.6rem;
  margin: 0 0 20px;
}
.faq_box {
  position: relative;
  z-index: 1;
  padding: 40px;
  border: solid 1px #707070;
  border-radius: 10px;
  margin: 0 0 20px;
  background: #FFFFFF;
}
.faq_box::before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-top: solid 1.5em #707070;
  border-left: solid 1em transparent;
  border-right: solid 1em transparent;
  top: 40px;
  right: 40px;
  pointer-events: none;
}
.faq_box.active::before {transform: rotateX(180deg);}
.faq_box dt {
  position: relative;
  padding: 0 50px 0 1.2em;
  font-size: 2rem;
  margin: 0;
  cursor: pointer;
}
.faq_box dt::before {
  position: absolute;
  content: "Q.";
  top: 0;
  left: 0;
}
.faq_box dd {
  display: none;
  position: relative;
  padding: 3em 0 0;
  font-size: 1.4rem;
  margin: 20px 0 0;
}
.faq_box dd::before {
  position: absolute;
  content: "A.";
  font-size: 2rem;
  top: 0;
  left: 0;
}
.area_info {
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin: 80px auto;
  border: solid 4px #707070;
  border-radius: 20px;
}
.area_info dt {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 180px;
  text-align: center;
}
.area_info dt::before {
  position: absolute;
  display: block;
  content: "";
  width: 4px;
  height: 80%;
  background: #707070;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
}
.area_info dt > span {font-size: 1.4rem;}
.area_info dt > span span {
  display: block;
  font-size: 2.6rem;
}
.area_info dd:nth-of-type(1) {
  width: calc(100% - 420px);
  padding: 20px 40px;
}
.area_info dd:nth-of-type(1) ul li p {display: inline-block;}
.area_info dd:nth-of-type(1) ul li .news_date {margin: 0 20px 0 0;}

.area_info dd:nth-of-type(2) {
  width: 240px;
  color: #FFFFFF;
  font-size: 1.8rem;
  background: #707070;
  text-align: center;
  border-radius: 0 10px 10px 0;
}
.area_info dd:nth-of-type(2) a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: 0.5s;
}
.area_info dd:nth-of-type(2) a:hover {
  text-decoration: none;
  opacity: 0.5;
}
.area_info dd:nth-of-type(2) a span::after {
  display: inline-block;
  content: "";
  width: 9px;
  height: 18px;
  background: url("../img/common/btn_ar_w.svg") no-repeat center / cover;
  vertical-align: middle;
  margin: 0 0 0.25em 0.5em;
}

/* -----------------------------------------------------------
 form
----------------------------------------------------------- */

.form_caution {
  width: 100%;
  color: #333333;
  font-size: 1.8rem;
  text-align: center;
  background: var(--color02);
  border-radius: 20px;
  padding: 40px;
  margin: 0 auto 40px;
}
.auth_caution {
  width: 100%;
  color: #FF0000;
  font-size: 2.2rem;
  text-align: center;
  border: solid 1px #FF0000;
  padding: 40px;
  margin: 0 auto 40px;
}
.form_err {
  /*display: none;*/
  color: #FF0000;
  font-size: 1.3rem;
  margin: 0 0 10px;
}
.form_checkbox + .form_err {text-align: center;}
.form_checkbox.checkbox_left + .form_err {text-align: left;}
.input_flow {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 0 auto 40px;
}
.input_flow li {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32.5%;
  height: 90px;
  background: #BEBEBE;
}
.input_flow.column04 li {width: 24%;}
.input_flow li.current {background: #000000;}
.input_flow li::before,
.input_flow li::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-right: solid 35px #FFFFFF;
  right: 0;
}
.input_flow li::before {
  border-bottom: solid 45px transparent;
  top: 0;
}
.input_flow li::after {
  border-top: solid 45px transparent;
  bottom: 0;
}
.input_flow li span {
  color: #FFFFFF;
  font-size: 2rem;
  line-height: 1.3;
  padding: 0 35px 0 0;
}
.contact_form {
  width: 100%;
  margin: 0 auto 50px;
  text-align: left;
  border-top: solid 1px #707070;
}
.contact_form th ,
.contact_form td {
  display: block;
  border: solid 1px #707070;
  border-top: none;
}
.contact_form th {
  font-size: 2rem;
  font-weight: normal;
  background: var(--color02);
  padding: 0.5em 30px;
}
.contact_form th .must {
  display: inline-block;
  min-width: 60px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: 0.1em;
  background: #FF0000;
  border-radius: 10px;
  margin: 0 0 0 10px;
  vertical-align: middle;
}
.contact_form th .must + span {
  display: inline-block;
  font-size: 0.7em;
  margin: 0 0 0 10px;
  vertical-align: middle;
}
.contact_form td {padding: 15px 30px;}
.contact_form .n_wide {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.contact_form .n_wide dl + dl {margin: 0 0 0 40px;}
.contact_form td dl dt {
  display: inline-block;
  width: 5em;
  font-size: 1.8rem;
  padding: 30px 0 0 0;
  vertical-align: top;
}
.contact_form td dl dt.dt_no {width: 2em;}
.contact_form td dl dd {
  display: inline-block;
  width: calc(100% - 5.5em);
  font-size: 1.8rem;
  vertical-align: top;
}
.contact_form td.n_wide dl dt {width: 2.5em;}
.contact_form td.n_wide dl dd {width: calc(100% - 3em);}
.contact_form td dl.w_wide dt {
  width: 9em;
  padding: 18px 0.5em 0 0;
}
.contact_form td dl.w_wide dd {width: calc(100% - 9.5em);}
.contact_form td input[type="text"] ,
.contact_form td input[type="tel"] ,
.contact_form td input[type="email"] {
  display: inline-block;
  min-width: 100%;
  height: 60px;
  line-height: 60px;
  border: solid 1px #BEBEBE;
  border-radius: 10px;
  padding: 0 1.5em;
  margin: 15px 0;
}
.contact_form td input[type="number"] {
  display: inline-block;
  width: 80px;
  height: 60px;
  line-height: 60px;
  border: solid 1px #BEBEBE;
  border-radius: 10px;
  padding: 0 0.5em;
  margin: 15px 20px 15px 0;
  text-align: center;
}

.contact_form td input.input_n {min-width: 300px;}
.contact_form td textarea {
  display: block;
  width: 100%;
  height: 300px;
  border: solid 1px #BEBEBE;
  border-radius: 10px;
  padding: 2em;
  margin: 15px 0;
}
.contact_form td.privacy {padding: 30px 40px;}
.form_checkbox {
  margin: 50px auto 30px;
  text-align: center;
}
.form_checkbox.checkbox_left {
  margin: 20px 0;
  text-align: left; 
}
.form_checkbox label {
  cursor: pointer;
  margin: 0 1em 0 0;
  display: inline-block;
}
.form_checkbox label span::before {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  line-height: 1em;
  font-weight: bold;
  background: #FFFFFF;
  border: solid 2px #333333;
  vertical-align: middle;
  margin: 0 10px 3px 0;
}
.form_checkbox label input[type="checkbox"]:checked + span::before {content: "✔";}
.contact_form.confirm td {padding: 40px;}
.contact_form td .select_outer {
  position: relative;
  z-index: 0;
  display: inline-block;
  min-width: auto;
  height: 60px;
  line-height: 60px;
  text-align: center;
  background: #707070;
  border-radius: 10px;
  margin: 15px 0;
}
.contact_form td .select_outer::after {
  position: absolute;
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  border-right: solid 2px #FFFFFF;
  border-bottom: solid 2px #FFFFFF;
  transform: rotate(45deg);
  margin: auto;
  top: 0;
  bottom: 0.5em;
  right: 1em;
  pointer-events: none;
}
.contact_form td .select_outer select {
  display: block;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
  text-align: center;
  padding: 0 3.5em 0 1.5em;
}
.contact_form td .select_outer select option {
  color: #333333;
  text-align: left;
}
.contact_form .link_address {
  display: inline-block;
  min-width: 180px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  font-size: 1.5rem;
  border: solid 1px #333333;
  border-radius: 99px;
  margin: 0 0 0 30px;
}
.contact_form .link_address a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 1.5em;
}
.contact_form .link_address a::after {
  display: inline-block;
  content: "";
  width: 17px;
  height: 17px;
  background:url(../img/common/ico_target.svg) no-repeat center / cover;
  margin: 0 0 3px 5px;
  vertical-align: middle;
}
.contact_form .mother_note {
  display: none;
  padding: 0;
}
.contact_form .mother_note.active {display: block;}
.contact_form .mother_note table {width: 100%;}
.contact_form .mother_note th {
  border-left: none;
  border-right: none;
}
.contact_form .mother_note td {
  border-left: none;
  border-right: none;
}
.contact_form .mother_note td:nth-last-of-type(1) {border-bottom: none;}
.contact_form .add_form {
  display: none;
  background: var(--color03);
  cursor: pointer;
}
.contact_form .add_form::before {
  display: inline-block;
  margin: 0 0.5em 3px 0;
  content: "＋";
  width: 1.2em;
  height: 1.2em;
  font-weight: bold;
  color:#FFFFFF;
  font-size: 1.3em;
  line-height: 1.2em;
  text-align: center;
  background: #707070;
  border-radius: 50%;
  vertical-align: middle;
}
.contact_form .add_form.open::before {content: "-";}
.contact_form .add_form::after {content: "母子手帳を複数お持ちの方はこちらをクリックして枠を追加してください";}
.contact_form .add_form.open::after {content: "削除する場合はこちらをクリックしてください";}

.contact_form .mother_note.active + .add_form {display: block;}

.thanks_box {
  position: relative;
  z-index: 0;
  text-align: center;
  padding: 0 40px 70px;
  border-radius: 30px;
  background: var(--color02);
}
.thanks_box h1 {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 800px;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  margin: 0 auto 50px;
  padding: 100px 0 40px;
  border-bottom: solid 4px #A42E68;
}
.thanks_box h1 span {
  position: absolute;
  display: block;
  font-family: 'Pacifico', cursive;
  font-size: 4.2rem;
  font-weight: normal;
  color: var(--color01);
  margin: auto;
  left: 0;
  right: 0;
  top: 30px;
}
.thanks_box p {
  max-width: 600px;
  margin: 0 auto;
}
.thanks_box.questionnaire {padding: 70px 40px;}
.thanks_box.questionnaire h1 {border: none;}
.thanks_box.questionnaire::before,
.thanks_box.questionnaire::after {
  position: absolute;
  z-index: 1;
  display: none;
  content: "";
}
.thanks_box.questionnaire::before {
  width: 275px;
  height: 174px;
  background: url("../img/common/bg_baloon.png") no-repeat center / cover;
  left: -70px;
  top: -50px;
}
.thanks_box.questionnaire::after {
  width: 187px;
  height: 286px;
  background: url("../img/common/bg_fox.png") no-repeat center / cover;
  right: 40px;
  top: -70px;
}
.deliv_thanks_box {
  text-align: center;
  padding: 70px 40px 80px;
  border-radius: 30px;
  background: var(--color02);
}
.deliv_thanks_box h1 {
  font-family: 'Pacifico', cursive;
  font-size: 6.2rem;
  font-weight: normal;
  color: var(--color01);
  margin: 0 auto 30px;
}
.deliv_thanks_box p {
  font-size: 2.4rem;
  font-weight: 700;
  max-width: 600px;
  margin: 0 auto;
}
.regist_box {
  position: relative;
  z-index: 0;
  padding: 70px;
  background: var(--color02);
  border-radius: 30px;
}
.regist_box form {
  display: block;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.regist_box form > *:nth-child(1) {margin-top: 0;}
.regist_box .form_caption {
  font-size: 2rem;
  margin: 30px 0 10px;
}
.regist_box input {
  display: block;
  width: 100%;
  height: 60px;
  line-height: 60px;
  font-size: 2rem;
  background: #FFFFFF;
  border: solid 1px #BEBEBE;
  border-radius: 10px;
  padding: 0 1.5em;
  margin: 0 0 10px;
}
.regist_box input[type="checkbox"] {display: none;}
.regist_box .form_err {margin: 0 0 20px;}

.regist_box h1 {
  font-size: 2.7rem;
  text-align: center;
  margin: 0 auto 40px;
  padding: 0 0 30px;
  border-bottom: solid 5px #A42E68; 
}
.regist_box h1.hikitsugi01 ,
.regist_box h1.hikitsugi02 {
  position: relative;
  z-index: 0;
}
.regist_box h1.hikitsugi01::before ,
.regist_box h1.hikitsugi02::before {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 100px;
  height: 100px;
  margin: auto;
  top: -120px;
  left: 0;
  right: 0;
}
.regist_box h1.hikitsugi01::before {

  background: url("../img/common/ico_success.svg") no-repeat center / cover;
}
.regist_box h1.hikitsugi02::before {
  background: url("../img/common/ico_fail.svg") no-repeat center / 100%;
  margin: auto;
  top: -120px;
  left: 0;
  right: 0;
}
.regist_box h2 {
  font-size: 2.1rem;
  text-align: center;
  margin: 0 auto 30px;
  padding: 0 0 30px;
  border-bottom: solid 5px #A42E68; 
}
.regist_box h2.normal {
  padding: 30px 0 0;
  border: none; 
}
.regist_box dl {
  position: relative;
  z-index: 0;
  margin: 0 auto 30px;
}
.regist_box dl dt {
  font-size: 2rem;
  line-height: 1.5;
  text-align: center;
  padding: 20px;
  background: var(--color01);
  border-radius: 20px 20px 0 0;
}
.regist_box dl dd {
  padding: 60px 40px;
  background: #FFFFFF;
  border-radius: 0 0 20px 20px;
}
.regist_box .caution_box {margin: 0 auto;} 
.regist_box .caution_box dt {
  background: #FF0000;
  padding: 10px 20px;
  color: #FFFFFF;
  font-weight: 700;
}
.regist_box .caution_box dd {
  padding: 30px;
  border: solid 4px #FF0000;
}
.auth_ac {
  position: relative;
  z-index: 0;
  margin: 0 auto!important;
  text-align: center;
  cursor: pointer;
  font-size: 20px;
}
.auth_ac::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 1.2em;
  height: 1.0em;
  background: #444;
  clip-path: polygon(0% 0%,100% 0%,50% 100%);
  margin: auto;
  inset: 0 30px 0 auto;
  transition: 0.5s;
}
.auth_ac.open::after {transform: rotate(-90deg);}
.auth_ac + div {
  display: none;
}
.auth_box {
  background: #FFFFFF;
  border-radius: 30px;
  padding: 30px;
  margin: 40px auto 0;
}
/*
.auth_ac + div > p:nth-of-type(1) {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  margin: 0 auto;
}*/
.auth_ac + div h2 {
  text-align: left;
  border: none;
}
.quest_form {
  width: 100%;
  border: solid 1px #707070;
}
.quest_form th {
  width: 200px;
  background: var(--color02);
  padding: 30px;
  text-align: center;
  border: solid 1px #707070;
}
.quest_form th .must {
  display: inline-block;
  width: 40px;
  height: 20px;
  text-align: center;
  line-height: 20px;
  font-size: 1.3rem;
  color: #FFFFFF;
  background: #ff0000;
  vertical-align: middle;
  margin: 0 0 3px 10px;
}
.quest_form td {
  padding: 10px 30px;
  border: solid 1px #707070;
}
.quest_form td input[type="text"] ,
.quest_form td input[type="tel"] ,
.quest_form td input[type="email"] {
  display: inline-block;
  min-width: 100%;
  height: 60px;
  line-height: 60px;
  border: solid 1px #BEBEBE;
  border-radius: 99px;
  padding: 0 1.5em;
  margin: 15px 0;
}
.quest_form td input.input_n {min-width: 200px;}
.quest_form td textarea {
  display: block;
  width: 100%;
  height: 300px;
  border: solid 1px #BEBEBE;
  border-radius: 25px;
  padding: 2em;
  margin: 15px 0;
}
.quest_form td .select_outer {
  position: relative;
  z-index: 0;
  display: inline-block;
  min-width: auto;
  height: 60px;
  line-height: 60px;
  text-align: center;
  background: #707070;
  border-radius: 99px;
  margin: 15px 0;
}
.quest_form td .select_outer::after {
  position: absolute;
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  border-right: solid 2px #FFFFFF;
  border-bottom: solid 2px #FFFFFF;
  transform: rotate(45deg);
  margin: auto;
  top: 0;
  bottom: 0.5em;
  right: 1em;
  pointer-events: none;
}
.quest_form td .select_outer select {
  width: 100%;
  color: #FFFFFF;
  text-align: center;
  padding: 0 3.5em 0 1.5em;
}
.quest_form td .select_outer select option {
  color: #333333;
  text-align: left;
}
.form_radio {margin: 20px 0;}
.form_radio label {cursor: pointer;margin: 0 1em 0 0;display: inline-block;}
.form_radio label span::before {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  line-height: 1em;
  font-weight: bold;
  background: #FFFFFF;
  border: solid 2px #333333;
  vertical-align: middle;
  margin: 0 10px 5px 0;
  border-radius: 50%;
}
.form_radio label input[type="radio"]:checked + span::before {
  background: #333333;
  box-shadow: inset 0 0 0 2px #FFFFFF;
}

/* -----------------------------------------------------------
 button
----------------------------------------------------------- */ 

.btn_common {
  position: relative;
  z-index: 1;
  text-align: center;
  margin: 40px auto 0;
}
.btn_common button {padding: 15px 100px;}
.btn_common button ,
.btn_common p {
  position: relative;
  z-index: auto;
  display: inline-block;
  min-width: 500px;
  max-width: 700px;
  line-height: 1.5;
  color: #333333;
  font-size: 3rem;
  background: #FFB0BC;
  border-radius: 10px;
  cursor: pointer;
  transition: 0.3s;
  top: 0;
}
.btn_common p a {
  position: relative;
  z-index: auto;
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px 100px;
}
.btn_common p a:hover {text-decoration: none;}
.btn_common button::before ,
.btn_common p a::before {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: #BC7F88;
  border-radius: 10px;
  top: 10px;
  left: 0;
  right: 0;
  transition: 0.3s;
}
.btn_common button:hover ,
.btn_common p:hover {top: 10px;}
.btn_common button:hover::before,
.btn_common p a:hover::before {top: 0;}
.btn_common button::after,
.btn_common p a::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 60px;
  height: 60px;
  background: url("../img/common/btn_ar.svg") no-repeat center / auto 60% , #FFFFFF;
  border-radius: 99px;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 20px;
}


.form_btn_list {
  display: flex;
  flex-direction: column;
  margin: 60px auto 0;
  text-align: center;
}
.form_btn_list button {
  display: inline-block;
  color: #333333;
  margin: 0 auto 30px;
  padding-left: 1em;
  padding-right: 1em;
  transition: 0.5s;
}
.form_btn_list button.confirm {
  min-width: 500px;
  height: 60px;
  line-height: 60px;
  background: #707070;
  color: #FFFFFF;
  font-size: 2.7rem;
  font-weight: 500;
  border-radius: 10px;
  cursor: pointer;
}
.form_btn_list button.confirm:hover {opacity: 0.5;}
.form_btn_list button.back {
  position: relative;
  z-index: 0;
  min-width: 240px;
  height: 50px;
  line-height: 46px;
  background: #FFFFFF;
  padding: 0 50px;
  margin: 30px auto 0;
  font-size: 2rem;
  font-weight: 500;
  border: solid 2px #333333;
  border-radius: 10px;
  transition: 0.5s;
  cursor: pointer;
}
.form_btn_list button.back:hover {opacity: 0.5;}
.form_btn_list button.back::before,
.form_btn_list button.back::after {
  position: absolute;
  display: block;
  content: "";
  margin: auto;
  top: 0;
  bottom: 0;
}
.form_btn_list button.back::before {
  width: 36px;
  height: 36px;
  background: #333333;
  border-radius: 50%;
  left: 8px;
  z-index: 1;
}
.form_btn_list button.back::after {
  width: 10px;
  height: 10px;
  border-top: solid 3px #FFFFFF;
  border-left: solid 3px #FFFFFF;
  left: 22px;
  z-index: 2;
  transform: rotate(-45deg);
}

.btn_back {
  text-align: center;
  margin: 60px auto 0;
}
.btn_back p {
  display: inline-block;
  width: auto;
  min-width: 300px;
  height: 60px;
  line-height: 54px;
  font-size: 2rem;
}
.btn_back p a {
  position: relative;
  z-index: 0;
  display: block;
  padding: 0 50px;
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: solid 2px #333333;
  border-radius: 8px;
  transition: 0.5s;
} 
.btn_back p a:hover {
  opacity: 0.5;
  text-decoration: none;
}
.btn_back p a::before,
.btn_back p a::after {
  position: absolute;
  display: block;
  content: "";
  margin: auto;
  top: 0;
  bottom: 0;
}
.btn_back p a::before {
  width: 36px;
  height: 36px;
  background: #333333;
  border-radius: 50%;
  left: 12px;
  z-index: 1;
}
.btn_back p a::after {
  width: 10px;
  height: 10px;
  border-top: solid 3px #FFFFFF;
  border-left: solid 3px #FFFFFF;
  left: 26px;
  z-index: 2;
  transform: rotate(-45deg);
}
.btn_skip {
  text-align: center;
  margin: 60px auto 0;
}
.btn_skip p {
  display: inline-block;
  width: auto;
  min-width: 400px;
  height: 80px;
  line-height: 74px;
  font-size: 2.4rem;
}
.btn_skip p a {
  position: relative;
  display: block;
  padding: 0 50px;
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border: solid 2px #333333;
  border-radius: 99px;
  transition: 0.5s;
  top: 0;
} 
.btn_skip p a:hover {
  top: 8px;
  text-decoration: none;
}
.btn_skip p a::before {
  position: absolute;
  display: block;
  content: "";
  margin: auto;
  top: 0;
  bottom: 0;
  width: 36px;
  height: 36px;
  background: url("../img/common/ico_skip.svg") no-repeat right 40% center / 40% , #333333;
  border-radius: 50%;
  right: 12px;
  z-index: 1;
}
.btn_skip p a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 99px;
  background: #333333;
  top: 8px;
  left: 0;
  right: 0;
  transition: 0.5s;
}
.btn_skip p a:hover::after {top: 0;}

.btn_ac_box {
  margin: 20px 0 0;
  text-align: center;
}
.btn_ac_box a {
  display: inline-block;
  padding: 0.5em 40px;
  line-height: 1.3;
  font-size: 1.6rem;
  background: #FFFFFF;
  border: solid 2px var(--color01);
  border-radius: 99px;
}
.btn_ac_box a:hover {text-decoration: none;}
.btn_ac_box a[target="_blank"]::after {
  display: inline-block;
  content: "";
  width: 1.2em;
  height: 1.2em;
  background: url("../img/common/ico_target.svg") no-repeat center / cover;
  vertical-align: middle;
  margin: 0 0 0.25em 0.5em;
}

  
/* -----------------------------------------------------------
 subpage
----------------------------------------------------------- */

.h1_info {
  font-size: 2.7rem;
  font-weight: 700;
  padding: 0.5em 1em;
  margin: 20px 0 40px;
  line-height: 1.5;
  border-top: solid 2px #707070;
  border-bottom: solid 2px #707070;
}
.editor_contents .news_date {
  display: inline-block;
  margin: 0 20px 0 0;
}
.editor_contents .news_cat {
  display: inline-block;
  width: 140px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  border-radius: 99px;
  margin: 0;
}
.editor_contents h2 {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.5em 1em;
  margin: 40px 0 30px;
  line-height: 1.5;
  background: var(--color02);
}
.editor_contents h3 {
  font-size: 2.1rem;
  font-weight: 700;
  padding: 0 0 0.25em;
  border-bottom: solid 2px #707070;
  margin: 30px 0 20px;
}
.editor_contents h4 {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 0 0 0 1.5em;
  margin: 30px 0 20px; 
}
.editor_contents h4::before {
  position: absolute;
  display: block;
  content: "";
  width: 1em;
  height: 1em;
  background: #707070;
  top: 0.3em;
  left: 0;
}
.editor_contents p {margin: 0 0 1em;}
.editor_contents table {
  width: auto;
  height: auto;
  margin: 0 0 1em;
  max-width: 100%;
  clear: both;
}
.editor_contents table th {
  background: #EAEAEA;
  padding: 0.5em 1em;
  border: solid 1px #707070;
}
.editor_contents table td {
  padding: 0.5em 1em;
  border: solid 1px #707070;
}
.editor_contents ul {margin: 0 0 1em 1.2em;}
.editor_contents ul li {
  list-style-type: disc;
  margin: 0 0 0.5em;
}
.editor_contents ol {margin: 0 0 1em 1.5em;}
.editor_contents ol li {
  list-style-type: decimal;
  margin: 0 0 0.5em;
}

/* -----------------------------------------------------------
 product
----------------------------------------------------------- */

.recommend {
  position: absolute;
  z-index: 2;
  width: 40px;
  height: 40px;
  margin: 0!important;
  border: solid 1px #333333;
  background: url("../img/common/ico_recommend.svg") no-repeat top 60% center / 60%,#FFFFFF;
  border-radius: 50%;
  bottom: 15px;
  right: 15px;
}
.recommend.checked {
  border: solid 4px #FFBCBC;
  background: url("../img/common/ico_recommend_w.svg") no-repeat top 60% center / 60%,#FFBCBC;
}

.archive_data {
  width: 100%;
  margin: 0 auto 30px;
  background: var(--color03);
}
.archive_data > div {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1280px;
  height: 60px;
  margin: 0 auto;
  padding: 0 40px;
}
.archive_data > div > p {
  display: inline-block;
  font-size: 2rem;
  width: 5em;
}
.archive_data > div > div {
  display: inline-block;
  width: calc(100% - 5em);
  text-align: right;
}
.archive_data > div > div p,
.archive_data > div > div form {display: inline-block;}
.archive_data > div > div button {
  display: inline-block;
  position: relative;
  width: 40px;
  height: 40px;
  line-height: 40px;
  color: #333333;
  text-align: center;
  background: #FFFFFF;
  border: solid 1px #333333;
  border-radius: 50%;
  margin: 0 0 0 0;
  cursor: pointer;
  transition: 0.5s;
}
.archive_data > div > div button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: #333333;
  border-radius: 50%;
  top: 3px;
  left: 0;
  right: 0;
}
.archive_data > div > div button.current {
  background: #333333;
  color: #FFFFFF;
}
.archive_data > div > div button.current::after {content: none;}
.btn_order {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: stretch;
  max-width: 1280px;
  padding: 0 40px;
  margin: 0 auto 30px;
}
.btn_order button {
  position: relative;
  display: inline-block;
  min-width: 160px;
  height: 100%;
  line-height: 1.5;
  margin: 0 5px;
  padding: 0.5em 20px;
  color: #333333;
  background: #FFFFFF;
  border: solid 1px #333333;
  border-radius: 99px;
  cursor: pointer;
  transition: 0.5s;
  top: 0;
}
.btn_order button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: #333333;
  border-radius: 99px;
  top: 4px;
  left: 0;
  right: 0;
  transition: 0.5s;
}
.btn_order button.current {
  background: #333333;
  color: #FFFFFF;
  top: 4px;
}
.btn_order button:hover {top: 4px;}
.btn_order button.current:hover {top: 4px;}
.btn_order button:hover::after {top: 0;}
.btn_order button.current::after {content: none;}

.archive_list {overflow: hidden;}
.archive_list li {
  width: 18.4%;
  margin: 0 2% 40px 0;
  float: left;
}
.archive_list li:nth-child(5n) {margin: 0 0 40px;}
.archive_list li:nth-child(5n+1) {clear: both;}
.archive_list li a {transition: 0.5s;}
.archive_list li a:hover {
  text-decoration: none;
  opacity: 0.5;
}
.archive_list li figure {
  position: relative;
  margin: 0 auto 10px;
  border: solid 1px #707070;
  border-radius: 15px;
  overflow: hidden;
}
.archive_list li p {
  font-size: 1.4rem;
  margin: 0 0 10px;
}
.archive_list li .p_point {
  font-size: 2rem;
  margin: 1em 0 0;
}
.archive_list li .p_name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 3em;
  overflow: hidden;
}

.archive_list + .pagenation {margin: 0 auto 100px;}

.product_box01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto 60px;
}
.product_box01 .products_img {
  width: 60%;
  overflow: hidden;
}
.product_box01 .products_img ul li {
  border: solid 1px #707070;
  border-radius: 15px;
  overflow: hidden;
}
.product_box01 .products_img ul li img {
  display: block;
  width: 100%;
}
.product_box01 .products_img .product_thumb {width: 100%;}
.products_img .slick-list {overflow: visible;}
.product_thumb .slick-track {transform:unset!important;}
.product_box01 .products_img .product_thumb li {
  margin: 10px 5px 0;
  cursor: pointer;
}
.product_box01 .products_img .product_thumb li.slick-current {border:solid 2px var(--color01);}
.product_box01 .products_img + div {width: 35%;}
.product_box01 p {margin: 0 0 1em;}
.product_box01 .products_err {
  padding: 10px;
  border: solid 1px #FF0000;
  color: #FF0000;
}
.product_box01 .p_cat {font-size: 1.4rem;}
.product_box01 .p_brand {font-size: 1.6rem;}
.product_box01 .p_name {
  font-size: 2rem;
  font-weight: normal;
  margin: 0 0 1em;
}
.product_box01 .p_num {font-size: 1.4rem;}
.product_box01 .p_point {
  /*color: #F3CF5D;*/
  font-size: 2rem;
  margin: 0;
}

.p_tag {margin:0 0 3em;}
.p_tag li {
  position:relative;
  display:inline-block;
  padding:0.75em 1em;
  font-size:0.8em;
  line-height:1.2;
  color:#FFFFFF;
  background:#999999;
  margin:30px auto;
  z-index:0;
}
.p_tag li.p_tag01 {background:#e65e5f;}
.p_tag li.p_tag02 {background:#66c1e3;}
.p_tag li.p_tag03 {background:#3b5b87;}
.p_tag li::after {
  position:absolute;
  display:block;
  content:"";
  width:0;
  height:0;
  border-bottom:solid 0.5em #FFFFFF;
  border-left:solid 0.5em transparent;
  bottom:0;
  right:0;
}

.product_box01 .recommend_button {margin: 0px 0 30px;}
.product_box01 .recommend_button .recommend {
  position: static;
  display: inline-block;
  vertical-align: middle;
}
.product_box01 .recommend_button .recommend + span {
  display: inline-block;
  color: #333333;
  padding: 0 0 0 10px;
  cursor: pointer;
}
.product_box01 .recommend_button .recommend + span::after {content: "お気に入りに追加";}
.product_box01 .recommend_button .recommend.checked + span::after {content: "お気に入りから削除";}
.product_box01 .select_outer {
  position: relative;
  z-index: 0;
  display: inline-block;
  min-width: auto;
  height: 36px;
  line-height: 36px;
  text-align: center;
  border: solid 1px #333333;
  border-radius: 99px;
  margin: 15px 0;
}
.product_box01 .select_outer::after {
  position: absolute;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-right: solid 2px #333333;
  border-bottom: solid 2px #333333;
  transform: rotate(45deg);
  margin: auto;
  top: 0;
  bottom: 0.25em;
  right: 1em;
  pointer-events: none;
}
.product_box01  select {
  width: 100%;
  text-align: center;
  padding: 0 3.5em 0 1.5em;
  color: #333333!important;
}
.product_box01  select option {
  text-align: left;
}
.product_box01 form .btn_common {
  width: 100%;
  margin: 0;
}
.product_box01 form button {
  width: 100%;
  min-width: 100%;
  /*color: #FFFFFF;*/
  font-size: 1.8rem;
  padding: 1em;
  /*background: #333333;*/
  border-radius: 10px;
  margin: 20px 0 0;
  cursor: pointer;
}
.product_box01 form button::after {display: none;}
.product_box02 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 auto 80px;
}
.product_box02 > div {
  width: 48%;
  width: 600px;
}
.product_box02 > .brand_box {
  text-align: center;
  padding: 20px 40px;
  border: solid 1px #707070; 
}
.product_box02 > .brand_box > img {margin: 0 auto 1em;}
.product_box02 > .brand_box dt {
  font-size: 2rem;
  margin: 0 auto 1em;
}
.product_box02 > .brand_box dd {
  font-size: 1.4rem;
  text-align: left;
}
.product_box02 > .spec_box {
  background: var(--color03);
  padding: 20px 30px;
}
.product_box02 > .spec_box dt {
  font-size: 1.8rem;
  margin: 0 0 1em;
}
.product_box02 > .spec_box dd ul li {
  position: relative;
  font-size: 1.2rem;
  min-height: 1em;
  margin: 0 0 1em;
  padding: 0 0 0 11em;
}
.product_box02 > .spec_box dd ul li span {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 11em;
}
.editor_contents .userguide li {
  position: relative;
  list-style-type: none;
  padding: 0 0 0 1.2em;
}
.editor_contents .userguide li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "◎";
}


/* -----------------------------------------------------------
 cart
----------------------------------------------------------- */

.cart_table {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  padding: 30px 0;
  margin: 0 auto 30px;
  border-top: solid 1px #BEBEBE;
}
.cart_table:nth-last-of-type(1) {
  border: none;
  padding: 30px 0 0;
  margin: 0 auto;
}
.cart_table > .cart_figure {width: 200px;}
.cart_table > .cart_figure figure {
  border: solid 1px #BEBEBE;
  border-radius: 10px;
  overflow: hidden;
}
.cart_table > .cart_product {
  width: calc(100% - 520px);
  text-align: left;
  padding: 0 30px;
}
.cart_table > .cart_point {
  width: 320px;
  font-size: 2.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.cart_table > .cart_point p {
  width: 100%;
  font-size: 1.6rem;
  padding: 0.5em 1em;
  background: #F4F4F4;
  border-radius: 999px;
}
.cart_table > .cart_deliv {width: 320px;}
.cart_table > .cart_product p {margin: 0 0 0.5em;}
.cart_table > .cart_product .products_err {color: #FF0000;}
.cart_table > .cart_product .p_brand {font-size: 1.4rem;}
.cart_table > .cart_product .p_spec {font-size: 1.4rem;}
.cart_table > .cart_product .p_num {font-size: 1.4rem;}
.cart_table > .cart_product .p_count {display: inline-block;}
.cart_table > .cart_product input {
  width: 60px;
  height: 40px;
  text-align: center;
  padding: 0 10px;
  border: solid 1px #BEBEBE;
  border-radius: 99px;
}
.cart_table > .cart_product button {
  display: inline-block;
  color: #FF0000;
  text-decoration: underline;
  cursor: pointer;
  margin: 0 0 0 20px;
} 
.contact_form .cart_table {
  margin: 0;
  border: none;
  border-bottom: solid 1px #BEBEBE;
}
.cart_table:nth-last-of-type(1) {border: none;}
.contact_form .cart_table > .cart_deliv span {
  display: inline-block;
  width: 6em;
}
.contact_form .cart_table > .cart_deliv select {
  display: block;
  color: #333333;
  font-size: 1.8rem;
  border: solid 1px #707070;
  padding: 0 1.5em 0 0.5em;
}
.contact_form .cart_table > .cart_deliv select option {border-radius: 0;padding: 0.5em;}
.contact_form .cart_table > .cart_deliv .select_outer {
  background: none;
  height: 30px;
  line-height: 30px;
  margin: 0;
}
.contact_form .cart_table > .cart_deliv .select_outer::after {
  width: 0;
  height: 0;
  transform: none;
  border-top: solid 0.6em #333333;
  border-left: solid 0.4em transparent;
  border-right: solid 0.4em transparent;
  right: 0.25em;
  top: 0.2em;
  bottom: 0;
}
.contact_form iframe {
  width: 100%;
  height: 200px;
  padding: 0.5em;
  border: solid 1px #707070;
  overflow-y: scroll;
}
.contact_form .use_point {width: 100%;}
.contact_form .use_point th {
  display: table-cell;
  width: 12em;
  background: #F4F4F4;
  padding: 0.5em 1em;
  border: solid 1px #707070;
  font-size: 1.6rem;
}
.contact_form .use_point td {
  display: table-cell;
  width: calc(100% - 12em);
  padding: 0.5em 1em;
  border: solid 1px #707070;
  font-size: 1.6rem;
}
.contact_form .cardpay {
  width: 100%;
  margin: 30px auto 0;
}
.contact_form .cardpay > dt {
  display: block;
  width: 100%;
  color: #FFFFFF;
  background: #FF0000;
  padding: 0.5em 1em;
  margin: 0 0 20px;
}
.contact_form .cardpay > dd {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: flex-start;
}
.contact_form .cardpay > dd dl {
  width: 30%;
  border: solid 1px #707070;
}
.contact_form .cardpay > dd dl dt {
  display: block;
  width: 100%;
  font-size: 1.4rem;
  padding: 0.5em 1em;
  background: #f4f4f4;
  text-align: center;
}
.contact_form .cardpay > dd dl dd {
  display: block;
  width: 100%;
  padding: 30px;
}
.contact_form .cardpay > dd dl dd div {
  font-size: 1.2rem;
  text-align: center;
}
.contact_form .cardpay > dd dl dd div:nth-of-type(1) {
  padding: 0 0 10px;
  margin: 0 0 10px;
  border-bottom: solid 1px #707070;
}
.contact_form .cardpay > dd dl dd div p {font-size: 1.4rem;}
.contact_form .cardpay > dd dl dd div:nth-of-type(1) p {
  display: flex;
  justify-content: space-between;
}
.contact_form .cardpay > dd dl dd div:nth-of-type(2) p span {
  font-size: 1.6rem;
  color: #FF0000;
  font-weight: bold;
}
.contact_form .cardpay > dd > div {
  display: block;
  width: 65%;
}
.contact_form .cardpay > dd > div p {margin: 0 0 1em;}
.contact_form .cardpay > dd > div table {width: 100%;}
.contact_form .cardpay > dd > div table th {
  display: table-cell;
  width: 30%;
  font-size: 1.4rem;
  background: none;
  border: none;
  padding: 0.5em 0;
}
.contact_form .cardpay > dd > div table td {
  display: table-cell;
  width: 70%;
  font-size: 1.4rem;
  background: none;
  border: none;
  padding: 0.5em 0;
}
.contact_form .cardpay > dd > div table td input {
  font-size: 1.4rem;
  height: 30px;
  line-height: 30px;
  margin: 0;
  padding: 0.5em;
  border: solid 1px #707070;
  border-radius: 0;
}
.contact_form .cardpay > dd > div table td input.input_n {
  width: 80px;
  min-width: 80px;
  margin: 0 10px 0 0;
  padding: 0.5em;
}
.contact_form .cardpay > dd > div table td select {
  width: 80px;
  min-width: 80px;
  margin: 0 10px 0 0;
  padding: 0.5em;
  border: solid 1px #707070;
}
.contact_form .cardpay > dd > div table td select:nth-of-type(2) {margin: 0 10px 0 20px;}
.contact_form .cardpay > dd > div figure {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.contact_form .cardpay > dd > div figure img {width: 100px;margin: 0 10px 0 0;}
.contact_form .cardpay > dd > div figure figcaption {
  font-size: 1.2rem;
  color: #FF0000;
}

.point_box {
  text-align: center;
  padding: 30px 40px;
  margin: 0 auto 30px;
  background: var(--color03);
}
.point_box > div:nth-of-type(1) {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  padding: 0 0 30px;
  border-bottom: dotted 2px #BEBEBE;
}
.point_box > div:nth-of-type(1) span {
  font-size: 3.2rem;
  margin: 0 30px;
}
.point_box > div:nth-of-type(1) .recalc {
  display: inline-block;
  min-width: 180px;
  height: 50px;
  line-height: 50px;
  padding: 0 50px;
  background: url("../img/common/ico_recalc.svg") no-repeat left 20px center / auto 50%,#FFFFFF;
  border: solid 1px #707070;
  border-radius: 99px;
  cursor: pointer;
  color: #333!important;
}
.point_box > div:nth-of-type(2) {
  display: flex;
  justify-content: space-around;
  align-items: center;
  font-size: 1.4rem;
  padding: 20px 0 0;
}
.point_box > div:nth-of-type(2) span {
  font-size: 2rem;
  margin: 0 0 0 40px;
}
.cart_btn_list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 0 auto 80px;
}
.cart_btn_list .btn_common {width: 48%;}
.cart_btn_list button {
  display: block;
  width: 100%;
  min-width: auto;
}
.cart_btn_list .btn_common_w button {
  border: solid 2px #333333;
  background: #FFFFFF;
}
.cart_btn_list .btn_common_w button::before {background: #333333;}
.cart_btn_list .btn_common_w button::after { 
  background: url(../img/common/btn_ar_w.svg) no-repeat center / auto 60% , #333333;
  left: 20px;
  right: auto;
  transform: rotate(180deg);
}
.point_caution {
  margin: 0 auto 50px;
  text-align: center;
}
.point_caution p {margin: 2em 0 0;}
.point_caution .point_fusoku {
  color: #FF0000;
  font-size: 2rem;
  padding: 30px;
  border: solid 1px #FF0000;
}
.point_caution .point_need {
  color: #FF0000;
  font-size: 2.4rem;
}
.dl_mypage {
  text-align: center;
  padding: 30px 40px;
  background: var(--color03);
  border-radius: 30px;
  margin: 40px auto;
}
.dl_mypage02 dd {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dl_mypage dt {
  font-size: 1.8rem;
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: dashed 2px #BEBEBE;
}
.dl_mypage dt span {font-size: 2.4rem;}
.dl_mypage dd p {font-size: 2rem;}
.dl_mypage dd p span {margin: 0 0 0 1.5em;}
.dl_mypage.dl_point dd {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
}
.dl_mypage dd .pont_pereod {
  display: inline-block;
  min-width: 300px;
  height: 40px;
  line-height: 40px;
  background: #FFFFFF;
  padding: 0 20px;
  margin: 20px auto 0;
  border-radius: 99px;
}
.dl_mypage dd .btn_mypage {
  display: inline-block;
  min-width: 250px;
  height: 50px;
  line-height: 44px;
}
.dl_mypage dd .btn_mypage a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
  background: #FFFFFF;
  padding: 0 30px;
  border: solid 3px var(--color01);
  border-radius: 99px;
  transition: 0.5s;
}
.dl_mypage dd .btn_mypage a:hover {
  text-decoration: none;
  background: var(--color01);
}
.dl_mypage dd .btn_mypage a::after {
  position: absolute;
  display: block;
  content: "";
  width: 0.5em;
  height: 1em;
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 10px;
  
}
.table_point {width: 100%;}
  
.table_point th {
  font-size: 1.6rem;
  text-align: center;
  background: var(--color03);
  padding: 0.5em;
}
.table_point td {
  font-size: 1.6rem;
  text-align: center;
  padding: 0.5em;
  border-bottom: solid 1px #707070; 
}
.table_point td:nth-of-type(3) {width: 30%;}
.table_point td:nth-of-type(3) p {
  width: calc(100% - 75px);
  text-align: left;
}
.table_point td figure {
  display: inline-block;
  width: 60px;
  margin: 0 5px 0 0;
  vertical-align: middle;
  border: solid 1px #CCC;
}
.table_point td p {
  display: inline-block;
  vertical-align: middle;
}
.table_point td:nth-of-type(1) span {
  display: inline-block;
  min-width: 90px;
  line-height: 1.3;
  text-align: center;
  padding: 0.25em 0.5em;
  border: solid 1px #707070;
}
.table_point caption {
  caption-side: top;
  text-align: left;
}
.dl_mypage + .h2_common {
  font-size: 1.8rem;
  margin: 80px auto 0;
}
.btn_mypage {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.btn_mypage li {
  position: relative;
  width: 48%;
  line-height: 1.3;
  font-size: 2rem;
  text-align: center;
}
.btn_mypage li::after {
  position: absolute;
  display: block;
  content: "";
  margin: auto;
  top: 0;
  bottom: 0;
}
.btn_mypage li::after {
  width: 10px;
  height: 20px;
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
  right: 20px;
}
.btn_mypage li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 1em 2em;
  background: #FFFFFF;
  border: solid 5px var(--color01);
  border-radius: 15px;
  transition: 0.5s;
}
.btn_mypage li a:hover {
  text-decoration: none;
  background: var(--color01);
}
.deliv_box {
  background: #FCF1F6;
  padding: 30px 40px;
}
.deliv_box ul li {
  position: relative;
  z-index: 0;
  background: #FFFFFF;
  padding: 50px 40px 40px;
  margin: 0 auto 30px;
}
.deliv_box ul li .deliv_status {
  position: absolute;
  display: inline-block;
  min-width: 160px;
  height: 40px;
  line-height: 40px;
  color: #FFFFFF;
  font-size: 1.4rem;
  text-align: center;
  padding: 0 20px;
  background: #707070;
  border-radius: 99px;
  top: 40px;
  right: 40px;
}
.deliv_box ul li .deliv_status02 {background: var(--color01);}
.deliv_box ul li table {margin: 20px 0 0;}
.deliv_box ul li table th {
  font-size: 1.8rem;
  line-height: 1.3;
  text-align: center;
  padding: 1em;
  border-top: solid 1px #BEBEBE;
  border-bottom: solid 1px #BEBEBE;
}
.deliv_box ul li table td {
  font-size: 1.4rem;
  padding: 20px 20px 0;
}
.deliv_box ul li table td:nth-of-type(1) {
  width: 200px;
  padding: 20px 0 0;
}
.deliv_box ul li table td:nth-of-type(2) {width: 200px;}
.deliv_box ul li table td:nth-of-type(3) {width: calc(100% - 320px);}
.deliv_box ul li table td:nth-of-type(4) {
  width: 120px;
  font-size: 2.4rem;
  text-align: center;
}
.deliv_box ul li table td figure {
  border: solid 1px #707070;
  border-radius: 10px;
  overflow: hidden;
}
.deliv_box ul li table td p {margin: 0 0 0.5em;}
.deliv_box ul li table td .p_brand {font-size: 1.6rem;}
.deliv_box ul li table td .p_name {font-size: 1.8rem;}
.deliv_box ul li table td .p_spec {margin: 0;}
.device_table {
  width: 100%;
  text-align: center;
}
.device_table th {
  border-top: solid 1px #707070;
  border-bottom: solid 1px #707070;
  padding: 20px
}
.device_table td {
  border-bottom: solid 1px #707070;
  padding: 20px;
  vertical-align: middle;
}
.device_table td:nth-of-type(1) {width: 160px;padding: 40px;}
.device_table td:nth-of-type(2) {width: calc(100% - 280px);}
.device_table td:nth-of-type(3) {width: 120px;}
.device_table td:nth-of-type(2) table {
  width: 100%;
  text-align: left;
}
.device_table td:nth-of-type(2) table th {
  width: 10em;
  border: solid 1px #707070;
  padding: 0.25em 1em;
  background: #F4F4F4;
}
.device_table td:nth-of-type(2) table td {
  width: calc(100% - 10em);
  border: solid 1px #707070;
  padding: 0.25em 1em;
}
.device_table td:nth-of-type(3) input[type="checkbox"] + span::before {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  border: solid 1px #333333;
  margin: 0 auto;
  cursor: pointer;
  line-height: 1.2;
}
.device_table td:nth-of-type(3) input[type="checkbox"]:checked + span::before {content: "✔";}

/* -----------------------------------------------------------
 static
----------------------------------------------------------- */

.tab_form {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 0 0 30px;
}
.tab_form li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48%;
  cursor: pointer;
  border: solid 1px #707070;
  padding: 20px;
}
.tab_form li.active {
  position: relative;
  background: #D8D8D8;
  border: none;
}
.tab_form li.active::after {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-top: solid 24px #D8D8D8;
  border-left: solid 60px transparent;
  border-right: solid 60px transparent;
  margin: auto;
  left: 0;
  right: 0;
  top: 100%;
}
.tab_form li input[type="radio"] + span::before {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  border: double 3px #333333;
  border-radius: 50%;
  vertical-align: middle;
  margin: 0 0.5em 7px 0;
}
.tab_form li input[type="radio"]:checked + span::before {
  border: solid 2px #333333;
  background: #333333;
}
.tab_form li span {
  font-size: 2rem;
  line-height: 1.2;
  cursor: pointer;
}
.tab_content {display: none;}
.tab_content.active {display: block;}
.cart_caution {
  width: 100%;
  padding: 0.5em 0;
  text-align: center;
  color: #FFFFFF;
  background: #ff0000;
}
.cart_caution p {
  max-width: 1280px;
  padding: 0 40px;
  margin: 0 auto;
  line-height: 1.5;
}
.operation_center {
  width: 100%;
  max-width: 700px;
  text-align: center;
  margin: 0 auto;
  padding: 30px 0 0;
  border-top: solid 1px #333333;
}
.operation_center p:nth-of-type(1) {font-size: 2rem;}
.operation_center p:nth-of-type(2) {font-size: 2.4rem;}
.operation_center p:nth-of-type(3) {font-size: 1.4rem;}
.operation_center p:nth-of-type(2) span {font-size: 3.6rem;}


/* -----------------------------------------------------------
 home
----------------------------------------------------------- */
.home01 {padding: 0 0 100px;}
.home02 {padding: 50px 0 100px;}
.home03 {padding: 0 0 100px;}

.kv {
  position: relative;
  z-index: 2;
  width: calc(100% - 40px);
  margin: 0 auto;
}
.kv > img {
  display: block;
  width: 1880px;
  height: 100%;
  object-fit: cover;
  margin: 0 auto;
  border-radius: 20px;
}
.kv .kv_product {
  position: absolute;
  z-index: 1;
  color: #AA8E48;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
  margin: auto;
  left: 0;
  right: 0;
  top: 100%;
}

.home01 .kv {height: 700px;}
.home01 h1 {
  position: relative;
  z-index: 3;
  width: 1100px;
  margin: 20px auto 30px;
}
.home01 h1 a {
  position: absolute;
  z-index: 1;
  display: block;
  width: 202px;
  height: 293px;
  background: url("../img/home/h1_anc.png") no-repeat center / cover;
  transition: 0.5s;
  bottom: 120px;
  right: 0;
}
.home01 h1 a:hover {transform: translateY(30px);}
.home02 .kv h1 {height: 560px;}
.home02 .kv h1 img {
  display: block;
  width: 1880px;
  height: 100%;
  object-fit: cover;
  margin: 0 auto;
  border-radius: 20px;
}
.home02 .cat_anc {
  position: absolute;
  z-index: 2;
  margin: auto;
  top: -40px;
  left: 0;
  right: 0;
}
.home03 .kv {
  height: 960px;
  z-index: 0;
}
.home03 .kv p {
  position: absolute;
  z-index: 1;
  width: 36%;
  height: 16%;
  margin: auto;
  top: 0;
  bottom: 180px;
  left: 0;
  right: 0;
}
.home03 .kv > div {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 120vw;
  height: 300px;
  background: var(--color02);
  margin: auto;
  left: -100%;
  right: -100%;
  bottom: 0;
}
.home_products {padding: 80px 0;}
.product_slider {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto!important;
  padding: 0 20px 50px;
  overflow: visible;
}
.product_slider .slick-list {
  padding: 30px 0 0;
  overflow: hidden;
}
.product_slider .slick-slide {
  position: relative;
  width: 32%;
  background: #E2F2FD;
  padding: 20px;
  border-radius: 20px;
  margin: 0 20px;
}
.product_slider .slick-slide a {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  transition: 0.5s;
}
.product_slider .slick-slide a:hover {
  text-decoration: none;
  opacity: 0.5;
}
.product_slider .slick-arrow {
  width: 20px;
  height: 40px;
  z-index: 2;
}
.product_slider .slick-prev {
  background: url("../img/common/btn_al.svg") no-repeat center / cover;
  left: 0;
}
.product_slider .slick-next {
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
  right: 0;
}
.product_slider .slick-prev:hover ,
.product_slider .slick-prev:focus {
  background: url("../img/common/btn_al.svg") no-repeat center / cover;
}
.product_slider .slick-next:hover ,
.product_slider .slick-next:focus {
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
}
.product_slider .slick-dots {bottom: 0;}
.product_slider .slick-dots li {
  width: 15px;
  height: 15px;
  background: #CBCBCB;
  border-radius: 50%;
  margin: 0 10px;
}
.product_slider .slick-dots li.slick-active {background: #333333;}
.product_slider .slick-dots button::before {content: none;}
.product_slider figure {
  position: relative;
  width: 48%;
  border: solid 1px #333333;
  border-radius: 10px;
} 
.product_slider figure img {border-radius: 8px;}
.product_slider figure figcaption {
  position: absolute;
  z-index: 1;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  color: #FFFFFF;
  background: #FF0000;
  border-radius: 50%;
  top: -15px;
  left: -15px;
}
.product_slider .slick-slide a > div {
  width: 48%;
  font-size: 1.4rem;
}
.product_slider .slick-slide a > div .p_cat {
  display: inline-block;
  line-height: 1.2;
  padding: 0.2em 1em;
  border-radius: 5px;
}
.product_slider .slick-slide a > div .p_name {
  font-size: 1.8rem;
  margin: 20px 0 30px;
}
.login_box {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  background: #FFFFFF;
  border-radius: 30px;
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
  transform: translateY(-140px);
}
.login_box h1 {
  color: #7A4835;
  font-size: 2.6rem;
  text-align: center;
  border-radius: 30px 30px 0 0;
  margin: 0 auto;
}
.login_box h1 img {
  display: block;
  width: 90%;
  margin: 0 auto;
  transform: translateY(-30px);
}
.login_box h1 span {
  display: block;
  transform: translateY(-30px);
}
.login_box .login_form {padding: 0 40px 40px;}
.login_box .login_form > p {
  width: calc(100% - 100px);
  padding: 0 0 40px;
  margin: 0 auto 40px;
  border-bottom: dotted 2px #333333;
  text-align: center;
}
.login_box .login_form form div {
  width: 400px;
  margin: 30px auto 0;
}
.login_box .login_form form .btn_common {width: 500px;}
.login_box .login_form form .btn_common button::before ,
.btn_common.btn_login p::before {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 1.2em;
  height: 1.7em;
  background: url("../img/common/ico_login.svg") no-repeat center / cover;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 30px;
  right: auto;
  border-radius: 0;
}
.login_box .login_form form div input {
  display: inline-block;
  min-width: 100%;
  height: 60px;
  line-height: 60px;
  background: #FFFFFF;
  border: solid 2px #333333;
  border-radius: 99px;
  padding: 0 1.5em;
  margin: 15px 0;
}
.home_use {padding: 50px 0 30px;}
.home_use h2 {
  font-size: 2.4rem;
  text-align: center;
  margin: 0 auto 50px;
}
.home_use h2 img {
  display: block;
  margin: 0 auto 20px;
}
.home_use h2 span {
  display: block;
  font-family: 'Pacifico', cursive;
  font-size: 3.6rem;
  font-weight: normal;
  color: var(--color01);
  margin: 0 auto 50px;
}
.home_use ol {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
.home_use ol li {
  position: relative;
  z-index: 1;
  width: 32%;
  background: #FFFFFF;
  padding: 50px 30px 40px;
  margin: 0 0 50px;
  border-radius: 20px;
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.1);
}
.home_use ol li span {
  position: absolute;
  z-index: 1;
  width: 60px;
  height: 60px;
  line-height: 56px;
  text-align: center;
  color: var(--color01);
  font-size: 3.6rem;
  font-weight: 700;
  background: #FFFFFF;
  border: solid 2px var(--color01);
  border-radius: 50%;
  margin: auto;
  left: 0;
  right: 0;
  top: -30px;
}
.home_use ol li p {
  font-size: 1.8rem;
  text-align: center;
  margin: 0 auto 20px;
}
.home_use ol li::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100px;
  height: 2px;
  background: #333333;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 100%;
}
.home_use ol li:nth-child(3)::after ,
.home_use ol li:nth-child(6)::after {display: none;}

.home_about {
  padding: 20px 0 220px;
  text-align: center;
}
.home_about h2 {
  font-size: 3.2rem;
  margin: 0 auto 40px;
}
.home_about p {font-size: 2.4rem;}

.home_ac {
  padding: 70px 0;
  background: url("../img/home/bg_ac01.jpg") repeat-x top center  ,url("../img/home/bg_ac02.jpg") no-repeat center bottom / 100% ,#C2C22C;
}
.home_ac h2 {
  font-size: 2.4rem;
  text-align: center;
  margin: 0 auto 40px;
}
.home_ac h2 img {
  display: block;
  margin: 0 auto 20px;
}
.home_ac h2 span {
  display: block;
  font-family: 'Pacifico', cursive;
  font-size: 3.6rem;
  font-weight: normal;
  color: var(--color01);
  margin: 0 auto 50px;
}
.home_ac h2 + p {
  font-size: 1.8rem;
  text-align: center;
  margin: 0 auto 300px;
}
.home_ac .ac_box {border: none;}
.home_support h2 {
  position: relative;
  z-index: 0;
  font-size: 4rem;
  line-height: 1.5;
  text-align: center;
  background: var(--color02);
  padding: 70px 40px;
}
.home_support h2::after {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-top: solid 60px var(--color02);
  border-left: solid 120px transparent;
  border-right: solid 120px transparent;
  margin: auto;
  left: 0;
  right: 0;
  top: 100%;
}
.home_support > .box {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 60px 40px;
}
.home_support > .box::after {
  position: absolute;
  display: block;
  content: "";
  width: calc(100% - 80px);
  height: 3px;
  border-bottom: dotted 3px #333333;
  margin: auto;
  left: 0;
  right: 0;
  bottom: 0;
}
.home_support > .box > div {
  position: relative;
  z-index: 1;
  width: 50%;
  padding: 0 0 0 10%;
}
.home_support > .box > div h3 > span {
  position: relative;
  font-size: 4rem;
}
.home_support > .box > div h3 span span {
  display: block;
  font-family: 'Pacifico', cursive;
  font-size: 2.8rem;
  font-weight: normal;
  color: var(--color01);
  margin: 0 auto 50px;
}
.home_support > .box > div h3 > span::before {
  position: absolute;
  display: block;
  content: "";
  width: 200px;
  height: 175px;
  background: url("../img/home/h3_support.png") no-repeat center / cover;
  top: -140px;
  left: -200px;
}
.home_support > .box > div h3 > span::after {
  position: absolute;
  display: block;
  content: "";
  width: 125px;
  height: 131px;
  background: url("../img/home/h3_support02.png") no-repeat center / cover;
  bottom: -20px;
  left: 300px;
}
.home_support > .box > div p {font-size: 2rem;}
.home_support > .box figure {
  width: 45%;
  margin: 0 0 0 5%;
}
  
.common_contact {padding: 60px 0 0;}
.common_contact h2 {
  font-size: 2.4rem;
  text-align: center;
  margin: 0 auto 50px;
}
.common_contact h2 img {
  display: block;
  margin: 0 auto 20px;
}
.common_contact h2 span {
  display: block;
  font-family: 'Pacifico', cursive;
  font-size: 3.6rem;
  font-weight: normal;
  color: var(--color01);
  margin: 0 auto 50px;
}
.common_contact h2 + p {
  font-size: 1.8rem;
  text-align: center;
  margin: 0 auto 30px;
}
.common_contact ul {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.common_contact ul li {
  width: 49%;
  text-align: center;
  border-radius: 20px;
  background: #FFFFFF;
  padding: 40px;
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
}
.common_contact ul li figure img {margin: 0 auto 30px;}
.common_contact ul li figure + p {
  font-size: 26px;
  margin: 0 auto 10px;
}
.common_contact ul li .contact_tel {
  font-size: 42px;
  margin: 20px auto 0;
}
.common_contact ul li .contact_tel::before {
  display: inline-block;
  content: "";
  width: 51px;
  height: 29px;
  background: url("../img/home/ico_free.png") no-repeat center/ cover;
  margin: 0 0.5em 10px 0;
  vertical-align: middle;
}
.common_contact ul li .contact_mail {
  width: 100%;
  max-width: 480px;
  margin: 20px auto 0;
}
.common_contact ul li .contact_mail a {
  position: relative;
  display: block;
  padding: 0.75em 2em;;
  font-size : 2.2rem;
  line-height: 1.5;
  background: #FFFFFF;
  text-align: center;
  border-radius: 10px;
  border: solid 5px #FFB0BC;
}
.common_contact ul li .contact_mail a:hover {text-decoration: none;}
.common_contact ul li .contact_mail a::after {
  position: absolute;
  display: block;
  content: "";
  width: 10px;
  height: 20px;
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 1em;
}
.home_choose {position: relative;}    
.home_choose h2 {
  position: absolute;
  z-index: 1;
  width: 50%;
  margin: auto;
  left: 20%;
  right: 0;
  bottom: 80%;
}
.home_choose > div {
  display: flex;
  justify-content:space-between;
  align-items: flex-end;
  max-width: 1920px;
  margin: 0 auto;
}
.home_choose > div > figure ,
.home_choose > div > div {width: 48%;}
.home_choose > div > div p {
  font-size: 3.2rem;
  margin: 0 0 1em;
}

.home_info {
  padding: 60px 0 100px;
  text-align: center;
}
.home_info h2 {
  font-size: 2.4rem;
  font-weight: normal;
  margin: 0 auto 40px;
}
.home_info .btn_site {
  position: relative;
  z-index: 1;
  display: inline-block;
  width: auto;
  width: 700px;
  margin: 0 auto 100px;
}
.home_info .btn_site a {
  position: relative;
  display: block;
  height: 100%;
  font-size: 3rem;
  background: #FFFFFF;
  border-radius: 99px;
  border: solid 6px var(--color01);
  padding: 0.75em;
  top: 0;
  transition: 0.5s;
}
.home_info .btn_site a:hover {
  text-decoration: none;
  top: 5px;
}
.home_info .btn_site a span::after {
  display: inline-block;
  content: "";
  width: 0.5em;
  height: 1em;
  background: url("../img/common/btn_ar.svg") no-repeat center / cover;
  margin: 0 0 5px 0.5em;
  vertical-align: middle;
}
.home_info .btn_site a::before {
  position:absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 186px;
  height: 71px;
  background: url("../img/home/btn_check.png") no-repeat center / cover;
  left: 10px;
  top: -30px;
}
.home_info .btn_site a::after {
  position:absolute;
  z-index: -1;
  display: block;
  content: "";
  width: calc(100% + 12px);
  height: calc(100% + 12px);
  background: #B28216;
  border-radius: 99px;
  margin: auto;
  top: 0px;
  left: -6px;
  transition: 0.5s;
}
.home_info .btn_site a:hover::after {top: -4px;}
.home_news div {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 0 auto 20px;
}
.home_news div h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 360px;
  padding: 30px;
  background: #FFFFFF;
  border: solid 4px #333333;
  border-radius: 20px 0 0 20px;
}
.home_news div h3 span {font-size: 2.6rem;}
.home_news div h3 span::before {
  display: inline-block;
  content: "";
  width: 118px;
  height: 48px;
  background: url("../img/home/ico_info.png") no-repeat center / cover;
  margin: 0 20px 0 0;
  vertical-align: middle;
}
.home_news div ul {
  width: calc(100% - 360px);
  padding: 30px;
  background: #FFFFFF;
  border: solid 4px #333333;
  border-left: none;
  border-radius: 0 20px 20px 0;
  text-align: left;
}
.home_news div ul li .news_date {
  display: inline-block;
  margin: 0 1em 0 0;
}
.home_news div ul li p {display: inline-block;}
.home_news div + p {
  position: relative;
  padding: 0 2.5em 0 0;
  text-align: right; 
  margin: 0 auto 50px;
}
.home_news div + p::before ,
.home_news div + p::after {
  position: absolute;
  display: block;
  content : "";
  margin: auto;
  top: 0;
  bottom: 0;
}
.home_news div + p::before {
  z-index: 1;
  width: 30px;
  height: 30px;
  background: #333333;
  border-radius: 50%;
  right: 0;
}
.home_news div + p::after {
  z-index: 2;
  width: 0.5em;
  height: 1em;
  background: url("../img/common/btn_ar_w.svg") no-repeat center / cover;
  right: 0.6em;
}
  
.home_guide {
  position: relative;
  z-index: 1;
  text-align: center;
  background: #FEF6D0;
  border-radius: 100px;
  border: solid 5px #7D432E;
  padding: 0 0 60px;
  margin: 180px auto 0;
}
.home_guide::before,
.home_guide::after {
  position: absolute;
  display: block;
  content: "";
  margin: auto;
}
.home_guide::before {
  width: 175px;
  height: 114px;
  background: url("../img/home/home_service_b.png") no-repeat center / cover;
  left: 0;
  right: 0;
  top: -60px;
  z-index: 2;
}
.home_guide::after {
  width: 318px;
  height: 160px;
  background: url("../img/home/home_service_a.png") no-repeat center / cover;
  left: 0;
  right: 200px;
  top: -165px;
  z-index: 0;
}

.home_guide h3 {
  position: relative;
  z-index: 1;
  width: 100%;
  border-radius: 95px 95px 0 0;
  margin: 0 auto 20px;
  overflow: hidden;
}
.home_guide h3 img {width: 100%;}
.home_guide > p:nth-of-type(1) {
  font-size: 3rem;
  margin: 0 auto 20px;
}
.home_guide > p > span {
  font-weight: bold;
  /*background: linear-gradient(transparent 40%, #F7C936 40%);*/
  padding: 0 0.25em;
  color: #7D432E;
}
.home_guide > p .fs160 {
  font-size: 1.6em;
}
.home_guide figure {margin: 0 auto 30px;}
.home_guide figure img {margin: 0 auto;}
.home_guide figure figcaption {margin: 20px auto 0;}
.home_guide figure + p {
  display: inline-block;
  color: #7D432E;
  line-height: 1.5;
  padding: 10px 50px;
  margin: 0 auto 30px;
  border-top: solid 2px #7D432E;
  border-bottom: solid 2px #7D432E;
}
.home_guide .btn_login p {
  min-width: 600px;
  font-size: 3.6rem;
}



/**** リリースまで非表示 ****/

  /*.btn_lang {display: none!important;} /*多言語ボタン非表示*/
  .btn_chat {display: none!important;} /*チャットボタン非表示*/
  /*.home_choose .box > p {display: none!important;} /*TOP商品説明と商品を見るボタン非表示*/
  /*.header01 .btn_cat {display: none!important;} /*カテゴリ導線非表示*/ 
  /*.header02 .btn_cat {display: none!important;}  /*カテゴリ導線非表示*/
  /*.btn_login.btn_common {display: none!important;}  /*TOPログインボタン非表示*/
  /*.home_news {display: none!important;}  /*TOPお知らせ非表示*/
  /*.common_contact {display: none!important;}  /*下部お問い合わせ非表示*/
  /*.footer_address {display: none!important;}  /*フッターお問い合わせ非表示*/
  /*.footer_name {border: none!important;width: 100%!important;} /*フッターお問い合わせ非表示の際のレイアウト調整*/
  /*.header01 .header_login {display: none!important;}  /*ヘッダーログインボタン非表示*/
  /*.header01 .header_contact {display: none!important;}  /*ヘッダーお問い合わせボタン非表示*/
  /*.header01 .menu {display: none!important;}/*ハンバーガーメニューボタン非表示
