@charset "UTF-8";

:root {
  --desi-width: 1920px;
  --base-width: 1800px;
  --narr-width: 1080px;
}
/* reset */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1.5;
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

body {
  font-family: "Helvetica Neue",
  Arial,
  "Hiragino Kaku Gothic ProN",
  "Hiragino Sans",
  Meiryo,
  "BIZ UDPGothic",
  sans-serif;
  color: #000;
  font-size: 16px;
  line-height: 1.75;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  position: relative;
  text-align: left;
  min-width: 320px;
}

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

a {
  outline: none;
  text-decoration: none;
  transition: all 0.3s ease;
}
a img {
  border: 0;
}
a img:hover {
  transition: all 0.3s ease;
  opacity: 0.7;
}
a:link {
  color: #1a0dab;
}
a:hover {
  text-decoration: none;
  transition: all 0.3s ease;
}
a[href^="tel:"] {
  color: #000;
  pointer-events: auto;
  @media ( width >= 950px) {
    pointer-events: none;
  }
}
audio,
canvas,
img,
video {
  vertical-align: middle;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

caption {
  display: none;
}

address {
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
dt,
dd,
th,
td,
pre {
  margin: 0;
  padding: 0;
  -ms-line-break: strict;
  line-break: strict;
  -ms-word-break: break-word;
  word-break: break-word;
  overflow-wrap: break-word;
  /* transform: rotate(0.001deg); */
}

p {
  margin: 1.25em 0;
}


.icon-caution {
  display: block;
  position: relative;
  padding-left: 1.25em;
}
.icon-caution::before {
  content: "※";
  display: inline-block;
  position: absolute;
  left: 0;
}

.gmap_wrap {width: 100%; height: auto; aspect-ratio: 16 / 12;}


/* ==========================================================================
 font style
========================================================================== */
.font-notosans {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.fwb {
  font-weight: bold;
}
.red{
  color: #e60012;
}
.main-title {
  font-size: calc(36.4px / 2);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-weight: bold;
  font-style: normal;
  line-height: 1.75;
  margin: .5em 0 0;
  @media ( width >= 950px) {
    font-size: 26px;
  }
}
.main-subtitle {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-weight: bold;
  font-style: normal;
  font-size: calc(60px / 2);
  line-height: 1;
  margin: 0;
  @media ( width >= 950px) {
    font-size: 59px;
  }
}
.main-subtitle::after {
  background: #000;
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  margin-top: .25em;
  @media ( width >= 950px) {
    height: 4px;
  }
}
.page-title {
  font-size: calc(50.4px / 2);
  font-optical-sizing: auto;
  font-weight: 500;
  font-weight: bold;
  font-style: normal;
  line-height: 1.5;
  margin: 0;
  @media ( width >= 950px) {
    font-size: 36px;
  }
}
.page-subtitle {
  color: #898989;
  font-optical-sizing: auto;
  font-size: calc(25.2px / 2);
  line-height: 1;
  margin: 0;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}

.indexSection-title {
  font-size: calc(30.8px / 2);
  line-height: 1.75;
  margin: .5em 0 0;
  @media ( width >= 950px) {
    font-size: 22px;
  }
}
.indexSection-subtitle {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-weight: bold;
  font-style: normal;
  font-size: calc(67.2px / 2);
  line-height: 1;
  margin: 0;
  @media ( width >= 950px) {
    font-size: 48px;
  }
}
.indexSection-subtitle::after {
  background: #000;
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  margin-top: .25em;
  @media ( width >= 950px) {
    height: 4px;
  }
}

.indexSection-link {
  text-align: center;

}
.indexSection-link a {
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 2em;
  color: #000;
  display: inline-block;
  filter: drop-shadow( 3px 5px 0 rgba(204, 204, 204, 1));
  font-size: 13px;
  font-weight: bold;
  min-width: 230px;
  overflow: hidden;
  position: relative;
  /* width: 100%; */
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.indexSection-link a:hover {
  color: #fff;
}

.indexSection-link a::before {
  content: "";
  width: 120%;
  height: 200%;
  position: absolute;
  top: -50%;
  right: 0;
  z-index: -1;
  background-color: var(--subColor);
  border-radius: 0 100% 100% 0;
  transform: translateX(-100%);
  transition: transform ease .2s;
}
.indexSection-link a:hover::before {
  transform: translateX(10%);
}
.indexSection-link span {
  display: block;
  padding: .75em 1.1em;
  position: relative;
  text-align: center;
}
.indexSection-link span::after {
  background: url(../images/common/icon_list-blue.png) no-repeat left center/contain;
  content: "";
  display: block;
  height: 16px;
  width: 16px;
  position: absolute;
  right: 1.1em;
  top: 50%;
  transform: translateY(-50%);
}
@media ( width >= 950px) {
  .indexSection-link span::after {
    height: 22px;
    width: 22px;
  }
}

.marker_y {background: linear-gradient(transparent 50%, #ff0 0%);}
.marker_s {background: linear-gradient(transparent 50%, #b5f1ff 0%);}



/* ==========================================================================
 form
========================================================================== */

/*
button,
input[type=text],
input[type=email],
input[type=tel],
select,
textarea {
  width: 100%;
}
button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
input[type=checkbox],
input[type=radio] {
  margin: 0 0.5rem;
}
input[type=text].zipcode {
  width: 9rem;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
*/
input, textarea, select {
  padding: 4px;
}

.ziplength {
  margin-left: 0.5em;
  width: calc(100% - 2em);
}

.middlelength,
.longlength {
  width: 100%;
}

@media only screen and ( 600px <= width) {
  .ziplength {
    width: 8em;
  }
  .middlelength {
    width: 70%;
  }
  .longlength {
    width: 95%;
  }
}
textarea {
  resize: vertical;
}

/* ==========================================================================
 Navigation
========================================================================== */
.humb-menu {
  background-color: #2C52AF;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: absolute;
  right: 0;
  top: 0;
  width: 57px;
  height: 55px;
  @media ( width >= 200px) {
  }
}
.humb-menu.is-active {
  position: fixed;
}

.humbMenu-trigger,
.humbMenu-trigger span {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  transition: all 0.4s;
}

.humbMenu-trigger {
  position: relative;
  width: 57px;
  height: 55px;
}

.humbMenu-trigger span {
  background-color: #fff;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 21px;
  height: 2px;
}

.humbMenu-trigger span:nth-of-type(1) {
  top: 11px;
}

.humbMenu-trigger span:nth-of-type(2) {
  top: 17px;
}

.humbMenu-trigger span:nth-of-type(3) {
  top: 22px;
}

.humb-menu.is-active span:nth-of-type(1) {
  top: 7px;
  transform: translateY(10px) rotate(-45deg);
}

.humb-menu.is-active span:nth-of-type(2) {
  opacity: 0;
}

.humb-menu.is-active span:nth-of-type(3) {
  top: 23px;
  transform: translateY(-6px) rotate(45deg);
}
.menu-title {
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 30px;
  left: 0;
  width: 100%;
  transition: all .4s;
  text-align: center;
}

.headerMenu-wrap {
  background: #DCE5F9;
  padding: 55px 0 0;
  position: absolute;
  left: 0;
  top: 0;
  height: 100vh;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: .5s;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: 100dvh;
}
.headerMenu-wrap.is-active {
  left: 0;
  top: 0;
  opacity: 1;
  padding: 55px 0 0;
  position: fixed;
  visibility: visible;
}
.headerMenu-inner {
}
.headerMenu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.headerMenu-list li {
  margin: .25em 0 0;
}
.headerMenu-list a {
  color: #2C52AF;
  display: inline-block;
  font-weight: bold;
  font-size: 16px;
  padding: .25em;
}
.headerMenu-tel a {
  background-color: #000;
  display: inline-block;
  padding: 10px 30px;
  position: relative;
  max-width: 275px;
}


.headerMenu-shopping {
}
.headerMenu-shopping a {
  background-color: #E60012;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  padding: 1em 1em 1em calc(1.5em + 24px);
  position: relative;
}
.headerMenu-shopping a::before {
  background: url(../images/common/cart_icon.png) no-repeat center center / contain;
  content: "";
  display: block;
  height: 24px;
  width: 24px;
  position: absolute;
  left: 1em;
}
.headerMenu-sns.sns-list {
  justify-content: flex-start;
}
.headerMenu-sns.sns-list li {
  height: 36px;
  width: 36px;
}

/* ==========================================================================
 WordPress
========================================================================== */

.aligncenter,
div.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.alignleft {
  float: left;
}
.alignright {
  float: right;
}
.wp-caption {
  border: 1px solid #ddd;
  text-align: center;
  background-color: #f3f3f3;
  padding-top: 4px;
  margin: 10px;
  /* optional rounded corners for browsers that support it */
  border-radius: 3px;
}
.wp-caption img {
  margin: 0;
  padding: 0;
  border: 0 none;
}
.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  padding: 0 4px 5px;
  margin: 0;
}

img[class*=wp-image-],
img[class*=attachment-] {
  max-width: 100%;
  height: auto;
}

/* ==========================================================================
 Z-Index
========================================================================== */
.header {
}
.global-nav {
}
.humb-menu {
  z-index: 10000;
}
.headerMenu-wrap.is-active {
  z-index: 9500;
}

/* ==========================================================================
 Layout
========================================================================== */

.header,
.body,
.main,
.footer,
.nav {
  position: relative;
}
.body {
  margin-top: 10px;
}
.footer {
  margin-top: 2em;
  @media ( width >= 950px) {
    margin-top: 4em;
  }
}

.menu-list,
.sns-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.sns-list {
  display: flex;
  /* justify-content: flex-end; */
  column-gap: 1.3em;
  list-style: none;
  margin: 1em 1em 0 0;
  padding: 0;
}

.sns-list li {
  height: 46px;
  width: 46px;
  height: 28px;
  width: 28px;
  @media ( width >= 600px) {
    height: 28px;
    width: 28px;
  }
}

/* Header
----------------------------------------------------------------- */
.header {
  margin: 0 auto;
  /* position: fixed; */
  width: 100%;
}
.header-inner {
  padding: ;
}
.header-main {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr repeat(3, 57px);
  /* grid-template-rows: auto 1fr;
  grid-auto-columns: 1fr; */
  gap: 0 1px;
  grid-auto-flow: column;
  grid-template-areas:
    "headerMain-logo  headerMain-tel headerMain-shopping headerMain-menu";
  margin: 0 auto;
  max-width: 1920px;
  width: 100%;
  @media ( width >= 768px) {
    grid-template-columns: minmax(16%, 206px) 1fr minmax(12%, 255px) minmax(12%, 170px);
    grid-template-rows: auto 1fr;
    gap: 0 0;
    grid-template-areas:
      /* "headerMain-logo headerMain-sns headerMain-shopping"
      "headerMain-logo globalNavigation headerMain-shopping"; */

      "headerMain-logo headerMain-sns headerMain-tel headerMain-shopping"
      "globalNavigation globalNavigation globalNavigation globalNavigation";
  }
}
.headerMain-logo { grid-area: headerMain-logo; }
.globalNavigation { grid-area: globalNavigation; }
.headerMain-tel { grid-area: headerMain-tel; }
.headerMain-shopping { grid-area: headerMain-shopping; }
.headerMain-menu { grid-area: headerMain-menu; }
.headerMain-sns { grid-area: headerMain-sns; }

.headerMain-logo {
  margin: 0;
  /* padding: 10px 0 0 10px; */
  padding: 5px 0 0 10px;
  @media ( width >= 768px) {
    padding: 1em 1em 0 1em;
  }
}
.headerMain-logo img {
  /* width: 140px; */
  width: 120px;
  @media ( width >= 600px) {
  }
  @media ( width >= 767px) {
    width: auto;
  }
}


/* globalNavigation */
.globalNavigation {
}
.global-nav {
  display: flex;
  justify-content: center;
  align-content: flex-end;
  /* margin: 16px auto 0; */
  width: 100%;
  /* max-width: 460px;
  @media ( width >= 768px) {
    margin: 0 auto;
    width: 100%;
    max-width: none;
  }
  @media ( width >= 768px) {
    min-width: 540px;
  }
  @media ( width >= 1240px) {
    margin: 0 0 0 auto;
    max-width: 60%;
  }
  @media ( width >= 1580px) {
    max-width: none;
    width: 100%;
  } */
}
.globalNav-list {
  display: flex;
  column-gap: .5em;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 11px;
  list-style-type: none;
  margin: 0;
  padding: 0 calc(4.4% - .25em);
  @media ( width >= 768px) {
    column-gap: 1.5em;
    /* justify-content: flex-end; */
    justify-content: center;
    font-size: 16px;
    margin: calc(1.3em - .5em) auto 0 auto;
    padding: 0;
  }
}
.globalNav-list a {
  color: #000;
  display: inline-block;
  font-weight: bold;
  padding: .25em .5em;
  position: relative;
  @media ( width >= 768px) {
    padding: .4em .5em;
  }
}
.globalNav-list a::after {
  background: #0E7EE2;
  content: "";
  display: block;
  height: 1px;
  width: calc(100% - 1em);
  position: absolute;
  bottom: 0;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: .2s;
}
.globalNav-list a:hover::after {
  transform: scale(1, 1);
}
/* tel */
.headerMain-tel a {
  background-color: #000000;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
  justify-content: center;
  align-content: center;
  padding: 10px;
  height: 55px;
  width: 57px;
  @media ( width >= 768px) {
    height: 80px;
    width: 100%;
    }
}
.headerMain-tel a::after {
  background-image: url(../images/original/headerTel_icon.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 32px;
  width: 32px;
  margin: 0 auto;
}
@media ( width >= 768px) {
  .headerMain-tel a::after {
    background-image: url(../images/original/headerTel.png);
    height: 100%;
    width: 100%;
  }
}


/* shopping */
.headerMain-shopping a {
  background-color: #E60012;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
  justify-content: center;
  align-content: center;
  height: 55px;
  width: 57px;
  @media ( width >= 768px) {
    height: 80px;
    width: 100%;
    }
}
.headerMain-shopping a::after {
  background-image: url(../images/common/cart_icon.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 22px;
  width: 22px;
  margin: 0 auto;
}
@media ( width >= 768px) {
  .headerMain-shopping a::after {
    background-image: url(../images/common/onlinshop_icon.png);
    /* height: 38px;
    width: 136px; */
    height: 28px;
    width: 101px;
  }
}

.headerMain-shopping span {
  @media ( width >= 768px) {
    display: none;
  }
}

.headerMain-sns {
  display: none;
  @media ( width >= 768px) {
    display: flex;
  }
}
.headerMain-menu {
  @media ( width >= 768px) {
    display: none;
  }
}

/* Footer
----------------------------------------------------------------- */
.footer-inner {
  display: grid; 
  grid-auto-flow: column; 
  grid-auto-columns: 1fr; 
  grid-template-columns: repeat(2, 50%); 
  grid-template-rows: repeat(2, auto) 1fr; 
  gap: 1em 0%; 
  grid-template-areas: 
    "footer-logo footer-nav"
    "footer-logo footer-shopping"
    "footer-subnav footer-subnav"; 
  margin: 0 auto;
  padding: 0 5%;
  width: 100%;
  max-width: var(--narr-width);
  @media ( width >= 950px) {
    grid-template-columns: 40% 1fr minmax(20%, 220px);
    grid-template-rows: repeat(2, auto);
    gap: 1.4em 0;
    grid-auto-flow: column;
    grid-template-areas:
      "footer-logo footer-nav footer-nav"
      "footer-logo footer-subnav footer-shopping";
  }
  @media ( width >= 1080px) {
    /* grid-template-columns: 50% 30% 20%; */
    grid-template-columns: 40% 40% 20%;
    padding: 0;
  }
}
.footer-logo { grid-area: footer-logo; }
.footer-shopping { grid-area: footer-shopping; }
.footer-subnav { grid-area: footer-subnav; }
.footer-nav { grid-area: footer-nav; }

.footer-logo {
  padding-right: 10px;
}
.footer-logo img {
  width: 274px;
  @media ( width >= 950px) {
    width: 305px;
  }
}
.footerNav-list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: .5em 1em;
  font-size: 12px;
  @media ( width >= 768px) {
    flex-direction: row;
    font-size: 16px;
  }
  /* @media ( width >= 950px) {
    justify-content: space-between;
  } */
}
.footerNav-list a {
  color: #000;
  font-weight: bold;
  padding: .25em;
  position: relative;
  transition: none;
}
.footerNav-list a::after {
  background: #0E7EE2;
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: 0;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .2s;
}
.footerNav-list a:hover::after {
  transform: scale(1, 1);
}

.footer-shopping {
}
.footer-shopping a {
  background-color: #E60012;
  display: flex;
  justify-content: center;
  align-content: center;
  height: auto;
  width: 100%;
  max-width: 154px;
  padding: 1.3em;
  transition: none;
  @media ( width >= 950px) {
    height: 100px;
    max-width: 220px;
    padding: 2em;
  }
}
.footer-shopping a:hover {
  transition: none;
}
.footer-shopping a:hover img {
  opacity: 1;
}

.footer-subnav {
  /* 202509 add start */
  display: flex;
  justify-content: flex-end;
  /* 202509 add end */
}
.subnav-list {
  display: flex;
  justify-content: center;
  gap: 1em;
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  @media ( width >= 950px) {
    justify-content: flex-end;
    margin: 0 1em 0 auto;
  }
}
.subnav-list a {
  color: #000;
  display: inline-block;
  font-size: 12px;
  padding: .25em;
  transition: none;
  @media ( width >= 950px) {
    font-size: 14px;
  }
}
.footerSub-sns {
  justify-content: center;
  position: relative;
  z-index: 1;
  /* 202509 add start */
  margin-top: auto;
  /* 202509 add end */
  @media ( width >= 950px) {
    justify-content: flex-end;
  }

  
}



.copyright {
  background-color: #0E7EE2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-content: flex-end;
  position: relative;
}
.copyright::before {
  aspect-ratio: 1920/121;
  background: url(../images/common/footer_bg.png) repeat-x center top/cover;
  content: "";
  display: block;
  margin-top: -1px;
  width: 100%;
}
.copyright-txt {
  color: #fff;
  line-height: 1;
  margin: auto auto 1.4em;
  padding: 1em .5em;
  text-align: center;
  max-width: var(--narr-width);
  width: 100%;
  @media ( width >= 950px) {
    padding: 2em .5em;
    text-align: right;
  }
}
.copyright-txt small {
  font-size: 10px;
  @media ( width >= 950px) {
    font-size: 14px;
  }
}

.p-gotop {
  display: none;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 10;
}
.p-gotop span {
  display: none;
}
.p-gotop a {
  background: #000;
  border-bottom: none;
  display: block;
  position: relative;
  height: 60px;
  width: 60px;
}
.p-gotop a:after {
  color: #fff;
  content: "▲";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

@media ( width >= 600px) {
  .p-gotop {
    display: block;
  }
}


/* Main
----------------------------------------------------------------- */
.main {
  min-height: 500px;
}



/* index
----------------------------------------------------------------- */
.index-section {
  padding: 0 4.4%;
  @media ( width >= 950px) {
    padding: 10px;
  }
  @media ( width >= 1080px) {
    padding: 0 1em;
  }
}
.indexSection-head {
  text-align: center;
}

/* MV */
.index-mv {
  padding: 0 4.4%;
  @media ( width >= 950px) {
    padding: 0;
  }
}

.indexMv-inner {
  aspect-ratio: 684 / 500;
  background: url(../images/index/mv_bg-sp.jpg) no-repeat center center/cover;
  margin: 0 auto;
  max-width: 1800px;
  @media ( width >= 1080px) {
    aspect-ratio: 1800 / 548;
    background-image: url(../images/index/mv_bg.jpg);

  }
}
.indexMv-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  margin-left: 8.8%;
  @media ( width >= 1080px) {
    flex-direction: column-reverse;
  }
}
.indexMv-src {
  margin-top: 3em;
  min-width: 225px;
  max-width: 445px;
  width: 65%;
  @media ( width >= 1080px) {
    margin-top: 0;
    max-width: 600px;
    width: 36.6%;
  }
}
.indexMv-txt {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 21px;
  font-size: clamp(21px, calc(1.25vw + 21px), 3.2rem);
  font-size: 5vw;
  font-weight: bold;
  line-height: 1.5;
  word-break: keep-all;
  max-width: 6em;
  max-width: 42%;
  @media ( width >= 1080px) {
    font-size: 34px;
    font-size: clamp(21px, calc(1.25vw + 24px), 34px);
    /* font-size: 1.6vw; */
    max-width: 100%;
  }
}

/* Slide */
.indexBanner-inner {
  box-sizing: content-box;
  margin: 0 auto;
  position: relative;
  max-width: 1690px;
  width: 100%;
}
.indexBanner-slide {
  overflow: visible;
  @media ( width >= 950px) {
    /* padding: 0 3.2rem; */
  }
}
.indexBanner-slide .swiper-slide {
  max-width: 240px;
  width: 100%;
  @media ( width >= 768px) {
    max-width: 360px;
  }
  @media ( width >= 950px) {
    max-width: 480px;
  }
}

/* swiper */
[class*=swiper]:focus {
  outline: none;
}
.swiper-button-prev,
.swiper-button-next {
  display: grid;
  place-content: center;
  width: 50px;
  height: 50px;
  cursor: pointer;
  transition: .2s;
  @media ( width >= 950px) {
    width: 100px;
    height: 100px;
  }
}
.swiper-button-prev::before,
.swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  width: .25em;
  height: .25em;
  content: "";
  border: solid #fff;
  border-width: 4px 4px 0 0;
  @media ( width >= 950px) {
    width: .5em;
    height: .5em;
  }
}
.swiper-button-prev::after {
  margin-left: 0.4rem;
  transform: rotate(-135deg);
}
.swiper-button-next::after {
  margin-right: 0.4rem;
  transform: rotate(45deg);
}
.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}

.index-banner {
  margin-top: 1em;
  overflow: hidden;
  @media ( width >= 950px) {
    margin-top: 1.25em;
  }
}
.index-banner .swiper {
  overflow: visible;
}
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.swiper-button-prev::before,
.swiper-button-next::before {
  background-color: rgba(5, 5, 5, 0.6);
}
.swiper-button-prev::after,
.swiper-button-next::after {
  border-color: #fff;
}
.swiper-button-prev {
  left: calc(0 - 10px)
}
.swiper-button-next {
  right: calc(0 - 10px);
}
.slide {
  overflow: hidden;
  transition: opacity 1s;
  border-radius: 4px;
}
.swiper-slide:not(.swiper-slide-visible) .slide {
  pointer-events: none;
  opacity: 0.3;
}


/* News */
.index-news {
}
.indexNews-inner {
  background-color: #fff;
  color: #000;
  margin: 0 auto;
  padding: 2.5em 0;
  position: relative;
  max-width: 1080px;
  width: 100%;
  @media ( width >= 950px) {
    display: grid;
    grid-template-columns: minmax(24%, 260px) 1fr;
    grid-template-rows: auto;
    grid-auto-columns: 1fr;
    gap: 0% 0%;
    grid-auto-flow: column;
    grid-template-areas:
      "indexNews-head indexNews-body";
    padding: 5em 0;
  }
}
.indexNews-head { grid-area: indexNews-head; }
.indexNews-body { grid-area: indexNews-body; }

.indexNews-head {
  display: grid;
  grid-template-columns: minmax(24%, 240px) 1fr;
  grid-template-rows: auto 1fr;
  grid-auto-columns: 1fr;
  gap: 0% 0%;
  grid-auto-flow: column;
  grid-template-areas:
    "indexNews-subtitle indexNews-link"
    "indexNews-title indexNews-link";
  align-items: end;
  @media ( width >= 950px) {
    display: block;
  }
}
.index-news .indexSection-subtitle { grid-area: indexNews-subtitle; }
.index-news .indexSection-title { grid-area: indexNews-title; }
.indexNews-link { grid-area: indexNews-link; }

.indexNews-head {
  text-align: left;
}
.indexNews-title {
  font-size: calc(22.4px / 2);
  line-height: 1;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.index-news .indexSection-subtitle::after {
  content: none;
}
.indexNews-link {
  text-align: right;
  @media ( width >= 950px) {
    margin-top: 2em;
    text-align: left;
  }
}
.indexNews-link a {
  color: #000;
  font-size: calc(22.4px / 2);
  font-size: 14px;
  min-width: 200px;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.indexNews-link span::after {
  right: auto;
  left: 1.1em;
}


/* tab */
.indexNews-tab {
  margin-top: 1em;
  @media ( width >= 950px) {
    margin-top: 0;
  }
}
.indexNewsTab-menu {
  display: flex;
  gap: .25em;
  align-items: flex-end;
  list-style-type: none;
  margin: 0;
  padding: 0;
  @media ( width >= 950px) {
    gap: 1em;
  }
}
.indexNewsTab-item {
  cursor: pointer;
  font-size: calc(22.4px / 2);
  font-weight: bold;
  padding: .25em .5em .5em;
  position: relative;
  transition: all .2s;
  @media ( width >= 950px) {
    font-size: 16px;
    padding: .25em 1em;
  }
}
.indexNewsTab-item.is-active {
  color: #0E7EE2
}
.indexNewsTab-item.is-active::after {
  background-color: #0E7EE2;
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  @media ( width >= 950px) {
    height: 4px;
  }
}
.indexNewsTab-panel {
  width: 100%;
}
.indexNewsTab-content {
  border-top: 1px solid #E0E0E0;
  display: none;
  opacity: 0;
  transition: .2s;
}
.indexNewsTab-content.is-show {
  display: block;
  opacity: 1;
}

.indexNewsTabContent-item {
  border-bottom: 1px solid #E0E0E0;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  grid-auto-columns: 1fr;
  gap: 0 1em;
  grid-auto-flow: column;
  grid-template-areas:
    "tabContent-date tabContent-category"
    "tabContent-title tabContent-title";
  justify-content: start;
  padding: .5em 0;
  @media ( width >= 950px) {
    display: flex;
    gap: 1.3em;
    padding: 1.1em 0;
  }
}
.tabContent-date { grid-area: tabContent-date; }
.tabContent-category { grid-area: tabContent-category; }
.tabContent-title { grid-area: tabContent-title; }


.tabContent-date {
  font-size: 14px;
  font-weight: bolder;
  margin: .15em 0 0;
  white-space: nowrap;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.tabContent-category {
  font-size: 12px;
  margin: .2em auto 0 0;
  text-align: center;
  white-space: nowrap;
  @media ( width >= 950px) {
    font-size: 14px;
    margin: .2em 0 0;
  }
}
.tabContent-category span {
  color: #fff;
  display: inline-block;
  line-height: 1;
  padding: .3em .5em;
  min-width: 7.5em;
}
.cat-derby_i {
  background-color: #6748BC;
}
.cat-sale_i {
  background-color: #CC4D4D;
}
.cat-event_i {
  background-color: #47AFFC;
}
.cat-fishing_i {
  background-color: #33B155;
}



.tabContent-title {

}
.tabContent-title a {
  color: #000;
  font-size: 16px;
  font-weight: normal;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.tabContent-title a:hover {
  color: #0E7EE2;
}



/* Report */
.index-report {
  background: url(../images/index/bg01.jpg) no-repeat center top/cover;
  position: relative;
  padding-top: calc(1920% / 139);
  padding-bottom: calc(1920% / 141);
  @media ( width >= 950px) {
    padding-top: calc(139px + 2em);
    padding-bottom: calc(141px + 3em);
  }
}
.index-report::before,
.index-report::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
}
.index-report::before {
  aspect-ratio: 1920/139;
  background: url(../images/index/bg01-before.png) no-repeat center top/cover;
  top: -1px;
}
.index-report::after {
  aspect-ratio: 1920/141;
  background: url(../images/index/bg01-after.png) no-repeat center bottom/cover;
  bottom: -1px;
}
@media ( width >= 1280px) {
  .index-report::before,
  .index-report::after {
    aspect-ratio: auto;
    background-size: 100% 100%;
  }
}
@media ( width >= 1280px) {
  .index-report::before {
    height: 139px;
  }
}
@media ( width >= 1280px) {
  .index-report::after {
    height: 141px;
  }
}
.indexReport-inner {
  background-color: #fff;
  color: #000;
  margin: 0 auto;
  padding: 3em 1em;
  position: relative;
  max-width: 1080px;
  width: 100%;
}
.indexReport-list {
  display: flex;
  gap: 2em;
  flex-direction: column;
  margin: 1em auto;
  max-width: 1000px;
  @media ( width >= 950px) {
    /* gap: 0;
    flex-direction: row;
    justify-content: space-between; */
    display: grid;
    gap: 0 2.3%;
    grid-template-columns: repeat(auto-fit, minmax(31.8%, 1fr));
    /* grid-template-rows: repeat(2, auto) 1fr; */
    /* height: 100%; */
  }
}
.indexReport-item {
  background-color: #fff;
  border: 1px solid #d5d6d7;
  filter:drop-shadow(6px 6px 0 rgba(213, 214, 215, 1));
  @media ( width >= 950px) {
    /* width: 31%; */
    max-width: 310px;
  }
}
.indexReport-item a {
  color: #000;
  display: flex;
  flex-direction: column;
}

.indexReportItem-title {
  font-size: 15px;
  line-height: 1.5;
  padding: 1em 8.5% 0;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.indexReportItem-thumb {
  aspect-ratio: 310/240;
  background-position: center center;
  background-size: cover;
  background-color: #f1f8ff;
  object-position: center;
  text-align: center;
  order: -1;
}
.indexReportItem-thumb img {
  /* width: 100%; */
  opacity: 0;
  visibility: hidden;
  height: 100%;
}
.indexReportItem-content {
  font-size: 14px;
  margin: .5em 0 0;
  padding: 0 8.5%;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.indexReportItem-date {
  color: #999;
  font-size: 13px;
  padding: 0 8.5%;
  position: relative;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.indexReportItem-date::after {
  background: url(../images/common/icon_list-blue.png) no-repeat left center/contain;
  content: "";
  display: block;
  height: 16px;
  width: 16px;
  position: absolute;
  right: 9.5%;
  top: 50%;
  transform: translateY(-50%);
}
.indexReportItem-date.is-new::before{
  color: #E0142D;
  content: "NEW!";
  font-style: italic;
  margin-right: 0.25em;
}
@media ( width >= 950px) {
  .indexReportItem-date::after {
    height: 22px;
    width: 22px;
  }
}


.indexReport-body .indexSection-link {
  margin-top: 2em;
}


/* Other */
.indexOther-inner {
  background-color: #E9EFF4;
  color: #000;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  padding: 3em 1em;
  position: relative;
  max-width: 1080px;
  width: 100%;
  @media ( width >= 950px) {
    display: grid;
    grid-template-columns: minmax(52%, 560px) 1fr;
    grid-template-columns: minmax(52%, 560px) 48%;
    grid-template-rows: auto 1fr;
    grid-auto-columns: 1fr;
    gap: 0;
    grid-auto-flow: column;
    grid-template-areas:
      "indexOther-head otherAfter"
      "indexOther-body otherAfter";
  }
}
.indexOther-inner.indexFishing-inner {
  @media ( width >= 950px) {
    grid-template-columns: 1fr minmax(52%, 560px);
    grid-template-columns: 48% minmax(52%, 560px);
    grid-template-areas:
      "otherAfter indexOther-head"
      "otherAfter indexOther-body";
  }
}
.indexOther-head { grid-area: indexOther-head; }
.indexOther-body { grid-area: indexOther-body; }
.indexOther-inner::after { grid-area: otherAfter; }

.indexOther-section {
  margin-top: 4em;
  @media ( width >= 950px) {
    /* margin-top: 0; */
  }
}
.indexOther-inner::after {
  aspect-ratio: 611/468;
  background-color: #f1f8ff;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  content: "";
  display: block;
  margin-top: -5em;
  order: -1;
  filter: drop-shadow(10px 10px 4px rgba(167, 169, 170, 0.75));
}
@media ( width >= 950px) {
  .indexOther-inner::after {
    width: 90%;
    max-width: 470px;
  }
}
@media ( width >= 950px) {
  .indexOther-inner.indexFishing-inner::after {
    margin: -5em 0 0 auto;
  }
}
.indexOther-head {
  margin-top: 2em;
  @media ( width >= 950px) {
    margin-top: 0;
  }
}
.indexOther-body {
  @media ( width >= 950px) {
    padding: 0 4em;
  }
}
.indexOther-content {
  font-size: 14px;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}

.indexOther-link {
}
.indexOther-link a {
  @media ( width >= 950px) {
    min-width: 320px;
  }
}
.indexOther-link span {
  padding: .75em 3em;
}
/* Sale */
.indexSale-inner::after {
  background-image: url(../images/index/bnr_sale.png);
}
/* Fishing */
.indexFishing-inner::after {
  background-image: url(../images/index/bnr_fishing.png);
}
/* Derby */
.indexDerby-inner::after {
  background-image: url(../images/index/bnr_derby.png);
}


/* shop boat */
.index-shop-boat {
  background-color: #0E7EE2;
  position: relative;
  margin-top: 3em;
  padding-bottom: 2.5em;
  @media ( width >= 950px) {
    margin-top: 6em;
    padding-bottom: 5em;
  }
}
.index-shop-boat::before {
  aspect-ratio: 751/896;
  background: url(../images/index/bg2.jpg) no-repeat center center;
  background-size: auto 100%;
  content: "";
  display: block;
}
@media ( width >= 950px) {
  .index-shop-boat::before {
    aspect-ratio: 1977/738;
    background-size: cover;
  }
}
@media ( width >= 1920px) {
  .index-shop-boat::before {
    aspect-ratio: auto;
    height: 738px;
  }
}
.index-shop-boat::after {
  aspect-ratio: 1920/90;
  background: url(../images/index/bg2-before.png) no-repeat center top;
  background-size: cover;
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  /* padding-top: calc(192000px / 90); */
  width: 100%;
}

/* Shop */
.index-shop {
  padding-top: 2.5em;
  position: relative;
  @media ( width >= 950px) {
    padding-top: 4em;
  }
}
.index-shop::before {
  aspect-ratio: 1920/138;
  background: url(../images/index/bg2-after.png) no-repeat center top;
  background-size: auto 100%;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: calc(100% - 1px);
  width: 100%;
}
.indexShop-inner {
  background-color: #fff;
  color: #000;
  margin: 0 auto;
  padding: 3em 1em;
  position: relative;
  max-width: 1080px;
  width: 100%;
}
.indexShop-body {
  text-align: center;
}
.indexShop-content {
  font-size: 14px;
  margin: .5em 0;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.indexShop-icon {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.indexShop-icon li {
  padding: .5em 1em;
  width: 50%;
  @media ( width >= 950px) {
    width: 25%;
  }
}
.indexShop-icon li a {
  background-color: #E9EFF4;
  border: 2px solid #000;
  display: block;
  text-align: center;
}
.indexShop-icon li a:hover {
  background-color: #c4daf5;
}
.indexShop-icon li a img:hover {
  opacity: 1;
}

.indexShop-link {
  margin-top: 1em;
}


/* Boat */
.index-boat {
  margin-top: 1.5em;
}
.indexBoat-inner {
  background-color: #15bbfc;
  color: #000;
  margin: 0 auto;
  position: relative;
  max-width: 1080px;
  width: 100%;
  @media ( width >= 950px) {
    display: grid;
    grid-template-columns: 1fr 55%;
    grid-template-rows: auto 1fr;
    grid-auto-columns: 1fr;
    gap: 0;
    grid-auto-flow: column;
    grid-template-areas:
      "indexBoat-head after"
      "indexBoat-body after";
  }
}
.indexBoat-head { grid-area: indexBoat-head; }
.indexBoat-body { grid-area: indexBoat-body; }
.indexBoat-inner::after { grid-area: after; }

.indexBoat-inner::after {
  aspect-ratio: 688/351;
  background-color: red;
  background: url(../images/index/boat_bg.jpg) no-repeat center bottom/cover;
  clip-path: polygon(0 28%, 100% 0%, 100% 100%, 0% 100%);
  content: "";
  display: block;
  margin-top: -2em;
}
@media ( width >= 950px) {
  .indexBoat-inner::after {
    aspect-ratio: 597/300;
    clip-path: polygon(30% 0, 100% 0%, 100% 100%, 0% 100%);
    height: 100%;
    margin-top: 0;
    position: absolute;
    width: 100%;
  }
}

.indexBoat-head {
  padding: 1.5em 1.5em 0;
  text-align: left;
}
.index-boat .indexSection-title {
  color: #fff;
  font-size: calc(53.4px / 2);
  line-height: 1.1;
  margin: 0;
  @media ( width >= 950px) {
    font-size: 30px;
  }
}
.index-boat .indexSection-title strong {
  display: block;
  font-size: calc(89px / 2);
  margin: 0;
  @media ( width >= 950px) {
    font-size: 50px;
  }
}
.index-boat .indexSection-subtitle {
  font-size: calc(22.4px / 2);
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.index-boat .indexSection-subtitle::after {
  content: none;
}

.indexBoat-body {
  padding: 0 1.5em;
  position: relative;
  z-index: 1;
  @media ( width >= 950px) {
    padding-bottom: 1em;
  }
}
.indexBoat-content {
  font-size: 14px;
  line-height: 1.5;
  margin: .5em 0;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.indexBoat-link {
  text-align: left;
}
.indexBoat-link a {
}

/* Recruit */
.index-recruit {
  margin-top: 2.5em;
  @media ( width >= 950px) {
    margin-top: 5em;
  }
}
.indexRecruit-inner {
  background-color: #FFDD00;
  margin: 0 auto;
  max-width: 1080px;
  width: 100%;
  @media ( width >= 950px) {
    display: flex;
    flex-grow: 1;
    height: 255px;
  }
}
.indexRecruit-inner {
}
.indexRecruit-head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  padding: 2em 0;
  @media ( width >= 950px) {
    padding: 0;
    width: 35.7%;
    max-width: 386px;
  }
}
.indexRecruit-body {
  background: url(../images/index/recruit_bg.png) no-repeat;
  background-position: center top;
  background-size: auto 100%;
  background-size: cover;
  padding: 1em .25em 2em;
  position: relative;
  @media ( width >= 950px) {
    background-size: 73% auto;
    background-position: right bottom;
    padding: 0 .25em 2em 0;
    width: 64.3%;
    max-width: 694px;
  }
}
.index-recruit .indexSection-title {
  font-size: 42px;
  line-height: 1.5;
  margin: 0;
  @media ( width >= 950px) {
    font-size: 60px;
  }
}
.index-recruit .indexSection-subtitle {
  font-size: calc(25.2px / 2);
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.index-recruit .indexSection-subtitle::after {
  content: none;
}

.indexRecruit-content {
  margin: auto 0 0 1em;
  position: relative;
  width: 45%;
  @media ( width >= 950px) {
    margin: -5px 0 0;
  }
}



/* Inforamtion */

.index-information {
  background-color: #EAF4F9;
  margin-top: 3em;
  @media ( width >= 950px) {
    margin-top: 6em;
  }
}
.indexInformation-inner {
  padding: 2em 0;
  @media ( width >= 950px) {
    padding-top: 5em;
  }
}
  .indexInformation .indexSection-title {
  margin-top: 1em;
}
.indexInformation-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  list-style-type: none;
  margin: 1.5em 0 0;
  padding: 0;
  gap: 1.5em;
  @media ( width >= 950px) {
    flex-direction: row;
    gap: 32px;
    margin-top: 3em;
  }
}
.indexInformation-list li {
  background: #fff;
  position: relative;
  @media ( width >= 950px) {
    width: 340px
  }
}
.indexInformation-list li::before {
  background: repeating-linear-gradient(135deg, #000, #000 2px, #EAF4F9 2px, #EAF4F9 5px);
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  left: 3px;
  top: 3px;
}
.indexInformation-list li a {
  background: #fff;
  display: block;
  height: 100%;
  width: 100%;
  position: relative;
  z-index: 5;
}
.indexInformation-list li a:hover {
  color: #fff;
}
.indexInformation-list li a::before {
  aspect-ratio: 600/324;
  background-size: cover;
  content: "";
  display: block;
}
.fishing-area a::before {
  background-image: url(../images/index/information_thumb001.jpg);
}
.fishing-boat a::before {
  background-image: url(../images/index/information_thumb002.jpg);
}
.fishing-movie a::before {
  background-image: url(../images/index/information_thumb003.jpg);
}
.indexInformation-list a {
  color: #000;
  font-weight: bold;
  text-align: center;
  overflow: hidden;
  position: relative;
  @media ( width >= 950px) {
    font-size: 22px;
  }
}
.indexInformation-list a::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: var(--subColor);
  transform-origin: 50% 0;
  transform: scaleY(0);
  transition: transform ease .3s;
}
.indexInformation-list a:hover::after {
  transform-origin: 50% 100%;
  transform: scaleY(1);
}
.indexInformation-list a span {
  display: inline-block;
  justify-content: center;
  align-items: center;
  padding: 1em;
  padding-left: calc(1em + .5em);
  position: relative;
  text-align: center;
}
.indexInformation-list a span::before {
  background: url(../images/common/icon_list-blue.png) no-repeat left center/contain;
  content: "";
  display: block;
  height: 16px;
  width: 16px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media ( width >= 950px) {
  .indexInformation-list a span::before {
    height: 22px;
    width: 22px;
  }
}
.fishing-area {}


/* ==========
 main
========== */
/* page-bodyとかをsectionに変更したい */
.main-head {
  margin-top: 3em;
  text-align: center;
  @media ( width >= 950px) {
    margin-top: 5em;
  }
}
.main-title {
}
.main-subtitle {
}
.main-body {
  margin-top: 1.5em;
  /* padding: 2em 4.4%; */
  @media ( width >= 950px) {
    margin-top: 2.5em;
    /* padding: 4em 1em 5em; */
  }
}
.breadcrumb {
  color: #000;
  font-size: 14px;
  display: none;
  margin: 0 auto .5em;
  padding: 0 4.4%;
  @media ( width >= 950px) {
    display: block;
    padding: 0 1em;
  }
}
.breadcrumb a {
  color: #000;
}
.breadcrumb ol {
  display: flex;
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  max-width: 1080px;
  @media ( width >= 950px) {
  }
}
.breadcrumb li:not(:first-child)::before {
  content: ">";
  margin: 0 .25em;
}
.section-content {
  background-color: #fff;
  margin: 0 auto;
  padding: 1.5em 2.7%;
  padding: 1.5em 0;
  @media ( width >= 950px) {
    padding: 2.5em 40px 3em;
    padding: 2.5em 0 3em;
  }
}
.archive-content .section-content,
.single-content .section-content {
  max-width: 1080px;
}

/* ==========
 Page
========== */
.page-content {
  background-color: #fff;
  margin: 0 auto;
  padding: 1.5em 2.7%;
  padding: 1em 0;
  /* max-width: 1080px; */
  @media ( width >= 950px) {
    padding: 2.5em 40px 3em;
    padding: 1em 0 3em;
  }
}

.page-head {
  /* margin-top: 3em; */
  text-align: center;
  @media ( width >= 950px) {
    /* margin-top: 5em; */
  }
}
.page-title {
}
.page-subtitle {
}
.page-body {
  /* background-color: #E9EFF4;
  margin-top: 1.5em;
  padding: 2em 4.4%;
  @media ( width >= 950px) {
    margin-top: 2.5em;
    padding: 4em 1em 5em;
  } */
}
 .page-content {
/*
  background-color: #fff;
  margin: 0 auto;
  padding: 1.5em 2.7%;
  padding: 1em 0;
  /* max-width: 1080px; */
  @media ( width >= 950px) {
    /* padding: 2.5em 40px 3em;
    padding: 1em 0 3em; */
  } */
}




.page-description {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-weight: bold;
  font-size: calc(28px / 2);
  line-height: 1.45;
  margin: 0;
  text-align: center;
  word-break: keep-all;
  @media ( width >= 950px) {
    font-size: 20px;
  }
}

.page-wrapper {
  margin: 0 auto;
  padding: 2em 4.4%;
  @media ( width >= 950px) {
    padding: 3em 1em 5em;
  }
}
.page-inner {
  margin: 0 auto;
  max-width: 1080px;
}
.page-mv {
}
.pageMv-inner {
  padding: 0;
  @media ( width >= 950px) {
    padding: 0;
  }
}
.page-body {
}

/* ==========
 Page Shop
========== */
/* .shop-intro {
}
.shopIntro-inner {
  @media ( width >= 950px) {
    display: flex;
    justify-content: space-between;
  }
}
.shopIntro-txt {
  max-width: 540px;
}
.shopIntro-txt dt {
  font-size: calc(38px / 2);
  font-weight: bold;
  @media ( width >= 950px) {
    font-size: 28px;
  }
}
.shopIntro-txt dt span {
  font-size: calc(32px / 2);
  @media ( width >= 950px) {
    font-size: 24px;
  }
}
.shopIntro-table {
}
.shopIntro-table dl {
  display: flex;
}
.shopIntro-table dt,
.shopIntro-table dd {
  font-size: calc(26px / 2);
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.shopIntro-table dt {
  text-align: right;
  white-space: nowrap;
  width: 5.5em;
}
.shopIntro-table dt::after {
  content: "：";
}
.shopIntro-table dd {
  padding-left: .5em;
  width: calc(100% - 5.5em);
}
.shopIntro-table dd .icon-caution {
  font-size: calc(24px / 2);
  @media ( width >= 950px) {
   font-size: 16px;
  }
}
.shopIntro-address dd br {
  display: block;
  @media ( width >= 950px) {
    display: none;
  }
}
.shopIntro-card img:first-of-type {
  margin-bottom: .5em;
  width: 72.5%;
  max-width: 303px;
}
.shopIntro-card img:nth-of-type(2) {
  margin-bottom: .5em;
  width: 100%;
  max-width: 418px;
}
.shopIntro-card img:last-of-type {
  margin-bottom: 1em;
  max-width: 59px;
}
.shopIntro-map {
  width: 100%;
  @media ( width >= 950px) {
    max-width: 480px;
  }
}
.mapsrc {
  aspect-ratio: 680/765;
  position: relative;
  width: 100%;
}
.mapsrc iframe {
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.shop-nav {
  background-color: #E9EFF4;
}
.shopNav-list {
  display: flex;
  justify-content: center;
  gap: 5px;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.shopNav-list li {
  display: flex;
  max-width: 240px;
  width: 90%;
  @media ( width >= 950px) {
  width: 100%;
  }
}
.shopNav-list li:first-child a {
  margin: 0 0 0 auto;
}
.shopNav-list li:last-child a {
  margin: 0 auto 0 0;
}
.shopNav-list a {
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 2em;
  color: #000;
  display: flex;
  flex-grow: 1;
  align-items: center;
  filter: drop-shadow( 3px 5px 0 rgba(204, 204, 204, 1));
  font-size: calc(23px / 2);
  font-weight: bold;
  padding: .5em .7em .5em .5em;
  position: relative;
  white-space: nowrap;
  @media ( width >= 950px) {
    font-size: 20px;
    padding: .5em 1em .5em 2em;
  }
}
.shopNav-list a::after {
  width: 8px;
  height:8px;
  content: "";
  display: block;
  border: solid #000;
  border-width: 3px 3px 0 0;
  margin: 0 0 0 auto;
  transform: rotate(135deg);
  @media ( width >= 950px) {
    width: 24px;
    height: 24px;
  }
}

.shop-info {
  background-color: #E9EFF4;
  padding-right: 0;
  padding-left: 0;
}
.shop-info .page-inner {
  max-width: 100%;
}
.shopInfo-slide {
  margin-top: 3em;
}
.shopInfoSlide-title {
  background-color: #000;
  color: #fff;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 0.25em .5em;
  text-align: center;
  width: 10em;
}
.shopInfo-swiper {
  margin-top: 1.5em;
}
.shopInfoSlide-item.swiper-slide {
  width: 68%;
  max-width: calc(510px / 2);
  @media ( width >= 950px) {
    width: 26.5%;
    max-width: 510px;
  }
}
.shopInfoSlide-nav {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 1em;
}
.shopInfo-swiper .swiper-button-prev,
.shopInfo-swiper .swiper-button-next {
  display: grid;
  place-content: center;
  width: 24px;
  height: 24px;
  cursor: pointer;
  position: static;
  transition: .2s;
  @media ( width >= 950px) {
    width: 36px;
    height: 36px;
  }
}
.shopInfo-swiper .swiper-button-prev::before,
.shopInfo-swiper .swiper-button-next::before {
  content: none;
}
.shopInfo-swiper .swiper-button-prev::after,
.shopInfo-swiper .swiper-button-next::after {
  width: .25em;
  height: .25em;
  content: "";
  border: solid #000;
  border-width: 4px 4px 0 0;
  @media ( width >= 950px) {
    width: .5em;
    height: .5em;
  }
}
.shopInfo-swiper .swiper-button-prev::after {
  margin-left: 0.4rem;
  transform: rotate(-135deg);
}
.shopInfo-swiper .swiper-button-next::after {
  margin-right: 0.4rem;
  transform: rotate(45deg);
}


*/
.shop-staff {
  background-color: #E9EFF4;
}
.staff-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 3em 0 0;
  padding: 0;
}
.staff-list li {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  display: grid; 
  grid-auto-flow: column; 
  grid-auto-columns: 1fr; 
  grid-template-columns: 100%; 
  grid-template-rows: auto 1fr; 
  gap: 0% 3em; 
  grid-template-areas: 
    "staff-list-thumbs"
    "staff-name"; 
  width: 50%;
  @media ( width >= 950px) {
    width: calc(100% / 3);
  }
}
.staff-list li::before { grid-area: staff-list-thumbs; }
.staff-name { grid-area: staff-name; }

.staff-list li span {
  background-color: #000;
  color: #fff;
  display: block;
  padding: .3em 1em;
}
.staff-list li .staff-name {
  display: inline-block;
  font-size: calc(28px / 2);
  padding: 0 0 0 1em;
  @media ( width >= 950px) {
    font-size: 24px;
  }
}
.staff-list li::before {
  aspect-ratio: 360/400;
  content: "";
  display: block;
}
/*
.shop-service {
  background-color: #E9EFF4;
}
.shopService-section {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: repeat(2, auto) 1fr;
  grid-auto-columns: 1fr;
  gap: 0% 3em;
  grid-auto-flow: column;
  grid-template-areas:
    "shopService-thumb"
    "shopService-title"
    "shopService-content";
  @media ( width >= 950px) {
    grid-template-columns: 420px 1fr;
    grid-template-rows: auto 1fr;
    gap: 0% 3em;
    grid-template-areas:
      "shopService-thumb shopService-title"
      "shopService-thumb shopService-content";
  }
  margin-top: 3em;
}
.shopService-title { grid-area: shopService-title; }
.shopService-content { grid-area: shopService-content; }
.shopService-section::after { grid-area: shopService-thumb; }

.shopService-title {
  font-size: calc(36.4px / 2);
  margin-top: 1em;
  @media ( width >= 950px) {
    font-size: 26px;
    margin-top: 0;
  }
}
.shopService-content {
  font-size: calc(26px / 2);
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.shopService-content p {
  margin: 1em 0;
}
.shopService-section::after {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  content: "";
  display: block;
}
.shopService-memberscard::after {
  aspect-ratio: 394 / 250;
  background-image: url(../images/contents/shop-service001.jpg);
}
.shopService-gift::after {
  aspect-ratio: 420 / 200;
  background-image: url(../images/contents/shop-service002.jpg);
}
.shopService-used::after {
  aspect-ratio: 420 / 300;
  background-image: url(../images/contents/shop-service003.jpg);
}
.members-card-msg {
  background-color: #fff;
}
.members-card-msg dt {
  padding: 1em 1em .5em;
  font-size: calc(26px / 2);
  font-weight: bold;
  @media ( width >= 950px) {
    font-size: 20px;
  }
}
.members-card-msg dd {
  padding: 0 1em 1em;
}
.members-card-list {
  list-style-type: none;
  margin: 0;
  padding: 0 0 0 1.5em;
  position: relative;
}
.members-card-list li::before {
  content: "★";
  position: absolute;
  left: 0;
} */
/* ==========
 Page About US
========== */
.about-list {
}
.about-description {
  font-size: 16px;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.about-item {
  margin: 2px 0 0;
  @media ( width >= 950px) {
    display: flex;
  }
}
.about-item dt,
.about-item dd {
  background-color: #F0F4F7;
  font-size: 16px;
  line-height: 1.6;
  padding: .5em;
  width: 100%;
  @media ( width >= 950px) {
    font-size: 18px;
    padding: 1.5em  2.5em;
  }
}
.about-item dt {
  font-weight: bold;
  @media ( width >= 950px) {
    width: 23%;
    max-width: 250px;
  }
}
.about-item dd {
  padding-top: 0;
  @media ( width >= 950px) {
    padding: 1.5em  2.5em;
    width: 77%;
  }
}
.about-item dd br {
  display: none;
    @media ( width >= 950px) {
      display: block;
    }
}
.recruit-inner{
  margin-top:5em;
}
.recruit-description {
  font-size: 13px;
  line-height: 1.3;
  padding: 0 1em;
  text-align: center;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.recruit-bt{
  background-color: #e60012;
  color: #fff;
  font-size: 24px;
  text-align: center;
  padding: 20px;
  width: 100%;
  margin: 0 auto;
  @media ( width >= 950px) {
    width: 500px;
  }
}
.recruit-bt a{
  color: #fff;
}
/* ==========
 Page SPOT
========== */
.spot-nav {
  background-color: #E9EFF4;
  @media ( width >= 950px) {
    padding-bottom: 3em;
  }
}
.spotNav-caption {
  font-size: calc(30px / 2);
  margin: 0;
  text-align: center;
  @media ( width >= 950px) {
    font-size: 24px;
  }
}
.spotNav-list {
  display: flex;
  justify-content: center;
  gap: 10px;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.spotNav-list li {
  display: flex;
  max-width: 270px;
  width: 90%;
  @media ( width >= 950px) {
  width: 100%;
  }
}
.spotNav-list li:first-child a {
  margin: 0 0 0 auto;
}
.spotNav-list li:last-child a {
  margin: 0 auto 0 0;
}
.spotNav-list a {
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 2em;
  color: #000;
  display: flex;
  flex-grow: 1;
  align-items: center;
  filter: drop-shadow( 3px 5px 0 rgba(204, 204, 204, 1));
  font-size: calc(24px / 2);
  font-weight: bold;
  line-height: 1.2;
  padding: .75em .7em .75em 1em;
  position: relative;
  word-break: keep-all;
  /* width: 100%; */
  @media ( width >= 950px) {
    font-size: 20px;
    padding: 1em 1em;
  }
}
.spotNav-list a::after {
  width: 8px;
  height:8px;
  content: "";
  display: block;
  border: solid #000;
  border-width: 3px 3px 0 0;
  margin: 0 0 0 auto;
  transform: rotate(135deg);
  @media ( width >= 950px) {
    width: 24px;
    height: 24px;
  }
}
.spotNav-list a br {
  @media ( width >= 950px) {
    display: none;
  }
}
.recom-spot .page-body {
  margin-top: 1.5em;
}
.recom-boat .page-body {
  margin-top: 1.5em;
}
.ticket-locations .page-body {
  margin-top: 1.5em;
}
.recom-spot,
.recom-boat,
.ticket-locations {
  padding: 2em 0;
  @media ( width >= 950px) {
    padding: 3em 1em 5em;
  }
}
.spot-map {
}
.spotMap-inner {
  aspect-ratio: 750 / 600;
  overflow: hidden;
  position: relative;
  max-width: 1080px;
  width: 100%;
  height: 300px;
  /*padding-top: 62.96%;*/
  @media ( width >= 950px) {
    aspect-ratio: 1080 / 680;
    height: 680px;
  }
}
.spotMap-inner iframe {
  /*position: absolute;
  left: 0;
  top: 0;
  height: calc(100% + 140px);
  margin-top: -68px;*/
  width: 100%;
  height: 300px;
  @media ( width >= 950px) {
    height: 680px;
  }
}
.spot-area {
  margin-top: 1.5em;
  padding: 0 4.4%;
  @media ( width >= 950px) {
    padding: 0;
  }
}
.spotArea-title {
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  padding: .25em;
  text-align: center;
  @media ( width >= 950px) {
    font-size: 20px;
  }
}
.spotArea-title br {
  @media ( width >= 950px) {
    display: none;
  }
}
.spotArea-list {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin: .75em 0 0;
  padding: 0 .75em;
  @media ( width >= 950px) {
  }
}
.spotArea-list li {
  font-size: 12px;
  line-height: 1.1;
  padding: .25em .25em .5em 1.3em;
  position: relative;
  width: calc(100% / 3);
  word-break: keep-all;
  @media ( width >= 950px) {
    font-size: 18px;
    width: calc(100% / 6);
  }
}
.spot-content .spot-area,
.area-content .spot-area {
  counter-reset: number 0;
}
.spotArea-list li:before {
  color: #fff;
  counter-increment: number 1;
  content: counter(number) "";
  position: absolute;
  left: 0;
  top: 0;
  text-align: center;
  width: 1.2em;
  height: 1.2em;
  z-index: 5;
  font-size: 12px;
  font-weight: bold;
}
@media ( width >= 950px) {
  .spotArea-list li:before {
    font-size: 15px;
    top: .2em;
    left: .15em;
  }
}
.spotArea-list li::after {
  border-radius: 50%;
  content: "";
  display: block;
  width: 1.2em;
  height: 1.2em;
  position: absolute;
  top: calc(.75em / 2);
  left: 0;
  top: 0em;
}
@media ( width >= 950px) {
  .spotArea-list li::after {
  }
}

.spotArea01 .spotArea-title,
.spotArea01 .spotArea-list li::after {
  background-color: #EA5251;
}
.spotArea02 .spotArea-title,
.spotArea02 .spotArea-list li::after {
  background-color: #E5AE35;
}
.spotArea03 .spotArea-title,
.spotArea03 .spotArea-list li::after {
  background-color: #1180C3;
}

.boatArea-caution {
  font-size: 13px;
  padding: 0 4.4%;
  @media ( width >= 950px) {
    font-size: 18px;
    text-align: center;
  }
}
.boatArea-caution span {
  display: block;
  padding-left: 1.25em;
  position: relative;
}
.boatArea-caution span::before {
  content: "※";
  position: absolute;
  left: 0;
}
@media ( width >= 950px) {
  .boatArea-caution span::before {
    content: "※";
    position: static;
  }
}
.boat-area {
  margin-top: 1.5em;
  padding: 0 4.4%;
  @media ( width >= 950px) {
    padding: 0;
  }
}
.boatArea-title {
  background-color: #0B6D38;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  padding: .25em;
  text-align: center;
  @media ( width >= 950px) {
    font-size: 20px;
  }
}

.boatArea-tablewrap {
}
.boatArea-tablewrap table {
  border-collapse: collapse;
  display: block;
  width: 100%;
  @media ( width >= 950px) {
    display: table;
  }
}
.boatArea-tablewrap thead,
.boatArea-tablewrap tbody {
  display: block;
  @media ( width >= 950px) {
    display: table-row-group;
  }
}
.boatArea-tablewrap thead {
  background-color: #E9EFF4;
}
.boatArea-tablewrap tbody {
}
.boatArea-tablewrap tr {
  border-bottom: 1px solid #ccc;
  display: flex;
  @media ( width >= 950px) {
    display: table-row;
  }
}
.boatArea-tablewrap tbody tr {
  display: grid;
  grid-template-columns: 29% 1fr 17%;
  grid-template-rows: auto 1fr;
  grid-auto-columns: 1fr;
  gap: 0;
  grid-auto-flow: column;
  grid-template-areas:
    "label-point label-boatname label-link"
    "label-point label-phone label-link";
  width: 100%;
  @media ( width >= 950px) {
    display: table-row;
  }
}
.label-point { grid-area: label-point; }
.label-boatname { grid-area: label-boatname; }
.label-phone { grid-area: label-phone; }
.label-link { grid-area: label-link; }

.boatArea-tablewrap th,
.boatArea-tablewrap td {
  display: block;
  padding: .75em .5em;
  @media ( width >= 950px) {
    display: table-cell;
  }
}
.boatArea-tablewrap th{
  text-align: center;
  font-size: 10px;
  padding: .25em .5em;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.boatArea-tablewrap td {
  font-size: 13px;
  line-height: 1.2;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}

.boatArea-tablewrap th.label-point {
  width: 29%;
  @media ( width >= 950px) {
    width: 32%;
  }
}
.boatArea-tablewrap th.label-boatname {
  width: 54%;
  @media ( width >= 950px) {
    width: 28%;
  }
}
.boatArea-tablewrap th.label-phone {
  display: none;
  @media ( width >= 950px) {
    display: table-cell;
    width: 22%;
  }
}
.boatArea-tablewrap th.label-link {
  width: 17%;
  @media ( width >= 950px) {
    width: 18%;
  }
}
.boatArea-tablewrap th span {
  display: none;
  @media ( width >= 950px) {
    display: inline;
  }
}
.boatArea-tablewrap th::after {
  content: attr(data-splabel);
}
@media ( width >= 950px) {
  .boatArea-tablewrap th::after {
    content: none;
  }
}
.recom-boat {
  counter-reset: trnumber 0;
}
.boatArea-tablewrap td {
  position: relative;
}
td.label-point {
  padding-left: 2em;
}
td.label-point span {
  word-break: keep-all;
}
td.label-point span::before {
  color: #fff;
  counter-increment: trnumber 1;
  content: counter(trnumber) "";
  position: absolute;
  left: .6em;
  top: .9em;
  text-align: center;
  width: 1.2em;
  height: 1.2em;
  z-index: 5;
  font-size: 12px;
  font-weight: bold;
}
@media ( width >= 950px) {
  td.label-point span::before {
    font-size: 15px;
    top: 1em;
    left: .7em;
  }
}
td.label-point span::after {
  background-color: #0B6D38;
  border-radius: 50%;
  content: "";
  display: block;
  width: 1.2em;
  height: 1.2em;
  position: absolute;
  top: .75em;
  left: .5em;
}
td.label-boatname {
}
td.label-phone {
  padding-left: calc(.5em + .25em + 16px);
  padding-top: 0;
  @media ( width >= 950px) {
    padding: .5em;
  }
}
td.label-phone::before {
  background: url(../images/contents/icon_phone.png) no-repeat center center / contain;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  left: .5em;
  top: -2px;
}
@media ( width >= 950px) {
  td.label-phone::before {
    content: none;
  }
}
td.label-phone.nophone::before {
  content: none;
}
td.label-phone span {
  font-size: 11px;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.labelLink-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  @media ( width >= 950px) {
    width: 70%;
  }
}
.labelLink-icon li {
  text-align: center;
  width: 50%;
}
.labelLink-icon li img {
  max-width: 18px;
  @media ( width >= 950px) {
    max-width: 24px;
  }
}
.labelLink-icon li.icon_no {
  display: none;
  @media ( width >= 950px) {
    display: block;
  }
}

.ticket-caption {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 0;
  text-align: center;
  @media ( width >= 950px) {
    font-size: 24px;
  }
}
.ticket-description {
  font-size: 13px;
  line-height: 1.3;
  margin-top: 0;
  padding: 0 1em;
  text-align: center;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.ticket-area {
  margin-top: 1.5em;
  padding: 0 4.4%;
  @media ( width >= 950px) {
    padding: 0;
  }
}
.ticketArea-title {
  background-color: #B466BC;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  padding: .25em;
  text-align: center;
  @media ( width >= 950px) {
    font-size: 20px;
  }
}
.ticketArea-tablewrap {
}
.ticketArea-tablewrap table {
  border-collapse: collapse;
  display: block;
  width: 100%;
  @media ( width >= 950px) {
    display: table;
  }
}
.ticketArea-tablewrap thead,
.ticketArea-tablewrap tbody {
  display: block;
  @media ( width >= 950px) {
    display: table-row-group;
  }
}
.ticketArea-tablewrap thead {
  background-color: #E9EFF4;
}
.ticketArea-tablewrap tbody {
}
.ticketArea-tablewrap tr {
  border-bottom: 1px solid #ccc;
  display: flex;
  @media ( width >= 950px) {
    display: table-row;
  }
}
.ticketArea-tablewrap tbody tr {
  display: grid;
  grid-template-columns: 1fr 17%;
  grid-template-rows: auto 1fr;
  grid-auto-columns: 1fr;
  gap: 0;
  grid-auto-flow: column;
  grid-template-areas:
    "label-river label-link"
    "label-fishname label-link";
  width: 100%;
  @media ( width >= 950px) {
    display: table-row;
  }
}
.label-river { grid-area: label-river; }
.label-fishname { grid-area: label-fishname; }
.label-link { grid-area: label-link; }

.ticketArea-tablewrap th,
.ticketArea-tablewrap td {
  display: block;
  padding: .75em .5em;
  @media ( width >= 950px) {
    display: table-cell;
  }
}
.ticketArea-tablewrap th{
  text-align: center;
  font-size: 10px;
  padding: .25em .5em;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.ticketArea-tablewrap td {
  font-size: 13px;
  line-height: 1.2;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}

.ticketArea-tablewrap th.label-river {
  width: 83%;
  @media ( width >= 950px) {
    width: 28%;
  }
}
.ticketArea-tablewrap th.label-fishname {
  display: none;
  @media ( width >= 950px) {
    display: table-cell;
    width: 49%;
  }
}
.ticketArea-tablewrap th.label-link {
  width: 17%;
  @media ( width >= 950px) {
    width: 23%;
  }
}
.ticketArea-tablewrap th span {
  display: none;
  @media ( width >= 950px) {
    display: inline;
  }
}
.ticketArea-tablewrap th::after {
  content: attr(data-splabel);
}
@media ( width >= 950px) {
  .ticketArea-tablewrap th::after {
    content: none;
  }
}
.ticketArea-tablewrap td.label-fishname {
  padding-top: 0;
  @media ( width >= 950px) {
    padding-top: .5em;
  }
}

/* ==========
 Page Privacy policy
========== */
.privacy-policy-list {
}
.privacy-policy-description {
  font-size: 16px;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.privacy-policy-item {
}
.privacy-policy-item dt,
.privacy-policy-item dd {
  font-size: 16px;
  line-height: 1.6;
  padding: .5em;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.privacy-policy-item dt {
  background-color: #F0F4F7;
  font-weight: bold;
}
.privacy-policy-item dd {
}
.privacy-policy-item dd p:first-child {
  margin: 0;
}
.enactmentdate {
  font-size: 16px;
  text-align: right;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}


/* ==========
 Archive
========== */
.archive-content {
  background-color: #E9EFF4;
  margin-top: 1.5em;
  padding: 2em 4.4%;
  @media ( width >= 950px) {
    margin-top: 2.5em;
    padding: 4em 1em 5em;
  }
}
.archive-head {
  padding: 0 2.7% 10px;
  @media ( width >= 950px) {
    padding: 0 40px 3em;
  }
}
.archive-term {
  background-color: #E9EFF4;
  border-radius: 8px;
  display: flex;
  align-items: center;
  margin: 1.5em 0 0;
  padding: 10px;
  @media ( width >= 950px) {
    padding: 1em;
  }
}
.archiveTerm-title {
  color: #0E7EE2;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
  font-size: calc(22.4px / 2);
  margin: 0 1em 0 0;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.archiveTerm-content {
}
.archiveTerm-list {
  display: flex;
  gap: 4px;
  align-content: center;
  list-style-type: none;
  margin: 0;
  padding: 0;
  @media ( width >= 950px) {
    gap: 8px;
  }
}
.archiveTerm-list li {
}
.archiveTerm-list li a {
  background-color: #fff;
  border: 1px solid #0E7EE2;
  border-radius: 2em;
  color: #0E7EE2;
  display: inline-block;
  font-size: calc(22.4px / 2);
  padding: .5em .6em;
  text-align: center;
  min-width: 7em;
  @media ( width >= 950px) {
    font-size: 16px;
    padding: .5em 1em;
  }
}
.archiveTerm-list li a:hover {
  background-color: #0e7ee2;
  color: #fff;
}
.archiveTerm-list li.is-active a {
  background-color: #0e7ee2;
  color: #fff;
}
.archive-body {
  padding: 0 2.7% 10px;
  @media ( width >= 950px) {
    padding: 0 40px 3em;
  }
}
.archive-list {
  @media ( width >= 950px) {
    display: grid;
    gap: 0 2.3%;
    /* grid-template-columns: repeat(auto-fit, minmax(31.8%, 1fr)); */
    grid-template-columns: repeat(auto-fit, 31.8%);
    /* grid-template-rows: repeat(2, auto) 1fr; */
    height: 100%;
  }
}
.archive-item {
  margin-top: 2em;
}
.relation-content .archive-item:nth-child(n+4){
  @media ( width >= 950px) {
    display: none;
  }
}
.archive-item a {
  color: #000;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border: 1px solid #d5d6d7;
  filter:drop-shadow(6px 6px 0 rgba(213, 214, 215, 1));
  padding-bottom: 1em;
  @media ( width >= 950px) {
    max-width: 310px;
    display: grid;
    /** 行方向のサイズを指定 **/
    grid-template-rows: subgrid;
    /** 4行分のサイズを使う **/
    grid-row: span 3;
  }
}
.archiveItem-title {
  font-size: 15px;
  font-weight: bold;
  margin: 1.5em 0 0;
  padding: 0 9.6%;
  @media ( width >= 950px) {
    font-size: 18px;
    padding: 0 24px;
  }
}
.archiveItem-thumb {
  background-position: center center;
  background-size: cover;
  background-color: #f1f8ff;
  aspect-ratio: 1/1;
  order: -1;
  object-position: center;
  text-align: center;
}
.archiveItem-thumb img {
  opacity: 0;
  visibility: hidden;
  height: 100%;
}
.archiveItem-body {
  padding: 0 9.6%;
  @media ( width >= 950px) {
    padding: 0 24px;
  }
}
.archiveItem-excerpt {
  font-size: 14px;
  margin: 1.3em 0 0;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.archiveItem-category {
  display: flex;
  gap: 10px;
  align-items: center;
  list-style-type: none;
  margin: 1em 0 0;
  padding: 0;
  @media ( width >= 950px) {
    margin-top: 2em;
  }
}
.archiveItem-category li {
  background-color: #fff;
  border: 1px solid #0E7EE2;
  border-radius: 2em;
  color: #0E7EE2;
  font-size: calc(23.4px / 2);
  line-height: 1.1;
  padding: .3em 1em;
  @media ( width >= 950px) {
    font-size: 14px;
  }
}
.archiveItem-date {
  color: #999;
  font-size: 13px;
  margin: 1em 0 0;
  position: relative;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.archiveItem-date.is-new::before {
  color: #E0142D;
  content: "NEW!";
  font-style: italic;
  margin-right: 0.25em;
}
.archiveItem-date::after {
  background: url(../images/common/icon_list-blue.png) no-repeat left center/contain;
  content: "";
  display: block;
  height: 16px;
  width: 16px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media ( width >= 950px) {
  .archiveItem-date::after {
    height: 22px;
    width: 22px;
  }
}
.archive-pagination {
  background-color: #fff;
  margin: 0 auto;
  padding: 1em 2.7% 2em;
  text-align: center;
  max-width: 1080px;
  @media ( width >= 950px) {
    padding: .5em 40px 3em;
  }
}
.archive-pagination .pagination {
  display: flex;
  justify-content: center;
  gap: .5em;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.archive-pagination li {
}
.archive-pagination span,
.archive-pagination a {
  border: 1px solid #000;
  border-radius: 2em;
  color: #000;
  display: flex;
  font-size: calc(19.6px / 2);
  font-weight: bold;
  line-height: 1;
  padding: .75em 1em;
  @media ( width >= 950px) {
    font-size: 14px;
  }
}
.archive-pagination span {
  background-color: #000;
  color: #fff;
}

/* ==========
 Single
========== */
.single-content {
  background-color: #E9EFF4;
  margin-top: 1.5em;
  padding: 2em 4.4%;
  @media ( width >= 950px) {
    margin-top: 2.5em;
    padding: 4em 1em 5em;
  }
}
.post-entry {

}
.single-head {
  padding: 0 7% 10px;
  @media ( width >= 950px) {
    padding: 0 40px 3em;
  }
}
.post-saleevent .single-head,
.post-fishing-derby .single-head,
.post-report .single-head {
    padding-right: 6.4%;
  padding-left: 6.4%;
  @media ( width >= 950px) {
    padding-right: 110px;
    padding-left: 110px;
  }
}
.single-title {
  font-size: 20px;
  line-height: 1.28;
  @media ( width >= 950px) {
    font-size: 30px;
  }
}
.single-term {
  display: flex;
  gap: 4px;
  align-content: center;
  list-style-type: none;
  margin: 0 0 .5em;
  padding: 0;
  @media ( width >= 950px) {
    gap: 8px;
  }
}
.single-term li {
  background-color: #fff;
  border: 1px solid #0E7EE2;
  border-radius: 2em;
  color: #0E7EE2;
  font-size: 12px;
  padding: .25em 1em;
  text-align: center;
  min-width: 7em;
  @media ( width >= 950px) {
    font-size: 20px;
  }
}
.single-date {
  color: #999;
  font-size: 11px;
  margin: .5em 0 0;
  position: relative;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.single-date.is-new::before {
  color: #E0142D;
  content: "NEW!";
  font-style: italic;
  margin-right: 0.25em;
}
  
.single-thumb {
  text-align: center;
}
.post-saleevent .single-thumb,
.post-fishing-derby .single-thumb {
    padding-right: 6.4%;
  padding-left: 6.4%;
  @media ( width >= 950px) {
    padding-right: 110px;
    padding-left: 110px;
  }
}

.single-body {
  font-size: 14px;
  line-height: 1.8;
  padding: 1.25em 7% 0;
  @media ( width >= 950px) {
    font-size: 18px;
    padding: 1.25em 40px 0;
  }
}
.post-saleevent .single-body,
.post-fishing-derby .single-body,
.post-report .single-body {
  padding-right: 6.4%;
  padding-left: 6.4%;
  @media ( width >= 950px) {
    padding-right: 110px;
    padding-left: 110px;
  }
}

.single-body p:first-child,
.single-body ul:first-child {
  margin-top: 0;
}

.single-pagination {
  background-color: #E8E8EA;
  border: 1px solid #E5E5E5;
  margin: 0 auto;
  padding: 3em 2.7%;
  text-align: center;
  max-width: 1080px;
  @media ( width >= 950px) {
    padding: 2.5em 40px 3em;
  }
}
.single-pagination a {
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 2em;
  color: #000;
  display: inline-block;
  filter: drop-shadow( 3px 5px 0 rgba(204, 204, 204, 1));
  font-size: 13px;
  font-weight: bold;
  min-width: 230px;
  /* width: 100%; */
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.single-pagination span {
  display: block;
  padding: .75em 3em;
  position: relative;
  text-align: center;
}
.single-pagination span::after {
  width: 8px;
  height: 8px;
  border: solid #000;
  border-width: 2px 2px 0 0;
  content: "";
  display: block;
  position: absolute;
  right: 1.1em;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
@media ( width >= 950px) {
  .single-pagination span::after {
    border-width: 4px 4px 0 0;
    height: 12px;
    width: 12px;
  }
}

.single-saleevent #gallery-1 img {border: 2px solid #fff;}

/* ==========
 Sale Event Archive
========== */

/* ==========
 Sale Event Archive
========== */

/* ==========
 Fishing Derby Single
========== */
.post-fishing-derby {
  background-color: #E9EFF4;
}
.fishing-derby-table {
  display: flex;
  margin: .25em 0 0;
}
.fishing-derby-table dt,
.fishing-derby-table dd {
  font-size: 14px;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.fishing-derby-table dt {
  font-weight: bold;
  white-space: nowrap;
}
.fishing-derby-table dt::before {
  content: "●";
}
.fishing-derby-table dt::after {
  content: "：";
}
.archive-item .fishing-derby-table dt,
.archive-item .fishing-derby-table dd {
  font-size: 13px;
  font-weight: normal;
  @media ( width >= 950px) {
    font-size: 16px;
  }
}
.archive-item .fishing-derby-table dt::before {
  content: none;
}

.fishing-derby-table dd span {
  display: inline-block;
}
.fishing-derby-excerpt,
.fishing-derby-entry,
.fishing-derby-other {
    margin: 1em 0 0;
}
.fishing-derby-excerpt dt,
.fishing-derby-excerpt dd,
.fishing-derby-entry dt,
.fishing-derby-entry dd,
.fishing-derby-other dt,
.fishing-derby-other dd,
.fishing-derby-how dt,
.fishing-derby-how dd {
    font-size: 14px;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.fishing-derby-excerpt dt,
.fishing-derby-entry dt,
.fishing-derby-other dt,
.fishing-derby-how dt {
  font-weight: bold;
  white-space: nowrap;
}
.fishing-derby-excerpt dt::before,
.fishing-derby-entry dt::before,
.fishing-derby-other dt::before,
.fishing-derby-how dt::before {
    content: "【";
}
.fishing-derby-excerpt dt::after,
.fishing-derby-entry dt::after,
.fishing-derby-other dt::after,
.fishing-derby-how dt::after {
    content: "】";
}
.single-body .fishing-derby-table dt,
.single-body .fishing-derby-table dd,
.single-body .fishing-derby-excerpt dt,
.single-body .fishing-derby-excerpt dd,
.single-body .fishing-derby-entry dd,
.single-body .fishing-derby-entry dd,
.single-body .fishing-derby-other dt,
.single-body .fishing-derby-other dd,
.single-body .fishing-derby-how dt,
.single-body .fishing-derby-how dd {
    line-height: 1.55;
}

/* ==========
 Report
========== */
.page-report {

}
.page-report {
  background: url(../images/index/bg01.jpg) no-repeat center top/cover;
  margin-top: .25em;
  position: relative;
  padding-top: calc(1920% / 139);
  padding-bottom: calc(1920% / 141);
  @media ( width >= 950px) {
    padding-top: calc(139px + 2em);
    padding-bottom: calc(141px + 3em);
  }
}
.page-report::before,
.page-report::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
}
.page-report::before {
  aspect-ratio: 1920/139;
  background: url(../images/index/bg01-before.png) no-repeat center top/cover;
  top: -1px;
}
.page-report::after {
  aspect-ratio: 1920/141;
  background: url(../images/index/bg01-after.png) no-repeat center bottom/cover;
  bottom: -1px;
}
@media ( width >= 1280px) {
  .page-report::before,
  .page-report::after {
    aspect-ratio: auto;
    background-size: 100% 100%;
  }
}
@media ( width >= 1280px) {
  .page-report::before {
    height: 139px;
  }
}
.report-table {
  display: flex;
  margin: .25em 0 0;
}
.report-table dt,
.report-table dd {
  font-size: 14px;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.report-table dt {
  white-space: nowrap;
}
.report-table dt::after {
  content: "：";
}
.page-report .archiveItem-thumb {
  aspect-ratio: 310/240;
}

/* ==========
 Report Single
========== */
.report-body {
}
.report-content {
  @media ( width >= 950px) {
    display: grid; 
    grid-auto-flow: column; 
    grid-auto-columns: 1fr; 
    grid-template-columns: 300px 1fr; 
    grid-template-rows: auto 1fr; 
    gap: 0% 8%; 
    grid-template-areas: 
      "report-tables report-result"
      "report-tables report-msg"; 
  }
}

.report-slide {
  margin: 0 auto;
  max-width: 860px;
}
.reportSlide-main{
  display: flex;
  align-items: center;
}
.reportSlide-main img {
  width: 100%;
  height:auto;
  /*object-fit: cover;*/
  @media ( width >= 950px) {
    width: 100%;
    height: auto;
  }
}
.reportSlide-main .swiper-wrapper{
  display: flex;
  align-items: center;
}
.reportSlide-thumbnail {
  margin-top: 10px;
}
.reportSlide-thumbnail .swiper-wrapper {
  gap: 10px;
}
.reportSlide-thumbnail .swiper-slide {
  width: calc(94% / 4);
  @media ( width >= 950px) {
    width: calc(540px / 4);
  }
}
.reportSlide-thumbnail .swiper-slide img{
  width: 100%;
  height: 40px;
  object-fit: cover;
  @media ( width >= 950px) {
    height: 100px;
  }
}
.report-swiper-nav.swiper-button-prev,
.report-swiper-nav.swiper-button-next {
  display: grid;
  place-content: center;
  width: 50px;
  height: 50px;
  cursor: pointer;
  transition: .2s;
  @media ( width >= 950px) {
    width: 100px;
    height: 100px;
  }
}
.report-swiper-nav.swiper-button-prev::before,
.report-swiper-nav.swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  content: none;
  border-radius: 0;
}
.report-swiper-nav.swiper-button-prev::after,
.report-swiper-nav.swiper-button-next::after {
  width: .25em;
  height: .25em;
  content: "";
  border: solid #4B4B4B;
  border-width: 4px 4px 0 0;
  @media ( width >= 950px) {
    width: .5em;
    height: .5em;
  }
}
.report-swiper-nav.swiper-button-prev::after {
  margin-left: 0.4rem;
  transform: rotate(-135deg);
}
.report-swiper-nav.swiper-button-next::after {
  margin-right: 0;
  transform: rotate(45deg);
}
.report-swiper-nav.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}


.report-tables { grid-area: report-tables; }
.report-result { grid-area: report-result; }
.report-msg { grid-area: report-msg; }

.report-tables {
  @media ( width >= 950px) {
    margin-top: 1em;
  }
}
.report-tables .report-table {
  border-bottom: 1px solid #ccc;
}
.report-tables .report-table dt {
  font-weight: bold;
  text-align: right;
  white-space: nowrap;
  min-width: 5.5em;
}
.report-result {
  background-color: #1472BD;
  display: flex;
  padding: .5em 0;
}
.report-result dt,
.report-result dd,
.report-msg dt,
.report-msg dd {
    font-size: 14px;
  @media ( width >= 950px) {
    font-size: 18px;
  }
}
.report-result dt,
.report-result dd {
  color: #fff;
}
.report-result dt,
.report-msg dt {
  font-weight: bold;
  white-space: nowrap;
}
.report-result dt::before,
.report-msg dt::before {
  content: "【";
}
.report-result dt::after,
.report-msg dt::after {
  content: "】";
}



.relation-content {
  background-color: #fff;
  margin: 0 auto;
  overflow: hidden;
  padding: 2em 0;
  /* text-align: center; */
  max-width: 1080px;
  @media ( width >= 950px) {
    padding: 3em 40px;
  }
}
.relation-title {
  font-size: 22px;
  text-align: center;
  @media ( width >= 950px) {
    font-size: 32px;
  }
}
.relation-list {
  @media ( width >= 950px) {
    display: grid;
    gap: 0 2.3%;
    grid-template-columns: repeat(auto-fit, minmax(31.8%, 1fr));
    grid-template-rows: repeat(2, auto) 1fr;
    height: 100%;
  }
}
.relation-list .archive-item {
  margin-top: 1em;
}
.relation-list .archive-item a {
  color: #000;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border: 1px solid #d5d6d7;
  filter:drop-shadow(6px 6px 0 rgba(213, 214, 215, 1));
  padding-bottom: 1em;
  @media ( width >= 950px) {
    max-width: 310px;
  }
}

.relation-swiper .swiper-wrapper {
  @media ( width >= 950px) {
    display: flex;
    justify-content: center;
    gap: 24px;
  }
}
.relation-swiper .swiper-slide {
  width: 63.2%;
  @media ( width >= 950px) {
    max-width: 310px;
  }
}
.relation-swiper-nav {
  display: flex;
  justify-content: center;
  position: relative;
  margin-top: 1em;
  @media ( width >= 950px) {
    display: none;
  }
}
.relation-swiper-nav .swiper-button-prev,
.relation-swiper-nav .swiper-button-next {
  display: grid;
  place-content: center;
  position: static;
  width: 50px;
  height: 50px;
  cursor: pointer;
  transition: .2s;
}
.relation-swiper-nav .swiper-button-prev::before,
.relation-swiper-nav .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  content: none;
  border-radius: 0;
}
.relation-swiper-nav .swiper-button-prev::after,
.relation-swiper-nav .swiper-button-next::after {
  width: .25em;
  height: .25em;
  content: "";
  border: solid #4B4B4B;
  border-width: 4px 4px 0 0;
  @media ( width >= 950px) {
    width: .5em;
    height: .5em;
  }
}
.relation-swiper-nav .swiper-button-prev::after {
  margin-left: 0.4rem;
  transform: rotate(-135deg);
}
.relation-swiper-nav .swiper-button-next::after {
  margin-right: 0.4rem;
  transform: rotate(45deg);
}
.relation-swiper-nav .swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}
.event-table .event-data{
  width: 100%;
  margin-top: 20px;
  border: 1px solid #5e5e5e;
  border-bottom: 0;
}
.event-table .event-data th {
  text-align: center;
  background: #eee;
  padding: 10px 10px 8px 10px;
  border-bottom: solid 1px;
  border-right: solid 1px;
  white-space: nowrap;
}
.event-table .event-data td {
  padding: 10px 10px 8px 10px;
  border-bottom: solid 1px;
}
/* ==========================================================================
 Utility
========================================================================== */
.cf:after {
  content: "";
  display: block;
  clear: both;
}


/* ==========
single
========== */
a.btn_red {background-color: #e60012;border-radius: 2em;color: #fff;display: inline-block;filter: drop-shadow( 3px 5px 0 rgba(204, 204, 204, 1));font-weight: bold;padding: .5em 2em;}
a.btn_red:hover {filter: drop-shadow( 0 0 0 rgba(204, 204, 204, 1));}
a.btn_red:after {content: ''; width: 6px; height: 6px; border: 0; border-top: solid 2px #fff; border-right: solid 2px #fff; transform: rotate(45deg); position: absolute; top: 0; right: 1.1em; bottom: 0; margin: auto;}

.floormap {
	margin: 3em auto 0;
	max-width: 1080px;
}

.event_tbl table {width: 100%; border: solid 1px; margin-top: 20px; border-spacing: 0;}
.event_tbl table th {background: #eee; color: #000; padding: 10px; border-bottom: solid 1px; border-right: solid 1px; text-align: center; white-space: nowrap;}
.event_tbl table td {padding: 10px; border-bottom: solid 1px;}
.event_tbl table tr:last-child th , .event_tbl table tr:last-child td {border-bottom: none;}


/* ==========
PC-SP
========== */
@media screen and (min-width: 950px) {	
  .img-pc { display:block; }
  .img-sp { display:none; }
}
@media screen and (max-width: 950px) {
  .img-pc { display:none; }
  .img-sp { display:block; }
}




/* ==========================================================================
  202509 add start
========================================================================== */
/* === 共通 === */
/* color */
:root {
  --mainColor: #E60013;
  --subColor: #0e7de1;
}
/* コンテンツ幅 */
:root {
  --cntWrap: 1280px;
  --cntWrapInt: 60px;
  --cntPadding: 15px;
}
.cntWide {
  max-width: calc(var(--cntWrap));
  margin-inline: auto;
  width: 100%;
}
.cnt {
  max-width: calc(var(--cntWrap) - calc(var(--cntWrapInt)*2) + calc(var(--cntPadding)*2));
  padding-inline: var(--cntPadding);
  margin-inline: auto;
  width: 100%;
}
.cntL {
  max-width: calc(var(--cntWrap) - calc(var(--cntWrapInt)*4) + calc(var(--cntPadding)*2));
  padding-inline: var(--cntPadding);
  margin-inline: auto;
  width: 100%;
}
.cntM {
  max-width: calc(var(--cntWrap) - calc(var(--cntWrapInt)*6) + calc(var(--cntPadding)*2));
  padding-inline: var(--cntPadding);
  margin-inline: auto;
  width: 100%;
}
.cntS {
  max-width: calc(var(--cntWrap) - calc(var(--cntWrapInt)*8) + calc(var(--cntPadding)*2));
  padding-inline: var(--cntPadding);
  margin-inline: auto;
  width: 100%;
}
.padding-none {
  padding: 0 !important;
}
.overflow {
  overflow-x: hidden;
}

.w100 {
  width: 100%;
}

.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}

.mainColor {
  color: var(--mainColor);
}
.subColor {
  color: var(--subColor);
}

/* margin / padding */
:root {
  --spaceSizeS: clamp(25px, 10vw, 50px);
  --spaceSize: clamp(50px, 10vw, 100px);
  --spaceSizeWide: clamp(90px, 15vw, 180px);
}

.padding {
  padding-top: var(--spaceSize);
  padding-bottom: var(--spaceSize);
}

.paddingS {
  padding-top: var(--spaceSizeS);
  padding-bottom: var(--spaceSizeS);
}

.paddingW {
  padding-top: var(--spaceSizeWide);
  padding-bottom: var(--spaceSizeWide);
}

.margin {
  margin-top: var(--spaceSize);
  margin-bottom: var(--spaceSize);
}

.marginS {
  margin-top: var(--spaceSizeS);
  margin-bottom: var(--spaceSizeS);
}

.marginW {
  margin-top: var(--spaceSizeWide);
  margin-bottom: var(--spaceSizeWide);
}

.marginInlineNone {
  margin-inline: 0 !important;
}
:root {
  --margin: 10px;
}
.mb10 {
  margin-bottom: var(--margin);
}
.mb20 {
  margin-bottom: calc(var(--margin) * 2);
}
.mb30 {
  margin-bottom: calc(var(--margin) * 3);
}
.mb40 {
  margin-bottom: calc(var(--margin) * 4);
}
.mb50 {
  margin-bottom: calc(var(--margin) * 5);
}
.mb60 {
  margin-bottom: calc(var(--margin) * 6);
}


.mbL {
  margin-bottom: 30%;
}

.mbL2 {
  margin-bottom: 25%;
}

.mbL3 {
  margin-bottom: 20%;
}

.mbL4 {
  margin-bottom: 15%;
}

.mbM {
  margin-bottom: 10%;
}

.mbM2 {
  margin-bottom: 7.5%;
}

.mbM3 {
  margin-bottom: 5%;
}

.mbS {
  margin-bottom: 3.5%;
}

.mbS2 {
  margin-bottom: 2%;
}

.mbS3 {
  margin-bottom: 1%;
}

@media only screen and (max-width: 767px) {
  .text-center-sp {
    text-align: center;
  }
  .text-left-sp {
    text-align: left;
  }
  .text-right-sp {
    text-align: right;
  }
  .mbSpL {
    margin-bottom: 30%;
  }
  .mbSpL2 {
    margin-bottom: 25%;
  }
  .mbSpL3 {
    margin-bottom: 20%;
  }
  .mbSpL4 {
    margin-bottom: 15%;
  }
  .mbSpM {
    margin-bottom: 10%;
  }
  .mbSpM2 {
    margin-bottom: 7.5%;
  }
  .mbSpM3 {
    margin-bottom: 5%;
  }
  .mbSpS {
    margin-bottom: 3.5%;
  }
  .mbSpS2 {
    margin-bottom: 2%;
  }
  .mbSpS3 {
    margin-bottom: 1%;
  }
}

@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .tab {
    display: none !important;
  }
}
@media screen and (min-width: 960px) {
  .tab {
    display: none !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 959px) {
  .tab-none {
    display: none !important;
  }
}

/* タイトル */
.commonSubTitle {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin: 0;
  line-height: 1.2;
}
.commonSubTitle.__middle {
  font-size: 28px;
}
.commonSubTitle span {
  color: var(--mainColor);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

.h3_title {
  font-size: clamp(22px,2.7vw,34px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.h3_title.__m {
  font-size: clamp(28px,3.2vw,40px);
}

.h3_title span {
  color: var(--mainColor);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
}


/* modal */
.staffModal-list {
  cursor: pointer;
}
.staffModal-item {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
  max-width: 1040px;
  padding-inline: 15px;
  margin-inline: auto;
  width: 100%;
  z-index: 999;
}
.staffModal-item::before {
  content: "";
  position: absolute;
  opacity: 0.7;
  background-color: #1E1E1E;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100vh;
  width: 100vw;
  z-index: -1;
}
.staffModal-item.is-open {
  opacity: 1;
  visibility: visible;
}
.staffModal-close {
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 15px;
  aspect-ratio: 1/1;
  width: 46px;
}

.staffModal-itemInner {
  display: flex;
  background-color: #fff;
  padding-block: 40px;
  padding-inline: 60px;
}
.staffModal-itemImg {
  width: 45%;
}
.staffModal-itemImg img {
  width: 100%;
}
.staffModal-itemTxBox {
  padding-left: 5%;
  width: 55%;
}
.staffModal-name {
  font-size: 12px;
  margin: 0 0 1em;
}
.staffModal-itemInfo dl {
  border-bottom: 1px dashed var(--mainColor);
  margin-bottom: 10px;
  padding-bottom: 10px;
}
.staffModal-itemInfo dt {
  color: var(--mainColor);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 10px;
}
.staffModal-itemInfo dt span {
  color: #1E1E1E;
  font-weight: 600;
  line-height: 1;
  margin-left: 2em;
}
.staffModal-itemInfo dd {
  font-size: 14px;
}


/* ====================
トップページ - コンテンツ追加
==================== */
.index-service,
.index-online,
.index-beginner {
  padding: 5em 0;
}
.indexService-link span {
  padding: .75em 3em .75em 1.1em;
}
.indexService-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}

.indexService-card {
  color: #000 !important;
  display: flex;
  flex-direction: column;
}

.indexService-card p {
  margin: 0;
}

.indexService-cardImgBox {
  overflow: hidden;
}
.indexService-cardImg {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding-bottom: 66%;
  transform: scale(1);
  transition: 0.3s;
  width: 100%;
}

.indexService-card:hover .indexService-cardImg {
  transform: scale(1.05);
}

.indexService-cardTitle {
  color: #fff;
  background-color: var(--mainColor);
  text-align: center;
  padding-block: 0.4em;
  font-size: 26px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.indexService-cardSubTitle {
  font-size: 20px;
  margin-block: 0.5em;
  line-height: 1.4;
}

.indexService-cardLink {
  text-align: right;
  margin-top: auto !important;
}
.indexService-cardLink span {
  position: relative;
  display: inline-block;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-left: 2em;
}

.indexService-cardLink span::after {
  background: url(../images/common/icon_list-blue.png) no-repeat left center/contain;
  content: "";
  display: block;
  height: 16px;
  width: 16px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media ( width >= 950px) {
  .indexService-cardLink span::after {
    height: 22px;
    width: 22px;
  }
}

.indexOnline-box {
  background-image: url(../images/original/topOnlineBnrBg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 20px 30px;
  display: flex;
  width: 100%;
}

.indexOnline-boxLeft {
  width: 35%;
}
.indexOnline-boxLeftImg {
  margin-bottom: -20px;
  margin-left: -20px;
}
.indexOnline-boxRight {
  padding-left: 1%;
  width: 65%;
}

.indexOnline-link {
  text-align: right;
  margin-block: -10px -20px;
}

.indexSection-body {
  position: relative;
}

.indexStaff-list {
  flex-wrap: nowrap;
  margin: 0 0 3em;
}

.indexAboutSwiper-arw {
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
  background-color: var(--subColor);
  border-radius: 50%;
  height: 40px;
  width: 40px;
  z-index: 2;
}

.indexAboutSwiper-arw:hover {
  opacity: 0.7;
}

.indexAboutSwiper-arw:after {
  content: "";
  position: absolute;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  height: 12px;
  width: 12px;
}

.indexAboutSwiper-prev {
  right: -20px;
}

.indexAboutSwiper-next {
  left: -20px;
}

.indexAboutSwiper-next:after {
  transform: translate(-50%, -50%) rotate(-135deg);
}

.indexBiginner-link span {
  padding: .75em 1.1em .75em 3em;
}

.indexBegiiner-box {
  display: flex;
}
.indexBegiiner-boxLeft {
  position: relative;
  width: 40%;
  z-index: 2;
}
.indexBegiiner-boxRight {
  width: 60%;
}

.indexBegiiner-boxImg {
  box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.12%);
  border-radius: 50%;
  overflow: hidden;
}

.indexBegiiner-boxInner {
  padding-inline: 60px;
  padding-block: 25px 50px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  width: calc(100% + 35px);
  margin-left: -35px;
}

.indexBegiiner-boxTitle {
  margin-inline: auto;
  max-width: 370px;
  width: 80%;
}

.indexBegiiner-boxListItem {
  list-style: none;
  margin-block: 0.4em;
}

.indexBegiiner-boxListItem a {
  color: #fff;
  display: inline-block;
  position: relative;
  padding-left: 2em;
  font-size: 18px;
}
.indexBegiiner-boxListItem a:after {
  background: url(../images/common/icon_list-blue.png) no-repeat left center/contain;
  content: "";
  display: block;
  height: 20px;
  width: 20px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.indexBegiiner-boxListItem a:hover:after {
  left: 0.3em;
}
.indexBiginner-link span {
  padding: .75em 1.1em .75em 3em;
}
.indexBiginner-link span:after {
  left: 1.1em;
  right: auto;
}

.lineSection {
  margin-block: 70px 100px;
}

/* other - link */
.otherLink-section {
  margin-block: clamp(50px,7.8vw,100px);
}
.otherLink-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.otherLink-boxItem {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding-block: 4.9em;
  padding-inline: 1em;
  z-index: 2;
}

.otherLink-boxItem::before {
  content: "";
  position: absolute;
  background-color: rgba(0, 0, 0, 0.3);
  transition: 0.3s;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}

.otherLink-boxItem:hover::before {
  background-color: rgba(0, 0, 0, 0.6);
}

.otherLink-boxItemTitle {
  color: #fff;
  font-size: 24px;
  letter-spacing: 0.13em;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
}

.otherLink-boxItemicon {
  position: absolute;
  bottom: 10px;
  right: 10px;
  border-radius: 50%;
  background-color: var(--subColor);
  height: 26px;
  width: 26px;
}
.otherLink-boxItemicon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 42%;
  transform: translate(-50%, -50%) rotate(45deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  height: 10px;
  width: 10px;
}


/* ====================
店舗案内 - コンテンツ追加
==================== */
.shopMain-box {
  display: flex;
}
.shopMain-txBox {
  padding-right: 5%;
  width: 63%;
}
.shopMain-subTitle {
  margin-bottom: 10px;
}
.shopMain-title,
.shopMain-title span {
  line-height: 1.2;
}
.shopMain-imgBox {
  width: 37%;
}

.shopFloor-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.shopFloor-map {
  cursor: pointer;
  position: relative;
}
.shopFloor-map::before {
  content: "";
  background: url(../images/original/popupIcon.jpg) center / cover no-repeat;
  position: absolute;
  top: 0;
  right: 0;
  height: 45px;
  width: 45px;
}

.shopModal {
  position: fixed; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,.85);
  opacity: 0; transition: opacity .25s ease;
  z-index: 9999;
}
.shopModal.show {
  opacity: 1
}
.shopModal .shopModalInner {
  position: relative;
  max-width: 85vw; 
  max-height: 85vh;
  background: #fff;
  overflow-y: auto;
  text-align: center;
  
}
.shopModal.show img {
  transform: scale(1);
  height: 100%;
  object-fit: contain;
  max-width: 85vw; 
  max-height: 85vh;
}
.shopModal .closeBtn {
  position: absolute; 
  top: 0; 
  right: 0;
  width: 40px; 
  height: 40px; 
  cursor: pointer;
  z-index: 2;
}



.shopLineup-block + .shopLineup-block {
  margin-top: 90px;
}
.shopLineup-head {
  background-color: #FFE0E3;
  display: flex;
  align-items: center;
  gap: 20px;
  padding-inline: 1.4em;
  padding-block: 1.2em;
  margin-bottom: 60px;
}
.shopLineup-title {
  color: var(--mainColor);
  font-size: 40px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;

}
.shopLineup-subTitle {
  margin: 0;
  font-size: 22px;
  letter-spacing: 0.05em;
}

.shopLineup-item {
  display: flex;
}
.shopLineup-item + .shopLineup-item {
  margin-top: 30px;
}
.shopLineup-item.reverse {
  flex-direction: row-reverse;
}
.shopLineup-txBox {
  width: 50%;
}
.shopLineup-imgBox {
  padding-left: 3%;
  width: 50%;
}
.shopLineup-item.reverse .shopLineup-imgBox {
  padding-left: 0;
  padding-right: 3%;
}

.shopLineup-itemTitle {
  font-size: 28px;
  line-height: 1.4;
  color: var(--mainColor);
}
.shopLineup-itemTitle small {
  font-size: 18px;
  line-height: 1.4;
}

.shopLineup-contactTx {
  margin: 0.55em 0 1.05em;
}

.shopLineup-contact {
  background-color: #E9EFF4;
  padding-block: 20px;
  padding-inline: 60px;
  display: flex;
}
.shopLineup-contactTitle {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.shopLineup-contactTitle span {
  font-size: 46px;
  color: var(--subColor);
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.shopLineup-contactTitle small {
  font-size: 30px;
  letter-spacing: 0.05em;
}

.shopLineup-contactTxBox {
  padding-right: 5%;
  width: 68%;
}
.shopLineup-contactImgBox {
  position: relative;
  width: 32%;
}
.shopLineup-contactImg {
  margin-bottom: -20px;
  margin-top: -60px;
  width: 100%;
}

.shopSlideImg .swiper-wrapper {
  transition-timing-function: linear;
}

.shopAccess-block + .shopAccess-block {
  margin-top: 50px;
}

.shopAccess-block.__col2 {
  display: flex;
}
.shopAccess-block.__col2 .shopAccess-infoBox {
  width: 50%;
}
.shopAccess-block.__col2 .shopAccess-imgBox {
  padding-left: 5%;
  width: 50%;
}

.shopAccess-map {
  position: relative;
  padding-bottom: 68%;
  width: 100%;
}
.shopAccess-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.shopAccess-mapTx {
  text-align: center;
  font-size: 18px;
  line-height: 1.6;
  margin: 0.75em 0;
  font-weight: 600;
}

.shopAccess-title {
  border-left: 10px solid var(--mainColor);
  font-size: 28px;
  font-weight: 600;
  padding-left: 0.8em;
  padding-block: 0.6em;
  line-height: 1;
  margin-bottom: 1.2em;
}

.shopAccess-accessDl > dt {
  color: #fff;
  font-size: 20px;
  background-color: var(--mainColor);
  line-height: 1;
  display: inline-block;
  padding-inline: 0.3em;
  padding-block: 0.3em;
  margin-bottom: 1em;
}

.shopAccess-accessDl dd dl + dl {
  margin-top: 20px;
}
.shopAccess-accessDl dd dl dt {
  font-size: 18px;
  color: var(--mainColor);
  font-weight: 600;
}

.shopAccess-infoInner.inlinePadding {
  padding-inline: 60px;
}
.shopAccess-shopDl {
  display: flex;
}
.shopAccess-shopDl dt,
.shopAccess-shopDl dd {
  padding-bottom: 1em;
}
.shopAccess-shopDl dt {
  border-bottom: 1px solid var(--mainColor);
  font-weight: 600;
  width: 150px;
}
.shopAccess-shopDl dd {
  border-bottom: 1px solid #B7B7B7;
  width: calc(100% - 150px);
}

.shopAccess-shopInner > div {
  margin-bottom: 20px;
}
.shopAccess-shopInner > div p {
  margin: 0;
}
.shopAccess-shopInner > div div small {
  font-size: 80%;
}

.shopService-block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
.shopService-item {
  background-color: #EAF4F9;
  padding: 30px;
}
.shopService-itemTitle {
  text-align: center;
  margin-bottom: 20px;
}
.shopService-itemTitle span {
  color: var(--subColor);
  background:linear-gradient(transparent 60%, #FFF100 60%);
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
  display: inline-block;
  padding-inline: 1em;
}
.shopService-itemTitle span small {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
}
.shopService-itemImg {
  margin-inline: auto;
  min-height: 280px;
  display: flex;
  align-items: center;
  width: 90%;
}
.shopService-itemSubTitle {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.shopService-itemTx {
  margin: 0;
}

.shopService-itemOther {
  background-color: #fff;
  padding: 20px 30px;
}
.shopService-itemOtherTitle {
  text-align: center;
  margin-top: -38px;
}
.shopService-itemOtherTitle span {
  display: inline-block;
  text-align: center;
  background-color: var(--subColor);
  color: #fff;
  padding-inline: 1.3em;
  border-radius: 30px;
  padding-block: 0.6em;
  line-height: 1;
}

.shopService-itemOther ul {
  padding-left: 0;
}
.shopService-itemOther ul li {
  list-style: none;
  position: relative;
  padding-left: 1.5em;
  letter-spacing: 0.05em;
  margin-block: 0.2em;
}
.shopService-itemOther ul li::before {
  content: "";
  position: absolute;
  background: url(../images/original/checkBox.svg) center / cover no-repeat;
  top: 0.3em;
  left: 0;
  height: 18px;
  width: 18px;
}

.newInformation-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  padding-inline: 60px;
  gap: 20px 120px;
}

.newInformation-itemLink {
  display: block;
}
.newInformation-itemImg {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
    aspect-ratio: 600 / 324;
  width: 100%;
}

.newInformation-itemInner {
  background: #fff;
  position: relative;
  @media ( width >= 950px) {
    width: 340px
  }
}
.newInformation-itemInner::before {
  background: repeating-linear-gradient(135deg, #000, #000 2px, #EAF4F9 2px, #EAF4F9 5px);
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  left: 3px;
  top: 3px;
}


.newInformation-itemInnerBox {
  background: #fff;
  display: block;
  height: 100%;
  width: 100%;
  position: relative;
  z-index: 5;
}
.newInformation-itemLink:hover .newInformation-itemInnerBox span {
  color: #fff;
}

.newInformation-itemInnerBox {
  color: #000;
  font-weight: bold;
  text-align: center;
  overflow: hidden;
  position: relative;
  @media ( width >= 950px) {
    font-size: 22px;
  }
}
.newInformation-itemInnerBox::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: var(--subColor);
  transform-origin: 50% 0;
  transform: scaleY(0);
  transition: transform ease .3s;
}
.newInformation-itemLink:hover .newInformation-itemInnerBox::after {
  transform-origin: 50% 100%;
  transform: scaleY(1);
}
.newInformation-itemInnerBox span {
  display: inline-block;
  justify-content: center;
  align-items: center;
  padding: 1em;
  padding-left: calc(1em + .5em);
  position: relative;
  text-align: left;
  line-height: 1.2;
}
.newInformation-itemInnerBox span small {
  font-size: 80%;
}
.newInformation-itemInnerBox span::before {
  background: url(../images/common/icon_list-blue.png) no-repeat left center/contain;
  content: "";
  display: block;
  height: 16px;
  width: 16px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media ( width >= 950px) {
  .newInformation-itemLink span::before {
    height: 22px;
    width: 22px;
  }
}
.newInformation-itemTx {
  color: #000;
}


/* ====================
取り扱い商品・サービスについて - コンテンツ追加
==================== */
.serviceLink-block {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 70px;
}
.serviceLink-btn {
  display: grid;
  grid-template-columns: 95px auto;
}
.serviceLink-imgBox {
  overflow: hidden;
}
.serviceLink-img {
  background: center / cover no-repeat;
  transform: scale(1);
  transition: 0.3s;
  padding-bottom: 95px;
  width: 100%;
}
.serviceLink-btn:hover .serviceLink-img {
  transform: scale(1.05);
}
.serviceLink-txBox {
  background-color: var(--mainColor);
  padding-inline: 1em;
  padding-block: 0.5em;
  display: flex;
  align-items: center;
  height: 100%;
}
.serviceLink-tx {
  margin: 0;
}
.serviceLink-tx span {
  color: #fff;
  padding-left: 2em;
  position: relative;
  display: inline-block;
  line-height: 1.2;
}
.serviceLink-tx span::before {
  content: "";
  position: absolute;
  background: url(../images/original/icon_list-white.png) center / cover no-repeat;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  height: 22px;
  width: 22px;
}

.serviceCnt-head {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.serviceCnt-left {
  background-color: var(--mainColor);
  padding-inline: 60px;
  padding-block: 60px;
}

.serviceCnt-titleBox {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}
.serviceCnt-titleBox .serviceCnt-number {
  font-size: 32px;
  border-radius: 50%;
  background-color: #fff;
  color: var(--mainColor);
  font-weight: 600;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70px;
  width: 70px;
}
.serviceCnt-titleBox .serviceCnt-title {
  color: #fff;
  font-size: 42px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
}

.serviceCnt-subTitle {
  color: #fff;
  font-size: 26px;
  line-height: 1.3;
}
.serviceCnt-tx {
  color: #fff;
  margin: 0.4em 0;
}

.serviceCnt-img {
  background: center / cover no-repeat;
  padding-bottom: 60%;
  width: 100%;
}

.serviceItem-title {
  color: var(--mainColor);
  margin-bottom: 0.4em;
}
.serviceItem-tx {
  margin: 0.6em 0;
}
.serviceCnt-item + .serviceCnt-item {
  margin-top: 40px;
}
.serviceCnt-itemBody {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.serviceCnt-cardImg {
  margin-bottom: 2em;
}
.serviceCnt-cardTitle {
  font-size: 22px;
  line-height: 1.2;
  font-weight: 600;
}
.serviceCnt-cardTitle small {
  font-size: 80%;
}
.serviceCnt-cardTx {
  margin: 0.4em 0;
}
.serviceCnt-note {
  padding-left: 0;
}
.serviceCnt-note li {
  font-size: 14px;
  list-style: none;
}

.serviceCnt-table table {
  border-collapse: collapse;
  width: 100%;
}
.serviceCnt-table table th,
.serviceCnt-table table td {
  border: solid 1px #D7D7D7;
  background-color: #fff;
  padding: 10px 15px;
}

.serviceCnt-table table tr:nth-child(2n+1) td {
  background-color: #F8F8F8;
}

.serviceCnt-table table th {
  background-color: #FFE0E3;
  text-align: center;
  font-size: 20px;
  width: 65%;
}
.serviceCnt-table table th:last-of-type {
  width: 35%;
}
.serviceCnt-table table th small {
  font-size: 80%;
}


.serviceCnt-stepTitle {
  position: relative;
  text-align: center;
  z-index: 2;
}
.serviceCnt-stepTitle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--mainColor);
  height: 2px;
  width: 100%;
  z-index: -1;
}

.serviceCnt-stepTitleBox {
  background-color: var(--mainColor);
  color: #fff;
  display: inline-block;
  padding-inline: 0.7em;
  padding-block: 0.2em 0.4em;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
}
.serviceCnt-stepTitleBox span {
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
}
.serviceCnt-stepTitleBox span.num {
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
}

.serviceCnt-stepGrid {
  display: grid;
  grid-template-columns: repeat(3, 236px);
  justify-content: center;
  gap: 60px;
}

.serviceCnt-stepItem {
  position: relative;
}
.serviceCnt-stepItem + .serviceCnt-stepItem::before {
  content: "";
  position: absolute;
  background: url(../images/original/icon_list-red.png) center / contain no-repeat;
  top: 50%;
  transform: translateY(-50%);
  left: -45px;
  height: 30px;
  width: 30px;
}

.serviceCnt-stepImgBox {
    position: relative;
    padding-top: 65px;
    /* max-height: 236px; */
    /* max-width: 236px; */
    margin-inline: auto;
    margin-bottom: 10px;
}
.serviceCnt-stepNum {
  text-align: center;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.serviceCnt-stepNum span {
  color: var(--mainColor);
  display: block;
  line-height: 1;
  font-size: 20px;
  font-weight: 600;
}
.serviceCnt-stepNum .serviceCnt-stepNumTx {
  font-size: 40px;
}
.serviceCnt-stepImg {
  border-radius: 50%;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

.serviceCnt-stepItemTitle {
  font-size: 22px;
  color: var(--mainColor);
}
.serviceCnt-stepTx {
  margin: 0.3em 0;
}


.serviceFaq-item + .serviceFaq-item {
  margin-top: 10px;
}
.serviceFaq-title {
  cursor: pointer;
  background-color: var(--mainColor);
  display: grid;
  grid-template-columns: 50px auto 26px;
  align-items: center;
  gap: 10px;
  padding-inline: 30px;
  padding-block: 10px;
}
.serviceFaq-en {
  font-size: 32px;
  color: #fff;
  font-weight: 600;
}
.serviceFaq-titleTx {
  font-size: 24px;
  color: #fff;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
}
.serviceFaq-icon {
  position: relative;
  height: 26px;
  width: 26px;
}
.serviceFaq-icon::before,
.serviceFaq-icon::after {
  content: "";
  position: absolute;
  background-color: #fff;
  transition: 0.3s;
  top: 50%;
  left: 50%;
  height: 2px;
  width: 100%;
}
.serviceFaq-icon::before {
  transform: translate(-50%, -50%);
}
.serviceFaq-icon::after {
  transform: translate(-50%, -50%) rotate(-90deg);
}
.serviceFaq-title.open .serviceFaq-icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}


.serviceFaq-box {
  display: none;
}
.serviceFaq-inner {
  display: grid;
  grid-template-columns: 50px auto;
  align-items: center;
  gap: 10px;
  padding-inline: 30px;
  padding-block: 10px;
}
.serviceFaq-inner .serviceFaq-en {
  color: var(--mainColor);
}
.serviceFaq-inner .serviceFaq-titleTx {
  color: #000;
  font-size: 16px;
}

.listCnt-item {
  display: flex;
}
.listCnt-item + .listCnt-item {
  margin-top: 40px;
}
.listCnt-titleEn {
  writing-mode: vertical-lr;
  color: var(--mainColor);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  margin: 0;
  width: 60px;
}
.listCnt-txBox {
  display: flex;
  width: 65%;
}
.listCnt-txBoxInner {
  padding-right: 60px;
  width: calc(100% - 60px);
}
.listCnt-imgBox {
  position: relative;
  width: 35%;
}
.listCnt-imgBox::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  border: 2px solid var(--mainColor);
  height: 100%;
  width: 100%;
}

/* ====================
初心者 - コンテンツ追加
==================== */
.beginnerSet-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 70px;
}
.beginnerSet-cardImg {
  margin-bottom: 32px;
}
.beginnerSet-cardTitle {
  font-size: 22px;
  line-height: 1.2;
}
.beginnerSet-cardTitle small {
  font-size: 80%;
  line-height: 1.2;
}
.beginnerSet-cardTx {
  margin: 0.4em 0;
}
.beginnerSet-contact {
  padding-inline: 120px 60px;
  align-items: center;
}
.beginnerSet-contact .shopLineup-contactTxBox,
.beginnerSet-contact .shopLineup-contactImgBox  {
  width: 50%;
}
.beginnerSet-contact .shopLineup-contactImg {
  margin-top: -100px;
}

.beginnerSet-contact .shopLineup-contactTx span {
    display: inline-block;
    background-color: var(--subColor);
    color: #fff;
    line-height: 1;
    padding-inline: 0.5em;
    padding-block: 0.4em;
    font-weight: 600;
    margin-bottom: 0.4em;
}

.beginnerKnowledge-title {
  position: relative;
}

.beginnerKnowledge-title::before {
  content: "";
  position: absolute;
  background: url(../images/original/knowledgeMainItem.png) center / cover no-repeat;
  top: -80px;
  /* left: calc(50% + 400px); */
  left: calc(50% + 33vw);
  transform: translateX(-50%);
  width: clamp(54px,14.8vw,190px);
  height: clamp(53px,14.1vw,180px);
}

.beginnerKnowledge-title span {
  font-size: 24px;
  position: relative;
  padding-inline: 1em;
}
.beginnerKnowledge-title span::before,
.beginnerKnowledge-title span::after {
  content: "";
  position: absolute;
  background-color: var(--mainColor);
  bottom: -2px;
  height: 100%;
  width: 3px;
}

.beginnerKnowledge-title span::before {
  left: 0;
  transform: rotate(-35deg);
}
.beginnerKnowledge-title span::after {
  right: 0;
  transform: rotate(35deg);
}

.begiKnowledge-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
.begiKnowledge-item {
  background-color: #FFE0E3;
  padding: 5px 20px 20px;
}
.begiKnowledge-itemTitle {
  display: grid;
  justify-content: center;
  align-items: center;
  gap: 15px;
  grid-template-columns: 40px auto;
  margin: 0.4em 0;
}
.begiKnowledge-itemTitleIcon {
  border-radius: 50%;
  background-color: var(--mainColor);
  color: #fff;
  font-size: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  font-weight: 600;
  height: 40px;
  width: 40px;
}

.begiKnowledge-itemTitleTx {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
}

.begiKnowledge-itemInner {
  display: grid;
  grid-template-columns: auto 80px;
  align-items: flex-end;
  gap: 20px;
}
.begiKnowledge-itemTx {
  background-color: #fff;
  border-radius: 8px;
  padding: 20px;
  position: relative;
  line-height: 1.3;
}
.begiKnowledge-itemTx::before,
.begiKnowledge-itemTx::after {
  content: "";
  position: absolute;
  background-color: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
}

.begiKnowledge-itemTx::before {
  top: 50%;
  right: -8px;
  height: 20px;
  width: 20px;
}
.begiKnowledge-itemTx::after {
  top: 60%;
  right: -20px;
  height: 10px;
  width: 10px;
}
.begiKnowledge-itemIcon {
  margin-bottom: -8px;
  margin-inline: 10px -10px;
}

.beginnerPoint-tabList {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.beginnerPoint-tab {
  cursor: pointer;
  border: 1px solid #FFE0E3;
  background-color: #FFF1F2;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.2;
  font-size: 20px;
  font-weight: 600;
  padding-block: 20px;
}
.beginnerPoint-tab.active {
  background-color: #FFE0E3;
}

.beginnerPoint-box {
  background-color: #FFE0E3;
  padding-block: 20px 40px;
  padding-inline: 60px;
}

.tabBox-title {
  align-items: center;
  display: inline-flex;
}
.tabBox-titleIcon {
  margin-right: -40px;
  position: relative;
  width: 70px;
  z-index: 2;
}
.tabBox-titleTx {
  text-align: left;
  background-color: #fff;
  padding-inline: 50px 1.5em;
  padding-block: 0.3em;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.3;
  position: relative;
  z-index: 1;
}
.tabBox-titleTx::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background-color: #FFE0E3;
  clip-path: polygon(100% 0%, 0% 50%, 100% 100%);
  height: 100%;
  width: 20px;
  z-index: 2;
}

.tabBox-head .commonTx {
  margin: 0.5em 0;
}

.tabBox-bodyInner + .tabBox-bodyInner {
  margin-top: 60px;
}

.tabBox-innerTitleBox {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 30px;
  margin-bottom: 30px;
}
.tabBox-innerTitle {
  display: inline-block;
  background-color: #fff;
  border-radius: 8px;
  padding-inline: 25px;
  padding-block: 5px;
  position: relative;
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 600;
}
.tabBox-innerTitle::before,
.tabBox-innerTitle::after {
  content: "";
  position: absolute;
  background-color: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
}

.tabBox-innerTitle::before {
  top: 50%;
  right: -8px;
  height: 20px;
  width: 20px;
}
.tabBox-innerTitle::after {
  top: 60%;
  right: -20px;
  height: 10px;
  width: 10px;
}
.tabBox-innerTitleIcon {
  width: 75px;
}

.tabBox-grid {
  display: grid;
}
.tabBox-grid.__col2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 70px;
}
.tabBox-grid.__col4 {
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.tabBox-cardImg {
  margin-bottom: 15px;
}

.tabBox-cardTitle {
  font-size: 20px;
  font-weight: 600;
  color: var(--mainColor);
  line-height: 1.2;
}
.tabBox-cardTitle.tab5CardTitle {
  font-size: 28px;
}
.tabBox-cardTitle.tab5CardTitle small {
  font-size: 73%;
}
.tabBox-cardTitle.tab5CardTitle + .tabBox-cardTx {
  line-height: 1.6;
}

.tabBox-cardTx {
  margin: 0.4em 0;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.tabBox-footBox {
  background-color: #fff;
  display: flex;
  align-items: center;
  padding-inline: 30px;
  padding-block: 10px;
}
.tabBox-footTxBox {
  position: relative;
  width: 82%;
  z-index: 2;
}
.tabBox-footTxBox p {
  margin: 0;
}
.tabBox-footTxBox .tabBox-footLabel {
    display: inline-block;
    background-color: var(--subColor);
    color: #fff;
    line-height: 1;
    padding-inline: 0.5em;
    padding-block: 0.4em;
    font-weight: 600;
    margin-bottom: 0.4em;

}
.tabBox-footImgBox {
  padding-right: 3%;
  width: 18%;
}
.tabBox-footImg {
  margin-block: -40px -10px;
  width: 105%;
}

.tabBox-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
.tabBox-list.__bottom {
  gap: 30px;
}
.tabBox-list.__col3 {
  gap: 20px 5px;
}

.tabBox-list.__col3 .tabBox-card {
  width: calc(100% / 3 - 60px);
}
.tabBox-list .tabBox-card {
  width: calc(100% / 4 - 70px);
}
.tabBox-list.__bottom .tabBox-card {
  width: calc(100% / 5 - 30px);
}

.tabBox-list .tabBox-card .tabBox-cardImg  {
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 172 / 170;
  /* height: 170px;
  width: 172px; */
  max-width: 172px;
  margin-inline: auto;
}
.tabBox-list .tabBox-card .tabBox-cardTitle {
  font-size: 18px;
}
.tabBox-list .tabBox-card .tabBox-cardTx {
  font-size: 14px;
  letter-spacing: 0.03em;
}
.tabBox-list.__col3 .tabBox-card .tabBox-cardTx {
  font-size: 18px;
}

.tabBox-listTitle {
  text-align: center;
  margin: 0.4em 0 2em;
}
.tabBox-listTitle span {
  border-bottom: 2px solid var(--mainColor);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  padding-bottom: 3px;
  display: inline-block;
}

.tabBox-point {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.tabBox-point + .tabBox-point {
  margin-top: 20px;
}
.tabBox-pointIcon {
  width: 125px;
}
.tabBox-pointArw {
  width: 60px;
}
.tabBox-pointImg {
  width: 240px;
}
.tabBox-pointTx {
  position: relative;
  margin: 0;
  padding-inline: 20px;
  padding-block: 10px;
  background-color: #fff;
  border-radius: 8px;
  line-height: 1.2;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.05em;
  width: 250px;
}

.tabBox-pointTx::before,
.tabBox-pointTx::after {
  content: "";
  position: absolute;
  background-color: #fff;
  transform: translateY(-50%);
  border-radius: 50%;
}
.tabBox-pointTx::before {
  height: 20px;
  width: 20px;
  left: -8px;
  top: 50%;
}
.tabBox-pointTx::after {
  height: 10px;
  width: 10px;
  top: 60%;
  left: -20px;
}
.tabBox-pointList {
  position: relative;
  width: 270px;
  z-index: 2;
}
.tabBox-pointList::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 15px solid var(--mainColor);
  aspect-ratio: 1/1;
  max-width: 120px;
  width: 100%;
  opacity: 0.2;
  z-index: -1;
}
.tabBox-pointList li {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
}

.tabPoint-footBox .tabBox-footTxBox {
  width: 80%;
}
.tabPoint-footBox .tabBox-footImgBox {
  padding-right: 0;
  width: 20%;
}

/* ====================
LINE友だち登録 - コンテンツ追加
==================== */
.lineRegist-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.lineRegist-stepHead {
  margin-bottom: 30px;
}
.lineRegist-stepHead .lineRegist-stepSubTitle {
  text-align: center;
}
.lineRegist-stepHead .lineRegist-stepSubTitle span {
  display: inline-block;
  padding-inline: 1em;
  font-size: 20px;
  font-weight: 600;
  position: relative;
}
.lineRegist-stepHead .lineRegist-stepSubTitle span::before,
.lineRegist-stepHead .lineRegist-stepSubTitle span::after {
  content: "";
  position: absolute;
  background-color: var(--mainColor);
  bottom: -2px;
  height: 100%;
  width: 2px;
}
.lineRegist-stepHead .lineRegist-stepSubTitle span::before {
  left: 0;
  transform: rotate(-35deg);
}
.lineRegist-stepHead .lineRegist-stepSubTitle span::after {
  right: 0;
  transform: rotate(35deg);
}
.lineRegist-stepHead .lineRegist-stepTitle {
  background-color: #FFE0E3;
  color: var(--mainColor);
  font-size: 32px;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
  padding-inline: 1em;
  padding-block: 0.4em;
}
.lineRegist-stepBox {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.lineRegist-step + .lineRegist-step {
  margin-top: 50px;
}
.lineRegist-stepItemHead {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}
.lineRegist-stepItemNum {
  border-radius: 50%;
  background-color: var(--mainColor);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 24px;
  margin: 0;
  height: 45px;
  width: 45px;
}

.lineRegist-stepItemTitle {
  text-align: left;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  width: calc(100% - 65px);
}

.lineRegist-stepImg {
  max-width: 400px;
}

.lineCta-block {
  border-radius: 24px;
  background-color: #F5F5F5;
  padding-inline: 60px;
  padding-block: 40px;
  position: relative;
}
.lineCta_person {
  position: absolute;
}

.lineCta_person.__left {
  bottom: 0;
  left: -17vw;
  width: 40%;
}

.lineCta_person.__right {
  bottom: 0;
  right: -10vw;
  width: 33%;
}


.lineCta-blockTitle {
  text-align: center;
  margin: -70px 0 30px;
}
.lineCta-blockTitle span {
  box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.12);
  background-color: #4CC764;
  color: #fff;
  font-size: 24px;
  text-align: center;
  display: inline-block;
  padding-inline: 3em;
  padding-block: 0.3em;
  border-radius: 50px;
  position: relative;
}

.lineCta-blockTitle span::before {
  content: "";
  position: absolute;
  background-color: #4CC764;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  height: 10px;
  width: 20px;
}

.lineCta-blockInner {
  display: grid;
  grid-template-columns: clamp(110px,17.2vw,220px) clamp(110px,20.3vw,260px);
  justify-content: center;
  align-items: center;
  gap: 40px;
}

.lineCta-blockItem > img {
  box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.12);
}

.lineCta-btn {
  box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.12);
  background-color: #4CC764;
  padding-inline: 20px;
  padding-block: 10px;
  border-radius: 16px;
  display: grid;
  grid-template-columns: 50px auto;
  align-items: center;
  gap: 20px;
}

.lineCta-btnTx {
  color: #fff;
  margin: 0;
  font-size: 26px;
  line-height: 1.2;
}

/* ====================
採用情報 - コンテンツ追加
==================== */

.recruitContactWid {
  position: fixed;
  bottom: 60px;
  right: 20px;
  z-index: 9;
}

.recruitContactWid a {
  background: var(--mainColor);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  line-height: 1.3;
  font-size: 20px;
  letter-spacing: 0.05em;
  transition: 0.3s;
  height: 120px;
  width: 120px;
}

.recruitContactWid a:hover {
  opacity: 0.7;
}

.recruitFv-block {
  position: relative;
}
.recruitFv-blockImg {
  display: flex;
  justify-content: center;
}
.recruitFv-img.__01 {
  width: clamp(300px,52.4vw,670px);
}
.recruitFv-img.__02 {
  margin-block: auto -30px;
  margin-inline: -160px -160px;
  width: clamp(240px,36vw,460px);
}
.recruitFv-img.__03 {
  margin-block: auto 60px;
  margin-inline: 40px -30px;
  width: clamp(250px,32vw,410px);
}

.recruitFv-txBox {
  position: absolute;
  top: -50px;
  right: 30px;
}
.recruitConcept-bg {
  padding-block: 15.7vw 10.2vw;
  position: relative;
  
}
.recruitConcept-bg::before,
.recruitConcept-bg::after {
  content: "";
  position: absolute;
  width: 100%;
}
.recruitConcept-bg::before {
  background: url(../images/original/recruitConcept_blueWave.png) center / cover no-repeat;
  aspect-ratio: 1312 / 245;
  top: 0;
}

.recruitConcept-bg::after {
  background: url(../images/original/recruitConcept_whiteWave.png) center / cover no-repeat;
  aspect-ratio: 1600 / 307;
  bottom: 0;
  width: 110%;
  z-index: 2;
}

.recruitConcept-bgInner {
  background-color: var(--subColor);
  color: #fff;
  padding-block: 60px 150px;
  position: relative;
  z-index: 2;
}
.recruitConcept-bg .indexSection-subtitle::after {
  background: #fff;
}
.recruitConcept-block {
  position: relative;
}
.recruitConcept-img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  aspect-ratio: 1/1;
  width: clamp(210px,49.2vw,630px);
  border-radius: 50%;
  overflow: hidden;
  z-index: 1;
}
.recruitConcept-img.__left {
  left: -33%;
}
.recruitConcept-img.__right {
  right: -33%;
}

.recruitMessage-section {
  margin-block: -150px;
}
.recruitMessage-block {
  display: flex;
}
.recruitMessage-imgBox {
  width: 36%;
}
.recruitMessage-txtBox {
  padding-left: 7%;
  width: 64%;
}
.recruitMessage-title {
  font-size: clamp(24px,2.7vw,34px);
  font-weight: 600;
  line-height: 1.4;
}

.recruitMessage-name {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
}
.recruitMessage-name span {
  font-size: 18px;
  line-height: 1.2;
  margin-right: 1em;
  display: inline-block;
}

.recruitWorking-bg {
  position: relative;
  padding-block: 11.8vw 9.4vw;
}
.recruitWorking-bg::before,
.recruitWorking-bg::after {
  content: "";
  position: absolute;
  background: url(../images/original/recruitConcept_whiteWave.png) center / cover no-repeat;
  aspect-ratio: 1600 / 307;
  width: 110%;
  z-index: 2;
}

.recruitWorking-bg::before {
  top: 0;
}
.recruitWorking-bg::after {
  bottom: 0;
}

.recruitWorking-bgInner {
  background-color: #EAF4F9;
  padding-block: 12vw;
}

.recruit-item .serviceFaq-title {
  grid-template-columns: auto 26px;
  padding-block: 15px;
  padding-inline: 50px 30px;
}
.recruit-item .serviceFaq-box {
  border: 1px solid #A1A1A1;
  padding-block: 30px 50px;
  padding-inline: 60px;
}
.recruit-item .serviceFaq-inner {
  grid-template-columns: 1fr;
}
.recruit-item .recruitDetail-dl {
  border-bottom: 1px solid #A1A1A1;
  display: flex;
  padding-block: 1em;
  margin: 0;
}
.recruit-item .recruitDetail-dl:first-of-type {
  border-top: 1px solid #A1A1A1;
}
.recruit-item .recruitDetail-dl dt {
  color: var(--mainColor);
  font-weight: 600;
  width: 180px;
}
.recruit-item .recruitDetail-dl dd {
  width: calc(100% - 180px);
}
.recruit-item + .recruit-item {
  margin-top: 20px;
}

.recruitNumber-section {
  margin-top: -150px;
}

.recruitNumber-block {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}
.recruitNumber-item {
  background-color: #FFE0E3;
  padding-block: 30px;
  padding-inline: 50px;
  min-width: calc(100% / 3 - 20px);
}
.recruitNumber-item p {
  margin: 0;
}
.recruitNumber-title {
  text-align: center;
}
.recruitNumber-title span {
  font-size: 20px;
  font-weight: 600;
  position: relative;
  padding-bottom: 8px;
  line-height: 1.3;
}
.recruitNumber-title span::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--mainColor);
  height: 2px;
  width: 80px;
}

.recruitNumber-itemBox {
  display: grid;
  align-items: center;
  justify-content: center;
  grid-template-columns: 76px auto;
  gap: 10px;
  margin-block: 13px;
}
.recruitNumber-tx {
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  margin: 0;
}
.recruitNumber-tx span {
  color: var(--mainColor);
  font-size: clamp(48px,6.3vw,80px);
  font-weight: 600;
  line-height: 1;
}

.recruitPeople-block {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  justify-content: center;
  gap: 20px;
}
.recruitPeople-itemIcon {
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #FFE0E3;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 170px;
  margin-bottom: 15px;
  margin-inline: auto;
}
.recruitPeople-itemIcon img {
  max-width: 87px;
}
.recruitPeople-itemTx {
  text-align: center;
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
}

.recruitJob-block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;

}
.recruitJob-item {
  background-color: #F5F5F5;
  padding: 30px;
}
.recruitJob-itemHead {
  border-bottom: 2px solid var(--mainColor);
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.recruitJob-itemTitle {
  font-size: 24px;
  font-weight: 600;
  text-align: center;
  line-height: 1;
}

.recruitJob-itemImg {
  margin-bottom: 20px;
}
.recruitJob-itemBox + .recruitJob-itemBox {
  margin-top: 20px;
}
.recruitJob-itemBox .recruitJob-itemBoxTitle {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #fff;
  background-color: var(--mainColor);
  line-height: 1;
  padding-inline: 0.4em;
  padding-block: 0.3em;
  display: inline-block;
}
.recruitJob-itemBoxlist {
  padding-left: 0;
  margin: 0;
}
.recruitJob-itemBoxlist li {
  list-style: none;
  position: relative;
  padding-left: 15px;
  line-height: 1;
  font-weight: 600;
  margin-block: 0.5em;
}
.recruitJob-itemBoxlist li::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  background-color: var(--mainColor);
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  height: 5px;
  width: 5px;
}
.recruitJob-itemBoxTx {
  margin: 0.7em 0 0;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.recruitJob-itemBoxDl {
  display: grid;
  grid-template-columns: 80px auto;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
}
.recruitJob-itemBoxDl + .recruitJob-itemBoxDl {
  margin-top: 10px;
}
.recruitJob-itemBoxDl dt {
  color: var(--mainColor);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 1.5em;
  line-height: 1;
}
.recruitJob-itemBoxDl dt::before {
  content: "";
  position: absolute;
  background: url(../images/original/clock.svg) center / cover no-repeat;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  height: 1em;
  width: 1em;
}

.recruitJob-itemBoxDl dd {
  font-size: 14px;
  line-height: 1.4;
}
.recruitJob-itemBoxDl dd span {
  font-size: 16px;
  line-height: 1.4;
}

.recruitInterview-txtBox p,
.recruitInterview-innerDl {
  margin: 0;
}
.recruitInterview-item {
  background-color: #EAF4F9;
  padding-block: 30px;
  padding-inline: 60px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.recruitInterview-item + .recruitInterview-item {
  margin-top: 30px;
}
.recruitInterview-imgBox {
  padding-right: 10%;
}
.recruitInterview-txtBox .recruitInterview-info {
  font-size: 12px;
  margin-bottom: 10px;
}


.recruitInterview-innerDl {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dashed #FFABB3;
}

.recruitInterview-innerDl dt {
  color: var(--mainColor);
  font-weight: 600;
}
.recruitInterview-innerDl dd {
  margin-top: 5px;
}

.recruitStep-item {
  background-color: #FFE0E3;
  padding-block: 30px;
  padding-inline: 60px;
  margin-inline: 120px 60px;
  align-items: center;
  display: grid;
  grid-template-columns: 350px auto;
  gap: 20px;
  position: relative;
}
.recruitStep-item::before {
  content: attr(data-step);
  font-size: 40px;
  font-weight: 600;
  color: var(--mainColor);
  position: absolute;
  top: 50%;
  left: -80px;
  transform: translateY(-50%);
}
.recruitStep-item + .recruitStep-item {
  margin-top: 20px;
}
.recruitStep-title {
  color: var(--mainColor);
  font-size: 28px;
  font-weight: 600;
  line-height: 1.2;
}
.recruitStep-tx {
  margin: 0;
}

.recruitStep-item + .recruitStep-item::after {
  content: "";
  position: absolute;
  background: url(../images/original/recruitStep_arw.svg) center / cover no-repeat;
  left: -60px;
  top: -5%;
  transform: translateY(-50%);
  height: 72px;
  width: 8px;
}

/* ====================
会社情報 - コンテンツ追加
==================== */
.aboutFv-block {
  position: relative;
}
.aboutFv-img {
  position: absolute;
  box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.12);
}
.aboutFv-img.__01 {
  top: -30px;
  right: -60px;
  aspect-ratio: 370 / 250;
  width: clamp(250px,29vw,370px);
  z-index: 1;
}
.aboutFv-img.__02 {
  top: 200px;
  right: 0;
  aspect-ratio: 190 / 225;
  width: clamp(120px,14.9vw,190px);
  z-index: 2;
}
.aboutFv-img.__03 {
  top: 50px;
  left: 60px;
  aspect-ratio: 205 / 235;
  width: clamp(180px,16.1vw,205px);
  z-index: 2;
}
.aboutFv-img.__04 {
  top: 240px;
  left: -80px;
  aspect-ratio: 315 / 215;
  width: clamp(220px,24.7vw,315px);
  z-index: 1;
}

.aboutMessage-block {
  background-color: #FFE0E3;
  padding-block: 40px;
  padding-inline: 60px;
}
.aboutMessage-inner {
  display: flex;
  align-items: center;
}
.aboutMessage-imgBox {
  width: 35%;
}
.aboutMessage-img {
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1/1;
  max-width: 357px;
}
.aboutMessage-txtBox {
  padding-left: 5%;
  width: 65%;
}

.aboutMessage-title {
  font-size: 34px;
  line-height: 1.2;
}
.aboutMessage-tx {
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin: 0.4em 0;
}
.aboutMessage-name {
  text-align: right;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin: 0.4em 0 0;
}
.aboutMessage-name span {
  font-size: 18px;
  margin-right: 1em;
}




.aboutCompany-dl {
  display: grid;
  grid-template-columns: 145px auto;
}
.aboutCompany-dl dt, 
.aboutCompany-dl dd {
  padding-bottom: 1em;
}
.aboutCompany-dl dt {
  border-bottom: 2px solid var(--mainColor);
  font-weight: 600;
}
.aboutCompany-dl dd {
  line-height: 1.4;
  border-bottom: 1px solid #B7B7B7;
}


/* ====================
お問い合わせ - コンテンツ追加
==================== */
.contactForm {
  width: 100%;
  margin: 0 auto;
}
.contactForm textarea {
  width: 100%;
  height: 14rem !important;
}
.contactForm input[type="checkbox"] {
  width: auto;
}

.mw_wp_form button {
  max-width: 70%;
  color: #fff;
  border-radius: 0;
  background: #deba29;
}

.cform {
  width: 100%;
  margin: auto;
}

.cform tr {
  border-bottom: solid 1px #d6d6d6;
}

.cform th {
  font-size: 14px;
  width: 35%; /*変なところで改行される場合はここの数字を変更します。*/
  padding: 10px 0 10px 15px;
  font-weight: normal;
  vertical-align: middle;
  text-align: left;
  position: relative;
}

.cform th .title {
  width: 72%;
  display: inline-block;
}

.cform th .required-srt {
  font-size: 12px;
  padding: 0.5em 1em;
  background: #ce0000;
  color: #fff;
  border-radius: 3px;
  margin-right: 0;
  width: 4.5em;
  vertical-align: middle;
  display: inline-block;
}

/* tr:last-child & に相当する指定 */
.cform tr:last-child th .required-srt {
  top: 41%;
}

/* @include sp に対応するメディアクエリ（スマホ想定） */
@media (max-width: 767px) {
  .cform th .required-srt {
    top: auto;
    bottom: 10%;
  }
}

.cform td {
  font-size: 14px;
  line-height: 150%;
  padding: 2% 0;
}

.cform td p {
  color: #8e8e8e;
  margin: 0;
}


.cform [type="submit"] {
  display: inline-block;
  font-size: 20px;
  padding: 10px 30px;
  text-decoration: none;
  background: #ff8f00;
  color: #fff;
  border-bottom: solid 4px #b17c00;
  border-radius: 3px;
}

.cform option,
.cform textarea,
.cform input[type="text"],
.cform input[type="email"],
.cform input[type="search"],
.cform input[type="url"] {
  width: 100%;
  height: 2rem;
  font-size: 14px;
  padding: 1.5rem;
  background-color: #f1f0f3;
  border: 1px solid transparent;
  border-radius: 5px;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}

.contactFormPrivacyAlertBox {
  border: 2px solid #333;
  padding: 5%;
}

@media only screen and (max-width: 767px) {
  .cform th,
  .cform td {
    width: 100%;
    display: block;
    border-top: none;
  }
}

.policyLink {
  color: var(--subColor);
  text-decoration: underline;
}


.button,
.submit-btn input {
  padding: 1.25rem 7rem;
  display: inline-block;
  margin: 0 auto;
  border: 1px solid #007BFF;
  background-color: #007BFF;
  color: #fff;
  position: relative;
  transition: 0.3s;
}

.button::after,
.submit-btn input::after {
  position: absolute;
  top: 50%;
  right: 1em;
  width: 0.5em;
  height: 0.5em;
  transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  content: "";
}

.button:hover,
.submit-btn input:hover {
  background-color: #fff;
  opacity: 1;
  color: #007BFF;
  border: 1px solid #007BFF;
}

.button.buttonWhite {
  background-color: #fff;
  color: #007BFF;
  border: 1px solid #007BFF;
}

.button.buttonWhite:hover {
  background-color: #007BFF;
  color: #fff;
  border: 1px solid #fff;
}

.button.buttonTrans {
  background-color: transparent;
  color: #fff;
  border: 1px solid #fff;
}

.button.buttonTrans:hover {
  background-color: #007BFF;
  color: #fff;
}

.button.buttonL {
  padding: 1.5rem 7rem;
  border-radius: 50px;
}

.button.buttonXl {
  width: 100%;
  padding: 2rem;
}

@media (max-width: 768px) {
  .button,
  .submit-btn input {
    padding: 1rem 4rem;
  }
}

@media (max-width: 480px) {
  .button,
  .submit-btn input {
    padding: 1rem 5rem;
  }
}

.buttonS {
  padding: 0.7rem 3rem;
}

.buttonS::after {
  display: none;
}

.buttonXs {
  padding: 0.5rem 4rem;
}

@media (max-width: 768px) {
  .buttonXs {
    padding: 0.5rem 4rem;
  }
}

.submit-btn {
  text-align: center;
  margin-top: 4%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}

.submit-btn + .submit-btn {
  margin-top: 2%;
}

@media (max-width: 480px) {
  .submit-btn {
    flex-direction: column;
  }
}

.submit-btn input {
  transition: 0.3s;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.07em;
  padding: 1.5em 4.5em;
  cursor: pointer;
}






/* レスポンシブ - tab */
@media screen and (min-width: 768px) and (max-width: 960px) {
  /* ====================
  トップページ - コンテンツ追加
  ==================== */
  .h3_title {
    font-size: clamp(22px,3.5vw,34px);
  }
  .oriTx {
    font-size: 14px;
  }

  .indexService-grid {
    gap: 15px;
  }
  .indexService-cardTitle {
    font-size: 20px;
  }
  .indexService-cardSubTitle {
    font-size: 18px;
  }

  .indexBegiiner-boxLeft {
    width: 35%;
  }
  .indexBegiiner-boxRight {
    width: 65%;
  }

  .indexBegiiner-boxInner {
    padding-inline: 10px;
  }

  .otherLink-box {
    gap: 10px;
  }
  .otherLink-boxItem {
    padding-block: 2.7em;
  }
  .otherLink-boxItemTitle {
    font-size: 20px;
  }

  /* ====================
  店舗案内 - コンテンツ追加
  ==================== */
  .shopLineup-title {
    font-size: 22px;
  }
  .shopLineup-subTitle {
    font-size: 16px;
  }
  .shopLineup-itemTitle {
    font-size: 24px;
  }

  .shopLineup-contact {
    padding-inline: 30px;
  }
  .shopLineup-contactTitle {
    font-size: 25px;
  }
  .shopLineup-contactTitle span {
    font-size: 38px;
  }
  .shopLineup-contactTitle small {
    font-size: 22px;
  }
  .shopLineup-contactImg {
    margin: 0;
  }
  .shopService-itemImg {
    min-height: 200px;
  }
  .newInformation-grid {
    padding-inline: 30px;
    gap: 60px;
  }

  /* ====================
  取り扱い商品・サービスについて - コンテンツ追加
  ==================== */
  .serviceLink-block {
    gap: 20px;
  }
  .serviceLink-btn {
    grid-template-columns: 65px auto;
  }
  .serviceLink-img {
    padding-bottom: 75px;
  }
  .serviceCnt-left {
    padding-inline: 20px;
    padding-block: 40px;
  }

  .serviceCnt-titleBox .serviceCnt-title {
    font-size: 32px;
  }
  .serviceCnt-titleBox .serviceCnt-number {
    font-size: 26px;
    height: 50px;
    width: 50px;
  }
  .serviceCnt-subTitle {
    font-size: 21px;
  }
  .serviceCnt-cardTitle {
    font-size: 18px;
  }
  .serviceCnt-stepGrid {
    grid-template-columns: repeat(3, 1fr);
  }

  /* ====================
  初心者 - コンテンツ追加
  ==================== */
  .begiKnowledge-grid {
    gap: 10px;
  }
  .begiKnowledge-itemTitle {
    grid-template-columns: 30px auto;
  }
  .begiKnowledge-itemTitleIcon {
    height: 30px;
    width: 30px;
  }
  .begiKnowledge-itemTitleTx {
    font-size: 20px;
  }
  .beginnerPoint-tab {
    font-size: 14px;
  }
  .beginnerPoint-box {
    padding-inline: 30px;
  }
  .tabBox-innerTitle {
    font-size: 18px;
  }
  .tabBox-grid.__col4 {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  .tabBox-list.__bottom {
    gap: 20px 30px;
  }
  .tabBox-list .tabBox-card {
    width: calc(100% / 3 - 40px);
  }
  .tabBox-list.__bottom .tabBox-card {
    width: calc(100% / 3 - 30px);
  }
  .tabBox-pointTx {
    font-size: 20px;
    padding-inline: 15px;
  }
  .tabBox-pointIcon {
    width: 85px;
  }
  .tabBox-pointArw {
    width: 35px;
  }
  .tabBox-pointImg {
    width: 200px;
  }
  .tabBox-pointList {
    padding-left: 20px;
  }
  .tabBox-pointList li {
    font-size: 18px;
  }
  .tabBox-list.__col3 {
    gap: 20px;
  }
  .tabBox-list.__col3 .tabBox-card .tabBox-cardTx {
    font-size: 16px;
  }
  .tabBox-cardTitle.tab5CardTitle {
    font-size: 24px;
  }

  /* ====================
  LINE友だち登録 - コンテンツ追加
  ==================== */
  .lineCta-blockInner {
    grid-template-columns: 150px 240px;
    gap: 20px;
  }
  .lineCta_person.__left {
    left: -15px;
    width: 23%;
  }
  .lineCta_person.__right {
    right: -10px;
    width: 20%;
  }


  /* ====================
  採用情報 - コンテンツ追加
  ==================== */
  .recruitFv-txBox {
    width: 64%;
  }
  .recruitFv-img.__01 {
    margin-left: -50px;
    width: 460px;
  }
  .recruitFv-img.__02 {
    width: 300px;
  }
  .recruitFv-img.__03 {
    width: 300px;
  }
  .recruitConcept-bgInner {
    padding-block: 20px 250px;
  }
  .recruitConcept-img {
    top: 135%;
  }
  .recruitMessage-section {
    margin-block: -70px;
  }
  .recruitNumber-itemBox {
    grid-template-columns: 44px auto;
  }
  .recruitNumber-item {
    padding-inline: 10px;
  }
  .recruitNumber-itemTx {
    font-size: 14px;
  }
  .recruitNumber-section {
    margin-top: -70px;
  }
  .recruitPeople-itemTx {
    font-size: 18px;
  }
  .recruitInterview-item {
    padding-inline: 30px;
  }
  .recruitStep-item {
    grid-template-columns: repeat(2, 1fr);
    padding-inline: 30px;
    margin-inline: 120px 30px;
  }
  .recruitStep-title {
    font-size: 24px;
  }
  .recruit-item .serviceFaq-box {
    padding-inline: 30px;
  }

  /* ====================
  会社情報 - コンテンツ追加
  ==================== */
  .aboutFv-img.__01 {
    right: 0;
  }
  .aboutFv-img.__02 {
    top: 100px;
    right: -10px;
    width: 100px;
  }
  .aboutFv-img.__03 {
    top: -30px;
    left: 30px;
  }
  .aboutFv-img.__04 {
    top: 140px;
    left: -140px;
  }

  .aboutMessage-block {
    padding-inline: 40px;
  }
  .aboutMessage-title {
    font-size: 26px;
  }
}

/* レスポンシブ - sp */
@media screen and (max-width: 767px) {
  /* 既存ソース編集 start */
  .indexSection-link a {
    overflow: unset;
  }
  .indexSection-link a::before {
    content: none;
  }
  /* 既存ソース編集 end */
  .h3_title {
    line-height: 1.2;
  }
  .h3_title span {
    line-height: 1.2;
  }
  /* modal */
  .staffModal-close {
    width: 34px;
  }
  .staffModal-itemInner {
    flex-direction: column;
    max-height: 80vh;
    overflow-y: auto;
  }
  .staffModal-itemImg {
    margin-inline: auto;
    margin-bottom: 5%;
    width: 65%;
  }
  .staffModal-itemTxBox {
    padding-left: 0;
    width: 100%;
  }
  .staffModal-itemInner {
    padding: 20px;
  }
  /* ====================
  トップページ - コンテンツ追加
  ==================== */
  .commonSubTitle {
    font-size: 18px;
    margin-bottom: 3%;
  }
  .commonSubTitle.__middle {
    font-size: 23px;
  }
  .commonTx,
  .oriTx {
    font-size: 14px;
  }
  .indexService-grid{
    grid-template-columns: 0.85fr;
    justify-content: center;
    gap: 30px;
  }
  .indexService-cardTitle {
    font-size: 22px;
  }
  .indexService-cardSubTitle {
    font-size: 18px;
  }
  .indexOnline-box {
    flex-direction: column;
    padding: 5px 10px 20px;
  }
  .indexOnline-boxLeft {
    margin-inline: auto;
    width: 50%;
  }
  .indexOnline-boxLeftImg {
    margin-top: -50px;
    margin-bottom: 0;
    margin-left: 0;
  }
  .indexOnline-boxRight {
    padding-left: 0;
    width: 100%;
  }
  .indexOnline-link {
    text-align: center;
    margin-block: 10px -10px;
  }
  .indexStaff-list {
    margin: 0 0 2em;
  }

  .indexBegiiner-box {
    flex-direction: column;
    position: relative;
  }

  .indexBegiiner-boxLeft {
    position: absolute;
    top: 180px;
    right: 0;
    width: 31%;
  }
  .indexBegiiner-boxRight {
    width: 100%;
  }
  .indexBegiiner-boxInner {
    padding-inline: 15px;
    padding-block: 25px 50px;
    width: calc(100% + 30px);
    margin-left: -15px;
  }
  .indexBegiiner-boxList {
    padding-left: 0;
  }
  .indexBegiiner-boxListItem a {
    font-size: 14px;
  }

  .indexBegiiner-boxTitle {
    width: 60%;
  }
  .lineSection {
    margin-block: 30px 60px;
  }

  .otherLink-box {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .otherLink-boxItem {
    padding-block: 2.5em;
  }
  .otherLink-boxItemTitle {
    font-size: 20px;
  }
  /* ====================
  店舗案内 - コンテンツ追加
  ==================== */
  .shopMain-box {
    flex-direction: column;
  }
  .shopMain-txBox {
    padding-right: 0;
    width: 100%;
  }
  .shopMain-imgBox {
    width: 100%;
  }
  .shopFloor-box {
    grid-template-columns: 0.85fr;
    justify-content: center;
    gap: 20px;
  }
  .shopLineup-block + .shopLineup-block {
    margin-top: 45px;
  }
  .shopLineup-head {
    display: block;
    padding-inline: 1em;
    padding-block: 0.8em;
    margin-bottom: 40px;
  }
  .shopLineup-title {
    font-size: 22px;
    margin-bottom: 0.2em;
  }
  .shopLineup-itemTx {
    margin: 0.25em 0;
  }
  .shopLineup-subTitle {
    font-size: 16px;
    line-height: 1.2;
  }
  .shopLineup-item,
  .shopLineup-item.reverse {
    flex-direction: column-reverse;
  }
  .shopLineup-txBox {
    width: 100%;
  }
  .shopLineup-imgBox {
    margin-inline: auto;
    margin-bottom: 3%;
    width: 85%;
  }
  .shopLineup-itemTitle {
    font-size: 22px;
  }

  .shopLineup-contact {
    display: block;
    padding-block: 20px 0;
    padding-inline: 30px;
  }
  .shopLineup-contactTxBox {
    padding-right: 0;
    width: 100%;
  }
  
  .shopLineup-contactImgBox {
    width: 100%;
  }
  .shopLineup-contactImg {
    margin-top: 10px;
    margin-bottom: 0;
    width: 70%;
    margin-inline: auto;
  }

  .shopLineup-contactTitle {
    font-size: 26px;
  }
  .shopLineup-contactTitle span {
    font-size: 32px;
  }
  .shopLineup-contactTitle small {
    font-size: 22px;
  }

  .shopAccess-block.__col2 {
    flex-direction: column;
  }
  .shopAccess-block.__col2 .shopAccess-infoBox {
    width: 100%;
  }
  .shopAccess-block.__col2 .shopAccess-imgBox {
    padding-left: 0;
    padding-top: 3%;
    width: 100%;
  }
  .shopAccess-title {
    border-left-width: 6px;
    font-size: 22px;
  }
  .shopAccess-accessDl > dt,
  .shopAccess-accessDl dd dl dt,
  .shopAccess-mapTx {
    font-size: 16px;
  }

  .shopAccess-infoInner.inlinePadding {
    padding-inline: 15px;
  }

  .shopAccess-shopDl dt {
    width: 80px;
  }

  .shopAccess-shopDl dd {
    width: calc(100% - 80px);
  }
  .shopService-block {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .shopService-item {
    padding: 20px 15px;
  }
  .shopService-itemTitle span {
    font-size: 24px;
    padding-inline: 0.1em;
  }
  .shopService-itemTitle span small {
    font-size: 18px;
  }
  .shopService-itemImg {
    min-height: 200px;
  }

  .shopService-itemOtherTitle {
    margin-top: -32px;
  }
  .shopService-itemOtherTitle span {
    font-size: 14px;
  }
  .shopService-itemOther ul li {
    font-size: 14px;
  }
  .shopService-itemOther ul li::before {
    height: 14px;
    width: 14px;
  }
  .shopService-itemOther {
    padding: 20px;
  }
  .newInformation-grid {
    grid-template-columns: 0.8fr;
    justify-content: center;
    gap: 30px;
    padding-inline: 0;
  }
  /* ====================
  取り扱い商品・サービスについて - コンテンツ追加
  ==================== */
  .serviceLink-block {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .serviceLink-img {
    padding-bottom: 85px;
  }
  .serviceCnt-head {
    display: flex;
    flex-direction: column-reverse; 
  }

  .serviceCnt-left {
    padding-inline: 15px;
    padding-block: 15px;
  }

  .serviceCnt-titleBox {
    gap: 15px;
    margin-bottom: 10px;
  }

  .serviceCnt-titleBox .serviceCnt-number {
    font-size: 22px;
    height: 45px;
    width: 45px;
  }
  .serviceCnt-subTitle {
    font-size: 20px;
  }

  .serviceCnt-titleBox .serviceCnt-title {
    font-size: 26px;
  }

  .serviceCnt-cardImg {
    margin-bottom: 1em;
  }
  .serviceCnt-itemBody {
    grid-template-columns: repeat(2, 1fr);
  }
  .serviceCnt-cardTitle {
    font-size: 18px;
  }

  .serviceCnt-table table th,
  .serviceCnt-table table th:last-of-type {
    width: 50%;
  }

  .serviceCnt-table table th,
  .serviceCnt-table table td {
    padding: 10px;
  }

  .serviceCnt-table table th {
    font-size: 18px;
  }

  .serviceCnt-table table td {
    font-size: 14px;
    line-height: 1.3;
  }

  .serviceCnt-stepTitleBox {
    font-size: 17px;
  }
  .serviceCnt-stepTitleBox span.num {
    font-size: 27px;
  }
  .serviceCnt-stepTitleBox span {
    font-size: 21px;
  }
  .serviceCnt-stepGrid {
    grid-template-columns: 0.7fr;
  }
  .serviceCnt-stepImg {
    margin-inline: auto;
    width: 75%;
  }
  .serviceCnt-stepItem + .serviceCnt-stepItem::before {
    top: -45px;
    transform: translate(-50%, 0) rotate(90deg);
    left: 50%;
  }

  .listCnt-item {
    flex-direction: column-reverse;
  }
  .listCnt-item + .listCnt-item {
    margin-top: 20px;
  }
  .listCnt-txBox {
    width: 100%;
  }
  .listCnt-titleEn {
    font-size: 15px;
    width: 40px;
  }
  .listCnt-txBoxInner {
    padding-right: 0;
    width: calc(100% - 40px);
  }
  .listCnt-imgBox {
    margin-inline: auto;
    margin-bottom: 7%;
    width: 85%;
  }
  .serviceFaq-title{
    grid-template-columns: 30px auto 20px;
    padding-inline: 15px;
    padding-block: 8px;
  }
  .serviceFaq-en {
    font-size: 27px;
  }
  .serviceFaq-titleTx {
    font-size: 16px;
  }
  .serviceFaq-inner .serviceFaq-titleTx {
    font-size: 14px;
  }
  .serviceFaq-icon {
    height: 16px;
    width: 16px;
  }
  .serviceFaq-inner {
    grid-template-columns: 30px auto;
    padding-inline: 15px;
    padding-block: 8px;
  }

  /* ====================
  初心者 - コンテンツ追加
  ==================== */
  .beginnerSet-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .beginnerSet-card + .beginnerSet-card {
    border-top: 1px solid #A1A1A1;
    padding-top: 15px;
    margin-top: 15px;
  }

  .beginnerSet-cardImg {
    margin-bottom: 20px;
  }
  .beginnerSet-contact {
    padding-inline: 20px;
  }
  .beginnerSet-contact .shopLineup-contactTxBox,
  .beginnerSet-contact .shopLineup-contactImgBox {
    width: 100%;
  }
  .beginnerSet-contact .shopLineup-contactImg {
    margin-top: 0;
  }

  .beginnerKnowledge-title span{
    font-size: 16px;
    padding-inline: 0.7em;
  }
  .beginnerKnowledge-title::before {
    left: auto;
    right: -30px;
    width: 54px;
    height: 53px;
    top: -60px;
  }
  .begiKnowledge-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .begiKnowledge-itemTitle {
    gap: 10px;
    grid-template-columns: 30px auto;
  }
  .begiKnowledge-itemTitleIcon {
    font-size: 16px;
    height: 30px;
    width: 30px;
  }
  .begiKnowledge-itemTitleTx {
    font-size: 18px;
  }
  .begiKnowledge-itemInner {
    grid-template-columns: auto 60px;
  }
  .begiKnowledge-itemTx {
    padding: 10px 10px;
    position: relative;
    font-size: 14px;
  }

  .beginnerPoint-tabList {
    grid-template-columns: repeat(6, 1fr);
  }
  .beginnerPoint-tab {
    font-size: 12px;
    padding-block: 15px;
  }
  .beginnerPoint-tab:nth-child(1) {
    grid-row: 1/2;
    grid-column: 1/3;
  }
  .beginnerPoint-tab:nth-child(2) {
    grid-row: 1/2;
    grid-column: 3/5;
  }
  .beginnerPoint-tab:nth-child(3) {
    grid-row: 1/2;
    grid-column: 5/7;
  }
  .beginnerPoint-tab:nth-child(4) {
    grid-row: 2/3;
    grid-column: 1/4;
  }
  .beginnerPoint-tab:nth-child(5) {
    grid-row: 2/3;
    grid-column: 4/7;
  }

  .beginnerPoint-box {
    padding-block: 10px 20px;
    padding-inline: 10px;
  }
  .tabBox-titleIcon {
    margin-right: -20px;
    width: 50px;
  }
  .tabBox-titleTx {
    font-size: 16px;
    padding-inline: 25px 1.5em;
  }
  .tabBox-innerTitle {
    padding-inline: 10px;
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
  }

  .tabBox-grid.__col2 {
    grid-template-columns: 0.85fr;
    justify-content: center;
    gap: 20px;
  }
  .tabBox-grid.__col4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 10px;
  }
  .tabBox-cardTitle {
    font-size: 17px;
  }
  .tabBox-cardTitle.tab5CardTitle {
    font-size: 22px;
  }

  .tabBox-footBox {
    padding-inline: 15px;
    flex-direction: column-reverse;
  }
  .tabBox-footTxBox,
  .tabPoint-footBox .tabBox-footTxBox {
    width: 100%;
  }
  .tabBox-footImgBox {
    padding: 0;
    width: 40%;
  }
  .tabPoint-footBox .tabBox-footImgBox {
    width: 50%;
  }
  .tabBox-footImg {
    margin-block: -30px -10px;
  }
  .tabBox-list {
    gap: 10px;
  }
  .tabBox-list.__bottom {
    gap: 20px;
  }
  .tabBox-list .tabBox-card,
  .tabBox-list.__bottom .tabBox-card {
    width: calc(100% / 2 - 10px);
  }
  /* .tabBox-list .tabBox-card .tabBox-cardImg {
    height: 110px;
    width: 112px;
  } */
  .tabBox-list .tabBox-card .tabBox-cardTitle {
    font-size: 16px;
  }

  .tabBox-point {
    flex-wrap: wrap;
  }
  .tabBox-pointIcon {
    width: 70px;
  }
  .tabBox-pointTx {
    padding-inline: 15px;
    font-size: 18px;
    max-width: 210px;
  }
  .tabBox-pointArw {
    width: 32px;
  }
  .tabBox-pointImg {
    width: 140px;
  }
  .tabBox-pointList {
    padding-left: 10px;
  }
  .tabBox-pointList {
    width: 120px;
  }
  .tabBox-pointList li {
    font-size: 14px;
  }
  .tabBox-pointList::before {
    max-width: 100px;
    border-width: 10px;
  }
  .tabBox-list.__col3 {
    gap: 20px;
  }
  .tabBox-list.__col3 .tabBox-card {
    width: calc(100% / 2 - 10px);
  }
  .tabBox-list.__col3 .tabBox-card .tabBox-cardTx {
    font-size: 12px;
  }

  /* ====================
  LINE友だち登録 - コンテンツ追加
  ==================== */
  .lineRegist-benefits {
    grid-template-columns: 0.7fr;
    gap: 10px;
    justify-content: center;
  }
  .lineRegist-stepHead .lineRegist-stepSubTitle span {
    font-size: 16px;
  }
  .lineRegist-stepHead .lineRegist-stepTitle {
    font-size: 22px;
  }

  .lineRegist-stepBox {
    grid-template-columns: 0.85fr;
    justify-content: center;
  }
  .lineRegist-stepItemHead {
    gap: 10px;
  }
  .lineRegist-stepItemNum {
    font-size: 18px;
    height: 35px;
    width: 35px;
  }
  .lineRegist-stepItemTitle {
    font-size: 18px;
    width: calc(100% - 45px);
  }

  .lineCta-block {
    padding-inline: 20px;
    padding-bottom: 200px;
  }
  .lineCta-blockTitle span {
    font-size: 18px;
    padding-inline: 1.6em;
  }
  .lineCta-blockInner {
    grid-template-columns: 0.8fr;
    justify-content: center;
    gap: 20px;
  }
  .lineCta-blockItem {
    text-align: center;
  }
  .lineCta-blockItem > img {
    width: 50%;
  }

  .lineCta-btn {
    text-align: left;
    grid-template-columns: 40px auto;
  }
  .lineCta-btnTx {
    font-size: 20px;
  }

  .lineCta_person.__left {
    bottom: 0;
    left: 0;
    width: 50%;
  }
  .lineCta_person.__right {
        right: 40px;
        width: 40%;
  }

  /* ====================
  採用情報 - コンテンツ追加
  ==================== */
  .recruitContactWid {
    bottom: 0;
    right: auto;
    left: 0;
    width: 100%;
    z-index: 9;
  }

  .recruitContactWid a {
    border-radius: 0;
    height: 60px;
    width: auto;
    padding-inline: 1em;
    padding-block: 1em;
    font-size: 14px;
  }
  .recruitFv-blockImg {
    flex-direction: column;
  }
  .recruitFv-img.__02 {
    margin-block: -80px 0;
    margin-inline: auto 5px; 
  }
  .recruitFv-img.__03 {
    margin-block: -60px 0;
    margin-inline: 30px 0px;
  }
  .recruitFv-txBox {
    top: 50%;
    right: auto;
    transform: translate(-50%, -50%) rotate(5deg);
    width: 90%;
    left: 50%;
  }
  .recruitConcept-bgInner {
    padding-block: 20px 220px;
  }
  .recruitConcept-img {
    top: 140%;
  }
  .recruitConcept-img.__left {
    left: -21%;
  }
  .recruitConcept-img.__right {
    right: -21%;
  }
  .recruitMessage-section {
    margin-block: -30px;
  }
  .recruitMessage-block {
    flex-direction: column;
  }
  .recruitMessage-imgBox {
    margin-inline: auto;
    margin-bottom: 5%;
    width: 60%;
  }
  .recruitMessage-txtBox {
    padding-left: 0;
    width: 100%;
  }

  .recruitMessage-name {
    font-size: 22px;
  }
  .recruitMessage-name span {
    font-size: 16px;
  }
  .recruitNumber-section {
    margin-block: -30px 0;
  }

  .recruitNumber-block {
    gap: 10px;
  }
  .recruitNumber-item {
    padding-block: 20px;
    padding-inline: 10px;
    width: 100%;
  }
  .recruitNumber-title span {
    font-size: 18px;
  }

  .recruitNumber-itemBox {
    grid-template-columns: 30px auto;
    gap: 5px;
  }
  .recruitNumber-tx {
    font-size: 22px;
    letter-spacing: 0.05em;
  }
  .recruitNumber-tx span {
    font-size: 48px;
  }
  .recruitNumber-itemTx {
    font-size: 14px;
    line-height: 1.4;
  }

  .recruitPeople-block {
    grid-template-columns: repeat(2, 1fr);
    padding-inline: 20px;
  }
  .recruitPeople-itemIcon img {
    width: 67px;
  }
  .recruitPeople-itemTx {
    font-size: 16px;
  }

  .recruitJob-block {
    grid-template-columns: 1fr;
  }

  .recruitJob-item {
    padding: 20px 10px;
  }
  .recruitJob-itemTitle {
    font-size: 20px;
  }
  .recruitJob-itemBox .recruitJob-itemBoxTitle {
    font-size: 16px;
  }
  .recruitJob-itemBoxTx {
    font-size: 14px;
  }
  .recruitJob-itemBoxDl {
    grid-template-columns: 70px auto;
  }
  .recruitJob-itemBoxDl dt {
    font-size: 16px;
  }

  .recruitInterview-item {
    padding-inline: 20px;
    grid-template-columns: 1fr;
  }

  .recruitInterview-imgBox {
    padding-right: 0;
    margin-inline: auto;
    margin-bottom: 5%;
    width: 75%;
  }
  
  .recruitStep-item {
    grid-template-columns: 1fr;
    margin-inline: 30px 0;
    padding-block: 10px;
    padding-inline: 20px;
    gap: 0;
  }

  .recruitStep-item::before {
    font-size: 26px;
    left: -37px;
  }
  .recruitStep-item + .recruitStep-item {
    margin-top: 10px;
  }
  .recruitStep-item + .recruitStep-item::after {
    left: -27px;
    top: -11%;
  }

  .recruitStep-title {
    font-size: 20px;
  }
  .recruit-item + .recruit-item {
    margin-top: 10px;
  }
  .recruit-item .serviceFaq-box {
    padding-inline: 15px;
    padding-block: 20px 30px;
  }
  .recruit-item .serviceFaq-title {
    padding-inline: 20px 10px;
  }
  .recruit-item .recruitDetail-dl {
    padding-block: 0.4em;
  }
  .recruit-item .recruitDetail-dl dt {
    width: 80px;
  }
  .recruit-item .recruitDetail-dl dd {
    width: calc(100% - 80px);
  }
  .recruit-item .recruitDetail-dl dt,
  .recruit-item .recruitDetail-dl dd {
    font-size: 14px;
  }

  .recruitConcept-bg::after,
  .recruitWorking-bg::before, .recruitWorking-bg::after {
    width: 100%;
  }


  /* ====================
  会社情報 - コンテンツ追加
  ==================== */
  .spSlideImgs {
    margin-inline: -15px;
    width: calc(100% + 30px);
    padding-bottom: 30px;
    margin-top: 30px;
  }
  .spSlideImgs .swiper-wrapper {
    transition-timing-function: linear !important;
  }
  .aboutFv-img {
    position: static;
    width: auto;
  }
  .aboutFv-img.__02 {
    margin-block: auto -30px;
  }
  .aboutFv-img.__04 {
    margin-top: 40px;
  }

  .aboutMessage-block {
    padding-inline: 15px;
    padding-block: 20px;
  }
  .aboutMessage-inner {
    flex-direction: column;
  }
  .aboutMessage-imgBox {
    margin-inline: auto;
    margin-bottom: 5%;
    width: 65%;
  }
  .aboutMessage-txtBox {
    padding-left: 0;
    width: 100%;
  }
  .aboutMessage-title {
    font-size: 24px;
  }
  .aboutMessage-name {
    font-size: 18px;
  }
  .aboutMessage-name span {
    font-size: 14px;
  }
  .aboutCompany-dl {
    grid-template-columns: 85px auto;
  }
  .aboutCompany-dl dt,
  .aboutCompany-dl dd {
    font-size: 14px;
  }

}



/* ==========================================================================
  202509 add end
========================================================================== */