@charset "utf-8";
/*----------------------------------------------
common
---------------------------------------------*/
.c_anchor {
	scroll-margin-top: 110px;
}
@media screen and (max-width: 768px) {
	.c_anchor {
		scroll-margin-top: 80px;
	}
}
/*----------------------------------------------
	section
---------------------------------------------*/
/*  .c_sec
---------------------------------------------*/
.c_sec {
	padding: 120px 0;
}
.c_sec_top {
	padding: 120px 0 0;
}
.c_sec_btm {
	padding: 0 0 120px;
}
.c_sec_sm {
	padding: 80px 0;
}
.c_sec_sm_top {
	padding: 80px 0 0;
}
.c_sec_sm_btm {
	padding: 0 0 80px;
}
.is_sec_bg {
	background-color: var(--base-color);
}
@media screen and (max-width: 768px) {
	.c_sec {
		padding: 60px 0;
	}
	.c_sec_top {
		padding: 60px 0 0;
	}
	.c_sec_btm {
		padding: 0 0 60px;
	}
	.c_sec_sm {
		padding: 40px 0;
	}
	.c_sec_sm_top {
		padding: 40px 0 0;
	}
	.c_sec_sm_btm {
		padding: 0 0 40px;
	}
}
/*----------------------------------------------
	ttl
---------------------------------------------*/
/*  .c_ttl_inner
---------------------------------------------*/
.c_ttl_inner {
	display: inline-block;
	background: url(../images/ttl_under.png) repeat-x 0 bottom / 16px auto;
}
/*  .c_ttl_under
---------------------------------------------*/
.c_ttl_under {
	display: inline-block;
	border-bottom: 3px solid var(--main-color);
}
/*  .c_ttl_wrap
---------------------------------------------*/
.c_ttl_wrap {
	padding-top: 200px;
	margin-bottom: 80px;
	text-align: center;
}
/*  .c_ttl_common
---------------------------------------------*/
.c_ttl_common {
	font-family: "Zen Old Mincho", serif;
	font-size: 2.5em;
	color: var(--main-color);
	font-weight: 400;
}
.c_ttl_icon {
	width: 80px;
}
.c_ttl_common .c_ttl_inner {
	position: relative;
	min-width: 160px;
	padding-bottom: 0.8em;
	background: none;
	line-height: 1;
}
.c_ttl_common .c_ttl_inner::before {
	position: absolute;
	right: -100%;
	bottom: 0;
	left: -100%;
	content: "";
	width: 458px;
	height: 100%;
	margin: auto;
	background: url(../images/ttl_under.png) repeat-x 0 bottom / 16px auto;
}
.c_ttl_common .s_ttl_caption {
	display: inline-block;
	font-size: 0.625em;
}
.c_ttl_common.is_ttl_sm {
	font-size: 2.125em;
}
/*  .c_ttl_en + jp
---------------------------------------------*/
.c_ttl_en {
	font-family: "Montserrat", sans-serif;
	font-size: 3.125em;
	color: var(--main-color);
	font-weight: 700;
	text-transform: uppercase;
}
.c_ttl_jp {
	font-size: 1.5em;
	color: var(--gy-55-color);
	font-weight: 500;
}
/*  .c_ttl_type01
---------------------------------------------*/
.c_ttl_type01 {
	margin-bottom: 20px;
	font-family: "Zen Old Mincho", serif;
	font-size: 2.125em;
	color: var(--main-color);
	font-weight: 400;
	text-align: center;
}
/*  .c_ttl_type02
---------------------------------------------*/
.c_ttl_type02 {
	margin-bottom: 30px;
	font-family: "Zen Old Mincho", serif;
	font-size: 2.125em;
	color: var(--main-color);
	font-weight: 400;
}
.c_ttl_type02 .c_ttl_inner {
	min-width: 5em;
	padding-bottom: 0.5em;
	text-align: center;
}
/*  .c_ttl_type03
---------------------------------------------*/
.c_ttl_type03 {
	position: relative;
	margin-bottom: 20px;
	font-family: "Zen Old Mincho", serif;
	font-size: 1.5em;
	color: var(--main-color);
	font-weight: 400;
}
.c_ttl_type03.is_ttl_bg_none::before {
	content: none;
}
.c_ttl_type03::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	z-index: 1;
	width: 21px;
	height: 100%;
	background: url(../images/ttl_stripe.png) no-repeat 0 0 / 100% auto;
}
.has_ttl_border {
	position: relative;
}
.has_ttl_border::after {
	position: absolute;
	top: 1em;
	right: 0;
	content: "";
	z-index: -1;
	width: 100%;
	height: 1px;
	background: var(--key-color);
}
.c_ttl_type03 .c_ttl_inner {
	padding: 0.2em 1em 0.2em 50px;
	background: #fff;
}
/*  .c_ttl_type04
---------------------------------------------*/
.c_ttl_type04 {
	position: relative;
	margin-bottom: 40px;
	font-family: "Zen Old Mincho", serif;
	font-size: 1.75em;
	color: var(--main-color);
	font-weight: 400;
}
.c_ttl_type04 .c_ttl_under {
	padding: 0 0.5em 0.2em 10px;
}
.has_ttl_icon img {
	width: 30px;
	margin-right: 10px;
	transform: translateY(-5px);
}
/*  .c_ttl_type05
---------------------------------------------*/
.c_ttl_type05 {
	margin-bottom: 20px;
	font-size: 1.25em;
	color: var(--main-color);
}
/*  .c_ttl_type06
---------------------------------------------*/
.c_ttl_type06 {
	margin-bottom: 40px;
	padding: 0.2em 0 0.35em 0.8em;
	font-size: 1.5em;
	background-color: var(--main-color);
	color: #fff;
}
/*  .c_ttl_type07
---------------------------------------------*/
.c_ttl_type07 {
	position: relative;
	padding-left: 24px;
	font-size: 1.125em;
	color: var(--main-color);
	font-weight: 500;
}
.c_ttl_type07::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 10px;
	height: 24px;
	background: var(--main-color);
	transform: skewX(-12deg);
}
/*  .c_ttl_mincho
---------------------------------------------*/
.c_ttl_mincho {
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
}
/*  .c_ttl_mont
---------------------------------------------*/
.c_ttl_mont {
	margin-bottom: 40px;
	font-family: "Montserrat", sans-serif;
	font-size: 2.5em;
	color: var(--main-color);
	font-weight: 700;
	text-align: center;
}
.c_ttl_mont.is_ttl_sm {
	font-size: 2.125em;
}
/* option - color */
.is_ttl_wh {
	color: #fff;
}
.is_ttl_key {
	color: var(--key-color);
}
@media screen and (max-width: 640px) {
	/*  .c_ttl_wrap
---------------------------------------------*/
	.c_ttl_wrap {
		min-width: 300px;
		margin-bottom: 60px;
	}
	.lp .c_ttl_wrap {
		margin-bottom: 30px;
		padding-top: 140px;
	}
	/*  .c_ttl_common
---------------------------------------------*/
	.c_ttl_common {
		font-size: 2.8rem;
	}
	.c_ttl_common .c_ttl_inner {
		line-height: 1.2;
	}
	.c_ttl_common .c_ttl_inner::before {
		width: 240px;
	}
	.c_ttl_common.is_ttl_sm {
		font-size: 1.85em;
	}
	/*  .c_ttl_en + jp
---------------------------------------------*/
	.c_ttl_en {
		font-size: 3.7rem;
	}
	.c_ttl_jp {
		font-size: 1.8rem;
	}
	/*  .c_ttl_type01
---------------------------------------------*/
	.c_ttl_type01 {
		font-size: 1.85em;
		line-height: 1.2;
	}
	/*  .c_ttl_type02
---------------------------------------------*/
	.c_ttl_type02 {
		font-size: 1.85em;
	}
	.c_ttl_type02 .c_ttl_inner {
		background-size: 9px auto;
	}
	/*  .c_ttl_type03
---------------------------------------------*/
	.c_ttl_type03 {
		background-size: 15px auto;
	}
	.c_ttl_type03 .c_ttl_inner {
		padding: 0.2em 1em 0.2em 30px;
	}
	/*  .c_ttl_type04
---------------------------------------------*/
	.c_ttl_type04 {
		margin-bottom: 15px;
	}
	.has_ttl_icon img {
		width: 22px;
		margin-right: 5px;
		transform: translateY(-4px);
	}
	/*  .c_ttl_type06
---------------------------------------------*/
	.c_ttl_type06 {
		margin-bottom: 15px;
	}
	/*  .c_ttl_type07
---------------------------------------------*/
	.c_ttl_type07 {
		padding-left: 20px;
	}
	.c_ttl_type07::before {
		width: 10px;
		height: 20px;
	}
	/*  .c_ttl_mont
---------------------------------------------*/
	.c_ttl_mont {
		margin-bottom: 20px;
	}
}

/*----------------------------------------------
	btn
---------------------------------------------*/
.c_btn_block {
	display: flex;
	justify-content: center;
	margin-top: 60px;
}
.c_btn_block .c_btn {
	margin: 0 30px;
}
/*  .c_btn
---------------------------------------------*/
.c_btn a {
	position: relative;
	display: block;
	padding: 1.8em 4em;
	background-color: var(--main-color);
	border-radius: 100px;
	color: #fff;
	font-weight: 900;
	text-decoration: none;
	transition: all 0.3s ease;
}
.c_btn a::before,
.c_btn a::after {
	position: absolute;
	top: 0;
	bottom: 0;
	content: "";
	margin: auto;
	background: #fff;
	transition: all 0.3s ease;
}
.c_btn a::before {
	right: 4em;
	width: 60px;
	height: 1px;
}
.c_btn a::after {
	right: calc(4em - 1px);
	bottom: 6px;
	width: 8px;
	height: 1px;
	transform: rotate(45deg);
}
.c_btn a:hover {
	background-color: var(--key-color);
}
.c_btn a:hover::before {
	width: 50px;
}
/* option - color */
a.is_btn_common {
	background-color: var(--main-color);
}
a.is_btn_common:hover {
	background-color: var(--key-color);
}
a.is_btn_gn {
	background-color: var(--gn-color);
}
a.is_btn_gn:hover {
	background-color: var(--hover-gn-color);
}
a.is_btn_lbl {
	background-color: var(--lbl-color);
}
a.is_btn_lbl:hover {
	background-color: var(--hover-lbl-color);
}
a.is_btn_pk {
	background-color: var(--pk-color);
}
a.is_btn_pk:hover {
	background-color: var(--hover-pk-color);
}
/* option - icon */
.has_btn_icon a {
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: var(--lh-sm);
}
.has_btn_icon img {
	width: 44px;
}
/* option - width */
.is_btn_width {
	max-width: 360px;
	width: 80%;
}
/* option - disabled */
a.is_btn_disabled {
	opacity: 0.2;
	pointer-events: none;
	cursor: not-allowed;
}
a.is_btn_disabled:hover {
	background-color: var(--main-color);
}
a.is_btn_gn.is_btn_disabled:hover {
	background-color: var(--gn-color);
}
@media screen and (max-width: 640px) {
	.c_btn_block {
		flex-direction: column;
		align-items: center;
		margin-top: 30px;
	}
	.c_btn_block .c_btn {
		margin: 0;
	}
	.c_btn_block .c_btn + .c_btn {
		margin-top: 15px;
	}
	/*  .c_btn
---------------------------------------------*/
	.c_btn a {
		padding: 1.2em 4em 1.3em;
		font-size: 1.6rem;
	}
	/* option - width */
	.is_btn_width {
		max-width: 360px;
		width: 100%;
	}
}
/*----------------------------------------------
	link
---------------------------------------------*/
.c_link_alpha {
	transition: 0.3s;
}
.c_link_alpha:hover {
	opacity: 0.5;
}
.c_link_under:hover {
	text-decoration: none;
}
/*----------------------------------------------
	tbl
---------------------------------------------*/
/*  .c_tbl_wrap
---------------------------------------------*/
.c_tbl_note {
	display: none;
}
/*  .c_tbl_price
---------------------------------------------*/
.c_tbl_price {
	width: 100%;
}
.c_tbl_price thead {
	border-bottom: 1px solid var(--main-color);
	font-size: 1.125em;
	color: var(--main-color);
	font-weight: 500;
	text-align: right;
}
.c_tbl_price thead th {
	padding: 0 0 0.6em;
	font-weight: 500;
}
.c_tbl_price tbody td {
	padding: 1em 0;
	border-bottom: 1px solid var(--gy-d1-color);
}
.c_tbl_price .c_cell_fee {
	width: 200px;
	border-left: 1px dashed var(--gy-d1-color);
	text-align: right;
	vertical-align: bottom;
}
/*  .c_tbl_type01
---------------------------------------------*/
.c_tbl_type01 {
	border-collapse: separate;
	border-spacing: 5px;
}
.c_tbl_type01 th {
	min-width: 130px;
	padding: 0.2em 0.8em 0.3em;
	background: #dfe0e7;
	font-weight: 400;
	text-align: center;
}
.c_tbl_type01 td {
	padding: 0.2em 0 0.3em 0.8em;
}
.c_tbl_type01.is_color_main th {
	background: var(--main-color);
	border-radius: 4px;
	color: #fff;
	font-weight: 700;
}
/*  .c_tbl_type02
---------------------------------------------*/
.c_tbl_type02 {
	width: 100%;
	border-collapse: separate;
	border-spacing: 4px;
}
.c_tbl_type02 th,
.c_tbl_type02 td {
	text-align: center;
}
.c_tbl_type02 th {
	padding: 0.5em 0;
	font-size: 1.25em;
	color: #fff;
	font-weight: 700;
}
.c_tbl_type02 td {
	padding: 0.8em 0;
}
.c_tbl_type02 thead th:first-child,
.c_tbl_type02.is_tbl_ope thead th:nth-child(n) {
	background: var(--main-color);
}
.c_tbl_type02 thead th:not(:first-child) {
	background: var(--column-color);
}
.c_tbl_type02 tbody td:first-child {
	background: #eaeaea;
}
.c_tbl_type02 tbody td:not(:first-child),
.c_tbl_type02.is_tbl_ope tbody td:nth-child(n) {
	background: #e9f3f8;
}
.c_tbl_type02.is_tbl_ope tbody td:first-child {
	padding-bottom: 0;
}
.c_tbl_type02 .is_tbl_cell_same {
	width: 13% !important;
}
.c_tbl_type02 td.is_tbl_cell_rd {
	background: #ffe1dd !important;
}
.c_tbl_type02.is_tbl_ope tr td:nth-child(1) {
	width: 30%;
}
.c_tbl_type02.is_tbl_ope tr td:nth-child(2) {
	width: 50%;
}
.c_tbl_type02.is_tbl_ope tr td:nth-child(3) {
	width: 20%;
}
.c_tbl_type02.is_tbl_ope td {
	padding: 0.8em;
}
@media screen and (max-width: 640px) {
	/*  .c_tbl_wrap
---------------------------------------------*/
	.c_tbl_wrap {
		position: relative;
		overflow-x: auto;
	}
	.c_tbl_note {
		position: absolute;
		inset: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100px;
		height: 100px;
		margin: auto;
		background: var(--key-color);
		border-radius: 10px;
		color: #fff;
		font-weight: bold;
		text-align: center;
		transition: 0.3s 2s;
	}
	.c_tbl_wrap table,
	.c_tbl_wrap .c_tbl {
		width: 768px;
	}
	.active .c_tbl_note {
		opacity: 0;
	}
	/*  .c_tbl_price
---------------------------------------------*/
	.c_tbl_price .c_cell_fee {
		width: 120px;
	}
	/*  .c_tbl_type01
---------------------------------------------*/
	.c_tbl_type01 th {
		min-width: 100px;
		padding: 0.2em 0.4em 0.3em;
	}
	.c_tbl_type01 td {
		padding: 0.2em 0 0.3em 0.4em;
	}
	/*  .c_tbl_type02
---------------------------------------------*/
	.c_tbl_type02 th {
		font-size: 1.1em;
	}
	.c_tbl_type02.is_tbl_ope tr td:nth-child(1) {
		width: 30%;
	}
	.c_tbl_type02.is_tbl_ope tr td:nth-child(2) {
		width: calc(70% - 8em);
	}
	.c_tbl_type02.is_tbl_ope tr td:nth-child(3) {
		width: 8em;
	}
}
/*----------------------------------------------
	dl
---------------------------------------------*/
.c_dl {
	display: flex;
	justify-content: space-between;
	align-items: start;
}
.c_dl + .c_dl {
	margin-top: 10px;
}
.c_dl dt {
	min-width: 130px;
	padding: 0.2em 0.8em 0.3em;
	background: #dfe0e7;
	font-weight: 400;
	text-align: center;
}
.c_dl dd {
	width: calc(100% - 150px);
}
@media screen and (max-width: 640px) {
	.c_dl dt {
		min-width: 100px;
	}
	.c_dl dd {
		width: calc(100% - 120px);
	}
}
/*----------------------------------------------
	block
---------------------------------------------*/
.c_block {
	margin-bottom: 120px;
}
.c_block_sm {
	margin-bottom: 80px;
}
@media screen and (max-width: 640px) {
	.c_block {
		margin-bottom: 60px;
	}
	.c_block_sm {
		margin-bottom: 40px;
	}
}
/*----------------------------------------------
	box
---------------------------------------------*/
/*  .c_box_inner
---------------------------------------------*/
.c_box_inner {
	display: flex;
	justify-content: center;
	align-items: center;
}
/*  .c_box_cont
---------------------------------------------*/
.c_box_cont {
	margin-top: 60px;
}
.c_box_cont_sm {
	margin-top: 40px;
}
/*  .c_box
---------------------------------------------*/
.c_box {
	background: #fff;
	color: var(--main-color);
}
.c_box_ttl {
	font-size: 1.125em;
}
/* option - bg */
.c_box.is_box_bg {
	background: #f4faff;
}
.c_box.is_box_bg_gy {
	background: var(--base-color);
}
/* option - radius */
.c_box.is_box_radius {
	border-radius: 20px;
}
/* option - padding */
.c_box.is_box_pad {
	padding: 40px 90px;
}
.c_box.is_box_pad_md {
	padding: 40px;
}
.c_box.is_box_pad_sm {
	padding: 30px;
}
/* option - shadow */
.c_box.is_box_shadow {
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
/*  .c_box_border
---------------------------------------------*/
.c_box_border {
	position: relative;
	padding: 30px 60px;
	border: 1px solid var(--gy-d1-color);
	border-radius: 5px;
}
.c_box_border_ttl {
	position: absolute;
	top: -15px;
	right: 0;
	left: 0;
	margin: auto;
	font-family: "Zen Old Mincho", serif;
	font-size: 1.375em;
	color: var(--key-color);
	font-weight: 400;
	text-align: center;
}
.c_box_border_ttl_inner {
	display: inline-block;
	padding: 0 0.5em;
	background: #fff;
}
/* option - price */
.is_box_price {
	padding: 1.4em;
	text-align: center;
}
/*  .c_box_caution
---------------------------------------------*/
.c_box_caution {
	position: relative;
	margin-top: 50px;
	padding: 40px 30px 20px;
	border: 1px dashed var(--gy-d1-color);
}
.c_box_caution_ttl {
	position: absolute;
	top: -20px;
	right: 0;
	left: 0;
	display: inline-block;
	width: 300px;
	margin: auto;
	padding: 0.3em;
	font-family: "Zen Old Mincho", serif;
	font-size: 1.5em;
	color: #fff;
	font-weight: 900;
	text-align: center;
}
.c_box_caution_ttl::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	background: var(--main-color);
	transform: skewX(-12deg);
}
.c_box_caution_ttl.is_box_pale::before {
	background: var(--ttl-color);
}
.c_box_caution_ttl_inner {
	position: relative;
	z-index: 2;
}
.c_box_caution_column {
	display: flex;
	justify-content: space-between;
}
.c_box_caution_column > * {
	width: 50%;
}
/*  .c_box_separate
---------------------------------------------*/
.c_box_separate_head {
	padding: 0.4em 1em 0.7em 2em;
	background: var(--ttl-color);
	color: #fff;
}
.c_box_separate_head .c_box_ttl {
	text-indent: -2.5em;
	margin: 0 0 0 2.5em;
}
.c_box_num {
	font-family: "Montserrat", sans-serif;
	font-size: 2.5em;
}
.c_box_separate_body {
	padding: 1.5em 1em 1.7em 2em;
	background: #fff;
}
@media screen and (max-width: 768px) {
	.c_box.is_box_pad_md {
		padding: 20px;
	}
}
@media screen and (max-width: 640px) {
	/*  .c_box_cont
---------------------------------------------*/
	.c_box_cont {
		margin-top: 40px;
	}
	.c_box_cont_sm {
		margin-top: 30px;
	}
	/*  .c_box
---------------------------------------------*/
	/* option - padding */
	.c_box.is_box_pad {
		padding: 20px;
	}
	.c_box.is_box_pad_sm {
		padding: 10px 20px;
	}
	/*  .c_box_border
---------------------------------------------*/
	.c_box_border {
		padding: 20px;
	}
	/*  .c_box_caution
---------------------------------------------*/
	.c_box_caution {
		margin: 40px auto 0 !important;
		padding: 30px 20px 20px;
	}
	.c_box_caution_column {
		flex-direction: column;
	}
	.c_box_caution_column > * {
		width: 100%;
	}
}
/*----------------------------------------------
	ph
---------------------------------------------*/
.c_ph_box {
	text-align: center;
}
.c_ph_shadow {
	position: relative;
	display: inline-block;
	width: 400px;
	height: 308px;
	padding: 0 40px 30px;
}
.c_ph_shadow::before {
	position: absolute;
	right: 0;
	bottom: 0;
	content: "";
	width: 140px;
	height: 210px;
	margin: auto;
	background: url(../images/mv_bg01.png) no-repeat right bottom / 100% auto;
}
.c_ph_italic {
	position: relative;
	overflow: hidden;
	display: inline-block;
	width: 260px;
	height: 280px;
	transform: skewX(-12deg);
}
.c_ph_italic img {
	position: absolute;
	inset: -100%;
	margin: auto;
	width: 125%;
	max-width: 125%;
	transform: skewX(12deg);
}
@media screen and (max-width: 640px) {
	.c_ph_shadow {
		width: 325px;
		height: 240px;
	}
	.c_ph_italic {
		width: 200px;
		height: 210px;
	}
}
/*----------------------------------------------
	img
---------------------------------------------*/
@media screen and (max-width: 1024px) {
	.c_img_single {
		max-width: 50%;
	}
}
@media screen and (max-width: 640px) {
	.c_img_single {
		max-width: 80%;
	}
}
@media screen and (max-width: 460px) {
	.c_img_single {
		max-width: 100%;
	}
}
/*----------------------------------------------
	lead
---------------------------------------------*/
/*  .c_lead_type01
---------------------------------------------*/
@media screen and (max-width: 768px) {
}
/*----------------------------------------------
	list
---------------------------------------------*/
/*  .c_ol
---------------------------------------------*/
.c_ol {
	counter-reset: item;
}
.c_ol li {
	position: relative;
	counter-increment: item;
	list-style: none;
	margin: 2em 0 0 2.4em;
	text-indent: -2.4em;
	font-family: "Zen Old Mincho", serif;
	font-size: 1.25em;
}
.c_ol li::before {
	content: counter(item) ".";
	display: inline-block;
	width: 1.8em;
	height: 1.8em;
	line-height: 1.8em;
	text-align: center;
	background: var(--main-color);
	color: #fff;
	font-weight: bold;
	margin-right: 0.6em;
	font-family: "Montserrat", sans-serif;
	text-indent: 0;
	transform: skewX(-10deg);
}
.c_ol.is_ol_flow {
	width: 400px;
	max-width: 100%;
	margin-inline: auto;
	transform: translateX(40px);
}
.c_ol.is_ol_flow li {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
}
.c_ol.is_ol_flow li::before {
	position: absolute;
	top: -0.2em;
	left: -60px;
	background: var(--bk-color);
}
.c_ol.is_ol_flow li:not(:last-child)::after {
	position: absolute;
	right: 40px;
	bottom: -35px;
	left: 0;
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: auto;
	background: url(../images/arrow_btm.png) no-repeat center / auto 100%;
}
/*  .c_ul
---------------------------------------------*/
.c_ul li {
	list-style-type: disc;
	margin: 5px 0 5px 1.6em;
	text-indent: -1.4em;
}
_::-webkit-full-page-media,
_:future,
:root .c_ul li {
	text-indent: -1.3em;
}
/*  .c_list_check
---------------------------------------------*/
.c_list_check {
	display: flex;
	flex-wrap: wrap;
	font-size: 1.125em;
	font-weight: 700;
}
.c_list_check.is_list_no {
	display: block;
}
.c_list_check.is_list_base li:not(:last-child) {
	margin-right: 30px;
}
.c_list_check.is_list_division2 li {
	min-width: 50%;
}
.c_list_check.is_list_division3 li {
	min-width: 33%;
}
.c_list_check.is_list_division4 li {
	min-width: 25%;
}
.c_list_check li {
	position: relative;
	margin: 10px 0;
	padding-left: 20px;
}
.c_list_check li::before {
	position: absolute;
	top: 0.3em;
	left: 0;
	content: "";
	width: 16px;
	height: 16px;
	background: url(../images/icon_check.png) no-repeat center / 100% auto;
}
.c_list_check li.is_list_wide {
	flex-grow: 5;
}
@media screen and (max-width: 820px) {
	.c_ol.is_ol_flow li:not(:last-child)::after {
		bottom: -25px;
		width: 20px;
		height: 20px;
	}
}
@media screen and (max-width: 640px) {
	/*  .c_ol
---------------------------------------------*/
	.c_ol li {
		font-size: 1.5rem;
	}
	.c_ol.is_ol_flow li {
		margin-left: 0;
		font-size: 1.125em;
	}
	.c_ol.is_ol_flow li::before {
		left: -20px;
	}
	/*  .c_ul
---------------------------------------------*/
	.c_ul + .c_ul {
		margin-top: -5px;
	}
	/*  .c_list_check
---------------------------------------------*/
	.c_list_check {
		flex-direction: column;
	}
	.c_list_check li {
		width: 100%;
		margin: 5px 0;
	}
}
@media screen and (max-width: 460px) {
	/*  .c_ol
---------------------------------------------*/
	.c_ol.is_ol_flow li {
		font-size: 1em;
	}
	.c_ol.is_ol_flow li::before {
		left: -30px;
	}
}
/*----------------------------------------------
	news
---------------------------------------------*/
.c_news li {
	border-bottom: 1px solid rgba(var(--rgb-main-color), 0.5);
}
.c_news li:first-child {
	border-top: 1px solid rgba(var(--rgb-main-color), 0.5);
}
.c_news a {
	position: relative;
	display: flex;
	padding: 40px 80px 40px 40px;
	color: var(--main-color);
	text-decoration: none;
	font-weight: 700;
}
.c_news a,
.c_news a * {
	transition: 0.3s;
}
.c_news_date {
	width: 160px;
	font-family: "Montserrat", sans-serif;
	color: var(--ttl-color);
	transform: translateY(0.2em);
}
.c_news_title {
	width: calc(100% - 160px);
	font-size: 1.125em;
}
.c_news_btn {
	position: absolute;
	top: 0;
	right: 40px;
	bottom: 0;
	width: 34px;
	height: 40px;
	margin: auto;
	background: var(--main-color);
	border-radius: 50%;
	transform: skew(-12deg);
}
.c_news_btn::before {
	position: absolute;
	inset: 0;
	right: 5px;
	content: "";
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}
.c_news a:hover .c_news_date,
.c_news a:hover .c_news_title {
	opacity: 0.5;
}
.c_news a:hover .c_news_btn {
	background: var(--key-color);
	transform: translateX(10px) skew(-12deg);
}
/*  .c_news_head
---------------------------------------------*/
.c_news_head {
	text-align: center;
}
.c_news_head_ttl {
	margin-bottom: 0.8em;
	padding-bottom: 0.8em;
	border-bottom: 1px solid rgba(var(--rgb-main-color), 0.2);
	font-size: 1.5em;
	color: var(--main-color);
}
.c_news_head_date {
	font-family: "Montserrat", sans-serif;
	color: var(--ttl-color);
	font-weight: 700;
}
/*  .c_news_article
---------------------------------------------*/
.c_news_article {
	padding: 100px 0;
	border-bottom: 1px solid rgba(var(--rgb-main-color), 0.2);
}
/*  .c_news_profile
---------------------------------------------*/
.c_news_profile_box {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 80px;
}
.c_news_profile_ph {
	width: 150px;
	height: 150px;
	margin-right: 60px;
	box-shadow: 5px 5px 10px var(--gy-d1-color);
	transform: skewX(-12deg);
}
.c_news_profile_ph_wrap {
	position: relative;
	display: block;
	width: 150px;
	height: 150px;
	overflow: hidden;
}
.c_news_profile_ph img {
	position: absolute;
	inset: -100%;
	width: 122%;
	max-width: 122%;
	margin: auto;
	transform: skewX(12deg);
}
.c_news_profile_by {
	margin-bottom: 10px;
	font-family: "Cinzel", serif;
	font-size: 0.875em;
	color: var(--gy-55-color);
}
.c_news_profile_writer {
	display: flex;
	align-items: center;
	color: var(--main-color);
}
.c_news_profile_title {
	margin-right: 1em;
}
.c_news_profile_name {
	font-size: 1.25em;
}
/*  .c_pager
---------------------------------------------*/
.c_pager ul {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	font-family: "Montserrat", sans-serif;
	font-size: 1.25em;
	font-weight: 700;
	text-align: center;
}
.c_pager ul > * {
	margin: 0 5px;
	display: inline-block;
}
.c_pager a {
	color: var(--main-color);
	text-decoration: none;
	transition: 0.3s;
}
.c_pager .current {
	color: var(--ttl-color);
}
.c_pager li .page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border-radius: 40px;
}
.c_pager .prev,
.c_pager .next {
	position: relative;
	margin: 0 10px;
}
.c_pager .prev::before,
.c_pager .next::before {
	position: absolute;
	inset: 0;
	content: "";
	width: 10px;
	height: 10px;
	margin: auto;
	border-top: 1px solid var(--main-color);
	transition: 0.3s;
}
.c_pager .prev::before {
	left: 5px;
	border-left: 1px solid var(--main-color);
	transform: rotate(-45deg);
}
.c_pager .next::before {
	right: 5px;
	border-right: 1px solid var(--main-color);
	transform: rotate(45deg);
}
.c_pager .newest,
.c_pager .oldest {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 0.6em;
	color: var(--bk-color);
}
.c_pager .newest {
	margin-right: 60px;
}
.c_pager .oldest {
	margin-left: 60px;
}
.c_pager .newest .page-btn,
.c_pager .oldest .page-btn {
	display: inline-block;
	width: 34px;
	height: 40px;
	margin-bottom: 5px;
	background: var(--main-color);
	border-radius: 50%;
	transform: skewX(-12deg);
	transition: 0.3s;
}
.c_pager .newest .page-btn::before,
.c_pager .oldest .page-btn::before {
	position: absolute;
	inset: 0;
	content: "";
	width: 10px;
	height: 10px;
	margin: auto;
	border-top: 1px solid #fff;
	transition: 0.3s;
}
.c_pager .newest .page-btn::before {
	left: 5px;
	border-left: 1px solid #fff;
	transform: rotate(-45deg);
}
.c_pager .oldest .page-btn::before {
	right: 5px;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}
.c_pager li .page-numbers:hover {
	background: var(--key-color);
	color: #fff;
}
.c_pager a.prev:hover::before {
	border-top-color: #fff;
	border-left-color: #fff;
}
.c_pager a.next:hover::before {
	border-top-color: #fff;
	border-right-color: #fff;
}
.c_pager a.newest:hover,
.c_pager a.oldest:hover {
	color: var(--key-color);
}
.c_pager a.newest:hover .page-btn,
.c_pager a.oldest:hover .page-btn {
	background: var(--key-color);
}
.c_pager a.newest:hover .page-btn {
	transform: skewX(-12deg) translateX(-5px);
}
.c_pager a.oldest:hover .page-btn {
	transform: skewX(-12deg) translateX(5px);
}
.c_pager_btn {
	display: block;
	width: 220px;
	padding: 0.8em 0.2em;
	border: 1px solid var(--main-color);
	text-align: center;
	font-size: 0.8em;
	color: var(--main-color);
	font-weight: 500;
	text-decoration: none;
	transition: 0.3s;
}
.c_pager_btn:hover {
	background: var(--key-color);
	border-color: var(--key-color);
	color: #fff;
}
@media screen and (max-width: 640px) {
	.c_news a {
		flex-direction: column;
		padding: 20px 40px 20px 10px;
	}
	.c_news_title {
		width: 100%;
		font-size: 1.4rem;
	}
	.c_news_btn {
		right: 10px;
		width: 24px;
		height: 30px;
	}
	.c_news_btn::before {
		width: 6px;
		height: 6px;
	}
	.c_news_article {
		padding: 40px 0;
	}
	/*  .c_news_profile
---------------------------------------------*/
	.c_news_profile_box {
		margin-top: 40px;
	}
	.c_news_profile_ph {
		width: 120px;
		height: 120px;
		margin-right: 30px;
	}
	.c_news_profile_ph_wrap {
		width: 120px;
		height: 120px;
	}
	/*  .c_pager
---------------------------------------------*/
	.c_pager ul {
		font-size: 1.5rem;
	}
	.c_pager li .page-numbers {
		width: 30px;
		height: 30px;
	}
	.c_pager .prev,
	.c_pager .next {
		margin: 0 5px;
	}
	.c_pager .newest {
		margin-right: 5px;
	}
	.c_pager .oldest {
		margin-left: 5px;
	}
	.c_pager .newest .page-btn,
	.c_pager .oldest .page-btn {
		width: 24px;
		height: 30px;
		margin-bottom: 0;
	}
	.c_pager .newest .page-btn::before,
	.c_pager .oldest .page-btn::before {
		width: 6px;
		height: 6px;
	}
	.c_pager_btn {
		width: 160px;
		margin: 0 20px;
	}
}
/*----------------------------------------------
	flex
---------------------------------------------*/
.c_flex {
	display: flex;
	flex-wrap: wrap;
}
/*  column - ぴったりカラム用   */
.is_fl_column2 > * {
	width: calc(100% / 2);
}
.is_fl_column3 > * {
	width: calc(100% / 3);
}
.is_fl_column4 > * {
	width: calc(100% / 4);
}
.is_fl_column5 > * {
	width: calc(100% / 5);
}
.is_fl_column6 > * {
	width: calc(100% / 6);
}
/*  column - space-between用   */
.is_fl_bw_column2 > * {
	width: calc((100% / 2) - 20px);
}
.is_fl_bw_column2_sm > * {
	width: calc((100% / 2) - 5px);
}
.is_fl_bw_column3 > * {
	width: calc((100% / 3) - 20px);
}
.is_fl_bw_column4 > * {
	width: calc((100% / 4) - 20px);
}
.is_fl_bw_column5 > * {
	width: calc((100% / 5) - 20px);
}
.is_fl_bw_column6 > * {
	width: calc((100% / 6) - 20px);
}
/*  option   */
.is_fl_nowrap {
	/* 横幅に収まる */
	flex-wrap: nowrap;
}
.is_fl_column {
	/* 縦並び */
	flex-direction: column;
}
.is_fl_jc_end {
	/* 右寄せ */
	justify-content: flex-end;
}
.is_fl_jc_center {
	/* 左右中央 */
	justify-content: center;
}
.is_fl_jc_between {
	/* 均等 */
	justify-content: space-between;
}
.is_fl_al_center {
	/* 上下中央 */
	align-items: center;
}
.is_fl_al_start {
	/* 先頭 */
	align-items: start;
}
@media screen and (max-width: 820px) {
	.is_middle_fl_jc_start {
		/* 先頭 */
		justify-content: start;
	}
}
@media screen and (max-width: 768px) {
	.is_tab_fl_column {
		flex-direction: column;
	}
	.is_tab_fl_jc_center {
		justify-content: center;
	}
	.is_tab_fl_column_full > * {
		width: 100%;
	}
	.is_tab_fl_column_full > *:not(:last-child) {
		margin-bottom: 20px;
	}
	/*  column - ぴったりカラム用   */
	.is_tab_fl_column2 > * {
		width: calc(100% / 2);
	}
	/*  column - space-between用   */
	.is_tab_fl_bw_column2 > * {
		width: calc((100% / 2) - 20px);
	}
}
@media screen and (max-width: 640px) {
	.is_sp_fl_wrap {
		flex-wrap: wrap;
	}
	.is_sp_fl_column {
		flex-direction: column;
	}
	.is_sp_fl_jc_center {
		justify-content: center;
	}
	.is_sp_fl_al_start {
		/* 先頭 */
		align-items: start;
	}
	.is_sp_fl_al_center {
		/* 中央 */
		align-items: center;
	}
	.is_sp_fl_column_full > * {
		width: 100% !important;
	}
	.is_sp_fl_column_full > *:not(:last-child) {
		margin-bottom: 20px;
	}
	/*  column - ぴったりカラム用   */
	.is_sp_fl_column2 > * {
		width: calc(100% / 2);
	}
	/*  column - space-between用   */
	.is_sp_fl_bw_column2 > * {
		width: calc((100% / 2) - 20px);
	}
	.is_sp_fl_bw_column2 > *:not(:nth-last-child(-n + 2)) {
		margin-bottom: 20px;
	}
}
