@charset "UTF-8";
/*=======================================
フォント
=======================================*/
/*Roboto*/
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,700;1,400&display=swap");
@import url("https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css");
.en_tx {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
}
/*★remixicon*/
/*★Noto Sans JP*/
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 100;
  src: local("Noto Sans CJK JP Thin"), url(../fonts/NotoSansJP-Thin.woff2) format("woff2"), url(../fonts/NotoSansJP-Thin.woff) format("woff"), url(../fonts/NotoSansJP-Thin.otf) format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  src: local("Noto Sans CJK JP Light"), url(../fonts/NotoSansJP-Light.woff2) format("woff2"), url(../fonts/NotoSansJP-Light.woff) format("woff"), url(../fonts/NotoSansJP-Light.otf) format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: local("Noto Sans CJK JP Regular"), url(../fonts/NotoSansJP-Regular.woff2) format("woff2"), url(../fonts/NotoSansJP-Regular.woff) format("woff"), url(../fonts/NotoSansJP-Regular.otf) format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: local("Noto Sans CJK JP Medium"), url(../fonts/NotoSansJP-Medium.woff2) format("woff2"), url(../fonts/NotoSansJP-Medium.woff) format("woff"), url(../fonts/NotoSansJP-Medium.otf) format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: local("Noto Sans CJK JP Bold"), url(../fonts/NotoSansJP-Bold.woff2) format("woff2"), url(../fonts/NotoSansJP-Bold.woff) format("woff"), url(../fonts/NotoSansJP-Bold.otf) format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 900;
  src: local("Noto Sans CJK JP Black"), url(../fonts/NotoSansJP-Black.woff2) format("woff2"), url(../fonts/NotoSansJP-Black.woff) format("woff"), url(../fonts/NotoSansJP-Black.otf) format("opentype");
}
/*=======================================
formリセット
=======================================*/
input[type=text], input[type=tel] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  box-sizing: border-box;
  font-size: 1.4rem;
  font-family: "Noto Sans JP";
}
@media print, screen and (min-width: 992px) {
  input[type=text], input[type=tel] {
    font-size: 14px;
  }
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
  box-sizing: border-box;
  font-size: 1.4rem;
  font-family: "Noto Sans JP";
}
@media print, screen and (min-width: 992px) {
  select {
    font-size: 14px;
  }
}
button, input[type=submit], input[type=date] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  box-sizing: border-box;
  font-size: 1.4rem;
  font-family: "Noto Sans JP";
}
@media print, screen and (min-width: 992px) {
  button, input[type=submit], input[type=date] {
    font-size: 14px;
  }
}
input[type=keyword] {
  font-family: "Noto Sans JP";
}
input.short{
  width:6em;
}
.second_label{
  line-height: 150%;
}
#vps_postal{
  margin-top:10px;
}
input[type=text]{
  margin-top:10px;
}
table.contact_table table{
  width:100%;
  border:0px solid #fff;
}
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  box-sizing: border-box;
  font-size: 1.4rem;
  font-family: "Noto Sans JP";
}
@media print, screen and (min-width: 992px) {
  textarea {
    font-size: 14px;
  }
}
label {
  white-space: nowrap;
  padding-right: 16px;
}
label input[type=checkbox], label input[type=radio] {
  margin-right: 0.2em;
}
/*form*/ :root {
  --form_bd: #acacac;
  --form_bg: #fff;
}
/*body*/
html {
  overflow-x: hidden;
}
body {
  color: #000;
  overflow-x: hidden;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-weight: 400;
}
figure {
  margin: 0;
  padding: 0;
}
/*=======================================
header
=======================================*/
header {
  padding-left: 16px;
  padding-right: 16px;
  padding-bottom: 16px;
}
@media print, screen and (min-width: 768px) {
  header {
    padding-left: clamp(30px, 4.4vw, 60px);
    padding-right: clamp(30px, 4.4vw, 60px);
  }
}
@media print, screen and (min-width: 1200px) {
  header {
    padding-bottom: 0;
  }
}
.header_wrap {
  width: 100%;
  box-sizing: border-box;
  padding-top: 16px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .header_wrap {
    padding: 0;
    position: relative;
    justify-content: space-between;
  }
}
.logo_group {
  display: flex;
  flex-direction: column;
  padding: 8px 0;
}
.mainlogo {
  width: 120px;
  text-align: left;
  margin-bottom: 6px;
  float: left;
}
.mainlogo a:hover {
  opacity: 0.8;
}
.mainlogo img {
  max-width: 100%;
  height: auto;
}
.sub_text {
  display: block;
  width: auto;
  font-size: 12px;
  text-align: left;
}
.sub_text h1, .sub_text p {
  font-size: 0.8rem;
  line-height: 1.5;
  display: inline;
}
@media print, screen and (min-width: 768px) {
  .logo_group {
    height: calc(70px + 16px + 16px);
  }
  .mainlogo {
    width: clamp(160px, 19.77vw, 270px);
  }
  .sub_text h1, .sub_text p {
    display: block;
  }
}
@media print, screen and (min-width: 1200px) {
  .logo_group {
    flex-direction: row;
    align-items: center;
    gap: clamp(16px, 1.76vw, 24px);
    height: calc(70px + 24px + 24px);
    padding: 0;
  }
  .sub_text h1, .sub_text p {
    font-size: 1.2rem;
  }
}
.h_search_warap {
  width: 100%;
  white-space: nowrap;
}
.h_search_warap .search_box {
  box-sizing: border-box;
  border: 1px solid #111;
}
.h_search_warap .search_box form {
  display: flex;
  width: 100%;
  height: 100%;
}
.h_search_warap .search_box input[type=keyword] {
  width: calc(100% - 48px);
  font-size: 1.4rem;
  background: #ebebee;
  color: #666;
}
.h_search_warap .search_box button[type=submit] {
  width: 48px;
  height: 40px;
  padding: 0;
  font-size: 1.4em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media print, screen and (min-width: 768px) {
  .h_search_warap {
    width: 180px;
    margin-left: auto;
    margin-right: 8px;
  }
  .h_search_warap .search_box button[type=submit] {
    height: 48px;
  }
}
@media print, screen and (min-width: 1200px) {
  .h_search_warap {
    margin-right: 32px;
  }
}
@media print, screen and (min-width: 1360px) {
  .h_search_warap {
    width: clamp(180px, 24.89vw, 340px);
  }
}
/*=======================================
nav / drill → mega
=======================================*/
#mainnavi {
  width: 100%;
  height: 100vh;
  display: none;
  position: fixed;
  right: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9000;
}
#mainnavi .nav_inner {
  width: 90vw;
  height: 100vh;
  position: absolute;
  right: -90vw;
  transition: 0.3s;
}
#mainnavi .nav_inner.slide_animation {
  right: 0;
}
#mainnavi .nav_inner > div {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  transition: 0.3s;
}
@media print, screen and (min-width: 768px) {
  #mainnavi {
    width: 100%;
    height: auto;
    background: #fff;
    top: calc(40px + 70px + 16px + 16px);
    position: absolute;
  }
  #mainnavi .nav_inner {
    width: 100%;
    height: initial;
    position: static;
    right: 0;
    -webkit-transform: translateY(-100%) scaleY(0);
    transform: translateY(-100%) scaleY(0);
    opacity: 0;
  }
  #mainnavi .nav_inner.slide_animation {
    -webkit-animation: nav_slide ease 0.4s forwards;
    animation: nav_slide ease 0.4s forwards;
  }
  #mainnavi .nav_inner > div {
    width: auto;
    height: initial;
    position: static;
    transition: 0.3s;
  }
}
@media print, screen and (min-width: 1200px) {
  #mainnavi {
    top: calc(40px + 70px + 24px + 24px);
  }
}
@-webkit-keyframes nav_slide {
  0% {
    -webkit-transform: translateY(-100%) scaleY(0);
    transform: translateY(-100%) scaleY(0);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0) scaleY(1);
    transform: translateY(0) scaleY(1);
    opacity: 1;
  }
}
@keyframes nav_slide {
  0% {
    -webkit-transform: translateY(-100%) scaleY(0);
    transform: translateY(-100%) scaleY(0);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0) scaleY(1);
    transform: translateY(0) scaleY(1);
    opacity: 1;
  }
}
/*1階層*/
.first_nav_wrap {
  background: #fff;
  box-sizing: border-box;
  padding: 80px 24px 0;
}
@media print, screen and (min-width: 768px) {
  .first_nav_wrap {
    display: none;
  }
}
/*閉じるボタン	*/
.close_btn, .back_first a {
  background: #eee;
  font-size: 1.6rem;
  text-align: right;
  box-sizing: border-box;
  color: #696969;
  margin-top: 40px;
  padding: 8px 16px;
  line-height: 1;
}
.close_btn i, .back_first a i {
  font-size: 2.4rem;
  margin-left: 6px;
  vertical-align: middle;
}
/*2階層*/ :root {
  --mega_gap: 16px;
}
.second_nav_wrap {
  /*display: none;*/
  right: -100vw;
  background: #fff;
  box-sizing: border-box;
  padding: 80px 24px 0;
}
.second_nav_wrap.open_second {
  right: 0;
  z-index: 2000;
}
.second_nav_wrap .category {
  display: none;
}
.second_nav_wrap .category.is_show {
  display: block;
}
@media print, screen and (min-width: 768px) {
  .second_nav_wrap {
    right: 0;
    display: flex;
    flex-wrap: wrap;
    padding: 30px 0;
    gap: 30px 0;
  }
  .second_nav_wrap .category {
    display: block;
    width: calc(20% - 1px);
    min-width: calc(20% - 1px);
    box-sizing: border-box;
    padding: 0 20px;
  }
  .second_nav_wrap .category:not(:nth-child(6n-1)) {
    border-right: 1px solid #005bac;
  }
}
@media print, screen and (min-width: 1200px) {
  .second_nav_wrap .category {
    padding: 0 40px;
  }
}
/*2階層戻るボタン*/
.back_first a {
  text-decoration: none;
  padding: 8px 16px 8px 10px;
  display: block;
  text-align: left;
}
.back_first a i {
  margin-left: 0;
  margin-right: 6px;
}
@media print, screen and (min-width: 768px) {
  .back_first {
    display: none;
  }
}
/*nav parts==*/
.nav_ti {
  text-align: left;
  font-weight: 700;
  font-size: clamp(1.6rem, 1.32vw, 1.8rem);
  color: #005bac;
}
/*
.nav_ti span {
  font-size: 1.6rem;
  font-weight: 700;
  padding-left: 1em;
  line-height: 1.2;
  position: relative;
  display: inline-block;
}
.nav_ti span::before {
  content: "";
  display: block;
  width: 5px;
  height: 15px;
  background: #005bac;
  position: absolute;
  left: 0;
  top: 2px;
  line-height: 1.2;
}
*/
.nav_ti + [class$=_nav] {
  margin-top: 20px;
}
[class$=_nav] + .nav_ti {
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px solid #cecece;
}
/**/
.sp_nav, .first_nav, .second_inner_nav {
  text-align: left;
}
.sp_nav > li > a, .first_nav > li > a, .second_inner_nav > li > a {
  display: block;
  text-decoration: none;
  font-size: 1.6rem;
  color: #000;
  line-height: 1.2;
}
.sp_nav > li > a:hover, .first_nav > li > a:hover, .second_inner_nav > li > a:hover {
  text-decoration: underline;
  opacity: 0.8;
}
.sp_nav > li > a i, .first_nav > li > a i, .second_inner_nav > li > a i {
  vertical-align: middle;
  margin-left: 8px;
  color: #005bac;
}
.sp_nav > li > ul, .first_nav > li > ul, .second_inner_nav > li > ul {
  margin-top: 1em;
}
.sp_nav > li > ul > li, .first_nav > li > ul > li, .second_inner_nav > li > ul > li {
  position: relative;
}
.sp_nav > li > ul > li > a, .first_nav > li > ul > li > a, .second_inner_nav > li > ul > li > a {
  text-decoration: none;
  color: #000;
  font-size: 1.4rem;
  padding-left: 1em;
}
.sp_nav > li > ul > li::before, .first_nav > li > ul > li::before, .second_inner_nav > li > ul > li::before {
  content: ">";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
.sp_nav > li > ul > li + li, .first_nav > li > ul > li + li, .second_inner_nav > li > ul > li + li {
  margin-top: 0.5em;
}
.sp_nav > li + li, .first_nav > li + li, .second_inner_nav > li + li {
  margin-top: 1.6em;
}
/*===================toggle*/
.toggle {
  width: 40px;
  height: 40px;
  background: #005bac;
  text-align: center;
  position: absolute;
  right: 16px;
  top: 20px;
  transition: 0.2s;
  z-index: 9001;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #111;
}
.toggle.open {
  position: fixed;
}
@media print, screen and (min-width: 768px) {
  .toggle {
    top: calc(40px + 16px);
    right: 0;
    width: 70px;
    height: 70px;
  }
  .toggle:hover {
    background: #3c90e6;
  }
  .toggle:hover .menu_trigger span {
    background: #fff;
  }
  .toggle:hover .menu_trigger::after {
    color: #fff;
  }
  .toggle.open {
    position: absolute;
  }
}
@media print, screen and (min-width: 1200px) {
  .toggle {
    top: calc(40px + 24px);
  }
}
.menu_trigger {
  position: relative;
  width: 16px;
  height: 18px;
  transition: 0.2s;
  display: block;
}
.menu_trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 18px;
  height: 2px;
  background-color: #fff;
}
.menu_trigger span:nth-of-type(1) {
  top: 0;
}
.menu_trigger span:nth-of-type(2) {
  top: 8px;
}
.menu_trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu_trigger.onmenu span:nth-of-type(1) {
  width: 60%;
  -webkit-transform: translate3d(2px, 5px, 0) rotate(45deg);
  transform: translate3d(2px, 5px, 0) rotate(45deg);
  top: 0;
  left: -2px;
}
.menu_trigger.onmenu span:nth-of-type(2) {
  -webkit-transform: translate3d(-1px, 0, 0) rotate(-45deg);
  transform: translate3d(-1px, 0, 0) rotate(-45deg);
}
.menu_trigger.onmenu span:nth-of-type(3) {
  width: 60%;
  -webkit-transform: translate3d(14px, -5px, 0) rotate(45deg);
  transform: translate3d(14px, -5px, 0) rotate(45deg);
  bottom: 0px;
  left: -8px;
}
/*=======================================
header nav
=======================================*/
.h_nav {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .h_nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 40px;
    border-bottom: 1px solid #111;
  }
  .h_nav > li {
    padding-left: 8px;
  }
  .h_nav > li a {
    font-size: 1.2rem;
    text-decoration: none;
    color: #333333;
    transition: 0.2s;
    line-height: 1;
  }
  .h_nav > li a:hover {
    text-decoration: underline;
    opacity: 0.8;
  }
  .h_nav > li:not(:last-child) {
    position: relative;
    padding-right: 8px;
  }
  .h_nav > li:not(:last-child)::before {
    content: "";
    width: 1px;
    height: 12px;
    background: #111;
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
/*
@media print, screen and (min-width: 1200px) {
  .h_nav {
    position: absolute;
    padding-right: 0;
    right: 24px;
    top: 12px;
  }
}
@media print, screen and (min-width: 1366px) {
  .h_nav {
    right: 40px;
  }
}
*/
/*=======================================
login_nav
=======================================*/
.login_nav_wrap {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  position: absolute;
  top: 20px;
  right: calc(40px + 16px - 1px);
}
@media print, screen and (min-width: 768px) {
  .login_nav_wrap {
    position: static;
    margin-top: 0;
    width: auto;
    max-width: calc(50% - 30px);
  }
}
.login_nav_wrap > div {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  min-width: 46px;
  height: 40px;
  height: 40px;
  transition: 0.2s;
  cursor: pointer;
  position: relative;
  border-top: 1px solid #111;
  border-bottom: 1px solid #111;
  border-right: 1px solid #111;
}
.login_nav_wrap > div:first-child {
  border-left: 1px solid #111;
}
.login_nav_wrap > div.user_logout {
  border-top: none;
  border-bottom: none;
  border-left: none;
}
.login_nav_wrap > div > a {
  display: block;
  width: 100%;
  text-decoration: none;
  color: #000;
  line-height: 1;
}
.login_nav_wrap > div > a i {
  font-size: 2.4rem;
  line-height: 1;
}
/*
.login_nav_wrap > div.user_login {
  flex-shrink: 1;
  flex-grow: 2;
}
*/
.login_nav_wrap > div.user_login > a {
  display: flex;
  align-items: center;
  justify-content: center;
}
.login_nav_wrap > div.user_login > a .user_tx {
  display: none;
}
.login_nav_wrap > div.user_login.inactive {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .login_nav_wrap > div.user_login {
    flex-grow: 1;
    flex-grow: 1;
  }
  .login_nav_wrap > div.user_login > a {
    flex-direction: column;
  }
  .login_nav_wrap > div.user_login > a .user_tx {
    display: block;
  }
}
.login_nav_wrap > div.user_logout {
  background: #f8efca;
}
.login_nav_wrap > div.user_logout.shop_login {
  background: #cef3d9;
}
/*
.login_nav_wrap > div.user_logout > a {
  min-width: 120px;
}
*/
.login_nav_wrap > div.user_logout.inactive {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .login_nav_wrap {
    padding-right: calc(70px - 1px);
  }
  .login_nav_wrap > div.user_logout {
    flex-grow: 1;
  }
  .login_nav_wrap > div.user_logout > a {
    min-width: initial;
  }
}
/*
.login_nav_wrap > div.user_favorite {
  flex-grow: 2;
  flex-shrink: 2;
}
*/
.login_nav_wrap > div.user_favorite > a {
  display: flex;
  align-items: center;
  justify-content: center;
}
.login_nav_wrap > div.user_favorite > a .user_tx {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .login_nav_wrap > div.user_favorite > a {
    flex-direction: column;
  }
}
.login_nav_wrap > div.user_cart {
  position: relative;
}
.login_nav_wrap > div > a i {
  color: #005bac;
}
.login_nav_wrap > div.user_cart .cart_badge {
  position: absolute;
  background: #ff9d00;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  width: 16px;
  height: 16px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  right: 2px;
  top: 2px;
  text-shadow: 0 1px 0 #ff9d00, 1px 0 0 #ff9d00, 0 -1px 0 #ff9d00, -1px 0 0 #ff9d00, -1px -1px 0 #ff9d00, 1px -1px 0 #ff9d00, -1px 1px 0 #ff9d00, 1px 1px 0 #ff9d00;
}
@media print, screen and (min-width: 768px) {
  .login_nav_wrap > div.user_cart .cart_badge {
    right: 12px;
    top: 4px;
  }
}
@media print, screen and (min-width: 768px) {
  .login_nav_wrap > div {
    min-width: 70px;
    height: 70px;
  }
  .login_nav_wrap > div:hover {
    background: #005bac;
  }
  .login_nav_wrap > div:hover .user_name, .login_nav_wrap > div:hover .user_name .s_tx {
    color: #fff;
  }
  .login_nav_wrap > div:hover .user_tx {
    color: #fff;
  }
  .login_nav_wrap > div:hover > a i {
    color: #fff;
  }
}
.user_name {
  font-size: 1rem;
  padding: 2px 6px;
  display: flex;
  align-items: center;
  line-height: 1;
  text-align: left;
}
.user_name .name {
  overflow: hidden;
  width: 5em;
  font-size: 12px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  /* autoprefixer: off */
  -webkit-box-orient: vertical;
}
.user_name .s_tx {
  font-size: 0.8em;
  color: #666;
  display: flex;
  height: 100%;
  margin-top: auto;
}
@media print, screen and (min-width: 768px) {
  .user_name {
    padding: 6px 16px;
  }
  .user_name .name {
    width: 8em;
    font-size: 1.2rem;
  }
  .user_name em {
    max-width: initial;
  }
}
@media print, screen and (min-width: 1200px) {
  .user_name .name {
    font-size: 1.4rem;
  }
}
.user_tx {
  font-size: 0.8rem;
  line-height: 1;
  font-size: 1.4rem;
  padding-left: 6px;
}
.user_tx.cart_tx {
  display: none;
}
.user_tx.logout_tx {
  font-size: 1.2rem;
}
@media print, screen and (min-width: 768px) {
  .user_tx {
    font-size: 1.2rem;
    padding-top: 4px;
    padding-left: 0;
  }
  .user_tx.cart_tx {
    display: block;
  }
}
/*マイページ*/
.user_login_box {
  display: none;
  position: absolute;
  background: #fff;
  z-index: 3000;
  border: 1px solid #cecece;
  box-sizing: border-box;
  padding: 15px 10px;
  top: 40px;
  left: 50%;
  margin: 0 auto;
  min-width: 220px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.user_login_box hr {
  height: 1px;
  clear: both;
  margin: 6px 0px;
  border: none;
  border-top: 1px solid #cecece;
}
@media print, screen and (min-width: 768px) {
  .user_login_box {
    top: 70px;
  }
}
.mypage_nav {
  text-align: left;
  padding-left: 0.5em;
}
.mypage_nav li a {
  color: #000;
  font-size: 1.4rem;
}
.mypage_nav li a:hover {
  color: #ff9d00;
}
.mypage_nav > li > ul > li {
  padding-left: 1em;
  position: relative;
}
.mypage_nav > li > ul > li::before {
  content: "・";
  display: block;
  position: absolute;
  left: 0;
  top: 2px;
}
.mypage_nav + .col01 {
  margin-top: 8px;
}
.register a {
  color: #ff9d00;
  font-size: 1.4rem;
  margin-top: 12px;
  display: block;
}
.register a:hover {
  opacity: 0.8;
}
/*=======================================
footer banner
=======================================*/
#promotion.section_wrap {
  padding-top: 20px;
}
#promotion [class^=ly_card] li img {
  max-width: 100%;
  transition: 0.2s;
}
#promotion [class^=ly_card] li img:hover {
  opacity: 0.8;
}
/*3columnのときはタイミングを変える*/
@media print, screen and (min-width: 768px) {
  #promotion .ly_card_3column > div, #promotion .ly_card_3column > li {
    width: calc(50% - var(--lay_gap_md) / 2);
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 1200px) {
  #promotion .ly_card_3column > div, #promotion .ly_card_3column > li {
    width: calc(33.3333333333% - var(--lay_gap_md) * 2 / 3);
  }
}
/*=======================================
footer contact
=======================================*/
.ly_f_contact {
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 768px) {
  .ly_f_contact {
    flex-direction: row;
  }
  .ly_f_contact .f_contact_tel, .ly_f_contact .f_contact_mail {
    width: 50%;
  }
}
/*.f_contact_tel*/
#f_contact.section_wrap {
  padding-bottom: 0;
}
.f_contact_tel {
  background: #111;
  color: #fff;
  display: flex;
  flex-direction: column;
  padding: 16px;
}
.f_contact_tel a {
  color: inherit;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .f_contact_tel a {
    pointer-events: none;
    text-decoration: none;
  }
}
@media print, screen and (min-width: 768px) {
  .f_contact_tel {
    padding: 40px 16px;
  }
}
.f_tel_ti {
  font-size: clamp(1.6rem, 1.76vw, 2.4rem);
  margin-bottom: 6px;
}
.f_tel {
  font-size: clamp(3.2rem, 4.39vw, 6rem);
  line-height: 1;
  margin-bottom: 6px;
}
.f_tel img {
  width: clamp(32px, 4.39vw, 60px);
  height: auto;
  vertical-align: middle;
  margin-right: 0.4em;
}
.f_tel_tx {
  font-size: clamp(14px, 1.17vw, 16px);
  line-height: 1.2;
}
/*f_contact_mail"*/
.f_contact_mail a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #005bac;
  color: #fff;
  text-decoration: none;
  padding: 16px;
  transition: 0.2s;
}
.f_contact_mail a:hover {
  opacity: 0.8;
}
@media print, screen and (min-width: 768px) {
  .f_contact_mail a {
    padding: 40px 16px;
  }
}
.mail_btn {
  font-weight: 700;
  line-height: 1;
  font-size: clamp(2rem, 2.64vw, 3.6rem);
}
.mail_btn i {
  vertical-align: middle;
  margin-right: 0.4em;
  font-size: 1.4em;
}
.f_mial_ti {
  background: #fff;
  width: 90%;
  max-width: 460px;
  margin: 6px auto 0;
  color: #005bac;
  font-size: clamp(1.6rem, 1.76vw, 2.4rem);
}
/*=======================================
footer guide
=======================================*/
@media print, screen and (min-width: 768px) {
  #footer_guide.section_wrap {
    padding-bottom: clamp(40px, 5.86vw, 80px);
  }
}
.guide_box {
  text-align: left;
}
.guide_box + .guide_box {
  margin-top: 32px;
}
.guide_box .list_basic01 li {
  font-size: 1.4rem;
}
.guide_box .cts_p {
  font-size: 1.4rem;
}
.f_guide_ti {
  font-size: 1.4rem;
  margin-bottom: 0.5em;
}
/*=======================================
footer
=======================================*/
footer {
  background: #005bac;
  color: #fff;
  position: relative;
}
footer.section_wrap {
  padding-top: 30px;
  padding-bottom: 100px;
  text-align: left;
}
@media print, screen and (min-width: 768px) {
  footer.section_wrap {
    padding-top: 60px;
    padding-bottom: 140px;
  }
}
@media print, screen and (min-width: 992px) {
  footer .section_inner {
    display: flex;
    flex-wrap: wrap;
  }
}
.fooer_info {
  box-sizing: border-box;
}
.f_logo img {
  max-width: 256px;
  width: 100%;
  height: auto;
  margin-bottom: 16px;
}
footer .fooer_info ul.sns_area {
  display: flex;
  flex-flow: row wrap;
}
footer .fooer_info ul.sns_area li a {
  color: #fff;
  font-size: 24px;
  margin: auto 5px;
  text-decoration: none;
}
footer .fooer_info ul.sns_area li a:hover {
  opacity: 0.7;
  transition: 0.3s;
}
@media print, screen and (min-width: 992px) {
  .fooer_info {
    width: 30%;
  }
}
.f_nav_warap {
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 20px;
}
@media print, screen and (min-width: 992px) {
  .f_nav_warap {
    width: 70%;
    margin-top: 0;
  }
}
.f_nav_column {
  box-sizing: border-box;
  width: 50%;
  padding: 0 16px 0 0;
}
@media print, screen and (min-width: 768px) {
  .f_nav_column {
    padding: 0 30px 0 0;
    display: flex;
    flex-wrap: wrap;
    width: 33.3333333333%;
  }
}
.f_nav_ti {
  font-weight: 700;
  position: relative;
  margin-bottom: 0.8em;
  width: 100%;
}
.fnav {
  text-align: left;
}
.fnav > li {
  position: relative;
}
.fnav > li a {
  text-decoration: none;
  color: #fff;
  display: block;
  font-size: 1.4rem;
}
.fnav > li a:hover {
  text-decoration: underline;
  opacity: 0.8;
}
.fnav > li + li {
  margin-top: 0.6em;
}
@media print, screen and (min-width: 768px) {
  .fnav + .fnav {
    margin-left: 30px;
  }
}
.copyright small {
  background: #111;
  color: #005bac;
  display: block;
  font-size: clamp(1rem, 0.88vw, 1.2rem);
  width: 100%;
  line-height: 1;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  .copyright small {
    justify-content: flex-start;
    height: 60px;
    padding-left: clamp(30px, 4.4vw, 60px);
  }
}
/*=============================
text
=============================*/
.cts_p {
  text-align: left;
}
.cts_p.tx_cent {
  text-align: center;
}
.cts_p + .cts_p {
  margin-top: 1em;
}
@media print, screen and (min-width: 992px) {
  .cts_p.l_cent {
    text-align: center;
  }
}
.errer_msg {
  margin-bottom: 32px;
  padding: 10px;
  text-align: center;
  font-weight: 700;
  color: #e50000;
  background: #facccc;
}
.errer_msg + .errer_msg {
  margin-top: -24px;
}
/*TextRight*/
.tx_right {
  text-align: right;
}
/*TextLeft*/
.tx_left {
  text-align: left;
}
/*TextCenter*/
.tx_cent {
  text-align: center;
}
/*center/left*/
.l_cent {
  text-align: left;
}
@media print, screen and (min-width: 992px) {
  .l_cent {
    text-align: center;
  }
}
/*bold*/
.tx_bold {
  font-weight: 700;
}
/*TextRed*/
.tx_red {
  color: #e50000;
}
/*s text*/
.s_tx {
  font-size: 0.8em;
}
/*big text*/
.b_tx {
  font-size: 1.2em;
}
.marker {
  background: linear-gradient(transparent 60%, #ffff66 60%);
}
/*=============================*/
/*== 幅 ==*/
/*=============================*/
.w100 {
  width: 100%;
}
.max_40 {
  max-width: 40px;
}
.max_60 {
  max-width: 60px;
}
.max_80 {
  max-width: 80px;
}
.max_160 {
  max-width: 160px;
}
.max_240 {
  max-width: 240px;
}
.max_360 {
  max-width: 360px;
}
.max_400 {
  max-width: 400px;
}
.max_560 {
  max-width: 560px;
}
.min_40 {
  min-width: 40px;
}
.min_60 {
  min-width: 60px;
}
.min_80 {
  min-width: 80px;
}
.min_160 {
  min-width: 160px;
}
.min_240 {
  min-width: 240px;
}
.min_360 {
  min-width: 360px;
}
.min_400 {
  min-width: 400px;
}
.min_560 {
  min-width: 560px;
}
/*=============================*/
/*== Margin ==*/
/*=============================*/
/*MarginTop*/
.margin_t06 {
  margin-top: 6px;
}
.margin_t08 {
  margin-top: 8px;
}
.margin_t10 {
  margin-top: 10px;
}
.margin_t16 {
  margin-top: 16px;
}
.margin_t20 {
  margin-top: 20px;
}
.margin_t24 {
  margin-top: 24px;
}
.margin_t32 {
  margin-top: 32px;
}
.margin_t40 {
  margin-top: 40px;
}
.margin_t56 {
  margin-top: 56px;
}
/*MarginBottom*/
.margin_b06 {
  margin-bottom: 6px;
}
.margin_b08 {
  margin-bottom: 8px;
}
.margin_b10 {
  margin-bottom: 10px;
}
.margin_b16 {
  margin-bottom: 16px;
}
.margin_b24 {
  margin-bottom: 24px;
}
.margin_b32 {
  margin-bottom: 32px;
}
.margin_b40 {
  margin-bottom: 40px;
}
.margin_b56 {
  margin-bottom: 56px;
}
/*MarginRight*/
.margin_r06 {
  margin-right: 6px;
}
.margin_r10 {
  margin-right: 10px;
}
.margin_r16 {
  margin-right: 16px;
}
.margin_r24 {
  margin-right: 24px;
}
/*MarginLeft*/
.margin_l06 {
  margin-left: 6px;
}
.margin_l10 {
  margin-left: 10px;
}
.margin_l16 {
  margin-left: 16px;
}
.margin_l24 {
  margin-left: 24px;
}
/*==========================
layout
==========================*/
/*枠===========*/
.section_wrap {
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 16px;
  padding-bottom: 16px;
}
@media print, screen and (min-width: 768px) {
  .section_wrap {
    padding-left: clamp(30px, 4.4vw, 60px);
    padding-right: clamp(30px, 4.4vw, 60px);
  }
}
.section_wrap.tb_nospace {
  padding-top: 0;
  padding-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .section_wrap {
    padding-top: clamp(30px, 4.4vw, 60px);
    padding-bottom: clamp(30px, 4.4vw, 60px);
  }
}
.section_wrap .section_inner {
  width: 100%;
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
}
.section_wrap .section_inner.inner_max_s {
  max-width: 1246px;
}
.inner_max {
  max-width: 1360px;
}
.inner_max_s {
  max-width: 1246px;
}
.spacer {
  margin-top: 32px;
}
@media print, screen and (min-width: 992px) {
  .spacer {
    margin-top: 60px;
  }
}
.spacer_s {
  margin-top: 24px;
}
@media print, screen and (min-width: 992px) {
  .spacer_s {
    margin-top: 40px;
  }
}
.spacer_ss {
  margin-top: 14px;
}
@media print, screen and (min-width: 992px) {
  .spacer_ss {
    margin-top: 16px;
  }
}
/*2column============*/ :root {
  --side_size_lg: 240px;
  --side_size_xl: 284px;
  --column_pdd_lg: 32px;
  --column_pdd_xl: 56px;
}
.ly_column_row {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 30px;
  padding-bottom: 30px;
}
@media print, screen and (min-width: 768px) {
  .ly_column_row {
    padding-left: clamp(30px, 4.4vw, 60px);
    padding-right: clamp(30px, 4.4vw, 60px);
  }
}
.ly_column_row .side_column {
  order: 1;
}
.ly_column_row .main_column {
  order: -1;
}
@media print, screen and (min-width: 768px) {
  .ly_column_row {
    /*
    padding-top: 40px;
    padding-bottom: 40px;
    */
    padding-top: clamp(40px, 4.39vw, 60px);
    padding-bottom: clamp(40px, 4.39vw, 60px);
  }
  .ly_column_row .side_column {
    margin-top: 40px;
  }
}
@media print, screen and (min-width: 992px) {
  .ly_column_row {
    flex-direction: row;
    justify-content: space-between;
  }
  .ly_column_row .side_column {
    order: -1;
    width: var(--side_size_lg);
    margin: 0;
    padding-right: 24px;
    border-right: 1px solid #111;
  }
  .ly_column_row .side_column .sticky_box {
    position: sticky;
    top: 40px;
    left: 0;
  }
  .ly_column_row .main_column {
    order: 1;
    width: calc(100% - var(--column_pdd_lg) - var(--side_size_lg));
  }
}
@media print, screen and (min-width: 1200px) {
  .ly_column_row .side_column {
    width: var(--side_size_xl);
  }
  .ly_column_row .main_column {
    width: calc(100% - var(--column_pdd_xl) - var(--side_size_xl));
  }
  /*
  .ly_column_row {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  */
}
/*side_nav*/
.side_nav_group {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.side_nav_group .side_nav {
  width: calc(50% - 12px);
  /*メーカー別*/
}
.side_nav_group .side_nav.side_category {
  width: 100%;
}
.side_nav_group .side_nav.side_maker {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px;
}
.side_nav_group .side_nav.side_maker > dt {
  width: 100%;
}
.side_nav_group .side_nav.side_maker > dd {
  width: calc(50% - 12px);
}
.side_nav_group .side_nav.side_maker > dd + dd {
  margin-top: 0;
}
@media print, screen and (min-width: 992px) {
  .side_nav_group .side_nav.side_maker {
    display: block;
  }
  .side_nav_group .side_nav.side_maker > dd {
    width: 100%;
  }
  .side_nav_group .side_nav.side_maker > dd + dd {
    margin-top: 16px;
  }
}
@media print, screen and (min-width: 992px) {
  .side_nav_group .side_nav {
    width: 100%;
  }
}
.side_nav_ti {
  text-align: left;
  font-size: clamp(1.6rem, 1.32vw, 1.8rem);
  font-weight: 700;
  margin-bottom: 0.5em;
}
.side_nav {
  text-align: left;
  /*カテゴリ*/
  /*価格帯*/
}
.side_nav > dd > a {
  display: block;
  text-decoration: none;
  color: #111;
  font-size: 1.4rem;
  line-height: 1.2;
}
.side_nav > dd > a:hover {
  opacity: 0.8;
  text-decoration: underline;
  color: #005bac;
}
.side_nav > dd + dd {
  margin-top: 16px;
}
.side_nav.side_category > dd a {
  display: flex;
  align-items: center;
  gap: 6px;
}
.side_nav.side_category > dd a figure {
  display: block;
  width: 24px;
  height: 24px;
}
.side_nav.side_category > dd a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media print, screen and (min-width: 992px) {
  .side_nav.side_category > dd a figure {
    width: 38px;
    height: 38px;
  }
}
.side_nav.side_price > dd > a {
  background: #f3f6f7;
  padding: 8px 10px;
}
.side_nav.side_price > dd > a:hover {
  background: #dfdfdf;
}
.side_nav.side_price > dd + dd {
  margin-top: 8px;
}
@media print, screen and (min-width: 992px) {
  .side_nav + .side_nav {
    border-top: 1px solid #111;
    padding-top: 24px;
  }
}
/*card============*/ :root {
  --lay_gap_sp: 16px;
  --lay_gap_md: 32px;
}
/*1 →　2*/
.ly_card_2column {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: var(--lay_gap_sp);
}
.ly_card_2column > div, .ly_card_2column > li {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .ly_card_2column {
    flex-direction: row;
    gap: var(--lay_gap_md);
  }
  .ly_card_2column > div, .ly_card_2column > li {
    width: calc(50% - var(--lay_gap_md) / 2);
  }
}
@media print, screen and (min-width: 768px) {
  .main_column .ly_card_2column {
    gap: 24px;
  }
  .main_column .ly_card_2column > div, .main_column .ly_card_2column > li, .main_column .ly_card_2column > figure {
    width: calc(50% - (24px / 2));
  }
}
/*1 →　3*/
.ly_card_3column {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: var(--lay_gap_sp);
}
.ly_card_3column > div, .ly_card_3column > li {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .ly_card_3column {
    flex-direction: row;
    gap: 30px 30px;
  }
  .ly_card_3column > div, .ly_card_3column > li {
    width: calc(33.3333333333% - var(--lay_gap_md) * 2 / 3);
  }
}
/*2 → 3 → 4*/
/*
.ly_card_4column {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 8px;
}
.ly_card_4column > div,
.ly_card_4column > li {
  flex-basis: calc(50% - 4px);
  box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  .ly_card_4column > div,
  .ly_card_4column > li {
    flex-basis: calc(100% / 3 - 6px);
  }
}
@media print, screen and (min-width: 992px) {
  .ly_card_4column > div,
  .ly_card_4column > li {
    flex-basis: calc(100% / 4 - 6px);
  }
}
*/
/*2 → 4 → 5*/
.ly_card_4column {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.ly_card_4column > div, .ly_card_4column > li, .ly_card_4column > figure {
  width: calc(50% - (16px / 2));
  box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  .ly_card_4column {
    gap: 24px;
  }
  .ly_card_4column > div, .ly_card_4column > li, .ly_card_4column > figure {
    width: calc(25% - (32px * 3 / 4));
  }
}
@media print, screen and (min-width: 1600px) {
  .ly_card_4column > div, .ly_card_4column > li, .ly_card_4column > figure {
    width: calc(20% - (32px * 4 / 5));
  }
}
.main_column {
  /*2 → 4 → 5*/
}
.main_column .ly_card_4column {
  gap: 16px;
}
.main_column .ly_card_4column > div, .main_column .ly_card_4column > li, .main_column .ly_card_4column > figure {
  width: calc(50% - (16px / 2));
  box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  .main_column .ly_card_4column {
    gap: 24px;
  }
  .main_column .ly_card_4column > div, .main_column .ly_card_4column > li, .main_column .ly_card_4column > figure {
    width: calc(25% - (24px * 3 / 4));
  }
}
@media print, screen and (min-width: 1600px) {
  .main_column .ly_card_4column > div, .main_column .ly_card_4column > li, .main_column .ly_card_4column > figure {
    width: calc(20% - (24px * 4 / 5));
  }
}
/*3 → 6*/
.ly_card_6column {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 8px;
}
.ly_card_6column > div, .ly_card_6column > li, .ly_card_6column > figure {
  width: calc(33.3333333333% - 5.3333333333px);
  box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  .ly_card_6column {
    gap: 12px 16px;
  }
  .ly_card_6column > div, .ly_card_6column > li, .ly_card_6column > figure {
    width: calc(16.6666666667% - 13.3333333333px);
  }
}
@media print, screen and (min-width: 1600px) {
  .ly_card_6column > div, .ly_card_6column > li, .ly_card_6column > figure {
    width: calc(14.2857142857% - 13.7142857143px);
  }
}
/*3 → 4  →  8*/
.ly_card_8column {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 8px;
}
.ly_card_8column > div, .ly_card_8column > li {
  flex-basis: calc(33.3333333333% - 6px);
}
@media print, screen and (min-width: 768px) {
  .ly_card_8column > div, .ly_card_8column > li {
    flex-basis: calc(25% - 6px);
  }
}
@media print, screen and (min-width: 1200px) {
  .ly_card_8column > div, .ly_card_8column > li {
    flex-basis: calc(12.5% - 7px);
  }
}
/*2*/
.ly_2column {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 16px;
}
.ly_2column > div, .ly_2column > li {
  width: calc(50% - 8px);
}
@media print, screen and (min-width: 992px) {
  .ly_2column {
    gap: 30px 30px;
  }
  .ly_2column > div, .ly_2column > li {
    width: calc(50% - 15px);
  }
}
@media print, screen and (min-width: 1366px) {
  .ly_2column {
    gap: 36px 36px;
  }
  .ly_2column > div, .ly_2column > li {
    width: calc(50% - 18px);
  }
}
/*2→3*/
.ly_2_3column {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 16px;
}
.ly_2_3column > div, .ly_2_3column > li {
  width: calc(50% - 8px);
}
@media print, screen and (min-width: 992px) {
  .ly_2_3column {
    gap: 30px 30px;
  }
  .ly_2_3column > div, .ly_2_3column > li {
    width: calc(33.3333333333% - 20px);
  }
}
@media print, screen and (min-width: 1366px) {
  .ly_2_3column {
    gap: 36px 36px;
  }
  .ly_2_3column > div, .ly_2_3column > li {
    width: calc(33.3333333333% - 24px);
  }
}
/*golden ratio*/
.ly_gold {
  display: flex;
  flex-direction: column;
}
.ly_gold .ly_gold_s {
  margin-top: 24px;
}
.ly_gold .ly_gold_s + .ly_gold_b {
  order: -1;
}
.ly_gold.s_top .ly_gold_s {
  margin-top: 0;
}
.ly_gold.s_top .ly_gold_s + .ly_gold_b {
  order: 1;
  margin-top: 24px;
}
@media print, screen and (min-width: 768px) {
  .ly_gold {
    flex-direction: row;
    justify-content: space-between;
  }
  .ly_gold.align_cent {
    align-items: center;
  }
  .ly_gold .ly_gold_s {
    width: calc(50% - 20px);
    margin-top: 0;
  }
  .ly_gold .ly_gold_s + .ly_gold_b {
    order: 1;
  }
  .ly_gold .ly_gold_b {
    width: calc(50% - 20px);
  }
  .ly_gold.s_top .ly_gold_s + .ly_gold_b {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 992px) {
  .ly_gold .ly_gold_s {
    width: calc(38% - 20px);
  }
  .ly_gold .ly_gold_b {
    width: calc(62% - 20px);
  }
}
/*half*/
.ly_half {
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 768px) {
  .ly_half {
    flex-direction: row;
  }
  .ly_half > li, .ly_half > div {
    width: 50%;
  }
}
/*==========================
form
==========================*/
.search_box {
  box-sizing: border-box;
}
.search_box input[type=keyword] {
  padding: var(--form_pd);
  background: var(--form_bg);
  padding: 8px 12px;
  border-radius: 0;
  box-sizing: border-box;
  border: none;
}
@media print, screen and (min-width: 1200px) {
  .search_box input[type=keyword] {
    padding: var(--form_pd);
    background: var(--form_bg);
    padding: 12px 12px;
    border-radius: 0;
    box-sizing: border-box;
  }
}
.search_box button[type=submit] {
  background: #005bac;
  color: #fff;
  padding: 10px 12px;
  font-size: 1.4rem;
  border-radius: 0;
  cursor: pointer;
  transition: 0.2s;
}
.search_box button[type=submit]:hover {
  opacity: 0.8;
}
.search_box button[type=submit]:active {
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
}
@media print, screen and (min-width: 1200px) {
  .search_box button[type=submit] {
    padding: 4px 12px;
  }
}
.select_box {
  padding: var(--form_pd);
  border: 1px solid var(--form_bd);
  background: var(--form_bg);
  padding: 0;
  border-radius: 0;
  box-sizing: border-box;
  position: relative;
  box-sizing: border-box;
  display: inline-block;
}
.select_box::after {
  font-family: remixicon !important;
  font-style: normal;
  content: "\ea4d";
  color: #000;
  position: absolute;
  right: 6px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 2;
  pointer-events: none;
  font-size: 2rem;
}
.select_box select {
  cursor: pointer;
  text-overflow: ellipsis;
  outline: none;
  padding: 12px 32px 12px 12px;
  width: 100%;
}
/*==========================
other
==========================*/
/*ClearFix============*/
.clearfix {
  zoom: 1;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
/*Float============*/
/*FloatLeft*/
.float_left {
  float: left;
}
/*FloatRight*/
.float_right {
  float: right;
}
/*ClearBoth*/
.clearboth {
  clear: both;
}
/*phbox============*/ :root {
  --float_space: 30px;
  --img_top: 16px;
}
.phbox_right, .phbox_left {
  text-align: center;
  padding-bottom: var(--img_top);
}
.phbox_right img, .phbox_left img {
  max-width: 100%;
  height: auto;
}
.phbox_right img + img, .phbox_left img + img {
  margin-top: var(--img_top);
}
.phbox_right > a, .phbox_left > a {
  display: block;
}
.phbox_right > a + a, .phbox_left > a + a {
  margin-top: var(--img_top);
}
.ov_hidden {
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .phbox_right {
    float: right;
    margin-left: var(--float_space);
  }
  .phbox_left {
    float: left;
    margin-right: var(--float_space);
  }
}
/*レスポンシブblock/none============*/
@media print, screen and (min-width: 768px) {
  .pc_none {
    display: none;
  }
}
.sp_none {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .sp_none {
    display: inline-block;
  }
}
/*tel============*/
.tel-link a {
  text-decoration: underline;
  color: inherit;
}
.tel-link a:hover {
  opacity: 0.8;
}
/*img_fluid============*/
.img_fluid {
  max-width: 100%;
  height: auto;
}
/*color===================*/
.bg_color01 {
  background: #ebebee;
}
.bg_color02 {
  background: #f3f6f7;
}
/*==========================
parts
==========================*/
/*Pagetop============*/
#pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 1000;
}
#pagetop img {
  width: 40px;
  height: auto;
}
@media print, screen and (min-width: 768px) {
  #pagetop img {
    width: 60px;
  }
}
/*pagetitle============*/
#pagetitle {
  padding-left: 16px;
  padding-right: 16px;
  text-align: left;
}
@media print, screen and (min-width: 768px) {
  #pagetitle {
    padding-left: clamp(30px, 4.4vw, 60px);
    padding-right: clamp(30px, 4.4vw, 60px);
  }
}
#pagetitle .pageti_group {
  padding-top: clamp(20px, 4.39vw, 60px);
  padding-bottom: 0;
  padding-left: 6px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}
#pagetitle.deco .pageti_group {
  border-bottom: 1px solid #005bac;
  padding-bottom: clamp(16px, 3.81vw, 52px);
}
#pagetitle .page_subti {
  font-size: clamp(1.2rem, 1.17vw, 1.6rem);
  margin-bottom: 0.5em;
  line-height: 1;
  color: #005bac;
}
#pagetitle .pageti {
  font-size: clamp(2.2rem, 2.34vw, 3.2rem);
  font-weight: 700;
}
#pagetitle .pageti {
    font-size: clamp(4.2rem, 2.34vw, 3.2rem);
    font-weight: 700;
    text-align: center;
    color: #ff0000;
}
#pagetitle .pageti_catch {
  font-size: clamp(1.4rem, 1.17vw, 1.6rem);
  padding-top: 0.5em;
}
/*pankuzu============*/
.pankuzu_box {
  background: #ebebee;
  padding: 6px 16px;
}
@media print, screen and (min-width: 768px) {
  .pankuzu_box {
    padding: 6px clamp(40px, 4.39vw, 60px);
  }
}
#pankuzu {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  clear: both;
}
#pankuzu ol {
  list-style: none;
}
#pankuzu ol li {
  float: left;
  font-size: 11px;
  padding: 0 7px 0 10px;
  background: url(../img/common_img/icon_pankuzu.gif) no-repeat 0 50%;
}
#pankuzu ol li em {
  font-style: normal;
}
#pankuzu ol li.home {
  padding-left: 0;
  background: none;
}
#pankuzu ol li a:link, #pankuzu ol li a:visited, #pankuzu ol li a:hover, #pankuzu ol li a:active {
  text-decoration: underline;
}
/*PageNavi============*/ :root {
  --pagenavi_bd: #ccc;
  --pagenavi_tx: #666666;
  --pagenavi_span: #e4e4e4;
  --pagenavi_a: #f2f2f2;
  --pagenavi_pdd: 3px 10px;
}
.pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.pagenavi li span {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--pagenavi_pdd);
  color: var(--pagenavi_tx);
  border: 1px solid var(--pagenavi_bd);
  background: var(--pagenavi_span);
}
.pagenavi li a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  padding: var(--pagenavi_pdd);
  color: var(--pagenavi_tx);
  border: 1px solid var(--pagenavi_bd);
  background: var(--pagenavi_a);
  transition: 0.2s;
}
.pagenavi li a:hover {
  opacity: 0.8;
}
/*inner_nav============*/
.inner_nav {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(100%, 1fr) [auto-fit];
  grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
  gap: 10px;
  margin-bottom: 32px;
  box-sizing: border-box;
  border: 1px solid #cecece;
  padding: 10px;
}
.inner_nav li a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #eeeeee;
  text-decoration: none;
  padding: 8px;
  color: #000;
  height: 100%;
  box-sizing: border-box;
}
.inner_nav li a:hover {
  background: #3c90e6;
  color: #fff;
}
.inner_nav li.active a {
  background: #696969;
  color: #fff;
  pointer-events: none;
}
@media print, screen and (min-width: 768px) {
  .inner_nav {
    -ms-grid-columns: minmax(calc(33.3333333333% - 11px), 1fr) [auto-fit];
    grid-template-columns: repeat(auto-fit, minmax(calc(33.3333333333% - 11px), 1fr));
    gap: 16px;
  }
}
@media print, screen and (min-width: 1200px) {
  .inner_nav {
    -ms-grid-columns: minmax(calc(25% - 12px), 1fr) [auto-fit];
    grid-template-columns: repeat(auto-fit, minmax(calc(25% - 12px), 1fr));
  }
}
/*Line============*/
hr.line_01 {
  height: 1px;
  clear: both;
  margin: 16px 0px;
  border: none;
  border-top: 1px dotted #696969;
}
/*title============*/
/*01*/
.title01 {
  font-size: clamp(2rem, 2.05vw, 2.8rem);
  text-align: left;
  border-left: 5px solid #005bac;
  font-weight: 700;
  padding-left: 0.7em;
  margin-bottom: 0.85em;
}
.title01 .en_tx {
  display: block;
  font-size: clamp(1.4rem, 1.17vw, 1.6rem);
  color: #005bac;
  font-weight: 400;
}
/*02*/
.title02 {
  border-top: 1px solid #111;
  border-bottom: 1px solid #111;
  overflow: hidden;
  text-align: left;
  font-size: clamp(2rem, 2.05vw, 2.8rem);
  font-weight: 700;
  line-height: 1.2;
  padding: 0.66em 0;
  margin-bottom: 0.857em;
}
.title02 .s_tx {
  font-weight: 400;
  font-size: clamp(1.2rem, 1.02vw, 1.4rem);
  display: block;
  margin-top: 0.5em;
}
@media print, screen and (min-width: 768px) {
  .title02 .s_tx {
    margin-top: 0;
    float: right;
    line-height: 2.3;
  }
}
/*03*/
.title03 {
  font-size: 2rem;
  font-weight: 700;
  color: #000;
}
.title03 .s_tx {
  font-size: 1.4rem;
  display: block;
}
@media print, screen and (min-width: 768px) {
  .title03 {
    font-size: 2.4rem;
  }
  .title03 .s_tx {
    font-size: 1.8rem;
  }
}
/*04*/
.title04 {
  text-align: left;
  border-bottom: 2px solid #005bac;
  color: #005bac;
  font-size: 1.6rem;
  padding: 0 0 6px;
  font-weight: 700;
  margin-bottom: 12px;
}
.title04 .s_tx {
  font-weight: normal;
  display: block;
  font-size: 1.2rem;
}
@media print, screen and (min-width: 768px) {
  .title04 {
    font-size: 1.8rem;
    padding: 0 0 8px;
    margin-bottom: 16px;
  }
  .title04 .s_tx {
    display: inline-block;
    margin-left: 16px;
    font-size: 1.4rem;
  }
}
/*05*/
.title05 {
  font-weight: 700;
  font-size: 1.6rem;
  color: #005bac;
  padding-left: 1.2em;
  text-align: left;
  position: relative;
}
.title05::before {
  font-family: remixicon !important;
  font-style: normal;
  content: "\ea6e";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  font-weight: normal;
}
.title05 .s_tx {
  font-weight: normal;
  font-size: 1.2rem;
  display: inline-block;
  margin-left: 4px;
}
/*06*/
.title06 {
  font-weight: 700;
  margin-bottom: 12px;
}
/*07*/
.title07 {
  text-align: left;
  background: #004079;
  color: #fff;
  position: relative;
  padding: 0.55em 0.88em;
  font-weight: 700;
  border-left: 6px solid #005bac;
  margin-bottom: 12px;
  font-size: clamp(1.6rem, 1.32vw, 1.8rem);
}
/*08   ここからnew*/
.title08 {
  font-size: clamp(2rem, 2.05vw, 2.8rem);
  text-align: left;
  background: #111;
  color: #fff;
  font-weight: 700;
  padding: 0.4em 0.7em 0.3em;
  margin-bottom: 0.85em;
}
.title09 {
  text-align: left;
  background: #005bac;
  color: #fff;
  position: relative;
  padding: 0.55em 0.88em;
  font-weight: 700;
  border-left: 6px solid #4b8ac1;
  margin-bottom: 12px;
  font-size: clamp(1.6rem, 1.32vw, 1.8rem);
}
.title09 span {
    color: #ffeb9a;
    font-size: 1.17em;
    border-right: 1px solid #4b8ac1;
    padding-right: 0.55em;
    margin-right: 0.55em;
}
.subti01 {
  font-weight: 700;
  margin-bottom: 0.5em;
}
.subti02 {
  font-weight: 700;
  font-size: clamp(1.6rem, 1.46vw, 2rem);
  margin-bottom: 0.8em;
}
/*table============*/ :root {
  --tbl_pd_sp: 10px 16px;
  --tbl_pd_pc: 14px 16px;
}
/*table01*/
.sheet_basic {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #fff;
  border-bottom: none;
  background: #fff;
}
.sheet_basic tr th, .sheet_basic tr td {
  border-bottom: 1px solid #fff;

  padding: var(--tbl_pd_sp);
  display: block;
}
.sheet_basic tr th {
  background: #daebfd;
  font-weight: normal;
}
.sheet_basic tr td {
  background: #f5f5f5;
}
.sheet_basic tr:nth-child(2n) td {
  background: #fff;
}
.sheet_basic.s_pd tr th, .sheet_basic.s_pd tr td {
  padding: 6px 16px;
}
@media print, screen and (min-width: 768px) {
  .sheet_basic tr th, .sheet_basic tr td {
    display: table-cell;
    padding: var(--tbl_pd_pc);
  }
  .sheet_basic tr th {
    border-right: 1px solid #fff;
  }
  .sheet_basic.s_pd tr th, .sheet_basic.s_pd tr td {
    padding: 6px 16px;
  }
}
/*table02*/
.table_basic {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #fff;
  border-bottom: none;
}
.table_basic tr th, .table_basic tr td {
  display: table-cell;
  padding: var(--tbl_pd_pc);
  border: 1px solid #fff;
}
.table_basic tr th {
  background: #daebfd;
  font-weight: normal;
}
.table_basic tr td {
  background: #f5f5f5;
}
/*table03*/
.table_basic02 {
  width: 100%;
  border-collapse: collapse;
  border-bottom: none;
  background: #fff;
  border-top: 1px solid #acacac;
}
.table_basic02 tr {
  border-bottom: 1px solid #acacac;
}
.table_basic02 tr th, .table_basic02 tr td {
  padding: 16px 8px;
}
@media print, screen and (min-width: 992px) {
  .table_basic02 tr th, .table_basic02 tr td {
    padding: 16px;
  }
}
.table_basic02 tr th {
  text-align: center;
  position: relative;
  vertical-align: middle;
  white-space: nowrap;
  min-width: 80px;
  width: 80px;
}
.table_basic02 tr th i {
  vertical-align: middle;
}
.table_basic02 tr th::before {
  content: "";
  display: block;
  width: 1px;
  height: 40%;
  background: #acacac;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media print, screen and (min-width: 992px) {
  .table_basic02 tr th {
    width: 240px;
    min-width: 240px;
  }
}
.table_basic02 tr td {
  text-align: left;
}
/*table04*/
.table_basic03 {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #acacac;
  border-bottom: none;
}
.table_basic03 tr th, .table_basic03 tr td {
  display: table-cell;
  padding: var(--tbl_pd_pc);
  border: 1px solid #acacac;
}
.table_basic03 tr th {
  background: #daebfd;
  font-weight: normal;
}
.table_basic03 tr td {
  background: #fff;
}
.nowrap {
  white-space: nowrap;
}
tr.nowrap > th, tr.nowrap > td {
  white-space: nowrap;
}
/*list=============*/
/*pdf*/
.pdf_link > li {
  line-height: 1.4;
  position: relative;
  padding-left: 1.4em;
  text-align: left;
}
.pdf_link > li + li {
  margin-top: 8px;
}
.pdf_link > li::before {
  font-family: remixicon !important;
  font-style: normal;
  content: "\eceb";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  color: #e50000;
  font-size: 1.2em;
}
/*※*/
.note_list {
  text-align: left;
}
.note_list > li {
  line-height: 1.4;
  position: relative;
  padding-left: 1.4em;
}
.note_list > li + li {
  margin-top: 8px;
}
.note_list > li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.note_list.s_tx > li {
  font-size: 1rem;
}
@media print, screen and (min-width: 992px) {
  .note_list.s_tx > li {
    font-size: 1.2rem;
  }
}
.note_list.tx_cent {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}
ol.note_list {
  counter-reset: number;
}
ol.note_list > li {
  list-style: none;
  padding-left: 2.6em;
}
ol.note_list > li::before {
  counter-increment: number;
  content: "0"counter(number);
  position: absolute;
  left: 1.3em;
  top: 0.4em;
  font-size: 12px;
}
ol.note_list > li::after {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
ol.note_list > li:nth-child(n+10)::before {
  content: counter(number);
}
.num_list {
  counter-reset: number;
  text-align: left;
}
.num_list > li {
  line-height: 1.4;
  position: relative;
  padding-left: 1.4em;
  list-style: none;
  padding-left: 1.8em;
}
.num_list > li + li {
  margin-top: 8px;
}
.num_list > li::before {
  counter-increment: number;
  content: "0"counter(number) ".";
  position: absolute;
  left: 0;
  top: 0;
  color: #005bac;
}
.num_list > li:nth-child(n+10)::before {
  content: counter(number) ".";
}
.num_list02 {
  counter-reset: number;
  text-align: left;
}
.num_list02 > li {
  line-height: 1.4;
  position: relative;
  padding-left: 1.4em;
  list-style: none;
  padding-left: 2.4em;
}
.num_list02 > li + li {
  margin-top: 8px;
}
.num_list02 > li::before {
  counter-increment: number;
  content: "(0"counter(number) ")";
  position: absolute;
  left: 0;
  top: 0;
  color: #696969;
}
.num_list02 > li:nth-child(n+10)::before {
  content: "("counter(number) ")";
}
/**/
.list_basic01 {
  text-align: left;
  padding-left: 1.4em;
}
.list_basic01 > li {
  list-style: disc;
}
.list_basic01 > li + li {
  margin-top: 0.6em;
}
.list_basic02 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
/*dl=============*/
.dl_basic01 > div {
  overflow: hidden;
}
.dl_basic01 dt {
  clear: both;
  font-size: 1.6rem;
  background: #f5f5f5;
  display: inline-block;
  padding: 0 4px;
  margin-right: 8px;
}
.dl_basic01 dd {
  float: left;
  font-size: 1.8rem;
  font-weight: 700;
}
@media print, screen and (min-width: 992px) {
  .dl_basic01.column {
    float: left;
  }
  .dl_basic01.column > div {
    overflow: hidden;
    float: left;
    margin-right: 15px;
  }
}
.dl_basic02 {
  text-align: left;
}
.dl_basic02 dt {
  font-weight: 700;
  position: relative;
  padding-left: 1em;
}
.dl_basic02 dt::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  background: #005bac;
  position: absolute;
  left: 0;
  top: 0.5em;
  display: block;
}
.dl_basic02 dd {
  margin-top: 5px;
}
.dl_basic02 dd + dt {
  margin-top: 1.2em;
}
/*btn=============*/
.btn01 a, .btn01 button {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ff9d00;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
  padding: 1em 2em;
  width: 100%;
  box-sizing: border-box;
  box-shadow: 0 5px 0 #aaaaaa;
  transition: 0.3s;
}
.btn01 a:hover, .btn01 button:hover {
  opacity: 0.8;
}
.btn01 a:active, .btn01 button:active {
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
}
.btn01.col01 a, .btn01.col01 button {
  background: #696969;
}
.btn01.col02 a, .btn01.col02 button {
  background: #005bac;
}
.btn01.col03 a, .btn01.col03 button {
  background: #3c90e6;
}
.btn01.b_tx button {
  font-size: 1.6rem;
}
@media print, screen and (min-width: 992px) {
  .btn01.b_tx button {
    font-size: 1.8rem;
  }
}
.btn02 a, .btn02 button {
  display: table;
  position: relative;
  background: #fff;
  border: 1px solid #000;
  padding: 6px 66px 6px 14px;
  text-decoration: none;
  color: #000;
  font-weight: 700;
}
.btn02 a::after, .btn02 button::after {
  font-family: remixicon !important;
  font-style: normal;
  content: "\ea6e";
  display: block;
  position: absolute;
  right: 14px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.btn02 a:hover, .btn02 button:hover {
  background: #000;
  color: #fff;
}
.btn02.tx_cent a {
  margin-left: auto;
  margin-right: auto;
}
.btn02.tx_right a {
  margin-left: auto;
  margin-right: 0;
}
.btn02.tx_left a {
  margin-left: 0;
  margin-right: auto;
}
/*prev*/
.prev_btn01 a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: 10px 16px;
  font-size: 1.6rem;
  white-space: nowrap;
  padding-left: 2.5em;
  background: #3c90e6;
}
.prev_btn01 a::before {
  font-family: remixicon !important;
  font-style: normal;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.prev_btn01 a:hover {
  opacity: 0.8;
}
.prev_btn01 a::before {
  content: "\ea64";
  left: 16px;
}
.prev_btn01.color01 a {
  background: #696969;
}
.prev_btn01.color01 button {
  background: #696969;
}
.prev_btn01.color02 a {
  background: #ff9d00;
}
.prev_btn01.color02 button {
  background: #ff9d00;
}
.prev_btn01.color03 a {
  background: #005bac;
}
.prev_btn01.color03 button {
  background: #005bac;
}
.prev_btn01 button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: 10px 16px;
  font-size: 1.6rem;
  white-space: nowrap;
  background: #3c90e6;
  width: 100%;
  cursor: pointer;
}
.prev_btn01 button::before {
  font-family: remixicon !important;
  font-style: normal;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.prev_btn01 button:hover {
  opacity: 0.8;
}
.prev_btn01 button::before {
  content: "\ea64";
  left: 16px;
}
.btn03 a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: 10px 16px;
  font-size: 1.6rem;
  white-space: nowrap;
  background: #3c90e6;
}
.btn03 a::before {
  font-family: remixicon !important;
  font-style: normal;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.btn03 a:hover {
  opacity: 0.8;
}
.btn03.color01 a {
  background: #696969;
}
.btn03.color01 button {
  background: #696969;
}
.btn03.color02 a {
  background: #ff9d00;
}
.btn03.color02 button {
  background: #ff9d00;
}
.btn03.color03 a {
  background: #005bac;
}
.btn03.color03 button {
  background: #005bac;
}
.btn03.color04 a {
  background: #eee;
  color: #000;
}
.btn03.color04 a:hover {
  background: #3c90e6;
  color: #fff;
  opacity: 1;
}
.btn03.color04 button {
  background: #eee;
  color: #000;
}
.btn03.color04 button:hover {
  background: #3c90e6;
  color: #fff;
  opacity: 1;
}
.btn03.color04_off a {
  background: #eee;
  color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.btn03.color04_off button {
  background: #eee;
  color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.btn03.color04_off span {
  background: #eee;
  color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-weight: 700;
  text-decoration: none;
  padding: 10px 16px;
  font-size: 1.6rem;
}
.btn03 button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: 10px 16px;
  font-size: 1.6rem;
  white-space: nowrap;
  background: #3c90e6;
  width: 100%;
  cursor: pointer;
}
.btn03 button::before {
  font-family: remixicon !important;
  font-style: normal;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.btn03 button:hover {
  opacity: 0.8;
}
/*next*/
.next_btn01 a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: 10px 16px;
  font-size: 1.6rem;
  white-space: nowrap;
  background: #005bac;
  padding-right: 2.5em;
}
.next_btn01 a::before {
  font-family: remixicon !important;
  font-style: normal;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.next_btn01 a:hover {
  opacity: 0.8;
}
.next_btn01 a::before {
  content: "\ea6e";
  right: 16px;
}
.next_btn01 button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: 10px 16px;
  font-size: 1.6rem;
  white-space: nowrap;
  background: #005bac;
  width: 100%;
  cursor: pointer;
  padding-right: 2.5em;
}
.next_btn01 button::before {
  font-family: remixicon !important;
  font-style: normal;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.next_btn01 button:hover {
  opacity: 0.8;
}
.next_btn01 button::before {
  content: "\ea6e";
  right: 16px;
}
.next_btn01.color01 a {
  background: #696969;
}
.next_btn01.color01 button {
  background: #696969;
}
.next_btn01.color02 a {
  background: #ff9d00;
}
.next_btn01.color02 button {
  background: #ff9d00;
}
.next_btn01.color03 a {
  background: #3c90e6;
}
.next_btn01.color03 button {
  background: #3c90e6;
}
/*btn_layout*/
.ly_btn_box {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media print, screen and (min-width: 768px) {
  .ly_btn_box {
    flex-direction: row;
    justify-content: center;
  }
  .ly_btn_box > li {
    min-width: 240px;
  }
  .ly_btn_box.tx_left {
    justify-content: flex-start;
  }
  .ly_btn_box.tx_right {
    justify-content: flex-end;
  }
  .ly_btn_box.rowmax {
    justify-content: space-between;
  }
}
/*box===================*/
.tx_box01 {
  border: 1px solid #cecece;
  box-sizing: border-box;
  padding: 16px;
}
@media print, screen and (min-width: 768px) {
  .tx_box01 {
    padding: 30px;
  }
}
@media print, screen and (min-width: 1200px) {
  .tx_box01 {
    padding: 30px 40px;
  }
}
.tx_box02 {
  background: #f5f5f5;
  box-sizing: border-box;
  padding: 16px;
}
@media print, screen and (min-width: 768px) {
  .tx_box02 {
    padding: 20px;
  }
}
.tx_box03 {
  border: 2px solid #ff9d00;
  box-sizing: border-box;
  padding: 16px;
}
@media print, screen and (min-width: 768px) {
  .tx_box03 {
    padding: 20px;
  }
}
.tx_box04 {
  border-top: #cecece 1px dotted;
  border-bottom: #cecece 1px dotted;
  box-sizing: border-box;
  padding: 10px;
}
@media print, screen and (min-width: 768px) {
  .tx_box04 {
    padding: 16px 10px;
  }
}
.tx_box05 {
  background: #fff;
  padding: 1em;
}
/*link_box===================*/
/*layout*/
.item_section + .item_section {
  margin-top: clamp(40px, 4.39vw, 60px);
}
.item_section + .used_item_area {
  margin-top: clamp(40px, 4.39vw, 60px);
}
.used_item_area + .item_section {
  margin-top: clamp(40px, 4.39vw, 60px);
}
.used_item_area + .used_item_area {
  margin-top: clamp(40px, 4.39vw, 60px);
}
/*============
index メーカー部分
============*/
.link_box a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  min-height: 77px;
  border: 4px solid #dfdfdf;
  background: #fff;
  box-sizing: border-box;
  font-weight: 700;
  font-size: clamp(1.4rem, 1.17vw, 1.6rem);
  text-decoration: none;
  color: #000;
  padding: 0 18px;
  line-height: 1.2;
}
.link_box a:hover {
  border: 4px solid #005bac;
  color: #005bac;
}
/*============
index カテゴリ部分
============*/
.link_img_box a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #000;
  padding: 12px;
  text-align: left;
  line-height: 1.2;
  border: 1px solid #dfdfdf;
  background: #ebebee;
  background: linear-gradient(180deg, #f3f6f7 0%, #ebebee 100%);
  text-align: center;
  padding: 12px 16px;
}
.link_img_box a img {
  max-width: 100%;
  height: auto;
  order: -1;
  margin-bottom: 0.5em;
  mix-blend-mode: multiply;
}
.link_img_box a:hover {
  opacity: 0.8;
}
/*============
？
============*/
.link_img_box02 a {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  min-height: 100px;
  background: #fff;
  box-sizing: border-box;
  font-weight: 700;
  font-size: 1.4rem;
  text-decoration: none;
  color: #000;
  line-height: 1.2;
  padding: 10px;
  border: 2px solid #fff;
}
.link_img_box02 a img {
  margin-bottom: 10px;
  max-width: 100%;
  height: auto;
}
.link_img_box02 a:hover {
  border: 2px solid #005bac;
  color: #005bac;
}
/*============
？
============*/
.link_img_box03 a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 160px;
  background: #fff;
  box-sizing: border-box;
  font-weight: 700;
  font-size: 1.6rem;
  text-decoration: none;
  color: #000;
  line-height: 1.2;
  padding: 10px;
  border: 2px solid #cecece;
}
.link_img_box03 a img {
  margin-bottom: 10px;
  max-width: 100%;
  height: auto;
}
.link_img_box03 a:hover {
  border: 2px solid #005bac;
  color: #005bac;
}
/*==========================
carousel
==========================*/ :root {
  --carousel_btn_sm: 30px;
  --carousel_btn_xl: 30px;
}
.carousel_warp {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.carousel_warp .swiper-button-next.swiper-button-disabled, .carousel_warp .swiper-button-prev.swiper-button-disabled {
  opacity: 0.2;
}
.carousel_warp .swiper-button-prev {
  background: url(../img/common_img/button-prev.svg) center no-repeat #005bac;
  background-size: cover;
  width: var(--carousel_btn_sm);
  height: var(--carousel_btn_sm);
  top: 55% !important;
  left: 0;
}
.carousel_warp .swiper-button-next {
  background: url(../img/common_img/button-next.svg) center no-repeat #005bac;
  background-size: cover;
  width: var(--carousel_btn_sm);
  height: var(--carousel_btn_sm);
  top: 55% !important;
  right: 0;
}
.carousel_warp .swiper-button-prev, .carousel_warp .swiper-button-next {
  transition: 0.2s;
}
.carousel_warp .swiper-button-prev:hover, .carousel_warp .swiper-button-next:hover {
  opacity: 0.5;
}
.carousel_warp .swiper-slide a img {
  max-width: 100%;
  height: auto;
}
.carousel_warp .swiper-slide a:hover {
  opacity: 0.8;
}
@media print, screen and (min-width: 1200px) {
  .carousel_warp .swiper-button-prev {
    width: var(--carousel_btn_xl);
    height: var(--carousel_btn_xl);
    left: 0;
  }
  .carousel_warp .swiper-button-next {
    width: var(--carousel_btn_xl);
    height: var(--carousel_btn_xl);
    right: 0;
  }
}
.carousel_swiper_ichioshi .swiper-wrapper {
  align-items: stretch !important;
}
.carousel_swiper_ichioshi::before {
  content: "";
  display: block;
  width: 16px;
  height: 100px;
  min-height: 100%;
  position: absolute;
  left: -1px;
  top: 0;
  z-index: 2;
}
@media print, screen and (min-width: 1200px) {
  .carousel_swiper_ichioshi::before {
    width: 71px;
  }
}
.carousel_swiper_ichioshi::after {
  content: "";
  display: block;
  width: 16px;
  height: 100px;
  min-height: 100%;
  position: absolute;
  right: -1px;
  top: 0;
  z-index: 2;
}
@media print, screen and (min-width: 1200px) {
  .carousel_swiper_ichioshi::after {
    width: 71px;
  }
}
/*item_box==*/
.carousel_swiper_ichioshi {
  /*ranking*/
  /*ph*/
  /*name*/
  /*spec1*/
  /*評価*/
  /*料金*/
}
/*「swiper」カルーセルの高さを合わせる*/
.swiper-slide {
  height: auto !important;
}
.carousel_swiper_ichioshi .item_box {
  text-align: left;
  box-sizing: border-box;
  border: 1px solid #005bac;
  position: relative;
}
.carousel_swiper_ichioshi .item_box > a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  padding: 12px;
  color: #111;
  height: 100%;
}
.carousel_swiper_ichioshi .item_box > a:hover {
  opacity: 0.8;
}
.carousel_swiper_ichioshi .ranking {
  order: -2;
  text-align: center;
  background: #005bac;
  margin-left: -12px;
  margin-right: -12px;
  margin-top: -12px;
  margin-bottom: 10px;
  color: #fff;
  padding: 0.3em;
}
.carousel_swiper_ichioshi .ranking.rank1::before {
  font-family: remixicon !important;
  font-style: normal;
  content: "\f28b";
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.2em;
}
.carousel_swiper_ichioshi .ranking.rank2::before {
  font-family: remixicon !important;
  font-style: normal;
  content: "\f28b";
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.2em;
}
.carousel_swiper_ichioshi .ranking.rank3::before {
  font-family: remixicon !important;
  font-style: normal;
  content: "\f28b";
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.2em;
}
.carousel_swiper_ichioshi .item_box figure {
  order: -1;
  width: 100%;
  aspect-ratio: 4/3;
  margin-bottom: 10px;
  overflow: hidden;
}
.carousel_swiper_ichioshi .item_box figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.carousel_swiper_ichioshi .item_name_group {
  order: 1;
  margin-bottom: 8px;
}
.carousel_swiper_ichioshi .item_name_group .mfr_tx {
  font-weight: 400;
  font-size: 1.2rem;
}
.carousel_swiper_ichioshi .item_name_group .item_ti {
  font-size: clamp(1.4rem, 1.17vw, 1.6rem);
  font-weight: 700;
  line-height: 1.2;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  /* autoprefixer: off */
  -webkit-box-orient: vertical;
}
.carousel_swiper_ichioshi .item_spec1 {
  order: 2;
  font-weight: 400;
  font-size: 1.2rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #666;
  line-height: 1.2;
}
.carousel_swiper_ichioshi .evaluation_box {
  order: 0;
}
.carousel_swiper_ichioshi .price_tx {
  order: 3;
  margin-top: 10px;
  color: #d82b2b;
  font-size: 1.6rem;
}
.carousel_swiper_ichioshi .price_tx .s_tx {
  font-size: 1.2rem;
}
.carousel_swiper::before {
  content: "";
  display: block;
  background: #f5f5f5;
  width: 16px;
  height: 100px;
  min-height: 100%;
  position: absolute;
  left: -1px;
  top: 0;
  z-index: 2;
}
@media print, screen and (min-width: 1200px) {
  .carousel_swiper::before {
    width: 71px;
  }
}
.carousel_swiper::after {
  content: "";
  display: block;
  background: #f5f5f5;
  width: 16px;
  height: 100px;
  min-height: 100%;
  position: absolute;
  right: -1px;
  top: 0;
  z-index: 2;
}
@media print, screen and (min-width: 1200px) {
  .carousel_swiper::after {
    width: 71px;
  }
}
/*売り切れ商品にはclass「sold」を追加*/
.item_box {
  position: relative;
}
.item_box.sold > a::before {
  content: "SOLD OUT";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.8em;
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
}
/*中古エリアには「中古パソコン」と固定表示*/
.used_item_area .item_box .item_name_group .mfr_tx::after {
  content: "中古パソコン";
  white-space: nowrap;
  color: #666;
  margin-left: 0.5em;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  background: #ebebee;
  padding: 0.1em 0.2em;
}
/*==========================
item_number
==========================*/
.item_number_wrap {
  background: #eee;
  box-sizing: border-box;
  padding: 10px 8px 8px;
}
@media print, screen and (min-width: 768px) {
  .item_number_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 8px 16px;
  }
}
.item_number_tx em {
  font-weight: 700;
  font-style: normal;
}
.item_number_tx span {
  font-weight: 700;
}
/*==========================
tab_show
==========================*/
.tab_show_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
.tab_show_list .tab_show {
  display: inline-flex;
}
.tab_show_list .tab_show a {
  white-space: nowrap;
  border: 2px solid #005bac;
  text-decoration: none;
  padding: 6px 32px 6px 8px;
  position: relative;
  font-weight: 700;
}
.tab_show_list .tab_show a::after {
  font-family: remixicon !important;
  font-style: normal;
  content: "\eb99";
  position: absolute;
  right: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 1.6rem;
}
.tab_show_list .tab_show a:hover {
  background: #005bac;
  color: #fff;
}
.tab_show_list:empty, .tab_show_list:blank {
  margin-bottom: 0;
}
/*==========================
item_box
==========================*/
.item_box_wrap {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.item_box_wrap > div, .item_box_wrap > li, .item_box_wrap > figure {
  width: calc(50% - (16px / 2));
  box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  .item_box_wrap {
    gap: 24px;
  }
  .item_box_wrap > div, .item_box_wrap > li, .item_box_wrap > figure {
    width: calc(25% - (24px * 3 / 4));
  }
}
@media print, screen and (min-width: 1600px) {
  .item_box_wrap > div, .item_box_wrap > li, .item_box_wrap > figure {
    width: calc(20% - (24px * 4 / 5));
  }
}
/*item box*/
.item_box_wrap {
  /*ph*/
  /*name*/
  /*spec1*/
  /*評価*/
  /*料金*/
}
.item_box_wrap .item_box {
  text-align: left;
  box-sizing: border-box;
  border: 1px solid #dfdfdf;
  position: relative;
}
.item_box_wrap .item_box > a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  padding: 12px;
  color: #111;
}
.item_box_wrap .item_box > a:hover {
  opacity: 0.8;
}
.item_box_wrap .item_box figure {
  order: -1;
  width: 100%;
  aspect-ratio: 4/3;
  margin-bottom: 10px;
  overflow: hidden;
}
.item_box_wrap .item_box figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.item_box_wrap .item_name_group {
  order: 1;
  margin-bottom: 8px;
}
.item_box_wrap .item_name_group .mfr_tx {
  font-weight: 400;
  font-size: 1.2rem;
}
.item_box_wrap .item_name_group .item_ti {
  font-size: clamp(1.4rem, 1.17vw, 1.6rem);
  font-weight: 700;
  line-height: 1.2;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  /* autoprefixer: off */
  -webkit-box-orient: vertical;
}
.item_box_wrap .item_spec1 {
  order: 2;
  font-weight: 400;
  font-size: 1.2rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #666;
  line-height: 1.2;
}
.item_box_wrap .evaluation_box {
  order: 0;
}
.item_box_wrap .price_tx {
  order: 3;
  margin-top: 10px;
  position: relative;
  padding-top: 1.2em;
  color: #d82b2b;
  font-size: 1.6rem;
}
.item_box_wrap .price_tx .s_tx {
  font-size: 1.2rem;
}
.item_box_wrap .price_tx .m_tx {
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  background: #d82b2b;
  color: #fff;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1;
  padding: 3px 4px;
  position: absolute;
  top: 0;
  left: 0;
}
/*評価*/
.evaluation_box {
  margin-bottom: 10px;
}
.evaluation_box .star_box {
  display: flex;
  align-items: center;
  color: #f2ab00;
  line-height: 1;
}
.evaluation_box .star_box strong {
  font-weight: 400;
  font-size: 1.2rem;
  margin-left: auto;
  color: #333333;
}
.more_btn01 a {
  display: flex;
  justify-content: space-between;
  border: 1px solid #111;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: 240px;
  text-decoration: none;
  background: #ffb000;
  height: 48px;
  align-items: center;
  padding-left: 24px;
  color: #111;
  font-weight: 500;
  font-size: clamp(1.4rem, 1.17vw, 1.6rem);
  margin-left: auto;
  margin-right: auto;
}
.more_btn01 a::after {
  font-family: remixicon !important;
  font-style: normal;
  content: "\ea6e";
  color: #111;
  background: #005bac;
  width: 48px;
  height: 48px;
  margin-left: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4em;
}
.more_btn01 a:hover {
  opacity: 0.8;
}
@media print, screen and (min-width: 768px) {
  .more_btn01 a {
    height: 56px;
    padding-left: 42px;
    min-width: 320px;
  }
  .more_btn01 a::after {
    width: 56px;
    height: 56px;
    margin-left: 42px;
  }
}
.more_btn01.tx_left a {
  margin-left: 0;
}
.more_btn01.tx_right a {
  margin-right: 0;
}
.more_btn02 > a, .more_btn02 > span {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #005bac;
  color: #fff;
  padding: 0.4em 1em;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.more_btn02 > a:hover, .more_btn02 > span:hover {
  opacity: 0.8;
}
.more_btn02.tx_left > a, .more_btn02.tx_left > span {
  margin-left: 0;
}
.more_btn02.tx_right > a, .more_btn02.tx_right > span {
  margin-right: 0;
}
/*top layout====================*/
.item_box_wrap + .more_btn01 {
  margin-top: clamp(24px, 2.93vw, 40px);
}
.item_ti{line-height:150%;}