@charset "UTF-8";
/*
tinyHP_CSS-ver2.0
ver1.0との違いは、フォントサイズにclamp関数を利用
【補足１】 CSS設計について
PRECSSに準じて設計
https://precss.io/ja/
【補足2】ルールは下記参考
https://docs.google.com/spreadsheets/d/1_iSwXbFPzkdrZUrFvt9Nrsr8OnIVCGj-yeftvkkjJDM/edit?usp=sharing
*/
/* ==========================================================================
  Base ベース
========================================================================== */
/* 変数*/
:root{
	--maxWidth:1120px;
	--maxWidthMd:980px;
	--gapTB:clamp(35px, 27.952px + 1.88vw, 55px);
	--gapTB:clamp(35px, 24.432px + 2.82vw, 65px);
	--gapRL:5.33%; /*親375px 20px */
	--colorBkg:#fff;
	--colorBase:#eee;
	--colorLightGray:#F0F0F0;
	--colorMain:#a77d43;
	--colorMain-rgb:0, 27, 65;
	--colorAccent:#C9AF67;
	--colorTxt:#333333;
	--fontsFamAccent:'Noto Serif JP', serif;
	--fontSizeDefolt:clamp(1rem, 0.956rem + 0.19vw, 1.125rem);/*VALUES MINI16px MAX18px==VIEWPORT MINI375px MAX1440px*/
	--fontSizeMd:clamp(0.938rem, 0.893rem + 0.19vw, 1.063rem);/*VALUES MINI15px MAX17px==VIEWPORT MINI375px MAX1440px*/
	--fontSizeSm:clamp(0.875rem, 0.831rem + 0.19vw, 1rem);/*VALUES MINI14px MAX16px==VIEWPORT MINI375px MAX1440px*/
	--fontWtRegular:400;
	--fontWtMedium:500;
	--fontWtSemibold:600;
	--fontWtBold:700;
	--rem15px: 0.938rem; 
	--rem16px: 1rem;
	--rem17px: 1.063rem;
	--rem18px: 1.125rem; 
	--rem20px: 1.25rem;
	--rem21px: 1.313rem;
	--rem25px: 1.563rem;
	--rem31px: 1.938rem;
}
@media (min-width: 768px) {
	:root{
		--gapRL:2.92%; /*親1440px 42px */
	}
}
/* 要素*/
html{
	font-family: "Noto Sans Japanese", "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
body{
	position: relative;
	color: #555555;
	line-height: 1.0;
}
a { transition:.3s; color: inherit; text-decoration: underline;}
/* ==========================================================================
  Layout　レイアウト
========================================================================== */
/* ly_sec
========================================================================== */
.ly_sec{
	margin-bottom: var(--gapTB);
}
.ly_sec_body{
	max-width: calc(var(--maxWidth) + var(--gapRL) + var(--gapRL));
	padding: var(--gapTB) var(--gapRL);
	margin: 0 auto;
}
.ly_sec_body__feeupdate{
	padding: calc(var(--gapTB) + 30px) var(--gapRL);
	max-width: 800px;
}
/* ly_cont
========================================================================== */
.ly_cont{
	margin-top: var(--gapTB);
	padding: calc(var(--gapTB) * .75) var(--gapRL);
	background-color: var(--colorLightGray);
	border-radius: 10px;
}
.ly_cont.ly_cont__mtHarf{
	margin-top: calc(var(--gapTB) * .7 );
}
.ly_cont.ly_cont__bgNormal{
	padding: 0 calc(var(--gapRL) * .5);
	background-color: inherit;
	border-radius: 0;
}
.ly_cont.ly_cont__maxW920{
	max-width: 920px;
	margin-inline: auto;
}
.ly_cont.ly_cont__maxW700{
	max-width: 700px;
	margin-inline: auto;
}
.ly_cont_header{
	margin-bottom: 1.2em;
}
.ly_cont_body{
	line-height: 1.7;
	letter-spacing: .05em;
}
.ly_cont_body p{
	margin-bottom: 1.5em;
}
.ly_cont_body > *:last-child{
	margin-bottom: 0;
}
/* .ly_cont_inner2col */
.ly_cont_inner2col_imgWrap{
	margin-top: 1em;
}
@media (min-width: 768px){
	.ly_cont_inner2col{
		display: flex;
		justify-content: space-between;
	}
	.ly_cont_inner2col.ly_cont_inner2col__rowreverse{
		flex-direction: row-reverse;
	}
	.ly_cont_inner2col.ly_cont_inner2col__wSm{
		max-width: 830px;
	}
	.ly_cont_inner2col_imgWrap{
		width: 38%;
		margin-top: 0;
	}
	.ly_cont_inner2col_txtWrap{
		width: calc(100% - 38% - clamp(30px, 18.576px + 1.49vw, 40px));
	}
	.ly_cont_inner2col_imgWrap.ly_cont_inner2col_imgWrap__bcm{
		width: 25%;
		margin-top: -30px;
	}
	.ly_cont_inner2col_txtWrap.ly_cont_inner2col_txtWrap__bcm{
		width: calc(100% - 25% - clamp(30px, 18.576px + 1.49vw, 60px));
	}
}
/* .ly_cont__hasPic */
.ly_cont.ly_cont__hasPic .ly_cont_picArea{
	margin-bottom: 1.5em;
}
@media (min-width: 768px){
	.ly_cont.ly_cont__hasPic{
		display: grid;
		grid-template-columns: calc(100% - 38% - clamp(30px, 18.576px + 1.49vw, 40px)) 38%;
		grid-template-rows: auto auto;
		column-gap: clamp(30px, 18.576px + 1.49vw, 40px);
	}
	.ly_cont.ly_cont__hasPic .ly_cont_header{
		grid-column: 1;
		grid-row: 1;
		margin-bottom: 1.5em;
	}
	.ly_cont.ly_cont__hasPic .ly_cont_body{
		grid-column: 1;
		grid-row: 2;
	}
	.ly_cont.ly_cont__hasPic .ly_cont_picArea{
		grid-column: 2;
		grid-row: 1 / 3;
		padding-top: .5em;
		margin: 0;
	}
}
/* ==========================================================================
  Javascript Modules jsモジュyール
========================================================================== */

/* ==========================================================================
  Element Modules エレメントモジュール
========================================================================== */
/*
.el_headingFeeupdate
*/
.el_headingFeeupdate{
	position: relative;
	padding-left: 1.1em;
	border-left: 2px solid var(--colorMain);
	font-size: clamp(1.25rem, 1.074rem + 0.75vw, 1.75rem);/* MINI 20px  MAX 28px*/
	font-family: var(--fontsFamAccent);
	font-size: 1.5em;
	font-weight: var(--fontWtMedium);
	letter-spacing: .05em;
	line-height: 1.5;
}
/*
el_headingLv3
*/
.el_headingLv3{
	position: relative;
	padding-left: 1.1em;
	padding-left: .8em;
	color: var(--colorMain);
	font-family: var(--fontsFamAccent);
	font-size: clamp(1.25rem, 1.074rem + 0.75vw, 1.75rem);/* MINI 20px  MAX 28px*/
	font-size: 1.3em;
	font-weight: var(--fontWtMedium);
	letter-spacing: .05em;
	line-height: 1.5;
}
.el_headingLv3.el_headingLv3__letterSpacing0{
	letter-spacing: 0;
}
.el_headingLv3::before{
	content: "";
	position: absolute;
	/*top:calc(50% + .1em);
	transform: translateY(-50%);*/
	top: .55em;
	top: .7em;
	left: 0;
	width: .8em;
	height: 1px;
	background-color: var(--colorMain);
}
.el_headingLv3_subtxt{
	font-weight: 400;
	font-size: .8em;
	display: inline-block;
}
/*
el_headingLv4
*/
.el_headingLv4{
	margin-bottom: .5em;
	font-size: 1.1em;
	font-weight: bold;
}

/* el_link
========================================================================== */
/*
el_linkTxt
*/
a.el_linkTxt{
	color: inherit;
}
@media (hover: hover) and (pointer: fine){
	a.el_linkTxt:hover{
		color: var(--colorMain);
	}
}
/*
el_linkBtn
*/
.el_linkBtn{
	position: relative;
	display: inline-block;
	padding-top: .2em;
	padding-right: 2.5em;
	padding-bottom: .3em;
	letter-spacing: .05em;
	line-height: 1.2;
	text-align: right;
	text-decoration: none;
}
.el_linkBtn.el_linkBtn__colorMain{
	color: var(--colorMain);
}
.el_linkBtn.el_linkBtn__fontSizeSm{
	font-size: 0.889em;
}
.el_linkBtn::before{
	content: "\e900";
	position: absolute;
	right: 0;
	top:50%;
	transform: translateY(-50%);
	color: var(--colorMain);
	font-size: 1.778em;
	font-family: 'icon-clinicWeb' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
	transition:.3s;
}
@media (hover: hover) and (pointer: fine){
	.el_linkBtn:hover{
		opacity: .7;
		color: var(--colorMain);
	}
}
/*
el_linkBtn2
*/
.el_linkBtn2{
	position: relative;
	display: inline-block;
	padding-top: .2em;
	padding-top: .8em;
	padding-right: 2.0em;
	padding-right: 3.0em;
	padding-bottom: .3em;
	padding-bottom: .9em;
	padding-left: 1.2em;
	background-color: var(--colorMain);
	border-radius: 2em;
	color: #fff;
	letter-spacing: .05em;
	line-height: 1.2;
	text-align: right;
	text-decoration: none;
}
.el_linkBtn2.el_linkBtn2__noIcon{
	padding-left: 3.0em;
}
.el_linkBtn2.el_linkBtn2__fontSizeSm{
	font-size: 0.889em;
}
.el_linkBtn2.el_linkBtn2__noIcon::before{
	content: none;
}
.el_linkBtn2::before{
	content: "\e900";
	position: absolute;
	right: .6em;
	top:50%;
	transform: translateY(-50%);
	font-size: 1.778em;
	font-size: 1.5em;
	font-family: 'icon-clinicWeb' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
	transition:.3s;
}
@media (hover: hover) and (pointer: fine){
	.el_linkBtn2:hover{
		opacity: .7;
	}
}
/* ==========================================================================
  Block Modules　ブロックモジュール
========================================================================== */
/* bl_listCheck
========================================================================== */
ul.bl_listCheck li{
	position: relative;
	padding-left: 1.3em;
	margin-bottom: .5em;
	line-height: 1.5;
}
ul.bl_listCheck.bl_listCheck__fontSizeMd li{
	font-size: 1.111em;
}
ul.bl_listCheck li:last-child{
	margin-bottom: 0;
}
ul.bl_listCheck li::before{
	content: '\e2e6';
	position: absolute;
	top:.1em;
	left: 0;
	color: var(--colorMain);
	font-family: 'Material Icons';
}
.bl_listCheck_subtxt{
	font-size: .8em;
}
/* bl_listBullet
========================================================================== */
ul.bl_listBullet li{
	position: relative;
	line-height: 1.5;
	margin-bottom: .5em;
	padding-left: 1em;
}
ul.bl_listBullet li::before{
	content: "・";
	position: absolute;
	top:0;
	left:0;
	color:var(--colorMain);
}
ul.bl_listBullet.bl_listBullet__fontSm{
	font-size: .95em;
}
/* bl_listCircle
========================================================================== */
ul.bl_listCircle > li {
	position: relative;
	padding-left: 1.3em;
	margin-bottom: .5em;
	line-height: 1.5;
}
ul.bl_listCircle > li:last-child{
	margin-bottom: 0;
}
ul.bl_listCircle > li::before {
	content: '';
	position: absolute;
	top: .44em;
	left: 0;
	display: block;
	width: .8em;
	height: .8em;
	background-color: var(--colorMain);
	border-radius: 50%;
}
/* bl_listNote
========================================================================== */
ul.bl_listNote > li {
	position: relative;
	padding-left: 1.1em;
	margin-bottom: .6em;
	line-height: 1.5;
}
ul.bl_listNote.bl_listNote__fsSm li{
	font-size: 0.889em;
}
ul.bl_listNote > li::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	color: red;
}
ul.bl_listNote li:last-child{
	margin-bottom: 0;
}
ul.bl_listNote.bl_listNote__flex{
	display: flex;
	flex-wrap: wrap;
	column-gap: 1em;
}

/* bl_listOrdered
========================================================================== */
ol.bl_listOrdered {
  list-style: none;
  counter-reset: item;
  padding-left: 1em;
}

ol.bl_listOrdered > li {
  counter-increment: item;
  position: relative;
  margin-bottom: 0.5em;
  padding-left: 2em;
}

ol.bl_listOrdered > li::before {
  content: counter(item) ". ";
  position: absolute;
  left: 0;
}
/* bl_listDL
========================================================================== */
dl.bl_listDL dt{
	position: relative;
	margin-bottom: .2em;
	padding-left: 1em;
	color: var(--colorMain);
	font-size: clamp(1.063rem, 0.996rem + 0.28vw, 1.25rem);/* MINI 17px  MAX 20px*/
	font-weight: var(--fontWtMedium);
	letter-spacing: .05em;
	line-height: 1.5;
}
dl.bl_listDL dt::before{
	content: "";
	position: absolute;
	top: .1em;
	bottom: .1em;
	left: 0;
	width: .2em;
	background-color: var(--colorMain);
}
dl.bl_listDL.bl_listDL__dot{
	padding-left: 1em;
}
dl.bl_listDL.bl_listDL__dot dt::before{
	content: "";
	position: absolute;
	top: .55em;
	left: 0;
	width: .5em;
	height: .5em;
	background-color: var(--colorMain);
	border-radius: 50%;
}
dl.bl_listDL dd{
	padding-left: 1em;
	margin-bottom: 2.5em;
	line-height: 1.7;
}
dl.bl_listDL.bl_listDL__dot dd{
	margin-bottom: 1.5em;
}
dl.bl_listDL dd p{
	margin-bottom: .8em;
}
dl.bl_listDL dd:last-child{
	margin-bottom: 0;
}
.bl_listDL_dtSub{
	font-size: .9em;
	font-weight: normal;
}
.bl_listDL_2ndCont{
	display: block;
}
.bl_listDL_2ndCon.bl_listDL_2ndCon__fontSm{
	font-size: .9em;
}
.bl_listDL_2ndCont_ttl,
dl.bl_listDL dd p.bl_listDL_2ndCont_ttl{
	position: relative;
	display: block;
	font-weight:500;
	color: var(--colorMain);
	padding-left: 1em;
	margin-bottom: .2em;
}
.bl_listDL_2ndCont_ttl::before{
	content: "";
	position: absolute;
	top:52%;
	transform: translateY(-50%);
	left: 0;
	display: block;
	width: .7em;
	height: 2px;
	background-color: var(--colorMain);
}
.bl_listDL_2ndCont_ttl.bl_listDL_2ndCont_ttl__beforemaru::before{
	content: "◎";
	width: initial;
	height: initial;
	background: none;
}
.bl_listDL_2ndCont_ttl.bl_listDL_2ndCont_ttl__beforekome::before{
	content: "※";
	width: initial;
	height: initial;
	background: none;
}
.bl_listDL_2ndCont_txt{
	display: block;
	padding-left: 1em;
}
/* bl_listDL2
========================================================================== */
dl.bl_listDL2 dt{
	position: relative;
	padding-left: .5em;
	padding-bottom: .1em;
	margin-bottom: .2em;
	border-left: 2px solid var(--colorMain);
	line-height: 1.5;
}
dl.bl_listDL2 dt > span{
	
	font-size: 1.111em;
	font-weight: var(--fontWtMedium);
}
dl.bl_listDL2 dd{
	margin-bottom: 1.2em;
	padding-left: .5em;
}
	@media (min-width: 768px) {
		dl.bl_listDL2{
			display: flex;
			flex-wrap: wrap;
		}
		dl.bl_listDL2 dt{
			width: 8em;
			align-self: flex-start;
			margin-bottom: 1.5em;
		}
		dl.bl_listDL2 dd{
			width: calc(100% - 8em);
			margin-bottom: 1.5em;
		}
		dl.bl_listDL2 dt:last-of-type,
		dl.bl_listDL2 dd:last-of-type{
			margin-bottom: 0;
		}
	}
/* bl_listCareer
========================================================================== */
.bl_listCareer_txt{
	font-size: .95em;
	padding-left: 1em;
}
dl.bl_listCareer{
	line-height: 1.5;
	font-size: .95em;
}
dl.bl_listCareer dt{
	color: var(--colorMain);
}
dl.bl_listCareer dt::before{
	content: "・";
	color: var(--colorMain);
}
dl.bl_listCareer dd{
	padding-left: 1em;
	margin-bottom: .8em;
}
	@media (min-width: 768px) {
		dl.bl_listCareer{
			display: flex;
			flex-wrap: wrap;
			max-width: 750px;
		}
		dl.bl_listCareer dt,
		dl.bl_listCareer dd{
			margin-bottom: .5em;
		}
		dl.bl_listCareer dt{
			width: 12em;
			letter-spacing: 0;
		}
		dl.bl_listCareer dd{
			width: calc(100% - 12em);
		}
	}
/* bl_listPrivacy
========================================================================== */
ul.bl_listPrivacy{
	margin-bottom: 3em;
	margin-left: 1em;
}
ul.bl_listPrivacy > li{
	margin-bottom: 2em;
}
ul.bl_listPrivacy > li > strong{
	display: block;
	position: relative;
	padding-left: 1.1em;
	font-weight: var(--fontWtMedium);
}
ul.bl_listPrivacy > li > strong::before{
	content: '';
	position: absolute;
	top: .6em;
	left: 0;
	display: block;
	width: .6em;
	height: .6em;
	background-color: var(--colorMain);
}
ul.bl_listPrivacy > li > ul{
	margin-top: .5em;
	margin-left: 1.5em;
}
ol.bl_listPrivacy2{
	margin-left: 1em;
}
ol.bl_listPrivacy2 li{
	list-style-type: decimal;
	margin-bottom: .5em;
}
ol.bl_listPrivacy2 li:last-child{
	margin-bottom: 0;
}
/* ==========================================================================
  Helpers　ヘルパー
========================================================================== */
.hp_dib { display: inline-block !important; }

.hp_mt0{margin-top: .0 !important;}
.hp_mt05em{ margin-top: .5em !important;}
.hp_mt08em{ margin-top: .8em !important;}
.hp_mt1em{ margin-top: 1em !important;}
.hp_mt15em{ margin-top: 1.5em !important;}
.hp_mt2em{ margin-top: 2em !important;}
.hp_mt3em{ margin-top: 3em !important;}

.hp_mb0{margin-bottom: .0 !important;}
.hp_mb05em{margin-bottom: .5em !important;}
.hp_mb08em{margin-bottom: .8em !important;}
.hp_mb1em{margin-bottom: 1em !important;}
.hp_mb15em{margin-bottom: 1.5em !important;}
.hp_mb2em{margin-bottom: 2em !important;}
.hp_mb3em{margin-bottom: 3em !important;}

.hp_pt0{padding-top: 0 !important;}
.hp_pt05em{padding-top: 0.5em !important;}
.hp_pt1em{padding-top: 1em !important;}
.hp_pt2em{padding-top: 0 !important;}

.hp_pt1em{padding-top: 1em !important;}
.hp_pt2em{padding-top: 2em !important;}
.hp_center{ display: table; margin:0 auto;}

.hp_onlyPc{
	display: none;
}
	@media (min-width: 768px){
		.hp__widthMd{
			width: 94.29%;
			max-width: 1056px;
			margin-inline: auto;
		}
		.hp__widthSm{
			width: 88.57%;
			max-width: 992px;
			margin-inline: auto;
		}
	}
	@media (min-width: 992px){
		.hp_onlyPc{
			display: block;
		}
	}

/* フォントスタイル関連
========================================================================== */
.hp_fEnglishUpper {text-transform: uppercase !important;}
/*
サイズ
*/
.hp_fontSizeDefo{ font-size: var(--fontSizeDefolt) !important;}
.hp_fontSizeLg{font-size: 1.3em;}
.hp_fontSizeSm{font-size: 0.875em;}
/*
ウェイト
*/
.hp_fontWtRegular,.hp_fontWt400{ font-weight: var(--fontWtRegular) !important; }
.hp_fontWtMedium,.hp_fontWt500{ font-weight:var(--fontWtMedium) !important; }
.hp_fontWtSemibold,.hp_fontWt600{ font-weight: var(--fontWtSemibold) !important; }
.hp_fontWtBold,.hp_fontWt700{ font-weight: var(--fontWtBold) !important; }
/*
トラッキングの数値 ÷ 1000（em）
*/
.hp_fontAV0{ letter-spacing:0 !important; }
.hp_fontAV50{ letter-spacing:.05em !important; }
.hp_fontAV100{ letter-spacing:.1em !important; }
.hp_fontAV200{ letter-spacing:.2em !important; }
.hp_fontAV300{ letter-spacing:.3em !important; }
.hp_fontAV400{ letter-spacing:.4em !important; }
/*
カラー
*/
.hp_fontColorMain{ color: var(--colorMain);}
.hp_fontColorAccent{ color: var(--colorAccent);}
/*
フォントファミリー
*/
.hp_fontFamEn{ font-family: var(--fontFamEn) !important;}
/*
テキスト配置
*/
.hp_txtRight{ text-align: right;}
.hp_txtCenter{ text-align: center;}
