*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
	border: 0;
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

html {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

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

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

img {
	border: none;
	vertical-align: bottom;
}

a {
	cursor: pointer;
	text-decoration: none;
}

/* ===============================================
# 色
=============================================== */

/* ===============================================
# フォント
=============================================== */

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

/* ===============================================
# ブレークポイント
=============================================== */

/* ===============================================
# 重なり順の定義
=============================================== */

body {
	background: #E6EDF3;
	color: #353535;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.7;
}

body.is-footer-sns-fixed {
	padding-bottom: 75px;
}

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

a {
	color: inherit;
}

a:hover {
	opacity: 80%;
}

table,
th,
td {
	border: none;
}

html {
	font-size: 1rem;
}

.l-inner {
	height: inherit;
	margin: 0 auto;
	max-width: 1440px;
	padding: 0 150px;
	position: relative;
	width: 100%;
}

.l-inner.p-blog {
	max-width: 1000px;
}

.l-content {
	padding-bottom: 120px;
	padding-top: 60px;
}

.l-content__inner {
	display: flex;
	flex-wrap: wrap;
}

.l-front-main__pagination {
	margin-top: 64px;
	text-align: center;
}

.l-archive-main__breadcrumb {
	margin-bottom: 14px;
}

.l-archive-main__head {
	border-top: 3px solid #fff;
	margin-bottom: 70px;
	padding-top: 28px;
}

.l-archive-main__card:nth-child(n+2) {
	margin-top: 30px;
}

.l-archive-main__pagination {
	margin-top: 62px;
	text-align: center;
}

.l-entry-main__breadcrumb {
	margin-bottom: 14px;
}

.l-to-top-button {
	bottom: 100px;
	display: none;
	position: fixed;
	right: 28px;
	z-index: 30;
}

.l-footer-sns {
	bottom: -75px;
	left: 0;
	position: fixed;
	z-index: 30;
}

.is-footer-sns-fixed .l-footer-sns {
	bottom: 0;
}

.l-section {
	padding-bottom: 80px;
	padding-top: 100px;
}

/*==================================================
ふわっ
===================================*/

/* fadeUp */

.fadeUp {
	animation-duration: 2s;
	animation-fill-mode: forwards;
	animation-name: fadeUpAnime;
	opacity: 0;
}

/* 左から */

.fadeLeft {
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	animation-name: fadeLeftAnime;
	opacity: 0;
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.fadeLeftTrigger {
	opacity: 0;
}

.l-news {
	display: flex;
}

.l-news-main {
	margin-block: 120px;
}

.p-news-main-title {
	font-size: 24px;
	font-weight: bold;
	line-height: 35px;
	padding-bottom: 24px;
}

.p-news-cards {
	display: grid;
	gap: 40px;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* 自動調整 */
	row-gap: 64px;
	width: 100%;
}

.p-news-card {
	position: relative;
}

.c-news-card-image {
	aspect-ratio: 16/9;
	border-radius: 12px;
	overflow: hidden;
}

.c-news-card-image.single {
	margin-bottom: 32px;
	margin-top: 16px;
}

.c-news-card-image.single img {
	aspect-ratio: 16/9;
	border-radius: 12px;
	height: auto;
	width: 100%;
}

.c-news-card-image img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: 1s all;
	width: 100%;
}

.c-news-card-detail {
	padding-top: 12px;
	text-align: left;
}

.c-news-card-title {
	color: var(--color-text-default, #081630); /* typography/body/md/bold */
	font-family: var(--font-family-default, "Noto Sans JP");
	font-size: 16px;
	font-style: normal;
	font-weight: 700; /* 28px */
	letter-spacing: 0.48px;
	line-height: 175%;
	overflow: hidden;
	text-overflow: ellipsis;
}

.c-news-card-date {
	color: #E6EDF3;
}

.c-news-card-date.single {
	color: #676E87;
	font-family: Noto Sans JP;
	font-size: 16px;
	font-weight: 400;
	line-height: 28.8px;
	text-align: left;
}

.p-tag {
	left: -7px;
	position: absolute;
	top: 10%;
}

.p-tag.p-big-tag {
	top: 22px;
}

.p-tag__text {
	background-color: #D6DFEC;
	color: #182F5D;
	display: inline-block;
	font-size: 12px;
	padding: 3px 14px 3px 12px;
	position: relative;
	z-index: 1;
}

.p-tag__text::after {
	border-color: #D6DFEC transparent #D6DFEC #D6DFEC;
	border-style: solid;
	border-width: 12px 8px 13px 0px;
	content: "";
	height: 0px;
	position: absolute;
	right: -8px;
	top: 0px;
	width: 0px;
	z-index: 1;
}

.p-tag__text::before {
	border-color: transparent #AAAAAA transparent transparent;
	border-style: solid;
	border-width: 0 8px 4px 0;
	content: "";
	height: 0;
	left: 0;
	position: absolute;
	top: 100%;
	width: 0;
}

.wp-block-heading {
	margin-top: 32px;
}

.wp-block-image {
	text-align: center;
}

.wp-block-image img {
	box-sizing: border-box;
	height: auto;
	margin-top: 50px;
	max-width: 100%;
	vertical-align: bottom;
	width: 100% !important;
}

h2.wp-block-heading {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 38.4px;
	margin-bottom: 16px;
	padding-bottom: 16px;
	padding-top: 16px;
	position: relative;
	text-align: left;
}

h2.wp-block-heading::after {
	background-color: #629DE2;
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: 100%;
}

h3.wp-block-heading {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 25.6px;
	padding-left: 15px;
	position: relative;
	text-align: left;
}

h3.wp-block-heading::before {
	background-color: #629DE2;
	content: "";
	height: 80%;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2px;
}

h4.wp-block-heading {
	font-family: Noto Sans JP;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 24px;
	padding-left: 30px;
	position: relative;
	text-align: left;
}

h4.wp-block-heading::before {
	background-color: #629DE2;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}

.wp-block-separator {
	border-top: 1px solid #DDE1F0;
	margin-top: 30px;
}

.l-news-detail-container h4.wp-block-heading {
	font-family: Noto Sans JP;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 24px;
	text-align: left;
}

.c-news-detail__pagenation {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 32px;
	margin-inline: auto;
	margin-top: 32px;
	width: 300px;
}

.c-news-detail__pagenation-prev {
	font-size: 14px;
	font-weight: bold;
	padding-left: 16px;
	position: relative;
}

.c-news-detail__pagenation-prev a {
	color: #135097;
}

.c-news-detail__pagenation-prev::before {
	color: #135097;
	content: "";
	height: 11.23px;
	left: 0;
	position: absolute;
	top: 0;
	width: 6.28px;
}

.c-news-detail__pagenation-next {
	font-size: 14px;
	font-weight: bold;
	padding-right: 16px;
	position: relative;
}

.c-news-detail__pagenation-next a {
	color: #135097;
}

.c-news-detail__pagenation-next::after {
	color: #135097;
	content: "";
	height: 11.23px;
	position: absolute;
	right: 0;
	top: 0;
	width: 6.28px;
}

.l-news-detail-container {
	background-color: white;
	border-radius: 24px;
	margin-top: 203px;
	padding: 48px 88px;
	width: 100%;
}

.l-news-detail-container p {
	font-family: Noto Sans JP;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 30px;
	margin-top: 20px;
	text-align: left;
}

.l-news-detail-container ul {
	list-style: disc inside;
}

.l-news-detail-container ul li {
	list-style-type: none;
	padding-left: 36px;
}

.l-news-detail-container ul li::before {
	color: #629DE2;
	content: "•"; /* ディスクの Unicode */
	display: inline-block;
	margin-left: -1em;
	width: 1em;
}

.wp-block-quote {
	border-left: 2px solid grey;
	margin: 0;
	padding-left: 10px;
}

/* ===============================================
# 投稿のリスト数字表示
=============================================== */

ul {
	list-style: disc inside; /* デフォルトの箇条書きスタイルを内側に設定 */
	padding-left: 20px; /* 左側の余白を確保 */
}

ol { /* デフォルトの箇条書きスタイルを無効化 */
	counter-reset: list-counter;
	list-style: none; /* カウンターのリセット */
	padding-left: 20px; /* 左側の余白を確保 */
}

ol li {
	counter-increment: list-counter;
	padding-left: 30px; /* 各li要素ごとにカウンターを増やす */
	position: relative; /* 数字のためのスペースを確保 */
}

ol li::before {
	color: grey;
	content: counter(list-counter) ". ";
	left: 0; /* カウンターの値を表示 */
	position: absolute; /* 数字の色をグレーに設定 */
}

.c-news-detail__article-list {
	border: 1px solid #135097;
	padding: 10px;
}

.c-news-detail__article-list p {
	color: #135097;
}

/* ===============================================
# プライバシーポリシー
=============================================== */

.single-title {
	color: #343436;
	font-family: Noto Sans JP;
	font-size: 28px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 50.4px;
	padding-top: 0.5rem;
	text-align: left;
}

.l-pickup-news {
	background: #fff;
}

.u-bg-white {
	background: #fff;
}

.u-mw-300 { /* max-width: 300px; */
}

.l-pickup-news-wrapper {
	padding: 17px;
	width: 100%;
}

.c-news-side-menu-title {
	color: #135097;
	font-size: 20px;
	font-weight: bold;
	line-height: 29px;
	position: relative;
}

.c-news-side-menu-title::after {
	border-bottom: 1px solid #000;
	bottom: -20px;
	color: #135097;
	content: "";
	height: auto;
	left: 0;
	position: absolute;
	width: 32px;
}

.c-news-side-cards {
	padding-top: 25px;
}

.c-news__card :hover {
	opacity: 0.6;
	transition: 1s all;
}

.u-mt-16 {
	margin-top: 16px;
}

.c-pickup-news__card-link {
	display: flex;
	width: auto;
}

.c-news__card-image img {
	-o-object-fit: cover;
	height: 100px;
	min-width: 100px;
	object-fit: cover; /* この一行を追加するだけで画像が伸びない*/
}

.u-w100 {
	height: 100px;
	width: 100px;
}

.c-pickup-news__card-detail {
	display: flex;
	flex-direction: column;
	padding-left: 16px;
	width: auto;
}

.order-1 {
	order: 1;
}

.c-pickup-news__card-title {
	font-size: 14px;
	font-weight: bold;
	order: 2;
	width: 100%;
}

.l-pickup-news__card-title {
	padding-top: 12px;
}

.u-pt-0 {
	padding-top: 0;
}

.c-pickup-news__card-date {
	color: #135097;
	font-size: 12px;
	order: 1;
	padding-top: 3px;
	width: 100%;
}

.c-news-category {
	background: #fff;
	margin: 100px 0;
	padding: 20px;
}

.c-news-category-container {
	margin-top: 20px;
}

.c-news-category-name {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.4375; /* padding-left: 12px; */ /* padding-top: 17px; */
	position: relative;
}

/* .c-news-category-name::after {
  position: absolute;
  content: "";
  background: url(../img/arrow.png) no-repeat center center/contain;
  width: 10px;
  height: 100%;
  top: 10px;
  left: 0;
} */

.c-news-category-name li {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.4375;
	padding-left: 15px;
	padding-top: 17px;
	position: relative;
}

.c-news-category-name li::after {
	background: url(../img/arrow.png) no-repeat center center/contain;
	content: "";
	height: 50%;
	left: 0;
	position: absolute;
	width: 8px;
}

.l-top-access {
	margin-top: 170px;
	padding-bottom: 56px;
	padding-top: 80px;
	position: relative;
}

.p-top-access-menu-header {
	position: relative;
}

.c-titles {
	margin-bottom: 42px;
	text-align: center;
}

.p-map {
	margin: 0 auto;
	max-width: 688px;
	padding-bottom: 40px;
}

.ifream-wrap {
	border: 10px solid #ffffff;
	height: 0;
	margin: 0 auto;
	margin-top: 24px;
	padding-top: 53.3430232558%;
	position: relative;
	width: 100%;
}

iframe {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-info-column {
	flex-basis: 350px;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	margin-top: 40px;
}

.p-info-column__row {
	border-bottom: 1px solid #135097;
	display: flex;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 26px;
	padding-bottom: 10px;
}

.p-info-column__term {
	flex-shrink: 0;
	line-height: 1.2;
	margin-right: 20px;
	width: 122px;
}

.p-info-column__term.about {
	width: 105px;
}

.p-info-column__description {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.7142857143;
	word-break: break-all;
}

.l-new {
	margin-block: 40px;
}

.l-new-card-container {
	display: flex;
	flex-wrap: wrap;
	gap: 20px; /* カード間のスペース */
	justify-content: space-between;
	margin-block: 48px;
}

.mt500 {
	margin-top: 31.25rem;
}

.c-section-title-wrapper {
	align-items: center;
	display: flex;
	margin-top: 30px;
}

.c-section-title-wrapper.jcc {
	justify-content: center;
}

.c-section-title-wrapper.head {
	align-items: center;
	justify-content: center;
	margin-top: 0;
}

.c-section-title-business {
	display: flex;
	flex-direction: column;
}

.c-section-title-wrapper-container {
	display: flex;
	gap: 10px;
}

.c-section-title-wrapper img {
	margin-right: 12px;
}

.c-section-titles {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	justify-content: space-between;
}

.c-section-titles.center {
	justify-content: center;
}

.c-section-titles.db {
	display: block;
}

.c-section-titles.top {
	display: flex;
}

.c-section-title-main {
	align-items: center;
	display: flex;
	justify-content: center;
}

.c-section-title-main.tal {
	justify-content: start;
}

.c-section-title-main.sp-jcl {
	justify-content: start;
}

.c-section-title {
	font-family: Zen Maru Gothic;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 38.4px;
	padding-left: 17px;
	text-align: left;
}

.c-section-title.white {
	color: white;
}

.c-section-title.blue {
	color: #135097;
}

.c-section-title-sub {
	color: var(--color-neutral-70, #E0E0E0);
	font-family: "Lato", sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 700; /* 32px */
	letter-spacing: 0.5px;
	line-height: 160%;
	text-align: center;
}

.c-section-title-sub.white {
	color: white;
}

.c-section-sub-title {
	word-wrap: break-word;
	color: #19448E;
	font-family: Noto Sans JP;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.56px;
	line-height: 43.96px;
}

.c-section-sub-title.mt64 {
	margin-top: 64px;
}

.c-section-sub-title.mt32 {
	margin-top: 32px;
}

.c-section-sub-title.green {
	color: #028760;
}

.c-section-sub-title.gray {
	color: #E6EDF3;
}

.c-section-sub-title.blue {
	color: #19448E;
}

.c-section-about-titles {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 16px;
}

.c-section-about-title {
	background: #19448E;
	color: white;
	font-weight: bold;
	padding-block: 8px;
	padding-inline: 16px;
	text-align: center;
}

.c-section-about-title.green {
	background: #028760;
}

.c-section-about-title.gray {
	background: #E6EDF3;
}

.c-section-about-title.business {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.6px;
	line-height: 167%; /* 40.08px */
	padding-block: 2px;
}

.c-section-main-text {
	color: var(--color-text-default, #081630); /* typography/body/md/bold */
	font-family: var(--font-family-default, "Noto Sans JP");
	font-size: 16px;
	font-style: normal;
	font-weight: 700; /* 28px */
	letter-spacing: 0.48px;
	line-height: 175%;
	margin-top: 8px;
}

.c-section-text {
	flex: 1; /* 左側の余白を追加 */
	margin-top: 8px; /* 余ったスペースを全て使う */
	padding-left: 20px; /* 上部のマージンを調整 */
}

.c-section-text.mb64 {
	margin-bottom: 64px;
}

.c-section-text.white {
	color: white;
}

.c-section-text.tac {
	text-align: center;
}

.c-section-text.business {
	font-size: 20px;
	margin-top: 26px;
	padding-left: 37px;
}

.c-section-text.event {
	padding-left: 0;
}

.c-section-text.mt32 {
	margin-top: 32px;
}

.c-section-text.pl0 {
	padding-left: 0;
}

.c-btn-parent-company {
	align-items: center;
	display: flex;
	position: relative;
}

.c-btn-parent-company.w200 {
	width: 200px;
}

.c-btn-parent {
	margin-top: 30px;
	text-align: right;
}

.c-btn-parent.single {
	margin-bottom: 120px;
	margin-top: 80px;
}

.c-btn-parent.flex {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: center;
}

.c-btn-parent.tac {
	text-align: center;
}

.c-btn-parent.all-tac {
	text-align: center;
}

.c-btn {
	background-color: #19448E;
	border: 2px solid #19448E;
	border-radius: 20px 20px 0 20px;
	color: #fff;
	display: inline-block;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 36px;
	padding: 8px 28px;
	text-align: center;
	transition: all 0.3s ease;
}

.c-btn .fa {
	margin-right: 8px;
}

.c-btn:hover {
	background: #fff;
	box-shadow: 0 2px 24px rgba(0, 0, 0, 0.1);
	color: #19448E;
}

.c-btn:active {
	background: #19448E;
	color: #fff;
}

.c-btn.c-404 {
	background: #629DE2;
	border-color: white;
	border-radius: 16px;
}

.c-btn.c-404:hover {
	background: white;
	border-color: #629DE2;
}

.c-btn.bg-white {
	background-color: #fff;
	border-color: #19448E;
	color: #19448E;
}

.c-btn.bg-white:hover {
	background: #19448E;
	color: #fff;
}

.c-btn.bg-white:active {
	background: #112f63;
}

.c-btn.gray {
	background-color: #fff;
	border-color: #808080;
	color: #808080;
}

.c-btn.gray:hover {
	background: #808080;
	color: #fff;
}

.c-btn.gray:active {
	background: #676767;
}

.c-feature__image-items {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 38px;
}

.c-feature__image-item {
	height: 335px;
	text-align: center;
	text-align: center;
	width: 335px;
}

.c-feature__image-detail {
	align-items: center;
	background-color: #C70010;
	color: #fff;
	display: flex;
	font-size: 20px;
	font-weight: bold;
	height: 87px;
	justify-content: center;
	line-height: 32px;
	position: relative;
}

.c-feature__image-detail::after {
	border-color: #C70010 transparent transparent transparent;
	border-style: solid;
	border-width: 20px 20px 0 20px;
	bottom: -20px;
	content: "";
	height: 0px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 0px;
}

.c-feature__image {
	height: auto;
}

.c-feature__image img {
	-o-object-fit: cover;
	-o-object-position: 16% 100%;
	height: 244px;
	object-fit: cover;
	object-position: 16% 100%;
	width: 100%;
}

/*========= ページトップのためのCSS ===============*/

/*リンクの形状*/

#page-top a {
	align-items: center;
	display: flex;
	height: 60px;
	justify-content: center;
	position: relative;
	width: 60px;
}

/*リンクを右下に固定*/

#page-top {
	background: url(../img/top.png) no-repeat top center/cover; /*はじめは非表示*/
	opacity: 0;
	position: fixed;
	right: 10px;
	transform: translateY(100px);
	z-index: 2;
}

/*　上に上がる動き　*/

#page-top.UpMove {
	animation: UpAnime 0.5s forwards;
}

/*　下に下がる動き　*/

#page-top.DownMove {
	animation: DownAnime 0.5s forwards;
}

.c-archive-header {
	align-items: center;
	background: url(../img/header-bg.png) no-repeat center center/cover;
	display: flex;
	flex-direction: column;
	height: clamp(9.375rem, 8.0307rem + 5.5866vw, 12.5rem);
	justify-content: center;
	margin-top: 120px;
}

.c-archive-header-title {
	color: #135097;
	font-family: "Lato", sans-serif;
	font-size: clamp(2.25rem, 2.0618rem + 0.7821vw, 2.6875rem);
}

.c-archive-header-sub-title {
	font-size: clamp(1.125rem, 0.375rem + 2.4vw, 1.875rem);
}

.l-breadcrumbs {
	padding-bottom: 35px;
	padding-top: 35px;
}

.pagination {
	display: block;
	justify-content: center;
	margin: 54px auto 0;
	text-align: center;
}

.pagination .page-numbers {
	align-items: center;
	border-radius: 4px;
	display: inline-flex;
	font-weight: bold;
	height: 32px;
	justify-content: center;
	margin-right: 8px;
	width: 32px;
}

.pagination .prev,
.pagination .next {
	align-items: center;
	background: #629DE2;
	border: 1px solid var(--color-background-subtler, #C2C2C2);
	border-radius: 50%;
	color: white;
	display: inline-flex;
	height: 32px;
	justify-content: center;
	position: relative;
	width: 32px;
}

.pagination .prev::before,
.pagination .next::before {
	border-color: transparent transparent transparent white;
	border-style: solid;
	border-width: 6px 0 6px 10px;
	content: "";
	display: block;
	height: 0;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 0;
}

.pagination .prev::before {
	transform: translate(-50%, -50%) rotate(180deg);
}

.pagination .next::before {
	transform: translate(-50%, -50%);
}

.pagination .current {
	background: #629DE2;
	border: 1px solid var(--color-background-subtler, #C2C2C2);
	color: #fff;
}

.c-business-boxes {
	display: flex;
	flex-direction: column;
	gap: 5rem;
	margin-top: 5rem;
}

.c-business-box {
	background: white;
	border-radius: 16px;
	padding: 32px;
}

.c-business-box-container {
	align-items: center;
	display: flex;
	gap: 32px;
	justify-content: space-between;
}

.c-business-box-container.reverse {
	flex-direction: row-reverse;
}

.c-business__img {
	flex: 1;
}

.c-business__img img {
	width: 100%;
}

.c-business__detail {
	width: 42.8571428571%;
}

.c-cta-btn {
	position: relative;
	width: -moz-max-content;
	width: max-content;
}

.c-cta-btn__sub-title {
	border-radius: 8px 8px 8px 0px;
	box-shadow: inset 0 0 0 1px white;
	padding: 8px 16px;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 2;
}

.c-cta-btn__sub-title.blue {
	background: #2A84BF;
	color: white;
}

.c-cta-btn__sub-title.white {
	background: white;
	color: #135097;
}

.c-cta-btn__main-title {
	align-items: center;
	border-radius: 8px;
	display: inline-flex;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 31.2px;
	padding: 16px 32px;
	position: relative;
	text-align: center;
	top: -10px;
	z-index: 1;
}

.c-cta-btn__main-title.white {
	background-color: white;
	border: 1px solid #2A84BF;
	color: #135097;
}

.c-cta-btn__main-title.blue {
	background-color: transparent;
	box-shadow: inset 0 0 0 1px white;
	color: white;
}

.c-cta-btn__main-title::after {
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	content: "";
	display: inline-block;
	height: 12px;
	margin-left: 10px;
	transform: rotate(45deg);
	width: 12px;
}

.c-cta-btn {
	cursor: pointer; /* 指アイコンを表示 */
	transition: transform 0.3s ease, opacity 0.3s ease; /* アニメーションのスムーズさを設定 */
}

.c-cta-btn:hover {
	opacity: 0.8; /* 透過度を80%に設定 */
	transform: translateY(8px); /* 8px下に移動 */
}

.c-header-btn {
	cursor: pointer;
	position: relative;
	text-align: center;
	transition: transform 0.3s ease, opacity 0.3s ease;
	width: 150px;
}

.c-header-btn__sub-title,
.c-header-btn__main-title {
	border-radius: 8px;
	display: block;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 31.2px;
	padding: 4px 0;
}

.c-header-btn__sub-title {
	border-radius: 8px 8px 0 0;
	box-shadow: inset 0 0 0 1px white;
	font-family: Noto Sans JP;
	font-size: 12px;
	font-weight: 700;
	line-height: 20px;
	position: relative;
	text-align: center;
	z-index: 2;
}

.c-header-btn__sub-title.blue {
	background: #0F2C5D;
	color: white;
}

.c-header-btn__sub-title.white {
	background: white;
	color: #135097;
}

.c-header-btn__main-title {
	border: 1px solid #2A84BF;
	border-radius: 0 0 8px 8px;
	font-family: Noto Sans JP;
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	position: relative;
	text-align: center;
	z-index: 1;
}

.c-header-btn__main-title.white {
	background-color: white;
	color: #135097;
}

.c-header-btn__main-title.blue {
	background-color: transparent;
	box-shadow: inset 0 0 0 1px white;
	color: white;
}

.c-header-btn:hover {
	opacity: 0.8;
	transform: translateY(8px);
}

.c-card,
.c-card__fv {
	background-color: white;
	border: 1px solid #ddd;
	border-radius: 20px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	gap: 12px;
	opacity: 0px;
	overflow: hidden;
	padding: 16px;
}

.c-card.recommend,
.recommend.c-card__fv {
	border-radius: 12px;
	box-shadow: 0px 5px 30px 0px rgba(20, 43, 78, 0.2);
}

.c-card__link {
	color: inherit;
	display: block;
	text-decoration: none;
}

.c-card__image {
	overflow: hidden;
}

.c-card__image img {
	-o-object-fit: cover;
	-o-object-position: center;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.3s ease;
	width: 100%;
}

.c-card__image.recommend {
	margin-bottom: 0;
}

.c-card__content {
	padding-top: 0.75rem;
}

.c-card__content.new {
	padding-top: 0;
}

.c-card__content.recommend {
	padding-top: 15px;
}

.c-card__date {
	color: #666;
	display: block;
	font-family: Noto Sans JP;
	font-size: 14px;
	font-size: 14px;
	font-weight: 400;
	line-height: 16.8px;
	margin-bottom: 8px;
	text-align: left;
	text-align: left;
}

.c-card__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0 0 8px;
	max-width: 100%;
	overflow: hidden;
	text-align: left;
	width: auto;
}

.c-card__title.recommend {
	font-family: Noto Sans JP;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 21px;
	text-align: left;
}

.c-card__category {
	color: #135097;
	font-size: 14px;
	margin-bottom: 8px;
	padding: 4px, 16px, 4px, 16px;
}

.c-card__category.single {
	padding-top: 0.625rem;
}

.c-card__category.recommend {
	margin-top: 6px;
}

.c-card__category-name {
	border: 1px solid #135097;
	border-radius: 4px;
	color: #135097;
	display: inline-block;
	padding: 2px 8px;
}

.c-card__category-name--new {
	border-color: #135097;
	color: #135097;
}

.c-card__category-name--news {
	border-color: #C88DEC;
	color: #C88DEC;
}

.c-card__category-name--tips {
	border-color: #42A0AD;
	color: #42A0AD;
}

.c-card__category-name--interview {
	border-color: #9C8CFF;
	color: #9C8CFF;
}

.c-card__tags {
	display: flex;
	gap: 10px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.c-card__tag {
	background: #DAEFF8;
	border-radius: 16px;
	display: inline-block;
	font-family: Noto Sans JP;
	font-size: 12px;
	font-size: 12px;
	font-weight: 400;
	line-height: 21.6px;
	margin-right: 4px;
	padding: 2px 8px;
	text-align: left;
	transition: 0.4s ease;
}

.c-card__tag:hover {
	background: var(--gray33333, #343436);
	color: #DAEFF8;
}

.c-card__fv {
	background-color: white;
	border: 1px solid #ddd;
	border-radius: 20px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 16px 30px 0px rgba(0, 0, 0, 0.0588235294);
	box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.0196078431);
	gap: 12px;
	opacity: 0px;
	overflow: hidden;
	padding: 28px;
}

.c-card__fv.recommend {
	border-radius: 12px;
	box-shadow: 0px 5px 30px 0px rgba(20, 43, 78, 0.2);
}

.c-card__fv__link {
	color: inherit;
	display: block;
	text-decoration: none;
}

.c-card__fv__image {
	overflow: hidden;
}

.c-card__fv__image img {
	-o-object-fit: cover;
	-o-object-position: center;
	border-radius: 20px;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.3s ease;
	width: 100%;
}

.c-card__fv__content {
	padding-top: 0.75rem;
}

.c-card__fv__date {
	color: #666;
	display: block;
	font-family: Noto Sans JP;
	font-size: 14px;
	font-size: 14px;
	font-weight: 400;
	line-height: 16.8px;
	margin-bottom: 8px;
	text-align: left;
	text-align: left;
}

.c-card__fv__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-family: "Noto Sans JP", sans-serif;
	font-family: Noto Sans JP;
	font-size: 20px;
	font-size: 20px;
	font-weight: 500;
	font-weight: 500;
	letter-spacing: 0.02em;
	letter-spacing: 0.05em;
	line-height: 1.4;
	line-height: 32px;
	margin: 0 0 20px;
	max-width: 100%;
	overflow: hidden;
	text-align: left;
	text-align: left;
	width: auto;
}

.c-card__fv__category {
	color: #135097;
	font-family: Noto Sans JP;
	font-size: 14px;
	font-size: 18px;
	font-weight: 400;
	line-height: 25.2px;
	margin-bottom: 13px;
	padding: 4px, 16px, 4px, 16px;
	text-align: left;
}

.c-card__fv__category.single {
	padding-top: 0.625rem;
}

.c-card__fv__category-name {
	border: 1px solid #135097;
	border-radius: 4px;
	color: #135097;
	display: inline-block;
	padding: 4px 20px;
}

.c-card__fv__category-name--new {
	border-color: #135097;
	color: #135097;
}

.c-card__fv__category-name--news {
	border-color: #C88DEC;
	color: #C88DEC;
}

.c-card__fv__category-name--tips {
	border-color: #42A0AD;
	color: #42A0AD;
}

.c-card__fv__category-name--interview {
	border-color: #9C8CFF;
	color: #9C8CFF;
}

.c-card__fv__tags {
	display: flex;
	gap: 10px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.c-card__fv__tag {
	background: #DAEFF8;
	border-radius: 16px;
	display: inline-block;
	font-family: Noto Sans JP;
	font-family: Noto Sans JP;
	font-size: 12px;
	font-size: 12px;
	font-size: 14px;
	font-weight: 400;
	font-weight: 400;
	line-height: 21.6px;
	line-height: 21px;
	margin-right: 4px;
	padding: 2px 8px;
	text-align: left;
	text-align: left;
	transition: 0.4s ease;
}

.c-card__fv__tag:hover {
	background: var(--gray33333, #343436);
	color: #DAEFF8;
}

.l-new-card-container {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: space-between;
}

.c-card,
.c-card__fv {
	background-color: white;
	border: 1px solid #ddd;
	border-radius: 20px;
	box-shadow: 0px 16px 30px 0px rgba(0, 0, 0, 0.0588235294), 0px 0px 30px 0px rgba(0, 0, 0, 0.0196078431);
	flex: 0 1 30%;
	overflow: hidden;
	padding: 16px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.c-card.recommend,
.recommend.c-card__fv {
	border-radius: 12px;
	box-shadow: 0px 5px 30px 0px rgba(20, 43, 78, 0.2);
}

.c-card__link {
	color: inherit;
	display: block;
	text-decoration: none;
}

.c-card__image {
	aspect-ratio: 16/9;
	border-radius: 12px;
	margin-bottom: 12px;
	overflow: hidden;
}

.c-card__image img {
	-o-object-fit: cover;
	-o-object-position: center;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.3s ease;
	width: 100%;
}

.c-card__content {
	display: flex;
	flex-direction: column;
}

.c-card__date {
	color: #666;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
}

.c-card__date.new {
	margin-top: -8px;
}

.c-card__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.4;
	margin: 0;
	overflow: hidden;
}

.c-card__title.new {
	font-family: Noto Sans JP;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 21px;
	text-align: left;
}

.c-card__category {
	margin-bottom: 8px;
}

.c-card__category.new {
	margin-top: 10px;
}

.c-card__category-name {
	border-radius: 4px;
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	padding: 4px 12px;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.c-card__category-name--new {
	border: 1px solid #135097;
	color: #135097;
}

.c-card__category-name--news {
	border: 1px solid #C88DEC;
	color: #C88DEC;
}

.c-card__category-name--tips {
	border: 1px solid #42A0AD;
	color: #42A0AD;
}

.c-card__category-name--interview {
	border: 1px solid #9C8CFF;
	color: #9C8CFF;
}

.c-card__category-name:hover {
	background-color: currentColor;
	color: white;
}

.c-card__category-name.new {
	padding: 4px 16px;
}

.c-card__tags {
	display: flex;
	gap: 8px;
}

.c-card__tag {
	background: #DAEFF8;
	border-radius: 16px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.8;
	padding: 2px 10px;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.c-card__tag:hover {
	background: #343436;
	color: #DAEFF8;
}

.c-card__fv {
	padding: 28px;
}

.c-card__fv__image img {
	border-radius: 20px;
}

.c-card__fv__title {
	font-family: Noto Sans JP;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 32px;
	margin-bottom: 8px;
	text-align: left;
}

.c-card__fv__category {
	margin-bottom: 8px;
}

.c-card__fv__category-name {
	font-family: Noto Sans JP;
	font-size: 18px;
	font-size: 13px;
	font-weight: 400;
	line-height: 20.8px;
	padding: 4px 20px;
	text-align: left;
}

.c-card__fv__tag {
	font-size: 14px;
	line-height: 1.5;
}

.p-keyword {
	margin-top: 64px;
}

.c-keyword-btn {
	position: relative;
	transition: transform 0.3s ease, opacity 0.3s ease;
	width: 100%;
}

.c-keyword-btn__sub-title {
	border-radius: 16px 16px 0px 0px;
	display: flex;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 27px;
	padding: 12px 40px 8px 28px;
	position: relative;
	text-align: left;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 2;
}

.c-keyword-btn__sub-title::before {
	content: "\f002";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 8px;
}

.c-keyword-btn__sub-title.blue {
	background: #629DE2;
	color: white;
}

.c-keyword-btn__sub-title.white {
	background: white;
	color: #135097;
}

.c-keyword-btn__main-title {
	border-radius: 0 16px 16px;
	font-family: "Zen Maru Gothic", sans-serif;
	padding: 26px 85px 36px 92px;
	position: relative;
	width: 100%;
	z-index: 1;
}

.c-keyword-btn__main-title.white {
	background-color: white;
	border: 1px solid #2A84BF;
	color: #135097;
}

.c-keyword-btn__main-title.blue {
	background-color: transparent;
	box-shadow: inset 0 0 0 1px white;
	color: white;
}

.c-keyword-btn__tags-wrapper {
	width: 100%;
}

.c-keyword-btn__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-start;
}

.c-keyword-btn__tags.template {
	-moz-column-gap: 16px;
	column-gap: 16px;
}

.c-keyword-btn__tag {
	background-color: #DAEFF8;
	border-radius: 16px;
	color: #343436;
	display: inline-block;
	font-size: 12px;
	font-weight: 400;
	line-height: 21.6px;
	margin-bottom: 4px;
	padding: 4px 8px;
	text-align: left;
	transition: 0.4s ease;
}

.c-keyword-btn__tag:hover {
	background: var(--gray33333, #343436);
	color: #DAEFF8;
}

.header {
	height: 100px;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}

.header-wrap {
	align-items: center;
	display: flex;
	gap: 20px;
	height: inherit;
	justify-content: space-between;
}

.header-wrap.drawer {
	padding-inline: 1.25rem;
}

.header-logo {
	padding-left: 3rem;
}

.header-logo img {
	height: 100%;
	max-height: 100%;
	width: 256px;
}

.header-logo.drawer {
	height: 72px;
}

.header-logo.drawer img {
	height: 100%;
	padding-left: 20px;
	padding-top: 30px;
	width: 150px;
}

.header-nav {
	-moz-column-gap: 20px;
	align-items: center;
	column-gap: 20px;
	display: flex;
}

.header-nav li {
	text-align: center;
}

.header-nav__wrap {
	-moz-column-gap: 2.875rem;
	align-items: center;
	background: #135097;
	border-radius: 0 0 0 32px;
	column-gap: 2.875rem;
	display: flex;
	height: inherit;
	padding-inline: 3.8125rem;
}

.header-search {
	color: white;
}

.header-list {
	-moz-column-gap: 2.375rem;
	align-items: center;
	column-gap: 2.375rem;
	display: flex;
	font-size: clamp(0.875rem, 0.8212rem + 0.2235vw, 1rem);
	font-weight: bold;
	justify-content: center;
}

.header-list li a {
	color: white;
	font-family: Noto Sans JP;
	font-size: 1rem;
	font-weight: 700;
	line-height: 19.2px;
	text-align: left;
}

.header-list span {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 12px;
}

.header-btns {
	display: flex;
	gap: 2rem;
}

.pc_hidden {
	display: none;
}

.header-btn {
	max-width: 300px;
	width: 100%;
}

.header {
	transition: all 0.3s ease;
}

.header.scrolled {
	background-color: #E6EDF3;
}

.header-logo img {
	height: auto;
	margin-top: 75px;
	max-width: 100%;
	transition: opacity 0.3s ease;
}

/* ===============================================
# drawer
=============================================== */

.drawer-icon {
	cursor: pointer;
	display: none;
	position: fixed;
	right: 16px;
	top: 20px;
	transition: transform 0.5s ease 0s;
	z-index: 300;
}

.drawer-icon.is-active {
	position: fixed;
}

.drawer-icon.is-active .drawer-icon__bar1 {
	right: 6.92px;
	top: 21.92px;
	transform: rotate(-33deg);
}

.drawer-icon.is-active .drawer-icon__bar2 {
	display: none;
}

.drawer-icon.is-active .drawer-icon__bar3 {
	right: 6.92px;
	top: 21.92px;
	transform: rotate(33deg);
}

.drawer-icon.is-active .drawer-icon__search {
	display: none;
}

.drawer-icon__bars-wrapper {
	background-color: #135097;
	border-radius: 0 0 0 28px;
	height: 140px;
	transition: width 0.3s, height 0.3s;
	width: 84px;
}

.scroll-changed {
	border-radius: 0 0 0 28px;
	height: 68px;
	width: 184px;
}

.drawer-icon__search {
	color: white;
	position: fixed;
	right: 24px;
	top: 84.31px;
}

.drawer-icon__bars {
	display: block;
	height: 48px;
	position: relative;
	position: fixed;
	right: 16px;
	top: 10px;
	width: 48px;
	z-index: 2;
}

.drawer-icon__bar1,
.drawer-icon__bar2,
.drawer-icon__bar3 {
	background-color: white;
	border-radius: 2px;
	height: 4px;
	position: absolute;
	right: 6px;
	top: 12px;
	width: 36px;
}

.drawer-icon__bar2 {
	top: 22px;
}

.drawer-icon__bar3 {
	top: 32px;
}

.drawer-content {
	background: #fff;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
	height: auto;
	position: fixed;
	right: 0;
	top: 0;
	transform: translateX(105%);
	transition: transform 0.5s ease 0s;
	width: 244px;
	z-index: 299;
}

.drawer-content.is-active {
	background: #135097;
	transform: translateX(0%);
}

.drawer-content__items {
	font-weight: bold;
	margin-bottom: 8.7209302326%;
	margin-inline: auto;
	margin-top: 23.2558139535%;
}

.drawer-content__item a {
	align-items: baseline;
	color: #ffffff;
	display: flex;
	font-family: Noto Sans JP;
	font-size: 20px;
	font-size: 16px;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.5px;
	line-height: 19.2px;
	margin: 0px 30px;
	padding-block: 16px;
	text-align: left;
	text-decoration: none;
}

.drawer-background {
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 298;
}

.drawer-background.is-active {
	display: block;
}

.drawer-background {
	background: #3e3e3e;
	opacity: 70%;
	z-index: 39;
}

.not-page {
	padding-bottom: 50px;
	padding-top: 200px;
	text-align: center;
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.fadeUpTrigger {
	opacity: 0;
}

.drawer-icon {
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1002; /* z-indexを上げる */
}

.drawer-icon__bars-wrapper {
	background-color: #135097;
	border-radius: 0 0 0 28px;
	height: 140px;
	transition: all 0.3s ease;
	width: 84px;
}

.drawer-icon__bars-wrapper.is-transparent {
	background-color: transparent;
}

.drawer-icon__search {
	color: white;
	cursor: pointer;
	position: absolute;
	right: 24px;
	top: 84.31px;
	transition: all 0.3s ease;
}

.drawer-icon__search.is-transparent {
	opacity: 0;
}

.drawer-content {
	background-color: #135097;
	border-radius: 0 0 0 30px;
	height: auto;
	overflow-y: auto; /* スクロール可能にする */
	position: fixed;
	right: -244px; /* 初期位置を画面外に */
	top: 0;
	transition: right 0.3s ease;
	width: 244px;
	z-index: 1001;
}

.drawer-content.is-active {
	right: 0;
}

.drawer-background {
	background-color: rgba(0, 0, 0, 0.5);
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
}

.drawer-background.is-active {
	display: block;
}

body.drawer-open {
	overflow: hidden;
}

/* スクロール時のスタイル */

.scroll-changed {
	height: 68px;
	width: 184px;
}

ul {
	list-style: none;
	padding: 0;
}

hr {
	border: 0;
	border-top: 1px solid #e5e7eb;
	height: 1px;
}

.grid-wrap {
	display: flex;
	gap: 20px;
	justify-content: space-between;
}

.p-footer-logo {
	margin: 0 auto 32px;
	width: 100%;
}

.grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}

.footer {
	background: #241919;
	font-size: 15px;
	padding-top: 48px;
}

.footer__navi-heading {
	color: white;
	font-family: Noto Sans JP;
	font-size: 16px;
	font-size: 16px;
	font-weight: 600;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 19.2px;
	text-align: left;
}

.footer__navi {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.footer__logo {
	display: inline-block;
	margin-bottom: 2rem;
}

.footer__social a {
	display: inline-block;
	opacity: 0.7;
	width: 24px;
}

.footer__social a:not(:last-child) {
	margin-right: 16px;
}

.grid-container {
	display: flex;
	gap: 64px;
	padding-block: 16px;
}

.copyright {
	color: #E6EDF3;
	margin-block: 24px;
	text-align: center;
}

.copyright.tal {
	font-family: Noto Sans JP;
	font-size: 12px;
	font-weight: 400;
	line-height: 14.4px;
}

.p-mv {
	overflow: hidden;
	padding-bottom: 0;
	padding-top: 80px;
	position: relative;
	width: 100%;
}

.video-wrap {
	display: flex;
	width: 100%;
}

.video {
	height: auto;
	width: 100vw;
}

.p-cta {
	background: url(../img/cta.webp) no-repeat center center;
	background-position: center;
	background-size: cover;
	margin-top: 60px;
	padding: 65px 0;
	position: relative;
}

.p-cta::before {
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-cta .inner {
	position: relative;
	z-index: 2;
}

.p-cta__flex {
	align-items: center;
	display: flex;
	gap: 8.125rem;
	justify-content: center;
}

.p-about {
	align-items: center;
	background: url(../img/about-bg.png) no-repeat center center/cover;
	display: flex;
	justify-content: center;
	padding-bottom: 0;
	padding-top: 0; /* コンテンツを垂直方向に中央揃えするための全高 */
	text-align: center;
}

.p-about-container {
	margin-bottom: 120px;
	margin-top: 134px;
}

.p-about-title,
.p-about-text {
	margin: 0;
}

.c-sub-title p {
	margin: 0;
	padding: 0;
}

.c-sub-title p span {
	display: block;
	margin-top: 10px;
}

.p-about-text {
	color: var(--color-text-default, #081630); /* typography/body/lg/bold */
	font-family: var(--font-family-default, "Noto Sans JP");
	font-size: 20px;
	font-style: normal;
	font-weight: 700; /* 32px */
	letter-spacing: 0.5px;
	line-height: 160%;
	margin-top: 34px;
	text-align: center;
}

.p-about-title {
	color: var(--color-primary-30, #19448E); /* typography/heading/lg */
	font-family: var(--font-family-default, "Noto Sans JP");
	font-size: 28px;
	font-style: normal;
	font-weight: 700; /* 43.96px */
	letter-spacing: 0.56px;
	line-height: 157%;
	text-align: center;
}

.p-about-title.tal {
	text-align: left;
	width: 200px;
}

.p-about-title.company {
	color: var(--color-primary-30, #19448E); /* typography/heading/xl */
	font-family: var(--font-family-default, "Noto Sans JP");
	font-size: 34px;
	font-style: normal;
	font-weight: 700; /* 48.28px */
	letter-spacing: 1.02px;
	line-height: 142%;
	text-align: center;
}

/*==================================================
スライダーのためのcss
===================================*/

.slider {
	margin: 0 auto;
	width: 94%; /*横幅94%で左右に余白を持たせて中央寄せ*/
}

.slider img {
	height: auto;
	width: 60vw; /*スライダー内の画像を60vwにしてレスポンシブ化*/
}

.slider .slick-slide {
	opacity: 0.5; /*透過50%*/
	transform: scale(0.8); /*左右の画像のサイズを80%に*/
	transition: all 0.5s; /*拡大や透過のアニメーションを0.5秒で行う*/
}

.slider .slick-slide.slick-center {
	opacity: 1; /*透過なし*/
	transform: scale(1); /*中央の画像のサイズだけ等倍に*/
}

/* 矢印の基本設定 */

.slick-prev,
.slick-next {
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 0;
	height: 40px;
	line-height: 0;
	outline: none;
	position: absolute;
	top: 42%;
	width: 40px;
	z-index: 1;
}

.slick-prev {
	left: -1.5%;
}

.slick-next {
	right: -1.5%;
}

/* 矢印のスタイル */

.slick-prev::before,
.slick-next::before {
	content: "";
	display: inline-block;
	height: 100%;
	position: relative;
	vertical-align: middle;
	width: 100%;
}

.slick-prev::before::before,
.slick-next::before::before {
	border: 3px solid #666;
	border-bottom: 0;
	border-left: 0;
	box-sizing: border-box;
	content: "";
	height: 20px;
	left: 50%;
	position: absolute;
	top: 50%;
	width: 20px;
}

/* 左矢印 */

.slick-prev::before::before {
	transform: translate(-25%, -50%) rotate(-135deg);
}

/* 右矢印 */

.slick-next::before::before {
	transform: translate(-75%, -50%) rotate(45deg);
}

/* ホバー時の色変更 */

.slick-prev:hover::before::before,
.slick-next:hover::before::before {
	border-color: #333;
}

/* ドットナビゲーションの設定 */

.slick-dots {
	margin: 20px 0 0 0;
	text-align: center;
}

.slick-dots li {
	display: inline-block;
	margin: 0 5px;
}

.slick-dots button {
	background: #ccc;
	border: none;
	border-radius: 50%;
	color: transparent;
	display: block;
	height: 8px;
	outline: none;
	padding: 0;
	width: 8px;
}

.slick-dots .slick-active button {
	background: #333;
}

/* ===============================================
# swiperで左右の画像見切れる&真ん中が大きい
=============================================== */

.swiper {
	padding-top: 40px;
}

.swiper-slide {
	transition: transform 0.6s;
}

.swiper-slide-active {
	transform: translateY(-40px);
}

.swiper-button-prev,
.swiper-button-next {
	height: 36px;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
	opacity: 0.8;
}

.swiper-button-prev::after,
.swiper-button-next::after {
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 36px;
	margin: auto;
	width: 36px;
}

.swiper-button-prev {
	left: calc(50% - min(48vw, 20.4375rem));
}

.swiper-button-prev::after {
	background-image: url(../img/arrow-right.svg);
	transform: rotate(180deg);
}

.swiper-button-next {
	right: calc(50% - min(48vw, 20.4375rem));
}

.swiper-button-next::after {
	background-image: url(../img/arrow-right.svg);
}

.swiper-container {
	margin-top: 166px;
	padding-bottom: 40px;
}

.swiper-pointer-events {
	padding-bottom: 40px;
	padding-top: 40px;
	touch-action: pan-y;
}

.slider-section {
	background: url(../img/backimage.webp) no-repeat center center/cover;
	overflow: hidden;
	padding-block: 64px;
}

.slider-section.single {
	background: none;
}

.my-slider {
	margin-left: 0;
	width: calc(100% - 30px);
}

.my-slider__wrapper {
	margin: 40px auto 0;
	margin-right: calc(50% - 50vw);
	width: 100vw;
}

.my-slider .slick-slide {
	margin: 0 16px;
}

.my-slider .slick-list {
	margin-right: -30px;
}

.my-slider__slide {
	width: 20.9722222222vw;
}

.my-slider img {
	aspect-ratio: 270/152.53;
	border-radius: 8px;
	width: 100%;
}

.slider-text {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-weight: bold;
	height: 3em;
	letter-spacing: 0.48px;
	line-height: 1.5em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
}

.slick-arrow {
	align-items: center;
	background-color: transparent;
	border: 2px solid;
	border-radius: 50%;
	color: white;
	cursor: pointer;
	display: flex;
	height: 40px;
	justify-content: center;
	margin-right: 10px;
	opacity: 1;
	position: relative;
	width: 40px;
}

.slick-arrow::before {
	border: solid white;
	border-width: 0 2px 2px 0;
	content: "";
	display: inline-block;
	height: 10px;
	left: 50%;
	margin-left: -5px;
	margin-top: -5px;
	padding: 3px;
	position: absolute;
	top: 50%;
	width: 10px;
}

.slick-arrow::after {
	background: white;
	content: "";
	height: 2px;
	left: 33%;
	position: absolute;
	top: 48%;
	width: 13px;
}

.slick-arrow:hover {
	background-color: white;
	border: 2px solid transparent;
	color: transparent;
}

.slick-arrow:hover::before {
	border-color: #19448E;
}

.slick-arrow:hover::after {
	background: #19448E;
}

.slick-arrow.slick-disabled {
	cursor: not-allowed;
	opacity: 0.5;
	pointer-events: none;
}

.slick-arrow.slick-disabled::before {
	border-color: white;
}

.slick-arrow.slick-disabled::after {
	background: white;
}

.slick-arrow.single {
	background-color: transparent;
	border-color: #19448E;
}

.slick-arrow.single::before {
	border-color: #19448E;
}

.slick-arrow.single::after {
	background: #19448E;
}

.slick-arrow.single:hover {
	background-color: #19448E;
}

.slick-arrow.single:hover::before {
	border-color: white;
}

.slick-arrow.single:hover::after {
	background: white;
}

.slick-prev::before {
	transform: rotate(135deg);
}

.slick-next::before {
	transform: rotate(-45deg);
}

.scroll-bar-container {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
}

.scroll-bar-container.inner {
	padding-inline: 200px;
}

.buttons-scrolls-wrapper {
	align-items: center;
	display: flex;
	gap: 10px;
}

.buttons {
	display: flex;
}

.scroll-bar {
	background-color: #D7E3F8;
	border-radius: 4px;
	flex-grow: 1;
	height: 10px;
	position: relative;
	width: 72vw;
}

.scroll-bar-thumb {
	background-color: #19448E;
	border-radius: 4px;
	height: 100%;
}

.view-all-button {
	background-color: #19448E;
	border-radius: 5px;
	color: white;
	cursor: pointer;
	padding: 10px 20px;
	white-space: nowrap;
}

.p-archive__inner-wrapper {
	display: flex;
}

.p-archive__inner {
	padding-top: 150px;
}

.p-archive__inner .entries.environment {
	text-align: center;
}

.p-archive__inner .entry-item-img.environment {
	margin: 0 auto;
}

.p-archive__inner.single {
	padding-top: 200px;
}

.p-archive__inner.archive {
	padding-top: 0;
}

.p-archive__inner.blog {
	padding-top: 250px;
}

.p-archive__inner.news {
	padding-top: 0;
}

.p-archive-img {
	margin-bottom: 50px;
	margin-top: 50px;
}

.entry-item-excerpt-img {
	margin: 0 auto;
}

.entry-item-excerpt-img img {
	max-width: 300px;
	width: auto;
}

.entries h2 {
	font-size: 36px;
}

.entries h3 {
	font-size: 24px;
}

.entries h4 {
	font-size: 18px;
}

.entries p {
	font-size: 16px;
}

.h2 {
	color: #382620;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.4583333333;
	margin-top: 60px;
	padding-left: 20px;
	position: relative;
}

.h2::before {
	background: #135097;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 6px;
}

.h2.shop {
	margin-bottom: 20px;
	margin-top: 20px;
}

.h3-title {
	border-bottom: 1px solid #382620;
	color: #382620;
	font-size: 20px;
	font-weight: bold;
	margin-top: 60px;
	padding-bottom: 12px;
}

.h4-title {
	color: #382620;
	font-size: 16px;
	font-weight: bold;
	line-height: 40px;
	margin-top: 60px;
}

.main {
	display: flex;
	gap: 60px;
	margin: 0 auto;
	max-width: 1000px;
}

.entries {
	flex-wrap: wrap;
	gap: 40px 20px;
}

.p-online__container {
	margin-inline: auto;
	margin-top: 50px;
	padding-inline: 150px;
	position: relative;
}

.p-online__container::after {
	background: url(../img/for-you.png) no-repeat center center/contain;
	bottom: -100px;
	content: "";
	height: 150px;
	position: absolute;
	right: 0;
	width: 150px;
}

.p-online__container-box {
	display: flex;
	gap: 120px;
}

.p-online__box-image {
	text-align: center;
}

.p-online__box-about {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 87%;
}

.required-label {
	background: var(--color-background-primary-action-enabled, #19448E);
	border-radius: 2px;
	color: white;
	font-size: 12px;
	margin-left: 8px;
	padding: 4px 10px;
}

.radio-vertical .wpcf7-list-item {
	display: block;
	margin-bottom: 10px;
}

.wpcf7-list-item-label {
	display: inline-block;
	margin-left: 5px;
}

.wpcf7-radio {
	display: flex;
	flex-direction: column;
}

.form-control::-moz-placeholder {
	color: var(--color-border-subtle, #C2C2C2);
	font-weight: 400;
	letter-spacing: 0.48px;
	line-height: 175%; /* 28px */
	padding: 14px;
}

.form-control::placeholder {
	color: var(--color-border-subtle, #C2C2C2);
	font-weight: 400;
	letter-spacing: 0.48px;
	line-height: 175%; /* 28px */
	padding: 14px;
}

.form-control {
	border: 1px solid var(--color-border-subtle, #C2C2C2);
	border-radius: 2px;
	font-size: 16px;
	margin-top: 16px;
	padding: 14px; /* プレースホルダーとテキストの位置を一致させるため */
	width: 100%;
}

.form-group {
	color: var(--color-text-default, #081630); /* typography/heading/xs */
	font-family: var(--font-family-default, "Noto Sans JP");
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.48px;
	line-height: 175%; /* 28px */
	margin-top: 32px;
}

.privacy-policy-group {
	text-align: center;
}

input[type=submit] {
	background-color: #19448E;
	border-radius: 12px;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 18px;
	min-width: 200px;
	padding: 16px 32px;
	text-align: center;
	transition: all 0.3s ease;
}

input[type=submit]:hover {
	background: #fff;
	border: 2px solid #19448E;
	color: #19448E;
}

input[type=submit]:active {
	background: #0F2C5D;
	color: #fff;
}

span.wpcf7-spinner {
	display: none;
}

input[type=radio] {
	opacity: 0;
	position: absolute;
	visibility: hidden;
}

span.wpcf7-list-item-label {
	align-items: center;
	cursor: pointer;
	display: flex;
	position: relative;
}

span.wpcf7-list-item-label::before {
	border: 2px solid #E6EDF3;
	border-radius: 50%;
	content: "";
	display: block;
	height: 20px;
	margin-right: 10px;
	width: 20px;
}

span.wpcf7-list-item-label::after {
	background-color: #19448E;
	border-radius: 50%;
	content: "";
	display: block;
	display: none;
	height: 12px;
	left: 4px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
}

input[type=radio]:checked + span.wpcf7-list-item-label::after {
	display: block;
}

input[type=radio]:checked + span.wpcf7-list-item-label::before {
	border: 2px solid #0F2C5D;
	border-radius: 50%;
	content: "";
	display: block;
	height: 20px;
	margin-right: 10px;
	width: 20px;
}

/* エラーが発生した際に適用されるスタイル */

.wpcf7-form-control.wpcf7-not-valid {
	border: 2px solid red;
}

/* エラーメッセージのスタイル */

.wpcf7-validation-errors {
	color: red;
	font-size: 14px;
	margin-top: 10px;
}

input[type=checkbox] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #19448E;
	height: 16px;
	position: relative;
	vertical-align: -5px;
	width: 16px;
}

input[type=checkbox]:checked:before {
	border-bottom: 2px solid #19448E;
	border-right: 2px solid #19448E;
	content: "";
	height: 8px;
	left: 4px;
	position: absolute;
	top: 1px;
	transform: rotate(50deg);
	width: 4px;
}

.p-contact__text {
	color: var(--color-text-default, #081630); /* typography/heading/xs */
	font-family: var(--font-family-default, "Noto Sans JP");
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.48px;
	line-height: 175%; /* 28px */
}

form {
	margin-top: 64px;
}

/* ===============================================
# modal
=============================================== */

/* 本来の送信メッセージは非表示にする */

.wpcf7 form.sent .wpcf7-response-output {
	display: none;
}

/* モーダルウィンドウを作成する */

#wpcf7-modal {
	align-items: center;
	display: none;
	height: 100%;
	justify-content: center;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
}

#wpcf7-modal__bg {
	background: rgba(0, 0, 0, 0.5);
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

#wpcf7-modal__wrap {
	background-color: #ffffff;
	border-radius: 10px;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
	padding: 20px;
	text-align: center;
	width: 90%;
}

.form-group.privacy {
	text-align: center;
}

#shadow-host-companion {
	display: none;
}

/* ===============================================
# 事業内容
=============================================== */

.p-business {
	background: var(--color-neutral-90, #FBFBFB);
	border-bottom-right-radius: 15rem;
	border-top-left-radius: 15rem;
	padding-top: 130px;
}

.inner {
	margin-inline: 20px;
}

.inner.single {
	margin: 0 auto;
}

.inner.l-recommend-inner {
	max-width: none;
	padding-inline: 14.0972222222vw;
}

.inner.l-all-inner {
	padding-inline: 203px;
}

.inner.l-keyword-inner {
	padding-inline: 203px;
}

.inner.l-404-inner {
	padding-inline: 203px;
}

.inner.l-footer-inner {
	padding-inline: 203px;
}

.inner.privacy strong {
	padding-top: 24px;
}

.inner.privacy li {
	list-style: disc;
	margin-left: 60px;
}

.inner.privacy p {
	margin-top: 10px;
}

.p-business-container {
	margin-top: 120px;
}

.p-business-container-box {
	display: flex;
	gap: 5rem;
}

.p-business-container-box:not(:first-child) {
	margin-top: 7.5rem;
}

.p-business-container-about {
	width: 50%;
}

.p-business-container-about.w100 {
	width: 100%;
}

/* ===============================================
# company
=============================================== */

.p-company {
	overflow: hidden;
	position: relative;
	z-index: 10;
}

.p-container__about {
	width: 50%;
}

.p-container {
	display: flex;
	gap: 80px;
}

.p-container.reverse {
	flex-direction: row-reverse;
	gap: 80px;
	justify-content: center;
}

.p-container__img {
	align-items: center;
	display: flex;
	justify-content: center;
}

.p-container__img.over-left {
	margin-left: calc(50% - 50vw);
	width: 50vw;
}

.p-container__img.over-left img {
	width: 100%;
}

.p-loop {
	bottom: 80px;
	content: "";
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.loop_wrap {
	display: flex;
	height: 180px;
	overflow: hidden;
	width: 100%;
}

.loop_wrap div {
	flex: 0 0 auto;
	overflow: hidden;
	white-space: nowrap;
}

.loop-text {
	color: var(--color-neutral-80, #F4F4F4);
	font-family: "Lato", sans-serif;
	font-size: 128px;
	font-style: normal;
	font-weight: 700; /* 128px */
	letter-spacing: 1.92px;
	line-height: 100%;
}

.loop_wrap div:nth-child(odd) {
	animation: loop 50s -25s linear infinite;
}

.loop_wrap div:nth-child(even) {
	animation: loop2 50s linear infinite;
}

/* ===============================================
# 採用
=============================================== */

.p-recruit {
	background: #EEF4FD;
	border-top-left-radius: 15rem;
}

/* ===============================================
# お問い合わせ
=============================================== */

.p-contact {
	background-image: url(../img/contact.webp);
	background-position: center center, 0px -8.346px;
	background-repeat: no-repeat, no-repeat;
	background-size: cover, 100% 102%;
	padding-bottom: 80px;
	padding-top: 80px;
}

.marquee-container { /* 親要素の相対位置に依存 */
	left: 100%;
	overflow: hidden;
	position: absolute; /* ボタンの右端から開始 */
	top: 50%;
	transform: translateY(-50%);
	white-space: nowrap;
	width: 200%; /* テキストが切れないように幅を調整 */
}

.marquee-text {
	animation: marquee 10s linear infinite;
	color: #333;
	display: inline-block;
	font-size: 1em;
	white-space: nowrap;
}

/* 中央揃えのスタイル */

.section-title-wrapper.about-center,
.section-titles.top-center,
.section-title-main,
.entry-error {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	text-align: center;
}

.section-title-center {
	color: var(--blue, #135097);
	font-family: Noto Sans JP;
	font-size: 34px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 61.2px;
	padding-top: 40px;
	text-align: center;
}

.error-code {
	color: #629DE2; /* エラーメッセージに目立つ色を追加 */
	font-family: Noto Sans JP;
	font-size: 100px;
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 100px;
	padding-top: 20px;
	text-align: left;
}

.entry-error-content {
	font-family: Zen Maru Gothic;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 43.2px;
	padding-block: 32px;
	text-align: center;
}

.entry-error-content-sub {
	font-family: Noto Sans JP;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 36px;
	text-align: center;
}

.p-page-404 {
	margin-top: 203px;
}

.inner-404 {
	background: white;
	border-radius: 24px;
	box-shadow: 0px 24px 64px 0px rgba(0, 0, 0, 0.0509803922);
	padding-block: 80px;
}

/* ===============================================
# タブ切り替え
=============================================== */

.tabbed-content {
	color: #525252;
	font-family: Arial, sans-serif;
	margin: 40px 0;
	overflow: hidden;
	position: relative;
}

.tabs {
	content: "";
	list-style: none;
	margin: 0;
	padding: 0;
	width: auto;
}

.tab-link {
	background-color: #FFFFFF;
	border-radius: 0 10px 10px 0;
	color: #5B5B5B;
	cursor: pointer;
	display: block;
	font-size: 16px;
	font-weight: 500;
	gap: 10px;
	height: -moz-fit-content;
	height: fit-content;
	line-height: 24px;
	margin-bottom: 10px;
	opacity: 1;
	padding: 8px 2px;
	text-align: left;
	text-orientation: upright;
	text-transform: uppercase;
	width: -moz-fit-content;
	width: fit-content;
	writing-mode: vertical-rl;
}

.tab-link.current,
.tab-link:hover {
	color: #FFFFFF;
}

.tabs-wrapper {
	width: calc(100% - 30px);
}

.tabs-wrapper-wrapper {
	display: flex;
	flex-direction: row;
}

.tab-content {
	border-radius: 10px 0 10px 10px;
	box-sizing: border-box;
	display: none;
	margin: 0;
	margin-bottom: 26px;
	padding: 12px;
	position: relative;
	width: 100%;
}

.tab-content.current {
	display: inherit;
}

/* タブとコンテンツの色の設定 */

.tab1.current,
.tab1:hover,
#all-tab {
	background-color: #629DE2;
}

.tab2.current,
.tab2:hover,
#new-tab {
	background-color: #135097;
}

.tab3.current,
.tab3:hover,
#tps-tab {
	background-color: #42A0AD;
}

.tab4.current,
.tab4:hover,
#interview-tab {
	background-color: #9C8CFF;
}

.tab5.current,
.tab5:hover,
#news-tab {
	background-color: #C88DEC;
}

/* タブとコンテンツの色の設定 */

.tab1 {
	border: 1px solid #629DE2;
	color: #629DE2;
}

.tab2 {
	border: 1px solid #135097;
	color: #135097;
}

.tab3 {
	border: 1px solid #42A0AD;
	color: #42A0AD;
}

.tab4 {
	border: 1px solid #9C8CFF;
	color: #9C8CFF;
}

.tab5 {
	border: 1px solid #C88DEC;
	color: #C88DEC;
}

.sort-options {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 23.4px;
	padding: 9px 2px;
	position: absolute;
	right: 3px;
	text-align: left;
	top: -5px;
	z-index: 10;
}

.sort-options .sort-link {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s ease;
}

.sort-options .sort-link:hover,
.sort-options .sort-link.active {
	color: #135097;
}

.sort-options .separator {
	color: inherit;
}

/* 記事カードのグリッドレイアウト */

.p-article-card-grid {
	display: grid;
	gap: 32px;
}

/* ウィンドウサイズに応じたグリッドレイアウトの調整 */

/* 記事カード */

.p-article-card {
	background-color: white;
	border: 1px solid #ddd;
	border-radius: 8px;
	box-shadow: 0px 5px 30px 0px rgba(20, 43, 78, 0.2), 0px 0px 30px 0px rgba(0, 0, 0, 0.031372549);
	overflow: hidden;
	padding: 16px;
}

.p-article-card__link {
	color: inherit;
	display: block;
	text-decoration: none;
}

.p-article-card__image img {
	-o-object-fit: cover;
	aspect-ratio: 270/152.53;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-article-card__content {
	padding-top: 12px;
}

.p-article-card__date {
	color: #666;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 14.4px;
	margin-bottom: 8px;
	text-align: left;
}

.p-article-card__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 21px;
	margin: 0 0 8px;
	overflow: hidden;
	text-align: left;
}

.p-article-card__category {
	color: #135097;
	font-size: 14px;
	margin-bottom: 15px;
}

.p-article-card__category-name {
	border: 1px solid;
	border-radius: 4px;
	display: inline-block;
	padding: 0px 13px;
}

.p-article-card__category-name--new {
	border-color: #135097;
	color: #135097;
}

.p-article-card__category-name--news {
	border-color: #C88DEC;
	color: #C88DEC;
}

.p-article-card__category-name--tips {
	border-color: #42A0AD;
	color: #42A0AD;
}

.p-article-card__category-name--interview {
	border-color: #9C8CFF;
	color: #9C8CFF;
}

.p-article-card__tags {
	display: flex;
	gap: 4px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.p-article-card__tag {
	background: #DAEFF8;
	border-radius: 16px;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 21.6px;
	margin-right: 4px;
	padding: 2px 8px;
	text-align: left;
	transition: 0.4s ease;
}

.p-article-card__tag:hover {
	background: #343436;
	color: #DAEFF8;
}

/* 投稿がない場合のメッセージ */

.p-no-posts-message {
	background-color: #ffffff;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	margin: 20px 0;
	padding: 100px 20px;
	text-align: center;
}

.p-no-posts-message p {
	color: #666;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 28px;
	margin: 0;
}

/* レスポンシブ対応 */

.p-articles {
	margin-top: 203px;
}

.p-articles.top {
	margin-top: 70px;
}

.ez-toc-title-container {
	background-color: #DAEFF8;
	padding: 8px 16px;
}

#ez-toc-container {
	padding: 0;
}

div#ez-toc-container {
	margin-bottom: 20px;
	margin-top: 20px;
	width: 60%;
}

#ez-toc-container ul {
	padding: 12px 32px 20px 24px;
}

#ez-toc-container ul ul,
.ez-toc div.ez-toc-widget-container ul ul {
	margin-left: 0;
}

.p-single-tag {
	align-items: center;
	display: flex;
	gap: 32px;
}

.p-single-tag p {
	margin-top: 0;
}

.wp-block-table .has-fixed-layout th {
	background-color: #629DE2;
	color: white;
}

.wp-block-table .has-fixed-layout {
	margin-top: 22px;
}

.wp-block-table table {
	border: 2px solid #629DE2 !important; /* 青色の線 */
	border-collapse: collapse;
	width: 100%;
}

.wp-block-table table,
.wp-block-table th,
.wp-block-table td {
	border: 1px solid #629DE2; /* 青色の線 */
	text-align: center;
	vertical-align: middle;
}

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

.wp-block-button__link {
	background-color: #629DE2;
	font-family: Noto Sans JP;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 31.2px;
	text-align: left;
	width: auto;
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
	width: auto;
}

.has-cyan-bluish-gray-background-color {
	background: var(--right-gray, #E6EDF3) !important;
}

.broken_link,
a.broken_link {
	border-bottom: 1px solid #135097;
	color: #135097;
	text-decoration: none !important;
}

.wp-block-table thead {
	border-bottom: none;
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
	margin-top: 30px;
	width: auto;
}

.wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link {
	border: 2px solid white;
	width: 100%;
}

.wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link:hover {
	background: white;
	border: 2px solid #629DE2;
	color: #629DE2 !important;
	transition: all 0.3s ease;
}

.u-separate {
	margin-bottom: 24px;
	margin-top: 24px;
}

.u-pb {
	padding-bottom: 10px;
}

@media (hover: hover) {

.pagination .page-numbers:hover {
	opacity: 0.5;
	transition: 1s;
}

}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {

.c-card__title {
	display: block;
	max-height: 2.8em;
}

.c-card__fv__title {
	display: block;
	max-height: 2.8em;
}

}

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

.c-btn.gray {
	margin-right: auto;
	width: auto;
}

}

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

.p-article-card-grid.top {
	grid-template-columns: repeat(2, 1fr); /* 2カラムのグリッドレイアウト */ /* .topクラスが付いているときのみ適用 */
}

.p-article-card-grid.top .p-article-card:nth-child(n+7) {
	display: none; /* 7枚目以降のカードを非表示に */ /* .topクラスが付いているときのみ適用 */
}

}

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

html {
	font-size: 1.25vw;
}

.c-feature__image-items {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 60px;
	justify-content: center;
	margin-top: 19.5px;
	row-gap: 70px;
}

.c-feature__image-item {
	height: 380px;
	max-width: 380px;
	width: 380px;
}

.c-feature__image-detail {
	font-size: 24px;
	height: 100px;
	line-height: 29px;
}

.c-feature__image img {
	height: 280px;
}

.video.sp {
	display: none;
}

.u-hidden-pc {
	display: none;
}

}

@media screen and (min-width: 768px) and (max-width: 1024px) {

html {
	font-size: 1.25vw;
}

.c-section-sub-title.top {
	font-size: 20px;
	margin-top: 32px;
}

.c-btn-parent.flex {
	flex-direction: column;
}

.c-feature__image-items {
	flex-direction: row;
}

.c-business-box-container {
	flex-direction: column;
	gap: 8px;
}

.c-business-box-container.reverse {
	flex-direction: column;
	gap: 8px;
}

.c-business__detail {
	width: 100%;
}

.header {
	padding-inline: 40px;
}

.header-wrap {
	height: 100px;
}

.header-nav {
	display: none;
}

.header-nav__wrap {
	display: none;
}

.drawer-icon {
	display: block;
	position: fixed;
	right: 14px;
	right: 0;
	top: 0;
}

.my-slider__slide {
	width: 37.5vw;
}

.scroll-bar-container.inner {
	padding-inline: 100px;
}

.p-online__container-box {
	flex-direction: column;
	gap: 30px;
}

.inner.l-all-inner {
	padding-inline: 50px;
}

.inner.l-keyword-inner {
	padding-inline: 50px;
}

.inner.l-404-inner {
	padding-inline: 50px;
}

.inner.l-footer-inner {
	padding-inline: 50px;
}

.inner.l-cta-inner {
	padding-inline: 50px;
}

.p-business-container-box {
	display: block;
}

.p-business-container-image img {
	width: 100%;
}

.p-business-container-about {
	width: 100%;
}

.p-container__about {
	width: 100%;
}

.p-container {
	flex-direction: column;
}

.p-container.reverse {
	flex-direction: column-reverse;
	gap: 4rem;
}

.p-container__img.over-left {
	margin-right: calc(50% - 50vw);
	width: 100vw;
}

.u-hidden-tab {
	display: none;
}

}

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

.inner {
	margin-inline: auto;
	max-width: calc(1140px + 150px * 2);
	padding-inline: 150px;
}

.tabs-wrapper-wrapper {
	flex-direction: column-reverse;
}

.tab-link {
	border-radius: 10px 10px 0 0;
	display: inline-block;
	height: -moz-fit-content;
	height: fit-content;
	margin-bottom: 0;
	margin-right: 10px;
	padding: 0.25rem 1.1875rem;
	text-orientation: mixed;
	writing-mode: horizontal-tb;
}

.tabs-wrapper {
	float: none;
	width: 100%;
}

.tab-content {
	border-radius: 0 10px 10px 10px;
	padding: 32px;
}

}

@media (min-width: 950px) {

.p-article-card-grid {
	grid-template-columns: repeat(3, 1fr);
}

.p-article-card:nth-child(n+10) {
	display: none;
}

}

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

.c-card,
.c-card__fv {
	flex: 0 1 calc(50% - 15px);
}

}

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

.sort-options {
	font-size: 14px;
	line-height: 18.2px;
	padding: 18px 2px 6px;
	position: relative;
	text-align: right;
}

}

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

.c-card,
.c-card__fv {
	flex: 1 1 100%;
}

.c-card__date {
	font-size: 12px;
}

.c-card__fv {
	padding: 20px;
}

}

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

body.is-footer-sns-fixed {
	padding-bottom: 67px;
}

html {
	font-size: 4.266vw;
}

.l-inner {
	max-width: 375px;
	padding: 0 20px;
	width: 100%;
}

.l-content {
	padding-bottom: 60px;
	padding-top: 40px;
}

.l-front-main__pagination {
	margin-top: 24px;
}

.l-archive-main__head {
	margin-bottom: 35px;
}

.l-archive-main__card:nth-child(n+2) {
	margin-top: 20px;
}

.l-archive-main__pagination {
	margin-top: 40px;
}

.l-to-top-button {
	bottom: 92px;
	right: 16px;
}

.l-section {
	padding-bottom: 40px;
	padding-top: 50px;
}

.l-news {
	flex-direction: column;
}

.l-news-main {
	margin-block: 80px;
}

.p-news-main-title {
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: -0.001em;
	line-height: 1.5909090909;
	padding-bottom: 40px;
	padding-inline: 12px;
}

.p-news-cards {
	row-gap: 32px;
}

.c-news-card-image.single {
	aspect-ratio: auto;
	border-radius: 0;
	margin-bottom: 20px;
}

.c-news-card-image.archive {
	aspect-ratio: 166/98;
}

.c-news-card-image img {
	height: 100%;
	min-height: auto;
}

.c-news-card-title {
	color: var(--color-text-default, #081630); /* typography/body/md/bold */
	font-family: var(--font-family-default, "Noto Sans JP");
	font-size: 16px;
	font-style: normal;
	font-weight: 700; /* 28px */
	letter-spacing: 0.48px;
	line-height: 175%;
	overflow: hidden;
	text-overflow: ellipsis;
}

.c-news-card-date.single {
	font-family: Noto Sans JP;
	font-size: 14px;
	font-weight: 400;
	line-height: 25.2px;
	text-align: left;
}

.c-news-card-date {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.4166666667;
	padding-bottom: 6px;
}

.c-news-card-date.yellow {
	color: #135097;
}

.p-tag {
	top: 5%;
}

h2.wp-block-heading {
	font-size: 20px;
	line-height: 32px;
}

.l-news-detail-container h4.wp-block-heading {
	font-family: Noto Sans JP;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 24px;
	text-align: left;
}

.l-news-detail-container {
	border-radius: 0;
	margin-top: 170px;
	padding: 20px 20px 48px 20px;
	width: 100%;
}

.l-news-detail-container p {
	font-family: Noto Sans JP;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 25.2px;
	text-align: left;
}

.single-title {
	font-family: Noto Sans JP;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 30px;
	text-align: left;
}

.l-pickup-news {
	width: auto;
}

.u-mw-300 { /* max-width: 335px; */
}

.l-pickup-news-wrapper {
	margin-top: 40px;
	padding-top: 12px;
}

.c-news-category {
	margin: 30px 0;
}

.p-map {
	width: 89%;
}

.ifream-wrap {
	border: 5px solid #ffffff;
}

.p-info-column {
	width: 100%;
}

.p-info-column__list {
	margin: 0 auto;
}

.p-info-column__row {
	margin-bottom: 19px;
}

.p-info-column__term {
	margin-right: 23px;
	min-width: 84px;
	width: auto;
}

.p-info-column__term.about {
	min-width: 60px;
	width: 67px;
}

.l-new-card-container {
	margin-block: 32px;
}

.c-section-title-wrapper {
	margin-top: 0;
}

.c-section-title-wrapper-container {
	display: block;
}

.c-section-title-wrapper img {
	height: 20px;
	width: 20px;
}

.c-section-titles {
	display: block;
}

.c-section-titles.top {
	display: block;
}

.c-section-title-main img {
	width: 42px;
}

.c-section-title {
	font-family: Zen Maru Gothic;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 28.8px;
	text-align: left;
}

.c-section-title-sub {
	font-size: 16px;
	text-align: center;
}

.c-section-sub-title.mt64 {
	margin-top: 32px;
}

.c-section-sub-title.mt32 {
	font-size: 24px;
}

.c-section-sub-title.green {
	font-size: 24px;
}

.c-section-sub-title.gray {
	font-size: 24px;
}

.c-section-sub-title.blue {
	font-size: 24px;
}

.c-section-sub-title.top {
	font-size: 20px;
	margin-top: 32px;
}

.c-section-sub-title {
	font-size: 20px;
	line-height: 160%; /* 32px */
}

.c-section-about-title {
	line-height: 100%;
	padding: 8px 16px;
}

.c-section-about-title.business {
	font-size: 16px;
}

.c-section-text {
	margin-top: 8px;
	padding-left: 0;
}

.c-section-text.mb64 {
	margin-bottom: 32px;
}

.c-section-text.business {
	font-size: 16px;
	padding-left: 0;
}

.c-btn-parent.flex {
	flex-direction: column;
}

.c-btn-parent.tac {
	margin-inline: 40px;
	text-align: right;
}

.c-btn-parent.sp-tac {
	text-align: center;
}

.c-btn {
	font-size: 16px;
}

.c-archive-header {
	margin-top: 0;
}

.l-breadcrumbs.l-inner {
	padding-bottom: 35px;
	padding-top: 35px;
}

.pagination {
	margin: 37px auto 0;
}

.c-business-boxes {
	gap: 2rem;
	margin-top: 2rem;
}

.c-business-box {
	padding: 16px;
}

.c-business-box-container {
	flex-direction: column;
	gap: 8px;
}

.c-business-box-container.reverse {
	flex-direction: column;
	gap: 8px;
}

.c-business__detail {
	width: 100%;
}

.c-cta-btn__sub-title {
	font-size: 14px;
	font-weight: 500;
	line-height: 18.2px;
	padding: 4px 16px;
}

.c-cta-btn__main-title {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 23.4px;
	padding: 13px 30px 11px;
}

.c-header-btn__sub-title,
.c-header-btn__main-title {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 23.4px;
}

.c-card,
.c-card__fv {
	padding: 16px;
}

.c-card__date {
	font-family: Noto Sans JP;
	font-size: 12px;
	font-weight: 400;
	line-height: 14.4px;
	text-align: left;
}

.c-card__fv {
	padding: 16px;
}

.c-card__fv__date {
	font-family: Noto Sans JP;
	font-size: 12px;
	font-weight: 400;
	line-height: 14.4px;
	text-align: left;
}

.c-card__fv__title {
	font-family: Noto Sans JP;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 21px;
	text-align: left;
}

.c-keyword-btn__tags.template {
	-moz-column-gap: 7px;
	column-gap: 7px;
	row-gap: 5px;
}

.c-keyword-btn__tag {
	padding: 2px 8px 2px 8px;
}

.header {
	height: 72px;
	padding-inline: 1.25rem;
}

.header-wrap {
	height: 72px;
}

.header-logo {
	padding-left: 0;
}

.logo-scroll {
	width: 160px !important;
}

.header-nav {
	display: none;
}

.header-nav__wrap {
	display: none;
}

.header-btn {
	display: none;
}

.header-logo img {
	margin-top: 107px;
}

.drawer-icon {
	display: block;
	position: fixed;
	right: 14px;
	right: 0;
	top: 0;
}

.drawer-icon__bars-wrapper {
	border-radius: 0 0 0 28px;
	height: 140px;
	width: 84px;
}

.grid-wrap {
	flex-direction: column;
	gap: 2.25rem;
}

.p-footer-logo {
	margin: 0 auto;
	max-width: 84%;
	text-align: center;
}

.footer {
	padding: 40px 20px 12px 20px;
}

.footer__navi {
	gap: 32px;
}

.grid-container {
	gap: 27px;
	justify-content: center;
	padding-block: 0;
}

.copyright {
	margin-bottom: 40px;
	margin-top: 36px;
}

.copyright.tal {
	text-align: left;
}

.p-mv {
	padding-top: 60px;
}

.video.pc {
	display: none;
}

.p-cta {
	background: url(../img/cta-sp.webp) no-repeat center center;
	background-size: cover;
	margin-top: 48px;
	padding: 40px 0;
}

.p-cta__flex {
	align-items: flex-start;
	flex-direction: column;
	gap: 1.5rem;
}

.p-about {
	background: url(../img/about-bg-sp.png) no-repeat center center/cover;
}

.p-about-container {
	margin-bottom: 120px;
	margin-top: 80px;
}

.c-sub-title p span {
	font-size: 20px;
}

.p-about-text {
	color: var(--color-text-default, #081630); /* typography/body/md/bold */
	font-family: var(--font-family-default, "Noto Sans JP");
	font-size: 16px;
	font-style: normal;
	font-weight: 700; /* 28px */
	letter-spacing: 0.48px;
	line-height: 175%;
	text-align: center;
}

.p-about-title {
	font-size: 24px;
}

.p-about-title.company {
	font-size: 28px;
}

.swiper-slide-active {
	transform: translateY(-12px);
}

.swiper-container {
	padding-bottom: 0px;
}

.slider-section {
	padding-block: 40px;
}

.my-slider__wrapper {
	margin-top: 32px;
}

.my-slider .slick-slide {
	margin: 0 12px;
}

.my-slider__slide {
	width: 76.8vw;
}

.scroll-bar-container {
	align-items: flex-start;
	flex-direction: column;
	gap: 20px;
	margin-top: 32px;
}

.scroll-bar-container.inner {
	padding-inline: 0px;
}

.buttons-scrolls-wrapper {
	justify-content: space-between;
	width: 100%;
}

.buttons {
	justify-content: end;
	padding-top: 24px;
}

.scroll-bar {
	width: 100%;
}

.view-all-button {
	text-align: center;
	width: 100%;
}

.p-archive__inner-wrapper {
	flex-direction: column;
}

.p-archive__inner {
	padding-top: 0;
}

.h2 {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.45;
	padding-left: 14px;
}

.p-online__container::after {
	bottom: -80px;
	height: 80px;
	width: 80px;
}

.p-online__container {
	padding-inline: 20px;
}

.p-online__container-box {
	flex-direction: column;
	gap: 30px;
}

.p-online__box-image img {
	width: 60%;
}

.p-online__box-about {
	width: 100%;
}

.p-business {
	border-bottom-right-radius: 80px;
	border-top-left-radius: 80px;
	padding-top: 80px;
}

.inner.l-new-inner {
	padding-inline: 20px;
}

.inner.l-recommend-inner {
	padding-inline: 0px;
}

.inner.l-all-inner {
	margin-inline: auto;
	padding-inline: 20px;
	padding-top: 20px;
}

.inner.l-keyword-inner {
	padding-inline: 0;
}

.inner.l-404-inner {
	padding-inline: 0;
}

.inner.l-footer-inner {
	padding-inline: 20px;
}

.inner.l-cta-inner {
	margin-inline: 40px;
}

.p-business-container {
	margin-top: 64px;
}

.p-business-container-box {
	display: block;
}

.p-business-container-box:not(:first-child) {
	margin-top: 4rem;
}

.p-business-container-image {
	width: 100%;
}

.p-business-container-image img {
	width: 100%;
}

.p-business-container-about {
	width: 100%;
}

.p-container__about {
	padding-left: 0;
	width: 100%;
}

.p-container {
	flex-direction: column;
	gap: 4rem;
}

.p-container.reverse {
	flex-direction: column-reverse;
	gap: 4rem;
}

.p-container__img.over-left {
	margin-right: calc(50% - 50vw);
	width: 100vw;
}

.p-container__img img {
	width: 100%;
}

.p-loop {
	bottom: 58px;
}

.p-recruit {
	border-top-left-radius: 5rem;
}

.p-contact {
	background: url(../img/contact-sp.webp) 0px 0px/100% 100% no-repeat; /* 縦のサイズを小さく */
}

.section-title-center {
	font-family: Noto Sans JP;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 43.2px;
	text-align: center;
}

.error-code {
	font-family: Noto Sans JP;
	font-size: 80px;
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 80px;
	text-align: left;
}

.entry-error-content {
	font-size: 20px;
	line-height: 36px;
	text-align: left;
}

.entry-error-content-sub {
	font-size: 15px;
	line-height: 27px;
	text-align: left;
}

.p-page-404 {
	margin-top: 170px;
}

.inner-404 {
	padding: 56px 20px;
}

.tabbed-content {
	margin: 5px 0;
}

.p-article-card-grid {
	gap: 12px;
}

.p-articles {
	margin-top: 170px;
}

div#ez-toc-container {
	width: 100%;
}

.p-single-tag {
	display: block;
}

.p-single-tag p {
	margin: 8px;
}

.wp-block-table table {
	font-family: Noto Sans JP;
	font-size: 13px;
	font-weight: 400;
	line-height: 19.5px;
	text-align: left;
}

.wp-block-table th,
.wp-block-table td {
	padding: 2px;
}

.wp-block-button__link {
	font-family: Noto Sans JP;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 18.2px;
	text-align: left;
}

.u-hidden-sp {
	display: none;
}

}

@media (max-width: 767px) {

.c-keyword-btn__sub-title {
	font-size: 14px;
	font-weight: 500;
	line-height: 18.2px;
}

.c-keyword-btn__main-title {
	font-size: 16px;
	padding: 24px 16px;
}

.c-keyword-btn__tag {
	font-size: 12px;
}

}

@media (max-width: 749px) {

.p-article-card-grid.top {
	grid-template-columns: 1fr; /* .topクラスが付いているときのみ適用 */
}

.p-article-card-grid.top .p-article-card:nth-child(n+4) {
	display: none; /* .topクラスが付いているときのみ適用 */
}

}

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

html,
body {
	overflow-x: hidden;
	overflow-y: scroll;
}

}

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

.c-btn.gray {
	width: 100%;
}

}

@keyframes fadeUpAnime {

from {
	opacity: 0;
	transform: translateY(100px);
}

to {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes fadeLeftAnime {

from {
	opacity: 0;
	transform: translateX(-100px);
}

to {
	opacity: 1;
	transform: translateX(0);
}

}

@keyframes UpAnime {

from {
	opacity: 0;
	transform: translateY(100px);
}

to {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes DownAnime {

from {
	opacity: 1;
	transform: translateY(0);
}

to {
	opacity: 1;
	transform: translateY(100px);
}

}

@keyframes loop {

0% {
	transform: translateX(100%);
}

to {
	transform: translateX(-100%);
}

}

@keyframes loop2 {

0% {
	transform: translateX(0);
}

to {
	transform: translateX(-200%);
}

}

@keyframes marquee {

0% {
	transform: translateX(100%);
}

100% {
	transform: translateX(-100%);
}

}

