@charset "UTF-8";

/* ---------------------------------
 Top
--------------------------------- */
#header {
	background-color: #fff;
}
#top {
	height: 64px;
}

/* ---------------------------------
 Page Title
--------------------------------- */
#pageTitle__outer {
	display: flex;
	align-items: center;
	width: 100%;
	height: 300px;
	background-image: url("../img/header/meeting_room.webp");
	background-repeat: no-repeat;
	background-position: center 17%;
	background-size: cover;
	color: #fff;
}
#pageTitle {
	letter-spacing: 3px;
	text-shadow:
		 1px  1px 5px rgba(0, 0, 34, 0.5),
		 1px -1px 5px rgba(0, 0, 34, 0.5),
		-1px  1px 5px rgba(0, 0, 34, 0.5),
		-1px -1px 5px rgba(0, 0, 34, 0.5),
		 0px  0px 5px rgba(0, 0, 34, 0.5),
		 0px -0px 5px rgba(0, 0, 34, 0.5),
		-0px  0px 5px rgba(0, 0, 34, 0.5),
		-0px -0px 5px rgba(0, 0, 34, 0.5);
	font-size: 44px;
}

/* ---------------------------------
 Breadcrumbs
--------------------------------- */
.breadcrumbs {
	margin: 0 auto 30px;
	padding: 6px 0 4px;
	line-height: 1.8;
	font-size: 15px;
	color: #000;
}
.breadcrumbs a {
	transition: color 0.4s ease;
	text-decoration: none;
	color: #000;
}
.breadcrumbs a:hover {
	color: var(--bright-blue);
}
.breadcrumb li:first-child::before {
	transition: background-color 0.4s ease;
	display: inline-block;
	content: "";
	width: 15px;
	height: 15px;
	margin: 0 3px 0 0;
	background-color: #000;
	mask: url("../img/icon/icon-home.svg") no-repeat 50% 50% / contain;
	-webkit-mask: url("../img/icon/icon-home.svg") no-repeat 50% 50% / contain;
	vertical-align: -2px;
}
.breadcrumb li:first-child:hover::before {
	background-color: var(--bright-blue);
}
.breadcrumb ul {
	list-style-type: none;
}
.breadcrumb ul li {
	display: inline-block;
	margin: 0 4px 0 0;
}

/* ---------------------------------
 Main
--------------------------------- */
#outerColumn {
	display: flex;
	justify-content: space-between;
}
#outerColumn.skin {
	margin: 50px auto;
}
#mainColumn {
	flex: 0 0 calc( 100% - 300px - 75px );
}
#sideColumn {
	flex: 0 0 300px;
}
.fullScreen #mainColumn {
	flex: 0 0 100%;
	padding: 0 20px;
}

/* ---------------------------------
 Core Contents
--------------------------------- */
.coreContents {
	position: relative;
	margin: 0 0 100px;
}
.coreContents p { 
	margin: 0 0 30px;
	line-height: 1.9;
	font-weight: 500;
	font-size: 17px;
}
.coreContents dl {
	margin: 0 0 30px;
	line-height: 1.9;
	font-weight: 500;
	font-size: 17px;
}
.coreContents ul {
	margin: 0 0 30px 30px;
	font-weight: 500;
	font-size: 17px;
}
.coreContents ul li {
	margin: 0 0 10px;
}

/* h3 */
.coreContents div:has(+ :is(h3)) {
	margin: 0 0 130px;
}
.coreContents p:has(+ :is(h3)) {
	margin: 0 0 130px;
}
.coreContents ul:has(+ :is(h3)) {
	margin: 0 0 130px 30px;
}
.coreContents ol:has(+ :is(h3)) {
	margin: 0 0 130px 30px;
}
.coreContents table:has(+ :is(h3)) {
	margin: 0 0 130px;
}
.coreContents dl:has(+ :is(h3)) {
	margin: 0 0 130px;
}

/* h4 */
.coreContents div:has(+ :is(h4)) {
	margin: 0 0 100px;
}
.coreContents p:has(+ :is(h4)) {
	margin: 0 0 100px;
}
.coreContents ul:has(+ :is(h4)) {
	margin: 0 0 100px 30px;
}
.coreContents ol:has(+ :is(h4)) {
	margin: 0 0 100px 30px;
}
.coreContents table:has(+ :is(h4)) {
	margin: 0 0 100px;
}
.coreContents dl:has(+ :is(h4)) {
	margin: 0 0 100px;
}

/* h5 h6 */
.coreContents div:has(+ :is(h5, h6)) {
	margin: 0 0 40px;
}
.coreContents p:has(+ :is(h5, h6)) {
	margin: 0 0 40px;
}
.coreContents ul:has(+ :is(h5, h6)) {
	margin: 0 0 40px 30px;
}
.coreContents ol:has(+ :is(h5, h6)) {
	margin: 0 0 40px 30px;
}
.coreContents table:has(+ :is(h5, h6)) {
	margin: 0 0 40px;
}
.coreContents dl:has(+ :is(h5, h6)) {
	margin: 0 0 40px;
}

.coreContents h3 {
	position: relative;
	margin: 0 0 100px;
	text-align: center;
	letter-spacing: 3px;
	font-weight: 700;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	font-size: 36px;
}
.coreContents h3::after {
	position: relative;
	display: block;
	content: "";
	width: 100px;
	height: 3px;
	margin: 11px auto 0;
	background-color: var(--dull-blue);
}
.coreContents h4 {
	position: relative;
	top: 3px;
	margin: 0 0 50px;
	padding: 22px 0;
	background-color: var(--pale-blue);
	text-align: center;
	font-weight: 700;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	font-size: 27px;
	color: var(--navy);
}
.coreContents h4::before {
	position: absolute;
	top: -3px;
	left: 0px;
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	background-color: #000;
}
.coreContents h4::after {
	position: absolute;
	bottom: -3px;
	left: 0px;
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	background-color: #000;
}
.coreContents h5 {
	position: relative;
	margin: 0 0 20px;
	font-weight: 600;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	font-size: 19px;
	color: var(--bright-blue);
}
.coreContents h5::before {
	position: relative;
	top: 2px;
	display: inline-block;
	content: "";
	width: 18px;
	height: 18px;
	margin: 0 7px 0 0;
	background-color: var(--navy);
	border-radius: 3px;
}
.coreContents h5.pink::before {
	background-color: var(--pink);
}
.coreContents h5.pin {
	color: var(--navy);
	font-size: 20px;
}
.coreContents h5.pin:before {
	position: relative;
	top: 2px;
	display: inline-block;
	content: "";
	width: 30px;
	height: 30px;
	margin: 0 1px 0 0;
	background-color: transparent;
	background-image: url("../img/icon/pin.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border-radius: 0;
}

/* Numbered Headings */
.numbered-h4 {
	counter-reset: my-counter;
}
.numbered-h4 h4 span::before {
	display: inline-block;
	content: counter(my-counter);
	counter-increment: my-counter;
	width: 36px;
	height: 36px;
	margin: 0 7px 0 0;
	background-color: var(--navy);
	line-height: 36px;
	text-align: center;
	text-indent: 1px;
	font-family:
		"Outfit",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	color: #fff;
}

.blue-frame {
	padding: 20px 20px;
	margin: 0 0 60px;
	border: solid 10px var(--pale-sky);
}
.coreContents .blue-frame p:last-child {
	margin: 0;
}
.coreContents figcaption {
	margin: 7px 0 0;
	text-align: center;
	font-weight: 600;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	font-size: 19px;
}
.coreContents figure {
	margin: 0 0 30px;
}
.coreContents figure img {
	display: block;
	margin: auto;
}
.coreContents em {
	font-weight: 600;
	color: var(--pink);
}
.standOut {
	display: block;
	text-align: center;
	font-weight: 600;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	font-size: 20px;
	color: var(--pink);
}

/* with pdf icon */
.link-pdf::after {
	content: '';
	display: inline-block;
	width: 20px;
	height: 30px;
	margin: 0 5px 0 7px;
	background-image: url("../img/icon/icon_pdf.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	vertical-align: -9px;
}

img.wide {
	max-width: 100%;
	width: 900px;
	height: auto;
}

img.shadow {
	filter: drop-shadow(1px  1px 1px rgba(0, 0, 0, 0.3));
}

/* ---------------------------------
 Flow
--------------------------------- */
.coreContents .flow > * {
	position: relative;
	padding: 10px 10px;
	margin: 0 0 50px;
	background-color: var(--water);
	text-align: center;
	font-size: 19px;
	font-weight: 700;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
}
.coreContents .flow > *::after {
	transform: rotate(90deg);
	position: absolute;
	bottom: -40px;
	left: calc( 50% - 15px );
	display: block;
	content: "";
	width: 30px;
	height: 30px;
	margin: 0 auto 0;
	background-color: var(--navy);
	mask: url("../img/icon/arrow_right_blue.svg") no-repeat 50% 50% / contain;
	-webkit-mask: url("../img/icon/arrow_right_blue.svg") no-repeat 50% 50% / contain;
	vertical-align: 0;
}
.coreContents .flow > *:last-child::after {
	display: none;
}

.down-arrow {
	position: relative;
	margin: 0 0 100px;
}
.down-arrow::after {
	transform: rotate(90deg);
	position: absolute;
	bottom: -70px;
	left: calc( 50% - 20px );
	display: block;
	content: "";
	width: 40px;
	height: 40px;
	margin: 0 auto 0;
	background-color: var(--navy);
	mask: url("../img/icon/arrow_right_blue.svg") no-repeat 50% 50% / contain;
	-webkit-mask: url("../img/icon/arrow_right_blue.svg") no-repeat 50% 50% / contain;
	vertical-align: 0;
}

/* ---------------------------------
 Flexbox
--------------------------------- */
.flexbox-2 {
	display: flex;
	justify-content: space-between;
	margin: 0 0 60px;
}
.flexbox-2 .flexbox-child {
	flex: 0 0 calc( 50% - 10px );
}
.flexbox-2 .flexbox-child--60per {
	flex: 0 0 calc( 60% - 10px );
}
.flexbox-2 .flexbox-child--40per {
	flex: 0 0 calc( 40% - 10px );
}
.flexbox-2 img {
	display: block;
	margin: auto;
}

.column-1 {
	display: grid;
	gap: 2px;
	grid-template-columns: repeat(1, 1fr);
}
.column-2 {
	display: grid;
	gap: 2px;
	grid-template-columns: repeat(2, 1fr);
}
.column-3 {
	display: grid;
	gap: 2px;
	grid-template-columns: repeat(3, 1fr);
}
.column-4 {
	display: grid;
	gap: 2px;
	grid-template-columns: repeat(4, 1fr);
}
.coreContents .column-1 p,
.coreContents .column-2 p,
.coreContents .column-3 p,
.coreContents .column-4 p {
	margin: 0;
}

/* ---------------------------------
 Button
--------------------------------- */
.btn {
	transition: background-color 0.4s ease;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	margin: 0;
	background-color: var(--navy);
	text-decoration: none;
	font-weight: 500;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	color: #fff;
}
.btn:hover {
	background-color: var(--bright-navy);
}
.btn span::before {
	position: absolute;
	top: calc( 50% - 4px );
	right: 9px;
	content: "";
	width: 7px;
	height: 10px;
	background-color: #fff;
	mask: url("../img/icon/gt_white.svg") no-repeat 50% 50% / contain;
	-webkit-mask: url("../img/icon/gt_white.svg") no-repeat 50% 50% / contain;
}

.round-button {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 400px;
	padding: 10px 10px;
	border: 2px solid var(--dull-blue);
	border-radius: 50px; 
	background-color: #fff;
	text-decoration: none;
	color: var(--dull-blue);
}
.round-button span {
	transition: 0.4s ease;
	position: relative;
	padding: 0;
	margin: 0 10px 0 0;
	font-weight: 600;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	font-size: 18px;
}
.round-button:hover span {
	margin: 0 20px 0 0;
}
.round-button span::after { /* svg */
	transition: 0.4s ease;
	position: absolute;
	top: calc( 50% - 10px );
	content: '';
	display: inline-block;
	width: 24px;
	height: 24px;
	margin: 0 0 0 10px;
	background-image: url("../img/icon/arrow_right_blue.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	vertical-align: 0;
}
.round-button:hover span::after {
	margin: 0 0 0 20px;
}

/* circle rivet */
.circle-rivet {
	transition: color 0.4s ease;
	text-decoration: none;
	font-weight: 700;
	color: var(--navy);
}
.circle-rivet span::before { /* insert by jquery */
	transition: background-color 0.4s ease;
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin: 0 4px 0 0;
	background-color: var(--navy);
	mask: url("../img/icon/circle-right.svg") no-repeat 50% 50% / contain;
	-webkit-mask: url("../img/icon/circle-right.svg") no-repeat 50% 50% / contain;
	vertical-align: -3px;
}
.circle-rivet:hover {
	color: var(--pink);
}
.circle-rivet:hover span:before {
	background-color: var(--pink);
}

.navy-button {
	transition: 0.4s ease;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 390px;
	height: 72px;
	background-color: var(--navy);
	line-height: 1.4;
	text-decoration: none;
	font-weight: 600;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	font-size: 17px;
	color: #fff;
}
.navy-button:hover {
	padding: 0 10px 0 0;
	background-color: var(--bright-navy);
}
.navy-button span::after {
	transition: 0.4s ease;
	position: absolute;
	top: calc( 50% - 6px );
	right: 15px;
	content: "";
	display: block;
	width: 25px;
	height: 10px;
	margin: 0 4px 0 0;
	background-color: #fff;
	mask: url("../img/icon/arrow_short_right_white.svg") no-repeat 50% 50% / contain;
	-webkit-mask: url("../img/icon/arrow_short_right_white.svg") no-repeat 50% 50% / contain;
}
.navy-button.download span::after {
	top: calc( 50% - 11px );
	right: 15px;
	width: 23px;
	height: 23px;
	margin: 0 4px 0 0;
	mask: url("../img/icon/icon_download.svg") no-repeat 50% 50% / contain;
	-webkit-mask: url("../img/icon/icon_download.svg") no-repeat 50% 50% / contain;
}
.navy-button:hover span::after {
	right: 10px;
}


/* ---------------------------------
 Table
--------------------------------- */
.coreContents table {
	max-width: 100%;
	width: 100%;
	margin: 0 auto 30px;
	border-collapse: collapse;
	border-top: solid 1px var(--light-silver);
}
.coreContents table th,
.coreContents table td {
	padding: 20px;
	border-bottom: solid 1px var(--light-silver);
	vertical-align: middle;
	font-size: 17px;
}
.coreContents table td {
	line-height: 1.9;
	background: #fff;
}
.coreContents table th {
	background-color: var(--pale-gray);
	color: #000;
}
.coreContents table tbody th {
	text-align: left;
}
.coreContents table thead th {
	background-color: #7ac1e6;
	text-align: center;
	text-shadow:
		 1px  1px 1px #fff,
		-1px  1px 1px #fff,
		 1px -1px 1px #fff,
		-1px -1px 1px #fff,
		 2px  2px 2px #fff,
		-2px  2px 2px #fff,
		 2px -2px 2px #fff,
		-2px -2px 2px #fff,
		 2px  2px 3px #fff,
		-2px  2px 3px #fff,
		 2px -2px 3px #fff,
		-2px -2px 3px #fff;
	color: #000;
}
.coreContents table thead th.dark {
	background-color: var(--turquoise);
}
body[id*="glossary"] thead tr th:nth-child(1),
body[id*="glossary"] tr td:nth-child(1),
body[id*="glossary"] thead tr th:nth-child(2),
body[id*="glossary"] tr td:nth-child(2) {
	border-right: solid 1px var(--light-gray);
}

.coreContents table.small-font th,
.coreContents table.small-font td {
	padding: 20px 10px;
	font-size: 14px;
}
.coreContents table td.pale {
	background-color: var(--pale-water);
}
.coreContents table th.center,
.coreContents table td.center {
	text-align: center;
}

.coreContents table .red {
	background-color: #fff8f8;
	font-weight: 600;
}
.coreContents table .yellow {
	background-color: #fffff6;
	font-weight: 600;
	color: #ff7200;
}
.coreContents table.swap-calendar thead th {
	padding: 20px 5px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	border-top: 1px solid #fff;
}
.coreContents table.swap-calendar tbody td {
	padding: 20px 7px;
	font-size: 15.5px;
}

.coreContents p.dot-frame {
	padding: 17px 20px;
	border: 1px dotted var(--gray);
}

.coreContents div.dot-frame p:last-child {
	margin: 0 0 0;
}
.coreContents div.dot-frame {
	display: table;
	padding: 17px 20px;
	border: 1px dotted var(--gray);
}
.coreContents div.dot-frame:has(+ :is(h4)) {
	margin: 0 0 100px;
}
.coreContents div.dot-frame:has(+ :is(h5, h6)) {
	margin: 0 0 40px;
}

.coreContents .central-placement {
	width: 100%;
	display: flex;
	justify-content: center;
}
.coreContents .central-placement:has(+ :is(h4)) {
	margin: 0 0 100px;
}
.coreContents .central-placement:has(+ :is(h5, h6)) {
	margin: 0 0 40px;
}

.coreContents .right-placement {
	width: 100%;
	display: flex;
	justify-content: flex-end;
}

/* ---------------------------------
 dl
--------------------------------- */
.blue-tab-frame dt {
	display: block;
	width: 150px;
	padding: 4px 3px 0;
	background-color: var(--light-sky);
	letter-spacing: 4px;
	text-align: center;
	font-weight: 600;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	font-size: 17px;
	color: #fff;
}
.blue-tab-frame dt::before {
	content: "";
	display: inline-block;
	width: 19px;
	height: 19px;
	margin: 0 5px 0 0;
	background-color: #fff;
	mask: url("../img/icon/alert_triangle.svg") no-repeat 50% 50% / contain;
	-webkit-mask: url("../img/icon/alert_triangle.svg") no-repeat 50% 50% / contain;
	vertical-align: -3px;
}
.blue-tab-frame dd {
	padding: 17px 20px;
	border: 5px solid var(--light-sky);
	line-height: 1.9;
	font-size: 17px;
}
.coreContents .blue-tab-frame dd ul:last-child {
	margin: 0 0 0 30px;
}
.coreContents .blue-tab-frame dd ul:last-child li:last-child {
	margin: 0;
}
.coreContents .blue-tab-frame dd p:last-child {
	margin: 0;
}
.coreContents .blue-back p:last-child {
	margin: 0;
}
.blue-back {
	padding: 20px;
	margin: 0 0 30px;
	background-color: var(--water);
}
.coreContents .blue-back ul:last-child {
	margin: 0 0 0 30px;
}
.coreContents .blue-back ul:last-child li:last-child {
	margin: 0;
}

/* Contact Point */
.coreContents .contact-point {
	max-width: 100%;
	width: 600px;
	margin: 0 auto 30px;
}
.coreContents .contact-point p {
	margin: 0;
}
.coreContents .contact-point.wide {
	width: 100%;
}
.contact-point dt {
	padding: 13px 0 0;
	border-top-left-radius : 5px;
	border-top-right-radius : 5px;
	background-color: var(--pale-silver);
	line-height: 1;
	letter-spacing: 2px;
	text-align: center;
	font-weight: 600;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	font-size: 20px;
	color: #000;
}
.contact-point dd {
	padding: 20px;
	border: 12px solid var(--pale-silver);
	border-bottom-left-radius : 5px;
	border-bottom-right-radius : 5px;
	text-align: center;
}
.contact-point .tel-number {
	letter-spacing: 2px;
	font-weight: 600;
	font-family:
		"Outfit",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	font-size: 36px;
}
.contact-point .tel-number::before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 6px;
	background-image: url("../img/icon/telphone_boldline.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	vertical-align: -1px;
}
.contact-point .tel-number small {
	font-size: 64%;
}
.help-desk::before {
	content: '';
	display: inline-block;
	width: 40px;
	height: 30px;
	margin-right: 6px;
	background-image: url("../img/icon/help_desk.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	vertical-align: -6px;
}
.contact-point .popup-mailer { /* a */
	transition: background-color 0.4s ease;
	display: block;
	width: 275px;
	padding: 5px 0 6px;
	margin: 20px auto 0;
	background-color: var(--navy);
	text-decoration: none;
	text-align: center;
	font-weight: 600;
	font-family:
		"Noto Sans JP",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	color: #fff;
}
.contact-point .popup-mailer:hover {
	background-color: var(--bright-navy);
}
.contact-point .popup-mailer::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 16px;
	margin: 0 9px 0 0;
	background-color: #fff;
	mask: url("../img/icon/mail.svg") no-repeat 50% 50% / contain;
	-webkit-mask: url("../img/icon/mail.svg") no-repeat 50% 50% / contain;
	vertical-align: -2px;
}
.coreContents .contact-point:has(+ :is(h3)) {
	margin: 0 auto 130px;
}
.coreContents .contact-point:has(+ :is(h4)) {
	margin: 0 auto 100px;
}
.coreContents .contact-point:has(+ :is(h5, h6)) {
	margin: 0 auto 40px;
}

/* ---------------------------------
 ol
--------------------------------- */
.coreContents ol {
	margin: 0 0 30px 30px;
}
.coreContents ol li {
	margin: 0 0 15px;
	line-height: 1.9;
	font-weight: 500;
	font-size: 17px;
}
.coreContents ol li ul {
	margin: 10px 0 30px 30px;
}
.coreContents ol li ul li {
	margin: 0;
}

/* ---------------------------------
 Number List
--------------------------------- */
.number-list {
	counter-reset: my-counter;
	list-style-type: none;
	margin: 0 0 30px;
}
.coreContents .number-list h5::before {
	position: relative;
	top: 0;
	content: counter(my-counter);
	counter-increment: my-counter;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 27px;
	width: 26px;
	margin: 0 7px 0 0;
	padding: 0 0 0 1px;
	background-color: var(--navy);
	border-radius: 3px;
	text-align: center;
	font-family:
		"Outfit",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	font-size: 17px;
	color: #fff;
}

ol.number-list {
	counter-reset: my-counter;
	list-style-type: none;
	margin: 0 0 30px;
}
.coreContents ol.number-list li {
	position: relative;
	padding: 0 0 0 37px;
}
.coreContents ol.number-list li::before {
	position: absolute;
	top: 2px;
	left: 0;
	content: counter(my-counter);
	counter-increment: my-counter;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 27px;
	width: 26px;
	margin: 0 7px 0 0;
	padding: 0 0 0 1px;
	background-color: var(--navy);
	border-radius: 3px;
	text-align: center;
	font-family:
		"Outfit",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	font-size: 17px;
	color: #fff;
}
.coreContents ol.number-list:has(+ :is(h4)) {
	margin: 0 0 100px 0;
}
.coreContents ol.number-list:has(+ :is(h5, h6)) {
	margin: 0 0 40px 0;
}


/* ---------------------------------
 ul page-link
--------------------------------- */
.coreContents ul.page-link {
	list-style-type: none;
	margin: 10px 0 0 10px;
}
.coreContents ul.page-link li {
	margin: 0 0 10px;
}
.coreContents ul.page-link li::before {
	display: inline-block;
	content: "";
	width: 20px;
	height: 20px;
	margin: 0 7px 0 0;
	background-color: var(--navy);
	mask: url("../img/icon/icon_circle_right.svg") no-repeat 50% 50% / contain;
	-webkit-mask: url("../img/icon/icon_circle_right.svg") no-repeat 50% 50% / contain;
	vertical-align: -5px;
}
.page-link.q-number {
	counter-reset: question-link;
	list-style: none;
	padding-left: 0;
}
.page-link.q-number li {
	counter-increment: question-link;
	margin-bottom: 5px;
}
.page-link.q-number li a::before {
	content: "Q" counter(question-link) ". ";
	font-size: 19px;
	font-weight: 600;
	font-family:
		"Outfit",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
		"游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "YuGothic",
		"メイリオ", "Meiryo",
		sans-serif;
	color: var(--light-sky);
}

/* ---------------------------------
 ul kome
--------------------------------- */
.coreContents ul.kome {
	list-style-type: none;
	margin: 0 0 30px 0;
}
.coreContents ul.kome li {
	position: relative;
	margin: 0 0 5px;
	padding: 0 0 0 22px;
}
.coreContents ul.kome li::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	display: block;
	content: "※";
	margin: 0;
}
.coreContents .blue-tab-frame dd ul.kome:last-child {
	margin: 0 0 0 0;
}

/* ---------------------------------
 ul rivet
--------------------------------- */
.coreContents ul.rivet {
	list-style-type: none;
	margin: 0 0 30px 0;
}
.coreContents ul.rivet li {
	position: relative;
	margin: 0 0 12px;
	padding: 0 0 0 25px;
}
.coreContents ul.rivet li::before {
	position: absolute;
	top: 3px;
	left: 0;
	display: block;
	content: "";
	width: 20px;
	height: 20px;
	margin: 0;
	background-color: var(--navy);
	mask: url("../img/icon/icon_circle_right.svg") no-repeat 50% 50% / contain;
	-webkit-mask: url("../img/icon/icon_circle_right.svg") no-repeat 50% 50% / contain;
	vertical-align: -4px;
}
.coreContents .blue-tab-frame dd ul.rivet:last-child {
	margin: 0 0 0;
}
.coreContents .blue-tab-frame dd ul.rivet:last-child li:last-child {
	margin: 0 0 0;
}

/* ---------------------------------
 Contents Navi
--------------------------------- */
.contentsNavi {
	list-style-type: none;
	margin: 0 0 50px;
	text-align: center;
}
.contentsNavi li {
	display: inline-block;
	margin: 0 5px 0;
}
.contentsNavi li a {
	text-decoration: none;
	font-size: 15px;
	color: #000;
}
.contentsNavi li a:after {
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	margin: 3px 0 0;
	background-color: #000;
}
.contentsNavi li a span {
	display: inline-block;
	padding: 0 15px 0 17px;
}
.contentsNavi li a span:after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 0 0 15px;
	background-color: #000;
	mask: url("../img/icon/arrow_down.svg") no-repeat 50% 50% / contain;
	-webkit-mask: url("../img/icon/arrow_down.svg") no-repeat 50% 50% / contain;
	vertical-align: 0px;
}

/* ---------------------------------
 Common
--------------------------------- */
/* Post Meta */
.post-meta {
	margin: 10px 2px 40px;
}
.post-meta a {
	text-decoration: none;
}
.post-meta li {
	display:inline-block;
	margin-right: 16px;
	font-size: 13px;
}
.post-meta a {
	color:#000;
}

/* Float */
.alignleft {
	float: left;
}
.alignright {
	float: right;
}
.aligncenter {
	display: block;
	margin: 10px auto;
	text-align: center;
}

/* Chart News etc. */
.pc-contents {
	display: block;
	margin: 0 0 70px;
}
.sp-contents {
	display: none;
	margin: 0 0 70px;
}
.iframe-outer {
	width: 100%;
	text-align: center;
}
/* --- end of css --- */