@charset "utf-8";

/****************初期設定*********************/
* {
  padding: 0;
  margin: 0;
  outline: none;
  box-sizing: border-box;
}

ul,
ol {
  list-style: none;
}

a img {
  border: 0;
}

img {
  max-width: 100%;
  width: 100%;
}

.pc,
#pc {
  display: block;
}

.sp,
#sp,
.spbr360,
.open {
  display: none;
}

@media (max-width: 880px) {

  .sp,
  #sp,
  .open {
    display: block;
  }
}

a {
  text-decoration: none;
  transition: .3s;
}

a:hover {
  opacity: .7;
}

a[href^="tel:"],
a.nolink {
  pointer-events: none;
}

.fade {
  transition: all 2000ms;
  opacity: 0;
  visibility: hidden;
  transform: translate(0px, 50px);
}

.fadein {
  opacity: 1;
  visibility: visible;
  transform: translate(0px, 0px);
}

/*FONT****************************************/
Source Han Sans JP Regular {
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 400;
  font-style: normal;
}

Source Han Sans JP Medium {
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 500;
  font-style: normal;
}

Source Han Sans JP Bold {
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 700;
  font-style: normal;
}

Source Han Sans JP Heavy {
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 900;
  font-style: normal;
}

Hiragino Mincho ProN W3 {
  font-family: "hiragino-mincho-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
}

Hiragino Mincho ProN W6 {
  font-family: "hiragino-mincho-pron", sans-serif;
  font-weight: 600;
  font-style: normal;
}

p {
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 400;
  font-style: normal;
  word-wrap: break-word;
  line-height: 1.8em;
}

p.read_text_Top {
  font-size: 1.8rem;
  margin-bottom: 30px;
}

p.read_text {
  font-size: 1.8rem;
}

p.read_text--white {
  color: #fff;
  font-weight: 500;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.1em;
}

h2.top {
  color: #101f34;
  font-weight: 900;
  font-size: 3.0rem;
}

h2.top.content_mb {
  margin-bottom: 100px;
}

h2.top span {
  display: inline-block;
  margin-right: 20px;
  width: 135px;
  vertical-align: middle;
}

h2.top p {
  display: inline-block;
  font-weight: 900;
  line-height: 1.3em;
  text-align: left;
  vertical-align: middle;
}

h2.top span img {
  width: 100%;
  margin-bottom: -4px;
}

h3.en {
  font-weight: 900;
  color: rgba(4, 28, 51, .3);
  font-size: 10rem;
  letter-spacing: 0.02em;
  margin-bottom: 15px;
}

h3.jp {
  font-weight: 900;
  color: #fe8f10;
  font-size: 2.4rem;
  margin-bottom: 30px;
}

h3.seco_ttl {
  font-weight: 400;
  color: #041c33;
  font-size: 2.4rem;
  margin-bottom: 30px;
  text-align: left;
}

h3.seco_ttl.center {
  text-align: center;
}

h3.seco_ttl::before {
  content: '';
  width: 20px;
  height: 5px;
  background-color: #041c33;
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px;
}

h3.seco_ttl+p {
  font-weight: 400;
  color: #041c33;
  font-size: 1.5rem;
  margin-bottom: 3em;
  text-align: left;
}

h3.seco_ttl+p.formpage {
  font-weight: 400;
  color: #041c33;
  font-size: 1.5rem;
  margin-bottom: 3em;
  text-align: center;
}

h4 {
  font-weight: 900;
  color: #041c33;
  font-size: 2.2rem;
  margin-bottom: 15px;
}

h4.company-mission {
  font-size: 2.0rem;
  color: #041c33;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  text-decoration: underline;
  text-underline-offset: .5em;
  margin-bottom: 1em;
}

h5 {
  font-weight: 700;
  color: #041c33;
  font-size: 2.4rem;
  margin-bottom: 10px;
  line-height: 1.4em;
}

h5 span {
  font-size: 70%;
  display: block;
}

@media (max-width: 880px) {
  h5 span {
    font-size: 62%;
  }
}

h5.comme {
  font-weight: 400;
  color: #041c33;
  font-size: 1.7rem;
  line-height: 2.0em;
  margin-bottom: 4em;
}

h5.comme p {
  margin-bottom: .8em;
  text-indent: -1em;
  padding-left: 1em;
}

h5.comme p::before {
  content: '●';
  margin-right: 5px;
}

h5.comme.lefttxt {
  text-align: left;
  max-width: 700px;
  margin: 1.5em auto 0;
}

h6.policy {
  text-align: left;
  width: 100%;
  margin: 0 auto;
  font-weight: 400;
  color: #041c33;
  font-size: 1.7rem;
  line-height: 2.0em;
  margin-bottom: 1em;
}

h6.policy.lst {
  margin-bottom: 1em;
}

.policy_list {
  text-align: left;
  width: 100%;
  margin: 0 auto;
  font-weight: 400;
  color: #041c33;
  font-size: 1.7rem;
  line-height: 2.0em;
  margin-bottom: 2em;
  padding-left: 1em;
}

.policy_list>li {
  margin-bottom: 2em;
  padding-left: 1em;
  text-indent: -1em;
}

.policy_list>li span {
  font-size: 80%;
}

.policy_list>li p {
  padding-left: 1em;
  margin-top: 1em;
}

.policy_list>li>ul {
  padding-left: 1em;
  margin-top: 1em;
}

.policy_list>li>ul>li {
  margin-bottom: .5em;
  padding-left: .8em;
  text-indent: -.8em;
  line-height: 1.6em;
}

.policy_area {
  max-width: 700px;
  margin: 0 auto 5em auto;
}

@media (max-width: 1199px) {
  h3.en {
    font-size: 9rem;
    letter-spacing: 0.02em;
    margin-bottom: 15px;
  }
}

@media (max-width: 1050px) {
  h3.en {
    font-size: 8rem;
    letter-spacing: 0.02em;
    margin-bottom: 15px;
  }
}

@media (max-width: 880px) {
  h3.en {
    font-size: 7rem;
  }

  .policy_list {
    padding-left: 0em;
  }
}

@media (max-width: 560px) {
  h3.en {
    font-size: 6rem;
    letter-spacing: -0.02em;
  }
}

@media (max-width: 430px) {
  h3.en {
    font-size: 4.4rem;
  }
}

/****************初期設定*********************/
/****************body設定*********************/
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  margin: 0 !important;
  font-size: 62.5%;
  scroll-behavior: smooth;

}

body {
  color: #041c33;
  font-size: 1.6rem;
  font-family: 'source-han-sans-japanese', 'Noto Sans JP', sans-serif;
  line-height: 1;
  font-feature-settings: 'palt' 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: .06em;
  background-color: #fff;
}

#wrapper {
  width: 100%;
  min-height: 100vh;
  position: relative;
}

.Header_Top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 199999;
  height: 130px;
  padding: 0;
  overflow: hidden;
  background-image: url(../images/h_blue.svg), url(../images/h_yellow.svg);
  background-position: top left, top right;
  background-repeat: no-repeat;
  background-size: auto 100%;
}

@media (max-width: 880px) {
  .Header_Top {
    height: 100px;
  }
}

.Header_content {
  width: 100%;
  display: flex;
  justify-content: space-between;

  padding-top: 1em;
  padding-left: 1em;
  padding-right: 1em;
}

.Header_Logo {
  height: auto;
  width: 90px;
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .Header_Logo {
    width: 66px;
  }
}

.Header_Logo img {
  width: 100%;
  height: auto;
}

h1 {
  font-size: 1.4rem;
  margin-left: 15px;
}

.Header_Gmenu {
  width: 530px;
}

ul.gNav_list {
  margin-top: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.gNav_list>li {
  cursor: pointer;
  flex: 1;
}

.gNav_list>li>a {
  color: #fff;
  font-size: 1.6rem;
  position: relative
}

.gNav_list>li>a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #fff;
  bottom: -15px;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}

.gNav_list>li>a:hover::after,
.gNav_list>li>a.on::after {
  visibility: visible;
  bottom: -4px;
  opacity: 1;
}


.header {
  display: none;
  position: relative;
  padding: 20px;
}

.hamburger {
  position: fixed;
  top: 15px;
  right: 15px;
  z-index: 100;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger__line {
  position: absolute;
  left: 11px;
  width: 30px;
  height: 3px;
  background-color: #fff;
  transition: all .4s;
}

.hamburger__line:nth-of-type(1) {
  top: 14px;
}

.hamburger__line:nth-of-type(2) {
  top: 23px;
}

.hamburger__line:nth-of-type(3) {
  top: 32px;
}

/* メニューオープン時 */
.hamburger.active .hamburger__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}

.hamburger.active .hamburger__line:nth-of-type(2) {
  opacity: 0;
}

.hamburger.active .hamburger__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100vh;
  background-color: #b49143;
  box-shadow: 2px 0 4px rgba(0, 0, 0, .1);
  transform: translateX(-100%);
  transition: transform .4s;
  z-index: 90;
}

.nav.active {
  transform: translateX(0);
}

.nav__list {
  margin: 0;
  padding: 100px 0 0;
  list-style: none;
}

.nav__item {
  padding: 0 20px;
}

.nav__link {
  display: block;
  padding: 15px 0;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid #eee;
}


@media (max-width: 1024px) {
  .Header_Gmenu {
    display: none;
  }

  .header {
    display: block;
  }
}



#mainContent_block {
  width: 100%;
}

#content_Main_Top {
  width: 100%;
  background-image: url(../images/m_bg_03.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  height: 100vh;
}

.images_area img {
  /*width: 100%;*/
  width: auto;
  margin: 0 auto;
  position: absolute;
  left: 50%;
  bottom: 4%;
  transform: translate(-50%, 0);
  height: 90vh;
}

.bk1295 {
  display: block;
}

.smbk {
  display: none;
}

@media (max-width: 1024px) {

  #content_Main_Top {
    background-image: url(../images/m_bg_1024.jpg);
  }
}

@media (max-width: 820px) {

  #content_Main_Top {
    background-image: url(../images/m_bg_820.jpg);
  }

}

@media (max-width: 540px) {

  #content_Main_Top {
    background-image: url(../images/m_bg_540.jpg);
  }

}

@media (max-width: 1295px) {

  .bk1295 {
    display: none;
  }

  .smbk {
    display: block;
  }
}

@media (max-width: 490px) {
  .images_area img {
    height: 90vh;
    bottom: 0;
  }
}




@media (max-width: 899px) {
  .images_area {
    background-image: url(../images/main04.png);
    width: 520px;
  }
}

@media (max-width: 880px) {
  .images_area {
    bottom: 20px;
  }
}

@media (max-width: 560px) {
  .images_area {
    bottom: 10px;
  }
}

@media (max-width: 530px) {
  .images_area {
    width: 97%;
  }
}


.mainBottom {
  width: 100%;
  height: 160px;
  margin: 0 auto;
  position: absolute;
  left: 0;
  bottom: -1px;
  background-image: url(../images/bg_naname_top.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}

@media (max-width: 880px) {
  .mainBottom {
    height: 100px;
    background-size: 100% auto;
  }
}

.mainBottom img {
  width: 100%;
}

.section_bg {
  width: 100%;
  text-align: center;
}

.section_bg--beige {
  background-color: #f1ead9;
  padding-bottom: 5em;
}


@media (max-width: 880px) {
  .section_bg--beige {
    padding-top: 3em;
    padding-bottom: 2em;
  }
}

.section_bg--white {
  background-color: #fff;
  padding-bottom: 7em;
}

@media (max-width: 768px) {
  .section_bg--white {
    padding-bottom: 4em;
  }
}

.section_bg--glay {
  background-color: #f6f6f6;
  padding-bottom: 7em;
}

.section_bg--osusume {
  background-color: #f1ead9;
  padding-bottom: 5em;
  padding-top: 3em;
}

.section_bg--blue {
  background-color: #101f34;
  padding-top: 5em;
  padding-bottom: 5em;
}

.section_bg--image {
  background-image: url(../images/bg_naname_bottom.png);
  background-size: 100% auto;
  padding-top: 5em;
  padding-bottom: 6em;
  background-repeat: no-repeat;
}

.content_block {
  max-width: 1200px;
  margin: 0 auto;
}

.content_block--second {
  padding: 5em 0;
}

@media (max-width: 880px) {
  .content_block--second {
    padding: 5em 0 0 0;
  }
}

.content_block--osusume {
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 1199px) {
  .content_block {
    width: 90%;
    margin: 0 auto;
  }
}

.content_block--parson {
  display: flex;
}

.president {
  width: 360px;
}

.president_detail {
  flex: 1;
  text-align: left;
}

@media (max-width: 1199px) {
  .president {
    width: 30%;
  }
}

.president img {
  width: 100%;
}

.service_point_Top {
  width: 100%;
  margin-bottom: 3em;
}

.service_point_Top li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  margin-bottom: 1.5em;
}

.service_point_Top li.tokki {
  font-size: 1.4rem;
  text-align: left;
  line-height: 1.4em;
}

.service_point_Top li div {
  width: 66px;
  height: 66px;
  background-color: #041c33;
  text-align: center;
  margin-right: 15px;
  display: flex;
  align-items: center;
}

.service_point_Top li div span {
  color: #fff;
  font-family: "hiragino-mincho-pron", sans-serif;
  font-size: 4rem;
  width: 100%;
  text-align: center;
}

.service_point_Top li p {
  flex: 1;
  font-weight: 600;
  font-size: 1.8rem;
}

.service_point_Top li p span {
  background-color: #ebe908;
}



@media (max-width: 880px) {
  .content_block--parson {
    display: flex;
    flex-wrap: wrap;
  }

  .president {
    width: 100%;
  }

  .president img {
    width: 43%;
  }
}



.greeting_box {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3em;
  flex-wrap: wrap;
}

.greeting_box--left div:first-child {
  flex: 1;
  text-align: left;
}

.greeting_box--left div:nth-child(2) {
  width: 400px;
  margin-left: 90px;
  text-align: right;
}

.greeting_box--left div.yousyouki {
  width: 360px;
  margin-left: 90px;
  text-align: right;
}



.greeting_box--right div:first-child {
  width: 300px;
  margin-right: 90px;
  text-align: center;
}

.youtubearea {
  width: 100%;
  margin-bottom: 4em;
  text-align: center;
}

.youtubearea h4 {
  text-align: center;
  font-size: 2.2rem;
  margin-bottom: 1em;
}

.youtubearea .youtube {
  width: 100%;
  text-align: center;
}

.youtubearea .youtube img {
  max-width: 560px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 880px) {
  .greeting_box.lastchild {
    margin-bottom: 4em;
  }

  .youtubearea {
    margin-bottom: 0;
  }

  .greeting_box--left div.yousyouki {
    width: 30%;
    margin-left: 5%;
  }

  .greeting_box--left div:nth-child(2) {
    width: 35%;
    margin-left: 5%;
  }

  .greeting_box--right div:first-child {
    width: 25%;
    margin-right: 5%;
  }
}

@media (max-width: 768px) {

  .greeting_box--left div.yousyouki {
    width: 100%;
    margin-left: 0%;
    text-align: center;
    margin-top: 5%;
  }



  .greeting_box--left div:nth-child(2) {
    width: 100%;
    margin-left: 0%;
    text-align: center;
  }

  .greeting_box--left div:nth-child(2) img {
    margin: 5% auto 0 auto;
    width: 70%;
  }

  .greeting_box--left div.yousyouki img {
    margin: 0 auto;
    width: 35%;
  }

  .greeting_box--right div:first-child {
    width: 100%;
    margin-right: 0%;
    order: 2;
    margin-top: 5%;
  }

  .greeting_box--right div:first-child img {
    width: 30%;
    margin: 0 auto;
  }
}

@media (max-width: 550px) {
  .greeting_box--left div.yousyouki img {
    width: 43%;
  }

  .greeting_box--right div:first-child img {
    width: 43%;
  }
}

.greeting_box--right div:first-child span,
.greeting_box--left div:nth-child(2) span {
  font-family: "hiragino-mincho-pron", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  display: block;
  margin-top: .6em;
  line-height: 1.4em;
}

@media (max-width: 880px) {

  .greeting_box--right div:first-child span,
  .greeting_box--left div:nth-child(2) span {
    font-size: 1.4rem;
  }
}

.greeting_box--right div:nth-child(2) {
  flex: 1;
  text-align: left;
}

.next-btn {
  max-width: 800px;
  margin: 3em auto 0;
}

.next-btn a {
  display: block;
}

.next-btn img {
  width: 100%;
}

@media (max-width: 880px) {
  .next-btn img {
    width: 90%;
    margin: 0 auto;
  }
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

.scroll-infinity__wrap {
  display: flex;
  margin-bottom: 5em;
  overflow: hidden;
}

.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}

.infinity__list {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  flex-wrap: wrap;
  justify-content: space-between;
}

.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

.scroll-infinity__item {
  width: calc(100vw / 5);
  background-color: #fff;
  padding: 1.5em;
  margin: 0 .5em;
}


.scroll-infinity__item a {
  display: block;
}

.item_image--top {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 250px;
  left: 0;
  top: 0;
  z-index: 1;
  margin-bottom: 10px;
}

.item_image--top.front {
  height: 200px;
}

.item_image--top span {
  display: block;
  background-color: #ebe908;
  text-align: center;
  padding: .5em 1em .5em;
  font-size: 1.6rem;
  color: #101f34;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

.item_image--top img {
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  z-index: 0;
  object-fit: cover;
}

.item_ttl {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  border-bottom: 1px dashed #101f34;
  padding-bottom: 15px;
  margin-bottom: 15px;
  flex-grow: 1;
}

.new_aicon {
  display: block;
  border-radius: 50%;
  width: 33px;
  height: 33px;
  background-color: #fc6400;
  color: #fff;
  margin-right: 10px;
  font-size: 1.2rem;
  font-weight: 700;
  padding-top: 10px;
}

h3.ttl--osusume {
  font-size: 1.8rem;
  color: #101f34;
  flex: 1;
  text-align: left;
  line-height: 1.4em;
}

.item_price {
  font-size: 2.8rem;
  color: #fa5200;
  margin-bottom: 15px;
  text-align: right;
  font-weight: 900;
}

.item_price span {
  font-size: 60%;
  color: #101f34;
}

.item_comment {
  background-color: #101f34;
  padding: .5em .8em .8em;
  text-align: left;
  color: #fff;
  flex-grow: 1;
}

.item_comment p {
  line-height: 1.4em;
}

.next-btn-bukken {
  display: block;
  border-radius: 10px;
  width: 100%;
  background-color: #eb8904;
  color: #fff;
  text-align: center;
  line-height: 68px;
  font-size: 2.0rem;
  margin-top: 1em;
}

.next-btn-bukken a {
  color: #fff;
  display: block;
}

.next-btn-bukken span {
  vertical-align: middle;
  margin-left: 10px;
}

@media (max-width: 1100px) {
  .scroll-infinity__item {
    width: calc(100vw / 4);
  }
}

@media (max-width: 800px) {
  .scroll-infinity__item {
    width: calc(100vw / 2);
  }

  .scroll-infinity__list--left {
    animation: infinity-scroll-left 60s infinite linear 0.3s both;
  }
}

.sp_600 {
  display: none;
}

.pc_600 {
  display: block;
}

@media (max-width: 600px) {
  .scroll-infinity__item {
    width: calc(100vw / 1);
  }

  .item_image--top {
    height: 300px;
    left: 0;
    top: 0;
    z-index: 1;
    margin-bottom: 10px;
  }

  h2.top span {
    display: inline-block;
    margin-right: 10px;
    width: 60px;
    vertical-align: middle;
  }

  h2.top span img {
    width: 100%;
    margin-bottom: -4px;
  }

  h2.top {
    color: #101f34;
  }

  h2.top p {
    display: inline-block;
    font-weight: 900;
    font-size: 2.5rem;
    line-height: 1.3em;
    text-align: left;
  }

  .sp_600 {
    display: block;
  }

  .pc_600 {
    display: none;
  }
}


@media (max-width: 1200px) {
  .scroll-infinity__item {
    padding: 1.0em;
  }

  .item_price {
    font-size: 2.4rem;
  }
}


.scroll-infinity__item.second_list {
  width: 32% !important;
  margin: 0 0em 1.5em;
  display: flex;
  flex-direction: column;
}

.scroll-infinity__list.infinity__list::after {
  content: "";
  display: block;
  width: 32%;
}

@media (max-width: 1024px) {
  .scroll-infinity__item.second_list {
    width: 48% !important;
    margin: 0 0em 1.5em;
  }

  .scroll-infinity__list.infinity__list::after {
    content: "";
    display: block;
    width: 0%;
  }

  .scroll-infinity__item {
    padding: 1.0em;
    margin-bottom: 1em;
  }

  .item_image--top {
    height: 270px;
  }
}

@media (max-width: 768px) {
  .scroll-infinity__item.second_list {
    width: 100% !important;
    margin: 0 0em 1.5em;
  }

  .scroll-infinity__list.infinity__list::after {
    content: "";
    display: block;
    width: 0%;
  }

  .scroll-infinity__item {
    padding: 1.5em;
    margin-bottom: 1em;
  }

  .item_image--top {
    height: 60vw;
  }
}


footer {
  width: 100%;
  padding-top: 8em;
  padding-bottom: 4em;
  background-color: #000c1c;
}

@media (max-width: 880px) {
  footer {
    padding-top: 2em;
  }
}

#footer_shop_detail {
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  padding: 2em;
  display: flex;
  align-items: center;
  justify-content: space-between;
}


#footer_shop_detail .images {
  margin-right: 40px;
  position: relative;
  overflow: hidden;
  height: 480px;
  width: 480px;
  z-index: 1;
}

#footer_shop_detail .images img {
  width: 100%;
  overflow: hidden;
  z-index: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 1200px) {
  #footer_shop_detail {
    width: 90%;
  }

  #footer_shop_detail .images {
    width: 50%;
  }
}

#footer_shop_detail .detail {
  flex: 1;
  text-align: left;
  color: #101f34;
}

#footer_shop_detail table {
  text-align: left;
  font-size: 1.6rem;
  margin-bottom: 1.0em;
}

#footer_shop_detail table th,
#footer_shop_detail table td {
  padding: .5em 0em;
  line-height: 1.5em;
  vertical-align: top;
}

#footer_shop_detail table th {
  text-align-last: justify;
}

#footer_shop_detail table td::before {
  content: "：";
}

@media (max-width: 1100px) {
  #footer_shop_detail {
    display: block;
  }

  #footer_shop_detail .images {
    width: 100%;
    height: 400px;
    margin-right: 0px;
    margin-bottom: 20px;
  }

  #footer_shop_detail .detail {
    width: 100%;
  }
}

@media (max-width: 880px) {
  #footer_shop_detail .images {
    height: 300px;
  }

  #footer_shop_detail table th {
    width: 25%;
  }

  #footer_shop_detail table th,
  #footer_shop_detail table td {
    font-size: 1.4rem;
    text-indent: -.5em;
    padding-left: .5em;
  }

  #footer_shop_detail {
    padding: 1em;
  }
}


#copyright {
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
  background-color: #000c1c;
  padding: .5em 0;
}




#content_Main_Second {
  width: 100%;
  height: 260px;
  background-color: #f1ead9;
  padding-top: 180px;
}

@media (max-width: 768px) {
  #content_Main_Second {
    height: 200px;
    padding-top: 130px;
  }
}

#second_ttl {
  width: 100%;
  text-align: center;
  font-size: 2.8rem;
  color: #101f34;
  font-weight: 500;
}

#singleBlock--images {
  width: 600px;
  margin-right: 40px;
}

#singleBlock--detail {
  flex: 1;
  text-align: left;
}



#mainImage {
  width: 600px;
  height: 450px;
  object-fit: cover;
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1024px) {
  #singleBlock--images {
    width: 100%;
    margin-right: 0px;
    order: 2;
    margin-bottom: 5em;
  }

  #singleBlock--detail {
    order: 1;
    width: 100%;
  }

  #mainImage {
    width: 100%;
  }
}



#mainImage img {
  width: 100%;
  object-fit: cover;
  position: absolute;
  z-index: 0;
  overflow: hidden;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#imageList {
  width: 100%;
}

#imageList ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

#imageList li {
  width: 31%;
  height: 146px;
  object-fit: cover;
  overflow: hidden;
  position: relative;
  z-index: 1;
  margin: 1%;
}

#imageList li img {
  width: 120%;
  height: auto;
  object-fit: cover;
  overflow: hidden;
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 1024px) {
  #imageList li {
    height: 20vw;
  }
}

@media (max-width: 560px) {
  #mainImage {
    height: 72vw;
  }

  #imageList li {
    height: 32vw;
    width: 48%;
    margin: 1%;
  }

  #imageList li img {
    width: 120%;
  }
}

.single-category {
  width: auto;
  border: 1px solid #101f34;
  border-collapse: collapse;
  margin-bottom: 20px;
}

.single-category th {
  background-color: #fff;
  text-align: center;
  color: #101f34;
  padding: .6em;
  font-size: 1.6rem;
}

.single-category td {
  background-color: #101f34;
  text-align: center;
  color: #fff;
  padding: .6em;
  font-size: 1.6rem;
}





.table_single_bukken {
  width: 100%;
  margin-bottom: 15px;
}


.table_single_bukken th {
  color: #fff;
  padding: .6em;
  border-bottom: #101f34 dashed 1px;
  font-size: 1.6rem;
  background: #101f34;
  font-weight: 400;
  line-height: 1.5em;
  width: 21%;
}


.table_single_bukken th span {
  font-size: 65%;
  display: block;
}

.table_single_bukken td {
  border-bottom: #101f34 dashed 1px;
  color: #101f34;
  padding: .6em;
  font-size: 1.6rem;
  line-height: 1.5em;
}

.table_single_bukken td span {
  font-size: 140%;
  color: #fa5200;
  font-weight: 700;
}

h3.single-ttl--osusume {
  font-size: 2.8rem;
  margin-bottom: 15px;
  width: 100%;
}

h3.single-ttl--page {
  font-size: 2.4rem;
  margin-bottom: 1.5em;
  width: 100%;
  font-weight: 500;
}

h4.single-add-osusume {
  font-size: 2.0rem;
  margin-bottom: 30px;
  font-weight: 400;
}

.single-detail-osusume {
  margin-bottom: 40px;
}

.single-detail-text {
  text-align: center;
  font-size: 2.0rem;
  line-height: 1.8em;
}

.single-detail-text img {
  max-width: 100% !important;
  width: auto;
  margin-left: auto;
  margin-right: auto;
}

h4.single-day {
  text-align: center !important;
  font-size: 1.8rem;
  margin-bottom: 4em;
  color: #637083;
}

.single-detail-text a {
  display: block;
  color: #101f34;
  font-weight: bold;
  margin-top: .5em;
  margin-bottom: .5em;
}

h3.estatePickup {
  background-color: #101f34;
  padding: .6em;
  text-align: center;
  color: #fff;
  max-width: 560px;
  width: 90%;
  margin-bottom: 15px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.4em;
}

.youtube-area {
  margin-bottom: 100px;
}

@media (max-width: 768px) {
  .youtube-area {
    margin-bottom: 12vw;
  }

  .scroll-tablearea {
    margin-bottom: 3em;
  }

  #second_ttl {
    font-size: 2.4rem;
  }

}

@media (max-width: 560px) {

  .youtube-area>iframe {
    width: 90%;
    height: 50vw;
    margin-left: auto;
    margin-right: auto;
  }
}

.nextback-area {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.btn_back,
.btn_next {
  width: 360px;
  height: 80px;
  margin: 0 30px;
}

.btn_back a {
  display: block;
  border-radius: 10px;
  width: 100%;
  background-color: #eb8904;
  color: #fff;
  text-align: center;
  line-height: 78px;
  font-size: 2.0rem;
}

.btn_next a {
  display: block;
  border-radius: 10px;
  width: 100%;
  background-color: #000c1c;
  color: #fff;
  text-align: center;
  line-height: 78px;
  font-size: 2.0rem;
}

.btn_back a span,
.btn_next a span {
  vertical-align: middle;
}

.company-table {
  width: 80%;
  margin: auto;
  border-bottom: 1px solid #101f34;
  border-top: 1px solid #101f34;
}

@media (max-width: 768px) {
  .company-table {
    width: 100%;
  }
}

.company-table td,
.company-table th {
  padding: 1.5em;
  text-align: left;
  font-size: 1.6rem;
  border-top: 1px solid #101f34;
  line-height: 1.5em;
}

.company-table tr:first-child td,
.company-table tr:first-child th {
  border-top: none;
}

.company-table th {
  color: #fff;
  background-color: #101f34;
  font-weight: 400;
}

.company-table td {
  width: 70%;
}

.contact-table {
  max-width: 900px;
  margin: auto auto 2em;
  border-spacing: 0;
}

.contact-table td,
.contact-table th {
  padding: 1.0em 1.0em 1.0em 0;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.5em;
  color: #101f34;
  font-weight: 400;
  border-bottom: 1px solid #637083;
}

.contact-table th {
  width: 25%;
}

input[readOnly] {
  color: #777;
  font-weight: 700;
}

.contact-table th span {
  display: inline-block;
  background: #fa5200;
  padding: 0em .5em;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  margin-left: 10px;
}


.contact-table td input {
  border-radius: 10px;
  height: 50px;
  border: 1px solid #637083;
  padding: .2em;
  width: 100%;
}

.contact-table td textarea {
  border-radius: 10px;
  height: 200px;
  border: 1px solid #637083;
  padding: .2em;
  width: 100%;
}

.contact-table td input.zip {
  width: 15%;
  margin-bottom: 1em;
}

.contact-table td input.pref {
  width: 30%;
  margin-bottom: 1em;
}

.contact-table td p.sonotatext {
  margin-top: 1em;
}

.contact-table td input[type=checkbox] {
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: middle;
  border: 1px solid #637083;
}


.privacy p a {
  color: #fa5200;
}

.privacy {
  margin-bottom: 3em;
}

.send input {
  display: inline-block;
  border-radius: 10px;
  width: 300px;
  margin: 0 10px;
  background-color: #000c1c;
  color: #fff;
  text-align: center;
  line-height: 78px;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
  border: none;
}

.send input[name="submitBack"] {
  display: inline-block;
  border-radius: 10px;
  width: 300px;
  margin: 0 10px;
  background-color: #ccc;
  color: #555;
  text-align: center;
  line-height: 78px;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
}

.btn_contact_block a {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 450px;
  width: 100%;
  margin: 0 auto 2em;
  padding: 1em 2em 1.1em;
  border: 2px solid #fff;
  border-radius: 5px;
  box-shadow: 0 0 0 3px #000c1c;
  background-color: #000c1c;
  color: #fff;
  font-weight: 600;
  font-size: 1em;
  line-height: 1.5em;
}

.btn_contact_block_ore a {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 450px;
  width: 100%;
  margin: 0 auto 2em;
  padding: 1em 2em 1.1em;
  border: 2px solid #fff;
  border-radius: 5px;
  box-shadow: 0 0 0 3px #fc6400;
  background-color: #fc6400;
  color: #fff;
  font-weight: 600;
  font-size: 1em;
  line-height: 1.5em;
}

.btn_contact_block a span,
.btn_contact_block_ore a span {
  margin-left: 15px;
  margin-bottom: -2px;
}

.staff__wrap {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.staff_detail {
  width: 30%;
}

/*.staff_detail:last-child {
  margin: 0 3% 0em;
}

.staff_detail:nth-last-child(2n) {
  margin: 0 3% 0em;
}*/

.faceimage {
  width: 65%;
  margin-bottom: 25px;
  margin-left: auto;
  margin-right: auto;
}

.faceimage img {
  border-radius: 50%;
  border: 4px solid #f1ead9;
}

.staff_detail .name {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 25px;
  line-height: 1.4em;
}

.staff_detail .name span {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
}

.detail_text .textstaff {
  text-align: left;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8em;
  width: 100%;
}

@media (max-width: 1024px) {
  .staff__wrap {
    display: block;
  }

  .staff_detail {
    width: 100%;
    margin: 0 0% 4em;
    display: flex;
  }

  .staff_detail:last-child {
    margin: 0 0% 0em;
  }

  .staff_detail:nth-last-child(2n) {
    margin: 0 0% 4em;
  }

  .faceimage {
    width: 25%;
    margin-bottom: 0px;
    margin-right: 15px;
  }

  .staff_detail .name {
    text-align: left;
    font-size: 2.0rem;
  }

  .detail_text {
    flex: 1;
  }
}

@media (max-width: 800px) {
  .btn_back {
    margin: 0 30px 20px;
  }

  .staff__wrap {
    display: block;
  }

  .staff_detail {
    width: 100%;
    margin: 0 0% 4em 0;
    display: flex;
    flex-wrap: wrap;
  }

  .staff_detail:last-child {
    margin: 0 0% 0% 0;
  }

  .faceimage {
    width: 100%;
    margin-bottom: 2%;
    margin-right: 0px;
    text-align: center;
  }

  .faceimage img {
    margin: 0 auto;
    width: 35%;
  }

  .staff_detail .name {
    text-align: center;
    font-size: 2.0rem;
  }

  .detail_text {
    flex: 1;
  }
}

@media (max-width: 550px) {
  .faceimage img {
    margin: 0 auto;
    width: 43%;
  }


  .btn_back,
  .btn_next {
    width: 100%;
  }
}

.info-list-area {
  width: 100%;
  border: 3px solid #fcfcfc;
  background: #fff;
  padding: 2.5em 4em;
  margin-bottom: 5em;
}


.info-list {
  width: 100%;
  text-align: left;
}

.info-list li {
  width: 100%;
  margin-bottom: 1em;
  font-size: 1.4rem;
  border-bottom: 1px dashed #f1ead9;
  padding-bottom: 1em;
}

.info-list li span {
  color: #fff;
  font-weight: bold;
  margin-right: 10px;
  display: inline-block;
  background-color: #eb8904;
  padding: .5em .8em;
  font-size: 1.6rem;
}

.info-list li a {
  display: inline-block;
  color: #101f34;
  margin-left: 15px;
  font-weight: 500;
  font-size: 1.6rem;
}


@media (max-width: 768px) {
  .info-list-area {
    background: #fff;
    padding: 2.0em 1.5em;
    margin-bottom: 5em;
  }

  .info-list li span {
    padding: .2em .4em;
  }

  .info-list li {
    font-size: 1.4rem;
  }

  .info-list li a {
    margin-left: 10px;
    margin-top: .5em;
    font-size: 1.6rem;
  }

  .table_single_bukken th {
    width: 35%;
  }
}

.sp540 {
  display: none;
}

@media (max-width: 540px) {
  .sp540 {
    display: block;
  }
}


.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  margin-top: auto;
  width: 50px;
  height: 50px;
  line-height: 48px;
  text-align: center;
  border-radius: 50%;
  box-shadow: 0px 5px 10px 0px lightgray;
  background-color: #fff;
  color: #333;
  transition: ease 0.5s;
}

a:hover .nextinfo,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
  background-color: #333;
  color: #fff;
}

.wp-pagenavi {
  margin: 50px auto;
  font-size: 12px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
}

.wp-pagenavi a {
  color: #333;
}

.wp-pagenavi span.current,
.wp-pagenavi a.page {
  margin: 0 10px 0 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  line-height: 50px;
  text-align: center;
  box-sizing: border-box;
  justify-content: center;
  display: flex;
  align-items: center;
  transition: .3s;
  background-color: #eaeaea;
  color: #333;
}

.wp-pagenavi span.current {
  background: #fff;
  color: #333;
  border: 1px solid #333;
}

.wp-pagenavi a.page {
  background: block;
  background-color: #eaeaea;
}

.wp-pagenavi a.page:hover {
  background: #fff;
  color: #333;
  border: 1px solid #333;
}

.wp-pagenavi .first,
.wp-pagenavi .extend {
  margin-right: 10px;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  display: block;
  margin-right: 1%;
  margin-left: 1%;
}

/* 全体レイアウト */
.prefecture {
  border: 1px solid #ddd;
  padding: 2.5em 2em;
  background: #f8f9fb;
  font-family: "Segoe UI", sans-serif;
  color: #333;
  margin-bottom: 4em;
}

/* 都道府県リスト */
.pref-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

/* 市町村部分 */
.cities {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 15px;
  padding-left: 20px;
}

.city-list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 200px;
}

.city-list li {
  margin-bottom: 5px;
  font-size: 1.4rem;
  color: #333;
}

.city-list input[type="checkbox"] {
  margin-right: 6px;
}

.city-list label {
  cursor: pointer;
}

.city-list label:has(input:disabled) {
  color: #ccc;
  cursor: not-allowed;
}

/* 該当件数 & 検索ボタン */
.search-footer {
  margin-top: 2em;
  padding: 1.5em;
  background: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.search-footer label {
  font-size: 1.6rem;
  font-weight: bold;
}

.search-footer .count {
  font-size: 1.8rem;
  color: #d00;
}

.search-footer button {
  background: #ddd;
  border: 1px solid #aaa;
  padding: 10px 30px;
  font-size: 1.6rem;
  font-weight: bold;
  border-radius: 6px;
  cursor: pointer;
}

.search-footer button:hover {
  background: #ccc;
}

.category-search {
  margin-bottom: 3em;
}

.pref-list li:last-child {
  text-align: left;
  width: 100%;
}

.category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

h4.searchbox {
  font-size: 1.8rem;
  text-align: left;
  margin-bottom: 1.5em;
  font-weight: 500;
}

@media (max-width: 768px) {
  .city-list {
    width: 50%;
  }

  .cities {
    gap: 0px;
    padding-left: 0;
    justify-content: space-between;
  }

  .city-list li {
    margin-bottom: 10px;
    font-size: 1.6rem;
  }

  .prefecture {
    padding: 2.5em 1.2em;
  }

  .category-list {
    justify-content: space-between;
    text-align: left;
    gap: 20px 0;
  }

  .category-list li {
    width: 48%;
  }

  .search-footer button {
    background: #ddd;
    border: 1px solid #aaa;
    padding: 10px 4px;
    font-size: 1.5rem;
    font-weight: bold;
    border-radius: 6px;
    cursor: pointer;
    width: 50%;
  }

  h3.single-ttl--page {
    font-size: 2.2rem;
  }

  .next-btn-bukken {
    font-size: 1.8rem;
  }

  .item_comment p {
    line-height: 1.5em;
  }

  span.count {
    font-size: 80%;
  }


}