@charset "utf-8";
/* ------------------------------
 見出し・テキスト（PC）
------------------------------ */
/* h1 */
.contents .heading,
.contentsTop .heading,
.contentsNews .heading {
	background: url(../img/linedot_bg_black.svg) repeat 0 0 / 30px 30px;
	color: #fff;
}
.heading h1 {
	width: 1140px;
	margin: 0 auto;
	padding-top: 100px;
	font-size: 4.8rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .05em;
}
.heading h1 span {
	display: block;
	position: relative;
	margin-bottom: 25px;
	font-family: "Outfit", sans-serif;
	font-size: 2.5rem;
	font-weight: 500;
	letter-spacing: .03em;
}
.heading h1 span::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 12px 2px 0;
	border-radius: 50%;
	background-color: #00a0e9;
	vertical-align: middle;
}
/* 新着情報詳細 h1 */
.mainContents h1 {
	position: relative;
	margin: 45px 0 35px;
	padding-bottom: 15px;
	border-bottom: 2px solid #1f1f1f;
	font-size: 2.8rem;
	line-height: 1.45;
	font-weight: 700;
}
/* h2 */
.contents h2,
.contentsTop h2 {
	position: relative;
	margin-bottom: 35px;
	padding-bottom: 20px;
	font-size: 3.6rem;
	line-height: 1.45;
	font-weight: 700;
	letter-spacing: .05em;
}
.contents h2::after,
.contentsTop h2::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 65px;
	height: 6px;
	background-color: #00a0e9;
}
.contents .tac h2::after,
.contentsTop .tac h2::after {
	left: 50%;
	margin-left: -33px;
}
/* 新着情報一覧 h2 */
.mainContents > h2 {
	padding-bottom: 30px;
	border-bottom: 2px solid #1f1f1f;
	font-size: 2.8rem;
	line-height: 1;
	font-weight: 700;
}
/* h3 */
.contents h3,
.contentsTop h3 {
	margin-bottom: 30px;
	padding: 18px 24px 19px;
	background: url(../img/linedot_bg_black.svg) repeat 0 0 / 30px 30px;
	color: #fff;
	font-size: 2.8rem;
	line-height: 1.45;
	font-weight: 700;
	letter-spacing: .03em;
}
/* h4 */
.contents h4,
.contentsNews h3 {
	margin-bottom: 20px;
	color: #00a0e9;
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: bold;
}
/* h5 */
.contents h5 {
	margin-bottom: 10px;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: bold;
}
@media print, screen and (min-width: 768px) {
	/* h1 */
	.contents .heading {
		height: 540px;
	}
	.contentsTop .heading,
	.contentsNews .heading {
		height: 340px;
		margin-bottom: 120px;
	}
	/* h3 */
	.contents h3 span {
		display: block;
	}
}
/* ------------------------------
 見出し・テキスト（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* h1 */
	.contents .heading,
	.contentsTop .heading {
		background: url(../img/linedot_bg_black_sp.svg) repeat 0 0 / 24px 24px;
	}
	.contents .heading {
		height: 218px;
	}
	.contentsTop .heading,
	.contentsNews .heading {
		height: auto;
		margin-bottom: 70px;
		padding: 35px 0 51px;
	}
	.heading h1 {
		width: 90%;
		padding-top: 35px;
		font-size: 3.2rem;
		line-height: 1.2;
		letter-spacing: .03em;
	}
	.heading h1 span {
		margin-bottom: 5px;
		font-size: 2rem;
	}
	.heading h1 span::before {
		width: 9px;
		height: 9px;
		margin: 0 10px 2px 0;
	}
	.contentsTop .heading h1,
	.contentsNews .heading h1 {
		padding-top: 0;
	}
	/* 新着情報詳細 h1 */
	.mainContents h1 {
		margin: 35px 0 25px;
		padding-bottom: 10px;
		font-size: 2.2rem;
	}
	.mainContents h1::before {
		width: 50px;
	}
	.mainContents h1::after {
		width: 25px;
	}
	/* h2 */
	.contents h2,
	.contentsTop h2 {
		margin-bottom: 25px;
		padding-bottom: 15px;
		font-size: 2.8rem;
		line-height: 1.3;
	}
	.contents h2::after,
	.contentsTop h2::after {
		width: 45px;
		height: 4px;
	}
	.contents .tac h2::after,
	.contentsTop .tac h2::after {
		margin-left: -23px;
	}
	.contents h2 span,
	.contentsTop h2 span {
		display: inline-block;
	}
	/* 新着情報一覧 h2 */
	.mainContents > h2 {
		padding-bottom: 20px;
		font-size: 2.2rem;
	}
	/* h3 */
	.contents h3,
	.contentsTop h3 {
		margin-bottom: 20px;
		padding: 16px 18px 17px;
		background: url(../img/linedot_bg_black_sp.svg) repeat 0 0 / 24px 24px;
		font-size: 2.2rem;
		line-height: 1.3;
	}
	/* h4 */
	.contents h4,
	.contentsNews h3 {
		margin-bottom: 15px;
		font-size: 2rem;
	}
	/* h5 */
	.contents h5 {
		margin-bottom: 10px;
		font-size: 1.8rem;
		line-height: 1.4;
		font-weight: bold;
	}
}

/* ------------------------------
 横幅（PC）
------------------------------ */
/* その他 */
@media print, screen and (min-width: 768px) {
	/* 1/2 */
	.w1-2 {
		width: 47.89474%;
	}
	.w546 {
		width: 546px;
	}
	/* 1/3 */
	.w1-3 {
		width: 30.70175%;
	}
	.w350 {
		width: 350px;
	}
	.w1-3.cms_fl + .w1-3.cms_fl,
	.w1-3.fl + .w1-3.fl {
		margin-left: 3.94736%;
	}
	.w350.cms_fl + .w350.cms_fl,
	.w350.fl + .w350.fl {
		margin-left: 45px;
	}
	/* 2/3 */
	.w2-3 {
		width: 65.35087%;
	}
	.w745 {
		width: 745px;
	}
	/* 1/4 */
	.w1-4 {
		width: 22.63157%;
	}
	.w258 {
		width: 258px;
	}
	.w1-4.cms_fl + .w1-4.cms_fl,
	.w1-4.fl + .w1-4.fl {
		margin-left: 3.15789%;
	}
	.w258.cms_fl + .w258.cms_fl,
	.w258.fl + .w258.fl {
		margin-left: 36px;
	}
	/* 3/4 */
	.w3-4 {
		width: 74.21052%;
	}
	.w846 {
		width: 846px;
	}
	/* 新着情報 1/2 */
	.mainContents .w1-2 {
		width: 47.9518%;
	}
	.mainContents .w398 {
		width: 398px;
	}
	/* 新着情報 1/3 */
	.mainContents .w1-3 {
		width: 30.6024%;
	}
	.mainContents .w254 {
		width: 254px;
	}
	.mainContents .w1-3.cms_fl + .w1-3.cms_fl,
	.mainContents .w1-3.fl + .w1-3.fl {
		margin-left: 4.09638%;
	}
	.mainContents .w254.cms_fl + .w254.cms_fl,
	.mainContents .w254.fl + .w254.fl {
		margin-left: 34px;
	}
	/* 新着情報 2/3 */
	.mainContents .w2-3 {
		width: 65.3012%;
	}
	.mainContents .w542 {
		width: 542px;
	}
	/* その他 */
	.w300 {
		width: 300px;
	}
	.w468 {
		width: 468px;
	}
	.w726 {
		width: 726px;
	}
}
/* ----------------------
 横幅（SP）
---------------------- */
@media screen and (max-width: 767px) {
	.w1-4.cms_fl,
	.w1-4.fl,
	.w258.cms_fl,
	.w258.fl {
		float: left !important;
		width: 47.25%;
	}
	.w1-4.cms_fl + .w1-4.cms_fl,
	.w1-4.fl + .w1-4.fl,
	.w258.cms_fl + .w258.cms_fl,
	.w258.fl + .w258.fl,
	.w1-4.cms_fl + .w1-4.cms_fl + .w1-4.cms_fl + .w1-4.cms_fl,
	.w1-4.fl + .w1-4.fl + .w1-4.fl + .w1-4.fl,
	.w258.cms_fl + .w258.cms_fl + .w258.cms_fl + .w258.cms_fl,
	.w258.fl + .w258.fl + .w258.fl + .w258.fl {
		margin-left: 5.5%;
	}
	.w1-4.cms_fl + .w1-4.cms_fl + .w1-4.cms_fl,
	.w1-4.fl + .w1-4.fl + .w1-4.fl,
	.w258.cms_fl + .w258.cms_fl + .w258.cms_fl,
	.w258.fl + .w258.fl + .w258.fl {
		margin-left: 0;
	}
}

/* ------------------------------
 ボックス（PC）
------------------------------ */
/* 背景 */
.bgBox {
	padding: 70px 80px;
	background-color: #ebeef1;
}
/* 模様 */
.grayBox {
	padding: 60px;
	background: url(../img/linedot_bg.svg) repeat 0 0 / 30px 30px;
}
/* 横並び */
.flexBox {
	display: flex !important;
	flex-wrap: wrap;
}
.cms_block.flexBox::after {
	content: none;
}
/* 横並び センター揃え */
.flexBox.jc-c {
	justify-content: center;
}
/* 横並び 端揃え */
.flexBox.jc-sb {
	justify-content: space-between;
}
/* 横並び 縦センター揃え */
.flexBox.ai-c {
	align-items: center;
}
/* 横並び4列（SP横並び2列） */
.flexBox.div4 {
	flex-wrap: wrap;
}
/* 横並びで写真キャプションが上 */
.flexBox.capTop > * {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
@media print, screen and (min-width: 768px) {
	/* 横並び2列 */
	.flexBox.div2 {
		gap: 40px 48px;
	}
	.flexBox.div2 > * {
		width: 546px;
		margin-bottom: 0;
	}
	/* 横並び3列 */
	.flexBox.div3 {
		gap: 40px 45px;
	}
	.flexBox.div3 > * {
		width: 350px;
		margin-bottom: 0;
	}
	/* 横並び4列（SP横並び2列） */
	.flexBox.div4 {
		gap: 40px 36px;
	}
	.flexBox.div4 > * {
		width: 258px;
		margin-bottom: 0;
	}
}
/* ------------------------------
 ボックス（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* 背景 */
	.bgBox {
		padding: 40px 20px;
	}
	/* 模様 */
	.grayBox {
		padding: 40px 20px;
		background: url(../img/linedot_bg.svg) repeat 0 0 / 30px 30px;
	}
	/* 横並び2列・横並び3列 */
	.flexBox.div2,
	.flexBox.div3 {
		display: block !important;
	}
	/* 横並び4列（SP横並び2列） */
	.flexBox.div4 > * {
		width: 47.895%;
	}
	.flexBox.div4 {
		gap: 0 4.21%;
	}
}

/* ------------------------------
 hover画像拡大
------------------------------ */
a .img-hover {
	overflow: hidden;
	display: block;
	position: relative;
}
a .img-hover img {
	display: block;
	transition-duration: 0.3s;
	overflow: hidden;
	display: block;
	width: 100%;
}
a:hover .img-hover img, a:focus .img-hover img {
	opacity: 1;
	overflow: hidden;
	transform: scale(1.1);
	transition-duration: 0.3s;
}

/* ------------------------------
 下線
------------------------------ */
.line {
	margin-bottom: 30px;
	padding-bottom: 15px;
	border-bottom: 1px solid #ddd;
}
/* 点線 */
.dotLine {
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #b0bac6;
}

/* ------------------------------
 テーブル（PC）
------------------------------ */
/* デフォルト */
.cms_text table {
	overflow: hidden;
	width: 100%;
	border: 1px solid #c4cbd4;
}
.cms_text table tr:not(:last-child) {
	border-bottom: 1px dotted #c4cbd4;
}
.cms_text table th,
.cms_text table td {
	padding: 22px 19px;
}
.cms_text table th {
	background-color: #ebeef1;
	font-weight: bold;
}
.cms_text table td + td {
	border-left: 1px dotted #c4cbd4;
}
/* 項目横並び */
.cms_text.sbs table {
	table-layout: fixed;
}
.cms_text.sbs table tr:first-child {
	border-bottom: none;
}
.cms_text.sbs table th + th {
	border-left: 1px dotted #c4cbd4;
}
.cms_text.sbs table th {
	border-left: 1px dotted #c4cbd4;
	text-align: center;
}
@media print, screen and (min-width: 768px) {
	.cms_text table th {
		width: 25%;
	}
}
/* ------------------------------
 テーブル（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.cms_text table th,
	.cms_text table td {
		padding: 12px 14px;
	}
	/* レスポンシブ */
	.cms_text.res table th,
	.cms_text.res table td{
		display: block;
		width: 100%;
	}
	/* スクロール */
	.cms_text.scroller table {
		width: 1140px !important;
	}
	.cms_text.scroller table th {
		width: 25%;
	}
}

/* ------------------------------
 リスト（PC）
------------------------------ */
/* ノーマルリスト●付き */
.cms_text ul > li,
.cms_image ul > li {
	position: relative;
	padding-left: 1em;
}
.cms_text ul > li::before,
.cms_image ul > li::before {
	content: "●";
	position: absolute;
	top: .6em;
	left: 0;
	color: #00a0e9;
	font-size: 60%;
}
.cms_text ul > li > ul > li::before,
.cms_image ul > li > ul > li::before {
	color: #b0bac6;
}
/* チェック */
.check ul li {
	padding-left: 1.4em;
}
.check ul li::before {
	content: "";
	display: inline-block;
	top: .5em;
	width: 15px;
	height: 15px;
	background: url(../img/icon_check.svg) no-repeat center / cover;
}
/* 横並び */
.inline ul li {
	display: inline-block;
	margin-right: 2em;
}
/* 数字 */
.cms_text ol > li,
.cms_image ol > li {
	counter-increment: count 1;
	position: relative;
	padding-left: 1.5em;
}
.cms_text ol > li:before,
.cms_image ol > li:before {
	content: counter(count)".";
	position: absolute;
	top: 0;
	left: 0;
	font-weight: bold;
}
/* 丸数字 */
.circleNumber ol li,
ol.circleNumber li {
	counter-increment: count 1;
	position: relative;
	padding-left: 1.4em;
}
.circleNumber ol li:before,
ol.circleNumber li:before {
	content: counter(count);
	position: absolute;
	top: .5em;
	left: 0;
	width: 18px;
	height: 17px;
	padding-top: 1px;
	border-radius: 50%;
	background-color: #00a0e9;
	color: #fff;
	font-family: "Arial", sans-serif;
	font-size: 1.1rem;
	line-height: 17px;
	font-weight: 700;
	text-align: center;
}
/* 横並び2列・3列・4列 */
@media print, screen and (min-width: 768px) {
	.div2 ul,
	.div3 ul,
	.div4 ul {
		display: flex;
		flex-wrap: wrap;
	}
	.div2.gap-m ul,
	.div3.gap-m ul,
	.div4.gap-m ul {
		gap: 25px 0;
	}
	.gap-m:not(.div2):not(.div3):not(.div4) ul li:not(:last-child) {
		margin-bottom: 25px;
	}
	.div2 ul li,
	.div3 ul li,
	.div4 ul li {
		padding-right: 1em;
	}
	.div2 ul li {
		width: 50%;
	}
	.div3 ul li {
		width: calc(100% / 3);
	}
	.div4 ul li {
		width: calc(100% / 4);
	}
}
/* fire fox 調整 */
/* @-moz-document url-prefix(){
	.cms_text ul > li::before,
	.cms_image ul > li::before {
		top: 6px;
	}
} */
/* ------------------------------
 リスト（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* 横並び */
	.inline ul li {
		margin-right: 1em;
	}
	.gap-m:not(.div2):not(.div3) ul li:not(:last-child) {
		margin-bottom: 15px;
	}
	/* 横並び2列・3列・4列 */
	.div2 ul li,
	.div3 ul li,
	.div4 ul li {
		padding-right: 1em;
		width: 100%;
	}
}

/* ------------------------------
 ボタン（PC）
------------------------------ */
.btn a,
a.btn {
	display: inline-block;
	position: relative;
	min-width: 270px;
	padding: 24px 55px 24px 45px;
	border-radius: 40px;
	background: #1f1f1f url(../img/icon_arrow.svg) no-repeat right 23px center / 27px 8px;
	color: #00a0e9;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	transition: opacity .3s ease-in-out;
}
.btn.bg-blue a,
a.btn.bg-blue {
	background: #00a0e9 url(../img/icon_arrow_black.svg) no-repeat right 23px center / 27px 8px;
	color: #1f1f1f;
}
.btn.eng a,
a.btn.eng {
	font-family: "Outfit", sans-serif;
	font-weight: 500;
}
@media print, screen and (min-width: 768px) {
	/* .btn a:hover,
	a .btn:hover {
		opacity: .7;
	} */
}
/* ------------------------------
 ボタン（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.btn a,
	a .btn {
		min-width: 220px;
		padding: 19px 50px 19px 40px;
		border-radius: 33px;
		background: #1f1f1f url(../img/icon_arrow_sp.svg) no-repeat right 19px center / 21px 8px;
		font-size: 1.6rem;
	}
	.btn.bg-blue a,
	a.btn.bg-blue {
		background: #00a0e9 url(../img/icon_arrow_black_sp.svg) no-repeat right 19px center / 21px 8px;
	}
}

/* ------------------------------
 メインイメージ（PC）
------------------------------ */
/* .cms_block.mainimg .cms_image {
	margin-bottom: 110px;
} */
.cms_block.mainimg .cms_image img {
	width: 100%;
}
@media print, screen and (min-width:768px) {
	.cms_block.mainimg {
		width: calc((100% - 1140px) / 2 + 1140px);
		margin: -245px 0 110px auto;
	}
}
/* ------------------------------
 メインイメージ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.cms_block.mainimg {
		width: 95%;
		margin: -65px 0 60px 5%;
	}
}

/* ------------------------------
 ページ内リンク（PC）
------------------------------ */
.pageLink {
	display: flex;
	flex-wrap: wrap;
	position: relative;
}
.pageLink::before {
	content: "INDEX";
	position: absolute;
	top: 0;
	left: 0;
	width: 100px;
	height: 54px;
	border-radius: 27px;
	background-color: #1f1f1f;
	color: #fff;
	font-family: "Outfit", sans-serif;
	font-size: 1.7rem;
	line-height: 54px;
	font-weight: 500;
	text-align: center;
}
.cms_block.pageLink .cms_link:not(.btn) a:not([target="_blank"]) {
	display: inline-block;
	height: 54px;
	padding: 0 15px 1px 25px;
	border-radius: 27px;
	background-color: #f1f3f5;
	line-height: 53px;
}
.cms_block.pageLink .cms_link:not(.btn) a:not([target="_blank"])::after {
	width: 25px;
	height: 25px;
	margin: 0 0 6px 6px;
	background: #00a0e9 url(../img/icon_arrow_pl.svg) no-repeat 9px 10px / 7px 5px;
}
@media print, screen and (min-width: 768px) {
	.pageLink {
		gap: 15px;
		width: 1140px;
		margin: 0 auto 90px;
		padding-left: 110px;
	}
}
/* ------------------------------
 ページ内リンク（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.pageLink {
		gap: 10px;
		align-items: flex-start;
		align-content: flex-start;
		padding-top: 52px;
	}
	.pageLink::before {
		width: 90px;
		height: 42px;
		border-radius: 21px;
		line-height: 42px;
	}
	.cms_block.pageLink {
		width: 90%;
		margin: 0 auto 50px;
	}
	.cms_block.pageLink .cms_link:not(.btn) a:not([target="_blank"]) {
		display: inline-block;
		position: relative;
		height: auto;
		padding: 12px 40px 11px 18px;
		border-radius: 21px;
		font-size: 1.4rem;
		line-height: 1.35;
	}
	.cms_block.pageLink .cms_link:not(.btn) a:not([target="_blank"])::after {
		position: absolute;
		top: 50%;
		right: 12px;
		width: 22px;
		height: 22px;
		margin: -11px 0 0 0;
		background: #00a0e9 url(../img/icon_arrow_pl.svg) no-repeat 8px 9px / 6px 4px;
	}
}

/* ------------------------------
 新着情報（PC）
------------------------------ */
.newsList li {
	padding: 26px 0;
	border-bottom: 1px dotted #b0bac6;
}
/* Firefox */
@-moz-document url-prefix() {
	.newsList li {
		border-bottom: 1px dotted #79889a;
	}
}
.newsList li a,
.newsList li div {
	display: flex;
	align-items: flex-start;
	color: #000;
}
.newsList li a[target="_blank"] .headline::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin: 0 0 3px 5px;
	background: url(../img/icon_blank.svg) no-repeat 0 0 / cover;
	vertical-align: middle;
}
.date {
	width: 103px;
	color: #797979;
	font-family: "Outfit", sans-serif;
	line-height: 28px;
	font-weight: 600;
}
.cate {
	width: 130px;
	height: 28px;
	margin: 0 15px 0 0;
	border-radius: 14px;
	color: #fff;
	font-size: 1.4rem;
	line-height: 27px;
	text-align: center;
}
.cate8 .cate {
	background-color: #00a0e9;
}
.cate9 .cate {
	background-color: #00cbe5;
}
@media print, screen and (min-width: 768px) {
	.newsList li .headline {
		width: calc(100% - 248px);
	}
	.contentsHome .newsList li .headline {
		overflow: hidden;
		line-height: 28px;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}
/* ------------------------------
 新着情報（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.newsList li {
		padding: 22px 0 17px;
	}
	.newsList li a,
	.newsList li div {
		flex-wrap: wrap;
	}
	.date {
		width: 90px;
		line-height: 24px;
	}
	.cate {
		width: 112px;
		height: 24px;
		margin: 0;
		border-radius: 12px;
		font-size: 1.2rem;
		line-height: 23px;
	}
	.newsList li .headline {
		width: 100%;
		margin-top: 4px;
	}
}

/* ------------------------------
 リンクブロック（PC）
------------------------------ */
.linkBlock {
	display: flex;
}
.linkBlock a {
	display: block;
}
.linkBlock p {
	display: inline-block;
	margin-top: 20px;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1;
}
.linkBlock p::after {
	content: "";
	display: inline-block;
	width: 38px;
	height: 38px;
	margin: 0 0 6px 10px;
	border-radius: 50%;
	background: #1f1f1f url(../img/icon_arrow_link.svg) no-repeat 13px 15px / 15px 6px;
	vertical-align: middle;
}
@media print, screen and (min-width:768px) {
	.linkBlock {
		flex-wrap: wrap;
		row-gap: 44px;
		justify-content: space-between;
	}
	.linkBlock li {
		width: 546px;
	}
}
/* ------------------------------
 リンクブロック（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.linkBlock {
		flex-direction: column;
		row-gap: 27px;
	}
	.linkBlock p {
		margin-top: 10px;
		font-size: 1.8rem;
	}
	.linkBlock p::after {
		width: 30px;
		height: 30px;
		margin: 0 0 3px 6px;
		background: #1f1f1f url(../img/icon_arrow_link_sp.svg) no-repeat 10px 11px / 12px 6px;
	}
}

/* ------------------------------
 YouTube埋め込み
------------------------------ */
.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

/* ------------------------------
 グレーブロック（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	.grayBlock {
		position: relative;
		padding: 120px 0;
	}
	.grayBlock::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: calc(100% - ((100% - 980px) / 2 - 100px));
		margin-right: calc((100% - 980px) / 2 - 100px);
		height: 100%;
		background: url(../img/linedot_bg.svg) repeat 0 0 / 30px 30px;
	}
	.grayBlock > * {
		width: 980px;
		margin-left: auto;
		margin-right: auto;
	}
}
@media print, screen and (min-width: 1360px) {
	.grayBlock::before {
		width: calc(100% - ((100% - 1140px) / 2 - 100px));
		margin-right: calc((100% - 1140px) / 2 - 100px);
	}
}
/* ------------------------------
 グレーブロック（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.cms_block.grayBlock {
		width: 95%;
		margin-right: 5%;
		padding: 60px 5%;
		background: url(../img/linedot_bg_sp.svg) repeat 0 0 / 24px 24px;
	}
}