@charset "utf-8";
:root {
  --red: #EA0000;
  --blue: #259AD0;
  --yellow: #FFDF00;
  --light-yellow: #FFFF61;
  --dark-blue: #003481;
  --dark-gray: #353535;
  --light-blue: #DEE5EF;
  --light-gray: #EEEEEE;
  --header-bg-color: #FFF;
}
html {
  font-size: 62.5%;
}
body {
  color: #000;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif, Helvetica, "HelveticaNeue", Verdana;
  letter-spacing: 0.02em;
  line-height: 1.7;
  width: 100%;
}
p,li,dt,dl,table {
  font-size: 1.6rem;
}
a {
  color: var(--blue);
  text-decoration: underline;
}

/* 共通クラス */
#wrapper {
  display: flex;
  flex-wrap: wrap;
}
.content {
  flex-grow: 1;
}
.btn {
  align-items: center;
  background-color: var(--dark-blue);
  border-bottom: solid 4px #000C33;
  color: #FFF;
  display: flex;
  font-weight: bold;
  justify-content: center;
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, .2);
  box-shadow: 0 3px 3px rgba(0, 0, 0, .2);
}
.btn a {
  align-items: center;
  color: #FFF;
  display: flex;
  height: 100%;
  justify-content: center;
  text-decoration: none;
  width: 100%;
}
.note {
  font-size: 1.2rem;
}
.target_blank::after {
  background-image: url(../images/icon_window.svg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 1em;
  margin: 0 0 0 0.5em;
  width: 1em;
  filter: invert(42%) sepia(82%) saturate(437%) hue-rotate(153deg) brightness(107%) contrast(96%);
}
br.br_pc {
  display: none;
}
.marker {
  background: linear-gradient(transparent 60%, var(--light-yellow) 60%);
}
.target_item_list {
  margin-bottom: 1em;
}
.target_item_list li {
  align-items: center;
  border-radius: 10px;
  display: flex;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0.7em 0 0 0;
  padding: 0.8em 0;
  white-space: nowrap;
}
.target_item_list li::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 2.5em;
  margin: 0 0.75em;
  width: 4em;
}
.target_item_list li.notepc::before {
  background-image: url("../images/icon_note.png");
}
.target_item_list li.deskpc::before {
  background-image: url("../images/icon_desk.png");
}
.target_item_list li.pcparts::before {
  background-image: url("../images/icon_pcparts.png");
}
.target_item_list li.peripheral::before {
  background-image: url("../images/icon_peripheral.png");
}
.target_item_list li.monitor::before {
  background-image: url("../images/icon_monitor.png");
}
.target_item_list li:nth-of-type(1) {
  margin-top: 0;
}
.qa ul {
  background-color: #F4FAFD;
  padding: 0 1.5em;
}
.qa li {
  align-items: center;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 3em;
  display: flex;
  justify-content: flex-start;
  padding: 0.85em 0 1.25em 3.5em;
  position: relative;
}
.qa li::before {
  content: "" !important;
}
.qa li:first-of-type {
  background-image: url("../images/icon_q.svg");
  padding-top: 1.25em;
}
.qa li:last-of-type {
  background-image: url("../images/icon_a.svg");
  display: none;
}
.qa li:first-of-type::after {
  content: "";
  background-image: url("../images/triangle.svg");
  background-repeat: no-repeat;
  display: block;
  height: 15px;
  margin: 0 0 0 0.5em;
  position: absolute;
  right: 0;
  width: 15px;
}
.qa li.open_q {
  border-bottom: dotted 1px var(--dark-gray);
}
.qa li.open_q::after {
  transform: rotate(180deg);
}
.qa li span {
  width: 100%;
}
/* フォーム関連 */
.content select {
  background-image: url(../images/select_arrow.svg);
  background-position: center right 0.5em;
  background-repeat: no-repeat;
  background-size: 1em;
  border: solid 1px var(--dark-gray);
  border-radius: 5px;
  margin: 0.3em 0;
  padding: 0.15em 0.3em;
  width: 100%;
}
.content input[type="button"],
.content input[type="email"],
.content input[type="tel"],
.content input[type="text"],
.content button,
.content textarea {
  border: solid 1px var(--dark-gray);
  border-radius: 5px;
  padding: 0.15em 0.5em;
  margin: 0;
  width: 100%;
}
.content input[type="file"] {
  padding: 0.15em 0;
}
.content button {
  text-align: center;
}
.content input[type="radio"],
.content input[type="checkbox"] {
  margin-right: 0.5em;
}
.content label {
  margin: 0 0 0.5em 0;
  width: 100%;
}
/* index.html content */
.toppage .main_image {
  background-color: #E3F2F9;
  padding: 0.5em 0;
  text-align: center;
}
.toppage .main_image img {
  width: 95%;
}
.toppage h2 {
  color: var(--dark-blue);
  font-weight: bold;
  font-size: 2.3rem;
  margin: 0.5em 0 0 0;
  text-align: center;
}
.toppage .box {
  margin: 2.5em auto;
  width: 92%;
  }
.toppage .estimate {
  margin: 0 auto;
  width: 92%;
}
.toppage .estimate .display_none {
  display: none;
}
.toppage .estimate table {
  margin: 0;
}
.toppage .estimate table tr {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}
.toppage .estimate th {
  background-color: var(--dark-gray);
  color: #FFF;
  font-weight: normal;
  margin:  0;
  padding: 0 0.5em;
  width: 100%;
}
.toppage .estimate tbody tr:last-of-type th {
  margin-bottom: 0;
}
.toppage .estimate th::before {
  content: "▼ ";
}
.toppage .estimate td {
  margin: 0.2em 0 1em 0;
  width: 100%;
}
.toppage .estimate td select:nth-of-type(n + 2) {
  margin-top: 0.5em;
}
.toppage .estimate .price {
  margin: 1em 0 0 0;
  text-align: center;
}
.toppage .estimate .price span {
  display: block;
  font-size: 2.5rem;
  font-weight: bold;
}
.toppage .estimate .price strong {
  color: var(--red);
  display: block;
  font-size: 4.5rem;
  font-weight: bold;
  line-height: 1;
}
.toppage .estimate .price strong::after {
  color: #000;
  content: "円";
  font-size: 3.8rem;
  padding: 0 0 0 0.1em;
}
.toppage .estimate .price .apply {
  border-radius: 8px;
  font-size: 3rem;
  margin: 0.5em auto;
  width: 80%;
}
.toppage .estimate .price .apply a {
  padding: 0.3em 0;
}
.toppage .estimate .price .note {
  text-align: left;
}
.toppage .collection {
  display: none;
}
.toppage .campaign {
  margin: 0 auto;
  padding: 1em 0;
  width: 92%;
}
.toppage .campaign li {
  margin-top: 0.5em;
}
.toppage .campaign li img {
  width: 100%;
  margin-bottom: 0.2em;
}
.toppage .feature {
  background-color: var(--light-gray);
  margin: 1em 0;
  padding: 0.5em 0;
}
.toppage .feature ol {
  margin: 0 auto 1.4em auto;
  width: 90%;
}
.toppage .feature ol li {
  background-color: #FFF;
  list-style: decimal;
  list-style-position: inside;
  margin: 1.35em 0 0 0;
  padding: 1.1em;
}
.toppage .feature ol li:nth-of-type(1) {
  margin-top: 0;
}
.toppage .feature ol li::marker{
  font-weight: bold;
  font-size: 2rem;
}
.toppage .feature ol strong {
  font-size: 2rem;
}
.toppage .feature ol img {
  width: 100%;
  margin-bottom: 0.7em;
}
.toppage .target_item_list li {
  background-color: var(--light-blue);
}
.toppage .flow {
  background-color: var(--light-gray);
  margin: 1em 0;
  padding: 0.5em 5% 2em 5%;
  width: 100%;
}
.toppage .flow .tab {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.toppage .flow .tab li {
  background-color: #d7d7d7;
  border-bottom: solid 1px var(--dark-gray);
  color: #808080;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0.25em 0 0 0;
  position: absolute;
  text-align: center;
  top: 0;
  width: 49%;
}
.toppage .flow .tab li:first-of-type {
  left: 0;
}
.toppage .flow .tab li:last-of-type {
  right: 0;
}
.toppage .flow .tab li.selected {
  border: solid 1px var(--dark-gray);
  border-bottom: solid 1px #FFF;
  background-color: #def0f8;
  color: var(--blue);
}
.toppage .flow div.web,
.toppage .flow div.shop {
  background-color: #FFF;
  border: solid 1px var(--dark-gray);
  display: flex;
  flex-wrap: wrap;
  padding: 1.5em 2em;
 }
.toppage .flow div.web > div {
  display: none;
}
.toppage .flow dl {
  border-bottom: solid 1px var(--dark-gray);
  padding: 1em 0;
}
.toppage .flow dl:last-of-type {
  border-bottom: none;
}
.toppage .flow dt {
  font-size: 2rem;
}
.toppage .flow dd {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}
.toppage .flow dd::before {
  background-position: center left;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 4em;
  width: 23%;
}
.toppage .flow dd div {
  width: 72%;
}
.toppage .flow div.web dl,
.toppage .flow div.shop dl {
  counter-increment: flow;
}
.toppage .flow div.web dl dt::before,
.toppage .flow div.shop dl dt::before {
  content: "- "counter(flow)" -";
  margin-right: 0.5em;
}
.toppage .flow div.web dl:nth-of-type(1) dd::before {
  background-image: url("../images/index/flow_icon_01.png");
}
.toppage .flow div.web dl:nth-of-type(2) dd::before {
  background-image: url("../images/index/flow_icon_02.png");
}
.toppage .flow div.web dl:nth-of-type(3) dd::before {
  background-image: url("../images/index/flow_icon_03.png");
}
.toppage .flow div.web dl:nth-of-type(4) dd::before {
  background-image: url("../images/index/flow_icon_04.png");
}
.toppage .flow div.web dl:nth-of-type(5) dd::before {
  background-image: url("../images/index/flow_icon_05.png");
}
.toppage .flow div.shop dl:nth-of-type(1) dd::before {
  background-image: url("../images/index/flow_icon_06.png");
}
.toppage .flow div.shop dl:nth-of-type(2) dd::before {
  background-image: url("../images/index/flow_icon_04.png");
}
.toppage .flow div.shop dl:nth-of-type(3) dd::before {
  background-image: url("../images/index/flow_icon_07.png");
}
.toppage .flow .link {
	margin-top: 1em;
	text-align: right;
	width: 100%;
}
.toppage .flow + .apply_btn p {
	width: 90%;
	margin: 0 auto;
}
.toppage .flow + .apply_btn p a {
	display: block;
}
.toppage .flow + .apply_btn p img {
	width: 100%;
}
.toppage .mailform {
  font-size: 1.6rem;
  margin: 0 auto;
  width: 92%;
}
.toppage .mailform h2 {
  line-height: 100%;
  margin: 1.5em 0 0.75em 0;
}
.toppage .mailform h2 > span {
  color: var(--red);
  display: block;
  font-weight: normal;
}
.toppage .mailform h3 {
  background-color: var(--dark-gray);
  color: #FFF;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 1.5em 0 0.8em 0;
  padding: 0.1em 0.5em;
  text-align: center;
  width: 100%;
}
.toppage .mailform p.note {
  line-height: 1.5;
}
.toppage .mailform div.mfp_err {
  width: 100%;
}
.toppage .mailform dl {
  border-top: solid 1px #CCC;
  margin: 0 auto;
  padding: 1.25em 0;
  width: 95%;
}
.toppage .mailform dl:first-of-type {
  border-top: none;
  padding-top: 0;
}
.toppage .mailform dt {
  margin-bottom: 0.25em;
}
.toppage .mailform dt.required::after {
  content: "*";
  color: var(--red);
  font-weight: normal;
  font-size: 1.4rem;
  margin: 0 0 0 0.3em;
}
.toppage .mailform dt br {
  display: none;
}
.toppage .mailform dd p.note {
  margin: 0.7rem 0 0 0;
}
.toppage .mailform .personal_info h3 {
  margin-top: 0;
}
.toppage .mailform .personal_info dd.name label {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.toppage .mailform .personal_info dd.name label input[type="text"] {
  margin: 0 0 0 1em;
  width: 85%;
}
.toppage .mailform .personal_info dd.birthday select {
  width: 30%;
  margin-right: 5px;
}
.toppage .mailform .personal_info dd.birthday select:last-of-type {
  margin-right: 0;
}
.toppage .mailform .kyc dd.upload > div {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 0.5em;
}
.toppage .mailform .kyc dd.upload label {
  width: 70%;
}
.toppage .mailform .kyc dd.upload label span {
  font-weight: bold;
}
.toppage .mailform .kyc dd.upload label input[type="file"] {
  text-align: center;
  width: 100%;
}
.toppage .mailform .kyc dd.upload button {
  margin-top: 0.5em;
}
.toppage .mailform .invoice > div dl:nth-of-type(1) {
	border-top: solid 1px #CCC;
	padding: 1.25em 0;
}
.toppage .mailform .invoice dd.radio label {
	display: block;
}
.toppage .mailform .invoice dd.ratio input[type="text"] {
	width: 80%;
}
.toppage .mailform .item_info {
  margin: 2em 0;
}
.toppage .mailform .item_info dl {
  display: flex;
  flex-wrap: wrap;
  margin: 0.5rem auto;
}
.toppage .mailform .item_info > dl dd {
  display: flex;
  flex-wrap: wrap;
}
.toppage .mailform .item_info > dl dd label {
  width: 100%;
}
.toppage .mailform .item_info .item_info_detail dl {
  align-items: center;
  padding: 0.85em 0;
}
.toppage .mailform .item_info .item_info_detail dl:first-of-type {
  border-top: solid 1px #CCC
}
.toppage .mailform .item_info .item_info_detail dt::after {
  content: "：";
}
.toppage .mailform .item_info p.price {
  margin: 0 auto;
  width: 95%;
}
.toppage .mailform .item_info .correct {
  border-radius: 5px;
  margin: 1em auto;
  padding: 0.3em 0;
  width: 80%;
}
.toppage .mailform .account_info dd.account_type {
  display: flex;
  justify-content: flex-start;
}
.toppage .mailform .account_info dd.account_type label {
  width: 25%;
}
.toppage .mailform .shipping dd.shipping_method label {
  display: block;
}
.toppage .mailform .shipping dd.box_num label select,
.toppage .mailform .shipping dd.kit_l_num label select,
.toppage .mailform .shipping dd.kit_s_num label select {
  margin-right: 0.5em;
  width: 30%;
}
.toppage .mailform .shipping dd.box_num label {
  display: block;
}
.toppage .mailform .shipping dd.box_num label span {
  font-weight: bold;
}
.toppage .mailform .shipping dd.box_num .boxsize {
  margin-top: 1.5em;
}
.toppage .mailform .other dl:last-of-type {
  border-bottom: solid 1px #CCC;
}
.toppage .mailform .other dd.cancel label {
  display: block;
}
.toppage .mailform .confirm {
  margin-top: 2em;
}
.toppage .mailform .confirm dd label input[type="checkbox"] {
}
.toppage .mailform .confirm .caution {
  border: solid 2px var(--red);
  margin-top: 1.5em;
  padding: 1em 1.5em;
}
.toppage .mailform .submit {
  background: linear-gradient(rgba(0,52,129,1),rgba(0,52,129,1));
  border-radius: 10px;
  border-bottom: solid 6px #000C33;
  font-size: 3rem;
  margin: 3rem auto 0 auto;
  padding: 0.25em 0;
  text-shadow: none;
  width: 80%;
}
.toppage .mailform .reset {
  border: none;
  color: var(--blue);
  display: block;
  text-decoration: underline;
  margin: 1.5rem auto 0 auto;
}
/* キャンペーン */
.toppage .campaign .btn {
  border-radius: 10px;
  display: block;
  font-size: 1.5rem;
  margin: 1.5rem auto;
  text-align: center;
}
.toppage .campaign .btn a {
  display: block;
}
.toppage .campaign .btn a img {
  vertical-align: middle;
  width: 1em;
}
/* index.html以外共通 */
.page h2 {
  background-color: var(--blue);
  color: #FFF;
  font-weight: bold;
  font-size: 2.3rem;
  padding: 0 4%;
  margin: 0;
  text-align: left;
}
.page h3 {
  background-color: var(--light-gray);
  border-left: solid 5px var(--blue);
  color: #000;
  font-weight: bold;
  font-size: 2rem;
  padding: 0 3%;
  margin: 0.5em 0 0.75em 0;
  text-align: left;
}
.page h4 {
  font-size: 1.8rem;
  font-weight: bold;
}
.page h4::before {
  background-image: url(../images/circle_blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 1em;
  margin: 0 0.35em 0 0;
  vertical-align: middle;
  width: 1em;
}
.page h5 {
  background-color: var(--light-gray);
  color: #000;
  font-weight: bold;
  font-size: 1.6rem;
  padding: 0.25em 3%;
  margin: 1em 0 0.75em 0;
}
.page h6 {
  color: var(--red);
  font-weight: bold;
  font-size: 1.6rem;
  margin: 1em 0 0 0;
}
.page > div {
  margin: 0 auto;
  padding: 1.5em 0 0 0;
  width: 92%;
}
.page > div > div {
  padding: 0 0 1.5em 0;
}
.page > div p {
  margin: 0.5em 0;
}
.page > div ul {
  margin: 0 0 1.5em 0;
}
.page > div ul li {
  margin: 0.5em 0;
}
.page > div ul li::before {
  content: "● ";
}
/* guide.html content */
.guide .target_item_list {
  width: 100%;
}
.guide .target_item_list li {
  background-color: #F4FAFD;
}
.guide .target_item_list li::before {
  content: "";
}
/* flow_delivery.html content,flow_shop.html content */
.flow h3 {
  border-left: none;
  display: flex;
  justify-content: flex-start;
  padding: 0;
  white-space: nowrap;
}
.flow h3 span {
  background-color: var(--dark-blue);
  color: #FFF;
  margin: 0 0.75em 0 0;
  padding: 0 0.5em;
}
.flow h3 + p::after{
  clear: both;
  content: "";
  display: block;
}
.flow h3 + p > img {
  float: left;
  margin: 0 1em 1em 0;
  width: 30%;
}
.flow > div p {
  margin-bottom: 1.75em;
}
.flow .id_doc {
  background-color: var(--light-gray);
  margin: 0 0 1.75em 0;
  padding: 2em 1.5em;
}
.flow .id_doc strong {
  color: var(--red);
}
.flow .id_doc dl {
  margin: 1.75em 0 0 0;
}
.flow .id_doc dl:first-of-type {
  margin: 0;
}
.flow .id_doc dl:last-of-type dd img {
  margin: 0;
}
.flow .id_doc dl p {
  margin: 0 0 0.5em 0;
}
.flow .id_doc dd img {
  margin: 0 0 0.75em 0;
  width: 100%;
}
.flow .packing_eg h4 + p {
  margin-bottom: 0;
}
.flow .packing_eg img.sample {
  margin-bottom: 0 0 1.5em 0;
  width: 100%;
}
/* faq.html content */
.faq ul.index_link {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 1.5em 0 0 0;
  width: 92%;
}
.faq ul.index_link li {
  margin-right: 0.75em;
}
.faq h3 {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.faq h3 span {
  background-color:  var(--dark-gray);
  border-radius: 5px;
  color: #FFF;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: normal;
  padding: 0 1em;
}
/* terms.html content */
.terms h3 {
  margin-top: 1em;
}
.terms ol {
  list-style-position: inside;
  list-style-type: decimal;
}
.terms ol li {
  margin: 0.5em 0;
}
.terms li > * {
  list-style-type: upper-roman;
  padding: 0 1em;
}
/* inquiry.html content */
.inquiry h2 {
  background-color: var(--dark-gray);
  color: #FFF;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 1.5em 0 0 0;
  padding: 0.1em 0.5em;
  text-align: center;
  width: 100%;
}
.inquiry > form div {
  margin: 0 auto;
  padding: 0;
  width: 92%;
}
.inquiry > form dl {
  padding: 1.5em 0 0 0;
}
.inquiry > form div dl:first-of-type {
  padding-top: 1em;
}
.inquiry > form dt {
  margin-bottom: 0.25em;
}
.inquiry > form dt.required::after {
  content: "*";
  color: var(--red);
  font-weight: normal;
  font-size: 1.4rem;
  margin: 0 0 0 0.3em;
}
.inquiry > form dd p.note {
  margin: 0 0 0.7rem 0;
}
.inquiry > form .caution {
  border: solid 2px var(--red);
  margin-top: 1.5em;
  padding: 1em 1.5em;
}
.inquiry > form .submit {
  background: linear-gradient(rgba(0,52,129,1),rgba(0,52,129,1));
  border-radius: 10px;
  border-bottom: solid 6px #000C33;
  font-size: 3rem;
  margin: 3rem auto 0 auto;
  padding: 0.25em 0;
  text-shadow: none;
  width: 80%;
}
.inquiry > form .reset {
  border: none;
  color: var(--blue);
  display: block;
  font-size: 1.6rem;
  text-decoration: underline;
  margin: 1.5rem auto 0 auto;
}
/* shoplist.html content */
.shoplist h2 + ul {
  display: flex;
  flex-wrap: wrap;
  margin: 1.4em auto 0 auto;
  width: 92%;
}
.shoplist h2 + ul li {
  margin-right: 1em;
}
.shoplist dl {
  border-top: solid 1px #CCC;
  padding: 1.25em 0;
}
.shoplist dl:first-of-type {
  border-top: none;
  padding-top: 0;
}
.shoplist dt {
  background-color: var(--light-blue);
  margin: 0 0 0.5em 0;
  padding: 0.2em 0 0 0.5em;
  width: 100%;
}
.shoplist dl dd {
  font-size: 1.4rem;
}
.shoplist dl dd span {
  padding-right: 0.5em;
}
.shoplist dl dd span::before {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 1em;
  margin: -0.15em 0.2em 0 0;
  vertical-align: middle;
  width: 1em;
}
.shoplist dl dd span:nth-of-type(1)::before {
  background-image: url(../images/shoplist/icon_map.svg);
}
.shoplist dl dd span:nth-of-type(2)::before {
  background-image: url(../images/shoplist/icon_tel.svg);
}
.shoplist dl dd span:nth-of-type(3)::before {
  background-image: url(../images/shoplist/icon_clock.svg);
}
.shoplist dl dd:last-of-type {
  background-color: var(--dark-gray);
  border-radius: 5px;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: normal;
  padding: 0 1em;
}
.shoplist dl dd:last-of-type a {
  color: #FFF;
  display: block;
  text-decoration: none;
}
/* thanks.html */
.content .thanks {
  margin: 0 auto 1.4em auto;
  width: 90%;
}
@media only screen and (min-width: 768px){
  /* 共通クラス */
  br.br_pc {
    display: block;
  }
  .target_item_list {
    display: flex;
    justify-content: space-between;
  }
  .target_item_list li {
    border-radius: 0px;
    display: flex;
    flex-wrap: wrap;
    height: 170px;
    justify-content: center;
    line-height: 1.3;
    margin: 0 !important;
    text-align: center;
    width: 19%;
  }
  .target_item_list li::before {
    display: block;
    height: 6rem;
    margin: 0 auto 0.8rem auto;
    text-align: center;
    width: 100%;
  }
  .qa ul {
    background-color: #FFF;
    border: solid 1px var(--dark-gray);
    padding: 0 2em;
  }
  .qa ul:last-of-type {
    margin-bottom: 0;
  }
  .qa li {
    padding: 1.35em 0 1.35em 3.5em;
  }
  .qa li:first-of-type {
    padding-top: 1.35em;
  }
  /* フォーム関連 */
  .content select {
    margin: 0.2em 0;
  }
  .content select:nth-of-type(1) {
    margin: 0.2em 0;
  }
  .content input[type="email"],
  .content input[type="tel"],
  .content input[type="text"],
  .content input[type="button"],
  .content textarea {
    width: 65%;
  }
  .content label {
    margin: 0;
  }
  /* index.html content */
  .toppage {
    margin: 0 auto;
    width: 100vw;
  }
  .toppage .main_image {
    background-color: #E3F2F9;
    text-align: center;
    width: 100%;
  }
  .toppage .main_image img {
    max-width: 1200px;
  }
  .toppage h2 {
    border-bottom: solid 2px var(--dark-blue);
    font-size: 3rem;
    line-height: 1;
    margin-bottom: 2rem;
    text-align: left;
    width: 100%;
  }
  .toppage .box {
    margin-left: auto;
    margin-right: auto;
    max-width: 1100px;
    width: 90%;
  }
  .toppage .estimate {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 5rem auto;
    max-width: 1100px;
    width: 90%;
  }
  .toppage .estimate > div:first-of-type {
    width: 67%;
  }
  .toppage .estimate h2 {
    text-align: center;
    font-size: 3.5rem;
    border-bottom: none;
    margin: 0 0 1.5rem 0;
  }
  .toppage .estimate table {
    border-left: solid 1px #000;
    border-top: solid 1px #000;
    width: 100%;
  }
  .toppage .estimate table tr {
    display: table-row;
  }
  .toppage .estimate th {
		align-items: center;
		background-color: #64B7DE;
		border-bottom: solid 1px #000;
		border-right: solid 1px #000;
		display: table-cell;
		font-size: 1.7rem;
		font-weight: bold;
		margin: 0;
		padding: 0.5rem;
		text-align: center;
		vertical-align: middle;
		width: 45%;
  }
  .toppage .estimate th::before {
    content: "";
  }
  .toppage .estimate td {
    background-color: var(--light-gray);
    border-bottom: solid 1px #000;
    border-right: solid 1px #000;
    margin: 0;
    padding: 0.7rem;
    width: 55%;
    vertical-align: middle;
  }
  .toppage .estimate table tr:first-of-type th,
  .toppage .estimate table tr:first-of-type td {
    border-top: none;
  }
  .toppage .estimate select {
    background-color: #FFF;
    box-shadow: none;
  }
  .toppage .estimate .price {
    align-content: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    width: 30%;
  }
  .toppage .estimate .price * {
    width: 100%;
  }
  .toppage .estimate .price .apply a {
    padding: 0.3em 1em;
  }
  .toppage .collection {
    align-items: center;
    background-color: var(--dark-blue);
    color: #FFF;
    display: flex;
    font-weight: bold;
    justify-content: center;
    margin: 3rem 0 0 0;
    padding: 0.5rem 0;
    text-align: center;
  }
  .toppage .collection p {
    font-size: 3rem;
  }
  .toppage .collection .btn {
    align-content: center;
    background-color: #FFF;
    border-bottom: none;
    border-radius: 10px;
    box-shadow: none;
    display: flex;
    font-size: 2.3rem;
    margin: 0 0 0 0.5rem;
  }
  .toppage .collection .btn a {
    align-items: center;
    color: var(--dark-blue);
    display: flex;
    padding: 0 1.5rem;
    width: 100%;
  }
  .toppage .collection .btn a::after {
    content: "";
    background-image: url(../images/arrow_darkblue.svg);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: contain;
    display: flex;
    height: 2.5rem;
    margin-left: 0.3em;
    width: 2.5rem;
  }
  .toppage .campaign {
    padding: 2rem 0 0 0;
  }
  .toppage .campaign ul {
    display: flex;
    justify-content: space-between;
  }
  .toppage .campaign ul li {
    margin: 0;
    width: 356px;
  }
  .toppage .feature {
    margin: 0 0 5rem 0;
    padding: 3rem 0;
  }
  .toppage .feature > * {
    margin-left: auto;
    margin-right: auto;
    max-width: 1100px;
    width: 90%;
  }
  .toppage .feature ol {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .toppage .feature ol li:nth-of-type(1) {
    margin: 1.2rem 0 1.2rem 0;
  }
  .toppage .feature ol li {
    margin: 1.2rem 0 1.2rem 0;
    max-width: 356px;
    width: 32%;
  }
  .toppage .feature ol img {
    max-width: 316px;
    width: 100%;
  }
  .toppage .target_item p {
    font-size: 2.4rem;
    font-weight: bold;
  }
  .toppage .target_item_list {
    width: 100%;
  }
  .toppage .flow {
    background-color: transparent;
    padding: 2rem 0;
  }
  .toppage .flow .tab li {
    border: none;
    font-size: 2.4rem;
    width: 49.5%;
  }
  .toppage .flow .tab li.selected {
    border: solid 1px var(--blue);
    border-bottom: solid 1px #FFF;
  }
  .toppage .flow div.web,
  .toppage .flow div.shop {
    border: none;
    border-top: solid 1px var(--blue);
    justify-content: space-between;
    margin: 0;
    padding: 0;
  }
  .toppage .flow div.web > div {
    align-items: flex-end;
    color: var(--dark-blue);
    display: flex;
    font-weight: bold;
    justify-content: space-between;
    margin-top: 1.5rem;
    text-align: center;
    width: 100%;
  }
  .toppage .flow div.web > div p {
    font-size: 2.4em;
		margin-bottom: 0;
  }
  .toppage .flow div.web > div p:nth-of-type(1) {
    background-image: url("../images/index/flow_bg.png");
    background-position: top left;
    background-repeat: no-repeat;
    height: 82px;
    padding-top: 30px;
    width: 80%;
  }
  .toppage .flow div.web > div p:nth-of-type(2) {
    align-items: center;
    background-color: var(--yellow);
    border: solid 1px var(--dark-blue);
    display: flex;
    height: 65px;
    justify-content: center;
    width: 19%;
  }
  .toppage .flow dl {
    background-color: var(--light-gray);
    border-bottom: none;
    margin: 5rem 0 0 0;
    padding: 3.5rem 0 2rem 0;
    position: relative;
  }
  .toppage .flow dl::before {
    display: block;
    height: 3rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: -2.3rem;
    width: 5rem;
  }
  .toppage .flow div.web dl {
    width: 19%;
  }
  .toppage .flow div.shop dl {
    width: 32.4%;
  }
  .toppage .flow dl:nth-of-type(1)::before {
    content: url("../images/num_01.svg");
  }
  .toppage .flow dl:nth-of-type(2)::before {
    content: url("../images/num_02.svg");
  }
  .toppage .flow dl:nth-of-type(3)::before {
    content: url("../images/num_03.svg");
  }
  .toppage .flow dl:nth-of-type(4)::before {
    content: url("../images/num_04.svg");
  }
  .toppage .flow dl:nth-of-type(5)::before {
    content: url("../images/num_05.svg");
  }
  .toppage .flow div.web dl dt::before,
  .toppage .flow div.shop dl dt::before {
    content: "";
    margin: 0;
  }
  .toppage .flow dt {
    font-size: 2.2rem;
    text-align: center;
  }
  .toppage .flow dd {
    display: block;
    font-size: 1.4rem;
    padding: 0 2rem;
  }
  .toppage .flow dd::before {
    background-position: center;
    height: 70px;
    margin: 0 auto 1rem auto;
    width: 110px;
  }
  .toppage .flow dd div {
    width: 100%;
  }
	.toppage .flow + .apply_btn {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
		padding: 0 4%;
	}
  .toppage .flow + .apply_btn p {
    width: 460px;
  }
  .toppage .flow + .apply_btn .btn a {
    padding: 0.5rem 1rem;
  }
  .toppage .mailform > * {
    margin-right: auto;
    margin-left: auto;
    max-width: 1100px;
    width: 100%;
  }
  .toppage .mailform form > div > div {
    margin: 4rem 0 0 0;
  }
  .toppage .mailform h2 {
    line-height: inherit;
    margin-right: auto;
    margin-left: auto;
  }
  .toppage .mailform h2 > span {
    display: inline-block;
    padding: 0 0 0 1rem;
  }
  .toppage .mailform h3 {
    background-color: transparent;
    color: var(--dark-gray);
    font-size: 2.5rem;
    margin: 0 0 1rem 0;
    padding: 0;
    text-align: left;
  }
  .toppage .mailform dl {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    width: 100%;
  }
  .toppage .mailform dt {
    background-color: var(--light-gray);
    margin-bottom: 0;
    text-align: left;
    padding: 3rem;
    width: 20%;
  }
  .toppage .mailform dt br {
    display: block;
  }
  .toppage .mailform dd {
    padding: 3rem;
    width: 80%;
  }
  .toppage .mailform dd > p {
    margin-bottom: 1rem;
    width: 100%;
  }
  .toppage .mailform select {
    width: 65%;
  }
  .toppage .mailform .personal_info dd.name {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .toppage .mailform .personal_info dd.name label {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 3rem 0 0;
    width: 50%;
  }
  .toppage .mailform .personal_info dd.name label:nth-of-type(2) {
    padding-right: 0;
  }
  .toppage .mailform .personal_info dd.name label input[type="text"] {
    margin: 0 0 0 1.5rem;
    width: 87%;
  }
  .toppage .mailform .personal_info dd.birthday {
    align-content: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .toppage .mailform .personal_info dd.birthday select {
    width: 21%;
    margin-right: 1rem;
  }
  .toppage .mailform .kyc dd.upload label {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 80%;
  }
  .toppage .mailform .kyc dd.upload label span {
  }
  .toppage .mailform .kyc dd.upload label input[type="file"] {
    width: 60%;
  }
  .toppage .mailform .kyc dd.upload button {
    width: 30%;
  }
	.toppage .mailform .invoice > div dl:nth-of-type(1) {
		border-top: solid 1px #CCC;
		padding: 0;
	}
	.toppage .mailform .invoice dd.radio {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
	}
	.toppage .mailform .invoice dd.radio p {
		width: 100%;
	}
	.toppage .mailform .invoice dd.radio label {
		display: block;
		width: 30%;
	}
	.toppage .mailform .invoice dd.ratio input[type="text"] {
		width: 20%;
	}
  .toppage .mailform .item_info .item_info_detail dl {
    padding: 0;
  }
  .toppage .mailform .item_info dl {
    margin: 0;
  }
  .toppage .mailform .item_info > dl dd label {
    width: 50%;
  }
  .toppage .mailform .item_info dt::after {
    content: "";
  }
  .toppage .mailform .item_info dd p {
    margin: 0;
  }
  .toppage .mailform .item_info .correct {
    background-color: transparent;
    border: solid 1px var(--dark-gray);
    border-radius: 0px;
    box-shadow: none;
    display: inline-block;
    margin: 3rem 0 0 0;
    padding: 0;
    transition: all 0.3s 0s ease;
    width: auto;
  }
  .toppage .mailform .item_info .correct:hover {
    background-color: var(--light-gray);
  }
  .toppage .mailform .item_info .correct a {
    color: var(--dark-gray);
    display: block;
    height: 100%;
    padding: 0.8rem 3rem;
    width: 100%;
  }
  .toppage .mailform .item_info .item_info_detail dt::after {
    content: "";
  }
  .toppage .mailform .account_info dd.account_type label {
    width: 15%;
  }
  .toppage .mailform .shipping dd.shipping_method {
  }
  .toppage .mailform .shipping dd.shipping_method label {
  }
  .toppage .mailform .shipping dd.box_num label select,
  .toppage .mailform .shipping dd.kit_l_num label select,
  .toppage .mailform .shipping dd.kit_s_num label select {
    width: 15%;
  }
  .toppage .mailform .shipping dd.box_num .boxsize {
    margin-top: 1.5em;
    width: 610px;
  }
  .toppage .mailform .other dl:last-of-type {
    border-bottom: none;
  }
  .toppage .mailform .other dd.cancel {
    display: flex;
    align-items: center;
  }
  .toppage .mailform .other dd.cancel label {
    width: 100%;
  }
  .toppage .mailform .confirm {
    margin-top: 2em;
  }
  .toppage .mailform .confirm dl {
    border: none;
    display: block;
  }
  .toppage .mailform .confirm dl dt {
    background-color: transparent;
    width: 100%;
    padding: 0;
    margin: 0 0 0.5rem 0;
  }
  .toppage .mailform .confirm dl dd {
    width: 100%;
    padding: 0;
  }
  .toppage .mailform .confirm .caution {
    border: solid 1px var(--red);
    margin: 6rem auto;
    padding: 2rem 3rem;
    width: 70%;
  }
  .toppage .mailform .submit {
    width: 30%;
  }
  .toppage .campaign .btn {
    font-size: 2.5rem;
    margin: 2.5rem auto;
    text-align: center;
    width: 60%;
  }
  .toppage .campaign .btn a {
    display: block;
  }
  .toppage .campaign .btn a img {
    vertical-align: middle;
    width: 1em;
  }
  /* index.html以外共通 */
  .page {
    margin: 0 auto;
    max-width: 1100px;
    width: 90%;
  }
  .page h2 {
    background-color: transparent;
    color: var(--dark-blue);
    font-size: 5rem;
    margin: 0.5em 0 0 0;
    padding: 0;
  }
  .page h3 {
    border-left: solid 9px var(--blue);
    font-size: 3.2rem;
    margin: 0.5em 0 0.75em 0;
    padding: 0.15em 0 0 0.5em !important;
  }
  .page h4 {
    font-size: 2.2rem;
  }
  .page h5 {
    background-color: var(--light-gray);
    color: #000;
    font-weight: bold;
    font-size: 1.6rem;
    padding: 0.25em 1em;
  }
  .page h6 {
    color: var(--red);
    font-weight: bold;
    font-size: 1.8rem;
    margin: 1em 0 0 0;
  }
  .page > div {
    padding: 0.5em 0;
    width: 100%;
  }
  .page > div > * {
    padding: 0 50px;
  }
  .page > div p {
    margin: 0.7em 0;
  }
  .page > div > div {
    padding: 25px 50px 0 50px;
  }
  /* flow_delivery.html content,flow_shop.html content */
  .flow > div {
    background-color: #F4FAFD;
    margin: 100px 0 0 0;
    padding: 0 50px 50px 50px;
    position: relative;
  }
  .flow > div:nth-of-type(1) {
    margin: 50px 0 0 0;
  }
  .flow > div::before {
    display: block;
    left: 50%;
    position: absolute;
    text-align: center;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 180px;
  }
  .flow_delivery > div:nth-of-type(1)::before {
    content: url("../images/flow_delivery/icon_01.png");
    top: -50px;
  }
  .flow_delivery > div:nth-of-type(2)::before {
    content: url("../images/flow_delivery/icon_02.png");
    top: -80px;
  }
  .flow_delivery > div:nth-of-type(3)::before {
    content: url("../images/flow_delivery/icon_03.png");
    top: -50px;
  }
  .flow_delivery > div:nth-of-type(4)::before {
    content: url("../images/flow_delivery/icon_04.png");
    top: -50px;
  }
  .flow_shop > div:nth-of-type(1)::before {
    content: url("../images/flow_shop/icon_01.png");
    top: -50px;
  }
  .flow_shop > div:nth-of-type(2)::before {
    content: url("../images/flow_shop/icon_02.png");
    top: -50px;
  }
  .flow_shop > div:nth-of-type(3)::before {
    content: url("../images/flow_shop/icon_03.png");
    top: -50px;
  }
  .flow.page h3 {
    background-color: transparent;
    border-bottom: solid 2px var(--blue);
    border-left: none;
    justify-content: center;
    padding: 60px 0 0 0 !important;
  }
  .flow h3 strong {
    color: var(--blue);
  }
  .flow h3 span {
    background-color: transparent;
    color: var(--blue);
    padding: 0;
  }
  .flow h3 span::after {
    content: ".";
  }
  .flow h3 + p {
    padding: 0 25px;
  }
  .flow h3 + p > img {
    display: none;
  }
  .flow > div > div {
    padding: 0;
    margin: 5em 0 0 0
  }
  .flow > div > div p {
    padding: 0 25px;
  }
  .flow > div ul {
    padding: 0 25px;
  }
  .flow .id_doc {
    background-color: transparent;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0;
    padding: 0 25px;
  }
  .flow .id_doc dl {
    width: 47%;
  }
  .flow .id_doc dl:first-of-type {
    margin: 1.75em 0 0 0;
  }
  .flow .id_doc dl dt {
    font-size: 1.8rem;
  }
  .flow .id_doc dl dd {
    margin: 0.5em 0 0 0;
  }
  .flow .id_doc dl dd img {
    height: 118px;
    width: 358px;
  }
  .flow .id_doc dl p {
    padding: 0;
  }
  .flow .packing_eg img.sample {
    margin: 2em 0;
    padding: 0 25px;
  }
  .flow .packing_eg img.sample:nth-of-type(1) {
    height: 159px;
    width: 561px;
  }
  .flow .packing_eg img.sample:nth-of-type(2) {
    height: 184px;
    width: 551px;
  }
  /* faq.html content */
  .faq ul.index_link {
    padding: 0;
    width: 100%;
  }
  .faq ul.index_link li {
    margin-right: 2em;
  }
  .faq h3 {
    justify-content: flex-start;
  }
  .faq > div {
    padding-bottom: 50px;
  }
  .faq h3 span {
    font-size: 1.6rem;
    margin-left: 1em;
  }
  /* terms.html content */
  .terms > div {
    min-width: 700px;
    margin: 0 auto;
    width: 75%;
  }
  .terms > div > * {
    padding-right: 0;
    padding-left: 0;
  }
  .terms h2 {
    border-bottom: solid 2px var(--dark-blue);
    font-size: 3.5rem;
    margin: 2.5rem auto 0 auto;
    min-width: 700px;
    width: 75%;
  }
  .terms h3 {
    font-size: 2.2rem;
    margin-top: 1.25em;
  }
  .terms ol li {
    margin: 1.5em 0;
  }
  
  /* inquiry.html content */
  .inquiry > form div {
    min-width: 700px;
    width: 75%;
  }
  .inquiry h2 {
    border-bottom: solid 2px var(--dark-blue);
    font-size: 3.5rem;
    min-width: 700px;
    margin: 2.5rem auto 0 auto;
    text-align: left;
    width: 75%;
  }
  .inquiry h2 > span {
    color: var(--red);
    font-weight: normal;
  }
  .inquiry > form > div dl {
    border-top: solid 1px #CCC;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    width: 100%;
  }
  .inquiry > form > div dl:first-of-type {
    margin-top: 2em;
    padding-top: 0;
  }
  .inquiry > form > div dl:last-of-type {
    border-bottom: solid 1px #CCC;
    margin-bottom: 3em;
  }
  .inquiry > form > div dt {
    background-color: var(--light-gray);
    margin-bottom: 0;
    text-align: left;
    padding: 3rem;
    width: 30%;
  }
  .inquiry > form > div dd {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    padding: 3rem;
    width: 70%;
  }
  .inquiry > form > div dd > p {
    margin-bottom: 1rem;
    width: 100%;
  }
  .inquiry > form > div dd input[type="email"],
  .inquiry > form > div dd input[type="tel"],
  .inquiry > form > div dd input[type="text"],
  .inquiry > form > div dd input[type="button"],
  .inquiry > form > div dd textarea {
    width: 80%;
  }
  .inquiry > form > div .submit {
    width: 30%;
  }
  /* shoplist.html content */
  .shoplist h2 + ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 1.4em auto 0 auto;
    width: 100%;
  }
  .shoplist h2 + ul li {
    background-color: #E0F1F8;
    margin: 0 0 3px 0;
    width: 19.7%;
  }
  .shoplist h2 + ul li a {
    color: #000;
    display: block;
    height: 100%;
    text-decoration: none;
    padding: 0.75em 1em;
    width: 100%;
  }
  .shoplist h2 + ul li a::before {
    background-image: url("../images/arrow_blue_circle.svg");
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 1em;
    margin: 0 0.35em 0 0;
    vertical-align: middle;
    width: 1em;
  }
  .shoplist h3 {
    font-size: 2.2rem;
    margin: 2em 0 0 0;
    padding: 0 !important;
    border-left: none;
    background-color: transparent;
  }
  .shoplist h3::before {
    background-image: url(../images/circle_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 1em;
    margin: 0 0.35em 0 0;
    vertical-align: middle;
    width: 1em;
  }
  .shoplist dl {
    align-items: center;
    border-top: solid 1px var(--dark-gray);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 1.25em;
  }
  .shoplist dl:first-of-type {
    padding-top: 1.25em;
  }
  .shoplist dt {
    background-color: transparent;
    font-size: 1.8rem;
    margin: 0;
    padding: 0;
    width: 20%;
  }
  .shoplist dl dd {
    font-size: 1.6rem;
    display: flex;
    flex-wrap: wrap;
  }
  .shoplist dl dd span {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    padding-right: 1em;
  }
  .shoplist dl dd span:first-of-type {
    width: 100%;
  }
  .shoplist dl dd:first-of-type {
    width: 70%;
  }
  /* thanks.html */
  .content .thanks {
    max-width: 1000px;
    width: 60%;
  }
}