@charset "UTF-8";
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.col,
.col-1,
.col-10,
.col-11,
.col-12,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-auto,
.col-lg,
.col-lg-1,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-auto,
.col-md,
.col-md-1,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-auto,
.col-sm,
.col-sm-1,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}

.col-1 {
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}

.col-2 {
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.col-5 {
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.col-8 {
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

.col-11 {
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-sm-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-sm-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-sm-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-sm-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-sm-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-md-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-md-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-md-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-md-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-md-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-lg-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-lg-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-lg-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-lg-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-lg-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.d-none {
  display: none !important;
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-flex {
  display: flex !important;
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
	.d-md-grid {
		display: grid !important;
	}
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
}
* {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}
html {
  height: 100%;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
}
body {
  overflow-x: hidden;
  height: 100%;
  font-size: 1.4rem;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  color: #333;
  line-height: 1.5;
}
.fruid {
	width: 100%;
	height: auto;
}
@media (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
  .inner {
    max-width: 940px;
    margin: 0 auto;
  }
}

.header {
	background: #6F6F66;
	background: radial-gradient(circle, rgba(111, 111, 102, 1) 0%, rgba(69, 70, 64, 1) 100%);
}
.header_inner {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: clamp(10px, 2vw, 20px);
	padding-block: 8px;
	padding-inline: 15px;
}
.header_h1 {
	display: flex;
	flex-wrap: wrap;
	column-gap: 0.5em;
  color: #fff;
  font-size: 1rem;
}

@media (min-width: 768px) {
  .header_h1 {
    font-size: 1.4rem;
  }
}

.copyRight {
  padding: 8px 10px;
  background: #454640;
  color: #fff;
  text-align: center;
}

.copyRight small {
  font-size: 1rem;
}

.pageTop {
  height: 50px;
  border-top: 1px solid #b4b4b4;
  border-bottom: 1px solid #b4b4b4;
}

.pageTop a {
  display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 10px;
	height: 100%;
	background-color: #fff;
	color: #333;
}

.pageTop img {
  width: 22px;
  height: 17px;
}

@media (min-width: 768px) {
  .copyRight small {
    font-size: 1.2rem;
  }
  .pageTop {
    height: 60px;
  }
  .pageTop img {
    width: 31px;
    height: 24px;
  }
}

/* common */
a {
  text-decoration: none;
}

img {
  vertical-align: top;
}

ul,
li {
  list-style-type: none;
}

.center {
  text-align: center;
}

.d-center {
  text-align: center;
}

.text_em {
  font-weight: bold;
}

.fontS-s {
	font-size: 1.2rem;
}

.wbr {
	word-break: keep-all;
  overflow-wrap: break-word;
}

.arrow-primary {
	justify-self: end;
}
.arrow-primary::before,
.arrow-primary::after {
	display: block;
	transform-origin: 88% center;
	width: 13px;
	height: 2px;
	background-color: #e6ca61;
	content: "";
}
.arrow-primary::before {
	rotate: 45deg;
	border-radius: 2px 2px 0 2px;
}
.arrow-primary::after {
	rotate: -45deg;
	border-radius: 2px 0 2px 2px;
}

.btn_on a {
  opacity: 1;
  transition: opacity 0.5s ease-out;
}

.btn_on a:hover {
  opacity: 0.8;
}

.btn_b a {
  display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	width: min(100%, 300px);
  height: 48px;
	margin-inline: auto;
	padding-inline: 15px;
  border-radius: 48px;
  background-color: #7a7a5e;
  color: #fff;
  text-align: center;
}
.btn_b a::before {
	content: "";
}

@media (min-width: 768px) {
	.btn_b a {
		margin-inline: initial;
	}
  .d-center {
    text-align: left;
  }
}

.bg_white {
  background: url(../images/teaser/bg_white.png);
  background-size: 37px 36px;
}

.bg_black {
  background: url(../images/teaser/bg_black.png);
  background-size: 64px 95px;
}

.bg_arabesque {
  background: url(../images/teaser/bg_arabesque.png);
  background-size: 62px 95px;
}

.mt > * + * {
  margin-top: clamp(3rem, 3.9vw, 4rem);
}

.mt-s > * + * {
  margin-top: 20px;
}

.arrow_ttl_bottom {
  position: relative;
}

@media (min-width: 768px) {
  .bg_white {
    background-size: 74px 72px;
  }
  .bg_black {
    background-size: 128px 190px;
  }
}

.hero1 {
  padding-bottom: 40px;
  background: #fff;
  text-align: center;
}
.top-data {
	display: grid;
	place-content: center;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.top-data_tel {
	font-size: clamp(2.7rem, 3.9vw, 4rem);
}
.top-data_date {
	display: grid;
	font-size: clamp(1.4rem, 2vw, 2rem);
}
.hero2 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 221px;
  padding-inline: 20px;
  background: url(../images/teaser/spn/hero2_bg.jpg) no-repeat;
  background-size: cover;
  color: #fff;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.hero2_txt {
	filter: drop-shadow(0px 1px 3px rgb(0 0 0 / 0.8));
	font-size: clamp(1.4rem, 2vw, 2rem);
	line-height: 2;
  text-align: center;
}

.system {
  margin-top: clamp(2rem, 2.9vw, 3rem);
}

@media (min-width: 768px) {
	.top-data  {
		row-gap: 1rem;
	}
	.top-data_date {
		grid-template-columns: auto auto;
		column-gap: 20px;
	}
  .hero2 {
    background: url(../images/teaser/pc/hero2_bg.jpg) no-repeat;
    background-size: cover;
  }
}

.campaign1 {
  padding-block: 2rem;
  padding-inline: 2rem;
  background: url(../images/teaser/spn/campaign1_bg.png) no-repeat;
  background-size: cover;
}

.campaign2 {
  padding-block: 3rem;
  padding-inline: 2rem;
  background: url(../images/teaser/spn/campaign2_bg.jpg) no-repeat;
  background-size: cover;
}

@media (min-width: 768px) {
	.campaign1 {
		padding-block: 5rem;
	}
  .campaign2 {
		padding-block: 5rem;
    background: url(../images/teaser/pc/campaign2_bg.jpg) no-repeat;
    background-size: cover;
  }
}

.about {
  padding: clamp(5rem, 9.8vw, 10rem) 2rem clamp(5rem, 7.8vw, 8rem);
}
.about_items {
	display: grid;
	row-gap: clamp(4rem, 7.8vw, 8rem);
}
.about-item {
	display: grid;
	row-gap: clamp(3rem, 3.9vw, 4rem);
	align-items: start;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
}
.about-item_contents {
	display: contents;
}
.about-item_heading {
	display: grid;
	row-gap: clamp(2rem, 3.9vw, 4rem);
	color: #b08b00;
	font-size: clamp(2.5rem, 3.7vw, 3.8rem);
	font-weight: bold;
}
.about-item_heading::before {
	background: #454640;
	background: linear-gradient(180deg, rgb(55, 56, 52) 30%, rgba(161, 161, 158, 1) 70%, rgb(55, 56, 52) 90%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: clamp(1.8rem, 2.3vw, 2.3rem);
	font-weight: normal;
	font-style: italic;
	content: attr(data-sub)
}
.about-item_img {
	aspect-ratio: 108/109;
}
.about-item_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	box-shadow: 0 0 17px rgb(0 0 0 / 0.8);
}
.about-item_text {
	color: #333;
	font-size: 1.6rem;
	font-weight: bold;
	word-break: keep-all;
  overflow-wrap: break-word;
}
.about1 .about-item_heading {
	order: 1;
}
.about1 .about-item_text {
	order: 3;
}
.about1 .about-item_img {
	order: 2;
}

@media (min-width: 768px) {
	:is(.about1, .about3) {
		grid-template-columns: 51.4% 1fr;
	}
	.about2 {
		grid-template-columns: 1fr 51.4%;
	}
	.about-item_contents {
		display: grid;
		row-gap: 4rem;
		text-align: center;
	}
	:is(.about1, .about3) .about-item_contents {
		padding-left: clamp(2rem, 2.9vw, 3rem);
	}
	:is(.about2)	.about-item_contents {
		padding-right: clamp(2rem, 2.9vw, 3rem);
	}
	.about1 :is(.about-item_heading, .about-item_text) {
		order: unset;
	}
	:is(.about1, .about3) .about-item_img {
		order: 1;
	}
	:is(.about1, .about3) .about-item_contents {
		order: 2;
	}
	.about-item_text {
		font-size: clamp(1.4rem, 1.6vw, 1.6rem);
		line-height: 2.8;
	}
	.about-item_img img {
		box-shadow: 11px 11px 0 #454640;
	}
}

.group {
  position: relative;
  padding: 40px 20px;
  background: url(../images/teaser/group_bg.png);
  background-size: 53px 73px;
  text-align: center;
}
.group:before {
  display: block;
  position: absolute;
  top: -20px;
  left: 50%;
  z-index: 0;
  width: 200px;
  height: 600px;
  margin-left: -100px;
  border-radius: 50%;
  background: rgb(255 255 255 / 0.5);
  box-shadow: 0 0 60px #fff;
  content: "";
}

.group > * {
  position: relative;
  z-index: 1;
}

.group_ttl {
	display: grid;
	place-items: center;
	row-gap: clamp(2rem, 3.9vw, 4rem);
}
.group_ttl .heading {
	order: 2;
	background: #FFF5F0;
	background: linear-gradient(113deg, rgba(255, 245, 240, 1) 0%, rgba(253, 220, 187, 1) 20%, rgba(255, 211, 138, 1) 41%, rgba(255, 255, 215, 1) 50%, rgba(255, 211, 138, 1) 65%, rgba(253, 220, 187, 1) 88%, rgba(255, 245, 240, 1) 99%);
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: clamp(3rem, 5.5vw, 5.6rem);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.group_ttl .heading img {
	width: min(100%, var(--max-w, 310px));
	height: auto;
}
.group_ttl > img {
	order: 1;
}
.group_txt {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #ff1362;
	font-size: clamp(2rem, 2.7vw, 2.8rem);
	font-weight: bold;
}
.group_items {
	display: grid;
	grid-template-columns: var(--group-template-columns, 1fr);
	gap: 1px;
}
.group_item:not(:last-child) {
	border-bottom: 1px solid #fff;
}
.group_item a {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
  position: relative;
  overflow: hidden;
  height: 88px;
	padding-inline: 1.5rem;
	background: #58584e;
  background: linear-gradient(to bottom, #7b7b6c 0%, #a4a499 100%);
	color: #fff;
	font-size: clamp(1.9rem, 2.5vw, 2.6rem);
	font-weight: bold;
	transition: opacity 0.5s ease-out;
}
.group_item a:hover {
  opacity: 0.8;
}
.group_item a::before{
	content: "";
}

@media (min-width: 768px) {
	.group_ttl .heading img {
		--max-w: 620px;
	}
	.group_ttl > img {
		width: 214px;
		height: 54px;
	}
	.group_items {
		--group-template-columns: 1fr 1fr 1fr;
	}
		.group_item:not(:nth-of-type(n+7)) {
			border-bottom: 1px solid #fff;
		}
		.group_item:not(:nth-of-type(3n)) {
			border-right: 1px solid #fff;
		}
		.group_item a {
		height: 160px;
	}
}

.group_link_ttl {
  margin-bottom: 40px;
  text-align: center;
}

.groupLink {
  padding-top: 32px;
  background: url(../images/teaser/spn/group_link_border.png) repeat-x 0 top;
  background-size: 1px 12px;
}

@media (min-width: 768px) {
	.group-link_wrap {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: start;
		column-gap: clamp(15px, 2vw, 20px);
	}
	.group-link_contents {
		display: grid;
		grid-template-rows: auto 1fr;
		align-items: start;
		row-gap: 20px;
		height: 100%;
	}
	.group-link_items {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: start;
		gap: 20px clamp(10px, 1.5vw, 15px);
	}
	.group-link_heading {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		column-gap: 10px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		color: #454640;
		font-size: 1.8rem;
	}
	.group-link_heading::before,
	.group-link_heading::after {
		height: 9px;
		background: repeating-linear-gradient(0deg, #8a6619, #8a6619 1px, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 4px);
		content: "";
	}
  .group_link_bg {
		height: 100%;
    padding: 20px 15px;
    background: #454640;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  }
  .group_link_item {
    transition: 0.5s ease-out;
  }
  .group_link_item img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 5px;
  }
  .group_link_item a {
		display: grid;
		row-gap: 5px;
    color: #fff;
    font-size: clamp(1rem, 1.2vw, 1.2rem);
  }
	.group-link_name {
    font-size: clamp(1.2rem, 1.4vw, 1.4rem);
    font-weight: 700;
    text-decoration: underline;
  }
  .group_link_item:hover {
    opacity: 0.8;
    cursor: pointer;
  }
  .group_link_item:hover .group-link_name {
    text-decoration: none;
  }
}

.mailmagazine {
  padding: clamp(5rem, 9.8vw, 10rem) 2rem 0;
}
.mailmagazine_ttl {
	display: grid;
	row-gap: 1.3rem;
	background: #B39E4F;
	background: linear-gradient(100deg, rgba(69, 70, 64, 1) 0%, rgba(179, 158, 79, 1) 100%);
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #b48c01;
	font-size: clamp(2.5rem, 3.7vw, 3.8rem);
	font-weight: bold;
	text-align: center;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.mailmagazine_ttl::before {
	background-color: #848484;
	color: #848484;
	font-size: 1.8rem;
	font-style: italic;
	font-weight: normal;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;

	content: attr(data-sub)
}

.mailmagazine_l {
  padding-bottom: 40px;
}
.mailmagazine_qr {
  bottom: 0;
  text-align: center;
}

@media (min-width: 768px) {
  .mailmagazine_ttl {
    text-align: left;
  }
  .mailmagazine_qr {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 327px;
    margin-left: -164px;
  }
}
.recruit_ttl {
	position: relative;
  padding: 40px 20px;
  background: #454640;
  color: #fff;
	text-align: center;
}
.recruit_ttl .heading {
	display: grid;
	row-gap: 1.3rem;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #b39e4f;
	font-size: clamp(3rem, 3.9vw, 4rem);
	font-weight: bold;
	text-align: center;
}
.recruit_ttl .heading::before {
	color: #848484;
	font-size: 1.8rem;
	font-style: italic;
	content: attr(data-sub)
}

.recruit1 {
  padding: 40px 20px;
  background: #fff;
}
.recruit-item_ttl {
	display: flex;
	justify-content: center;
}
.recruit-item_heading {
	background: #B39E4F;
	background: linear-gradient(100deg, rgba(69, 70, 64, 1) 0%, rgba(179, 158, 79, 1) 100%);
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #b48c01;
	font-size: clamp(2.4rem, 2.9vw, 3rem);
	font-weight: bold;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.recruit-sp-buttons {
	display: grid;
	row-gap: 15px;
}
.recruit-sp-button {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	height: 70px;
	padding-inline: 15px;
	background-color: #fff;
	border: 1px solid #262626;
	border-radius: 70px;
}
.recruit-sp-button::before {
	content: "";
}
.recruit-sp-button_heading {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 5px;
	font-size: 1.6rem;
}
.recruit-sp-button.-line .recruit-sp-button_heading {
	color: #458220;
}
.recruit-sp-button.-email .recruit-sp-button_heading {
	color: #f04d70;
}
.recruit-sp-button.-tel .recruit-sp-button_heading {
	color: #0c1589;
}
.recruit-sp-button_body {
	color: #333;
	font-weight: bold;
}

.recruit2 {
  margin-top: 20px;
  padding: 40px 20px;
  background: #fff;
}

.recruit2_l {
  margin-bottom: 40px;
}

.recruit2_ttl {
  margin-bottom: 40px;
}

@media (min-width: 768px) {
  .recruit_ttl {
    text-align: center;
  }
	.recruit_ttl::after {
		--arrow-height: 7%;
	}
  .recruit-item_ttl {
		align-items: center;
		justify-content: start;
		column-gap: 3rem;
  }
  .recruit2_l {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .recruit-pc-items {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		column-gap: clamp(1rem, 2vw, 2rem);
	}
	.recruit-pc-item {
		display: grid;
		grid-template-rows: auto 1fr;
		align-items: center;
		row-gap: 15px;
		padding: clamp(1.3rem, 2vw, 2rem);
		background-color: #fff;
		border: 1px solid #8a8a8a;
		border-radius: 10px;
	}
	.recruit-pc-item_heading {
		display: flex;
		align-items: center;
		justify-content: center;
		column-gap: 5px;
		height: 36px;
		color: #fff;
		font-size: clamp(1.6rem, 2vw, 2rem);
		font-weight: bold;
	}
	.recruit-pc-item.-line .recruit-pc-item_heading {
		background-color: #5d953a;
	}
	.recruit-pc-item.-email .recruit-pc-item_heading {
		background-color: #f46483;
	}
	.recruit-pc-item.-tel .recruit-pc-item_heading {
		background-color: #565ec9;
	}
	.recruit-pc-item_line {
		display: grid;
		grid: ". qr"
					". qr"
					/ auto 71px;
		font-size: clamp(1.2rem, 1.4vw, 1.4rem);
	}
	.recruit-pc-item_line img {
		grid-area: qr;
	}
	.recruit-pc-item_email {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		height: 60px;
		padding-inline: 15px;
		border: 1px solid #000;
		border-radius: 60px;
	}
	.recruit-pc-item_email::before {
		content: "";
	}
	.recruit-pc-item_tel {
		font-size: clamp(1.6rem, 2vw, 2rem);
		font-weight: bold;
		text-align: center;
	}
}
.group_link {
  padding: 6rem 2rem clamp(2rem, 5.9vw, 6rem);
}

.footer-sp-nav{
	display: grid;
	row-gap: 15px;
}
.footer-sp-nav::before {
	height: 9px;
  background: repeating-linear-gradient(0deg, #8a6619, #8a6619 1px, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 4px);
	content: "";
}
.footer-sp-nav-items{
	border: 1px solid #d2d2d2;
}
.footer-sp-nav-item:not(:first-child) {
  border-top: 1px solid #d2d2d2;
}
.footer-sp-nav-item a {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	padding: 1rem;
	background-color: #fff;
	color: #333;
	font-size: clamp(1.2rem, calc(1.2rem + (2 * ((100vw - 320px) / 55))), 1.4rem);
}
.footer-sp-nav-item a span {
  display: block;
  margin-top: 3px;
  color: #777;
	font-size: 1.2rem;
}

.fade {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.fade_in {
  opacity: 1;
  transform: translateY(0);
}
.loading {
  display: grid;
  place-content: center;
  position: fixed;
  inset: 0;
  z-index: 999;
	margin: auto;
  background-color: #fff;
}
.loading p {
	display: flex;
	align-items: center;
	column-gap: 10px;
	color: #ff77b5;
	font-size: 1.4rem;
  font-weight: bold;
}