* {
	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,
main,
aside,
figure,
figcaption {
	display: block;
}

img {
	border: none;
	vertical-align: bottom;
	width: 100%;
}

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

button {
	background: inherit;
}

address {
	font-style: normal;
}

/* ===============================================
  PC 961px〜
  タブレット 768〜960px
  SP 〜767px
=============================================== */

html {
	-webkit-appearance: none;
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
}

body {
	background: #fff;
	color: #13233A;
	font-family: "source-han-sans-japanese", sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1;
}

* {
	letter-spacing: var(--spacing);
}

:root {
	--spacing: 0;
}

img {
	display: block;
	height: auto;
	width: 100%;
}

a {
	color: inherit;
	display: block;
}

main {
	overflow: hidden;
}

address {
	font-style: normal;
	text-decoration: none;
}

.l-inner {
	margin: 0 auto;
	position: relative;
	width: 118rem;
}

.c-title {
	display: inline-block;
	padding-bottom: 3.8rem;
	position: relative;
}

.c-title::after {
	background: #3280C4;
	bottom: 0;
	content: "";
	height: 0.8rem;
	left: 50%;
	position: absolute;
	transform: translate(-50%, 0);
	width: 9rem;
}

.c-title.is-single {
	padding-bottom: 3.8rem;
}

.c-title.is-single .c-title__main {
	color: #13233A;
}

.c-title__main {
	color: #3280C4;
	display: block;
	font-size: 4.4rem;
	font-weight: 700;
}

.c-title__sub {
	display: block;
	font-size: 3.6rem;
	font-weight: 700;
	margin-top: 2rem;
}

.c-tel {
	align-items: center;
	background: #13233A;
	display: flex;
	height: 8rem;
	justify-content: center;
	padding-bottom: 0.8rem;
	width: 25rem;
}

.c-tel__row {
	-moz-column-gap: 0.4rem;
	align-items: center;
	column-gap: 0.4rem;
	display: flex;
}

.c-tel__head {
	border: 1px solid #fff;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 500;
	padding: 0.5rem 0.4rem;
}

.c-tel__number {
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-size: 3rem;
	font-weight: 500;
	padding-top: 1rem;
}

.c-tel__time {
	background: #DDDDDD;
	color: #13233A;
	font-size: 1.4rem;
	font-weight: 500;
	margin-top: -0.3rem;
	padding: 0.4rem 0;
	text-align: center;
}

.p-header {
	background: #fff;
	height: 8rem;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 20;
}

.p-header__inner {
	align-items: center;
	display: flex;
	height: inherit;
	justify-content: space-between;
	padding-left: min(10.6666666667vw, 16rem);
}

.p-header__logo {
	width: min(16.6666666667vw, 25rem);
}

.p-header__subTitle {
	font-size: min(2vw, 3rem);
	font-weight: 700;
	margin-left: min(2.6666666667vw, 4rem);
}

.p-header__nav {
	align-items: center;
	display: flex;
	height: inherit;
	margin-left: auto;
}

.p-header__navList {
	-moz-column-gap: min(2vw, 3rem);
	align-items: center;
	column-gap: min(2vw, 3rem);
	display: flex;
	height: inherit;
	margin-right: min(2.9333333333vw, 4.4rem);
}

.p-header__navItem {
	font-size: min(1.0666666667vw, 1.6rem);
	height: inherit;
	position: relative;
	transition: opacity 0.3s ease;
}

.p-header__navItem a {
	align-items: center;
	display: flex;
	height: inherit;
}

.p-header__navItem:hover {
	opacity: 0.7;
}

.p-header__contact {
	height: 100%;
}

.p-header__contact a {
	align-items: center;
	background: rgba(110, 187, 255, 0.5);
	display: flex;
	font-size: 1.6rem;
	height: inherit;
	justify-content: center;
	padding-top: 2.2rem;
	position: relative;
	transition: opacity 0.3s ease;
	width: 12.2rem;
}

.p-header__contact a::after {
	background: url(../img/common/mail-icon.svg) no-repeat center center/contain;
	content: "";
	height: 2.2rem;
	left: 50%;
	position: absolute;
	top: 20%;
	transform: translate(-50%, 0);
	width: 3.6rem;
}

.p-header__contact a:hover {
	opacity: 0.7;
}

.p-header__telIcon {
	display: none;
}

.p-footer {
	background: rgba(110, 187, 255, 0.15);
	padding: 10rem 0 2rem;
}

.p-footer__row {
	align-items: center;
	border-bottom: 1px solid #707070;
	display: flex;
	padding-bottom: 2.4rem;
}

.p-footer__logo {
	width: 25rem;
}

.p-footer__subTitle {
	font-size: 3.2rem;
	font-weight: 700;
	margin-left: 8rem;
}

.p-footer__tel {
	margin-left: auto;
}

.p-footer__menu {
	-moz-column-gap: 4.4rem;
	column-gap: 4.4rem;
	display: flex;
	margin-top: 2.4rem;
}

.p-footer__box {
	flex: 1;
}

.p-footer__link {
	font-weight: 500;
	padding-left: 2.4rem;
	position: relative;
	transition: opacity 0.3s ease;
	width: -moz-fit-content;
	width: fit-content;
}

.p-footer__link:not(:first-child) {
	margin-top: 0.8rem;
}

.p-footer__link::after {
	background: url(../img/common/arrow-icon.svg) no-repeat center center/contain;
	content: "";
	height: 1.6rem;
	left: 0rem;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	transition: left 0.3s ease;
	width: 1.6rem;
}

.p-footer__link:hover {
	opacity: 0.7;
}

.p-footer__link:hover::after {
	left: 0.5rem;
}

.p-footer__lowLinkList {
	margin: 0.2rem 0 0 2.5rem;
}

.p-footer__lowLink {
	font-size: 1.6rem;
	letter-spacing: 0.012em;
	line-height: 1.875;
	transition: opacity 0.3s ease;
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
}

.p-footer__lowLink:hover {
	opacity: 0.7;
}

.p-footer__copy {
	color: #575757;
	font-size: 1.2rem;
	font-weight: 300;
	margin-top: 5.6rem;
	text-align: center;
}

.p-hamburger {
	display: none;
}

.p-hamburger span {
	background: #13233A;
	display: inline-block;
	height: 3px;
	position: absolute;
	transition: all 0.4s ease;
	width: 100%;
}

.p-hamburger span:nth-of-type(1) {
	top: 0;
}

.p-hamburger span:nth-of-type(2) {
	top: 0.6rem;
}

.p-hamburger span:nth-of-type(3) {
	bottom: 0;
}

.p-hamburger.is-active span:nth-of-type(1) {
	top: 0.6rem;
	transform: rotate(-30deg);
}

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

.p-hamburger.is-active span:nth-of-type(3) {
	top: 0.6rem;
	transform: rotate(30deg);
}

.p-drawer {
	background: #eaf3ff;
	height: calc(100% - 6rem);
	left: 0;
	overflow-y: scroll;
	position: fixed;
	top: 6rem;
	transform: translateX(101%);
	transition: transform 0.3s ease;
	width: 100%;
	z-index: 40;
}

.p-drawer.is-active {
	transform: translate(0);
}

.p-drawer__menu {
	margin-top: 2.4rem;
}

.p-drawer__box {
	border-top: 1px dashed #707070;
	padding: 1.6rem 0;
}

.p-drawer__box:first-child {
	border-top: none;
	padding-top: 0;
}

.p-drawer__link {
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.012em;
	line-height: 1.66;
}

.p-drawer__lowLinkList {
	margin: 2rem 0 0 1.6rem;
}

.p-drawer__lowLinkList li:not(:first-child) {
	margin-top: 2.2rem;
}

.p-drawer__lowLink {
	letter-spacing: 0.012em;
	line-height: 1.2;
	position: relative;
}

.p-drawer__lowLink::after {
	background: url(../img/common/drawer-arrow.svg) no-repeat center center/contain;
	content: "";
	height: 1.4rem;
	position: absolute;
	right: 0;
	top: 55%;
	transform: translate(0, -50%);
	width: 0.7rem;
}

.p-drawer__contact {
	background: #13233A;
	color: #fff;
	margin-top: 1rem;
	padding: 1.5rem 0 1.8rem;
}

.p-drawer__contactInner {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 32rem;
}

.p-drawer__contactBtn a {
	font-weight: 500;
	height: 100%;
	padding-top: 3.4rem;
	position: relative;
	width: 9.6rem;
}

.p-drawer__contactBtn a::after {
	background: url(../img/common/drawer-mail.svg) no-repeat center center/contain;
	content: "";
	height: 1.9rem;
	left: 50%;
	position: absolute;
	top: 0.5rem;
	transform: translate(-50%, 0);
	width: 3.2rem;
}

.p-drawer__contactBtn a::before {
	background: #fff;
	content: "";
	height: 100%;
	position: absolute;
	right: -2.5rem;
	top: 57%;
	transform: translate(0, -50%);
	width: 1px;
}

.p-drawer__telRow {
	-moz-column-gap: 0.4rem;
	align-items: center;
	column-gap: 0.4rem;
	display: flex;
}

.p-drawer__telHead {
	border: 1px solid #fff;
	color: #fff;
	font-size: 1rem;
	font-weight: 500;
	padding: 0.4rem 0.4rem;
}

.p-drawer__telNumber {
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-size: 2.4rem;
	font-weight: 500;
	padding-top: 0.6rem;
}

.p-drawer__telTime {
	font-weight: 500;
	margin-top: 0.5rem;
	text-align: center;
}

/* ===============================================
# 共通
=============================================== */

:target::before {
	content: "";
	display: block;
	height: 8rem;
	margin: -8rem 0 0;
}

.section-space {
	padding: 10rem 0;
}

.section-wrap {
	margin-top: 5.6rem;
}

.tac {
	text-align: center;
}

.bg-beige {
	background: #FAF9F5;
}

.pTag {
	letter-spacing: 0.012em;
	line-height: 1.66;
}

.noLink {
	pointer-events: none;
}

/* ===============================================
トップページFV
=============================================== */

.p-fv {
	margin-top: 8rem;
	position: relative;
}

.p-fv__textWrap {
	left: 10.6%;
	position: absolute;
	top: 20%;
}

.p-fv__catch {
	color: #3280C4;
	display: block;
	font-size: 2.9333333333vw;
	font-weight: 700;
}

.p-fv__title {
	display: block;
	font-size: 5.6vw;
	font-weight: 700;
	line-height: 1.07;
	margin-top: 2rem;
}

.p-fv__lead {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	margin-top: 4rem;
}

.p-fv__leadItem span {
	background: #fff;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.16);
	display: inline-block;
	font-size: 2vw;
	font-weight: 700;
	padding: 0.75rem 0.6rem 0.75rem 4rem;
	position: relative;
}

.p-fv__leadItem span::after {
	background: url(../img/common/check-icon.svg) no-repeat center center/contain;
	content: "";
	height: 3rem;
	left: 0.5rem;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	width: 3rem;
}

/* ===============================================
下層固定ページFV 画像なし
=============================================== */

.p-fvPage {
	background: #FAF9F5;
	margin-top: 2rem;
}

.p-fvPage__textWrap {
	padding: 8rem 0;
	text-align: center;
}

.p-fvPage__titleEN {
	font-family: "Poppins", sans-serif;
	font-size: 4rem;
}

.p-fvPage__titleJP {
	font-size: 2.4rem;
	font-weight: 500;
}

/* ===============================================
下層固定ページFV 背景画像あり
=============================================== */

.p-fvPageBg {
	height: max(40rem, 26vw);
	margin-top: 2rem;
	padding: 0 4rem;
	position: relative;
}

.p-fvPageBg .l-inner {
	height: 100%;
}

.p-fvPageBg__textWrap {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	margin: 0 auto;
	max-width: 120rem;
	padding: 0 4rem;
}

.p-fvPageBg__titleEN {
	background: #fff;
	border-radius: 8px;
	font-family: "Poppins", sans-serif;
	font-size: 4rem;
	padding: 0.4rem 1.6rem;
}

.p-fvPageBg__titleJP {
	background: #fff;
	border-radius: 8px;
	font-size: 2.4rem;
	font-weight: 500;
	margin-top: 1.2rem;
	padding: 0.4rem 1.6rem;
}

.p-fvPageBg__img img {
	-o-object-fit: cover;
	border-radius: 20px;
	display: block;
	height: 100%;
	left: 4rem;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: calc(100% - 8rem);
	z-index: -1;
}

.p-breadcrumb {
	font-size: 1.2rem;
	margin: 8.5rem 0 0.5rem 0;
}

.p-breadcrumb ul {
	display: flex;
	line-height: 1.5;
	overflow-x: auto;
	scrollbar-width: none;
	white-space: nowrap;
}

.p-breadcrumb ul li::before {
	content: "＞";
	display: inline-block;
	padding: 0 0.5em;
}

.p-breadcrumb ul li:first-child::before {
	display: none;
}

.p-breadcrumb ul li a {
	display: inline-block;
	transition: all 0.2s;
}

.p-breadcrumb ul li a:hover {
	opacity: 0.7;
}

.p-pageLink {
	margin: 16rem 0 0;
}

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

.p-pageLink__link {
	font-size: 2rem;
	font-weight: 500;
	position: relative;
	transition: all 0.3s ease;
}

.p-pageLink__link::after {
	border: 0.1em solid #13233A;
	border-bottom: 0;
	border-left: 0;
	bottom: -2rem;
	content: "";
	display: block;
	height: 1.6rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%) rotate(135deg);
	transition: all 0.3s ease;
	width: 1.6rem;
}

.p-pageLink__link:hover {
	opacity: 0.7;
}

.p-pageLink__link:hover::after {
	bottom: -2.5rem;
}

.p-single__sidebarWrap {
	background: #FAF9F5;
	border-top: 4px solid #3280C4;
	padding: 2.4rem 2rem;
}

.p-single__sidebarTitle {
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
}

.p-single__sidebarList {
	display: flex;
	flex-direction: column;
	gap: 2.4rem;
	margin-top: 2.4rem;
}

.p-single__sidebarList a {
	display: inline-block;
	font-size: 1.6rem;
	padding-left: 1.8rem;
	position: relative;
	transition: all 0.3s ease;
}

.p-single__sidebarList a::after {
	-webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background: #3280C4;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	content: "";
	height: 1.7rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	width: 1.5rem;
}

.p-single__sidebarList a:hover {
	opacity: 0.7;
}

.p-single {
	margin: 5rem 0 10rem;
	overflow: inherit;
}

.p-single__contents {
	display: flex;
	justify-content: space-between;
}

.p-single__left {
	max-width: 100%;
	width: 83.8rem;
}

.p-single__detailBox {
	align-items: center;
	display: flex;
	gap: 0.8rem;
	justify-content: right;
	margin-top: 1.6rem;
}

.p-single__category {
	border: 1px solid #3280C4;
	border-radius: 999px;
	color: #3280C4;
	font-size: 1.2rem;
	padding: 0.4rem 1rem;
}

.p-single__category:hover {
	opacity: 0.7;
}

.p-single__date {
	font-size: 1.4rem;
}

.p-single__wrap {
	margin-top: 8rem;
}

.p-single__title {
	background: rgba(255, 255, 255, 0.8);
	box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.16);
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.45;
	margin-top: -11rem;
	padding: 3.2rem 2.9rem;
	position: relative;
	width: 62rem;
	z-index: 2;
}

/* ===============================================
# TOC
=============================================== */

#toc_container {
	background-color: #fff;
	border: 3px solid #3180C4;
	border-radius: 3px;
	box-sizing: border-box;
	display: table;
	margin: -2em auto 6em;
	padding: 1em 2em;
	width: 100% !important;
}

#toc_container a {
	color: #1b94e0;
	display: inline;
	text-decoration: underline !important;
}

/* テーマによるリストの装飾を一旦無効化 */

#toc_container ul.toc_list li::before {
	background: none;
	box-shadow: none;
	content: none;
	height: 0;
	margin: 0;
	padding: 0;
	width: 0;
}

/* 目次の見出しタイトル */

#toc_container .toc_title {
	font-size: 118%;
	font-weight: bold;
	padding: 0;
	text-align: center;
}

/* 見出しタイトル左のアイコン */

#toc_container .toc_title::before {
	speak: none;
	-webkit-font-smoothing: antialiased;
	background-color: #C8DCE6;
	border-radius: 50%;
	color: #fff;
	content: "≡";
	display: inline-block;
	font-size: 24px;
	height: 30px;
	line-height: 24px;
	margin-right: 8px;
	position: relative;
	vertical-align: baseline;
	width: 30px;
}

/* 表示／非表示トグル */

#toc_container .toc_toggle a {
	font-size: 13px;
	font-weight: normal;
	padding: 2px 4px;
}

/* 目次エリア */

#toc_container p.toc_title + ul.toc_list {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	margin: 20px 0 0;
	padding: 20px 0 0;
}

/* 目次のリストの共通スタイル */

#toc_container ul.toc_list li {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

/* 目次のリンク */

#toc_container ul.toc_list li a {
	display: inline-block;
	font-size: 94%;
	font-weight: normal;
	line-height: 1.6;
	margin: 7px 0;
	padding: 3px 0;
	position: relative;
	text-decoration: none;
	transition: all 0.3s ease;
}

/* 目次のリンクカラー */

#toc_container ul.toc_list a,
#toc_container ul.toc_list a:visited {
	color: #3180C4;
}

/* マウスオーバー時 */

#toc_container ul.toc_list a:hover {
	opacity: 0.88;
	text-decoration: none;
}

/* 親の目次 */

#toc_container ul.toc_list > li > a {
	font-size: 104%;
	font-weight: bold;
	margin-left: 40px;
}

/* 番号振り用のスタイル */

#toc_container .toc_number {
	background-color: #3180C4;
	color: #fff;
	display: inline-block;
	font-family: "Avenir Next", "Helvetica Neue", Arial, "Meiryo", "Yu Gothic", san-serif;
	font-weight: 400;
	margin-right: 5px;
	text-align: center;
}

/* 親の目次の番号 */

#toc_container .toc_number.toc_depth_1 {
	border-radius: 16px;
	height: 32px;
	left: -40px;
	line-height: 32px;
	position: absolute;
	top: 0;
	width: 32px;
}

/* 子の目次の番号 */

#toc_container .toc_number:not(.toc_depth_1) {
	border-radius: 15px;
	line-height: 30px;
	padding: 0 5.43px;
}

/* 子の目次 */

#toc_container ul.toc_list > li > ul {
	margin-left: 40px;
}

#toc_container .toc_number.toc_depth_2,
#toc_container .toc_number.toc_depth_3,
#toc_container .toc_number.toc_depth_4 {
	display: none;
}

/* レスポンシブ設定(667px幅以下) */

/* ===============================================
# 投稿画面
=============================================== */

.p-single__body {
	border-bottom: 1px solid #13233A;
	margin-top: 12rem;
	padding-bottom: 3rem;
}

.p-single__body h2 {
	border-bottom: 2px solid #3280C4;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.45;
	margin-bottom: 2.4rem;
	padding-bottom: 2.4rem;
}

.p-single__body h2:not(:first-of-type) {
	border-top: 1px solid #13233A;
	margin-top: 4rem;
	padding-top: 8rem;
}

.p-single__body h3 {
	background: rgba(110, 187, 255, 0.15);
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.3;
	margin: 4rem 0 2.4rem;
	padding: 0.4em 0.8em;
}

.p-single__body h4 {
	border-left: 5px solid #3280C4;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.3;
	margin: 4rem 0 2.4rem;
	padding: 0.2em 0.6em;
}

.p-single__body p {
	font-size: 1.6rem;
	letter-spacing: 0.008em;
	line-height: 1.875;
	margin-bottom: 1em;
}

.p-single__body a {
	color: #1b94e0;
	display: inline;
	text-decoration: underline !important;
	transition: opacity 0.3s ease;
}

.p-single__body a:hover {
	opacity: 0.7;
}

.p-single__body img {
	margin: 4rem 0;
	max-width: 100%;
	width: auto;
}

.p-single__body ul {
	list-style: disc;
	margin-bottom: 1em;
	padding-left: 2em;
}

.p-single__body ul li {
	font-size: 1.8rem;
	line-height: 1.5;
	list-style-type: disc;
}

.p-single__body ol {
	list-style: decimal;
	margin-bottom: 1em;
	padding-left: 2em;
}

.p-single__body ol li {
	font-size: 1.8rem;
	line-height: 1.5;
	list-style-type: decimal;
}

.p-single__body table {
	font-size: 1.8rem;
	line-height: 1.5;
}

.p-single__body .aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.p-single__btn {
	margin-top: 6rem;
}

.p-single__btn a {
	align-items: center;
	background: #3280C4;
	border-radius: 999px;
	color: #fff;
	display: flex;
	font-weight: 700;
	height: 4.8rem;
	justify-content: center;
	line-height: 1.44;
	margin: 0 auto;
	position: relative;
	text-align: center;
	transition: all 0.3s ease;
	width: 20rem;
}

.p-single__btn a::after {
	background: url(../img/common/button-arrow.svg) no-repeat center center/contain;
	content: "";
	height: 2rem;
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translate(0, -50%);
	transition: all 0.3s ease;
	width: 1rem;
}

.p-single__btn a:hover {
	background: #fff;
	border: 1px solid #3280C4;
	color: #3280C4;
}

.p-single__btn a:hover::after {
	background: url(../img/common/button-arrow_blue.svg) no-repeat center center/contain;
}

.p-archive {
	overflow: inherit;
	padding: 4.8rem 0 10rem;
}

.p-archiveFv {
	background: rgba(110, 187, 255, 0.15);
	font-size: 2.6rem;
	font-weight: 500;
	padding: 4.7rem 0;
	text-align: center;
}

.p-archiveFv h1 {
	display: inline-block;
	padding: 0 2.5rem;
	position: relative;
}

.p-archiveFv h1::after,
.p-archiveFv h1::before {
	content: "";
	height: 4.4rem;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	width: 1.4rem;
}

.p-archiveFv h1::after {
	background: url(../img/common/news-kako1.svg) no-repeat center center/contain;
	left: 0;
}

.p-archiveFv h1::before {
	background: url(../img/common/news-kako2.svg) no-repeat center center/contain;
	right: 0;
}

.p-archive__flex {
	display: flex;
	justify-content: space-between;
}

.p-archive__left {
	max-width: 100%;
	width: 83.3rem;
}

.p-archive__right {
	height: -moz-max-content;
	height: max-content;
	position: sticky;
	top: 9rem;
	width: 30rem;
}

.p-archiveLink__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	margin-left: -3rem;
	row-gap: 2rem;
}

.p-archiveLink__listItem:last-child .p-archiveLink__listLink {
	border: none;
}

.p-archiveLink__listLink {
	border-right: 1px solid #000;
	font-size: 1.6rem;
	padding: 0 3rem;
	position: relative;
	transition: all 0.3s ease;
}

.p-archiveLink__listLink:hover {
	color: #3280C4;
}

.p-archiveLink__listLink.is-selected {
	color: #3280C4;
	cursor: default;
	font-weight: 700;
	pointer-events: none;
}

.p-archive__wrap {
	margin: 4.8rem 0;
}

.p-archiveNews__list {
	-moz-column-gap: 4.2rem;
	column-gap: 4.2rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	row-gap: 4.8rem;
}

.p-archive__boxLink {
	transition: all 0.3s ease;
}

.p-archive__boxLink:hover {
	opacity: 0.7;
}

.p-archive__boxLink:hover .p-archive__boxImg img {
	transform: scale(1.05);
}

.p-archive__box {
	border-bottom: 1px solid #13233A;
	padding-bottom: 1.6rem;
}

.p-archive__boxLink {
	position: relative;
}

.p-archive__boxNewLabel {
	left: 0;
	position: absolute;
	top: 1rem;
	width: 5.5rem;
	z-index: 2;
}

.p-archive__boxImg {
	aspect-ratio: 398/246;
	overflow: hidden;
}

.p-archive__boxImg img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: all 0.3s ease;
}

.p-archive__boxTextBody {
	align-items: baseline;
	display: flex;
	gap: 0.8rem;
	margin-top: 1.6rem;
}

.p-archive__boxDate {
	font-size: 1.4rem;
}

.p-archive__boxCategory {
	border: 1px solid #3280C4;
	border-radius: 999px;
	color: #3280C4;
	font-size: 1.2rem;
	padding: 0.4rem 1rem;
}

.p-archive__boxTitle {
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.45;
	margin-top: 1.6rem;
}

.p-archive__boxText {
	font-size: 1.6rem;
	letter-spacing: 0.012em;
	line-height: 1.875;
	margin-top: 1.6rem;
}

.p-archive__pager {
	margin-top: 10rem;
}

.p-archive__pagination ul {
	-moz-column-gap: 1.5rem;
	align-items: center;
	column-gap: 1.5rem;
	display: flex;
	justify-content: center;
}

.p-archive__pagination ul li {
	font-family: "Poppins", sans-serif;
	font-size: 1.3rem;
	text-align: center;
}

.p-archive__pagination ul li .page-numbers {
	align-items: center;
	border-radius: 999px;
	display: flex;
	height: 3rem;
	justify-content: center;
	padding-top: 0.1rem;
	transition: all 0.3s ease;
	width: 3rem;
}

.p-archive__pagination ul li .page-numbers:hover {
	background-color: #3280C4;
	color: #fff;
}

.p-archive__pagination ul li .current {
	background-color: #3280C4;
	border-radius: 999px;
	color: #fff;
	height: 3rem;
	width: 3rem;
}

.p-archive__pagination ul li .dots {
	padding-bottom: 0.8rem;
}

.p-archive__pagination ul li .prev {
	background: url(../img/common/arrow_back.svg) no-repeat center center/contain;
	border-radius: 0;
	content: "";
	display: block;
	height: 1.5rem;
	width: 1.5rem;
}

.p-archive__pagination ul li .prev:hover {
	background: url(../img/common/arrow_back.svg) no-repeat center center/contain;
	transform: translateX(-0.5rem);
}

.p-archive__pagination ul li .next {
	background: url(../img/common/arrow_next.svg) no-repeat center center/contain;
	border-radius: 0;
	content: "";
	display: block;
	height: 1.5rem;
	width: 1.5rem;
}

.p-archive__pagination ul li .next:hover {
	background: url(../img/common/arrow_next.svg) no-repeat center center/contain;
	transform: translateX(0.5rem);
}

.p-training {
	display: flex;
	flex-wrap: wrap;
	gap: 4.4rem;
	justify-content: center;
}

.p-training.column2 {
	margin: 0 1rem;
}

.p-training.is-blueItem .p-training__item {
	background: rgba(110, 187, 255, 0.15);
}

.p-training.is-whiteItem .p-training__item {
	background: #fff;
}

.p-training.is-start {
	justify-content: start;
}

.p-training__item {
	display: flex;
	flex-direction: column;
	width: 36.4rem;
}

.p-training__item:hover .p-training__btn {
	background: #fff;
	border: 1px solid #3280C4;
	color: #3280C4;
}

.p-training__item:hover .p-training__btn::after {
	background: url(../img/common/button-arrow_blue.svg) no-repeat center center/contain;
}

.p-training__catch {
	color: #3280C4;
	font-weight: 500;
	margin-top: 2.7rem;
	padding: 0 2.5rem;
}

.p-training__title {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.46;
	margin-top: 0.5rem;
	padding: 0 2.5rem;
}

.p-training__text {
	flex-grow: 1;
	margin-top: 1.5rem;
	padding: 0 2.5rem;
}

.p-training__btn {
	align-items: center;
	background: #3280C4;
	border-radius: 999px;
	color: #fff;
	display: flex;
	font-weight: 700;
	height: 6.8rem;
	justify-content: center;
	line-height: 1.44;
	margin: 2rem 2.5rem 3.2rem;
	position: relative;
	text-align: center;
	transition: all 0.3s ease;
}

.p-training__btn.is-ls {
	letter-spacing: -0.03em;
}

.p-training__btn::after {
	background: url(../img/common/button-arrow.svg) no-repeat center center/contain;
	content: "";
	height: 2rem;
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translate(0, -50%);
	transition: all 0.3s ease;
	width: 1rem;
}

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

.p-faq__body {
	border-top: 1px dashed #707070;
	margin: 0 6.5rem 0 7.1rem;
	padding: 4.3rem 0 4.4rem;
}

.p-faq__body:first-child {
	border-top: none;
	padding-top: 0;
}

.p-faq__body:last-child {
	padding-bottom: 0;
}

.p-faq__body dt {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.45;
	position: relative;
}

.p-faq__body dt::after {
	background: #3280C4;
	border-radius: 999px;
	content: "";
	height: 5.8rem;
	left: -6.8rem;
	position: absolute;
	top: -1.1rem;
	width: 5.8rem;
}

.p-faq__body dt::before {
	color: #fff;
	content: "Q";
	font-family: "Poppins", sans-serif;
	font-size: 4rem;
	font-weight: 700;
	left: -5.5rem;
	position: absolute;
	top: -0.9rem;
	z-index: 1;
}

.p-faq__body dd {
	margin: 1.5rem 0 0 6.5rem;
}

/* ===============================================
ニュース
=============================================== */

.p-news__item a {
	-moz-column-gap: 1.4rem;
	align-items: center;
	border-top: 1px solid #707070;
	column-gap: 1.4rem;
	display: flex;
	padding: 2.2rem 0;
	transition: opacity 0.3s ease;
}

.p-news__item a:hover {
	opacity: 0.7;
}

.p-news__item:first-child a {
	border-top: none;
	padding-top: 0;
}

.p-news__info {
	-moz-column-gap: 2.6rem;
	align-items: center;
	column-gap: 2.6rem;
	display: flex;
}

.p-news__cat {
	background: #3280C4;
	border-radius: 0.6rem;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.4;
	padding: 0.5rem;
	text-align: center;
	width: 10rem;
}

.p-news__text {
	color: #3280C4;
	flex: 1;
}

.news__link {
	color: #3280C4;
	display: flex;
	margin: 0.6rem 1rem 0 auto;
	text-decoration: underline !important;
	transition: opacity 0.3s ease;
	width: -moz-fit-content;
	width: fit-content;
}

.news__link:hover {
	opacity: 0.7;
}

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

.p-flow {
	display: flex;
	flex-direction: column;
	gap: 5rem;
}

.p-flow__box {
	align-items: center;
	background: rgba(110, 187, 255, 0.15);
	display: flex;
	padding: 1.5rem 2.7rem 1.8rem 2.7rem;
	position: relative;
}

.p-flow__box::after {
	-webkit-clip-path: polygon(0 0, 50% 99%, 100% 0);
	background: #3280C4;
	bottom: -3.5rem;
	clip-path: polygon(0 0, 50% 99%, 100% 0);
	content: "";
	height: 1.8rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 2.4rem;
}

.p-flow__box:last-child::after {
	display: none;
}

.p-flow__row {
	-moz-column-gap: 1.2rem;
	align-items: center;
	column-gap: 1.2rem;
	display: flex;
	width: 32.6rem;
}

.p-flow__num {
	align-items: center;
	background: #3280C4;
	border-radius: 999px;
	color: #fff;
	display: flex;
	font-size: 2rem;
	font-weight: 700;
	height: 3.2rem;
	justify-content: center;
	width: 3.2rem;
}

.p-flow__title {
	font-size: 2.4rem;
	font-weight: 700;
}

.p-flow__text {
	flex: 1;
}

.p-cpBnr {
	margin-bottom: 6rem;
}

.p-cpBnr a {
	margin-inline: auto;
	max-width: 60rem;
	transition: opacity 0.3s ease;
}

.p-cpBnr a:hover {
	opacity: 0.7;
}

/* ===============================================
# トップページ
=============================================== */

/* ===============================================
# トップページ共通
=============================================== */

/* ===============================================
# 導入事例
=============================================== */

.top-case__list {
	display: flex;
	gap: 4.4rem;
}

.top-case__list.column2 {
	margin: 0 1rem;
}

.top-case__item {
	background: rgba(110, 187, 255, 0.15);
	display: flex;
	flex-direction: column;
	width: 36.4rem;
}

.top-case__itemImg {
	border-bottom: 4px solid #3280C4;
}

.top-case__itemCatch {
	color: #3280C4;
	font-size: 2.2rem;
	font-weight: 700;
	margin-top: 2.5rem;
	padding: 0 2.5rem;
	text-align: center;
}

.top-case__itemTitle {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.46;
	margin-top: 0.5rem;
	padding: 0 2.5rem;
	text-align: center;
}

.top-case__itemText {
	flex-grow: 1;
	margin-top: 1.5rem;
	padding: 0 2.5rem;
}

.top-case__itemName {
	margin: 1.6rem 2.5rem 2.5rem;
	text-align: right;
}

/* ===============================================
# point
=============================================== */

.top-point {
	margin-top: 10rem;
}

.top-point__title {
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.top-point__title span {
	color: #3280C4;
	display: block;
}

.top-point__list {
	background: rgba(110, 187, 255, 0.15);
	padding: 4.4rem;
}

.top-point__item {
	background: #fff;
	padding: 3.6rem 7.6rem 4.4rem 7.2rem;
	position: relative;
}

.top-point__item:not(:first-of-type) {
	margin-top: 4.4rem;
}

.top-point__icon {
	align-items: center;
	background: #3280C4;
	border-radius: 999px;
	color: #fff;
	display: flex;
	flex-direction: column;
	font-family: "Poppins", sans-serif;
	height: 8.8rem;
	justify-content: center;
	left: -2rem;
	padding-top: 1rem;
	position: absolute;
	top: -2rem;
	width: 8.8rem;
}

.top-point__iconEn {
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.012em;
}

.top-point__iconNum {
	font-size: 5rem;
	font-weight: 700;
	margin-top: 0.5rem;
}

.top-point__itemTitle {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
}

.top-point__itemText {
	margin-top: 2.4rem;
}

/* ===============================================
# news
=============================================== */

.top-news__wrap {
	margin: 5.6rem auto 0;
	max-width: 94rem;
}

/* ===============================================
# faq
=============================================== */

/* ===============================================
# 詳細共通
=============================================== */

.pg-btn {
	display: flex;
	justify-content: center;
}

.pg-btn a {
	background: #F26283;
	border-radius: 999px;
	color: #fff;
	display: inline-block;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.44;
	min-width: 60rem;
	padding: 2rem 3.5rem 2rem 3rem;
	position: relative;
	text-align: center;
	transition: all 0.3s ease;
}

.pg-btn a.is-ls {
	letter-spacing: -0.03em;
}

.pg-btn a::after {
	background: url(../img/common/button-arrow.svg) no-repeat center center/contain;
	content: "";
	height: 2rem;
	position: absolute;
	right: 1.5rem;
	top: 51%;
	transform: translate(0, -50%);
	transition: all 0.3s ease;
	width: 1rem;
}

.pg-btn a:hover {
	background: #fff;
	border: 1px solid #F26283;
	color: #F26283;
}

.pg-btn a:hover::after {
	background: url(../img/common/button-arrow_pink.svg) no-repeat center center/contain;
}

.pg-btn__mt {
	margin-top: 10rem;
}

.preWrap {
	line-break: normal;
	white-space: pre-wrap;
}

/* ===============================================
# 詳細個別
=============================================== */

/* ===============================================
# fv
=============================================== */

.pg-pageFv {
	height: 27rem;
	margin-top: 8rem;
	position: relative;
}

.pg-pageFv__img {
	height: 100%;
	width: 100%;
}

.pg-pageFv__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.pg-pageFv__back {
	align-items: center;
	background: rgba(19, 35, 58, 0.6);
	display: flex;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.pg-pageFv__head {
	background: #3280C4;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	padding: 1.8rem 1.5rem;
	width: -moz-fit-content;
	width: fit-content;
}

.pg-pageFv__title {
	color: #fff;
	font-size: 4.4rem;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 2rem;
	text-shadow: 0 0 10px #13233A;
}

.pg-pageFv__read {
	color: #6EBBFF;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 1.5rem;
	text-shadow: 0 0 8px #13233A;
}

/* ===============================================
# head
=============================================== */

.pg-pageHead {
	margin-top: 10rem;
}

.pg-pageHead__wrap {
	background: rgba(110, 187, 255, 0.15);
	padding: 4.4rem;
}

.pg-pageHead__list {
	padding-bottom: 3.6rem;
}

.pg-pageHead__list:not(:first-child) {
	border-top: 1px dashed #000;
	padding-top: 3.6rem;
}

.pg-pageHead__list ul {
	margin-top: 2.5rem;
}

.pg-pageHead__list ul li {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	padding-left: 2.55rem;
	position: relative;
}

.pg-pageHead__list ul li::after {
	background: url(../img/common/check-icon2.svg) no-repeat center center/contain;
	content: "";
	height: 1.2rem;
	left: 0;
	position: absolute;
	top: 1.2rem;
	width: 2rem;
}

.pg-pageHead__list ul li:not(:first-child) {
	margin-top: 1rem;
}

.pg-pageHead__listTitle {
	color: #3280C4;
	font-size: 3rem;
	font-weight: 700;
}

.pg-pageHead__change {
	-moz-column-gap: 4.2rem;
	column-gap: 4.2rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.pg-pageHead__changeBox {
	background: #fff;
	padding: 4.4rem;
}

.pg-pageHead__changeTag {
	align-items: center;
	border-radius: 2.6rem;
	color: #fff;
	display: flex;
	font-size: 2.4rem;
	font-weight: 700;
	height: 5.2rem;
	justify-content: center;
	margin: 0 auto;
	width: 26.3rem;
}

.pg-pageHead__changeTag.is-before {
	background: #707070;
}

.pg-pageHead__changeTag.is-after {
	background: #3280C4;
}

.pg-pageHead__changeImg {
	margin: 2.4rem auto 0;
	width: 16.8rem;
}

.pg-pageHead__changeList {
	margin-top: 2.4rem;
}

.pg-pageHead__changeList li {
	padding-left: 2.4rem;
	position: relative;
}

.pg-pageHead__changeList li::after {
	background: #3280C4;
	border-radius: 999px;
	content: "";
	height: 1.6rem;
	left: 0;
	position: absolute;
	top: 0.8rem;
	width: 1.6rem;
}

.pg-pageHead__changeList li:not(:first-child) {
	margin-top: 1.6rem;
}

/* ===============================================
# Character
=============================================== */

.pg-pageCara__wrap {
	margin-top: 7.3rem;
}

.pg-pageCara__list {
	-moz-column-gap: 4.2rem;
	column-gap: 4.2rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	row-gap: 6rem;
}

.pg-pageCara__item {
	background: rgba(110, 187, 255, 0.15);
	padding: 0 3rem 3rem 3rem;
}

.pg-pageCara__tag {
	align-items: center;
	background: #3280C4;
	color: #fff;
	display: flex;
	font-size: 1.6rem;
	font-weight: 700;
	height: 3.4rem;
	justify-content: center;
	margin: 0 auto;
	transform: translate(0, -50%);
	width: 10rem;
}

.pg-pageCara__title {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.pg-pageCara__img {
	aspect-ratio: 276/170;
	margin-top: 1.5rem;
}

.pg-pageCara__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.pg-pageCara__text {
	margin-top: 1.6rem;
}

/* ===============================================
# ボーダーボックス
=============================================== */

.pg-pageBorder {
	border: 1px solid #707070;
	border-radius: 1rem;
	padding: 5.6rem 4.4rem 4.4rem 4.4rem;
	position: relative;
}

.pg-pageBorder__title {
	background: #fff;
	font-size: 3.2rem;
	font-weight: 700;
	left: 50%;
	padding: 0 1.5rem;
	position: absolute;
	top: 0;
	transform: translate(-50%, -50%);
	white-space: nowrap;
}

.pg-pageBorder__subTitle {
	color: #F00;
	font-size: 2.4rem;
	margin-bottom: 4rem;
	position: relative;
	text-align: center;
}

.pg-pageBorder__subTitle span {
	display: inline-block;
	padding: 0 2rem;
	position: relative;
}

.pg-pageBorder__subTitle span::after,
.pg-pageBorder__subTitle span::before {
	background: #f00;
	content: "";
	height: 2.5rem;
	position: absolute;
	top: 60%;
	width: 0.1rem;
}

.pg-pageBorder__subTitle span::after {
	left: 0;
	transform: translate(0, -50%) rotate(-40deg);
}

.pg-pageBorder__subTitle span::before {
	right: 0;
	transform: translate(0, -50%) rotate(40deg);
}

.pg-pageCarr {
	margin-top: 2rem;
}

.pg-pageSch {
	margin-top: 12.4rem;
}

.pg-pageSch__box {
	border-bottom: 1px dashed #707070;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	width: 55rem;
}

.pg-pageSch__box:not(:first-child) {
	padding-top: 2.3rem;
}

.pg-pageSch__title {
	font-size: 2.4rem;
	font-weight: 700;
	padding-left: 1.6rem;
	width: 16rem;
}

.pg-pageSch__list {
	flex: 1;
	font-size: 2.4rem;
	line-height: 1.2;
}

.pg-pageSch__list li {
	padding: 2.3rem 0;
}

.pg-pageSch__list li:first-child {
	padding-top: 0;
}

.pg-pageSch__list li:not(:first-child) {
	border-top: 1px dashed #707070;
}

.pg-pagePrice {
	margin-top: 8rem;
}

.pg-pagePrice__text {
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
}

/* ===============================================
# Voice
=============================================== */

.pg-pageVoice__list {
	background: rgba(110, 187, 255, 0.15);
	padding: 4.4rem;
}

.pg-pageVoice__item {
	-moz-column-gap: 4.4rem;
	align-items: center;
	background: #fff;
	column-gap: 4.4rem;
	display: flex;
	padding: 4.4rem;
}

.pg-pageVoice__item:not(:first-child) {
	margin-top: 4.4rem;
}

.pg-pageVoice__body {
	flex: 1;
}

.pg-pageVoice__name {
	color: #3280C4;
	font-size: 2.2rem;
	font-weight: 700;
}

.pg-pageVoice__title {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 1rem;
}

.pg-pageVoice__text {
	margin-top: 2.4rem;
}

.pg-pageVoice__img {
	aspect-ratio: 290/212;
	height: 21.2rem;
	width: 29rem;
}

.pg-pageVoice__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

/* ===============================================
# pageFaq
=============================================== */

.pg-pageFaq .p-faq__body {
	margin: 0;
}

.pg-pageFaq .p-faq__body dt {
	margin-left: 7.1rem;
}

.pg-pageFaq .p-faq__body dd {
	margin-left: 7.1rem;
}

/* ===============================================
# footer
=============================================== */

.pg-pageFooter {
	margin-bottom: 10rem;
}

.pg-pageFooter__box {
	border-top: 1px dashed #707070;
	padding: 1.6rem 0;
}

.pg-pageFooter__head {
	color: #3280C4;
	font-weight: 700;
}

.pg-pageFooter__body {
	margin-top: 2rem;
}

.pg-pageFooter__list {
	-moz-column-gap: 4rem;
	column-gap: 4rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	row-gap: 1.6rem;
}

.pg-pageFooter__item a {
	letter-spacing: -0.01em;
	line-height: 1.66;
	padding-left: 1.6rem;
	position: relative;
	transition: opacity 0.3s ease;
}

.pg-pageFooter__item a::after {
	-webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background: #3280C4;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	content: "";
	height: 1rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	transition: left 0.3s ease;
	width: 0.8rem;
}

.pg-pageFooter__item a:hover {
	opacity: 0.7;
}

.pg-pageFooter__item a:hover::after {
	left: 0.5rem;
}

.pg-404 {
	margin: 10rem 0;
}

.pg-404__wrapper {
	font-family: "Poppins", sans-serif;
	text-align: center;
}

.pg-404__title {
	font-size: 14rem;
}

.pg-404__subTitle {
	font-size: 6rem;
}

.pg-404__text {
	text-align: center;
}

.pg-404__text p {
	font-size: 2rem;
	line-height: 1.5;
	margin-top: 1.5rem;
}

.pg-404__btn {
	margin: 6rem auto 0;
	max-width: 100%;
	width: 34rem;
}

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

@media (min-width: 768px) {

html {
	font-size: 0.8064516129vw;
}

.p-drawer {
	display: none;
}

.top-faq__wrap {
	margin-top: 6.4rem;
}

#page .l-inner {
	width: 109.2rem;
}

.pg-pageFooter__body .p-training {
	gap: 4.2rem;
	justify-content: start;
}

.pg-pageFooter__body .p-training__catch {
	font-size: 1.6rem;
	margin-top: 1.6rem;
	padding: 0 1.6rem;
}

.pg-pageFooter__body .p-training__title {
	font-size: 1.8rem;
	padding: 0 1.6rem;
}

.pg-pageFooter__body .p-training__btn {
	font-size: 1.6rem;
	height: 4rem;
	margin: 2rem auto 2.4rem;
	width: 20rem;
}

.pc-only {
	display: block;
}

.sp-only {
	display: none !important;
}

}

@media (min-width: 1240px) {

html {
	font-size: 10px;
}

a[href^="tel:"] {
	pointer-events: none;
}

}

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

.p-header__subTitle {
	font-size: min(1.6vw, 2.4rem);
	margin-left: min(2vw, 3rem);
}

}

@media (max-width: 767px) {

html {
	font-size: min(2.6666666667vw, 13.3333333333px);
}

body {
	font-size: 1.6rem;
}

.l-inner {
	width: 34.3rem;
}

.c-title {
	padding-bottom: 1.5rem;
}

.c-title::after {
	height: 0.4rem;
	width: 4.5rem;
}

.c-title.is-single {
	padding-bottom: 1.5rem;
}

.c-title__main {
	font-size: 2.6rem;
}

.c-title__sub {
	font-size: 2.2rem;
	line-height: 1.27;
	margin-top: 1.2rem;
	text-align: center !important;
}

.c-tel__number {
	padding-top: 0.7rem;
}

.c-tel__time {
	margin: 0;
}

.p-header {
	height: 6.4rem;
}

.p-header__inner {
	padding: 0 2rem;
}

.p-header__logo {
	width: 18rem;
}

.p-header__nav {
	display: none;
}

.p-header__telIcon {
	display: block;
	height: 5rem;
	position: fixed;
	right: 5.3rem;
	top: 0.7rem;
	width: 5rem;
}

.p-footer {
	padding: 6rem 0 2rem;
}

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

.p-footer__subTitle {
	font-size: 2.4rem;
	margin: 1rem 0 0;
	text-align: center;
}

.p-footer__tel {
	margin: 3rem auto 0;
}

.p-footer__menu {
	flex-direction: column;
	row-gap: 2rem;
}

.p-footer__lowLink {
	white-space: normal;
}

.p-footer__copy {
	font-size: 1rem;
}

.p-hamburger {
	display: block;
	height: 1.5rem;
	position: fixed;
	right: 1.6rem;
	top: 2.3rem;
	width: 2.1rem;
}

.section-space {
	padding: 3.2rem 0;
}

.section-wrap {
	margin-top: 2.4rem;
}

.pTag {
	line-height: 1.4375;
}

.p-fv {
	margin-top: 6rem;
}

.p-fv__img {
	padding-bottom: 7.5rem;
	padding-top: 8.5rem;
}

.p-fv__textWrap {
	height: 100%;
	left: 0;
	padding: 1rem 1.6rem;
	top: 0;
	width: 100%;
}

.p-fv__catch {
	font-size: 7.7333333333vw;
	letter-spacing: -0.02em;
	white-space: nowrap;
}

.p-fv__title {
	font-size: 11.4666666667vw;
	line-height: 1.2;
	margin-top: 1rem;
	text-align: right;
}

.p-fv__lead {
	bottom: 1rem;
	left: 0;
	padding: 0 1.6rem;
	position: absolute;
	width: 100%;
}

.p-fv__leadItem {
	display: flex;
}

.p-fv__leadItem:nth-child(1) {
	justify-content: end;
}

.p-fv__leadItem:nth-child(2) {
	justify-content: center;
	margin-left: 5.6vw;
}

.p-fv__leadItem:nth-child(3) {
	justify-content: start;
}

.p-fv__leadItem span {
	font-size: 4.8vw;
	letter-spacing: -0.058em;
	line-height: 1.22;
	padding: 0.4rem 0.8rem 0.4rem 3.4rem;
}

.p-fv__leadItem span::after {
	height: 2rem;
	left: 0.8rem;
	top: 0.6rem;
	transform: translate(0);
	width: 2rem;
}

.p-fvPage__textWrap {
	padding: 6rem 0;
}

.p-fvPage__titleEN {
	font-size: 3.6rem;
}

.p-fvPage__titleJP {
	font-size: 1.8rem;
	margin-top: 0.4rem;
}

.p-fvPageBg {
	height: auto;
	padding: 0;
}

.p-fvPageBg__textWrap {
	height: auto;
	max-width: none;
	padding: 24vw 5vw;
}

.p-fvPageBg__titleEN {
	font-size: 3.6rem;
}

.p-fvPageBg__titleJP {
	font-size: 1.8rem;
	margin-top: 0.4rem;
}

.p-fvPageBg__img img {
	left: 2rem;
	width: calc(100% - 4rem);
}

.p-breadcrumb {
	font-size: 1rem;
	margin-top: 7rem;
}

.p-pageLink {
	margin-bottom: 10rem 0;
}

.p-pageLink__list {
	gap: 4rem;
}

.p-pageLink__link {
	font-size: 1.6rem;
	text-align: center;
}

.p-pageLink__link::after {
	height: 1.2rem;
	width: 1.2rem;
}

.p-single__contents {
	flex-direction: column;
	row-gap: 8rem;
}

.p-single__title {
	font-size: 2rem;
	margin: 2rem 0 0;
	padding: 2rem 1.5rem;
	width: 100%;
}

#toc_container {
	margin-bottom: 6rem;
}

.p-single__body {
	margin-top: 6rem;
	padding-bottom: 2rem;
}

.p-single__body h2 {
	font-size: 1.9rem;
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
}

.p-single__body h2:not(:first-of-type) {
	margin-top: 2rem;
	padding-top: 6rem;
}

.p-single__body h3 {
	font-size: 1.7rem;
	margin: 3rem 0 1.4rem;
}

.p-single__body h4 {
	font-size: 1.4rem;
}

.p-single__body p {
	font-size: 1.6rem;
}

.p-single__body img {
	margin: 2rem 0;
}

.p-single__body ul li {
	font-size: 1.6rem;
}

.p-single__body ol li {
	font-size: 1.6rem;
}

.p-single__body table {
	font-size: 1.6rem;
}

.p-archive {
	padding: 3rem 0 5rem;
}

.p-archiveFv {
	font-size: 2.2rem;
}

.p-archive__flex {
	flex-direction: column;
	gap: 6rem;
}

.p-archive__right {
	width: 100%;
}

.p-archiveLink__list {
	margin-left: -1.5rem;
}

.p-archiveLink__listLink {
	font-size: 1.4rem;
	padding: 0 1.5rem;
}

.p-archive__wrap {
	margin-top: 3rem;
}

.p-archiveNews__list {
	grid-template-columns: 1fr;
}

.p-archive__boxTitle {
	font-size: 2rem;
}

.p-archive__boxText {
	font-size: 1.5rem;
}

.p-archive__pager {
	margin-top: 4rem;
}

.p-archive__pagination ul li .prev {
	height: 1.3rem;
	width: 5rem;
}

.p-archive__pagination ul li .next {
	height: 1.3rem;
	width: 5rem;
}

.p-training {
	gap: 2.4rem;
}

.p-training__item {
	width: 100%;
}

.p-training__catch {
	padding: 0 1.6rem;
}

.p-training__title {
	font-size: 2rem;
	line-height: 1.3;
	padding: 0 1.6rem;
}

.p-training__text {
	padding: 0 1.6rem;
}

.p-training__btn {
	height: 5.8rem;
	margin: 2.2rem 1.6rem 3rem;
}

.p-faq__body {
	margin: 0 0 0 5.5rem;
	padding: 2.4rem 0;
}

.p-faq__body dt {
	font-size: 1.8rem;
}

.p-faq__body dt::after {
	height: 4.5rem;
	left: -5.5rem;
	top: -0.9rem;
	width: 4.5rem;
}

.p-faq__body dt::before {
	font-size: 3rem;
	height: 4.5rem;
	left: -4.5rem;
	top: -0.6rem;
	width: 4.5rem;
}

.p-faq__body dd {
	margin: 1rem 0 0 3rem;
}

.p-news__item a {
	align-items: start;
	flex-direction: column;
	padding: 1.8rem 0;
	row-gap: 1rem;
}

.p-news__info {
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
}

.p-news__cat {
	max-width: 70%;
	padding: 0.5rem 1.5rem;
	text-align: left;
	width: auto;
}

.p-flow__box {
	flex-direction: column;
	padding: 1.6rem;
	row-gap: 1rem;
}

.p-flow__num {
	font-size: 1.6rem;
	height: 2.8rem;
	width: 2.8rem;
}

.p-flow__title {
	font-size: 2rem;
}

.p-cpBnr {
	margin-bottom: 3rem;
}

.top-case__list {
	flex-direction: column;
	gap: 2.4rem;
}

.top-case__item {
	width: 100%;
}

.top-point {
	margin-top: 6rem;
}

.top-point__title {
	font-size: 2.4rem;
}

.top-point__list {
	padding: 4.5rem 2rem 2rem;
}

.top-point__item {
	padding: 3.5rem 2rem 2.5rem 2rem;
}

.top-point__icon {
	height: 6rem;
	left: -1rem;
	top: -3rem;
	width: 6rem;
}

.top-point__iconEn {
	font-size: 1rem;
}

.top-point__iconNum {
	font-size: 3rem;
	margin-top: 0.2rem;
}

.top-point__itemTitle {
	font-size: 2rem;
}

.top-point__itemText {
	margin-top: 1.5rem;
}

.pg-btn a {
	font-size: 1.6rem;
	line-height: 1.375;
	min-width: 31rem;
	padding: 0.8rem;
}

.pg-btn__mt {
	margin-top: 3rem;
}

.preWrap {
	white-space: normal;
}

.pg-pageFv {
	height: 25rem;
	margin-top: 6rem;
}

.pg-pageFv__head {
	font-size: 2rem;
	padding: 1.3rem 0.6rem;
}

.pg-pageFv__title {
	font-size: 2.6rem;
	line-height: 1.42;
	margin-top: 1.5rem;
}

.pg-pageFv__read {
	font-size: 2rem;
	line-height: 1.5;
	margin-top: 1.5rem;
}

.pg-pageHead {
	margin-top: 3.2rem;
}

.pg-pageHead__wrap {
	margin: 3.2rem -1.6rem;
	padding: 2.4rem 1.6rem;
}

.pg-pageHead__list {
	padding-bottom: 2.4rem;
}

.pg-pageHead__list:not(:first-child) {
	padding-top: 2.8rem;
}

.pg-pageHead__list ul {
	margin-top: 1.5rem;
}

.pg-pageHead__list ul li {
	font-size: 1.8rem;
	line-height: 1.44;
	padding-left: 2.2rem;
}

.pg-pageHead__list ul li::after {
	height: 1.1rem;
	top: 0.7rem;
	width: 1.8rem;
}

.pg-pageHead__list ul li:not(:first-child) {
	margin-top: 1.2rem;
}

.pg-pageHead__listTitle {
	font-size: 2rem;
}

.pg-pageHead__change {
	grid-template-columns: 1fr;
	row-gap: 2.4rem;
}

.pg-pageHead__changeBox {
	padding: 1.6rem;
}

.pg-pageHead__changeTag {
	font-size: 1.8rem;
	height: 4rem;
	width: 17.3rem;
}

.pg-pageHead__changeImg {
	margin: 1.6rem auto 0;
	width: 13.5rem;
}

.pg-pageHead__changeImg.is-before {
	transform: translateX(1.6rem);
}

.pg-pageHead__changeList {
	margin-top: 1.8rem;
}

.pg-pageHead__changeList li::after {
	top: 0.5rem;
}

.pg-pageHead__changeList li:not(:first-child) {
	margin-top: 1.8rem;
}

.pg-pageCara__wrap {
	margin-top: 5.2rem;
}

.pg-pageCara__list {
	grid-template-columns: 1fr;
	row-gap: 4.4rem;
}

.pg-pageCara__item {
	padding: 0 1.6rem 2.4rem 1.6rem;
}

.pg-pageBorder {
	padding: 2.8rem 1.6rem 2.4rem 1.6rem;
}

.pg-pageBorder__title {
	font-size: 2rem;
}

.pg-pageBorder__subTitle {
	font-size: 1.6rem;
	margin-bottom: 2.5rem;
}

.pg-pageSch {
	margin-top: 3.6rem;
}

.pg-pageSch__box {
	flex-direction: column;
	row-gap: 2rem;
	width: 100%;
}

.pg-pageSch__title {
	font-size: 1.8rem;
	padding: 0;
}

.pg-pageSch__list {
	font-size: 1.7rem;
}

.pg-pageSch__list li {
	padding: 1.5rem 0;
}

.pg-pagePrice {
	margin-top: 3.2rem;
}

.pg-pagePrice__text {
	font-size: 1.6rem;
}

.pg-pageVoice__list {
	padding: 1.6rem;
}

.pg-pageVoice__item {
	flex-direction: column;
	padding: 1.6rem;
	row-gap: 1.6rem;
}

.pg-pageVoice__item:not(:first-child) {
	margin-top: 2.4rem;
}

.pg-pageVoice__name {
	font-size: 1.8rem;
}

.pg-pageVoice__title {
	font-size: 1.8rem;
}

.pg-pageVoice__text {
	margin-top: 1.6rem;
}

.pg-pageVoice__img {
	height: auto;
	width: 100%;
}

.pg-pageFaq .p-faq__body dt {
	margin-left: 6rem;
}

.pg-pageFaq .p-faq__body dd {
	margin-left: 6rem;
}

.pg-pageFooter {
	margin-bottom: 3.2rem;
}

.pg-pageFooter__list {
	grid-template-columns: 1fr;
}

.pg-404__title {
	font-size: 8rem;
}

.pg-404__subTitle {
	font-size: 4rem;
}

.pg-404__text p {
	font-size: 1.8rem;
}

.pc-only {
	display: none !important;
}

.sp-only {
	display: block;
}

.u-space1 {
	display: block;
	height: 1rem;
}

.u-space2 {
	display: block;
	height: 2rem;
}

}

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

#toc_container {
	min-width: auto;
	padding: 1em 3vw;
	width: 100% !important;
}

#toc_container p.toc_title + ul.toc_list {
	margin-top: 1em;
	padding: 20px 0 0;
}

#toc_container ul.toc_list > li > ul {
	margin-left: 30px;
}

}

