@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@400;700&display=swap");
/*//////////////////////////////////////////////////////////

Copyright (C) apricot-design All Rights Reserved.
------------------------------------------------------------
CSS information
 file name  :  reset.css
 style info :  リセットファイル
 admin info :  apricot-design

//////////////////////////////////////////////////////////*/
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
  display: block;
}

audio[controls], canvas, video {
  display: inline-block;
  display: inline;
  zoom: 1;
}

html {
  overflow-y: scroll;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, ul {
  margin: 0;
  padding: 0;
}

body, button, input, select, textarea {
  font-size: 100%;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

pre, code, kbd, samp {
  font-family: monospace, monospace;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}
q:before, q:after {
  content: "";
  content: none;
}

small {
  font-size: 75%;
}

sub {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

ul, ol {
  margin: 0;
  padding: 0;
}

dd {
  margin: 0px;
}

nav ul, nav ol {
  list-style: none;
}

img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}

svg:not(:root) {
  overflow: hidden;
}

figure, form {
  margin: 0;
}

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  *margin-left: -7px;
}

button, input, select, textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}

button, input {
  line-height: normal;
  *overflow: visible;
}

button {
  cursor: pointer;
  -webkit-appearance: button;
}

input[type=button], input[type=reset], input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
}
input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
}
input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 100%;
}

img, abbr, acronym, fieldset {
  border: 0;
}

li {
  list-style: none;
}

/*画像を縦に並べた時に余白が出ないように*/
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

/*box-sizingを全ブラウザに対応*/
* {
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
*:before, *:after {
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

.ie6_error, .no_script {
  background: #F66;
  padding: 100px;
  text-align: center;
  font-size: 150%;
  color: #333;
}

.flt {
  float: left;
}

.flr {
  float: right;
}

.txt_l, td.txt_l, .txt_l td {
  text-align: left;
}

.txt_r, td.txt_r, .txt_r td {
  text-align: right;
}

.txt_c, td.txt_c, .txt_c td {
  text-align: center;
}

.valign_t, td.valign_t, .valign_t td {
  vertical-align: top;
}

.valign_m, td.valign_m, .valign_m td {
  vertical-align: middle;
}

.valign_b, td.valign_b, .valign_b td {
  vertical-align: bottom;
}

.clear {
  clear: both;
}

.clearfix {
  zoom: 1;
}
.clearfix:before {
  content: "";
  display: block;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.img_bd {
  border: solid 1px #E8E8E8;
}

.c_red {
  color: #FF3425;
}

/*
0:セット
------------------------------------------------------------
*/
html {
  width: 100%;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  color: #383838;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 15px;
  }
}

.win body {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

a {
  text-decoration: none;
  color: #383838;
  transition: 0.3s;
}
a:link, a:active, a:visited {
  text-decoration: none;
}

.opacity {
  transition: 0.3s;
}
.opacity:hover {
  opacity: 0.5;
}

img {
  max-width: 100%;
  height: auto;
}
img[src$=".svg"] {
  max-width: 100%;
  width: 100%;
  height: auto;
}

.pc {
  display: inherit;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: inherit;
  }
}

b, strong, .bold {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}

/* IEだけに適応 */
_:lang(x)::-ms-backdrop, .selector {
  font-family: "Segoe UI", Meiryo, sans-serif;
}

/*
//ベース
------------------------------------------------------------
*/
#container_wrap {
  overflow: hidden;
  min-width: 1180px;
  margin: 0 auto; 
}

@media screen and (max-width: 767px) {

  #container_wrap {
    min-width: 420px;
    width: 100%;
    margin: 0 auto;
    overflow-x: hidden;
  }
}


.inner, .innner_lv7, .innner_lv6, .inner_lv5, .inner_lv4, .inner_lv3, .inner_lv2 {
  max-width: 1180px;
  margin: 0 auto; 
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}

.inner::after, .inner_lv7::after, .inner_lv6::after, .inner_lv5::after, .inner_lv4::after, .inner_lv3::after, .inner_lv2::after {
  content: "";
  display: block;
  clear: both;
}

.inner_lv2 {
  max-width: 1500px;
  margin: 0 auto; 
  padding: 7rem 0 5rem 0;
}

.inner_lv3 {
  max-width: 980px;
  margin: 0 auto; 
}

.inner_lv4 {
  max-width: 800px;
  margin: 0 auto; 
}

.inner_lv5 {
  max-width: 1300px;
  margin: 0 auto; 
}

.inner_lv6 {
  max-width: 1500px;
  margin: 0 auto; 
  margin: 12rem 5rem 0;
}

.inner_lv7 {
  max-width: 1500px;
  margin: 0 auto; 
  margin: 1rem 0 1rem;
}

@media screen and (max-width: 767px) {
  .inner_all {
    width: 100%;
    margin: 0 auto; 
    padding: 0 15px;
  }
}

#main {
  float: right;
  width: 75%;
}
@media screen and (max-width: 767px) {
  #main {
    float: none;
    width: 100%;
    margin-bottom: 25%;
  }
}

#sub {
  float: left;
  width: 19%;
}
@media screen and (max-width: 767px) {
  #sub {
    float: none;
    width: 100%;
  }
}

#top_main {
  width: 100%;
  padding: 0;
  margin: 0 0 50px;
}

#top_left {
  width: 50%;
  float: left;
}

#top_right {
  width: 50%;
  float: right;
}

.section_top {
  padding: 0 0 7.5rem;
}
@media screen and (max-width: 767px) {
  .section_top {
    padding: 0 0 4rem;
  }
}

.section_lv1 {
   padding: 3rem 1rem 2rem 1rem;
}
@media screen and (max-width: 767px) {
  .section_lv1 {
    width: 100%;
    padding: 3rem 0rem 2rem 0rem;
  }
}

.section_lv2 {
  width: 100%;
  padding: 3rem 1rem 2rem 1rem;
}
@media screen and (max-width: 767px) {
  .section_lv2 {
    padding: 3rem 0rem 2rem 0rem;
  }
}

.section_lv3 {
  padding: 0 2rem 0 2rem;
}
@media screen and (max-width: 767px) {
  .section_lv3 {
    padding:  0 1rem 0 1rem;
  }
}

.article img {
  max-height: 600px;
  height: auto;
  width: auto;
  margin: 10px auto;
}

.article {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .article {
    font-size: 0.9rem;
  }
}

/*
//ヘッダー
------------------------------------------------------------
*/
header {
  margin: 0 auto;
  width: 100%;
  background-color: #fff;
  position: fixed;
  padding-bottom: 40px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 9999;
}
@media screen and (max-width: 767px) {
  header {
    padding: 15px 0;
  }
}
header .logo_wrap {
  margin-left: 5%;
  width: calc(5% + 200px);
}
@media screen and (max-width: 1500px) {
  header .logo_wrap {
    width: calc(5% + 160px);
  }
}
@media screen and (max-width: 1200px) {
  header .logo_wrap {
    width: calc(5% + 120px);
  }
}
@media screen and (max-width: 767px) {
  header .logo_wrap {
    width: 100%;
  }
}
header .nav_wrap {
  width: calc(100% - (5% + 200px));
}
@media screen and (max-width: 1500px) {
  header .nav_wrap {
    width: calc(100% - (5% + 160px));
  }
}
@media screen and (max-width: 1200px) {
  header .nav_wrap {
    width: calc(100% - (5% + 120px));
  }
}
@media screen and (max-width: 767px) {
  header .nav_wrap {
    width: 100%;
  }
}

.header_box_up {
  width: 100%;
  padding: 30px 15px 0 0;
  margin: 0 auto 30px;
  position: relative;
  align-items: center;
}
@media screen and (max-width: 1200px) {
  .header_box_up {
    padding: 30px 15px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .header_box_up {
    padding: 0 15px;
    margin: 0 auto 2rem;
    align-items: flex-start;
  }
}

.header_box {
  width: 100%;
  max-width: 1530px;
  padding: 0 15px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .header_box {
    align-items: flex-start;
  }
}

.header_ttl img.logo {
  width: 200px;
}
@media screen and (max-width: 1200px) {
  .header_ttl img.logo {
    width: 120px;
  }
}

#gnavi ul {
  display: flex;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #gnavi ul {
    flex-wrap: wrap;
    margin-bottom: 2rem;
  }
}
#gnavi ul li {
  margin-right: 2.5rem;
}
@media screen and (max-width: 1200px) {
  #gnavi ul li {
    margin-right: 2rem;
  }
}
@media screen and (max-width: 767px) {
  #gnavi ul li {
    margin-right: 0;
    width: 100%;
    margin-bottom: 0.8rem;
  }
}
@media screen and (max-width: 767px) {
  #gnavi ul li:last-of-type {
    margin-bottom: 0;
  }
}
#gnavi ul li a {
  font-weight: 700;
  position: relative;
}
#gnavi ul li a::before {
  display: none;
  content: "";
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
  width: 17px;
  height: 14px;
  position: absolute;
  background: url(../images/icon_nav_current.svg) no-repeat bottom/contain;
}
#gnavi ul li a:hover::before {
  display: block;
}
#gnavi ul .current a {
  position: relative;
}
#gnavi ul .current a::before {
  display: block;
  content: "";
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
  width: 17px;
  height: 14px;
  position: absolute;
  background: url(../images/icon_nav_current.svg) no-repeat bottom/contain;
}
@media screen and (max-width: 767px) {
  #gnavi ul .current a::before {
    display: none;
  }
}

.h_menu_wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 40px;
}
@media screen and (max-width: 1500px) {
  .h_menu_wrap {
    font-size: 0.8rem;
  }
}
@media screen and (max-width: 1200px) {
  .h_menu_wrap {
    margin-right: 0;
    font-size: 0.8rem;
  }
}
@media screen and (max-width: 767px) {
  .h_menu_wrap {
    height: auto;
    flex-direction: column;
    flex-wrap: wrap;
    margin-bottom: 2rem;
  }
}
.h_menu_wrap > div {
  position: relative;
  padding-right: 30px;
  margin-left: 30px;
}
@media screen and (max-width: 1500px) {
  .h_menu_wrap > div {
    padding-right: 20px;
    margin-left: 20px;
  }
}
@media screen and (max-width: 1200px) {
  .h_menu_wrap > div {
    padding-right: 20px;
    margin-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .h_menu_wrap > div {
    display: inline-block;
    padding-right: 0;
    margin-left: 0;
    margin-bottom: 0.7rem;
  }
}
.h_menu_wrap > div::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 100%;
  background-color: #040000;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .h_menu_wrap > div::before {
    display: none;
  }
}
.h_menu_wrap > div:nth-of-type(1) {
  margin-left: 0;
}
.h_menu_wrap > div:last-of-type::before {
  display: none;
}
@media screen and (max-width: 767px) {
  .h_menu_wrap > div:last-of-type {
    margin-bottom: 0;
  }
}
.h_menu_wrap .h_menu_user {
  padding-left: 40px;
}
@media screen and (max-width: 1500px) {
  .h_menu_wrap .h_menu_user {
    padding-left: 33.3333333333px;
  }
}
@media screen and (max-width: 767px) {
  .h_menu_wrap .h_menu_user {
    padding-right: 33.3333333333px;
  }
}
.h_menu_wrap .h_menu_user::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 24px;
  background: url(../images/icon_user.svg) no-repeat center/contain;
}
@media screen and (max-width: 1500px) {
  .h_menu_wrap .h_menu_user::after {
    width: 23.3333333333px;
    height: 20px;
  }
}
.h_menu_wrap .h_menu_login {
  padding-left: 43px;
}
@media screen and (max-width: 1500px) {
  .h_menu_wrap .h_menu_login {
    padding-left: 35.8333333333px;
  }
}
@media screen and (max-width: 767px) {
  .h_menu_wrap .h_menu_login {
    padding-right: 33.3333333333px;
  }
}
.h_menu_wrap .h_menu_login::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 24px;
  background: url(../images/icon_login.svg) no-repeat center/contain;
}
@media screen and (max-width: 1500px) {
  .h_menu_wrap .h_menu_login::after {
    width: 23.3333333333px;
    height: 20px;
  }
}
.h_menu_wrap .h_menu_cart {
  padding-left: 44px;
}
@media screen and (max-width: 1500px) {
  .h_menu_wrap .h_menu_cart {
    padding-left: 36.6666666667px;
  }
}
@media screen and (max-width: 767px) {
  .h_menu_wrap .h_menu_cart {
    padding-right: 33.3333333333px;
    margin-bottom: 1rem;
  }
}
.h_menu_wrap .h_menu_cart::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 25px;
  height: 24px;
  background: url(../images/icon_cart.svg) no-repeat center/contain;
}
@media screen and (max-width: 1500px) {
  .h_menu_wrap .h_menu_cart::after {
    width: 20.8333333333px;
    height: 20px;
  }
}

.h_contact_btm_wrap {
  position: absolute;
  top: 0;
  right: 0;
  display: none;
}
@media screen and (max-width: 767px) {
  .h_contact_btm_wrap {
    position: static;
  }
}
.h_contact_btm_wrap .h_contact_btm {
  display: block;
  background-color: #d25357;
  color: #fff;
  font-weight: 700;
  width: 220px;
  height: 70px;
  position: relative;
}
@media screen and (max-width: 1500px) {
  .h_contact_btm_wrap .h_contact_btm {
    width: 210px;
  }
}
@media screen and (max-width: 1200px) {
  .h_contact_btm_wrap .h_contact_btm {
    width: 220px;
  }
}
@media screen and (max-width: 767px) {
  .h_contact_btm_wrap .h_contact_btm {
    width: 100%;
  }
}
.h_contact_btm_wrap .h_contact_btm > span {
  position: absolute;
  width: 100%;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.h_contact_btm_wrap .h_contact_btm:hover {
  opacity: 0.6;
}

.section_serch {
  display: block;
  position: relative;
  width: 272px;
  height: 40px;
}
@media screen and (max-width: 767px) {
  .section_serch {
    display: block;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  #form4 {
    /*display: flex;*/
    width: 100%;
    margin-bottom: 0;
  }
}

#sbox4 {
  height: 40px;
  padding: 0 10px;
  width: 215px;
  position: absolute;
  left: 0;
  top: 0;
  outline: 0;
  background: #fff;
  border: #fff;
  border: solid 1px #040000;
  border-radius: 0;
}
@media screen and (max-width: 767px) {
  #sbox4 {
    height: 40px;
    display: inline-block;
    position: static;
    width: calc(90% - 57px);
  }
}

#sbtn4 {
  width: 57px;
  height: 40px;
  position: absolute;
  left: 215px;
  top: 0;
  background-color: #040000;
  color: #fff;
  border: none;
}
@media screen and (max-width: 767px) {
  #sbtn4 {
    display: inline-block;
    position: static;
  }
}

#sbtn4 .fa-search {
  font-size: 20px;
  position: absolute;
  top: 30%;
  left: 30%;
}

#sbtn4:hover {
  opacity: 0.6;
}

.menu-trigger {
  display: none;
}
@media screen and (max-width: 767px) {
  .menu-trigger {
    display: inline-block;
    transition: all 0.3s;
    box-sizing: border-box;
    position: fixed;
    top: 10px;
    right: 10px;
    width: 60px;
    height: 60px;
    z-index: 10000;
    background: #f1f0f0;
    color: #fff;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
  }
  .menu-trigger span {
    display: inline-block;
    transition: all 0.3s;
    box-sizing: border-box;
    position: absolute;
    z-index: 4;
    left: 0;
    width: 50%;
    height: 1px;
    background: #1c0000;
    right: 0;
    margin: auto;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 28%;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 50%;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 27%;
  }
  .menu-trigger.active span:nth-of-type(1) {
    transform: translateY(19px) rotate(45deg);
    top: 16%;
  }
  .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-19px) rotate(-45deg);
    bottom: 18%;
  }
}

#overlay {
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (max-width: 767px) {
  #overlay {
    padding-top: 5rem;
    width: 80%;
    height: 100%;
    text-align: center;
    position: fixed;
    top: 0;
    right: -70%;
    z-index: 9999;
    background: #fff;
    box-sizing: border-box;
    overflow-y: scroll;
    opacity: 0;
    transition: 0.5s;
    display: block;
  }
  #overlay.active {
    right: 0;
    opacity: 1;
    visibility: visible;
  }
}

.ticker_wrap {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  z-index: 5;
  padding: 2rem 0;
  border-radius: 50px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1200px) {
  .ticker_wrap {
    max-width: 1000px;
    margin: 0 auto;
    padding: 2rem 15px;
  }
}
@media screen and (max-width: 767px) {
  .ticker_wrap {
    border-radius: 10px;
    max-width: 90%;
    padding: 2rem 0 3rem;
    flex-wrap: wrap;
  }
}

.ticker_ttl {
  position: relative;
  font-family: "Josefin Sans", sans-serif;
  font-size: 1rem;
  padding-right: 40px;
  margin-right: 40px;
}
@media screen and (max-width: 767px) {
  .ticker_ttl {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
  }
}
.ticker_ttl::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 26px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: #d4d3d3;
}
@media screen and (max-width: 767px) {
  .ticker_ttl::after {
    display: none;
  }
}
.ticker_ttl img {
  width: 100%;
}

.ticker {
  max-width: 800px;
  width: 100%;
  text-align: left;
  position: relative;
  overflow: hidden;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .ticker {
    width: 100%;
  }
}
.ticker ul {
  width: 100%;
  position: relative;
}
.ticker ul i {
  width: 100%;
  display: none;
}
.ticker ul a {
  display: block;
  color: #363636;
}
@media screen and (max-width: 767px) {
  .ticker ul a {
    width: 100%;
    font-size: 0.8rem;
    line-height: 1.5;
  }
}
.ticker ul a > span {
  display: inline-block;
  margin-right: 1rem;
}

@media screen and (max-width: 767px) {
  .ticker_more {
    width: 100%;
    text-align: right;
  }
}

/*
//フッター
------------------------------------------------------------
*/
#footer {
  max-width: 1500px;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  padding: 5rem 15px;
}

.footer_box {
  width: 100%;
  overflow: hidden;
  display: flex;
}
@media screen and (max-width: 767px) {
  .footer_box {
    flex-wrap: wrap;
  }
}

.footer_left {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .footer_left {
    width: 100%;
    margin-bottom: 2rem;
  }
}

.footer_right {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .footer_right {
    width: 100%;
  }
}

.f_logo {
  max-width: 512px;
  margin-bottom: 1.3rem;
}
@media screen and (max-width: 767px) {
  .f_logo {
    max-width: 70%;
    margin-bottom: 1rem;
  }
}
.f_logo img {
  width: 100%;
}

.copy {
  padding: 1em 0;
  font-size: 0.94em;
  text-align: center;
  color: #fff;
  background-color: #040000;
}

.f_company {
  font-weight: 700;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .f_company {
    font-size: 1.2rem;
  }
}
.f_company > span {
  display: inline-block;
  font-size: 0.8rem;
}

.f_add {
  font-weight: 700;
}
.f_add span {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .f_add span {
    font-size: 1rem;
  }
}

.f_nav {
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .f_nav {
    flex-direction: column;
    justify-content: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .f_nav > div {
    line-height: 1.3;
  }
}
.f_nav > div:nth-of-type(1), .f_nav > div:nth-of-type(2) {
  margin-right: 2.5rem;
}
@media screen and (max-width: 767px) {
  .f_nav > div:nth-of-type(1), .f_nav > div:nth-of-type(2) {
    margin-right: 0;
    margin-bottom: 1rem;
  }
}
.f_nav > div a:hover {
  opacity: 0.6;
}

.f_btn_wrap {
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .f_btn_wrap {
    flex-wrap: wrap;
  }
}

.f_contact_btn {
  width: 300px;
  height: 75px;
  position: relative;
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  .f_contact_btn {
    margin-right: 0;
    margin: 0 auto 1rem;
  }
}
.f_contact_btn > a {
  display: block;
  background-color: #000;
  color: #fff;
  font-weight: 700;
  width: 100%;
  height: 100%;
}
.f_contact_btn > a > span {
  display: inline-block;
  width: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.1rem;
}
.f_contact_btn > a:hover {
  opacity: 0.7;
}

.geo_Japan_banner_wrap {
  max-width: 300px;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .geo_Japan_banner_wrap {
    margin: 0 auto 2rem;
  }
}
.geo_Japan_banner_wrap a:hover {
  opacity: 0.6;
}

/*
5:side
------------------------------------------------------------
*/
.list_sub_category_ttl,
.list_sub_category_new_ttl {
  font-size: 1.25rem;
  padding-bottom: 0.5rem;
  font-family: "Josefin Sans", sans-serif;
  letter-spacing: 2px;
  border-bottom: solid #040000 1px;
  margin-bottom: 1rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .list_sub_category_ttl,
  .list_sub_category_new_ttl {
    font-size: 1rem;
  }
}

.list_sub_underline {
  padding-bottom: 0.5rem;
  border-bottom: solid #040000 1px;
  margin-bottom: 1rem;
}

.list_sub_category_subttl {
  font-weight: 700;
  position: relative;
  width: 90%;
}
.list_sub_category_subttl::before {
  content: "";
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 17px;
  height: 14px;
  position: absolute;
  background: url(../images/icon_nav_current.svg) no-repeat bottom/contain;
}

.list_sub_category_redline {
  font-weight: 700;
  position: relative;
  padding-left: 15px;
}
.list_sub_category_redline::before {
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 4px;
  height: 100%;
  position: absolute;
  background: #d25357;
}

.list_sub_category, .list_sub_category_archive {
  display: flex;
  flex-direction: column;
}
.list_sub_category > li, .list_sub_category_archive > li {
  margin-bottom: 0.5rem;
}
.list_sub_category > li:last-of-type, .list_sub_category_archive > li:last-of-type {
  margin-bottom: 0;
}
.list_sub_category > li a, .list_sub_category_archive > li a {
  font-size: 1rem;
  position: relative;
  display: block;
  padding-left: 18px;
}
@media screen and (max-width: 767px) {
  .list_sub_category > li a, .list_sub_category_archive > li a {
    font-size: 0.9rem;
  }
}
.list_sub_category > li a::before, .list_sub_category_archive > li a::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 3px;
  width: 9px;
  height: 1px;
  background-color: #040000;
  transition: 0.3s;
}
.list_sub_category > li a:hover::before, .list_sub_category_archive > li a:hover::before {
  left: 6px;
}

.list_sub_category_archive > li > a {
  display: inline-block;
}

.list_sub_category_underline {
  padding-bottom: 1rem;
  border-bottom: solid #040000 1px;
}

.list_sub_category_2 {
  display: flex;
  flex-direction: column;
}
.list_sub_category_2 > li {
  margin-bottom: 0.7rem;
}
.list_sub_category_2 > li:last-of-type {
  margin-bottom: 0;
}
.list_sub_category_2 > li a {
  font-size: 1rem;
  position: relative;
  display: block;
}
@media screen and (max-width: 767px) {
  .list_sub_category_2 > li a {
    font-size: 0.9rem;
  }
}
.list_sub_category_2 > li a:hover {
  opacity: 0.6;
}

.list_sub_category_new > li {
  margin-bottom: 1.5rem;
}
.list_sub_category_new > li:last-of-type {
  margin-bottom: 0;
}
.list_sub_category_new > li > a {
  display: flex;
  justify-content: space-between;
}
.list_sub_category_new > li > a .img_wrap {
  width: 80px;
  height: 70px;
}
.list_sub_category_new > li > a .img_wrap img {
  width: 100%;
  height: 70px;
}
.list_sub_category_new > li > a .txt_wrap {
  width: calc(94% - 80px);
}
.list_sub_category_new > li > a .txt_wrap .date {
  display: block;
  font-size: 12px;
  font-family: "Josefin Sans", sans-serif;
}
.list_sub_category_new > li > a .txt_wrap > p {
  font-size: 13px;
}
.list_sub_category_new > li > a:hover {
  opacity: 0.8;
}

.txt_box_two_space {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.txt_box_two_space > span {
  display: inline-block;
}
.txt_box_two_space .mainttl {
  width: 40%;
}
@media screen and (max-width: 1200px) {
  .txt_box_two_space .mainttl {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .txt_box_two_space .mainttl {
    width: 40%;
  }
}
.txt_box_two_space .subttl {
  width: 60%;
  font-size: 12px;
}
@media screen and (max-width: 1200px) {
  .txt_box_two_space .subttl {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .txt_box_two_space .subttl {
    width: 60%;
  }
}

.side_banner a {
  display: block;
  width: 100%;
  margin: 0 1em 1rem 1rem;
}
	
@media screen and (max-width: 767px) {
  .side_banner table {
	align-content: center;
}
	 .side_banner tr {
	align-content: center;
	}
   .side_banner td {
	 align-content: center;
}
	.side_banner a {
	 width: 81%;
  }
}

/*
5:div ボックス
------------------------------------------------------------
*/
.main_img {
  margin-top: 163px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .main_img {
    margin-top: 80px;
  }
}
.main_img .txt_wrap {
  position: absolute;
  font-size: 3.5rem;
  font-weight: 700;
  top: 50%;
  left: 15%;
  transform: translateY(-50%);
  line-height: 1.7;
  z-index: 3;
}
@media screen and (max-width: 1500px) {
  .main_img .txt_wrap {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 1200px) {
  .main_img .txt_wrap {
    left: 5%;
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 767px) {
  .main_img .txt_wrap {
    font-size: 1.1rem;
  }
}
.main_img .txt_wrap .emphasis {
  font-size: 5rem;
  line-height: 1.5;
}
@media screen and (max-width: 1500px) {
  .main_img .txt_wrap .emphasis {
    font-size: 4.6rem;
  }
}
@media screen and (max-width: 1200px) {
  .main_img .txt_wrap .emphasis {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .main_img .txt_wrap .emphasis {
    font-size: 2.3rem;
  }
}
.main_img .txt_wrap .dec_blue {
  display: inline-block;
  position: relative;
  padding-bottom: 8px;
}
.main_img .txt_wrap .dec_blue::before {
  position: absolute;
  content: "";
  background: url(../images/text_line_blue.svg) no-repeat center/contain;
  width: 100%;
  height: 40px;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .main_img .txt_wrap .dec_blue::before {
    height: 20px;
  }
}
.main_img .txt_wrap .dec_pink {
  display: inline-block;
  position: relative;
  padding-bottom: 8px;
}
.main_img .txt_wrap .dec_pink::before {
  position: absolute;
  content: "";
  background: url(../images/text_line_red.svg) no-repeat center/contain;
  width: 100%;
  height: 40px;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .main_img .txt_wrap .dec_pink::before {
    height: 20px;
  }
}
.main_img .txt_wrap .dec_yellow {
  display: inline-block;
  position: relative;
  padding-bottom: 8px;
}
.main_img .txt_wrap .dec_yellow::before {
  position: absolute;
  content: "";
  background: url(../images/text_line_yellow.svg) no-repeat center/contain;
  width: 100%;
  height: 40px;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .main_img .txt_wrap .dec_yellow::before {
    height: 20px;
  }
}
.main_img .txt_wrap .dec_accent {
  display: inline-block;
  position: relative;
}
.main_img .txt_wrap .dec_accent::before {
  position: absolute;
  content: "";
  background: url(../images/ttl_accent.svg) no-repeat center/contain;
  width: 79px;
  height: 65px;
  right: -35px;
  top: -15px;
}
@media screen and (max-width: 767px) {
  .main_img .txt_wrap .dec_accent::before {
    top: -20px;
    right: -23.3333333333px;
    width: 52.6666666667px;
    height: 43.3333333333px;
  }
}

.txt_small {
	font-size: 1rem;
}

@media screen and (max-width: 1200px) {
	.txt_small {
	font-size: 1rem;
	padding: 0 0.5rem 0 0.5rem;
 }
}

@media screen and (max-width: 767px) {
	.txt_small {
	font-size: 1rem;
	padding: 0 0.5rem 0 0.5rem;
 }
}

.sdgs-bnr{
	text-align:center;
			width:50%;
			max-width: 50%;
			margin: 0 auto ;
			box-sizing: border-box;
			padding: 7.5rem 0 3rem 0;align-content;
}

@media screen and (max-width: 1200px) {
	.sdgs-bnr{
	padding: 3rem 0 3rem 0;
	}	
}

@media screen and (max-width: 767px) {
	.sdgs-bnr{
	width:80%;
	max-width: 80%;
	padding: 3rem 0 3rem 0;
	}	
}


@media screen and (max-width: 767px) {
  .sub_header_img_wrap img {
    width: 100%;
    height: 150px;
  }
}

.sub_header_img_wrap_2 {
  height: 250px;
}
@media screen and (max-width: 1200px) {
  .sub_header_img_wrap_2 {
    height: 300px;
  }
}
@media screen and (max-width: 767px) {
  .sub_header_img_wrap_2 {
    height: 130px;
  }
}

.sub_header_img_wrap_3 {
  height: 150px;
}
@media screen and (max-width: 1200px) {
  .sub_header_img_wrap_3 {
    height: 200px;
  }
}
@media screen and (max-width: 767px) {
  .sub_header_img_wrap_3 {
    height: 80px;
  }
}

.map {
  position: relative;
}
.map::before {
  content: "";
  display: block;
  padding: 60% 0 0;
}
.map > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.section_txt {
  font-size: 0.9375em;
}
.section_txt p.date {
  font-size: 0.9375em;
}
@media screen and (max-width: 767px) {
  .section_txt p.date {
    font-size: 0.8em;
  }
}
.section_txt img {
  margin: 3% 0;
  display: block;
  max-height: 500px;
  width: auto;
}

.box_two, .box_two_r {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .box_two, .box_two_r {
    flex-wrap: wrap;
  }
}
.box_two > div, .box_two_r > div {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .box_two > div, .box_two_r > div {
    width: 100%;
  }
}
.box_two .txt_wrap, .box_two_r .txt_wrap {
  padding-right: 5%;
}
@media screen and (max-width: 767px) {
  .box_two .txt_wrap, .box_two_r .txt_wrap {
    padding-right: 0;
  }
}

.box_two_r {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .box_two_r {
    flex-direction: row;
  }
}
.box_two_r .txt_wrap {
  padding-left: 5%;
}
@media screen and (max-width: 767px) {
  .box_two_r .txt_wrap {
    padding-left: 0;
  }
}

.box_two_space, .box_two_space_r {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .box_two_space, .box_two_space_r {
    flex-wrap: wrap;
  }
}
.box_two_space .box_l, .box_two_space_r .box_l,
.box_two_space .box_r,
.box_two_space_r .box_r {
  width: 48%;
}
.box_two_space .box_l > div, .box_two_space_r .box_l > div,
.box_two_space .box_r > div,
.box_two_space_r .box_r > div {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .box_two_space .box_l, .box_two_space_r .box_l,
  .box_two_space .box_r,
  .box_two_space_r .box_r {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .box_two_space .box_l, .box_two_space_r .box_l {
    margin-bottom: 1rem;
  }
}

.box_two_center {
  align-items: center;
}

.box_two_space_r {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .box_two_space_r {
    flex-direction: row;
  }
}

.pickup_box_lbl {
  background: #040000;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  text-align: center;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .pickup_box_lbl {
    padding: 0.3rem 1rem;
    font-size: 0.6rem;
  }
}
.pickup_box_sold {
  background-color: #CA5357;
  color: #fff;
  font-size: 0.8rem;
  padding: 0.25em 1.5em;
  border-radius: 210px;
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .pickup_box_sold {
    font-size: 0.6rem;
    padding: 0 1em;
    bottom: 5px;
    right: 5px;
  }
}
.pickup_box_img {
  position: relative;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .pickup_box_img {
    margin-bottom: 1rem;
  }
}
.pickup_box_img::before {
  content: "";
  display: block;
  padding: 100% 0 0;
}
.pickup_box_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.pickup_box .price, .pickup_box_GEOFIX_2 .price, .pickup_box_GEOFIX .price {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .pickup_box .price, .pickup_box_GEOFIX_2 .price, .pickup_box_GEOFIX .price {
    font-size: 1.3rem;
    margin-bottom: 0;
  }
}
.pickup_box .price > span, .pickup_box_GEOFIX_2 .price > span, .pickup_box_GEOFIX .price > span {
  display: inline-block;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .pickup_box .price > span, .pickup_box_GEOFIX_2 .price > span, .pickup_box_GEOFIX .price > span {
    font-size: 0.8rem;
  }
}
.pickup_box_ttl {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  .pickup_box_ttl {
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
  }
}
.pickup_box_txt {
  font-size: 0.8rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .pickup_box_txt {
    display: none;
    font-size: 0.6rem;
  }
}

.pickup_box_GEOFIX_img {
  position: relative;
  margin-bottom: 1.5rem;
  border: solid 1px #000000;
}
.pickup_box_GEOFIX_img img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .pickup_box_GEOFIX_img img {
    height: 100%;
  }
}

.pickup_box_GEOFIX_2_img {
  position: relative;
  margin-bottom: 1.5rem;
  border: solid 1px #000000;
}
.pickup_box_GEOFIX_2_img img {
  width: 100%;
  height: 400px;
}
@media screen and (max-width: 767px) {
  .pickup_box_GEOFIX_2_img img {
    height: 220px;
  }
}

.top_read_wrap_01, .top_read_wrap_02 {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .top_read_wrap_01, .top_read_wrap_02 {
    flex-wrap: wrap;
  }
}
.top_read_wrap_01 .img_wrap, .top_read_wrap_02 .img_wrap {
  height: 564px;
  margin-right: 4rem;
  position: relative;
}
.top_read_wrap_01 .img_wrap::before, .top_read_wrap_02 .img_wrap::before {
  opacity: 0;
  position: absolute;
  content: "";
  top: -3rem;
  left: 6rem;
  width: 182px;
  height: 128px;
  background: url(../images/top_img_fukidashi_1.svg) no-repeat center top/contain;
}
@media screen and (max-width: 1200px) {
  .top_read_wrap_01 .img_wrap::before, .top_read_wrap_02 .img_wrap::before {
    width: 121.3333333333px;
    height: 85.3333333333px;
  }
}
@media screen and (max-width: 767px) {
  .top_read_wrap_01 .img_wrap::before, .top_read_wrap_02 .img_wrap::before {
    width: 110px;
  }
}
.top_read_wrap_01 .img_wrap img, .top_read_wrap_02 .img_wrap img {
  height: 100%;
}
@media screen and (max-width: 767px) {
  .top_read_wrap_01 .img_wrap img, .top_read_wrap_02 .img_wrap img {
    height: auto;
  }
}
@media screen and (max-width: 1500px) {
  .top_read_wrap_01 .img_wrap, .top_read_wrap_02 .img_wrap {
    height: 376px;
  }
}
@media screen and (max-width: 767px) {
  .top_read_wrap_01 .img_wrap, .top_read_wrap_02 .img_wrap {
    width: 80%;
    height: auto;
    margin-right: 0;
    margin: 0 auto 1rem;
  }
}
@media screen and (max-width: 767px) {
  .top_read_wrap_01 .txt_wrap, .top_read_wrap_02 .txt_wrap {
    width: 100%;
  }
}

.top_read_wrap_02 {
  flex-direction: row-reverse;
}
.top_read_wrap_02 .img_wrap {
  margin-right: 0;
}
.top_read_wrap_02 .img_wrap::before {
  opacity: 0;
  position: absolute;
  content: "";
  top: 0;
  left: auto;
  right: 2rem;
  width: 156px;
  height: 140px;
  background: url(../images/top_img_fukidashi_2.svg) no-repeat center top/contain;
}
@media screen and (max-width: 1200px) {
  .top_read_wrap_02 .img_wrap::before {
    width: 104px;
    height: 93.3333333333px;
  }
}
@media screen and (max-width: 767px) {
  .top_read_wrap_02 .img_wrap::before {
    width: 100px;
  }
}
@media screen and (max-width: 767px) {
  .top_read_wrap_02 .img_wrap {
    margin: 0 auto 1rem;
  }
}
.top_read_wrap_02 .txt_wrap {
  margin-right: 4rem;
}
@media screen and (max-width: 767px) {
  .top_read_wrap_02 .txt_wrap {
    margin-right: 0;
    width: 100%;
  }
}

.GEOFIX_work_wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .GEOFIX_work_wrap {
    flex-wrap: wrap;
  }
}
.GEOFIX_work_wrap .swiper_wrap {
  width: 54%;
}
@media screen and (max-width: 767px) {
  .GEOFIX_work_wrap .swiper_wrap {
    width: 100%;
  }
}
.GEOFIX_work_wrap .txt_data {
  width: 38%;
}
@media screen and (max-width: 767px) {
  .GEOFIX_work_wrap .txt_data {
    width: 100%;
  }
}
.GEOFIX_work_wrap .txt_data .ttl {
  display: block;
  padding-bottom: 1.3rem;
  border-bottom: solid 1px #040000;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .GEOFIX_work_wrap .txt_data .ttl {
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
  }
}

/*
6:ul リスト
------------------------------------------------------------
*/
.list_sns_wrap {
  position: absolute;
  top: 50%;
  left: 3%;
  transform: translateY(-50%);
  z-index: 4;
}
@media screen and (max-width: 767px) {
  .list_sns_wrap {
    display: none;
  }
}

.list_sns > li {
  display: block;
  width: 50px;
}
@media screen and (max-width: 1200px) {
  .list_sns > li {
    width: 30px;
  }
}
.list_sns > li a {
  display: block;
}
.list_sns > li a:hover {
  opacity: 0.6;
}
.list_sns > li:nth-of-type(1) {
  margin-bottom: 30px;
}
@media screen and (max-width: 1200px) {
  .list_sns > li:nth-of-type(1) {
    margin-bottom: 20px;
  }
}

.list_f_sns {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 320px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .list_f_sns {
    max-width: 300px;
  }
}
.list_f_sns > li {
  width: 52px;
}
@media screen and (max-width: 767px) {
  .list_f_sns > li {
    width: 40px;
  }
}
.list_f_sns > li img {
  width: 100%;
}
.list_f_sns > li a:hover {
  opacity: 0.6;
}

.list_f_sns_2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 200px;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 767px) {
  .list_f_sns_2 {
    margin: 0 auto;
    max-width: 300px;
  }
}
.list_f_sns_2 > li {
  width: 37px;
}
@media screen and (max-width: 767px) {
  .list_f_sns_2 > li {
    width: 40px;
  }
}
.list_f_sns_2 > li img {
  width: 100%;
}
.list_f_sns_2 > li a:hover {
  opacity: 0.6;
}

.list_two {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
  margin-bottom: -5rem;
}
@media screen and (max-width: 767px) {
  .list_two {
    margin-bottom: -3rem;
  }
}
.list_two > li {
  width: 46%;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .list_two > li {
    margin-bottom: 3rem;
  }
}
.list_two > li a {
  display: block;
}
.list_two > li a:hover {
  opacity: 0.6;
}

.list_three, .list_blog {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
  margin-bottom: -4rem;
}
@media screen and (max-width: 767px) {
  .list_three, .list_blog {
    margin-bottom: 0;
  }
}
.list_three:after, .list_blog:after {
  content: "";
  display: block;
  width: 30.6666666667%;
  height: 0;
}
@media screen and (max-width: 767px) {
  .list_three:after, .list_blog:after {
    display: none;
  }
}
.list_three > li, .list_blog > li {
  width: 30.6666666667%;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .list_three > li, .list_blog > li {
    width: 100%;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .list_three > li:last-of-type, .list_blog > li:last-of-type {
    margin-bottom: 0;
  }
}
.list_three > li a, .list_blog > li a {
  display: block;
}
.list_three > li a:hover, .list_blog > li a:hover {
  opacity: 0.6;
}

.list_three_2 {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
  margin-bottom: -4rem;
}
@media screen and (max-width: 767px) {
  .list_three_2 {
    margin-bottom: -2rem;
  }
}
.list_three_2:after {
  content: "";
  display: block;
  width: 30.6666666667%;
  height: 0;
}
@media screen and (max-width: 767px) {
  .list_three_2:after {
    display: none;
  }
}
.list_three_2 > li {
  width: 30.6666666667%;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .list_three_2 > li {
    width: 46%;
    margin-bottom: 2rem;
  }
}
.list_three_2 > li a {
  display: block;
}
.list_three_2 > li a:hover {
  opacity: 0.6;
}

.list_four, .list_work {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
}
.list_four:before, .list_work:before {
  content: "";
  display: block;
  width: 23.5%;
  height: 0;
  order: 1;
}
@media screen and (max-width: 767px) {
  .list_four:before, .list_work:before {
    display: none;
  }
}
.list_four:after, .list_work:after {
  content: "";
  display: block;
  width: 23.5%;
  height: 0;
}
@media screen and (max-width: 767px) {
  .list_four:after, .list_work:after {
    display: none;
  }
}
.list_four > li, .list_work > li {
  width: 23.5%;
}
@media screen and (max-width: 767px) {
  .list_four > li, .list_work > li {
    width: 100%;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .list_four > li:last-of-type, .list_work > li:last-of-type {
    margin-bottom: 0;
  }
}
.list_four > li a, .list_work > li a {
  display: block;
}
.list_four > li a:hover, .list_work > li a:hover {
  opacity: 0.6;
}

.search .list_four li, .search .list_work li {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .search .list_four li, .search .list_work li {
    margin-bottom: 2rem;
  }
}

.list_blog {
  margin-bottom: -6rem;
}
@media screen and (max-width: 767px) {
  .list_blog {
    margin-bottom: 0;
  }
}
.list_blog > li {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .list_blog > li {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .list_blog > li:last-of-type {
    margin-bottom: 0;
  }
}

.column_box .img_wrap, .column_box_2 .img_wrap {
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .column_box .img_wrap, .column_box_2 .img_wrap {
    margin-bottom: 0.5rem;
  }
}
.column_box .img_wrap img, .column_box_2 .img_wrap img {
  width: 100%;
  height: 380px;
}
@media screen and (max-width: 1500px) {
  .column_box .img_wrap img, .column_box_2 .img_wrap img {
    height: 300px;
  }
}
@media screen and (max-width: 1200px) {
  .column_box .img_wrap img, .column_box_2 .img_wrap img {
    height: 250px;
  }
}
@media screen and (max-width: 767px) {
  .column_box .img_wrap img, .column_box_2 .img_wrap img {
    height: 210px;
  }
}
.column_box .txt_wrap .data, .column_box_2 .txt_wrap .data {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .column_box .txt_wrap .data, .column_box_2 .txt_wrap .data {
    font-size: 0.8rem;
  }
}
.column_box .txt_wrap .ttl, .column_box_2 .txt_wrap .ttl {
  font-size: 1.5rem;
  margin-bottom: 0.3rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .column_box .txt_wrap .ttl, .column_box_2 .txt_wrap .ttl {
    font-size: 1rem;
    margin-bottom: 0.3rem;
  }
}
.column_box .txt_wrap p, .column_box_2 .txt_wrap p {
  font-size: 1rem;
}
.column_box > a, .column_box_2 > a {
  display: block;
}
.column_box > a:hover, .column_box_2 > a:hover {
  opacity: 0.6;
}

.column_box_2 .img_wrap img {
  height: 250px;
}
@media screen and (max-width: 1500px) {
  .column_box_2 .img_wrap img {
    height: 200px;
  }
}
@media screen and (max-width: 1200px) {
  .column_box_2 .img_wrap img {
    height: 180px;
  }
}
@media screen and (max-width: 767px) {
  .column_box_2 .img_wrap img {
    height: auto;
    max-height: 200px;
  }
}

.list_product_feature {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.list_product_feature > li {
  width: 47%;
  margin-bottom: 3.7rem;
}
@media screen and (max-width: 767px) {
  .list_product_feature > li {
    width: 100%;
    margin-bottom: 3rem;
  }
}
.list_product_feature > li .img_wrap {
  width: 100%;
  margin-bottom: 1rem;
}
.list_product_feature > li .ttl {
  line-height: 1.1;
  font-size: 1.1rem;
}
.list_product_feature > li .ttl .number {
  font-size: 1.3rem;
}

.list_product_standard > li {
  margin-bottom: 0.5rem;
}
.list_product_standard > li:last-of-type {
  margin-bottom: 0;
}

.list_review > li {
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .list_review > li {
    font-size: 0.8rem;
  }
}
.list_review > li:last-of-type {
  margin-bottom: 0;
}

.list_information > li {
  border-bottom: solid 1px #514f50;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
.list_information > li:last-of-type {
  margin-bottom: 0;
}
.list_information > li .ttl {
  font-size: 1.1rem;
}
.list_information > li a {
  display: block;
}
.list_information > li a:hover {
  opacity: 0.6;
}

.information_date_wrap {
  display: flex;
  line-height: 1.1;
  margin-bottom: 1rem;
}
.information_date_wrap .date {
  display: inline-block;
  padding-right: 1rem;
  margin-right: 1rem;
  position: relative;
}
.information_date_wrap .date::before {
  position: absolute;
  content: "";
  background: #514f50;
  width: 1px;
  height: 100%;
  right: 0;
  top: 0;
}
.information_date_wrap .category {
  display: inline-block;
}

.list_privacy > li {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .list_privacy > li {
    margin-bottom: 2rem;
  }
}
.list_privacy > li:last-of-type {
  margin-bottom: 0;
}
.list_privacy > li .ttl {
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  border-bottom: solid 1px #040000;
}

.list_privacy_sub > li {
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .list_privacy_sub > li {
    margin-bottom: 0.6rem;
  }
}
.list_privacy_sub > li:last-of-type {
  margin-bottom: 0;
}
.list_privacy_sub > li .sub_wrap {
  padding: 1rem;
}
@media screen and (max-width: 767px) {
  .list_privacy_sub > li .sub_wrap {
    font-size: 0.8rem;
  }
}

.list_GEOFIX_about > li {
  display: flex;
}
@media screen and (max-width: 767px) {
  .list_GEOFIX_about > li {
    flex-wrap: wrap;
  }
}
.list_GEOFIX_about > li:nth-child(even) {
  flex-direction: row-reverse;
}
.list_GEOFIX_about > li:nth-child(1) .txt_wrap {
  border: solid 30px #1d2080;
}
@media screen and (max-width: 767px) {
  .list_GEOFIX_about > li:nth-child(1) .txt_wrap {
    border: solid 15px #1d2080;
  }
}
.list_GEOFIX_about > li:nth-child(2) .txt_wrap {
  border: solid 30px #dc0012;
}
@media screen and (max-width: 767px) {
  .list_GEOFIX_about > li:nth-child(2) .txt_wrap {
    border: solid 15px #dc0012;
  }
}
.list_GEOFIX_about > li > div {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .list_GEOFIX_about > li > div {
    width: 100%;
  }
}
.list_GEOFIX_about > li .txt_wrap {
  position: relative;
}
@media screen and (max-width: 767px) {
  .list_GEOFIX_about > li .txt_wrap {
    padding: 3rem 1rem;
  }
}
.list_GEOFIX_about > li .txt_wrap .text_data {
  width: 70%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1200px) {
  .list_GEOFIX_about > li .txt_wrap .text_data {
    font-size: 0.8rem;
  }
}
@media screen and (max-width: 767px) {
  .list_GEOFIX_about > li .txt_wrap .text_data {
    width: 100%;
    position: static;
    transform: none;
    font-size: 0.8rem;
  }
}
.list_GEOFIX_about > li .img_wrap img {
  width: 100%;
}

.list_GEOFIX_power > li {
  display: flex;
}
@media screen and (max-width: 767px) {
  .list_GEOFIX_power > li {
    flex-wrap: wrap;
  }
}
.list_GEOFIX_power > li:nth-child(even) {
  flex-direction: row-reverse;
}
.list_GEOFIX_power > li:nth-child(1) {
  background-color: #007639;
}
.list_GEOFIX_power > li:nth-child(2) {
  background-color: #990012;
}
.list_GEOFIX_power > li:nth-child(3) {
  background-color: #1d3262;
}
.list_GEOFIX_power > li:nth-child(4) {
  background-color: #fabb2b;
}
.list_GEOFIX_power > li > div {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .list_GEOFIX_power > li > div {
    width: 100%;
  }
}
.list_GEOFIX_power > li .txt_wrap {
  position: relative;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .list_GEOFIX_power > li .txt_wrap {
    padding: 3rem 1rem;
  }
}
.list_GEOFIX_power > li .txt_wrap .text_data {
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.37rem;
}
@media screen and (max-width: 1200px) {
  .list_GEOFIX_power > li .txt_wrap .text_data {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 767px) {
  .list_GEOFIX_power > li .txt_wrap .text_data {
    position: static;
    transform: none;
    font-size: 0.9rem;
  }
}
.list_GEOFIX_power > li .img_wrap img {
  width: 100%;
}

.list_safety {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .list_safety {
    flex-wrap: wrap;
  }
}
.list_safety > li {
  width: 32%;
}
@media screen and (max-width: 767px) {
  .list_safety > li {
    width: 100%;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .list_safety > li:last-of-type {
    margin-bottom: 0;
  }
}
.list_safety > li .img_wrap {
  margin-bottom: 1rem;
}
.list_safety > li .text_wrap {
  text-align: center;
}
.list_safety > li .text_wrap .ttl {
  display: inline-block;
  font-size: 2.1rem;
  font-weight: 700;
  position: relative;
  padding: 0 40px;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  .list_safety > li .text_wrap .ttl {
    padding: 0 30px;
    font-size: 1.5rem;
  }
}
.list_safety > li .text_wrap .ttl::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 27px;
  height: 26px;
  background: url(../images/txt_dec_comma.svg) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .list_safety > li .text_wrap .ttl::before {
    width: 18px;
    height: 17.3333333333px;
  }
}
.list_safety > li .text_wrap .ttl::after {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  width: 27px;
  height: 26px;
  background: url(../images/txt_dec_comma.svg) no-repeat center top/contain;
  transform: rotateX(180deg) scale(-1, 1);
}
@media screen and (max-width: 767px) {
  .list_safety > li .text_wrap .ttl::after {
    width: 18px;
    height: 17.3333333333px;
  }
}
.list_safety > li .text_wrap .text {
  text-align: left;
  font-size: 0.9rem;
}

.list_work {
  display: flex;
  margin-bottom: -4.5rem;
}
@media screen and (max-width: 767px) {
  .list_work {
    margin-bottom: -2rem;
  }
}
.list_work > li {
  margin-bottom: 4.5rem;
}
@media screen and (max-width: 767px) {
  .list_work > li {
    margin-bottom: 2rem;
  }
}
.list_work > li .img_wrap {
  border: solid 1px #b0b0b0;
  margin-bottom: 1rem;
}
.list_work > li .txt_wrap {
  text-align: center;
  font-weight: 700;
  font-size: 1.1rem;
}
@media screen and (max-width: 767px) {
  .list_work > li .txt_wrap {
    font-size: 0.9rem;
  }
}

.list_serch > li {
  margin-bottom: 1rem;
}
.list_serch > li > a {
  font-weight: 700;
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .list_serch > li > a {
    font-size: 1rem;
  }
}
.list_serch > li > a:hover {
  opacity: 0.6;
}
.list_serch > li:last-of-type {
  margin-bottom: 0;
}

.product_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.product_wrap > div {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .product_wrap > div {
    width: 100%;
  }
}

.product_wrap_2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.product_wrap_2 > div {
  width: 46%;
}
@media screen and (max-width: 767px) {
  .product_wrap_2 > div {
    width: 100%;
  }
}

.series_playforever {
  margin: 0 0 6em;
}
@media screen and (max-width: 767px) {
  .series_playforever {
    margin: 0 0 4em;
  }
}

.list_series_pf {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -3% 1em 0;
}
@media screen and (max-width: 767px) {
  .list_series_pf {
    margin: 0 -5% 1em 0;
  }
}
.list_series_pf li {
  width: 22%;
  margin: 0 3% 3% 0;
}
@media screen and (max-width: 767px) {
  .list_series_pf li {
    width: 45%;
    margin: 0 5% 5% 0;
  }
}
.list_series_pf li a {
  display: block;
}
.list_series_pf li a:hover {
  opacity: 0.8;
}
.list_series_pf_img {
  margin: 0 0 0.75em;
  position: relative;
}
.list_series_pf_img::before {
  content: "";
  display: block;
  padding: 100% 0 0;
}
.list_series_pf_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.list_series_pf_sold {
  background-color: #CA5357;
  color: #fff;
  font-size: 0.8rem;
  padding: 0.25em 1.5em;
  border-radius: 210px;
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .list_series_pf_sold {
    font-size: 0.6rem;
    padding: 0 1em;
    bottom: 5px;
    right: 5px;
  }
}
.list_series_pf_ttl {
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .list_series_pf_ttl {
    font-size: 0.87em;
  }
}
.list_series_pf_price {
  font-size: 0.87em;
}
.list_series_pf_price span {
  font-size: 1.14em;
}

a.button_pf {
  display: block;
  max-width: 300px;
  margin: auto;
  padding: 1em;
  border-radius: 50px;
  background-color: #d25357;
  color: #fff;
  font-weight: 700;
  text-align: center;
}
a.button_pf:hover {
  box-shadow: 0 0 0 5px #d25357 inset;
  background-color: #fff;
  color: #d25357;
}

/*
7:dl
------------------------------------------------------------
*/
/*
8:table
------------------------------------------------------------
*/
.table_company {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #040000;
}
.table_company th {
  width: 23%;
  font-weight: 700;
  padding: 1.5rem 0;
  border-bottom: 1px solid #040000;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .table_company th {
    border-bottom: none;
    display: block;
    width: 100%;
    padding: 1rem 0 0 0;
  }
}
.table_company td {
  padding: 1.5rem 0;
  border-bottom: 1px solid #040000;
}
@media screen and (max-width: 767px) {
  .table_company td {
    display: block;
    width: 100%;
    padding: 1rem 0 1rem;
  }
}

/*
9:タイトル
------------------------------------------------------------
*/
.main_ttl {
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-size: 5rem;
  position: relative;
  z-index: 3;
  line-height: 1;
  margin-bottom: 5rem;
  padding-bottom: 2rem;
  font-weight: 700;
  letter-spacing: 3px;
}
@media screen and (max-width: 1500px) {
  .main_ttl {
    font-size: 3.8rem;
  }
}
@media screen and (max-width: 767px) {
  .main_ttl {
    display: block;
    font-size: 1.5rem;
    padding-bottom: 1.5rem;
    margin-bottom: 2.5rem;
  }
}
.main_ttl > div.ttl {
  display: inline-block;
}
.main_ttl .j_txt {
  width: 100%;
  position: absolute;
  display: block;
  width: 100%;
  font-weight: 700;
  font-size: 1.37rem;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  white-space: nowrap;
  letter-spacing: 1px;
}
@media screen and (max-width: 1500px) {
  .main_ttl .j_txt {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .main_ttl .j_txt {
    white-space: normal;
    font-size: 0.7rem;
  }
}

.main_ttl_dec {
  position: relative;
  padding-top: 45px;
}
@media screen and (max-width: 767px) {
  .main_ttl_dec {
    padding-top: 26.4705882353px;
  }
}
.main_ttl_dec::before {
  position: absolute;
  content: "";
  top: 0;
  left: -50px;
  width: 88px;
  height: 50px;
  background: url(../images/icon_ttl.svg) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .main_ttl_dec::before {
    left: -29.4117647059px;
    width: 51.7647058824px;
    height: 29.4117647059px;
  }
}

.main_ttl_dec_kakko, .main_ttl_dec_kakko2 {
  position: relative;
  padding-top: 30px;
}
@media screen and (max-width: 767px) {
  .main_ttl_dec_kakko, .main_ttl_dec_kakko2 {
    padding-top: 17.6470588235px;
  }
}
.main_ttl_dec_kakko::before, .main_ttl_dec_kakko2::before {
  position: absolute;
  content: "";
  top: 0;
  left: -50px;
  width: 50px;
  height: 50px;
  background: url(../images/ttl_kakko_yellow.svg) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .main_ttl_dec_kakko::before, .main_ttl_dec_kakko2::before {
    left: -29.4117647059px;
    width: 29.4117647059px;
    height: 29.4117647059px;
  }
}
.main_ttl_dec_kakko::after, .main_ttl_dec_kakko2::after {
  position: absolute;
  content: "";
  bottom: 30px;
  right: -50px;
  width: 50px;
  height: 50px;
  background: url(../images/ttl_kakko_yellow.svg) no-repeat center top/contain;
  transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
  .main_ttl_dec_kakko::after, .main_ttl_dec_kakko2::after {
    bottom: 10px;
    right: -29.4117647059px;
    width: 29.4117647059px;
    height: 29.4117647059px;
  }
}

.main_ttl_dec_kakko2 {
  position: relative;
  padding-top: 30px;
}
@media screen and (max-width: 767px) {
  .main_ttl_dec_kakko2 {
    padding-top: 17.6470588235px;
  }
}
.main_ttl_dec_kakko2::before {
  position: absolute;
  content: "";
  top: 0;
  left: -70px;
  width: 42px;
  height: 42px;
  background: url(../images/ttl_kakko_yellow.svg) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .main_ttl_dec_kakko2::before {
    left: -41.1764705882px;
    width: 24.7058823529px;
    height: 24.7058823529px;
  }
}
.main_ttl_dec_kakko2::after {
  position: absolute;
  content: "";
  bottom: 30px;
  right: -70px;
  width: 42px;
  height: 42px;
  background: url(../images/ttl_kakko_yellow.svg) no-repeat center top/contain;
  transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
  .main_ttl_dec_kakko2::after {
    bottom: 10px;
    right: -41.1764705882px;
    width: 24.7058823529px;
    height: 24.7058823529px;
  }
}

.read_ttl {
  font-size: 2.25rem;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  .read_ttl {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .read_ttl {
    font-size: 1.2rem;
	 padding: 0 0 0 2rem;
  }
}
.read_ttl .emphasis {
  display: inline-block;
  font-size: 4.4rem;
  line-height: 1;
  padding: 0 0.5rem 0 0;
}
@media screen and (max-width: 1200px) {
  .read_ttl .emphasis {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .read_ttl .emphasis {
    font-size: 2.3rem;
	 padding: 0 0 0.5rem 0;
  }
}



.sub_ttl {
  display: inline-block;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.6;
  padding-bottom: 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sub_ttl {
    font-size: 1.3rem;
    padding-bottom: 20px;
  }
}
.sub_ttl > span {
  display: inline-block;
  font-size: 3.1rem;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .sub_ttl > span {
    font-size: 1.6rem;
  }
}
.sub_ttl::before {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 84px;
  height: 12px;
  background: url(../images/icon_ttl_dotline.svg) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .sub_ttl::before {
    width: 56px;
    height: 8px;
  }
}

.sub_ttl_2 {
  display: inline-block;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.6;
  padding-bottom: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sub_ttl_2 {
    font-size: 1.3rem;
    padding-bottom: 20px;
  }
}
.sub_ttl_2 > span {
  display: inline-block;
  font-size: 3.1rem;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .sub_ttl_2 > span {
    font-size: 1.6rem;
  }
}
.sub_ttl_2::before {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 84px;
  height: 12px;
  background: url(../images/icon_ttl_dotline.svg) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .sub_ttl_2::before {
    width: 56px;
    height: 8px;
  }
}

.sub_ttl_3 {
  display: inline-block;
  font-size: 3.1rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .sub_ttl_3 {
    font-size: 1.6rem;
  }
}

.sub_ttl_wai_dec, .sub_ttl_wai_dec_yellow {
  position: relative;
  padding: 0 35px;
}
@media screen and (max-width: 767px) {
  .sub_ttl_wai_dec, .sub_ttl_wai_dec_yellow {
    padding: 0 25px;
  }
}
.sub_ttl_wai_dec::before, .sub_ttl_wai_dec_yellow::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 21px;
  height: 30px;
  background: url(../images/dec_black_wai.svg) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .sub_ttl_wai_dec::before, .sub_ttl_wai_dec_yellow::before {
    width: 15px;
    height: 21.4285714286px;
  }
}
.sub_ttl_wai_dec::after, .sub_ttl_wai_dec_yellow::after {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  width: 21px;
  height: 30px;
  background: url(../images/dec_black_wai.svg) no-repeat center top/contain;
  transform: scale(-1, 1);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .sub_ttl_wai_dec::after, .sub_ttl_wai_dec_yellow::after {
    width: 15px;
    height: 21.4285714286px;
  }
}

.sub_ttl_wai_dec_yellow::before {
  background: url(../images/dec_yellow_wai.svg) no-repeat center top/contain;
}
.sub_ttl_wai_dec_yellow::after {
  background: url(../images/dec_yellow_wai.svg) no-repeat center top/contain;
}

.sub_header_ttl, .sub_header_ttl_4, .sub_header_ttl_3, .sub_header_ttl_2 {
  position: absolute;
  width: 100%;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sub_header_ttl > div, .sub_header_ttl_4 > div, .sub_header_ttl_3 > div, .sub_header_ttl_2 > div {
  display: inline-block;
  font-size: 5rem;
  font-weight: 700;
  font-family: "Josefin Sans", sans-serif;
  line-height: 1.1;
}
@media screen and (max-width: 1500px) {
  .sub_header_ttl > div, .sub_header_ttl_4 > div, .sub_header_ttl_3 > div, .sub_header_ttl_2 > div {
    font-size: 4.6rem;
  }
}
@media screen and (max-width: 767px) {
  .sub_header_ttl > div, .sub_header_ttl_4 > div, .sub_header_ttl_3 > div, .sub_header_ttl_2 > div {
    font-size: 2rem;
  }
}
.sub_header_ttl > div .j_ttl, .sub_header_ttl_4 > div .j_ttl, .sub_header_ttl_3 > div .j_ttl, .sub_header_ttl_2 > div .j_ttl {
  display: block;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  .sub_header_ttl > div .j_ttl, .sub_header_ttl_4 > div .j_ttl, .sub_header_ttl_3 > div .j_ttl, .sub_header_ttl_2 > div .j_ttl {
    font-size: 0.6rem;
  }
}
.sub_header_ttl > div .e_ttl, .sub_header_ttl_4 > div .e_ttl, .sub_header_ttl_3 > div .e_ttl, .sub_header_ttl_2 > div .e_ttl {
  padding-top: 1rem;
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  .sub_header_ttl > div .e_ttl, .sub_header_ttl_4 > div .e_ttl, .sub_header_ttl_3 > div .e_ttl, .sub_header_ttl_2 > div .e_ttl {
    font-size: 0.6rem;
  }
}

.GEOFIX_heading {
  color: #fff;
  font-size: 5rem;
  text-shadow: 0 0 3px #d80012, 0 0 3px #d80012, 0 0 3px #d80012, 0 0 3px #d80012, 0 0 3px #d80012, 0 0 3px #d80012, 0 0 3px #d80012, 0 0 3px #d80012, 0 0 3px #d80012, 0 0 3px #d80012, 0 0 3px #d80012, 0 0 3px #d80012, 0 0 3px #f00, 0 0 3px #f00, 0 0 3px #d80012, 0 0 3px #d80012;
}
@media screen and (max-width: 1200px) {
  .GEOFIX_heading {
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  .GEOFIX_heading {
    font-size: 1.8rem;
  }
}

.sub_header_ttl_2 {
  top: auto;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

.sub_header_ttl_3 > div {
  display: inline-block;
  font-size: 3.1rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 1500px) {
  .sub_header_ttl_3 > div {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .sub_header_ttl_3 > div {
    font-size: 1.5rem;
  }
}

.sub_header_ttl_4 {
  position: static;
  width: 100%;
  text-align: center;
  transform: none;
}
.sub_header_ttl_4 > div {
  display: inline-block;
  font-size: 3.1rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 1500px) {
  .sub_header_ttl_4 > div {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .sub_header_ttl_4 > div {
    font-size: 1.5rem;
  }
}

.main_ttl_dec_blue, .main_ttl_dec_red {
  position: relative;
  padding-top: 25px;
}
@media screen and (max-width: 767px) {
  .main_ttl_dec_blue, .main_ttl_dec_red {
    padding-top: 10px;
  }
}
.main_ttl_dec_blue::before, .main_ttl_dec_red::before {
  position: absolute;
  content: "";
  top: 0;
  left: -40px;
  width: 81px;
  height: 56px;
  background: url(../images/icon_ttl_blue.svg) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .main_ttl_dec_blue::before, .main_ttl_dec_red::before {
    left: -13.3333333333px;
    width: 32.4px;
    height: 22.4px;
  }
}

.main_ttl_dec_red::before {
  background: url(../images/icon_ttl_red.svg) no-repeat center top/contain;
}

.text_14px {
  font-size: 0.8rem;
}
@media screen and (max-width: 767px) {
  .text_14px {
    font-size: 0.6rem;
  }
}

.text_16px {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .text_16px {
    font-size: 0.8rem;
  }
}

.text_18px {
  font-size: 1.1rem;
}
@media screen and (max-width: 767px) {
  .text_18px {
    font-size: 1rem;
  }
}

.text_23px {
  font-size: 1.45rem;
}
@media screen and (max-width: 767px) {
  .text_23px {
    font-size: 1rem;
  }
}

.text_24px {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .text_24px {
    font-size: 1rem;
  }
}

.heading_26px {
  font-size: 1.62rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1500px) {
  .heading_26px {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .heading_26px {
    font-size: 1.1rem;
  }
}

.heading_28px {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1500px) {
  .heading_28px {
    font-size: 1.45rem;
  }
}
@media screen and (max-width: 767px) {
  .heading_28px {
    font-size: 1.15rem;
  }
}

.heading_30px {
  font-size: 1.85rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1500px) {
  .heading_30px {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .heading_30px {
    font-size: 1.15rem;
  }
}

.heading_32px {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1500px) {
  .heading_32px {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .heading_32px {
    font-size: 1.15rem;
  }
}

.heading_36px {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1500px) {
  .heading_36px {
    font-size: 1.55rem;
  }
}
@media screen and (max-width: 767px) {
  .heading_36px {
    font-size: 1.3rem;
  }
}

.heading_40px {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1500px) {
  .heading_40px {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1200px) {
  .heading_40px {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .heading_40px {
    font-size: 1.35rem;
  }
}

.heading_45px {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1500px) {
  .heading_45px {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 767px) {
  .heading_45px {
    font-size: 1.5rem;
  }
}

.heading_50px {
  font-size: 3.12rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1500px) {
  .heading_50px {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 767px) {
  .heading_50px {
    font-size: 1.5rem;
  }
}

.heading_accent {
  display: inline-block;
  font-size: 3.1rem;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .heading_accent {
    font-size: 2.6rem;
  }
}

.ttl_about_wrap {
  max-width: 670px;
  width: 100%;
  margin: 0 auto 7.5rem;
}
@media screen and (max-width: 1500px) {
  .ttl_about_wrap {
    max-width: 600px;
  }
}
@media screen and (max-width: 767px) {
  .ttl_about_wrap {
    max-width: 80%;
    margin: 0 auto 2rem;
  }
}

.message_ttl {
  position: relative;
}
.message_ttl > span {
  display: inline-block;
  padding: 0.5rem 1rem 0.5rem 0;
  background-color: #fff;
  font-family: "Josefin Sans", sans-serif;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .message_ttl > span {
    font-size: 1.3rem;
  }
}
.message_ttl::before {
  position: absolute;
  content: "";
  right: 0;
  transform: translateY(-50%);
  top: 50%;
  width: calc(100% - 120px);
  height: 3px;
  background: url(../images/line_dot_blue.svg) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .message_ttl::before {
    background: url(../images/line_dot_blue.svg) no-repeat center top/cover;
  }
}

.ttl_GEOFIX_work {
  display: inline-block;
  border: solid 3px #040000;
  padding: 0.5rem 3rem;
  line-height: 1.2;
  font-size: 1.37rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .ttl_GEOFIX_work {
    font-size: 1.1rem;
  }
}

/*
10：装飾
------------------------------------------------------------
*/
.bg_gray {
  background: #f4f4f4;
}
.bg_footer {
  background: #e6e6e6;
}
.bg_white {
  background: #fff;
}
.bg_black {
  background: #000;
}
.bg_green {
  background: #007639;
}
.bg_dec_triangle_yellow {
  position: relative;
  overflow: hidden;
}
.bg_dec_triangle_yellow::before {
  position: absolute;
  content: "";
  left: -200px;
  top: -200px;
  width: 350px;
  height: 350px;
  background-color: #f3cc2e;
  transform: rotate(-45deg);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .bg_dec_triangle_yellow::before {
    left: -100px;
    top: -100px;
    width: 200px;
    height: 200px;
  }
}
.bg_dec_triangle_yellow_2 {
  position: relative;
  overflow: hidden;
}
.bg_dec_triangle_yellow_2::after {
  position: absolute;
  content: "";
  right: -700px;
  bottom: -700px;
  width: 1400px;
  height: 1400px;
  background-color: #f3cc2e;
  transform: rotate(45deg);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .bg_dec_triangle_yellow_2::after {
    right: -300px;
    bottom: -300px;
    width: 600px;
    height: 600px;
  }
}
.bg_dec_triangle_yellow_3 {
  position: relative;
  overflow: hidden;
}
.bg_dec_triangle_yellow_3::after {
  position: absolute;
  content: "";
  right: -200px;
  bottom: -200px;
  width: 400px;
  height: 400px;
  background-color: #f3cc2e;
  transform: rotate(45deg);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .bg_dec_triangle_yellow_3::after {
    left: -100px;
    top: -100px;
    width: 200px;
    height: 200px;
  }
}
.bg_dec_CUBE_top {
  position: relative;
}
.bg_dec_CUBE_top::after {
  position: absolute;
  content: "";
  right: 13%;
  top: 15%;
  width: 128px;
  height: 270px;
  background: url(../images/dec_CUBE_01.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_CUBE_top::after {
    right: 7%;
    width: 91.4285714286px;
    height: 192.8571428571px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_CUBE_top::after {
    right: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_CUBE_top::after {
    top: 5%;
    right: 7%;
    width: 42.6666666667px;
    height: 90px;
  }
}
.bg_dec_triangle_blue {
  position: relative;
  overflow: hidden;
}
.bg_dec_triangle_blue::before {
  position: absolute;
  content: "";
  left: -200px;
  top: -200px;
  width: 400px;
  height: 400px;
  background-color: #42a5c3;
  transform: rotate(-45deg);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .bg_dec_triangle_blue::before {
    left: -100px;
    top: -100px;
    width: 200px;
    height: 200px;
  }
}
.bg_dec_two_CUBE {
  position: relative;
  overflow: hidden;
}
.bg_dec_two_CUBE::before {
  position: absolute;
  content: "";
  left: 13%;
  top: 8%;
  width: 221px;
  height: 130px;
  background: url(../images/dec_CUBE_02.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_two_CUBE::before {
    width: 157.8571428571px;
    height: 92.8571428571px;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_two_CUBE::before {
    top: 5%;
    left: 1rem;
    width: 73.6666666667px;
    height: 43.3333333333px;
  }
}
.bg_dec_two_CUBE_2 {
  position: relative;
  overflow: hidden;
}
.bg_dec_two_CUBE_2::after {
  position: absolute;
  content: "";
  right: 13%;
  top: 7%;
  width: 250px;
  height: 136px;
  background: url(../images/dec_CUBE_05.png) no-repeat center top/contain;
  transform: scale(-1, 1);
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_two_CUBE_2::after {
    width: 178.5714285714px;
    height: 97.1428571429px;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_two_CUBE_2::after {
    top: 5%;
    right: 1rem;
    width: 83.3333333333px;
    height: 45.3333333333px;
  }
}
.bg_dec_two_CUBE_3 {
  position: relative;
  overflow: hidden;
}
.bg_dec_two_CUBE_3::before {
  position: absolute;
  content: "";
  left: 13%;
  top: 13%;
  width: 223px;
  height: 187px;
  background: url(../images/dec_CUBE_06.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_two_CUBE_3::before {
    width: 159.2857142857px;
    height: 133.5714285714px;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_two_CUBE_3::before {
    top: 0;
    left: 1rem;
    width: 74.3333333333px;
    height: 62.3333333333px;
  }
}
.bg_dec_two_CUBE_4 {
  position: relative;
}
.bg_dec_two_CUBE_4::before {
  position: absolute;
  content: "";
  left: 13%;
  bottom: -4%;
  width: 148px;
  height: 260px;
  background: url(../images/dec_CUBE_07.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_two_CUBE_4::before {
    width: 159.2857142857px;
    height: 133.5714285714px;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_two_CUBE_4::before {
    bottom: -1%;
    left: 1rem;
    width: 89.2px;
    height: 74.8px;
  }
}
.bg_dec_fukidashi {
  position: relative;
  z-index: 1;
}
.bg_dec_fukidashi::after {
  position: absolute;
  content: "";
  right: 13%;
  top: -4%;
  width: 182px;
  height: 136px;
  background: url(../images/dec_fukidashi.png) no-repeat center top/contain;
  z-index: 1;
}
@media screen and (max-width: 1500px) {
  .bg_dec_fukidashi::after {
    width: 130px;
    height: 97.1428571429px;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_fukidashi::after {
    top: -1%;
    right: 1rem;
    width: 91px;
    height: 68px;
  }
}
.bg_dec_three_CUBE {
  position: relative;
  overflow: hidden;
}
.bg_dec_three_CUBE::after {
  position: absolute;
  content: "";
  right: 0;
  top: 0%;
  width: 370px;
  height: 271px;
  background: url(../images/dec_CUBE_03.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_three_CUBE::after {
    width: 264.2857142857px;
    height: 193.5714285714px;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_three_CUBE::after {
    top: 0%;
    width: 123.3333333333px;
    height: 90.3333333333px;
  }
}
.bg_dec_two_CUBE2_2 {
  position: relative;
  overflow: hidden;
}
.bg_dec_two_CUBE2_2::before {
  position: absolute;
  content: "";
  left: 13%;
  top: 18%;
  width: 271px;
  height: 146px;
  background: url(../images/dec_CUBE_04.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_two_CUBE2_2::before {
    width: 193.5714285714px;
    height: 104.2857142857px;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_two_CUBE2_2::before {
    top: 5%;
    left: 1rem;
    width: 90.3333333333px;
    height: 48.6666666667px;
  }
}
.bg_dec_triangle_red {
  position: relative;
  overflow: hidden;
}
.bg_dec_triangle_red::after {
  position: absolute;
  content: "";
  right: -800px;
  bottom: -700px;
  width: 1400px;
  height: 1400px;
  background-color: #d25357;
  transform: rotate(45deg);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .bg_dec_triangle_red::after {
    right: -300px;
    bottom: -300px;
    width: 600px;
    height: 600px;
  }
}
.bg_dec_triangle_red_2 {
  position: relative;
  overflow: hidden;
}
.bg_dec_triangle_red_2::before {
  position: absolute;
  content: "";
  left: -200px;
  top: -200px;
  width: 400px;
  height: 400px;
  background-color: #d25357;
  transform: rotate(-45deg);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .bg_dec_triangle_red_2::before {
    left: -100px;
    top: -100px;
    width: 200px;
    height: 200px;
  }
}
.bg_dec_GEOFIX_01 {
  position: relative;
}
.bg_dec_GEOFIX_01::before {
  position: absolute;
  content: "";
  left: 13%;
  top: 3%;
  width: 301px;
  height: 254px;
  background: url(../images/GEOFIX_dec_01.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_GEOFIX_01::before {
    left: 7%;
    width: 215px;
    height: 181.4285714286px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_GEOFIX_01::before {
    right: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_GEOFIX_01::before {
    top: 1%;
    left: 1rem;
    width: 100.3333333333px;
    height: 84.6666666667px;
  }
}
.bg_dec_GEOFIX_01::after {
  position: absolute;
  content: "";
  right: 13%;
  top: 10%;
  width: 334px;
  height: 340px;
  background: url(../images/GEOFIX_dec_02.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_GEOFIX_01::after {
    right: 7%;
    width: 238.5714285714px;
    height: 242.8571428571px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_GEOFIX_01::after {
    right: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_GEOFIX_01::after {
    top: 5%;
    right: 1rem;
    width: 111.3333333333px;
    height: 113.3333333333px;
  }
}
.bg_dec_GEOFIX_02 {
  position: relative;
}
.bg_dec_GEOFIX_02::before {
  position: absolute;
  content: "";
  left: 7%;
  bottom: -9%;
  width: 293px;
  height: 199px;
  background: url(../images/GEOFIX_dec_03.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_GEOFIX_02::before {
    left: 7%;
    width: 209.2857142857px;
    height: 142.1428571429px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_GEOFIX_02::before {
    right: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_GEOFIX_02::before {
    display: none;
  }
}
.bg_dec_GEOFIX_02::after {
  position: absolute;
  content: "";
  right: 10%;
  bottom: 14%;
  width: 104px;
  height: 105px;
  background: url(../images/GEOFIX_dec_04.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_GEOFIX_02::after {
    right: 7%;
    bottom: 0;
    width: 74.2857142857px;
    height: 75px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_GEOFIX_02::after {
    right: 1%;
    bottom: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_GEOFIX_02::after {
    display: none;
  }
}
.bg_dec_GEOFIX_03 {
  position: relative;
}
.bg_dec_GEOFIX_03::before {
  position: absolute;
  content: "";
  left: 7%;
  bottom: -4%;
  width: 301px;
  height: 254px;
  background: url(../images/GEOFIX_dec_05.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_GEOFIX_03::before {
    left: 7%;
    width: 215px;
    height: 181.4285714286px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_GEOFIX_03::before {
    right: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_GEOFIX_03::before {
    display: none;
  }
}
.bg_dec_GEOFIX_03::after {
  position: absolute;
  content: "";
  right: 10%;
  bottom: -6%;
  width: 310px;
  height: 353px;
  background: url(../images/GEOFIX_dec_07.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_GEOFIX_03::after {
    right: 7%;
    bottom: 0;
    width: 221.4285714286px;
    height: 252.1428571429px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_GEOFIX_03::after {
    right: 1%;
    bottom: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_GEOFIX_03::after {
    display: none;
  }
}
.bg_dec_GEOFIX_04 {
  position: relative;
}
.bg_dec_GEOFIX_04::before {
  position: absolute;
  content: "";
  left: 7%;
  top: 1%;
  width: 302px;
  height: 372px;
  background: url(../images/GEOFIX_dec_07.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_GEOFIX_04::before {
    left: 7%;
    width: 215.7142857143px;
    height: 265.7142857143px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_GEOFIX_04::before {
    right: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_GEOFIX_04::before {
    display: none;
  }
}
.bg_dec_GEOFIX_04::after {
  position: absolute;
  content: "";
  right: 10%;
  top: 1%;
  width: 271px;
  height: 293px;
  background: url(../images/GEOFIX_dec_08.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_GEOFIX_04::after {
    right: 7%;
    width: 193.5714285714px;
    height: 209.2857142857px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_GEOFIX_04::after {
    right: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_GEOFIX_04::after {
    display: none;
  }
}
.bg_dec_GEOFIX_05 {
  position: relative;
}
.bg_dec_GEOFIX_05::before {
  position: absolute;
  content: "";
  left: 7%;
  top: 1%;
  width: 310px;
  height: 353px;
  background: url(../images/GEOFIX_dec_09.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_GEOFIX_05::before {
    left: 7%;
    width: 221.4285714286px;
    height: 252.1428571429px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_GEOFIX_05::before {
    right: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_GEOFIX_05::before {
    display: none;
  }
}
.bg_dec_GEOFIX_05::after {
  position: absolute;
  content: "";
  right: 10%;
  top: 3%;
  width: 302px;
  height: 372px;
  background: url(../images/GEOFIX_dec_10.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_GEOFIX_05::after {
    right: 7%;
    width: 193.5714285714px;
    height: 209.2857142857px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_GEOFIX_05::after {
    right: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_GEOFIX_05::after {
    display: none;
  }
}
.bg_dec_GEOFIX_06 {
  position: relative;
}
.bg_dec_GEOFIX_06::before {
  position: absolute;
  content: "";
  left: 7%;
  top: -5%;
  width: 284px;
  height: 427px;
  background: url(../images/GEOFIX_dec_11.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_GEOFIX_06::before {
    left: 7%;
    width: 202.8571428571px;
    height: 305px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_GEOFIX_06::before {
    right: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_GEOFIX_06::before {
    display: none;
  }
}
.bg_dec_GEOFIX_06::after {
  position: absolute;
  content: "";
  right: 10%;
  top: -6%;
  width: 316px;
  height: 559px;
  background: url(../images/GEOFIX_dec_12.png) no-repeat center top/contain;
  z-index: 0;
}
@media screen and (max-width: 1500px) {
  .bg_dec_GEOFIX_06::after {
    right: 7%;
    width: 225.7142857143px;
    height: 399.2857142857px;
  }
}
@media screen and (max-width: 1200px) {
  .bg_dec_GEOFIX_06::after {
    right: 1%;
  }
}
@media screen and (max-width: 767px) {
  .bg_dec_GEOFIX_06::after {
    display: none;
  }
}

.txt_clr_gray {
  color: #ccc;
}
.txt_clr_white {
  color: #fff;
}
.txt_clr_black {
  color: #000;
}
.txt_clr_red {
  color: #d80012;
}
.txt_clr_darkblue {
  color: #1d2080;
}
.txt_clr_yellow {
  color: #f3cc2e;
}
.txt_clr_pink {
  color: #d25357;
}
.txt_clr_blue {
  color: #42a5c3;
}

/* 配置 */
.left {
  text-align: left !important;
}

.right {
  text-align: right;
}

.center {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .left_sp {
    text-align: left !important;
  }
}

@media screen and (max-width: 767px) {
  .center_sp {
    text-align: center !important;
  }
}

.font-bold {
  font-weight: bold;
}

.txt_dec_blue {
  position: relative;
}
.txt_dec_blue::before {
  position: absolute;
  content: "";
  width: 21px;
  height: 30px;
  left: 0;
  top: 0;
  transform: translate(-80%, -80%);
  background: url(../images/txt_dec_blue.svg) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .txt_dec_blue::before {
    width: 14px;
    height: 20px;
  }
}
.txt_dec_blue::after {
  position: absolute;
  content: "";
  width: 21px;
  height: 30px;
  right: 0;
  top: 0;
  transform: translate(40%, -80%) scale(-1, 1);
  background: url(../images/txt_dec_blue.svg) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .txt_dec_blue::after {
    width: 14px;
    height: 20px;
  }
}

.txt_dec_pink {
  position: relative;
}
.txt_dec_pink::before {
  position: absolute;
  content: "";
  width: 55px;
  height: 50px;
  left: 0;
  top: 0;
  transform: translate(-80%, -80%);
  background: url(../images/txt_dec_pink.svg) no-repeat center top/contain;
}
@media screen and (max-width: 1200px) {
  .txt_dec_pink::before {
    width: 45.8333333333px;
    height: 41.6666666667px;
    transform: translate(-30%, -90%);
  }
}
@media screen and (max-width: 767px) {
  .txt_dec_pink::before {
    transform: translate(-40%, -80%);
    width: 36.6666666667px;
    height: 33.3333333333px;
  }
}

.txt_dec_red_1 {
  position: relative;
}
.txt_dec_red_1::before {
  position: absolute;
  content: "";
  width: 17px;
  height: 24px;
  left: 0;
  top: 0;
  transform: translate(-80%, -60%);
  background: url(../images/txt_dec_red_1.svg) no-repeat center top/contain;
}

.txt_dec_red_2 {
  position: relative;
}
.txt_dec_red_2::before {
  position: absolute;
  content: "";
  width: 45px;
  height: 16px;
  right: 0;
  top: 0;
  transform: translate(80%, -60%);
  background: url(../images/txt_dec_red_2.svg) no-repeat center top/contain;
}

.txt_dec_yellow_1 {
  position: relative;
}
.txt_dec_yellow_1::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 10px;
  left: 0;
  bottom: -10px;
  background: url(../images/txt_dec_yellow_1.svg) no-repeat center top/contain;
}

.txt_dec_blue_1 {
  position: relative;
}
.txt_dec_blue_1::before {
  position: absolute;
  content: "";
  width: 50px;
  height: 18px;
  right: 0;
  top: 0;
  transform: translate(60%, -80%);
  background: url(../images/txt_dec_blue_1.svg) no-repeat center top/contain;
}

.black_label {
  padding: 0.4rem 0;
  background-color: #040000;
}

.marker_yellow {
  background: linear-gradient(transparent 65%, #ffe300 65%);
  font-weight: bold;
}

/*
11:ボタン系
------------------------------------------------------------
*/
#page_top {
  position: fixed;
  bottom: 15px;
  right: 15px;
  z-index: 99;
  width: 100px;
  height: 100px;
  background: url(../images/icon_top.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  #page_top {
    width: 66.6666666667px;
    height: 66.6666666667px;
    right: 10px;
    bottom: 80px;
  }
}

a.more {
  display: inline-block;
  width: 95px;
  height: 40px;
  position: relative;
  text-align: center;
  font-size: 1rem;
  font-family: "Josefin Sans", sans-serif;
}
a.more::before {
  position: absolute;
  content: "";
  background-color: #040000;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
  transition: 0.3s;
}
a.more::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 12px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/btn_icon.svg) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  a.more::after {
    width: 15px;
    height: 18px;
  }
}
@media screen and (max-width: 767px) {
  a.more {
    width: 40%;
  }
}
a.more > span {
  width: 100%;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-right: 10px;
  font-weight: 700;
}
a.more:hover::before {
  bottom: -0.5rem;
}
a.more:hover::after {
  animation: anm-rotation 1s linear infinite;
}
a.button {
  font-size: 1rem;
  display: inline-block;
  width: 250px;
  height: 60px;
  text-align: center;
  border: solid 1px #727272;
  position: relative;
  border-radius: 40px;
  vertical-align: middle;
}
a.button > span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
a.button::before {
  position: absolute;
  content: "";
  top: 50%;
  right: 1rem;
  width: 7px;
  height: 7px;
  border-top: 1px solid #727272;
  border-right: 1px solid #727272;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.3s;
}
a.button:hover {
  background-color: #727272;
  color: #fff;
}
a.button:hover::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
a.more_2, a.more_2_txt {
  display: inline-block;
  width: 95px;
  position: relative;
  text-align: center;
  font-size: 1.75rem;
  font-family: "Josefin Sans", sans-serif;
  padding-bottom: 2rem;
  height: 60px;
}
@media screen and (max-width: 767px) {
  a.more_2, a.more_2_txt {
    height: 50px;
    font-size: 1.4rem;
  }
}
a.more_2::after, a.more_2_txt::after {
  position: absolute;
  content: "";
  width: 150px;
  height: 5px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  background: url(../images/icon_more_2.svg) no-repeat center top/contain;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  a.more_2::after, a.more_2_txt::after {
    width: 90px;
  }
}
@media screen and (max-width: 767px) {
  a.more_2, a.more_2_txt {
    width: 40%;
  }
}
a.more_2 > span, a.more_2_txt > span {
  width: 100%;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: 700;
}
a.more_2:hover::after, a.more_2_txt:hover::after {
  bottom: -6px;
}
a.more_2_txt {
  width: 320px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  a.more_2_txt {
    font-size: 0.9rem;
  }
}
a.more_2_txt::after {
  width: 320px;
  background: url(../images/icon_more_3.svg) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  a.more_2_txt::after {
    width: 190px;
  }
}

@keyframes anm-rotation {
  0% {
    transform: translateY(-50%) rotate(0deg);
  }
  100% {
    transform: translateY(-50%) rotate(360deg);
  }
}
.button_wrap {
  font-size: 0;
}

/*
12:その他パーツ
------------------------------------------------------------
*/
#list_breadcrumb {
  font-size: 0.8rem;
  padding: 1rem 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  #list_breadcrumb {
    font-size: 0.6rem;
    padding: 0.5rem 0;
  }
}

/* 画像トリミング用 */
.object-fit-img {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

.object-fit-img_2 {
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit: contain;";
}

.images_wrap img {
  width: 100%;
}

.about_footer_img_wrap {
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .about_footer_img_wrap img {
    width: 100%;
    height: 170px;
  }
}

a.txt_link:hover {
  opacity: 0.6;
}

a.img_link:hover {
  opacity: 0.6;
}

.position_z-index_3 {
  position: relative;
  z-index: 3;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.product_img_wrap {
  text-align: center;
}
.product_img_wrap img {
  width: auto;
  height: 670px;
}
@media screen and (max-width: 767px) {
  .product_img_wrap img {
    height: auto;
  }
}

.brand_wrap {
  border: solid #ca5357 1px;
  padding: 3.7rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .brand_wrap {
    padding: 2rem 1rem;
    flex-wrap: wrap;
  }
}
.brand_wrap .img_wrap {
  width: 43%;
}
@media screen and (max-width: 767px) {
  .brand_wrap .img_wrap {
    width: 100%;
  }
}
.brand_wrap .img_wrap img {
  width: 100%;
}
.brand_wrap .txt_wrap {
  width: 51%;
}
@media screen and (max-width: 767px) {
  .brand_wrap .txt_wrap {
    width: 90%;
    margin-bottom: 0.5rem;
  }
}

.blog_ttl_wrap {
  position: relative;
  z-index: 3;
  padding: 1rem 0;
  padding-bottom: 1.5rem;
}
.blog_ttl_wrap::before {
  content: "";
  position: absolute;
  background-color: #040000;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
}
.blog_ttl_wrap .ttl {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .blog_ttl_wrap .ttl {
    font-size: 1.05rem;
  }
}
.blog_ttl_wrap .info_wrap {
  margin-bottom: 0.5rem;
}
.blog_ttl_wrap .info_wrap .date {
  font-size: 0.9rem;
}
@media screen and (max-width: 767px) {
  .blog_ttl_wrap .info_wrap .date {
    font-size: 0.8rem;
  }
}
.blog_ttl_wrap .info_wrap .category {
  font-size: 0.9rem;
}
@media screen and (max-width: 767px) {
  .blog_ttl_wrap .info_wrap .category {
    font-size: 0.8rem;
  }
}

.information_ttl_wrap .ttl {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .information_ttl_wrap .ttl {
    font-size: 1.05rem;
  }
}

.icon_circle_pink {
  position: relative;
  padding-left: 25px;
}
.icon_circle_pink::before {
  position: absolute;
  content: "";
  width: 17px;
  height: 17px;
  top: 5px;
  left: 0;
  background: url(../images/icon_circle_pink.svg) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .icon_circle_pink::before {
    width: 16px;
    height: 16px;
  }
}

p.indent-1 {
  padding-left: 1em;
  text-indent: -1em;
}

.good_toy_ttl_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.good_toy_ttl_wrap .img_wrap {
  max-width: 84px;
}
@media screen and (max-width: 767px) {
  .good_toy_ttl_wrap .img_wrap {
    max-width: 20%;
  }
}

.GEOFIX_banner_wrap, .GEOFIX_banner_wrap2 {
  max-width: 780px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.GEOFIX_banner_wrap > div, .GEOFIX_banner_wrap2 > div {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .GEOFIX_banner_wrap > div, .GEOFIX_banner_wrap2 > div {
    width: 100%;
  }
}
.GEOFIX_banner_wrap > div img, .GEOFIX_banner_wrap2 > div img {
  width: 100%;
}
.GEOFIX_banner_wrap > div a, .GEOFIX_banner_wrap2 > div a {
  display: block;
}
.GEOFIX_banner_wrap > div a:hover, .GEOFIX_banner_wrap2 > div a:hover {
  opacity: 0.6;
}

.GEOFIX_banner_wrap2 {
  max-width: 1180px;
}
.GEOFIX_banner_wrap2 > div {
  width: 32%;
}
@media screen and (max-width: 767px) {
  .GEOFIX_banner_wrap2 > div {
    width: 100%;
  }
}

.cartbutton_wrap {
  max-width: 400px;
}

/*
13:コンタクトフォーム
------------------------------------------------------------
*/
.personal_wrap {
  font-size: 0.8rem;
}
.personal_wrap .ttl {
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #000000;
  font-size: 1rem;
}

.table_contact {
  width: 100%;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .table_contact tr:last-of-type td {
    margin-bottom: 0;
  }
}
.table_contact tr th {
  width: 25%;
  vertical-align: top;
  padding: 1rem 0;
}
@media screen and (max-width: 767px) {
  .table_contact tr th {
    padding: 0;
    width: 100%;
    display: block;
  }
}
.table_contact tr th > span {
  margin-left: 1rem;
  display: inline-block;
  background-color: #d25357;
  padding: 0.3rem 0.7rem;
  font-size: 0.6rem;
  color: #fff;
}
.table_contact tr td {
  padding: 1rem 0 1rem 2rem;
}
@media screen and (max-width: 767px) {
  .table_contact tr td {
    padding: 0.7rem 0;
    display: block;
    margin-bottom: 1rem;
  }
}
.table_contact tr td input,
.table_contact tr td textarea {
  width: 100%;
}
.table_contact tr td select {
  width: auto;
}
.table_contact tr td input[type=radio] {
  width: auto;
  margin-right: 0.2rem;
}
.table_contact tr td input[type=checkbox] {
  width: auto;
  margin-right: 0.5rem;
}
.table_contact tr td label {
  margin-right: 0.7rem;
}

input[type=radio] {
  width: auto;
  margin-right: 0.5rem;
}

input[type=checkbox] {
  width: auto;
  margin-right: 0.5rem;
}

input#zip, input#zip1 {
  width: 25% !important;
}

input.in_small {
  width: 20% !important;
}
@media screen and (max-width: 767px) {
  input.in_small {
    width: 50% !important;
  }
}

input, textarea, select {
  width: 100%;
  padding: 1em;
  border-radius: 5px;
  border: 1px solid #383838;
}

textarea {
  height: 250px;
}

span.mwform-tel-field input {
  width: 25% !important;
}

.submit, .backBtn {
  max-width: 340px;
  width: 90%;
  margin: 0 auto;
  padding: 1.5em;
  display: block;
  font-size: 1.125em;
  line-height: 1;
  color: #fff;
  cursor: pointer;
  border: none;
  font-weight: bold;
  background: #231815 url(../images/right_w.svg) no-repeat center right 5%/5px 9px;
  transition: 0.3s;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP", sans-serif;
}

.submit {
  background-color: #2a3272;
}

.backBtn {
  background-color: #383838;
  margin-top: 1.5em;
}

.submit:hover, .backBtn:hover {
  opacity: 0.8;
}

.required {
  font-size: 0.75em;
  display: inline-block;
  margin-left: 1em;
  line-height: 1;
}

input.btn_cart {
  width: 100%;
  padding: 0;
  border-radius: 0;
  border: none;
}

/*------------------------
	コンタクトフォーム7用
--------------------------*/
/*
.wpcf7-textarea {
	width: 90%;
}
.wpcf7-text {
	width: 60%;
}
.zip1 {
	width: 60px;
}
.zip2 {
	width: 100px;
}
.formtel {
	width: 100px;
	height: 16px;
}
.wpcf7-form-control wpcf7-text zip {
	width: 30%;
}
.addr {
	width: 90%;
}
.contactformsubmit {
	text-align: center;
	height: 60px;
	margin-top: 30px;
}
.wpcf7-submit {
	background: #000;
	color: #FFF;
	text-align: center;
	font-weight: bold;
	border-radius: 5px;
	display: block;
	margin: 0 auto;
	padding: 15px 40px;
	border: none;
}
.wpcf7-submit:hover {
	text-decoration: none;
	opacity: .8;
} */
/*
14:ワードプレス
------------------------------------------------------------
*/
.wp-pagenavi {
  margin-top: 5%;
}
.wp-pagenavi a {
  display: inline-block;
  margin-right: 1em;
}
.wp-pagenavi a:hover {
  color: #9fa0a0;
}
.wp-pagenavi span {
  display: inline-block;
  margin-right: 1em;
}
.wp-pagenavi span.current {
  color: #9fa0a0;
}

/*
15:マージン・パディング
------------------------------------------------------------
*/
.m0 {
  margin-bottom: 0;
}

.m05 {
  margin-bottom: 5px;
}

.m10 {
  margin-bottom: 10px;
}

.m15 {
  margin-bottom: 15px;
}

.m20 {
  margin-bottom: 20px;
}

.m30 {
  margin-bottom: 30px;
}

.m40 {
  margin-bottom: 40px;
}

.m50 {
  margin-bottom: 50px;
}

.m1 {
  margin-bottom: 1rem !important;
}

.m1_5 {
  margin-bottom: 1.5rem !important;
}

.m2 {
  margin-bottom: 2rem !important;
}

.m2_5 {
  margin-bottom: 2.5rem !important;
}

.m3 {
  margin-bottom: 3rem !important;
}

.m3_5 {
  margin-bottom: 3.5rem !important;
}

.m4 {
  margin-bottom: 4rem !important;
}

.m5 {
  margin-bottom: 5rem !important;
}

.m6 {
  margin-bottom: 6rem !important;
}

.m7 {
  margin-bottom: 7rem !important;
}

.m7_5 {
  margin-bottom: 7.5rem !important;
}

.m8 {
  margin-bottom: 8rem !important;
}

.m_10 {
  margin-bottom: 10rem !important;
}

@media screen and (max-width: 767px) {
  .mr0_sp {
    margin-bottom: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .mr05_sp {
    margin-bottom: 0.5rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr1_sp {
    margin-bottom: 1rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr1_5_sp {
    margin-bottom: 1.5rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr2_sp {
    margin-bottom: 2rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr3_sp {
    margin-bottom: 3rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr3_5_sp {
    margin-bottom: 3.5rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr4_sp {
    margin-bottom: 4rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr5_sp {
    margin-bottom: 5rem !important;
  }
}

/*
16:Pagination
------------------------------------------------------------
*/
ul.list_pagination {
  width: 100%;
  margin: 5% auto;
  position: relative;
  display: flex;
  border-top: 1px solid #383838;
  border-bottom: 1px solid #383838;
  font-size: 0.875em;
  padding: 2em 0;
}
ul.list_pagination li {
  width: 49%;
}
ul.list_pagination li.prev {
  margin-right: 2%;
}
ul.list_pagination li.middle {
  width: 38%;
  text-align: center;
}
ul.list_pagination li.next {
  text-align: right;
}
ul.list_pagination li a {
  position: relative;
  display: inline-block;
}
ul.list_pagination li a:before {
  position: absolute;
  content: "";
  width: 5px;
  height: 9px;
  top: 10px;
}

/*swiper
------------------------------------------------------------
*/
.swiper-top .swiper-pagination-bullet {
  width: 15px !important;
  height: 15px !important;
}
@media screen and (max-width: 767px) {
  .swiper-top .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
  }
}
.swiper-top .swiper-pagination-bullet-active {
  background-color: #d25357 !important;
}

.swiper-top-GEOFIX .swiper-pagination {
  height: 60px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  top: 50% !important;
  transform: translateY(-50%);
  padding-right: 3rem;
}
@media screen and (max-width: 767px) {
  .swiper-top-GEOFIX .swiper-pagination {
    padding-right: 1rem;
    height: 50px;
  }
}
.swiper-top-GEOFIX .swiper-pagination-bullet {
  width: 15px !important;
  height: 15px !important;
}
@media screen and (max-width: 767px) {
  .swiper-top-GEOFIX .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
  }
}
.swiper-top-GEOFIX .swiper-pagination-bullet-active {
  background-color: #d25357 !important;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 8px !important;
}
@media screen and (max-width: 767px) {
  .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 6px !important;
  }
}

.swiper-works .swiper-slide {
  padding: px 0;
}
.swiper-works .swiper-slide img {
  width: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}

.swiper-GEOFIX-works-1 .swiper-slide {
  background-color: #fff;
}
.swiper-GEOFIX-works-1 .swiper-slide img {
  display: block;
  border: 20px solid #009761;
  padding: 10px 0;
  margin-bottom: 1rem;
}
.swiper-GEOFIX-works-1 .swiper-slide p {
  text-align: center;
  font-weight: 700;
}
.swiper-GEOFIX-works-1 .swiper-slide:nth-of-type(1) img, .swiper-GEOFIX-works-1 .swiper-slide:nth-of-type(4) img, .swiper-GEOFIX-works-1 .swiper-slide:nth-of-type(7) img {
  border: 20px solid #009761;
}
.swiper-GEOFIX-works-1 .swiper-slide:nth-of-type(2) img, .swiper-GEOFIX-works-1 .swiper-slide:nth-of-type(5) img, .swiper-GEOFIX-works-1 .swiper-slide:nth-of-type(8) img {
  border: 20px solid #dc0012;
}
.swiper-GEOFIX-works-1 .swiper-slide:nth-of-type(3) img, .swiper-GEOFIX-works-1 .swiper-slide:nth-of-type(6) img, .swiper-GEOFIX-works-1 .swiper-slide:nth-of-type(9) img {
  border: 20px solid #1d2080;
}
.swiper-GEOFIX-works-1 .swiper-slide img {
  width: 100%;
  box-shadow: none;
}
.swiper-GEOFIX-works-1 .swiper-slide a {
  display: block;
}
.swiper-GEOFIX-works-1 .swiper-slide a:hover {
  opacity: 0.6;
}

.swiper-GEOFIX-works-2 .swiper-slide {
  background-color: #fff;
}
.swiper-GEOFIX-works-2 .swiper-slide img {
  display: block;
  border: 20px solid #009761;
  padding: 10px 0;
  margin-bottom: 1rem;
}
.swiper-GEOFIX-works-2 .swiper-slide p {
  text-align: center;
  font-weight: 700;
}
.swiper-GEOFIX-works-2 .swiper-slide:nth-of-type(1) img, .swiper-GEOFIX-works-2 .swiper-slide:nth-of-type(4) img, .swiper-GEOFIX-works-2 .swiper-slide:nth-of-type(7) img {
  border: 20px solid #1d2080;
}
.swiper-GEOFIX-works-2 .swiper-slide:nth-of-type(2) img, .swiper-GEOFIX-works-2 .swiper-slide:nth-of-type(5) img, .swiper-GEOFIX-works-2 .swiper-slide:nth-of-type(8) img {
  border: 20px solid #009761;
}
.swiper-GEOFIX-works-2 .swiper-slide:nth-of-type(3) img, .swiper-GEOFIX-works-2 .swiper-slide:nth-of-type(6) img, .swiper-GEOFIX-works-2 .swiper-slide:nth-of-type(9) img {
  border: 20px solid #dc0012;
}
.swiper-GEOFIX-works-2 .swiper-slide img {
  width: 100%;
  box-shadow: none;
}
.swiper-GEOFIX-works-2 .swiper-slide a {
  display: block;
}
.swiper-GEOFIX-works-2 .swiper-slide a:hover {
  opacity: 0.6;
}

.swiper-my-pagination .swiper-pagination-bullet {
  width: auto;
  height: auto;
  border-radius: 0;
}

.swiper-container-horizontal > .swiper-my-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 !important;
}

.swiper-my-pagination img {
  box-shadow: none;
  margin: 0;
  vertical-align: bottom;
}

.swiper-container-horizontal > .swiper-my-pagination_frame.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 2px !important;
}
@media screen and (max-width: 767px) {
  .swiper-container-horizontal > .swiper-my-pagination_frame.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 1px !important;
  }
}

.swiper_item {
  position: relative;
  /* ページングの設定 */
  /* .swiper-my-pagination .swiper-pagination-bullet {
    width: auto;
    height: auto;
    border-radius: 0;
  }
  .swiper-container-horizontal > .swiper-my-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0;
  }
  .swiper-my-pagination img {
    box-shadow: none;
    margin: 0;
    vertical-align: bottom;
  }

  .swiper-my-pagination {
  	padding-top: 2rem;
  	display: flex;
  	flex-wrap: wrap;
  	margin-bottom: -1rem !important;
  	@include mq(md){
  		padding-top: 1rem;
  	}
  }
  .swiper-my-pagination .swiper-pagination-bullet {
    width: calc(96% / 6);
    background: transparent;
  	opacity: 1;
  	margin-bottom: 1rem !important;
  } */
  /* 横レイアウト */
}
.swiper_item .swiper-slide img {
  width: calc(100% - 470px) !important;
  height: 670px;
}
@media screen and (max-width: 767px) {
  .swiper_item .swiper-slide img {
    width: 100% !important;
    height: 300px;
  }
}
.swiper_item .swiper-my-pagination {
  position: absolute;
  width: 450px !important;
  left: auto !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 3;
  display: flex !important;
  flex-direction: column;
  flex-wrap: wrap;
  height: 670px !important;
}
@media screen and (max-width: 767px) {
  .swiper_item .swiper-my-pagination {
    flex-direction: row;
    width: 100% !important;
    height: auto !important;
    position: static;
  }
}
.swiper_item .swiper-my-pagination .swiper-pagination-bullet {
  width: 220px !important;
  height: 220px !important;
  border-radius: 0;
  border: none;
}
@media screen and (max-width: 767px) {
  .swiper_item .swiper-my-pagination .swiper-pagination-bullet {
    width: calc((100vw - 30px) / 6) !important;
    height: auto !important;
  }
}
.swiper_item .swiper-my-pagination .swiper-pagination-bullet img {
  width: 100%;
  height: 220px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .swiper_item .swiper-my-pagination .swiper-pagination-bullet img {
    height: auto;
  }
}
.swiper_item .swiper-container-horizontal > .swiper-my-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0;
}
.swiper_item .swiper-my-pagination img {
  box-shadow: none;
  margin: 0;
  vertical-align: bottom;
}
.swiper_item .swiper-my-pagination {
  display: table;
}
.swiper_item .swiper-my-pagination {
  display: table;
  table-layout: fixed;
}
.swiper_item .swiper-my-pagination .swiper-pagination-bullet {
  display: block;
  padding: 4px 0;
  background: transparent;
  opacity: 1;
}
.swiper_item .swiper-my-pagination .swiper-pagination-bullet:first-child {
  padding-top: 0;
}
.swiper_item .swiper-my-pagination .swiper-pagination-bullet::last-child {
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .swiper_item .swiper-my-pagination .swiper-pagination-bullet {
    display: inline-block;
    padding: 0;
  }
}
.swiper_item .swiper-my-pagination .swiper-pagination-bullet-active {
  /* 選択状態のサムネイル */
  background: transparent !important;
  opacity: 0.4 !important;
}

.swiper-slide_frame {
  border: solid #009361 5px;
  margin-bottom: 10px !important;
}
@media screen and (max-width: 767px) {
  .swiper-slide_frame {
    border: solid #009361 3px;
  }
}

.swiper_item_2 {
  padding-bottom: 122px !important;
}
@media screen and (max-width: 767px) {
  .swiper_item_2 {
    padding-bottom: 0 !important;
  }
}
.swiper_item_2 .swiper-slide img {
  width: 100% !important;
  height: 670px;
}
@media screen and (max-width: 767px) {
  .swiper_item_2 .swiper-slide img {
    width: 100% !important;
    height: 300px;
  }
}
.swiper_item_2 .swiper-my-pagination_frame {
  width: 100% !important;
  left: auto !important;
  top: auto !important;
  bottom: 0 !important;
  right: 0 !important;
  z-index: 3;
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap !important;
  height: auto !important;
}
@media screen and (max-width: 767px) {
  .swiper_item_2 .swiper-my-pagination_frame {
    flex-direction: row;
    width: 100% !important;
    height: auto !important;
    position: static;
  }
}
.swiper_item_2 .swiper-my-pagination_frame .swiper-pagination-bullet {
  width: 16.6666666667% !important;
  height: 120px !important;
  border-radius: 0;
  border: none;
}
@media screen and (max-width: 767px) {
  .swiper_item_2 .swiper-my-pagination_frame .swiper-pagination-bullet {
    width: 16.6666666667% !important;
    width: auto !important;
    height: auto !important;
  }
}
.swiper_item_2 .swiper-my-pagination_frame .swiper-pagination-bullet img {
  display: block;
  box-sizing: border-box;
  border: solid #009361 5px !important;
  width: 100% !important;
  height: 120px !important;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .swiper_item_2 .swiper-my-pagination_frame .swiper-pagination-bullet img {
    width: 100% !important;
    height: 100% !important;
    border: solid #009361 2px !important;
  }
}

.swiper_item_2 .swiper-my-pagination .swiper-pagination-bullet {
  padding: 0;
}

.prev-custom,
.next-custom {
  background-image: none; /* デフォルトのボタン画像を消す */
  width: 55px !important; /* ボタンの幅 */
  height: 55px !important; /* ボタンの高さ */
  margin-top: -43px !important; /* 縦中央配置用：ボタンの高さの半分のネガティブマージン（top:50%がすでに設定されている） */
  background-size: 55px 55px !important; /* 背景画像としてのサイズ（＝表示したい画像サイズ） */
}

/* 前ページボタンのスタイル */
.prev-custom {
  background-image: url(../images/icon_swiper_l.svg) !important;
}

.next-custom {
  background-image: url(../images/icon_swiper_l.svg) !important;
  transform: scale(-1, 1); /* 左右反転 */
}

/*タブ
------------------------------------------------------------
*/
/*タブ切り替え全体のスタイル*/
.tabs {
  position: relative;
  z-index: 3;
  padding-bottom: 3rem;
  width: 100%;
  max-width: 1300px;
  text-align: center;
  margin: 0 auto;
  font-size: 0;
}
@media screen and (max-width: 767px) {
  .tabs {
    padding-bottom: 1rem;
  }
}

.tabs_2 {
  padding-bottom: 4rem;
  text-align: center;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .tabs_2 {
    padding-bottom: 2rem;
  }
}

/*タブのスタイル*/
.tab_item:hover,
.tab_item_2:hover {
  opacity: 0.75;
}

.tab_item_2 {
  width: auto;
  height: 70px;
  background-color: #fff;
  line-height: 70px;
  font-size: 1rem;
  text-align: center;
  color: #565656;
  display: inline-block;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  position: relative;
}
@media screen and (max-width: 767px) {
  .tab_item_2 {
    height: 50px;
    line-height: 50px;
  }
}
.tab_item_2 > span {
  display: inline-block;
  position: relative;
  font-size: 1.1rem;
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  .tab_item_2 > span {
    font-size: 0.8rem;
  }
}
.tab_item_2::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: #c8c8c8;
}

/*ラジオボタンを全て消す*/
input[name=tab_item],
input[name=tab_item_2] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  clear: both;
  overflow: hidden;
}

/*選択されているタブのコンテンツのみを表示*/
#tab_01:checked ~ #content_01,
#tab_02:checked ~ #content_02,
#tab_03:checked ~ #content_03,
#tab_04:checked ~ #content_04,
#tab_05:checked ~ #content_05 {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item,
.tabs input:checked + .tab_item_2 {
  position: relative;
}
.tabs input:checked + .tab_item::before,
.tabs input:checked + .tab_item_2::before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: #d80012;
}

.tab_content_description {
  margin-top: 5.6rem;
  background-color: #fff;
  text-align: left;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .tab_content_description {
    margin-top: 1rem;
    padding: 2rem 0;
  }
}

.tab_content_description_2 {
  margin-top: 6.2rem;
  background-color: #f0f0f0;
  text-align: left;
}
@media screen and (max-width: 1500px) {
  .tab_content_description_2 {
    padding: 0 15px;
  }
}
@media screen and (max-width: 767px) {
  .tab_content_description_2 {
    margin-top: 3rem;
    padding: 0 15px;
  }
}
.tab_content_description_2 .howto_box {
  padding: 6.2rem 0;
  max-width: 1180px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .tab_content_description_2 .howto_box {
    padding: 3rem 0;
  }
}

/*アニメーション
------------------------------------------------------------
*/
.fade-in,
.fade-in-up,
.fade-in-left,
.fade-in-right {
  opacity: 0;
}

.poyon {
  opacity: 0;
}

.fade-in-ttl::before {
  opacity: 0;
}

.anm-fade-in {
  animation: anm-fade-in 1.6s ease-in-out forwards;
}

.anm-fade-in-up {
  animation: anm-fade-in-up 0.5s ease-in-out forwards;
}

.anm-fade-in-left {
  animation: anm-fade-in-left 0.8s ease-in-out forwards;
}

.anm-fade-in-right {
  animation: anm-fade-in-right 0.8s ease-in-out forwards;
}

.anm-fade-in-fukidashi::before {
  animation: anm-fade-in-2 1s 1s ease-in-out forwards;
}

.anm-fade-in-ttl::before {
  animation: anm-fade-in 1.6s 0.5s ease-in-out forwards;
}

.anm-poyon {
  animation: purupuru 1.5s linear 0s 1 forwards;
}

@keyframes poyon {
  0% {
    opacity: 0;
    　transform: scale(0.8, 1.4) translate(0%, -50%);
  }
  10% {
    transform: scale(0.8, 1.4) translate(0%, -10%);
  }
  20% {
    transform: scale(1, 0.6) translate(0%, 20%);
  }
  30% {
    transform: scale(0.9, 1.1) translate(0%, -10%);
  }
  40% {
    transform: scale(0.95, 1.2) translate(0%, -20%);
  }
  50% {
    transform: scale(0.95, 1.2) translate(0%, -10%);
  }
  60% {
    transform: scale(1.1, 0.9) translate(0%, 5%);
  }
  70% {
    transform: scale(1, 1) translate(0%, 0%);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1) translate(0%, 0%);
  }
}
@keyframes purupuru {
  0% {
    opacity: 0;
    transform: scale(1, 1) translate(0%, 0%);
  }
  20% {
    transform: scale(1, 1) translate(-3%, -4%) skew(2deg, 0deg);
  }
  50% {
    transform: scale(1, 0.9) translate(3%, 4%) skew(-2deg, 0deg);
  }
  65% {
    transform: scale(1, 1) translate(2%, -2%) skew(-1deg, 0deg);
  }
  80% {
    transform: scale(1, 0.9) translate(-2%, 2%) skew(1deg, 0deg);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1) translate(0%, 0%);
  }
}
.animation_shutter {
  position: relative;
  overflow: hidden;
}
.animation_shutter::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .animation_shutter::before {
    display: none;
  }
}
.animation_shutter::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #F7F7F7;
  z-index: 4;
}
@media screen and (max-width: 767px) {
  .animation_shutter::after {
    display: none;
  }
}

.anm_shutter::before {
  animation: anm_shutter 0.2s 0.5s ease-in-out forwards;
}
@media screen and (max-width: 767px) {
  .anm_shutter::before {
    animation: none;
  }
}
.anm_shutter::after {
  animation: anm_shutter 0.2s 0.9s ease-in-out forwards;
}
@media screen and (max-width: 767px) {
  .anm_shutter::after {
    animation: none;
  }
}

@keyframes anm_shutter {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-101%);
  }
}
@keyframes anm-fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes anm-fade-in-up {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes anm-fade-in-2 {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes anm-fade-in-left {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes anm-fade-in-right {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.anm_korokoro::after {
  animation: korokoro 1.5s linear 0s 1;
}

.anm_korokoro_2::before {
  animation: korokoro 1.5s linear 0s 1;
}

@keyframes korokoro {
  0% {
    transform: translate(0%, 0%);
  }
  5% {
    transform: translate(10%, 0%) rotate(10deg);
  }
  25% {
    transform: translate(20%, 0%) rotate(20deg);
  }
  30% {
    transform: translate(-10%, 0%) rotate(-10deg);
  }
  35% {
    transform: translate(-15%, 0%) rotate(-15deg);
  }
  45% {
    transform: translate(10%, 0%) rotate(10deg);
  }
  50% {
    transform: translate(15%, 0%) rotate(15deg);
  }
  60% {
    transform: translate(-5%, 0%) rotate(-5deg);
  }
  65% {
    transform: translate(-7%, 0%) rotate(-7deg);
  }
  75% {
    transform: translate(0%, 0%) rotate(0deg);
  }
  100% {
    transform: translate(0%, 0%) rotate(0deg);
  }
}
.loading {
  width: 100%;
  height: 100%;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20000;
}

.loader_wrap {
  width: 230px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .loader_wrap {
    width: 100px;
  }
}

/* ブログ用 */
.Single_Box h2 {
  font-size: 20px;
  border-bottom: solid 1px #3a3a3a;
  padding-bottom: 10px;
  padding-top: 40px;
  margin-bottom: 20px;
  line-height: 1.4;
}

.Book {
  background-color: #EAEAEA;
  border-radius: 10px;
  padding: 30px;
  margin-top: 30px;
  margin-bottom: 20px;
}
.Book .Book_Title {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  padding-bottom: 30px;
}
.Book h2 {
  font-size: 18px;
  border-bottom: solid 1px #c3c3c3;
  padding-bottom: 5px;
  padding-top: 5px;
  margin-bottom: 10px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .Book h2 {
    font-size: 16px;
  }
}

.list_information_top {
  max-width: 800px;
  margin: 0 auto;
}
.list_information_top > li {
  padding: 1rem 0;
  border-bottom: solid #040000 1px;
}
.list_information_top > li > a {
  display: flex;
}
@media screen and (max-width: 767px) {
  .list_information_top > li > a {
    font-size: 0.8rem;
  }
}
.list_information_top > li > a .data {
  display: inline-block;
  border-right: solid 1px #040000;
  padding-right: 2rem;
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  .list_information_top > li > a .data {
    padding-right: 1rem;
    margin-right: 1rem;
  }
}
.list_information_top > li > a:hover {
  opacity: 0.6;
}

/*************/
form.post-password-form {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 555;
  display: flex;
  background: #fff;
  align-items: center;
  flex-wrap: wrap;
}

form.post-password-form p:first-of-type {
  display: block;
  width: 100%;
  text-align: center;
  padding: 15% 0 0 0;
}

form.post-password-form p + p {
  text-align: center;
  max-width: 250px;
  margin: 0 auto 0;
  transform: translateY(-100%);
}

form.post-password-form p + p label {
  margin: 0 0 1rem;
  display: block;
}

/*************/
/* 2023 04 13 add koba task_GEOJAPAN20210419-34 */
/* アーカイブページに件数表示 + 価格での並び替えを設置 */
.archive_options {
  margin-bottom: 4em;
}
.archive_options .result_count {
  padding-top: 170px;
  margin-top: -170px;
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 1em;
}
.archive_options .sort_custom button {
  background: none;
  border: none;
}
.archive_options .sort_custom button.current {
  pointer-events: none;
  color: #d25357;
  font-weight: 700;
}

.searchform_product {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 30px;
  padding-bottom: 5em;
}
.searchform_product .flex {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .searchform_product .flex {
    flex-direction: column;
  }
}
.searchform_product .box {
  align-self: flex-start;
  width: 100%;
  position: relative;
  border-radius: 5px;
  overflow: hidden;
}
.searchform_product .box input[type=text] {
  padding: 0.5em 1em;
  border: none;
  background: #E9E9E9;
}
@media screen and (min-width: 768px) {
  .searchform_product .box:nth-child(1) {
    width: 50%;
  }
}
@media screen and (min-width: 768px) {
  .searchform_product .box:nth-child(2) {
    width: 70%;
  }
}
.searchform_product button {
  border: none;
  background-color: #429AB8;
  color: #fff;
  border-radius: 5px;
  margin: 0 auto;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 2em;
  padding: 0.3em 1em;
}
.searchform_product select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; /* デフォルトの矢印を非表示 */
  padding: 0.5em 1em;
  background: #E9E9E9 url(../images/icon_pulldown2.svg) no-repeat center right/auto 100%;
  border: none;
}
.searchform_product input[type=text] {
  padding: 0.5em 1em;
}

.post-type-archive-item_product .search_product_result .wp-pagenavi,
.search .search_product_result .wp-pagenavi,
.search_product_all .wp-pagenavi {
  margin-bottom: 3em;
}
.post-type-archive-item_product .search_product_result .wp-pagenavi a, .post-type-archive-item_product .search_product_result .wp-pagenavi span,
.search .search_product_result .wp-pagenavi a,
.search .search_product_result .wp-pagenavi span,
.search_product_all .wp-pagenavi a,
.search_product_all .wp-pagenavi span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  padding: 0.3em;
  box-sizing: content-box;
}
.post-type-archive-item_product .search_product_result .wp-pagenavi a.first, .post-type-archive-item_product .search_product_result .wp-pagenavi a.last, .post-type-archive-item_product .search_product_result .wp-pagenavi span.first, .post-type-archive-item_product .search_product_result .wp-pagenavi span.last,
.search .search_product_result .wp-pagenavi a.first,
.search .search_product_result .wp-pagenavi a.last,
.search .search_product_result .wp-pagenavi span.first,
.search .search_product_result .wp-pagenavi span.last,
.search_product_all .wp-pagenavi a.first,
.search_product_all .wp-pagenavi a.last,
.search_product_all .wp-pagenavi span.first,
.search_product_all .wp-pagenavi span.last {
  width: 60px;
}
.post-type-archive-item_product .search_product_result .wp-pagenavi a.current, .post-type-archive-item_product .search_product_result .wp-pagenavi span.current,
.search .search_product_result .wp-pagenavi a.current,
.search .search_product_result .wp-pagenavi span.current,
.search_product_all .wp-pagenavi a.current,
.search_product_all .wp-pagenavi span.current {
  background-color: #C75357;
  color: #fff;
}

.navbanner {
  max-width: 1260px;
  padding: 0 30px;
  margin: 0 auto;
}
.navbanner ul {
  display: flex;
  gap: 2%;
}
.navbanner ul li {
  width: 100%;
}
.navbanner ul li a {
  display: block;
}
.navbanner ul li a img {
  display: block;
}
@media screen and (max-width: 767px) {
  .navbanner ul {
    flex-wrap: wrap;
    gap: 20px;
  }
  .navbanner ul li {
    width: calc((100% - 20px) / 2);
  }
}

.search_product_all {
  padding-bottom: 2em;
}

.search .column_box_2 .txt_wrap .ttl {
  font-size: 1.2rem;
}

.search h2 {
  text-align: center;
  margin-bottom: 2em;
}
.search h2:nth-of-type(4) {
  padding-top: 3em;
}

.search .search_product_result .wp-pagenavi {
  text-align: center;
  margin-bottom: 5em;
}

.search .searchform_product {
  margin-bottom: 3em;
}

.page-id-4286 .lead {
  padding: 6.8em 0;
  text-align: center;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 2;
}
.page-id-4286 .lead p:nth-of-type(1) {
  margin-bottom: 2em;
}
.page-id-4286 .lead .ast {
  color: #C95357;
}
@media screen and (max-width: 767px) {
  .page-id-4286 .lead {
    padding: 3.4em 0;
  }
}
.page-id-4286 .nav_inpage_outlet {
  max-width: 1000px;
  margin: 0 auto 3.75em;
}
.page-id-4286 .nav_inpage_outlet ul {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .page-id-4286 .nav_inpage_outlet ul {
    gap: 1em;
  }
}
.page-id-4286 .nav_inpage_outlet ul li {
  width: calc((100% - 75px) / 4);
}
@media screen and (max-width: 767px) {
  .page-id-4286 .nav_inpage_outlet ul li {
    width: 100%;
  }
}
.page-id-4286 .nav_inpage_outlet ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 70px;
  padding-top: 0.3em;
  font-family: "Josefin Sans", sans-serif;
  color: #fff;
  border-radius: 12px;
  font-size: 1.5625em;
  font-weight: 500;
  background-color: #c2c2c2;
}
.page-id-4286 .nav_inpage_outlet ul li:nth-child(1) a {
  background-color: #429CBA;
}
.page-id-4286 .nav_inpage_outlet ul li:nth-child(2) a {
  background-color: #EAC32E;
}
.page-id-4286 .nav_inpage_outlet ul li:nth-child(3) a {
  background-color: #C95357;
}
.page-id-4286 .nav_inpage_outlet ul li:nth-child(4) a {
  background-color: #040000;
}
.page-id-4286 section.items {
  padding: 3.75em 0;
}
.page-id-4286 section.items h2 {
  display: inline-block;
  font-size: 2.5em;
  margin: 0 1em 1em 0;
  font-family: "Josefin Sans", sans-serif;
}
.page-id-4286 section.items .post_count {
  font-size: 1.5625em;
  font-weight: 700;
}
.page-id-4286 section.items .list_four, .page-id-4286 section.items .list_work {
  gap: 25px 0;
}

.inoutlet {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5em 1em;
  background: #42a5c3;
  color: #fff;
  margin-top: 1em;
}

@media screen and (max-width: 767px) {
  .inner,
  .container,
  #container_wrap,
  #content,
  .section_wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    
  }

  /* Elementor用が混ざってる場合にも対応 */
  .elementor-section,
  .elementor-container,
  .elementor-column.elementor-sm-90 {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/*# sourceMappingURL=layout.css.map */