@charset "utf-8";



/*リセットCSS（sanitize.css）の読み込み
---------------------------------------------------------------------------*/
@import url("sanitize.css");

/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");

/*lightbox.cssの読み込み
---------------------------------------------------------------------------*/
@import url(https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.10.0/css/lightbox.css);

/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Cinzel&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap');

/*テンプレート専用cssファイルの読み込み
---------------------------------------------------------------------------*/
@import url("animation.css");
@import url("inview.css");



/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	margin: 0;padding: 0;
	font-size: 13px;	/*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
	overflow-x: hidden;
}

body {
	font-family: "Noto Serif JP", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;	/*フォント種類*/
	-webkit-text-size-adjust: none;
	letter-spacing: 0.05em;
	background: #fff;	/*背景色*/
	color: #333;		/*全体の文字色*/
	line-height: 2;		/*行間*/
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav {margin: 0;padding: 0;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/*videoタグ*/
video {max-width: 100%;}

/*iframeタグ*/
iframe {width: 100%;}

/*ul,olタグ*/
ul, ol {margin-bottom: 30px;}


/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #D44CA3;	/*文字色*/
	font-weight: 600;
	transition: 0.3s;
}
a:hover {
	color: #D44CA3;
}


/*section
---------------------------------------------------------------------------*/
section {
	padding: 5%;
}


/*背景設定
---------------------------------------------------------------------------*/
.bg1 {
	background-color: #fff;
}

.bg2 {
	background-color: #fbf4f1;
}

.bg3 {
	background-color: #f2f2f2;
}


/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	height: 100vh;				/*画面に対して高さ100%*/
	display: flex;				/*flexボックスを使う指定*/
	justify-content: center;	/*左右の中央に配置*/
	align-items: center;		/*天地中央に配置*/
	text-align: center;			/*文字をセンタリング*/
}

/*ヘッダーのリンクテキスト*/
header a {
	text-decoration: none;
	display: block;
}

/*ロゴやメニューのブロック*/
header #text {
	font-family: 'Cinzel';
	position: absolute;
	margin: 10px;			/*ブロックの外にとる余白*/
}

h1#logo > span.subtitle{
	display: inline-block;
	font-weight: normal;
	font-size: 0.75em;
	line-height: 1.5em;
}

header nav ul{
	margin-top: 3em;
}


/*mainブロック
---------------------------------------------------------------------------*/
/*h2タグ*/
main h2 {
	font-family: 'Cinzel', serif;	/*GoogleFontsの指定*/
	font-weight: normal;	/*太さを標準に*/
	font-size: 2em;			/*文字サイズを２倍に*/
	letter-spacing: 1em;	/*文字間隔を広くとる*/
	text-indent: 1em;		/*上の行のletter-spacingと同じ値をセットする*/
	text-align: center;
}

/*h2タグ内のspanタグ。小文字部分。*/
main h2 span {
	display: block;
	font-size: 0.5em;		/*文字サイズを親要素の半分に*/
	letter-spacing: 0.5em;	/*文字間隔の上書き*/
	text-indent: 0.5em;		/*上の行のletter-spacingと同じ値をセットする*/
}

/*h3タグ*/
main h3 {
	font-weight: normal;	/*太さを標準に*/
	font-size: 1.5em;		/*文字サイズ*/
	letter-spacing: 0.2em;	/*文字間隔を少し広くとる*/
}


/*list
---------------------------------------------------------------------------*/
.list-container {
	display: flex;
	flex-wrap: wrap;
	justify-content:center;
}
.list {
	height: 0;
	width: 44%;/*23*/
	padding-top: 24.7%;/*23*/
	position: relative;
	overflow: hidden;
	margin: 1%;
	box-shadow: 2px 2px 3px rgba(0,0,0,0.1);
}
.list a {
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
}
.list img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: 0.5s;
}
.list img:hover {
	transform: scale(1.1);
	filter: contrast(1.3);
}
.list p{
  position: absolute;
	text-align: center;
  padding: 5px;
  margin:0;
}
.list .tag{
top:0;
left:0;
width: 3em;
text-align: center;
background-color: #4E7E9E;
font-weight: bold;
color: #fff;
border-top-left-radius: 10px;
border-bottom-right-radius:10px;
}

/*フッター設定
---------------------------------------------------------------------------*/
footer small {font-size: 100%;}

footer {
	font-size: 0.7rem;		/*文字サイズ*/
	text-align: center;		/*内容をセンタリング*/
	padding: 20px;			/*ボックス内の余白*/
}

/*リンクテキスト*/
footer a {
	text-decoration: none;
	color: #999;font-weight: normal;
}

/*著作部分*/
footer .pr {display: block;}


/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

/*ボタンの設定*/
.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 20px;		/*右からの配置場所指定*/
	bottom: 20px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	font-size: 1.5em;	/*文字サイズ*/
	background: rgba(0,0,0,0.2);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	width: 60px;		/*幅*/
	line-height: 60px;	/*高さ*/
	border-radius: 50%;	/*円形にする*/
}


/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-theme, .color-theme a {color: #f48e83 !important;}
.color-check, .color-check a {color: #f00 !important;}
.l {text-align: left !important;}
.r {text-align: right !important;}
.c {text-align: center !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb30 {margin-bottom: 30px !important;}
.mt30 {margin-top: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: #eee; border: 1px solid #ccc; border-radius: 3px;margin: 2px 0; word-break: break-all;}
.small {font-size: 0.6em; letter-spacing: normal !important;}
.large {font-size: 1.8em !important;}
.block {display: block !important;}
.sh {display: block;}
.pc {display: none;}
.hidden {position: absolute; top: -9999px; left: -9999px;}
.ib{display: inline-block}

/*その他(MD追加)
---------------------------------------------------------------------------*/
div.button-base{
	text-align: center;
}

div.button-base a{
font-family: 'Cinzel';
text-decoration: none;
display:inline-block;
min-width: 10rem;
background:#D44CA3;
padding:1em 2em;
text-align:center;
color:#FFF;
font-weight: 600;
margin:1em;
line-height: 1.5em;
}

div.lead{
	text-align: left;
	margin-top: 30px;
}
div.lead ul{
}

/*---------------------------------------------------------------------------
ここから下は、画面の高さが1000px以下の場合の追加設定
---------------------------------------------------------------------------*/
@media screen and (max-height: 1000px) {


/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ロゴやメニューのブロック*/
header #text {
	padding: 50px;	/*ブロック内の余白*/
}

/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}



/*---------------------------------------------------------------------------
ここから下は、画面の高さが600px以下の場合の追加設定
---------------------------------------------------------------------------*/
@media screen and (max-height: 600px) {


/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ロゴやメニューのブロック*/
header #text {
	padding: 20px 50px;	/*上下、左右へのブロック内の余白*/
	margin: 0px;		/*ブロックの外にとる余白*/
}

/*ロゴ画像*/
header #logo {
	margin-bottom: 0;	/*下のマージンをなくす*/
}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}



/*---------------------------------------------------------------------------
ここから下は画面幅1000px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width:1000px) {


/*全体の設定
---------------------------------------------------------------------------*/
html, body {
	font-size: 15px;	/*基準となるフォントサイズの上書き*/
}


/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	display: flex;					/*flexボックスを使う指定*/
	/*justify-content: space-between;	並びかたの種類の指定*/
	align-items: center;			/*垂直揃えの指定。天地中央に配置されるように。*/
	padding: 100px;					/*ヘッダー内の余白*/
}

/*ロゴやメニューのブロック*/
header #text {
	background: transparent;
	position: static;margin: 0;padding: 0;border-radius: 0;
/*	width: calc(50% - 100px);	/*幅。50%というのは画面に対しての幅。-100pxというのはheaderのpaddingの数字。幅が100%だと左右のバランスが悪いので、バランスを調整しています。*/
}


/*その他
---------------------------------------------------------------------------*/
.ws {width: 48%;display: inline;}
.sh {display: none;}
.pc {display: inline-block;}



/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}

/*---------------------------------------------------------------------------
ここから下は画面幅429px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width:429px) {

		/*lead（ロゴなどが入った最上段のブロックのリード文）
---------------------------------------------------------------------------*/
div.lead{
	margin-left: -2em;
}

	
header nav ul{
	margin-top: 2em;
}	
	
/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/	
	
}