@charset "UTF-8";

/**
*
* 汎用スタイルシート
*
* 注意
* flex-basisはie11でバグがあるため不使用推奨
* !importantは必要最低限で
**/
.text_underline {
	background: linear-gradient(transparent 50%, #fff696 50%);
}



/**
* PC SP 表示切り替え
**/
@media (min-width: 768px) {
	.sp_disp {
		display: none !important;
	}
}

@media (min-width: 960px) {
	.tab_disp {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.pc_disp {
		display: none !important;
	}
}

/**
* フォントファミリー
**/
.ff_mincho {
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600;1,700;1,800&display=swap');

.ff_Garamond {
	font-family: 'EB Garamond', serif;
}

/**
* フォントカラー
**/
.fc_pink {
	color: #f99599;
}

.fc_green {
	color: #006900;
}

.fc_green2 {
	color: #03A291;
}

.fc_lightgreen {
	color: #99c399;
}

.fc_blue {
	color: #6ec3ff;
}

.fc_gold {
	color: #b79a4c;
}

.fc_orange {
	color: #FF9933;
}
.fc_orange2 {
	color: #E66900;
}

/**
* バックグラウンドカラー
**/
.bg_green {
	background-color: #f2f5f6;
}

.bg_white {
	background-color: #fff;
}

/**
* フォントウェイト
**/
.fw_bold {
	font-weight: bold;
}

/**
* フォントサイズ
**/
.font10 {
	font-size: 0.5rem;
}

.font11 {
	font-size: 0.6875rem;
}

.font12 {
	font-size: 0.75rem;
}

.font13 {
	font-size: 0.8125rem;
}

.font14 {
	font-size: 0.875rem;
}

.font15 {
	font-size: 1rem;
}

.font16 {
	font-size: 1rem;
}

.font17 {
	font-size: 1.0625rem;
}

.font20 {
	font-size: 1.25rem;
}

.font24 {
	font-size: 1.5rem;
}

.font30 {
	font-size: 30px;
}
.font32 {
	font-size: 32px;
}
.font34 {
	font-size: 34px;
}

.font36 {
	font-size: 36px;
}
.res_font30{
	font-size: 30px;
}
@media (max-width: 768px) {
.font30 {
	font-size: 24px;
}
.res_font30{
	font-size: 20px;
}
}

/**
* テキストアライン
**/
.text_right {
	text-align: right;
}

.text_left {
	text-align: left;
}

.text_center {
	text-align: center;
}

/**
* マージン
**/
/* top */
.mt05 {
	margin-top: 0.5rem;
}

/* 8px */
.mt10 {
	margin-top: 1rem;
}

/* 16px */
.mt15 {
	margin-top: 1.5rem;
}

/* 24px */
.mt20 {
	margin-top: 2rem;
}

/* 32px */
.mt25 {
	margin-top: 2.5rem;
}

/* 40px */
.mt30 {
	margin-top: 3rem;
}

/* 48px */
.mt35 {
	margin-top: 3.5rem;
}

/* 56px */
.mt40 {
	margin-top: 4rem;
}

/* 64px */
.mt45 {
	margin-top: 4.5rem;
}

/* 72px */
.mt50 {
	margin-top: 5rem;
}

/* 80px */
.mt55 {
	margin-top: 5.5rem;
}

/* 88px */
.mt60 {
	margin-top: 6rem;
}

/* 96px */
/* right */
.mr05 {
	margin-right: 0.5rem;
}

/* 8px */
.mr10 {
	margin-right: 1rem;
}

/* 16px */
.mr15 {
	margin-right: 1.5rem;
}

/* 24px */
.mr20 {
	margin-right: 2rem;
}

/* 32px */
.mr25 {
	margin-right: 2.5rem;
}

/* 40px */
.mr30 {
	margin-right: 3rem;
}

/* 48px */
.mr35 {
	margin-right: 3.5rem;
}

/* 56px */
.mr40 {
	margin-right: 4rem;
}

/* 64px */
.mr45 {
	margin-right: 4.5rem;
}

/* 72px */
.mr50 {
	margin-right: 5rem;
}

/* 80px */
.mr55 {
	margin-right: 5.5rem;
}

/* 88px */
.mr60 {
	margin-right: 6rem;
}

/* 96px */
/* bottom */
.mb05 {
	margin-bottom: 0.5rem;
}

/* 8px */
.mb10 {
	margin-bottom: 1rem;
}

/* 16px */
.mb15 {
	margin-bottom: 1.5rem;
}

/* 24px */
.mb20 {
	margin-bottom: 2rem;
}

/* 32px */
.mb25 {
	margin-bottom: 2.5rem;
}

/* 40px */
.mb30 {
	margin-bottom: 3rem;
}

/* 48px */
.mb35 {
	margin-bottom: 3.5rem;
}

/* 56px */
.mb40 {
	margin-bottom: 4rem;
}

/* 64px */
.mb45 {
	margin-bottom: 4.5rem;
}

/* 72px */
.mb50 {
	margin-bottom: 5rem;
}

/* 80px */
.mb55 {
	margin-bottom: 5.5rem;
}

/* 88px */
.mb60 {
	margin-bottom: 6rem;
}

/* 96px */
/* left */
.ml05 {
	margin-left: 0.5rem;
}

/* 8px */
.ml10 {
	margin-left: 1rem;
}

/* 16px */
.ml15 {
	margin-left: 1.5rem;
}

/* 24px */
.ml20 {
	margin-left: 2rem;
}

/* 32px */
.ml25 {
	margin-left: 2.5rem;
}

/* 40px */
.ml30 {
	margin-left: 3rem;
}

/* 48px */
.ml35 {
	margin-left: 3.5rem;
}

/* 56px */
.ml40 {
	margin-left: 4rem;
}

/* 64px */
.ml45 {
	margin-left: 4.5rem;
}

/* 72px */
.ml50 {
	margin-left: 5rem;
}

/* 80px */
.ml55 {
	margin-left: 5.5rem;
}

/* 88px */
.ml60 {
	margin-left: 6rem;
}

/* 96px */
/**
* フロート
**/
.fl {
	float: left;
}

.fr {
	float: right;
}

/**
* 幅
**/
.w50 {
	width: 3.125rem;
}

.w100 {
	width: 6.25rem;
}

.w150 {
	width: 9.375rem;
}

.w200 {
	width: 12.5rem;
}

.w250 {
	width: 15.625rem;
}

.w300 {
	width: 18.75rem;
}

.w350 {
	width: 21.75rem;
}

.w400 {
	width: 25rem;
}

@media (max-width: 767px) {
	.sp_mt1 {
		margin-top: 1rem;
	}
	.sp_mb1 {
		margin-bottom: 1rem;
	}
	.sp_mb3{
		margin-bottom: 3rem;
	}
	
}

/**
* base_wrap
* サイト内共通 横幅
**/
.base_wrap {
	margin: 0 auto;
	padding: 0 2vw;
	width: 100%;
	max-width: 1200px;
}

@media (max-width: 1300px) {
	.base_wrap {
		padding: 0 1.75rem;
	}
}

@media (max-width: 959px) {
	.base_wrap {
		padding: 0 1rem;
	}
}

@media (max-width: 767px) {
	.base_wrap {
		padding: 0 1rem;
	}
	
}

/**
* .bg__full_width
* サイト内共通 疑似100%横幅
* .base_wrap内でも背景の横幅が100%となり
* コンテンツ幅はそのまま親要素の横幅を継承する
*
* 注意
* #wrapper にoverflow: hiddenが必須
* margin・paddingのleft・rightを消費するため
* margin-leftなどのプロパティの上書きに注意
**/
.bg__full_width {
	margin-left: calc((100vw - 100%) / -2);
	margin-right: calc((100vw - 100%) / -2);
	padding-left: calc((100vw - 100%) / 2);
	padding-right: calc((100vw - 100%) / 2);
}

/**
* bg__type_xxxx
* サイト内共通 背景色は以下に記述
*
* 注意
* 背景色を設定する際に必須のクラスではありません
**/
.bg__type_default {
	background-color: #fff;
}

.bg__type_gray {
	background-color: #f2f5f6;
}

.bg__type_orange {
	background-color: #FDF5E7;
}

/**
* 共通タイトル
*
* 注意
* /detail/[ID]/ページでは殆ど未使用
**/
.title01 {
	margin: 0 0 1rem;
	padding: 0;
	color: #062351;
	font-size: 1.75rem;
	font-weight: bold;
	line-height: 2rem;
}

@media (max-width: 767px) {
	.title01 {
		font-size: 1.625rem;
		line-height: 2rem;
	}
}

.title02 {
	font-family: 'EB Garamond', serif;
	font-weight: 700;
	font-style: normal;
	font-size: 14px;
	letter-spacing: inherit;
	margin-bottom: 20px;
	display: block;
	width: 100%;
}

.title02 span {
	font-family: 'Noto Sans JP';
	display: flex;
	font-size: 28px;
	color: #000;
	font-weight: 700;
	align-items: center;
	letter-spacing: normal;
}

.title02 span:after {
	content: "";
	background: #000;
	height: 1px;
	width: 60px;
	margin-left: 30px;
}


@media screen and (max-width: 767px) {
	.title02 {
		font-size: 18px;
		margin-bottom: 20px;
	}

	.title02 span {
		width: 100%;
		font-size: 18px;
		font-weight: bold;
	}

	.title02 span:after {
		content: none;
	}
}

.title04 {
	font-family: garamond-premier-pro, serif;
	font-weight: 400;
	font-style: normal;
	font-size: 28px;
	letter-spacing: 1.5px;
	margin-bottom: 25px;
	position: relative;
}

.title03 {
	font-family: 'EB Garamond', serif;
	font-weight: bold;
	font-style: normal;
	font-size: 14px;
	margin-bottom: 25px;
	position: relative;
}
.title03_p {
	position: relative;
	padding-top: 0px;
}
.title03_p:before {
	content: none;
}
.title03 span, .title04 span {
	font-family: 'Noto Sans JP';
	display: block;
	font-size: 28px;
	color: #000;
	font-weight: bold;
	letter-spacing: normal;
}

.title04 .title04_sub {
	font-size: 18px;
}

.title03_2 {
	font-family: 'Noto Sans JP';
	font-weight: bold;
	font-style: normal;
	font-size: 28px;
	letter-spacing: 1px;
	margin-bottom: 25px;
	position: relative;
}

.title03_2_p {
	position: relative;
	padding-top: 60px;
}
.title03_2_p:before {
	content: "";
	background: #000;
	height: 1px;
	width: 60px;
	position: absolute;
	top: 0;
	left: 0;
}

.title03_2 span, .title04 span {
	font-family: 'EB Garamond', serif;
	display: block;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: normal;
}

.title04 .title04_sub {
	font-size: 18px;
}

@media screen and (max-width: 959px) {
	.title03 {
		font-size: 14px;
		margin-bottom: 30px;
		padding-top: 10px;
	}

	.title04 {
		font-size: 35px;
		margin-bottom: 20px;
		padding-top: 20px;
	}

}

@media screen and (max-width: 767px) {
	.title04 {
		font-size: 32px;
		width: 100%;
	}

	.title03 {
		font-size: 14px;
		width: 100%;
	}

	.title03 span, .title04 span {
		font-size: 18px;
	}

	.title03_2 {
		font-size: 18px;
	}
}

.ttl_type01_wrap {
	margin-bottom: 20px;
}

.ttl_type01_wrap p {
	color: #006900;
	font-weight: bold;
	font-size: 30px;
}

.ttl_type01_wrap h3.ttl_type01 {
	font-size: 36px;
	font-weight: bold;
}

/* ex. */
/*.title__type_red*/
/*.title__type_centering*/
/*.title__type_tight*/
/**
* 共通list
**/
.list__type01 {}

.list__type01>li {
	line-height: 1.5;
	padding: 0 0 0 1.5em;
	position: relative;
}

.list__type01>li+li {
	margin-top: 0.5em;
}

.list__type01>li::before {
	content: '';
	display: inline-block;
	border-radius: 50%;
	background: #000;
	width: 1em;
	height: 1em;
	position: absolute;
	left: 0;
	top: calc(1.5em / 2);
	transform: translate(0, -50%);
}

.list__type_notes {}

.list__type_notes>li {
	line-height: 1.5;
	padding: 0 0 0 1.5em;
	position: relative;
}

.list__type_notes>li+li {
	margin-top: 0.5em;
}

.list__type_notes>li::before {
	content: '※';
	display: inline-block;
	position: absolute;
	left: 0;
	top: calc(1.5em / 2);
	transform: translate(0, -50%);
}

.list_number__type01 {
	counter-reset: list-number-type01;
}

.list_number__type01>li {
	line-height: 1.5;
	padding: 0 0 0 1.5em;
	position: relative;
}

.list_number__type01>li+li {
	margin-top: 0.5em;
}

.list_number__type01>li::before {
	counter-increment: list-number-type01;
	content: counter(list-number-type01)'.';
	display: inline-block;
	position: absolute;
	left: 0;
	top: calc(1.5em / 2);
	transform: translate(0, -50%);
}

/**
* 共通table
**/
.table__type_default {
	width: 100%;
	table-layout: fixed;
}

*+.table__type_default {
	margin-top: 1.5rem;
}

.table__type_default>thead>tr>th,
.table__type_default>tbody>tr>th,
.table__type_default>tfoot>tr>th,
.table__type_default>thead>tr>td,
.table__type_default>tbody>tr>td,
.table__type_default>tfoot>tr>td {
	border: solid 1px rgba(0, 0, 0, 0.33);
	padding: 1rem;
}

.table__type_default>tbody>tr>th {
	background: rgba(0, 0, 0, 0.08);
	font-weight: 700;
}

/* ex. */
/*.table__type01 {}*/
/*.table__type02 {}*/
/*.table__type_blue {}*/
/*.table__type_pricelist {}*/
/**
* clearfix
**/
.clear {
	clear: both;
}

.cf::after,
.clearfix::after {
	content: "";
	display: table;
	clear: both;
}