@charset "UTF-8";

/*各ページ特有指定（あまり汎用的でないもの）を記載*/
/*切替[基本：max568 min569／デザインによっては：768／それ以外は個別・特例的に設定]*/

/*文字背景色*/
p.tbg01{
	display: inline-block;
	background-color: #ffdade;
	padding: 2px 1px;
}
.marker {
	/*background-color: #ff9;*/
	background:linear-gradient(transparent 60%, #bfeafb 60%);	/*文字半分にかかるくらいlinear-gradient(transparent　色の割合, 蛍光ペンの色 色の割合)*/
}
.marker2 {
	background-color: #d8f6ff;
}
/*文字間*/
.tx-les01{
	letter-spacing: 0.25em;
}


.mt-5{
	margin-top: -5px;
}
.mb-30{
	margin-bottom: -30px;
}
/*通常の定義リスト　今回はメカニズムで他の指定をするためにコメントアウト
dt, dd {
	margin: 0;
	box-sizing: border-box;
}
dl {
	display: flex;
	flex-wrap: wrap;
}
dt{
	color: #d30000;
	padding: 4px;
	border-left: 10px solid #a9c0d8;
	border-bottom: 1px dashed #999;
	background-color: rgba(255,255,255,0.9);
	width: 15em;
}

dd{
	padding: 4px;
	border-bottom: 1px dashed #999;
	background-color: rgba(255,255,255,0.9);
	width: calc(100% - 15em);
}
@media (max-width: 568px) {
	dt{
		display: block;
		font-weight: bold;
		border-left: 0;
		background-color: rgb(234, 179, 14);
		width: 100%;
		color: #271d1d;
	}
	dd{
		display: block;
		width: 100%;
	}
}
*/
div.c-contents{
	box-sizing: border-box;
	display: block;
	width:80%;
	margin: 0 auto;
	padding: 10px;
	text-align:center;
	background-color: #fff;
}
@media screen and (max-width: 768px) {
	div.c-contents {
		width:100%;
		padding: 5px;
	}
}
ul.nor{
	list-style: disc;
	margin-left: 25px;
	line-height: 1.5;
}
ul.nor li::marker{
	font-size: 150%;
	font-weight: bold;
	line-height: 0.8;
	color: #008dc6;
}

ul.nor2{
	list-style: disc;
	margin-left: 20px;
	line-height: 1.5;
}
ul.nor2 li::marker{
	font-size: 120%;
	font-weight: bold;
	line-height: 0.8;
	color: #008dc6;
}
b.emphasis {
	box-sizing: border-box;
	text-align: center;
	font-size: clamp(18px, 2.5vw, 23px);
	line-height: 1.3;
	font-weight: normal;
	color: #fff;
	display: block;
	background: #26a5b3;
	/*border: 5px double #ebbb61;*/
	/*width: calc(100% - 10px);*/
	margin: 15px auto;
	padding: 10px;
}

b.emphasis2 {
	box-sizing: border-box;
	font-size: clamp(16px, 1.9vw, 20px);
	line-height: 1.3;
	font-weight: normal;
	display: block;
	background: #26a5b3;
	margin: 15px auto;
	padding: 10px;
}
/*文字ボタン*/
.btwi{
	width: 65%;
	margin: 30px auto;
}
@media screen and (max-width: 768px) {
	.btwi{
		width: 80%;
	}
}
@media screen and (max-width: 568px) {
	.btwi{
		width: 100%;
	}
}
.c-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 55px;
	color: #fff;
	font-size: 17px;
	line-height: 1.1;
	text-decoration: none;
	transition: 0.3s;
	/*margin: 0 auto;*/
	/*border-radius: 50px;*/
	padding: 0 32px 0 20px;
	margin:0 5px;
}

.c-btn a:hover {
	color: #fff;
}

.c-btn p {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 55px;
	color: #fff;
	font-size: 17px;
	line-height: 1.1;
	text-decoration: none;
	transition: 0.3s;
	margin: 5px;
	border-radius: 50px;
	padding: 0 20px;
}
.btn07 p {
	background-color: #bf5b84;
	font-size: clamp(13px,2vw,16px);
}

.btn07 a {
	background-color: #83274e;
	border: 1px solid #dfdfdf;
	font-size: clamp(13px,2vw,16px);
}

/*.btn07 a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	width: 17px;
	height: 17px;
	background-color: transparent;
	border: 2px solid #fff;
	border-radius: 50%;
}*/	/*〇を入れる場合はイキ*/

.btn07 a::after {
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: 20px;
	transform: rotate(45deg) translateY(-50%);
	width: 6px;
	height: 6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	border-color: #ccc #ccc transparent transparent;
}

.btn07 a:hover {
	background-color: #bf5b84;
	/*border: 1px solid #333;*/
}

.btn07 a:hover::before {
	border: 1px solid #f2f2f2;
}

.btn07 a:hover::after {
	border-color: #f2f2f2 #f2f2f2 transparent transparent;
}




img.imic{
	width:25px;
	margin-right:5px;

}

/*テーブル　汎用*/
.col1{
	background-color: #ddd;
}
.col2{
	background-color: #d9eef0;
}
/*一般(usually)テーブル*/
table.u-tab {
	/*width: 80%;*/	/*article class="entry" 内に入れるならいらない*/
	margin: 0px auto;
	/*border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;*/
}

table.u-tab tr th{
	font-size: 13.5px;
	text-align:left;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	line-height: 1.3;
	padding: 7px;
	background-color: #d3edf0;
}
table.u-tab tr td{
	font-size: 13.5px;
	text-align:left;
	/*border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;*/
	border-bottom: 1px solid #83274e;
	line-height: 1.3;
	padding: 10px;
	background: rgb(250, 235, 241);
}

table.u-tab tr.col2 td.w1{
	width:29%;
}
table.u-tab tr.col2 td.w2{
	width:29%;
}
table.u-tab tr.col2 td.w3{
	width:42%;
}
@media screen and (max-width: 800px) {
	table.u-tab {
		width: 100%;
	}
}
@media screen and (max-width: 568px) {
	table.u-tab tr th{
		font-size: 12.5px;
		padding: 3px;
		width: 40%;
	}
	table.u-tab tr td{
		font-size: 12.5px;
		padding: 10px;
	}
	table.u-tab tr td:nth-of-type(1){
		width: 5rem;	/* 1列目のスタイル */
	}
}


/*文字縁取り*/
.fuchidori {
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
		-1px 1px 0 #FFF, 1px -1px 0 #FFF,
		0px 1px 0 #FFF,  0-1px 0 #FFF,
		-1px 0 0 #FFF, 1px 0 0 #FFF;
}
/*WhatsNew*/
.wn {
	border: 1px solid #b8ae86;
	border-radius: 10px;
	padding: 20px;
	height: 100px;
	overflow: auto;
}
.what-date {
	font-weight: bold;
	color: #867942;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.wn p {
	border-bottom: 1px dashed #867942;
	margin-bottom: 10px;
}

/*文字装飾*/
.kakomi-p01{
	padding:1px 8px; /* 枠と文字の空間 */
	margin:2.5px 5px; /* 枠の外の空間 */
	background-color:#f7efad; /* 枠の背景色 */
	border:1px solid #aeaeae; /* 枠の線の太さ・種類・色 */
	border-radius:5px; /* 枠の角を丸くする */
	/*box-shadow: 1px 2px 2px #ddd;*/ /*影をいれる*/
	font-family:inherit; /* フォントの種類を継承する */
	font-size:0.65em;	/* フォントの大きさ */
	text-align:center;
}
.kakomi-p02{
	padding:1px 8px; /* 枠と文字の空間 */
	margin:2.5px 5px; /* 枠の外の空間 */
	background-color:#e6bcbc; /* 枠の背景色 */
	border:1px solid #aeaeae;	/* 枠の線の太さ・種類・色 */
	border-radius:5px; /* 枠の角を丸くする */
	/*box-shadow: 1px 2px 2px #ddd;*/	/*影をいれる*/
	font-family:inherit; /* フォントの種類を継承する */
	font-size:0.65em;	/* フォントの大きさ */
	text-align:center;
}


/*フロー横展開　メカニズム部分の指定*/
.flow01 {
	padding-left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}
ul.flow01 {
	margin-left:0px;
}
.flow01 > li {
	list-style-type: none;
	width: 100%;
	max-width: calc( (100% - 100px) / 6 );
	display: flex;
}

.flow01 > li .icon01 {
	line-height: 2;
	width: 2em;
	height: 2em;
	text-align: center;
	color: #fff;
	background: #d27c9f;
	margin: 0 auto 10px;
	display: block;
	border-radius: 100vh;
	position: relative;
}

/*.flow01 > li .icon01::before {
	content: "";
	border: solid transparent;
	border-width: 7px;
	border-top-color: #E05104;
	position: absolute;
	top: calc(100% - 2px);
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}*//*番号部分の吹き出し*/

.flow01 > li dl {
	padding: 20px 9px;
	margin: 0;
	border: 2px solid #f4e0e3;
	position: relative;
	background-color:rgba(255,255,255,0.7);
}

.flow01 > li:not(:first-child) dl::before {
	content: "";
	width: 10px;
	height: 10px;
	margin-right: 10px;
	display: inline-block;
	border-top: 4px solid #82264d;	/*右矢印*/
	border-right: 4px solid #82264d;
	position: absolute;
	top: calc(50% - 10px);/*矢印の位置*/
	left: -22px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.flow01 > li dl dt {
	font-family: "Montserrat", sans-serif;
	font-size: clamp(13px,1.4vw,16px);
	font-weight: 600;
	color: #83274e;
	-ms-flex-preferred-size: 20%;
	flex-basis: 20%;
	margin-bottom: 10px;
	text-align: center;
}

.flow01 > li dl dd {
	margin-left: 0;
	font-size: 15px;
	line-height: 1.4;
}

@media screen and (max-width: 768px){
	.flow01 {
		gap: 20px;
	}
	.flow01 > li {
		max-width: unset;
		display: block;
	}
	.flow01 > li:not(:first-child) dl::before {
		display: none;
	}
}

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




/*FAQ*/
.closed{
	display: block;
	cursor: default;
}
dd.closed{
	box-sizing: border-box;		/*サイズの計算法を変更*/
	margin:0;
}

table.qt{
	margin:5px auto;
}
table.at{
	margin:10px auto 5px auto;
}
table.qt tr>*:first-child{
	width:2em;
	font-size:20px;
	color:#26a5b3;
}
table.at tr>*:first-child{
	width:2em;
	font-size:20px;
	color:#bf9c5d;
	vertical-align:baseline;
}

/*会社概要*/
.bg_b{
	background: rgb(250, 235, 241);
	padding:20px;
}



.vertical {
	writing-mode: vertical-rl;
}




.heading04 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	text-align: center;
	border: 0;
	color: #83274e;
}

.heading04::before,
.heading04::after {
	content: '';
	width: 4px;
	height: 40px;
	background-color: #84ccb4;
}

.heading04::before {
	margin-right: 30px;
	transform: rotate(-35deg)
}
.heading04::after {
	margin-left: 30px;
	transform: rotate(35deg)
}
@media screen and (max-width: 568px) {
	.heading04 {
		font-size: 19px;
	}
	.heading04::before {
		margin-right: 17px;
	}
	.heading04::after {
		margin-left: 17px;
	}
}


.images_item04 {
  position: relative;
}

.images_item04::before {
  content: "";
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(#999 30%, rgba(0, 0, 0, 0) 31%), radial-gradient(#999 30%, rgba(0, 0, 0, 0) 31%);
  background-size: 6px 6px;
  background-position: 0 0, 3px 3px;
  z-index: -1;
}

