@charset "utf-8";

/* ------------------------------
 見出し&テキスト
------------------------------ */
/* -- headering H1 -- */
.headering h1 {
	position: absolute;
	left: 0;
	right: 0;
	top: 20px;
	bottom: 0;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: column;
	font-size: 4.9rem;
	font-weight: 700;
	font-family: 'Zen Old Mincho', serif;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #401922;
}
.headering h1 span {
	display: block;
	font-size: 1.8rem;
	font-weight: 600;
	font-family: 'El Messiri', sans-serif;
	letter-spacing: 0.075em;
	color: #a64c5d;
}
.headering h1::after {
	content: "";
	display: block;
	width: 55px;
	height: 36px;
	margin-top: 20px;
	background: url('../img/icon_h1.svg') no-repeat;
}
/* -- H2 -- */
.contentsTop h2,
.contents h2 {
	position: relative;
	width: 100%;
	padding-bottom: 22px;
	margin: 0 auto 40px;
	font-size: 3.1rem;
	font-weight: bold;
	color: #401922;
	border-bottom: 3px solid #e6ddd1;
	line-height: 1.4;
	letter-spacing: 0.075em;
}
.contentsTop h2::after,
.contents h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	display: block;
	width: 100px;
	height: 3px;
	background-color: #cc6670;
}
/* -- H3 -- */
.contentsTop h3,
.contents h3 {
	position: relative;
	font-size: 2.3rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #401922;
	margin-bottom: 20px;
	padding-left: 23px;
}
.contentsTop h3::before,
.contents h3::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	display: block;
	width: 20px;
	height: 20px;
	border: 4px solid #cc6670;
	border-radius: 100%;
	box-sizing: border-box;
}
/* -- h4 -- */
.contentsTop h4,
.contents h4 {
	font-size: 2.1rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #cc6670;
	margin-bottom: 15px;
}
/* -- h5 -- */
.contentsTop h5,
.contents h5 {
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}
/*打消し線*/
s {
	text-decoration:line-through;
}
/* -- メインリード -- */
.mainLead {
	color: #000;
}
.mainLead p:first-child {
	font-weight: bold;
} 
/* ------------------------------
 見出し&テキスト（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* -- メインリード -- */
	.mainLead {
		text-align: center;
	}
	.mainLead p:first-child {
		font-size: 2.4rem;
		line-height: 1.6;
	}
	.mainLead p:first-child + p {
		 margin-top: 20px;
	}
}

/* ------------------------------
 見出し&テキスト（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- headering H1 -- */
	.headering h1 {
		top: 10px;
		font-size: 3.3rem;
	}
	.headering h1 span {
		font-size: 1.3rem;
	}
	.headering h1::before {
		margin-top: 10px;
	}
	/* -- H2 -- */
	.contentsTop h2,
	.contents h2 {
		margin: 0 auto 20px;
		padding-bottom: 10px;
		font-size: 2.5rem;
	}

	/* -- H3 -- */
	.contentsTop h3,
	.contents h3 {
		font-size: 2.1rem;
		margin-bottom: 10px;
	}
	.contentsTop h3::before,
	.contents h3::before {
		top: 6px;
	}

	/* -- h4 -- */
	.contentsTop h4,
	.contents h4 {
		font-size: 1.9rem;
		margin-bottom: 10px;
	}
	/* -- メインリード -- */
	.mainLead p:first-child {
		font-size: 1.7rem;
	}
	.mainLead p:first-child + p {
		margin-top: 15px;
   }
}

/* ------------------------------
 ボックス
------------------------------ */
/* -- 横並びボックス（flexbox） --- */
.flexBox {
	display: flex !important;
	flex-flow: row wrap;
}
.flexBox::after {
	display: none;
}
.flexBox > * {
	width: 100%;
}

/* -- 横並びボックス（flexbox） センター揃え --- */
.flexBox.fb-tac {
	justify-content: center;
}

/* -- 横並びボックス（flexbox） 縦センター揃え --- */
.flexBox.fb-vac {
	align-items: center;
}

/* -- 横並びボックス（flexbox） 左右別れ --- */
.flexBox.fb-btw {
	justify-content: space-between;
}

/* -- flex-flow（flexbox） コラム --- */
.flexBox.ff-clm > div {
	flex-flow: column;
}

/* ------------------------------
 ボックス 横幅グリッド （PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* -- 50% --- */
	.w50p {
		width: 50%;
	}

	/* -- 1/2 --- */
	.w546 {
		width: 546px;
	}
	.w1-2 {
		width: 47.895%;
	}
	.w552,
	.w1-2L {
		width: 552px;
	}
	.fl.w546 {
		margin-right: 48px;
	}
	.fr.w546 {
		/* margin-left: 48px; */
		margin-left: 0;
	}
	.fl.w1-2 {
		margin-right: 4.211%;
	}
	.fr.w1-2 {
		/* margin-left: 4.211%; */
		margin-left: 0;
	}

	/* -- サイドナビ有 1/2 --- */
	.w405 {
		width: 405px;
	}

	/* -- 1/3 --- */
	.w350 {
	    width: 350px;
	}
	.w1-3 {
	    width: 30.702% !important;
	}

	/* -- 2/3 --- */
	.w745 {
	    width: 745px;
	}
	.w2-3 {
	    width: 65.351%;
	}
	.fl.w350, .fl.w745 {
		margin-right: 45px;
	}
	.fr.w350, .fr.w745 {
		margin-left: 0;
	}
	.fl.w1-3, .fl.w2-3 {
		margin-right: 3.947%;
	}
	.fr.w1-3, .fr.w2-3 {
		margin-left: 0;
	}

	/* -- 1/4 --- */
	.w258 {
		width: 258px;
	}
	.w1-4 {
		width: 22.632%;
	}

	/* -- 3/4 --- */
	.w846 {
		width: 846px;
	}
	.w3-4 {
		width: 74.211%;
	}
	.fl.w258, .fl.w846, .fl.w552, .fl.w1-2L {
		margin-right: 36px;
	}
	.fr.w258, .fr.w846 {
		margin-left: 0;
	}
	.fl.w1-4, .fl.w3-4 {
		margin-right: 3.159%;
	}
	.fr.w1-4, .fr.w3-4 {
		margin-left: 0;
	}

	/* -- 1/5 --- */
	.w208 {
		width: 208px;
	}
	.w1-5 {
		width: 18.246%;
	}
	.fl.w208 {
		margin-right: 25px;
	}
	.fr.w208 {
		margin-left: 0;
	}
	.fl.w1-5 {
		margin-right: 2.194%;
	}
	.fr.w1-5 {
		margin-left: 0;
	}

	/* -- 3/5 --- */
	.w3-5 {
		width: 59.123%;
	}

	/* -- 4/5 --- */
	.w4-5 {
		width: 79.562%;
	}

	/* -- その他 --- */
	.wide {
		width: 100%;
	}
	.wide:not(.flexBox) > * {
		width: 1140px;
		margin-left: auto;
		margin-right: auto;
	}
	.w-auto {
		width: auto;
	}
	.w4em {
		width: 4em !important;
	}
	.w415 {
		width: 415px;
	}
	.w420 {
		width: 420px;
	}
	.w860 {
		width: 860px;
	}
	.w980 {
		width: 980px;
	}

	/* -- 横並びボックス（flexbox） --- */
	.flexBox.nowide > * {
		width: auto;
	}
	/* flexbox 1/2 */
	.flexBox .w1-2:not(:nth-child(2n)) {
		margin-right: 4.211%;
	}
	/* flexbox 1/2 order使用時 */
	.flexBox .w1-2.order2 {
		margin-right: 0;
	}
	.flexBox .w1-2.order3 {
		margin-right: 4.211%;
	}

	/* flexbox 1/3 */
	.flexBox .w1-3:not(:nth-child(3n)) {
		margin-right: 3.947%;
	}
	/* flexbox 1/4 */
	.flexBox .w1-2L:not(:nth-child(2n)),
	.flexBox .w1-4:not(:nth-child(4n)) {
		margin-right: 3.159%;
	}
	/* flexbox 1/5 */
	.flexBox .w1-5:not(:nth-child(5n)) {
		margin-right: 2.194%;
	}
	/* -- 横並びボックス（flexbox） センター揃え --- */
	.flexBox.pc_fb-tac {
		justify-content: center;
	}
	/* -- 横並びボックス（flexbox） 縦センター揃え --- */
	.flexBox.pc_fb-vac {
		align-items: center;
	}
	/* -- 横並びボックス（flexbox） 左右別れ --- */
	.flexBox.pc_fb-btw {
		justify-content: space-between;
	}


	/* flexbox 上下分け */
	.mHeight {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
	}

	/* 横並びボックス（grid） */
	.gridBox {
		display: grid;
	}
	/* 横並びボックス（grid） 1:1 */
	.gridBox.t1-1 {
		grid-template-columns: 1fr 1fr;
		gap: 30px 4.211%;
	}
}

/* ------------------------------
 ボックス（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* -- 横並びボックス（flexbox） --- */
	/* -- 1/4 --- */
	.sp_w1-2 {
		width: 47.895%;
	}

	/* -- 1/4 --- */
	/* -- 1/5 --- */
	.w1-5,
	.w208 {
		width: 49%;
	}
	.w4-5 + .w208,
	.w4-5 + .w1-5 {
		width: 100%;
	}
	.w1-5.fl,
	.w208.fl,
	.w208.cms_fl {
		float: left !important;
		margin-right: 2%;
	}
	.w1-5.fr,
	.w208.fr,
	.w208.cms_fr {
		float: right !important;
	}

	/* flexbox 1/5 */
	.flexBox .w1-5:not(:nth-child(2n)),
	.sp_mr2 {
		margin-right: 2%;
	}
	/* -- 横並びボックス（flexbox） センター揃え --- */
	.flexBox.sp_fb-tac {
		justify-content: center;
	}
	/* -- 横並びボックス（flexbox） 縦センター揃え --- */
	.flexBox.sp_fb-vac {
		align-items: center;
	}
	/* -- 横並びボックス（flexbox） 左右別れ --- */
	.flexBox.sp_fb-btw {
		justify-content: space-between;
	}

	/* flexbox 1/2 */
	.flexBox .sp_w1-2:not(:nth-child(2n)) {
		margin-right: 4.211%;
	}
	.flexBox .sp_w1-2:not(:nth-last-child(2)):not(:last-child) {
		margin-bottom: 15px;
	}
	/* -- 横幅100％ --- */
	.w1-5.sp100,
	.w208.sp100 {
		width: 100%;
		margin-right: 0 !important;
		float: none !important;
	}

	/* -- その他 --- */
	.wide {
		width: 100%;
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
	.wide.colorBg {
		padding-left: 5%;
		padding-right: 5%;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.sp_w70p {
		width: 70%;
	}
	.sp_w50p {
		width: 50%;
	}
}

/* ------------------------------
 ブロック
------------------------------ */
.contentsHome .wp_block,
.contentsTop .wp_block,
.contents .wp_block {
	width: 1140px;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	margin-bottom: 80px;
}
.inBlock {
	width: 1140px;
	margin: auto;
}
.wp_text {
	margin-bottom: 80px;
}

.wp_text:last-child {
	margin-bottom: 0;
}
.headering + .inBlock {
	padding-bottom: 120px;
}
/* ------------------------------
 ブロック(SP)
------------------------------ */
@media screen and (max-width:767px) {
	.contentsHome .wp_block,
	.contentsTop .wp_block,
	.contents .wp_block {
		width: 100%;
		text-align: left;
		padding-left: 5%;
		padding-right: 5%;
		margin-bottom: 40px;
	}
	.wp_text:not(:last-child) {
		margin-bottom: 40px;
	}
	.inBlock {
		width: 100%;
		padding: 0 5%;
	}
	.headering + .inBlock {
		padding-bottom: 60px;
	}
}
/* ------------------------------
 リスト
------------------------------ */
/*  ノーマルリスト */
ul.list {
	margin-bottom: 0;
}
ul.list li {
	padding-left: 10px;
	position: relative;
}
ul.list li:not(.noteList):before {
	content: "";
	width: 8px;
	height: 8px;
	background: #cc6670;
	vertical-align: top;
	position: absolute;
	top: .6em;
	left: 0;
	border-radius: 100%;
}

/* リストなし */
ul.noneList li {
	padding: 0;
}
ul.noneList li::before {
	content: none;
}

/* 算用数字リスト */
ol {
	text-align: left;
	list-style-type: decimal;
	list-style: none;
	position: relative;
	margin-bottom: 0;
	counter-reset: number;
}
ol li {
	position: relative;
	overflow: visible;
	padding-left: 20px;
}
ol li::before {
	counter-increment: number;
    content: counter(number);
	position: absolute;
	top: .6em;
	left: 0;
	display: block;
	width: 15px;
	height: 15px;
	font-size: 1.1rem;
	font-weight: 700;
	font-family: 'El Messiri', sans-serif;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.075em;
	color: #fff;
	background-color: #cc6670;
}

/* 横並びリスト */
 ul.inline {
	display: flex;
	flex-flow: row wrap;
}
ul.inline li {
	margin-top: 0 !important;
}
 ul.inline li:not(:last-child) {
	margin-right: 15px;
}
ul.inline.tac {
	justify-content: center;
}

/* 横並びリスト 数字*/
ol.inline {
	display: flex;
	flex-flow: row wrap;
}
ol.inline.tac {
	justify-content: center;
}
ol.inline li {
	margin-top: 0 !important;
}
 ol.inline li:not(:last-child) {
	margin-right: 15px;
}
/*  注釈リスト */
ul.noteList li,
ul.list li.noteList {
	padding-left: 1em;
	position: relative;
}
ul.noteList li::before,
ul.list li.noteList::before {
	content: "※";
	vertical-align: top;
	position: absolute;
	left: 0;
}
/* ------------------------------
 リスト(SP)
------------------------------ */
@media screen and (max-width: 767px) {
	 ul.list li {
		padding-left: 10px;
	}
	ul.inline.tac {
		display: block;
		padding-left: 5%;
		padding-right: 5%;
	}
	ul.inline.tac li {
		text-align: left;
	}
}

/* ------------------------------
 テーブル
------------------------------ */
table {
	width: 100%;
	border: 1px solid #d8d4d6;
}
table th,
.is-style-table-left-color td:first-child {
	width: 26%;
	/********** ▼▼▼ 2023/01/11 修正 ▼▼▼ **********/
	border-right: 1px solid #d8d4d6;
	/********** ▲▲▲ 2023/01/11 修正 ▲▲▲ **********/
	background-color: #f4f1eb;
	font-weight: bold;
	text-align: left;
}
table thead th {
	width: auto;
}
table th,
table td {
	padding: 16px 20px;
	border-bottom: 1px dotted #b1a9ad;
	vertical-align: middle;
}
table th,
table td:not(:last-child) {
	border-right: 1px solid #d8d4d6;
}
.wp-block-table td {
	word-break: break-all;
}
/* 打ち消し用 */
.wp-block-table table th,
.wp-block-table table td {
	padding: 16px 20px;
	border: 1px dotted #b1a9ad;
}
/* ------------------------------
 テーブル（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	/*-- tdテキスト左寄せ --*/
	.wp-block-table.tdR tr td {
		text-align: right;
	}
}
/* ------------------------------
 テーブル（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/*スマホ時縦積み*/
	.res table > tbody > tr > th,
	.res table > tbody > tr > td,
	.wp-block-table.res > table > thead > tr > th,
	.wp-block-table.res > table > thead > tr > td,
	.wp-block-table.res > table > tbody > tr > th,
	.wp-block-table.res > table > tbody > tr > td,
	.wp-block-table.res > table > tfoot > tr > th,
	.wp-block-table.res > table > tfoot > tr > td  {
		width: 100%;
		display: block;
		border-right: none;
		/********** ▼▼▼ 2023/01/11 修正 ▼▼▼ **********/
		border-left: none;
		border-top: none;
		/********** ▲▲▲ 2023/01/11 修正 ▲▲▲ **********/
	}
	.res table > tbody > tr:last-child > th,
	.res table > tbody > tr:last-child > td:not(:last-child)  {
		border-bottom: 1px dotted #b1a9ad;
	}
	/********** ▼▼▼ 2023/01/11 修正 ▼▼▼ **********/
	/********** ▼▼▼ 2023/03/20 修正 ▼▼▼ **********/
	.res table > tbody > tr:last-child > td:last-child,
	/********** ▲▲▲ 2023/03/20 修正 ▲▲▲ **********/
	.wp-block-table.res > table > tbody > tr:last-child > td:last-child {
		border-bottom: none;
	}
	/********** ▲▲▲ 2023/01/11 修正 ▲▲▲ **********/
}

/* ------------------------------
 背景
------------------------------ */
/*.bgBlue {
	background-color: #edf0f2;
}
.wp-block-group.bgBlue {
	padding: 30px 40px;
}*/
/* ------------------------------
 背景（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/*.wp-block-group.bgBlue {
		padding: 30px 5%;
	}*/
}
/* ------------------------------
 囲い
------------------------------ */
.thicklineBox {
	position: relative;
	border: 5px solid #e3abb0;
	padding: 60px 45px;
}
.thicklineBox::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	display: block;
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	border: 1px solid #e3abb0;
	z-index: -1;
}
/* ------------------------------
 囲い（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.thicklineBox {
		padding: 30px 25px;
	}
}
/* ------------------------------
 角丸
------------------------------ */
.r10 {
	border-radius: 10px;
}
.r13 {
	border-radius: 13px;
}
.r15,
.r15 img {
	border-radius: 15px;
}
/*10px*/
.wp-block-media-text.mtr10 figure.wp-block-media-text__media img,
.wp-block-gallery.mtr10 li.blocks-gallery-item figure img {
	border-radius: 10px;
}
/* ------------------------------
 ボタン
------------------------------ */
.btn a {
	position: relative;
	display: inline-block;
	min-width: 250px;
	padding: 16px 60px;
	border-radius: 3px;
    background-color: rgba(0, 0, 0, 0);
    background-image: radial-gradient(#e6ddd1 20%, rgba(0,0,0,0) 20%),
   					  radial-gradient(#e6ddd1 20%, rgba(0,0,0,0) 20%);
    background-size: 8px 8px;
    background-position: 0 0, 4px 4px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	color: #401922;
	cursor: pointer;
	transition: .5s;
}
.btn a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	display: block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #a64c5d;
	border-right: 2px solid #a64c5d;
	transform: rotate(45deg);
	margin: auto;
}
.btn a::after {
	content: "";
	position: absolute;
	display: block;
	width: calc(100% - 120px);
	height: 1px;
	left: 0;
	right: 0;
	bottom: 15px;
	background-color: #b59ca1;
	margin: auto;
	transition: .5s;
	opacity: 1;
}
.btn a:hover,
.btn a:focus {
	color: #a64c5d;
}
.btn a:hover::after,
.btn a:focus::after {
	opacity: 0;
}
/* blankの時 */
.btn a[target="_blank"]{
	padding-right: 60px !important;
	background-color: rgba(0, 0, 0, 0);
    background-image: radial-gradient(#e6ddd1 20%, rgba(0,0,0,0) 20%),
   					  radial-gradient(#e6ddd1 20%, rgba(0,0,0,0) 20%);
	background-size: 8px 8px;
	background-position: 0 0, 4px 4px;
	background-repeat: repeat;
}
.btn a[target="_blank"]::before {
	border: none;
	width: 16px;
	height: 16px;
	background: url('../img/icon_blank_rp.svg');
	transform: rotate(0deg);
}
/*背景ピンク*/
/********** ▼▼▼ 2023/02/16 クラス追加 ▼▼▼ **********/
.btn.rp button,
/********** ▲▲▲ 2023/02/16 クラス追加 ▲▲▲ **********/
.btn.rp a {
    background: #a64c5d;
    color: #fff;
	letter-spacing: 0.1em;
}
/********** ▼▼▼ 2023/02/16 クラス追加 ▼▼▼ **********/
.btn.rp button::before,
/********** ▲▲▲ 2023/02/16 クラス追加 ▲▲▲ **********/
.btn.rp a::before {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}
/********** ▼▼▼ 2023/02/16 クラス追加 ▼▼▼ **********/
.btn.rp button::after,
/********** ▲▲▲ 2023/02/16 クラス追加 ▲▲▲ **********/
.btn.rp a::after {
	content: none;
}
/********** ▼▼▼ 2023/02/16 クラス追加 ▼▼▼ **********/
.btn.rp button span,
/********** ▲▲▲ 2023/02/16 クラス追加 ▲▲▲ **********/
.btn.rp a span {
	position: relative;
	display: inline-block;
}
/********** ▼▼▼ 2023/02/16 クラス追加 ▼▼▼ **********/
.btn.rp button span::before,
/********** ▲▲▲ 2023/02/16 クラス追加 ▲▲▲ **********/
.btn.rp a span::before {
	content: "";
	position: absolute;
	bottom: 0;
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
	opacity: .5;
}
/********** ▼▼▼ 2023/02/16 クラス追加 ▼▼▼ **********/
.btn.rp button:hover,
.btn.rp button:focus,
/********** ▲▲▲ 2023/02/16 クラス追加 ▲▲▲ **********/
.btn.rp a:hover,
.btn.rp a:focus {
	opacity: .8;
}
/* ------------------------------
 テキストリンク
------------------------------ */
p.tLink > a {
	position: relative;
	display: inline-block;
	margin-right: 45px;
	border-bottom: 1px solid #b59ca1;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	color: #401922;
	cursor: pointer;
	transition: .5s;
}
p.tLink > a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: -30px;
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #a64c5d;
	border-right: 2px solid #a64c5d;
	transform: rotate(45deg);
	margin: auto;
	z-index: 1;
}
p.tLink > a::after {
	content: "";
	position: absolute;
	display: block;
	width: 35px;
	height: 35px;
	right: -45px;
	top: 0;
	bottom: 0;
	margin: auto;
	border-radius: 100%;
	background-color: #ede7de;
    background-image: radial-gradient(#fff 20%, rgba(0,0,0,0) 20%),
   					  radial-gradient(#fff 20%, rgba(0,0,0,0) 20%);
    background-size: 8px 8px;
    background-position: 0 0, 4px 4px;
}
p.tLink > a:hover,
p.tLink > a:focus {
	color: #a64c5d;
	border-bottom: 1px solid transparent;
}
/* blankの時 */
p.tLink > a[target="_blank"] {
	padding-right: 0 !important;
	background: none;
}
p.tLink > a[target="_blank"]::before {
	right: -35px;
	display: block;
	width: 16px;
	height: 16px;
	border: none;
	background: url('../img/icon_blank_rp.svg') no-repeat;
	transform: rotate(0deg);
	margin: auto;
	z-index: 1;
}
/* ------------------------------
 ページ内リンク
------------------------------ */
/*.pageLink {
	padding: 50px 0;
}*/
.pageLink ul {
	text-align: center;
}
.pageLink ul li {
	display: inline-block;
	text-align: center;
}
.pageLink ul li a {
	position: relative;
	display: block;
	min-width: 210px;
	padding: 13px 40px;
	line-height: 1;
	font-style: italic;
	text-decoration: none;
	border: 1px solid #00467d;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.pageLink ul li a:hover {
	color: #fff;
	background-color: #00467d;
}
.pageLink ul li a::before,
.pageLink ul li a::after {
	content: "";
	position: absolute;
	display: block;
	width: 5px;
	height: 5px;
	transform: rotate(45deg);
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.pageLink ul li a::before {
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	opacity: 0;
}
.pageLink ul li a::after {
	border-right: 1px solid #00467d;
	border-bottom: 1px solid #00467d;
}
.pageLink ul li a:hover::before {
	opacity: 1;
}
.pageLink ul li a:hover::after {
	opacity: 0;
}
/* ------------------------------
 ページ内リンク(PC)
------------------------------ */
@media print,screen and (min-width:768px) {
	.pageLink ul li:not(:last-child) {
		margin-right: 10px;
	}
}
/* ------------------------------
 ページ内リンク（SP）
------------------------------ */

@media screen and (max-width:767px) {
	.pageLink ul li:not(:last-child) {
		margin-bottom: 10px;
	}
}
/* ------------------------------
 アンカーリンク先の調整（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	.alink {
		margin-top: -120px;
		padding-top: 120px;
	}

}
/* ------------------------------
 アンカーリンク先の調整（SP）
------------------------------ */
@media screen and (max-width:767px) {
	.alink {
		margin-top: -52px;
		padding-top: 52px;
	}
}
/* ------------------------------
 アイコン
------------------------------ */
.link a {
	text-decoration: none;
	position: relative;
	color: #7DB200;
}
.blank a,
a[target="_blank"] {
	background: url("../img/icon_blank_rp.svg") no-repeat right 0 center;
}
.blank_w a,
a[target="_blank"].blank_w {
	background: url("../img/icon_blank_w.png") no-repeat right 0 center;
}
.blank a,
a[target="_blank"],
.blank_w a,
a[target="_blank"].blank_w {
	padding-right: 20px;
	content: '';
}
.noblank a {
	padding-right: 0 !important;
	background: none;
}
p.link,
p.blank {
	margin-bottom: 0;
}
.icon_arrow {
	display: inline-block;
	padding-right: 30px;
	background: url('../img/btn_arrow_b.png') no-repeat right 0 bottom .5em ;
	background-size: 25px;
}
/* ------------------------------
 Googleマップ
------------------------------ */
.gmap {
	position: relative;
	padding-bottom: 54.609%;
	height: 0;
	overflow: hidden;
}
.gmap  iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.gmap .btn a {
	margin: auto;
	padding: 15px 0;
	max-width: 252px;
}
@media screen and (max-width:767px) {
	.gmap {
		padding-bottom: 80%;
	}
}

/* ---------------------------------------- */
/* フォーム関連
/* ---------------------------------------- */
/* ---------------------------------------- */
/* チェックボックス
/* ---------------------------------------- */
label {
	display: inline-block;
	color: #401922;
	cursor: pointer;
}
input[type="checkbox"] {
	position: absolute;
	appearance: none;
}
input[type="checkbox"] + span {
	display: inline-block;
	position: relative;
	width: 14px;
	height: 14px;
	margin-right: 0.5em;
	border: 1px solid #dbcfbd;
	border-radius: 0;
	background-color: #fff;
}
input[type="checkbox"]:focus + span {
	border: 1px solid #a64c5d;
}
input[type="checkbox"] + span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 8px;
	height: 8px;
	margin: auto;
	background: #fff;
}
input[type="checkbox"]:checked + span::before {
	background: #cc6670;
}
/*チェックボックス 中が四角 横並び*/
.form .checkbox ul {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 10px 30px;
}
/*チェックボックス checkマーク*/
.checkList input[type="checkbox"] + span {
	width: 15px;
	height: 15px;
	margin-top: 7px;
}
.checkList input[type="checkbox"] + span::before {
	opacity: 0;
	top: -2px;
	right: auto;
	bottom: auto;
	left: 3px;
	width: 14px;
	height: 12px;
	background: url("../img/icon_check.svg") no-repeat;
}
.checkList input[type="checkbox"]:checked + span::before {
	opacity: 1;
	background-color: transparent;
}
/* ---------------------------------------- */
/* ラジオボタン
/* ---------------------------------------- */
input[type="radio"]{
    position: absolute;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input[type="radio"] + span{
    position: relative;
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 1px solid #dbcfbd;
    border-radius: 100%;
    background-color: #fff;
	margin-top: 8px;
    margin-right: 5px;
}

input[type="radio"] + span::before{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border-radius: 100%;
    width: 9px;
    height: 9px;
}

input[type="radio"]:checked + span::before{
    background-color: #cc6670;
}

input[type="radio"]:focus + span {
    border: 1px solid #a64c5d;
}
/*ラジオボタン 横並び*/
/* .radiobox ul {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 10px 30px;
} */

/* ---------------------------------------- */
/* ボタン
/* ---------------------------------------- */
/*buttonタグ*/
.btn button {
	position: relative;
	display: inline-block;
	min-width: 250px;
	padding: 16px 30px;
	border-radius: 3px;
    background-color: rgba(0, 0, 0, 0);
    background-image: radial-gradient(#e6ddd1 20%, rgba(0,0,0,0) 20%),
   					  radial-gradient(#e6ddd1 20%, rgba(0,0,0,0) 20%);
    background-size: 8px 8px;
    background-position: 0 0, 4px 4px;
	font-weight: bold;
	text-align: center;
	color: #401922;
	cursor: pointer;
	transition: .5s;
}
.btn button::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	display: block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #a64c5d;
	border-right: 2px solid #a64c5d;
	transform: rotate(45deg);
	margin: auto;
}
.btn button span {
	position: relative;
	display: inline-block;
}
.btn button span::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #b59ca1;
	margin: auto;
	transition: .5s;
	opacity: 1;
}
.btn button:not(:disabled):hover,
.btn button:not(:disabled):focus {
	color: #a64c5d;
}
.btn button:not(:disabled):hover span::before, 
.btn button:not(:disabled):focus span::before {
	opacity: 0;
}
/*disabled*/
.btn button:disabled {
	background: #ece8e9;
	color: #401922;
	cursor: auto;
	opacity: 0.5;
}
/*シンプルな共通ボタン*/
button.btn-a,
.btn-a:not(.btn) button {
    display: block;
	min-width: 120px;
    padding: 16px 10px;
    background: #a64c5d;
    border-radius: 3px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    letter-spacing: 0.05em;
	cursor: pointer;   
	-webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
button.btn-a span,
.btn-a:not(.btn) button span {
    position: relative;
    display: inline-block;
    text-align: center;
}
button.btn-a span::before,
.btn-a:not(.btn) button span::before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 1px;
    background: rgba(255,255,255,.5);
    bottom: 0;
}
button.btn-a:hover,
.btn-a:not(.btn) button:hover,
button.btn-a:focus,
.btn-a:not(.btn) button:focus {
	opacity: .8;
}
/*削除ボタン&戻るボタン*/
button.btn-remove,
.btn-remove:not(.btn) button,
button.btn-back,
.btn-back:not(.btn) button {
	position: relative;
	display: block;
	padding: 16px 10px;
	border-radius: 3px;
	border: 1px solid #cfc6c8;
	background: #f5f4f4;
	font-weight: 700;
	color: #401922;
	-webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
	cursor: pointer;
}
button.btn-remove span,
.btn-remove:not(.btn) button span,
button.btn-back span,
.btn-back:not(.btn) button span {
    position: relative;
    display: inline-block;
    text-align: center;
}
button.btn-remove span::before,
.btn-remove:not(.btn) button span::before,
button.btn-back span::before,
.btn-back:not(.btn) button span::before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 1px;
    background: #b59ca1;
    bottom: 0;
}
button.btn-remove:hover,
.btn-remove:not(.btn) button:hover,
button.btn-back:hover,
.btn-back:not(.btn) button:hover,
button.btn-remove:focus,
.btn-remove:not(.btn) button:focus,
button.btn-back:focus,
.btn-back:not(.btn) button:focus{
	opacity: .8;
}
/*削除ボタン*/
button.btn-remove,
.btn-remove:not(.btn) button {
	min-width: 120px;
}
/*戻るボタン*/
button.btn-back,
.btn-back:not(.btn) button {
	min-width: 100px;
}
/*送信ボタン*/
/* button.btn-submit,
.btn-submit:not(.btn) button {

} */

/* ---------------------------------------- */
/* リンクボタン
/* ---------------------------------------- */
a.btn-a,
a.btn-copy {
	display: inline-block;
	padding: 1em 2em;
	border-radius: 3px;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	cursor: pointer;
}
/* シンプルなボタン */
a.btn-a {
	background: #a64c5d;
	color: #fff;
}
/* 複製ボタン */
a.btn-copy {
	background: #fff;
	color: #a64c5d;
	border: 2px solid #a64c5d;
}
/* ------------------------------------------------------------ */
/* アイコン
/* ------------------------------------------------------------ */
ul.icon li,
span.icon {
	display: inline-block;
	width: auto;
	padding: 0.25em 0.5em;
	letter-spacing: 0.05em;
	text-align: center;
	vertical-align: middle;
}

/* ------------------------------ */
/* タグ
/* ------------------------------ */
/*タグ諸々*/
.tag {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 20px;
}
.tag span {
	display: inline-block;
	/********** ▼▼▼ 2022/08/25 修正 ▼▼▼ **********/
	min-width: 110px;
	padding: 0 0.5em;
	/* width: 110px; */
	/********** ▲▲▲ 2022/08/25 修正 ▲▲▲ **********/
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.05em;
	border-radius: 3px;
	border: 1px solid transparent;
	box-sizing: border-box;
}
/*職業*/
.tag span.job {
    color: #fff;
    background-color: #cc6670;
}
/********** ▼▼▼ 2022/08/25 修正 ▼▼▼ **********/
.tag span.work {
    color: #cc6670;
    border: 1px solid #cc6670;
}
/*パート*/
/* .tag span.work.part {
    color: #63545c;
    border: 1px solid #63545c;
} */
/********** ▲▲▲ 2022/08/25 修正 ▲▲▲ **********/
/*経験者*/
.tag span.person {
    color: #63545c;
    background-color: #e8e5e7;
}
/*未経験*/
.tag span.person.in {
    color: #cc6670;
    background-color: #f7e8ea;
}
/*1日体験*/
.tag span.ex {
    color: #cc6670;
    background-color: rgba(0, 0, 0, 0);
    background-image: radial-gradient(rgba(204,102,112,0.3) 20%, rgba(0,0,0,0) 20%), radial-gradient(rgba(204,102,112,0.3) 20%, rgba(0,0,0,0) 20%);
    background-size: 8px 8px;
    background-position: 0 0, 4px 4px;
}
/* ------------------------------ */
/* 
/* ------------------------------ */


