@charset "UTF-8";
:root {
  --color-brightest: #fff;
  --color-contrast: rgba(34, 165, 224, 0.7);
  --color-contrast02: #c9e2ed;
  --color-contrast03: rgba(34, 165, 224, 0.6);
  --color-accent: #22a5e0;
  --color-accent02: #fff82f;
  --color-black: #3e4145;
  --color-black02: #666;
  --color-link: #00f;
  --color-gray: #f4f4f4;
  --color-gray02: #989898;
  --transition: all 0.5s ease;
  --transition-duration: 0.5s;
  --box-shadow: 3px 3px 5px #00000029;
  --font-en: roboto, sans-serif;
  --notosans-top-offset: 0.07em;
  --z-index-on: 2;
}

div#video-choose {
  display: none;
}

/* =======================================================
基本設定
======================================================= */
@font-face {
  font-family: noto-sans-jp;
  font-weight: normal;
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-Regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: noto-sans-jp;
  font-weight: 500;
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-Medium.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: noto-sans-jp;
  font-weight: bold;
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-Bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: roboto;
  font-weight: 600;
  src: url("../fonts/Roboto/Roboto-SemiBold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: roboto;
  font-weight: bold;
  src: url("../fonts/Roboto/Roboto-Bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: noto-serif-jp;
  font-weight: normal;
  src: url("../fonts/Noto-Serif-JP/NotoSerifJP-Regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: noto-serif-jp;
  font-weight: bold;
  src: url("../fonts/Noto-Serif-JP/NotoSerifJP-Bold.woff") format("woff");
  font-display: swap;
}
* {
  padding: 0;
  margin: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  font-style: normal;
  word-wrap: break-word;
  overflow-wrap: anywhere;
  overflow-wrap: break-word;
  outline: none;
  box-shadow: none;
  line-break: strict;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

*,
*:focus,
a:focus {
  outline: none;
}

body,
.ly-head,
.ly-main,
.ly-foot {
  min-width: 1024px;
}

body {
  font-family: noto-sans-jp, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-black);
  letter-spacing: 0.05em;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

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

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

ul,
ol {
  list-style: none;
}

p,
li,
dt,
dd,
th,
td {
  overflow-wrap: anywhere;
  -ms-line-break: strict;
  line-break: strict;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
  image-rendering: optimize-contrast;
}

picture {
  line-height: 0;
}

input,
button,
select,
textarea {
  font-family: noto-sans-jp, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  color: #222;
  cursor: pointer;
  background-color: transparent;
  border: none;
  border-radius: 0;
  outline: none;
  appearance: none;
}

input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #fff inset;
}

input[type=checkbox] {
  display: none;
}

input[type=radio] {
  display: none;
}

button,
textarea {
  font-family: inherit;
  font-size: 100%;
}

summary {
  display: block;
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}

@media screen and (min-width: 751px) {
  .u-sm {
    display: none;
  }
}
@media only screen and (device-width >= 1025px) {
  /* PCのみホバー効果 */
  a,
  .hp-hover {
    transition: var(--transition);
  }
  a:hover,
  .hp-hover:hover {
    opacity: 0.7;
  }
  label:hover {
    cursor: pointer;
  }
}
@media screen and (width <= 750px) {
  body,
  .ly-head,
  .ly-main,
  .ly-foot {
    width: 100%;
    min-width: 0;
    max-width: 750px;
  }
  body {
    font-size: 28px;
  }
  input,
  button,
  select,
  textarea {
    font-size: 30px;
  }
  .pc {
    display: none;
  }
  .u-md {
    display: none;
  }
}
/* =============================
共通レイアウト
============================== */
.ly-main {
  position: relative;
  z-index: 2;
  margin-top: 80px;
}

/* 全体のWrapper */
.ly-allwrapper {
  overflow: clip;
}

/* inner */
.ly-head-inner,
.ly-foot-inner,
.ly-cont,
.ly-cont-inner {
  position: relative;
  width: 1020px;
  height: 100%;
  margin-right: auto;
  margin-left: auto;
}

/* 2カラム */
.ly-cont--col {
  display: flex;
  flex-wrap: nowrap;
  gap: 40px;
  justify-content: space-between;
}

.ly-cont-main {
  width: 700px;
}

.ly-cont-side {
  width: 280px;
}

/* bl-media */
.bl-mediaList {
  display: grid;
  gap: 56px;
}

.bl-media {
  display: grid;
  grid-template: auto 1fr/496px auto;
  grid-template-areas: "imgWrapper body";
  gap: 0 32px;
}

.bl-media:has(.el-media-ttl) {
  grid-template-areas: "imgWrapper title" "imgWrapper body" "btm_txt btm_txt";
}

.bl-media:has(.bl-media-btmTxt) {
  grid-template: auto 1fr auto/496px auto;
  grid-template-areas: "imgWrapper title" "imgWrapper body" "btm_txt btm_txt";
}

.bl-media-imgWrapper {
  grid-area: imgWrapper;
}

.el-media-ttl {
  grid-area: title;
  margin-bottom: 16px;
  font-size: 26px;
}

.bl-media-body {
  display: flex;
  flex-direction: column;
  grid-area: body;
  gap: 1.3em;
}

.el-media-btmTxt {
  grid-area: btm_txt;
  margin-top: 1.3em;
}

/* bl_card */
.bl-cardUnit {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}

.bl-card {
  position: relative;
  width: 320px;
  padding: 24px;
}

.bl-card:has(.bl-card-link) {
  padding: 0;
}

.bl-card-link {
  display: block;
  width: 100%;
  height: 100%;
  padding: 24px;
}

.el-card-ttl {
  margin-bottom: 16px;
  font-size: 22px;
  text-align: center;
}

@media screen and (width <= 750px) {
  .ly-main {
	  margin-top: 66px;
	}
  /* inner */
  .ly-cont,
  .ly-cont-inner {
    width: 100%;
  }
  /* 2カラム */
  .ly-cont--col {
    flex-flow: column;
    gap: 80px;
  }
  .ly-cont-main,
  .ly-cont-side {
    width: 100%;
  }
  /* bl-media */
  .bl-media {
    grid-template: auto/auto;
    grid-template-areas: "imgWrapper" "body";
  }
  .bl-media.img-first {
    grid-template: auto/auto;
    grid-template-areas: "imgWrapper" "title" "body";
  }
  .bl-media:has(.el-media-ttl) {
    grid-template: auto/auto;
    grid-template-areas: "title" "imgWrapper" "body";
  }
  .bl-media:has(.el-media-btmTxt) {
    grid-template: auto/auto;
    grid-template-areas: "title" "imgWrapper" "body" "btm_txt";
  }
  .bl-media-imgWrapper {
    margin-bottom: 32px;
  }
  .el-media-ttl {
    margin-bottom: 24px;
    font-size: 32px;
  }
  /* bl-card */
  .bl-card {
    width: 100%;
  }
  .el-card-ttl {
    font-size: 32px;
  }
}
/* =============================
下層MV - パンくず
============================== */
.bl-lower-mv {
  width: auto;
  height: 300px;
  padding-top: 80px;
  background-image: url("/wp-content/uploads/2026/07/mv-bg.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.bl-lower-mv-ttl {
    display: grid;
    justify-items: center;
}

.bl-lower-mv-ttl-en {
    font-family: "Alata", sans-serif;
    font-size: 76px;
    line-height: 1.5;
    font-weight: 500;
    background: linear-gradient(
        115deg,
        #ff6a00 0%,
        #ff8a00 45%,
        #333 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;

    transform: skewX(-8deg);
}

.bl-lower-mv-ttl-ja {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 19px;
    padding: 0 10px;
    margin-top: -8px;

    font-size: 15px;
    color: #fff;
    background: #333;
}

@media screen and (max-width: 750px) {
	.bl-lower-mv {
		padding: 40px 0;
		height: auto;
	}
	.bl-lower-mv-ttl-en {
		font-size: 42px;
		margin-bottom: 12px;
		text-wrap: nowrap;
	}
}

/* =============================
共通パーツ
============================== */
/* 各sectionメイン見出し */
.el-sec-mainttl {
  position: relative;
  margin-bottom: 32px;
  line-height: 1.5;
  text-align: center;
}

.el-btn-wrapper {
  display: grid;
  gap: 8px;
  justify-content: center;
}

.el-btn-deco {
  display: flex;
  gap: 1em;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--color-accent);
}

.el-btn-deco::before,
.el-btn-deco::after {
  width: 11px;
  height: 15px;
  content: "";
  background: url("../images/common/btn-deco.svg") center center/cover no-repeat;
}

.el-btn-deco::after {
  transform: scale(-1, 1);
}

.el-btn.--arrow {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 40px;
  align-items: center;
  width: fit-content;
  min-width: 400px;
  padding: 27px 24px;
  margin: 0 auto;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4444444444;
  text-align: center;
  letter-spacing: 0;
  background: var(--color-brightest);
  border: 1px solid;
  border-radius: 10px;
}

.el-btn.--arrow::before,
.el-btn.--arrow::after {
  content: "";
}

.el-btn.--arrow::after {
  width: 0;
  height: 0;
  border-color: transparent transparent transparent var(--color-black);
  border-style: solid;
  border-width: 8px 0 8px 8px;
  transition: border-color 0.5s ease;
}

@media (any-hover: hover) {
  .el-btn.--arrow:hover {
    color: var(--color-accent02);
    background: var(--color-accent);
    border-color: var(--color-black);
    opacity: 1;
  }
  .el-btn.--arrow:hover::after {
    border-color: transparent transparent transparent var(--color-accent02);
  }
}
@media (any-hover: hover) {
  .el-btn.--arrow.--bg-accent:hover {
    color: var(--color-accent);
    background-color: var(--color-accent02);
    border-color: var(--color-black);
  }
  .el-btn.--arrow.--bg-accent:hover::after {
    border-color: transparent transparent transparent var(--color-accent);
  }
}
/* bl_bulletList */
.bl-bulletlist > li {
  position: relative;
  padding-left: 1em;
}

.bl-bulletlist > li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
}

.bl-bulletlist.bl-bulletlist--square > li {
  padding-left: calc(1em + 8px);
}

.bl-bulletlist.bl-bulletlist--square > li::before {
  content: "■";
}

/* bl_numList */
.bl-numlist {
  counter-reset: num;
}

.bl-numlist > li {
  position: relative;
  padding-left: 1.2em;
}

.bl-numlist > li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: counter(num) ".";
  counter-increment: num;
}

.bl-numlist.bl-numlist--circle > li:first-of-type::before {
  content: "①";
}

.bl-numlist.bl-numlist--circle > li:nth-of-type(2)::before {
  content: "②";
}

.bl-numlist.bl-numlist--circle > li:nth-of-type(3)::before {
  content: "③";
}

.bl-numlist.bl-numlist--circle > li:nth-of-type(4)::before {
  content: "④";
}

.bl-numlist.bl-numlist--circle > li:nth-of-type(5)::before {
  content: "⑤";
}

.bl-numlist.bl-numlist--circle > li:nth-of-type(6)::before {
  content: "⑥";
}

.bl-numlist.bl-numlist--circle > li:nth-of-type(7)::before {
  content: "⑦";
}

.bl-numlist.bl-numlist--circle > li:nth-of-type(8)::before {
  content: "⑧";
}

.bl-numlist.bl-numlist--circle > li:nth-of-type(9)::before {
  content: "⑨";
}

.bl-numlist.bl-numlist--circle > li:nth-of-type(10)::before {
  content: "⑩";
}

.bl-numlist.bl-numlist--brackets {
  counter-reset: cnt;
}

.bl-numlist.bl-numlist--brackets > li {
  padding-left: 2em;
  counter-increment: cnt;
}

.bl-numlist.bl-numlist--brackets > li::before {
  content: "(" counter(cnt) ") ";
}

/* el_label */
.el-label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 2px;
  color: #fff;
  background: #000;
}

/* ※ */
.el-att {
  position: relative;
  display: flex;
  font-size: 12px;
  line-height: 1.4166666667;
  color: var(--color-black02);
  letter-spacing: 0;
}

.el-att.--01,
.el-att.--02,
.el-att.--03 {
  gap: 0.25em;
}

.el-att.--01::before {
  content: "※1";
}

.el-att.--02::before {
  content: "※2";
}

.el-att.--03::before {
  content: "※3";
}

.el-att::before {
  flex: none;
  content: "※";
}

.el-att.center {
  justify-content: center;
}

span.el-att {
  display: block;
}

.el-link {
  color: #00f;
  text-decoration: underline;
}

.el-txt {
  text-align: center;
}

.c-paper-bg {
  background: url("../images/common/paper-bg.webp") top left/contain repeat;
}

@media screen and (width <= 750px) {
  .el-btn-wrapper {
    display: grid;
    gap: 16px;
    justify-content: center;
  }
  .el-btn-deco {
    display: flex;
    gap: 1em;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--color-accent);
  }
  .el-btn-deco::before,
  .el-btn-deco::after {
    width: 22px;
    height: 30px;
    content: "";
    background: url("../images/common/btn-deco.svg") center center/cover no-repeat;
  }
  .el-btn-deco::after {
    transform: scale(-1, 1);
  }
  .el-btn.--arrow {
    gap: 15px;
    min-width: 560px;
    padding: 28px 40px 32px;
    font-size: 28px;
    line-height: 1.4285714286;
    border-radius: 50px;
  }
  .el-btn.--arrow::after {
    border-width: 8px 0 8px 12px;
  }
  .el-att {
    font-size: 20px;
    line-height: 1.55;
  }
}
/* =============================
ヘルプタグ
============================== */
/* 明朝体 */
.--en {
  font-family: var(--font-en);
}

/* bold */
.hp-bold {
  font-weight: bold !important;
}

/* opacity1 */
.hp-opacity1 {
  opacity: 1 !important;
}

/* 電話リンク */
.hp-tel {
  pointer-events: none;
}

/* アクセントカラー */
.hp-color--accent {
  color: var(--color-accent);
}

.hp-color--accent02 {
  color: var(--color-accent02);
}

.hp-scroll-y {
  overflow-y: scroll;
  /* スクロールバー非表示（IE・Edge） */
  -ms-overflow-style: none;
  /* スクロールバー非表示（Firefox） */
  scrollbar-width: none;
}

/* スクロールバー非表示（Chrome・Safari） */
.hp-scroll-y::-webkit-scrollbar {
  display: none;
}

@media screen and (width <= 750px) {
  /* ユニット */
  .hp-unit {
    display: block;
  }
  /* 電話リンク */
  .hp-tel {
    pointer-events: auto;
  }
}

/* =======================================================
  Header
======================================================= */

.ly-head {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	font-family: "Zen Kaku Gothic New", sans-serif;
	background: #fff;
	border-bottom: 1px solid #e4e4e4;
}

.bl-head {
	position: relative;
}

.bl-head-box {
	height: 77px;
	padding: 0;
	background: #fff;
}

.bl-head-box .ly-cont-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(100% - 40px, 1080px);
	height: 100%;
	margin: 0 auto;
}

.bl-head-logo {
	display: block;
	flex-shrink: 0;
}

.bl-head-logo-imgwrapper {
	display: block;
	width: 149px;
	margin: 0;
	line-height: 0;
}

.bl-head-logo-img {
	display: block;
	width: 100%;
	height: auto;
}

.bl-head-separate {
	display: flex;
	align-items: center;
	gap: 42px;
}


/* =======================================================
  PC Menu
======================================================= */

.bl-head-menu-list {
	display: flex;
	align-items: center;
	gap: 30px;
	margin: 0;
}

.bl-head-menu-list > li {
	margin: 0;
}

.bl-head-menu-list > li > a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	color: #333;
	white-space: nowrap;
}

.bl-head-menu-list > li > a::after {
	width: 0;
	height: 0;
	content: "";
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 6px solid #333;
}


/* =======================================================
  Counseling Button
======================================================= */

.bl-head-btn-wrapper {
	flex-shrink: 0;
}

.bl-head-btn.--counseling {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 238px;
	height: 45px;
	padding: 0 18px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	color: #fff;
	text-align: center;
	letter-spacing: 0;
	border-radius: 40px;
	box-shadow: none;
	background:
		linear-gradient(#ff6a00, #ff6a00) padding-box,
		linear-gradient(
			125deg,
			#f8e0c0 0%,
			#ff6a00 100%
		) border-box;
	border: 2px solid transparent;
}

.bl-head-btn.--counseling::after {
	flex-shrink: 0;
	width: 0;
	height: 0;
	content: "";
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 9px solid #fff;
}

@media (hover: hover) and (pointer: fine) {
	.bl-head-btn:hover {
		color: #fff;
		background-image:
			linear-gradient(#333, #333),
			linear-gradient(135deg, #f8e0c0 0%, #ff6a00 100%);
		opacity: 0.9;
		transform: translateY(-2px);
	}
	.bl-head-btn:hover::after {
		border-left-color: #fff;
        transform: translate(4px, 0);
	}
}

.sp-break br {
	display: none;
}


/* =======================================================
  Burger
======================================================= */

.bl-burger {
	display: none;
}


/* =======================================================
  SP Navigation
======================================================= */

.bl-head-nav-outer {
	display: none;
}


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

	/* =======================================================
	  Header
	======================================================= */

	.ly-head {
		border-bottom: 1px solid #e4e4e4;
	}

	.bl-head-box {
		position: relative;
		z-index: 2;
		height: 66px;
	}

	.bl-head-box .ly-cont-inner {
		width: 100%;
		padding: 0 14px 0 10px;
	}

	.bl-head-logo-imgwrapper {
		width: 76px;
	}

	.bl-head-separate {
		gap: 0;
		margin-right: 40px;
		margin-left: auto;
	}

	.bl-head-menu {
		display: none;
	}


	/* =======================================================
	  Header counseling button
	======================================================= */

	.bl-head-btn.--counseling {
		gap: 7px;
		width: 170px;
		height: 40px;
		padding: 3px 12px 4px;
		font-size: 11px;
		font-weight: 600;
		line-height: 1.05;
		border-width: 2px;
	}

	.bl-head-btn.--counseling::after {
		border-top-width: 5px;
		border-bottom-width: 5px;
		border-left-width: 7px;
	}

	.sp-break br {
		display: block;
	}


	/* =======================================================
	  Burger
	======================================================= */

	.bl-burger {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 3;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 66px;
		padding: 0;
	}

	.bl-burger-bars {
		position: relative;
		display: block;
		width: 25px;
		height: 12px;
	}

	.bl-burger-bars::before,
	.bl-burger-bars::after {
		position: absolute;
		left: 0;
		width: 25px;
		height: 1px;
		content: "";
		background: #333;
		transition:
			top 0.3s ease,
			transform 0.3s ease;
	}

	.bl-burger-bars::before {
		top: 0;
	}

	.bl-burger-bars::after {
		top: 11px;
	}

	.bl-burger.--js-active .bl-burger-bars::before {
		top: 5px;
		transform: rotate(24deg);
	}

	.bl-burger.--js-active .bl-burger-bars::after {
		top: 5px;
		transform: rotate(-24deg);
	}


	/* =======================================================
	  Open menu
	======================================================= */

	.bl-head-nav-outer {
		position: fixed;
		top: 66px;
		left: 0;
		z-index: 1;
		display: flex;
		flex-direction: column;
		width: 100%;
		height: calc(100dvh - 66px);
		padding: 8px 16px 18px;
		overflow-y: auto;
		background: #fff;
		border-top: 1px solid #e4e4e4;
		visibility: hidden;
		opacity: 0;
		transform: translateY(-8px);
		pointer-events: none;
		transition:
			opacity 0.3s ease,
			transform 0.3s ease,
			visibility 0.3s ease;
	}

	.bl-head-nav-outer.--js-active {
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
	}

	.bl-head-nav-wrapper {
		width: 100%;
		margin: 0;
	}

	.bl-head-nav-list {
		display: block;
		padding: 0;
		margin: 0;
	}

	.bl-head-nav-list > li {
		padding: 0;
		margin: 0;
		border: 0;
	}

	.bl-head-nav-list > li > a {
		position: relative;
		display: flex;
		align-items: center;
		width: fit-content;
		min-height: 43px;
		padding: 11px 20px 11px 4px;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.5;
		color: #333;
		letter-spacing: 0.04em;
	}

	.bl-head-nav-list > li > a::after {
		position: absolute;
		top: 50%;
		right: 0;
		width: 0;
		height: 0;
		content: "";
		border-top: 4px solid transparent;
		border-bottom: 4px solid transparent;
		border-left: 6px solid #333;
		transform: translateY(-50%);
	}


	/* =======================================================
	  Bottom counseling button
	======================================================= */

	.sp-nav-btn {
		width: 100%;
		margin-top: 15px;
	}

	.sp-nav-btn .btn-orange {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 57px;
		padding: 9px 42px 10px 24px;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.35;
		color: #fff;
		text-align: center;
		letter-spacing: 0.02em;
		background:
			linear-gradient(
				100deg,
				#ff8524 0%,
				#ff6a00 55%,
				#ff5b18 100%
			);
		border: 2px solid #f8e0c0;
		border-radius: 9999px;
	}

	.sp-nav-btn .btn-orange::after {
		position: absolute;
		top: 50%;
		right: 19px;
		width: 0;
		height: 0;
		content: "";
		border-top: 6px solid transparent;
		border-bottom: 6px solid transparent;
		border-left: 8px solid #fff;
		transform: translateY(-50%);
	}

	body.is-menu-open {
		overflow: hidden;
	}
}

/* =======================================================
  Footer
======================================================= */

.ly-foot {
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #fff;
	background: #333;
}

.ly-foot-inner {
	width: 100%;
	height: auto;
	padding: 0;
}

.bl-foot {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 1020px;
	height: 316px;
	padding: 34px 0 28px;
	margin: 0 auto;
}


/* =======================================================
  ロゴ
======================================================= */

.bl-foot-logo-area {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
}

.bl-foot-logo {
	display: block;
	width: 204px;
	margin: 0;
}

.bl-foot-logo img {
	display: block;
	width: 100%;
	height: auto;
	filter: none;
}

.bl-foot-logo-txt {
	margin: 0 0 3px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	color: #fff;
	white-space: nowrap;
}


/* =======================================================
  フッターメニュー
======================================================= */

.bl-foot-nav {
	margin-top: 26px;
}

.bl-foot-nav-list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.bl-foot-nav-list > li {
	padding: 0;
	margin: 0;
	list-style: none;
}

.bl-foot-nav-list a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
}

.bl-foot-nav-list a::after {
	flex-shrink: 0;
	width: 0;
	height: 0;
	content: "";
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 6px solid #fff;
}


/* =======================================================
  無料カウンセリング
======================================================= */

.bl-foot-counseling {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 306px;
	height: 54px;
	padding: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background:
		linear-gradient(#ff6a00, #ff6a00) padding-box,
		linear-gradient(
			125deg,
			#f8e0c0 0%,
			#ff6a00 100%
		) border-box;
	border: 2px solid transparent;
	border-radius: 40px;
}

.bl-foot-counseling-txt {
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: keep-all;
}

.bl-foot-counseling-pc {
	display: inline;
}

.bl-foot-counseling-sp {
	display: none;
}

.bl-foot-counseling-arrow {
	position: absolute;
	top: 50%;
	right: 22px;
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 7px solid #fff;
	transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
	.bl-foot-counseling {
		width: 276px;
		max-width: 100%;
		height: 61px;
		padding: 8px 0;
		margin-top: 24px;
		font-size: 15px;
		line-height: 1.1;
		background:
			linear-gradient(
				145deg,
				#ff6a00 0%,
				#ff7f1f 55%,
				#ff8a00 100%
			) padding-box,
			linear-gradient(
				125deg,
				#f8e0c0 0%,
				#ff6a00 100%
			) border-box;
		border-radius: 50px;
	}

	.bl-foot-counseling-txt {
		flex-direction: column;
		width: 216px;
		line-height: 1.1;
		white-space: normal;
		overflow-wrap: normal;
		word-break: keep-all;
	}

	.bl-foot-counseling-pc {
		display: none;
	}

	.bl-foot-counseling-sp {
		display: block;
	}

	.bl-foot-counseling-arrow {
		border-top-width: 6px;
		border-bottom-width: 6px;
		border-left-width: 8px;
	}

}

@media (hover: hover) and (pointer: fine) {
	.bl-foot-counseling:hover {
		color: #fff;
		background-image:
			linear-gradient(#333, #333),
			linear-gradient(135deg, #f8e0c0 0%, #ff6a00 100%);
		opacity: 0.9;
		transform: translateY(-2px);
	}
}


/* =======================================================
  SNS
======================================================= */

.bl-foot-sns-list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.bl-foot-sns-item {
	padding: 0;
	margin: 0;
	list-style: none;
}

.bl-foot-sns-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 50%;
}

.bl-foot-sns-link img {
	display: block;
	width: auto;
	height: auto;
	max-width: 65%;
	max-height: 65%;
	object-fit: contain;
}


/* =======================================================
  コピーライト
======================================================= */

.bl-foot-copyright {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 57px;
	min-height: 0;
	padding: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.7);
}

.bl-foot-copyright small {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
	color: #fff;
	text-align: center;
}


/* =======================================================
  PCレイアウト
======================================================= */

@media screen and (min-width: 751px) {

	.bl-foot {
		display: grid;
		grid-template-columns: 1fr auto 306px 1fr;
		grid-template-rows: auto auto auto;
		column-gap: 32px;
	}

	.bl-foot-logo-area {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.bl-foot-nav {
		grid-column: 2;
		grid-row: 2;
		align-self: center;
		margin-top: 26px;
	}

	.bl-foot-counseling {
		grid-column: 3;
		grid-row: 2;
		align-self: center;
		margin-top: 26px;
	}

	.bl-foot-sns-list {
		grid-column: 1 / -1;
		grid-row: 3;
		margin-top: 22px;
	}

}


/* =======================================================
  Hover
======================================================= */

@media (any-hover: hover) {
	.bl-foot-logo,
	.bl-foot-counseling,
	.bl-foot-nav-list a,
	.bl-foot-sns-link {
		transition:
			opacity 0.2s ease,
			transform 0.2s ease;
	}
	.bl-foot-logo:hover,
	.bl-foot-nav-list a:hover,
	.bl-foot-sns-link:hover {
		opacity: 0.7;
	}
}


/* =======================================================
  SP
======================================================= */

@media screen and (max-width: 750px) {
	.ly-foot-inner {
		width: 100%;
		height: auto;
		padding: 0;
	}
	.bl-foot {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		padding: 28px 20px 36px;
		height: auto;
	}

	.bl-foot-logo-area {
		order: 1;
	}

	.bl-foot-nav {
		order: 2;
	}

	.bl-foot-counseling {
		order: 3;
	}

	.bl-foot-sns-list {
		order: 4;
	}

	/* ロゴ
	-------------------------- */

	.bl-foot-logo-area {
		gap: 18px;
		width: 100%;
	}

	.bl-foot-logo {
		width: 165px;
		margin: 0;
	}

	.bl-foot-logo-txt {
		margin: 0 0 2px;
		font-size: 14px;
	}


	/* メニュー
	-------------------------- */

	.bl-foot-nav {
		width: 100%;
		margin: 12px 0 24px 0;
	}

	.bl-foot-nav-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas:
			"home menu"
			"flow shop";
		gap: 14px 28px;
		width: 300px;
		max-width: 100%;
		margin: 0 auto;
	}

	.bl-foot-nav-list li {
		height: 20px;
	}
	
	.bl-foot-nav-list > li:nth-child(1) {
		grid-area: home;
	}

	.bl-foot-nav-list > li:nth-child(2) {
		grid-area: flow;
	}

	.bl-foot-nav-list > li:nth-child(3) {
		grid-area: menu;
	}

	.bl-foot-nav-list > li:nth-child(4) {
		grid-area: shop;
	}

	.bl-foot-nav-list a {
		justify-content: flex-start;
		width: 100%;
		font-size: 14px;
	}


	/* SNS
	-------------------------- */

	.bl-foot-sns-list {
		gap: 15px;
		margin-top: 24px;
	}

	.bl-foot-sns-link {
		width: 35px;
		height: 35px;
	}


	/* コピーライト
	-------------------------- */

	.bl-foot-copyright {
		height: 57px;
		min-height: 0;
		padding: 0;
	}

	.bl-foot-copyright small {
		font-size: 12px;
		line-height: 1.35;
	}

}

/* モーダル */
#popup {
  display: none;
}

.popup-open {
  color: #2da6de;
  cursor: pointer;
}

.popup-overlay {
  display: none;
}

#popup:checked ~ .popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  display: block;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.439);
}

.popup-window {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 690px;
  height: 615px;
  padding: 56px;
  background-color: #fff;
  border-radius: 6px;
  transform: translate(-50%, -50%);
}

.popup-text {
  margin: 0;
}

.popup-text:not(:last-of-type) {
  margin-bottom: 1em;
}

.popup-close {
  position: absolute;
  top: 16px;
  right: 16px;
}

.popup-window .bl-ctaList {
  display: flex;
  flex-direction: column;
  gap: 44px;
  text-align: center;
}

.popup-window .bl-ctaItem > dt span {
  font-size: 24px;
  font-weight: normal;
}

.popup-window .bl-ctaItem > dd > a {
  display: block;
  margin: 3px 0;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.3;
}

.popup-window .bl-ctaItem > dd span {
  display: block;
  font-size: 24px;
  font-weight: normal;
}

/* ページトップボタン */
.bl-pagetop {
  position: relative;
  width: 1024px;
  height: 0;
  margin: 0 auto;
  text-align: right;
}

.bl-pagetop span {
  position: fixed;
  right: 32px;
  bottom: 30px;
  z-index: 900;
  width: 66px;
  height: 66px;
}

.bl-pagetop img {
  opacity: 0;
}

.bl-pagetop .fade img {
  filter: drop-shadow(0 10px 10px rgba(0, 0, 0, 0.2));
  transition: all 0.5s ease-in-out;
}

.bl-pagetop .in img {
  cursor: pointer;
  opacity: 1;
}

@media screen and (width <= 1400px) {
  /* ページトップボタン */
  .bl-pagetop {
    width: 100%;
  }
}
@media screen and (width <= 750px) {
  .bl-pagetop {
    width: 750px;
  }
  .bl-pagetop span {
    right: 16px;
    width: 104px;
    height: 104px;
  }
}
/* =============================
新着
============================== */
.bl-vertposts {
  display: flex;
  flex-flow: column;
  gap: 24px;
  border-bottom: 1px solid #bfbfbf;
}

.bl-vertposts > a {
  color: #222;
}

.bl-vertposts:not(:first-of-type) > a {
  padding-top: 16px;
}

.bl-vertposts-header {
  display: flex;
  flex: 0 1 280px;
  gap: 16px;
  align-items: center;
}

.bl-vertposts-date {
  font-size: 14px;
  letter-spacing: 0;
}

.el-catlabel {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 100px;
  max-width: 144px;
  min-height: 28px;
  padding: 0 8px 2px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0;
  background: #ccc;
}

.el-catlabel.all {
  color: #6d6d6d;
  background: #c9c9c9;
}

.el-catlabel.information {
  color: #fff82f;
  background: #22a5e0;
}

.el-catlabel.media {
  color: #22a5e0;
  background: #fff82f;
}

.el-catlabel.article {
  color: #22a5e0;
  background: #c9e2ed;
}

.el-vertposts-ttl {
  padding: 8px 0 16px;
  font-size: 16px;
}

@media screen and (width <= 750px) {
  .bl-vertposts > a {
    gap: 16px;
    padding-bottom: 24px;
  }
  .bl-vertposts:not(:first-of-type) > a {
    padding-top: 24px;
  }
  .bl-vertposts-header {
    flex: 100%;
  }
  .bl-vertposts-date {
    font-size: 22px;
  }
  .el-catlabel {
    min-width: 128px;
    max-width: 480px;
    min-height: 42px;
    padding: 0 16px;
    font-size: 22px;
  }
  .el-vertposts-ttl {
    padding: 16px 0 0;
    font-size: 28px;
  }
}
/* =============================
aside
============================== */
.bl-aside {
  padding-bottom: 32px;
  border: 1px solid #22a5e0;
}

.bl-aside-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  font-size: 22px;
  font-weight: bold;
  color: #fff;
  background: #22a5e0;
}

.bl-aside-postList {
  margin: 0 16px 32px;
}

.bl-aside-postList > li {
  border-bottom: 1px solid #666;
}

.bl-aside-postList > li > a {
  display: block;
  padding: 16px 0;
  font-size: 16px;
}

.bl-aside-btn {
  position: relative;
  display: block;
  width: 166px;
  padding: 13px 0 14px;
  margin: 0 auto;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  background-color: #fff82f;
  border: 1px solid #3e4145;
  border-radius: 10px;
}

.bl-aside-btn::after {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 0;
  height: 0;
  content: "";
  border-color: transparent transparent transparent #3e4145;
  border-style: solid;
  border-width: 8px 0 8px 8px;
  transform: translateY(-50%);
}

.bl-aside-btn:hover {
  color: #fff82f;
  background-color: #22a5e0;
  opacity: 1;
}

.bl-aside-btn:hover::after {
  border-color: transparent transparent transparent #fff82f;
}

@media screen and (width <= 750px) {
  /* aside */
  .bl-aside {
    padding-bottom: 40px;
  }
  .bl-aside-ttl {
    height: 76px;
    margin-bottom: 15px;
    font-size: 28px;
  }
  .bl-aside-postList {
    margin-bottom: 35px;
  }
  .bl-aside-postList > li > a {
    padding: 24px 30px;
    font-size: 26px;
  }
  .bl-aside-btn {
    width: 340px;
    font-size: 28px;
  }
  .bl-aside-btn::after {
    right: 9px;
    bottom: 9px;
    width: 18px;
    height: 18px;
  }
}
/* =============================
ページナビ
============================== */
/* =======================================================
wp-pagenavi
======================================================= */
.wp-pagenavi {
  gap: 8px;
  margin-top: 40px;
}
.wp-pagenavi > * {
  display: grid;
  align-items: center;
  width: 36px;
  height: auto;
  aspect-ratio: 1;
  padding: 0;
  font-family: var(--font-en);
  font-size: 16px;
  letter-spacing: 0;
  background-color: var(--color-brightest);
  border: 1px solid #c9e2ed;
  border-radius: calc(infinity * 1px);
}
.wp-pagenavi a {
  color: var(--color-accent);
  background-color: var(--color-brightest);
}
.wp-pagenavi .extend {
  border: none;
}

/* 詳細ページの前へ 次へ */
.bl-pager {
  position: relative;
  height: 42px;
}

.bl-pager-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.bl-pager-link > a {
  position: relative;
  display: block;
  width: 166px;
  padding: 13px 0 14px;
  margin: 0 auto;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  border: 1px solid #3e4145;
  border-radius: 10px;
}

.bl-pager-prev > a::before,
.bl-pager-next > a::after {
  position: absolute;
  top: 50%;
  width: 0;
  height: 0;
  content: "";
  border-style: solid;
  transform: translateY(-50%);
}

.bl-pager-prev > a {
  padding-right: 10px;
  color: #3e4145;
}

.bl-pager-prev > a::before {
  right: 8px;
  border-color: transparent transparent transparent #3e4145;
  border-width: 8px 0 8px 8px;
}

.bl-pager-prev:hover > a {
  color: #fff82f;
  background-color: #22a5e0;
  opacity: 1;
}

.bl-pager-prev > a:hover::before {
  border-color: transparent transparent transparent #fff82f;
}

.bl-pager-next > a {
  padding-left: 10px;
  color: #3e4145;
  background-color: #fff82f;
}

.bl-pager-next > a::after {
  left: 8px;
  border-color: transparent #3e4145 transparent transparent;
  border-width: 8px 8px 8px 0;
}

.bl-pager-next > a:hover {
  color: #fff82f;
  background-color: #22a5e0;
  opacity: 1;
}

.bl-pager-next > a:hover::after {
  border-color: transparent #fff82f transparent transparent;
}

@media screen and (width <= 750px) {
  .wp-pagenavi {
    gap: 16px;
    margin-top: 80px;
  }
  .wp-pagenavi > * {
    width: 64px;
    font-size: 28px;
    border-width: 2px;
  }
  /* 前へ 次へ */
  .bl-pager {
    height: 60px;
    margin-top: 60px;
  }
  .bl-pager-link > a {
    width: 230px;
    height: 60px;
    padding: 8px 0;
    font-size: 26px;
  }
  .bl-pager-prev > a {
    padding-right: 20px;
  }
  .bl-pager-prev > a::before {
    right: 16px;
    border-width: 7.5px 0 7.5px 11px;
  }
  .bl-pager-next > a {
    padding-left: 20px;
  }
  .bl-pager-next > a::after {
    left: 16px;
    border-width: 7.5px 0 7.5px 11px;
    border-width: 7.5px 11px 7.5px 0;
  }
}
/* =======================================================
column
======================================================= */
.c-column-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.c-column-imgwrapper {
  margin-bottom: 8px;
}

.c-column-imgwrapper > img {
  height: 220px;
  object-fit: cover;
}

.c-column .c-cat {
  margin-bottom: 16px;
}

.c-column-date {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.4285714286;
}

.c-column-ttl {
  font-size: 17px;
  line-height: 1.5294117647;
}

@media screen and (width <= 750px) {
  .c-column-wrapper {
    grid-template-columns: auto;
    gap: 48px;
  }
  .c-column-link {
    display: grid;
    grid-template: "imgwrapper imgwrapper" "date cat" "ttl ttl";
    grid-template-columns: auto 1fr;
    gap: 24px;
  }
  .c-column-imgwrapper {
    grid-area: imgwrapper;
    margin-bottom: 8px;
  }
  .c-column-imgwrapper > img {
    height: 380px;
  }
  .c-column .bl-cat {
    grid-area: cat;
    margin-bottom: 0;
  }
  .c-column-date {
    grid-area: date;
    margin-bottom: 0;
    font-size: 22px;
  }
  .c-column-ttl {
    grid-area: ttl;
    font-size: 28px;
  }
}
/* =======================================================
faq
======================================================= */
.bl-faq-list {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}

.bl-faq-list > div {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  width: 100%;
}

.bl-faq-list > div > dt {
  position: relative;
  width: 100%;
  padding: 11px 80px 12px;
  font-size: 21px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
  cursor: pointer;
  background: #2da6de;
}

.bl-faq-list > div > dt::before,
.bl-faq-list > div > dt::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.bl-faq-list > div > dt::before {
  left: 24px;
  width: 40px;
  height: 40px;
  padding: 0 10px;
  font-size: 26px;
  line-height: 1.3em;
  color: #22a5e0;
  content: "Q";
  background-color: #fff;
  border-radius: 50%;
}

.bl-faq-list > div > dt::after {
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 18px;
  color: #2da6de;
  content: "▼";
  background: #fff;
  border-radius: 4px;
}

.bl-faq-list > div > dt.open::after {
  content: "▲";
}

.bl-faq-list > div > dd {
  display: none;
}

.bl-faq-list > div > dd a {
  color: #00f;
  text-decoration: underline;
}

@media screen and (width <= 750px) {
  .bl-faq-list {
    gap: 40px;
  }
  .bl-faq-list > div {
    gap: 24px;
  }
  .bl-faq-list > div > dt {
    padding: 7px 96px 11px 110px;
    font-size: 32px;
  }
  .bl-faq-list > div > dt::before {
    left: 24px;
    width: 65px;
    height: 65px;
    padding-left: 16px;
    font-size: 38px;
    line-height: 1.5em;
  }
  .bl-faq-list > div > dt::after {
    right: 24px;
    width: 48px;
    height: 48px;
    font-size: 20px;
  }
}
/* =======================================================
cta
======================================================= */
.bl-cta {
  padding: 40px 0;
  background-color: #f4f4f4;
  border-top: 4px solid #22a5e0;
}

.bl-cta .el-sec-mainttl {
  margin-bottom: 16px;
  font-size: 34px;
  letter-spacing: 0;
}

.bl-cta-imgWrapper {
  width: 78px;
  margin: 0 auto 24px;
}

.bl-cta-btn {
  position: relative;
  display: block;
  width: 400px;
  padding: 25px 0 26px;
  margin: 32px auto 0;
  font-size: 18px;
  text-align: center;
  background-color: #fff82f;
  border: 1px solid #3e4145;
  border-radius: 10px;
}

.bl-cta-btn::after {
  position: absolute;
  top: 50%;
  right: 24px;
  width: 0;
  height: 0;
  content: "";
  border-color: transparent transparent transparent #3e4145;
  border-style: solid;
  border-width: 8px 0 8px 8px;
  transform: translateY(-50%);
}

@media screen and (width <= 750px) {
  .bl-cta {
    padding: 64px 0;
  }
  .bl-cta .el-sec-mainttl {
    margin-bottom: 32px;
  }
  .bl-cta-imgWrapper {
    width: 104px;
  }
  .bl-cta-btn {
    width: 500px;
    padding: 28px 0;
    margin: 40px auto 0;
    font-size: 28px;
    border: 2px solid #3e4145;
    border-radius: calc(infinity * 1px);
  }
  .bl-cta-btn::after {
    right: 32px;
    border-width: 10px 0 10px 10px;
  }
}
/* =======================================================
section
======================================================= */
.c-section {
  padding: 64px 0;
}

.c-section-ttl {
  display: grid;
  gap: 8px;
  justify-content: center;
  margin-bottom: 40px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4375;
  text-align: center;
  letter-spacing: 0.06em;
}

.c-section-ttl::after {
  width: 400px;
  height: 22px;
  content: "";
  background: url("../images/common/section-ttl-deco.svg") center center/cover no-repeat;
}

@media screen and (width <= 750px) {
  .c-section .c-section-ttl {
    font-size: 42px;
  }
}
/* =======================================================
sp-fixed
======================================================= */
.bl-sp-fixed {
  display: none;
}

@media screen and (width <= 750px) {
  .bl-sp-fixed {
    position: sticky;
    bottom: 0;
    left: 0;
    z-index: 9000;
    display: block;
  }
  .bl-sp-fixed-btn {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 24px 16px 28px;
    font-size: 32px;
    font-weight: 700;
    color: var(--color-brightest);
    background: var(--color-accent);
  }
  .bl-sp-fixed-btn::before {
    width: 40px;
    height: 32px;
    content: "";
    background: url("../images/common/icon-mail.svg") center center/cover no-repeat;
    transform: translateY(2px);
  }
}
/* =======================================================
c-products
======================================================= */
.c-products-article {
  position: relative;
}

.c-products-article-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 40px;
}

.c-products-article .c-article-cat {
  position: absolute;
  top: 0;
  left: 0;
}

.c-products-article .c-article-imgwrapper {
  display: grid;
  place-content: center;
  height: 320px;
  margin-bottom: 16px;
  background: var(--color-contrast);
  border: 2px solid var(--color-black);
}

.c-products-article .c-article-imgwrapper > img {
  height: 252px;
  object-fit: cover;
  box-shadow: var(--box-shadow);
}

.c-products-article .c-article-ttl {
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 700;
}

.c-products-article .c-article-def {
  display: flex;
}

.c-products-article .c-article-dttl {
  display: flex;
}

.c-products-article .c-article-dttl::after {
  content: "：";
}

@media screen and (width <= 750px) {
  .c-products-article-wrapper {
    grid-template-columns: auto;
    gap: 40px;
    margin-bottom: 64px;
  }
  .c-products-article .c-article-imgwrapper {
    height: 480px;
    margin-bottom: 24px;
  }
  .c-products-article .c-article-imgwrapper > img {
    height: 378px;
  }
  .c-products-article .c-article-ttl {
    margin-bottom: 12px;
    font-size: 30px;
  }
}
/* =======================================================
c-cat
======================================================= */
.c-cat {
  padding: 0 8px 2px;
  font-size: 12px;
  font-weight: 700;
  color: var(--color-accent02);
  text-align: center;
  background: var(--color-accent);
}

.c-cat-def {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 40px;
  padding: 16px 32px;
  margin: 64px 0 56px;
  border: 2px solid var(--color-black);
}

.c-cat-dttl {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4444444444;
}

.c-cat-ditem {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

@media screen and (width <= 750px) {
  .c-cat {
    min-width: auto;
    padding: 0 16px 4px;
    font-size: 24px;
  }
  .c-cat-def {
    grid-template-columns: auto;
    gap: 24px;
    padding: 24px 40px 32px;
  }
  .c-cat-dttl {
    font-size: 30px;
  }
  .c-cat-ditem {
    gap: 24px;
  }
}
/* =======================================================
c-column-archive
======================================================= */
.c-column-archive-article-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 56px 32px;
}

.c-column-archive-article .c-article-imgwrapper {
  margin-bottom: 8px;
}

.c-column-archive-article .c-article-imgwrapper > img {
  height: 220px;
  object-fit: cover;
}

.c-column-archive-article .c-article-cat {
  justify-self: start;
  margin-bottom: 16px;
  border-radius: 8px;
}

.c-column-archive-article .c-article-date {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.4285714286;
}

.c-column-archive-article .c-article-ttl {
  font-size: 1em;
  font-weight: 400;
}

@media screen and (width <= 750px) {
  .c-column-archive-article-wrapper {
    grid-template-columns: auto;
    gap: 48px;
  }
  .c-column-archive-article .c-article-imgwrapper {
    margin-bottom: 32px;
  }
  .c-column-archive-article .c-article-imgwrapper > img {
    height: 380px;
  }
  .c-column-archive-article .c-article-head {
    display: flex;
    flex-direction: row-reverse;
    gap: 24px;
    align-items: center;
    justify-content: start;
    margin-bottom: 24px;
  }
  .c-column-archive-article .c-article-cat {
    margin-bottom: 0;
  }
  .c-column-archive-article .c-article-date {
    margin-bottom: 0;
    font-size: 22px;
    line-height: 1.4545454545;
    letter-spacing: 0.06em;
  }
  .c-column-archive-article .c-article-ttl {
    letter-spacing: 0.06em;
  }
}
/* =======================================================
c-dot
======================================================= */
.c-dot-list {
  display: flex;
  flex-wrap: wrap;
}

.c-dot-item {
  display: flex;
}

.c-dot-item:not(:last-of-type)::after {
  content: "・";
}

/* bl-bulletList */
.bl-bulletList > li {
  position: relative;
  padding-left: 1em;
}

.bl-bulletList > li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "・";
}

/* =======================================================
soft-display
======================================================= */
.--is-soft-display {
  opacity: 0;
}

.--is-soft-display-in {
  animation: softDisplay 0.5s ease forwards;
}

@keyframes softDisplay {
  to {
    opacity: 1;
  }
}
@media screen and (width <= 750px) {
  .--is-soft-display.--pc {
    opacity: 1;
  }
}
/* =======================================================
slidein
======================================================= */
.--is-slidein {
  transition: 1s cubic-bezier(0.75, 0, 0.25, 1);
}

.--is-slidein.--left {
  translate: calc(-50vw - 50%);
}

.--is-slidein.--right {
  translate: calc(50vw + 50%);
}

.--is-slidein.--show {
  translate: 0;
}

/* =======================================================
fade
======================================================= */
.--is-fade {
  opacity: 0;
  transform: translateY(30px);
}

.--is-fade-in {
  animation: fadeUp 1s ease forwards;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* =======================================================
interview
======================================================= */
.c-interview-wrapper {
  padding: 48px 0;
  background-color: var(--color-gray);
}

.c-interview {
  position: relative;
  max-width: 924px;
}
.c-interview::after {
  position: absolute;
  top: -48px;
  left: -31px;
  width: 14px;
  height: 104px;
  content: "";
  background-image: url("../images/common/interview.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.c-interview-ttl {
  margin-bottom: 24px;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
}
.c-interview-slide {
  position: relative;
  background-color: var(--color-brightest);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}
.c-interview-slide::before {
  position: absolute;
  top: -1px;
  left: 1px;
  z-index: 2;
  height: 114px;
  content: "";
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.3019607843));
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.c-interview-slide:not(:last-of-type) {
  margin-right: 24px;
}
.c-interview-slide:nth-of-type(4n + 1)::before {
  width: 132px;
  background-image: url("../images/common/01.svg");
}
.c-interview-slide:nth-of-type(4n + 2)::before {
  width: 152px;
  background-image: url("../images/common/02.svg");
}
.c-interview-slide:nth-of-type(4n + 3)::before {
  width: 152px;
  background-image: url("../images/common/03.svg");
}
.c-interview-slide:nth-of-type(4n + 4)::before {
  width: 154px;
  background-image: url("../images/common/04.svg");
}
.c-interview-slide-link {
  display: grid;
  grid-template-columns: 622px 1fr;
}
.c-interview-slide-link .c-link-head {
  position: relative;
}
.c-interview-slide-link .c-link-img {
  height: 350px;
  object-fit: cover;
}
.c-interview-slide-link .c-link-profile {
  position: absolute;
  bottom: 14px;
  left: 50%;
  width: 100%;
  font-weight: 700;
  color: var(--color-accent02);
  text-align: center;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.3019607843);
  letter-spacing: 0;
  translate: -50%;
}
.c-interview-slide-link .c-link-job {
  display: block;
  font-size: 24px;
}
.c-interview-slide-link .c-link-name {
  font-size: 31px;
}
.c-interview-slide-link .c-link-old {
  margin-left: 8px;
  font-size: 25px;
}
.c-interview-slide-link .c-link-body {
  display: grid;
  align-items: center;
  padding: 0 24px;
}
.c-interview-slide-link .c-link-txt {
  display: -webkit-box;
  align-self: end;
  margin-bottom: 24px;
  overflow: hidden;
  font-size: 16px;
  text-overflow: ellipsis;
  letter-spacing: 0;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.c-interview-slide-link .c-link-btn {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  align-self: start;
  width: fit-content;
  min-width: 253px;
  padding: 14px 24px 16px;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  background-color: var(--color-brightest);
  border: 1px solid var(--color-black);
  border-radius: 10px;
}
.c-interview-slide-link .c-link-btn::before, .c-interview-slide-link .c-link-btn::after {
  content: "";
}
.c-interview-slide-link .c-link-btn::after {
  width: 0;
  height: 0;
  border-color: transparent transparent transparent var(--color-black);
  border-style: solid;
  border-width: 4px 0 4px 6px;
}
.c-interview .swiper-pagination.--disabled {
  display: none;
}
.c-interview .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background-color: transparent;
  border: 1px solid var(--color-accent);
}
.c-interview .swiper-pagination-bullet-active {
  background-color: var(--color-accent);
}
.c-interview .c-interview-slide-button-prev,
.c-interview .c-interview-slide-button-next {
  display: none;
}
.c-interview .c-interview-slide-button-prev {
  left: -30px;
  background: url("../images/common/swiper-arrow-prev.svg") center center/cover no-repeat;
}
.c-interview .c-interview-slide-button-next {
  right: -30px;
  background: url("../images/common/swiper-arrow-next.svg") center center/cover no-repeat;
}
.c-interview .swiper-horizontal > .swiper-pagination-bullets,
.c-interview .swiper-pagination-bullets.swiper-pagination-horizontal,
.c-interview .swiper-pagination-custom,
.c-interview .swiper-pagination-fraction {
  position: relative;
  bottom: initial;
  left: initial;
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 24px;
  transition: all 0.5s ease;
  transform: none;
}
.c-interview .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.c-interview .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet,
.c-interview .swiper-pagination-custom .swiper-pagination-bullet,
.c-interview .swiper-pagination-fraction .swiper-pagination-bullet {
  margin: 0;
  opacity: 1;
}
.c-interview .swiper-button-next::after,
.c-interview .swiper-button-prev::after {
  display: none;
}
.c-interview .swiper-button-next.swiper-button-disabled,
.c-interview .swiper-button-prev.swiper-button-disabled {
  display: none;
}

@media screen and (max-width: 750px) {
  .c-interview-wrapper {
    padding: 64px 0;
  }
  .c-interview::after {
    top: -64px;
    left: 4px;
    height: 144px;
    background-image: url("../images/common/interview-sp.svg");
  }
  .c-interview-ttl {
    margin-bottom: 48px;
    font-size: 48px;
  }
  .c-interview-slide::before {
    top: 1px;
    height: 124px;
  }
  .c-interview-slide:not(:last-of-type) {
    margin-right: 30px;
  }
  .c-interview-slide:nth-of-type(4n + 1)::before {
    width: 144px;
    background-image: url("../images/common/01-sp.svg");
  }
  .c-interview-slide:nth-of-type(4n + 2)::before {
    width: 166px;
    background-image: url("../images/common/02-sp.svg");
  }
  .c-interview-slide:nth-of-type(4n + 3)::before {
    width: 164px;
    background-image: url("../images/common/03-sp.svg");
  }
  .c-interview-slide:nth-of-type(4n + 4)::before {
    width: 168px;
    background-image: url("../images/common/04-sp.svg");
  }
  .c-interview-slide-link {
    grid-template-columns: auto;
  }
  .c-interview-slide-link .c-link-img {
    height: 388px;
  }
  .c-interview-slide-link .c-link-job {
    font-size: 28px;
  }
  .c-interview-slide-link .c-link-name {
    font-size: 36px;
  }
  .c-interview-slide-link .c-link-old {
    margin-left: 0;
    font-size: 28px;
  }
  .c-interview-slide-link .c-link-body {
    padding: 48px 32px;
  }
  .c-interview-slide-link .c-link-txt {
    margin-bottom: 48px;
    font-size: 28px;
    -webkit-line-clamp: 2;
  }
  .c-interview-slide-link .c-link-btn {
    min-width: 560px;
    padding: 28px 40px 32px;
    margin-inline: auto;
    font-size: 28px;
    border-width: 2px;
    border-radius: 85px;
  }
  .c-interview-slide-link .c-link-btn::after {
    border-width: 8px 0 8px 12px;
  }
  .c-interview .swiper-pagination-bullet {
    width: 16px;
    height: 16px;
    border-width: 2px;
  }
  .c-interview .c-interview-slide-button-prev,
  .c-interview .c-interview-slide-button-next {
    top: 429px;
    display: block;
    width: 60px;
    height: 120px;
    margin-top: 0;
  }
  .c-interview .swiper-horizontal > .swiper-pagination-bullets,
  .c-interview .swiper-pagination-bullets.swiper-pagination-horizontal,
  .c-interview .swiper-pagination-custom,
  .c-interview .swiper-pagination-fraction {
    gap: 16px;
    margin-top: 32px;
  }
}
/* =======================================================
utility
======================================================= */
.u-att {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.25em;
}

@media screen and (min-width: 751px) {
  .u-sm {
    display: none;
  }
}
.c-gradient-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  padding: 0 42px 0 24px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  color: #333;
  text-align: center;
  text-decoration: none;

  /* グラデーション枠用 */
  background:
    linear-gradient(
      135deg,
      #fff 0%,
      #fffaf6 58%,
      #ffe0c6 100%
    )
    padding-box,

    linear-gradient(
      125deg,
      #f8e0c0 0%,
      #ff6a00 100%
    )
    border-box;

  border: 2px solid transparent;
  border-radius: 40px;
  box-shadow: none;

  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.c-gradient-btn span {
  position: relative;
  z-index: 1;
}

/* 右向き三角 */
.c-gradient-btn::after {
  position: absolute;
  top: 50%;
  right: 21px;
  width: 0;
  height: 0;
  content: "";
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #333;
  transform: translateY(-50%);
}

@media (hover: hover) and (pointer: fine) {
	.c-gradient-btn:hover {
		color: #fff;
		background:
			linear-gradient(
				135deg,
				#ff6a00 0%,
				#ff6a00 100%
			)
			padding-box,

			linear-gradient(
				125deg,
				#f8e0c0 0%,
				#ff6a00 100%
			)
			border-box;
		box-shadow: 2px 2px 0 #ff6a00;
		transform: translate(-1px, -1px);
	}
	.c-gradient-btn:hover::after {
		border-left-color: #fff;
		transform: translate(4px, -50%);
	}
}

/* =======================================================
  ホームに戻る
======================================================= */

.bl-home {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 216px;
	min-height: 37px;
	padding: 5px 30px 8px;
	margin: 88px auto 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.35;
	color: #333;
	text-align: center;
	text-decoration: none;
	border-bottom: 1px solid #333;
}

.bl-home-arrow {
	position: absolute;
	top: 50%;
	left: 7px;
	width: 8px;
	height: 8px;
	border-bottom: 1px solid #333;
	border-left: 1px solid #333;
	transform: translateY(-50%) rotate(45deg);
}
