@charset "utf-8";

/*lightbox.cssの読み込み
---------------------------------------------------------------------------*/
@import url(https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.10.0/css/lightbox.css);

/*リセットCSS（sanitize.css）の読み込み
---------------------------------------------------------------------------*/
@import url("https://unpkg.com/sanitize.css");

/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Tangerine&display=swap');


/*slick.cssの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");

/*inview.cssの読み込み
---------------------------------------------------------------------------*/
@import url("inview.css");

/*ｈタグ
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css?family=Sawarabi+Mincho');


/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	overflow-x: hidden;
	font-size: 14px;	/*基準となるフォントサイズ。下の方にある「画面幅800px以上」で基準を大きなサイズに変更しています。*/
}

body {
	font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	-webkit-text-size-adjust: none;
	background: #F9FCFD;	/*背景色*/
	color: #474972;	/*全体の文字色*/
	line-height: 2;		/*行間*/
}


/*マージンのリセット*/
figure {margin: 0;}
dd {margin: 0;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/*section全般の設定*/
section + section {
	padding-top: 30px;	/*sectionの間に空けるスペース*/
}

/*videoタグ*/
video {max-width: 100%;}

/*iframeタグ*/
iframe {width: 100%;}


/*opa1（透明から着色状態に）
---------------------------------------------------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

/*リンクテキスト全般の設定 #999
---------------------------------------------------------------------------*/
a {
	color: #646CAC;	/*文字色*/
	text-decoration: none;
}

a:hover {
	color: #727047;	/*マウスオン時の文字色*/
	text-decoration: none;
}

/*container。サイト全体を囲むブロック。
---------------------------------------------------------------------------*/
#container {
	margin: 0 auto;
	max-width: 1400px;	/*最大幅。これ以上幅が広がらないように。*/
	padding: 0 10px;	/*上下、左右へのブロック内の余白*/
}


/*headerブロック（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*トップページの画像ロゴ(png画像)設定*/
.home header #logo {
	position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);
	width: 300px;				/*ロゴ画像の幅*/
	animation-name: opa1;		/*@keyframesの指定*/
	animation-duration: 3S;		/*アニメーションの実行時間*/
	animation-fill-mode: both;	/*アニメーションの待機中は最初のキーフレームを維持、終了後は最後のキーフレームを維持。*/
}

/*トップページの画像ロゴ(png画像)を、デフォルトでは非表示にする*/
.home header #logo {
	display: none;
}

/*ロゴアニメーションを使わない場合の設定*/
.home.index2 header #logo {display: block;}
.home.index2 svg {display: none;}

/*トップページ以外のロゴ画像の幅*/
header #logo {
	width: 150px;
}

/*mainブロック
---------------------------------------------------------------------------*/
main {
	margin-bottom: 100px;	/*下に空けるスペース*/
}

/*ブロック内のh2タグ*/
main h2 {
	opacity: 0;							/*透明度。0は色が出ていない(0%)状態の事。*/
	text-align: center;					/*文字をセンタリング*/

	font-family: "Sawarabi Mincho", serif;
	font-weight: normal;				/*hタグはデフォルトで太字なので、これを標準にする*/
	font-size: 2rem;					/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
	color: #474972;	/*全体の文字色*/
	margin-bottom: 80px;				/*下に空けるスペース*/
	margin-top: 80px;
}

/*ブロック内のh2タグ内のspanタグ（日本語の小さい説明用部分）*/
main h2 span {
	display: block;	
	font-size: 0.8rem;			/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
	letter-spacing: 0.2em;		/*文字間隔を少し広くとる指定*/
}


/*ブロック内のh3タグ*/
main h3 {
	font-weight: normal;	/*hタグはデフォルトで太字なので、これを標準にする*/
	text-align: center;		/*文字をセンタリング*/
	font-size: 1.6rem;		/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
	margin: 50px 0;			/*上下、左右へとる余白*/
}

/*mainブロックのpタグ*/
main p {
	margin: 0 5px 30px;	/*上、左右、下へ空けるスペース*/
}

/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: fixed;z-index: 100;
	top: 20px;		/*上からの配置場所*/
	right: 20px;	/*左からの配置場所*/
	width: 50px;	/*幅*/
	height: 50px;	/*高さ*/
	cursor: pointer;
	background: rgba(0,0,0,0.0) url(../images/icon_menu.png) no-repeat center top/50px;	/*背景色、背景画像の読み込み、画像の上半分（３本マーク）を表示。幅は50px。*/
}

/*×印が出ている状態の設定。*/
#menubar_hdr.close {
	background: #D3D8EA url(../images/icon_menu.png) no-repeat center bottom/50px;	/*背景色、背景画像の読み込み、画像の下半分（×マーク）を表示。幅は50px。*/
}

/*メニューの設定
---------------------------------------------------------------------------*/
#menubar ul {list-style: none;}

/*ボックス全体の設定*/
#menubar {
	display: none;				/*デフォルトで非表示にしておく*/
	animation-name: opa1;		/*@keyframesの指定*/
	animation-duration: 1S;		/*アニメーションの実行時間*/
	animation-fill-mode: both;	/*アニメーションの待機中は最初のキーフレームを維持、終了後は最後のキーフレームを維持。*/
	position: fixed;overflow: auto;z-index: 99;	/*fixedはスクロールしても動かない為の指定*/
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding: 50px;		/*ボックス内の余白*/
	text-align: center;	/*テキストをセンタリング*/
	background: rgba(71, 73, 114, 1.8);	/*背景色*/
	font-size: 1.2rem;	/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
}

/*メニュー１個あたりの設定*/
#menubar li {
	margin-bottom: 20px;	/*下に空けるスペース*/
}

#menubar a {
	display: block;text-decoration: none;
	text-align: center;	/*テキストをセンタリング*/
	background: #fff;	/*背景色*/
	color: #474972;	/*文字色*/
	border-radius: 5px;	/*角丸の指定*/
	box-shadow: 0px 0px 50px 10px rgba(255,255,255,0.4);	/*ボックスの影。右へ、下へ、ぼかし幅、範囲。255,255,255は白の事で0.4は色が40%出た状態の事。*/
	padding: 5px;	/*余白*/
	font-family: 'Sawarabi Mincho', sans-serif;
}

/*メニュー内のspanタグ（小さい日本語部分）*/
#menubar span {
	display: block;
	font-size: 0.7rem;	/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
}

/*フッター設定
---------------------------------------------------------------------------*/
footer small {font-size: 100%;}

footer {
	font-size: 0.6rem;		/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
	text-align: center;		/*内容をセンタリング*/
	padding: 20px;			/*ボックス内の余白*/
	margin-top: 200px;
}

/*リンクテキスト*/
footer a {text-decoration: none;}

/*著作部分*/
footer .pr {display: block;}

/*フッターにあるアイコン類
---------------------------------------------------------------------------*/
/*アイコン類を囲むブロック*/
ul.icon {
	list-style: none;
	margin: 0;padding: 0;
	margin-bottom: 30px;	/*下に空けるスペース*/
}

/*アイコン１個あたりの設定*/
ul.icon li {
	display: inline-block;	/*リストタグを横並びにさせる指定*/
}

/*アイコン画像の設定*/
ul.icon img {
	width: 30px;	/*アイコン画像の幅*/
}

/*画像のマウスオン時*/
ul.icon img:hover {
	opacity: 0.8;	/*透明度。0.8は色が80%出た状態の事。*/
}

/*トップページの横スライドショーコーナー（slickを使用）
---------------------------------------------------------------------------*/
/*スライドショー全体を囲むボックス*/
.pickup {
	position: relative;
	display: flex;			/*flexボックスを使う指定*/
}

/*１個あたりのボックス*/
.pickup .slick-slide {
	margin: 5px !important;
	width: auto;
}

/*ボックス内の画像*/
.pickup .list img {
	object-fit: cover;	/*トリミングのタイプ*/
	width: 100%;		/*画像の幅*/
	font-family: 'object-fit: cover;';	/*IE対策*/
}

/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
#new {
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
	padding: 0 5px;		/*上下、左右へのボックス内の余白*/
}

/*日付(dt)、記事(dd)共通設定*/
#new dt,
#new dd {
	border-bottom: 1px solid rgba(255,255,255,0.2);	/*下線の幅、線種、色。255,255,255,は白の事で0.2は色が20%出た状態の事。*/
	padding: 5px 0;					/*上下、左右へのボックス内の余白*/
}

/*日付(dt)設定*/
#new dt {
	width: 8em;	/*幅。8文字(em)分。*/
}

/*記事(dd)設定*/
#new dd {
	width: calc(100% - 8em);	/*「8em」は上の「#new dt」のwidthの値です。*/
}

/*about.htmlの画像配置のコンパクトメニュー部分
---------------------------------------------------------------------------*/
/*listボックスを囲むボックス*/
.list-container {
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
	padding: 0 5px;		/*上下、左右へのボックス内の余白*/
}



/*１個あたりのボックス*/
.list {
	width: 49%;				/*ボックスの幅*/
	margin-right: 2%;		/*ボックス同士の左右間の余白。ボックスを２列並べるので、49%×2個=98%。100%との差の2%がここに入ります。*/
	margin-bottom: 15px;	/*ボックス同士の上下間の余白*/
	text-align: center;		/*テキストをセンタリング*/
	font-size: 0.7rem;		/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
}

/*2の倍数(偶数番目)のボックスへの追加指定*/
.list:nth-of-type(2n) {
	margin-right: 0;	/*右側のスペースをなくす設定*/
}

/*ボックス内のh4タグ。メニュータイトルを入力しているスペースです。*/
.list h4 {
	margin: 10px 0 0;		/*上、左右、下に空けるスペース*/
	font-weight: normal;	/*hタグはデフォルトで太字なので、これを標準にする*/
	font-size: 0.9rem;		/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
}

/*ボックス内のpタグ。価格を入力しているスペースです。*/
.list p {
	margin: 0!important;	/*「main p」のマージンをリセットする*/
}


/*大サムネイル設定about.htmlの画像配置のコンパクトメニュー部分
---------------------------------------------------------------------------*/
/*listボックスを囲むボックス*/
.list-container2 {
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
	padding: 0 5px;		/*上下、左右へのボックス内の余白*/
}



/*１個あたりのボックス*/
.list2 {
	width: 98%;				/*ボックスの幅*/
	margin-right: 2%;		/*ボックス同士の左右間の余白。ボックスを２列並べるので、49%×2個=98%。100%との差の2%がここに入ります。*/
	margin-bottom: 15px;	/*ボックス同士の上下間の余白*/
	text-align: center;		/*テキストをセンタリング*/
	font-size: 0.7rem;		/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
}

/*2の倍数(偶数番目)のボックスへの追加指定*/
.list2:nth-of-type(2n) {
	margin-right: 0;	/*右側のスペースをなくす設定*/
}

/*ボックス内のh4タグ。メニュータイトルを入力しているスペースです。*/
.list2 h4 {
	margin: 10px 0 0;		/*上、左右、下に空けるスペース*/
	font-weight: normal;	/*hタグはデフォルトで太字なので、これを標準にする*/
	font-size: 0.9rem;		/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
}

/*ボックス内のpタグ。価格を入力しているスペースです。*/
.list2 p {
	margin: 0!important;	/*「main p」のマージンをリセットする*/
}




/*menu.htmlのテキストメニュー設定
---------------------------------------------------------------------------*/
/*テキストメニュー全体を囲むブロック*/
.textmenu {
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
	margin-bottom: 50px;	/*下に空けるスペース*/
}

/*偶数番目の行の色を変更する*/
.textmenu dt:nth-of-type(odd), .textmenu dd:nth-of-type(odd) {
	background: rgba(0,0,0,0.05);	/*背景色。0,0,0は黒の事で0.05は色が5%出た状態。*/
}

/*メニュータイトル*/
.textmenu dt {
	width: calc(100% - 10em);		/*「10em」は下の「.textmenu dd」のwidthの値を入れて下さい。*/
	padding: 10px 0px 10px 20px;	/*上、右、下、左への余白*/
}

/*価格*/
.textmenu dd {
	width: 10em;		/*ここを変更する場合は、上の「.textmenu dt」のwidthも変更して下さい。*/
	text-align: right;	/*価格なので、テキストを右寄せで揃えて見やすくしておく。*/
	padding: 10px 20px 10px 0px;	/*上、右、下、左への余白*/
}

/*トップページのスライドショー（vegasを使用）
---------------------------------------------------------------------------*/
#mainimg {
    width: 100vw;
    height: 100vh;
	background: #474972;	/*背景色。ロゴが描画されている間表示される色です。*/
}

/*SVGロゴ設定*/
#svg-logo {
	position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
	width: 300px;		/*幅*/
    stroke: #fff;		/*ここはこのままで変更しない（文字色の指定ではありません）*/
    stroke-width: 12;	/*ロゴをなぞった際の線の太さを指定して下さい。*/
}

/*スクロールを促すアイコン*/
.scroll {
	position: absolute;left: 50%;bottom: 20px;transform: translateX(-50%);
	width: 30px;	/*画像の幅*/
	opacity: 0.7;	/*透明度。0.7は色が70%出た状態の事。*/
}

/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	border-top: 0px solid #E6E9F3;	/*上の枠線の幅、線種、色。*/
	font-weight: bold;								/*太字に*/
	padding: 5px 5px;								/*上下、左右へのボックス内の余白。基本的に数行下の「.ta1 th, .ta1 td」のpaddingと揃えておけばOKです。*/
	background: #E6E9F3;					/*背景色。0,0,0は黒の事で0.05は色が5%出た状態。*/
	font-size: 1.3rem;		/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
}

/*ta1テーブルブロック設定*/
.ta1 {
	border-top: 0px solid #E6E9F3;	/*テーブルの一番上の線。幅、線種、色。*/
	table-layout: fixed;
	width: calc(100% - 10px);	/*テーブルの両サイドに合計10px（左右各5pxずつ）の余白を作った残りを幅にします*/
	margin: 0 auto 30px;		/*最後の「30px」がテーブルの下に空けるスペースです*/
}

/*tr（１行分）タグ設定*/
.ta1 tr {
	border-bottom: 1px solid #E6E9F3;	/*テーブルの下線。幅、線種、色。*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
	padding: 5px 5px;		/*上下、左右へのボックス内の余白*。基本的に数行上の「.ta1 caption」のpaddingと揃えておけばOKです。*/
	word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 30%;				/*幅*/
	text-align: left;		/*左よせにする*/
	font-weight: normal;	/*デフォルトの太字を標準にする*/
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

.pagetop a {
	display: block;text-decoration: none;text-align: center;
	width: 50px;		/*幅*/
	line-height: 50px;	/*高さ*/
	position: fixed;
	right: 30px;		/*右からの配置場所指定*/
	bottom: 30px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	background: rgba(40, 37, 82, 0.41);	/*背景色。0,0,0は黒色の指定で0.4は色が40%出た状態。*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
}

/*マウスオン時*/
.pagetop a:hover {
	background: rgba(40, 37, 82, 0.8);	/*背景色。0,0,0は黒色の指定で0.8は色が80%出た状態。*/
}

/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-theme, .color-theme a {color: #f1c734 !important;}
.color-check, .color-check a {color: #f00 !important;}
.c {text-align: center !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.large {font-size: 2rem;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;border: 1px solid #ccc;padding: 5px 20px;background: rgba(0,0,0,0.03);border-radius: 5px;margin: 5px 0;}
.ofx {overflow-x: hidden;}



/*---------------------------------------------------------------------------
ここから下は画面幅800px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width:800px) {


/*全体の設定
---------------------------------------------------------------------------*/
html, body {
	font-size: 16px;	/*基準となるフォントサイズの上書き*/
}

/*section全般の設定*/
section + section {
	padding-top: 50px;	/*sectionの間に空けるスペース*/
}

/*container。サイト全体を囲むブロック。
---------------------------------------------------------------------------*/
#container {
	padding: 0 50px;	/*上下、左右へのブロック内の余白*/
}
	
/*container。サイト全体を囲むブロック。
---------------------------------------------------------------------------*/
#container2 {
	padding: 0 50px;	/*上下、左右へのブロック内の余白*/
}	



/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	padding: 10px 10px;		/*上下、左右へのボックス内の余白*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
	padding: 10px 10px;		/*上下、左右へのボックス内の余白*/
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 20%;		/*幅*/
}

/*その他
---------------------------------------------------------------------------*/
.ws {width: 45%;display: inline-block;}
	
	
/*about.htmlの画像配置のコンパクトメニュー部分
---------------------------------------------------------------------------*/
/*１個あたりのボックス*/
.list {
	width: 23%;				/*ボックスの幅*/
	margin-right: 2.66%;	/*ボックス同士の左右間の余白。ボックスを4列並べるので、23%×4個=92%。100%との差の8%分をボックス間にある余白3個分で割った数字がここに入ります。※下の「.list:nth-of-type(2n)」の数字と合わせる。*/
	margin-bottom: 25px;	/*ボックス同士の上下間の余白*/
}

/*2の倍数(偶数番目)のボックスへの追加指定*/
.list:nth-of-type(2n) {
	margin-right: 2.66%;	/*上のlistのmargin-rightと数字を合わせる。小さな端末向けで0になっているのを上書きしています。*/
}

/*4の倍数のボックスへの追加指定*/
.list:nth-of-type(4n) {
	margin-right: 0;	/*右側のスペースをなくす設定*/
}
	
	
/*大サムネイル設定about.htmlの画像配置のコンパクトメニュー部分
---------------------------------------------------------------------------*/
/*１個あたりのボックス*/
.list2 {
	width: 31%;				/*ボックスの幅*/
	margin-right: 2.2%;	/*ボックス同士の左右間の余白。ボックスを4列並べるので、23%×4個=92%。100%との差の8%分をボックス間にある余白3個分で割った数字がここに入ります。※下の「.list:nth-of-type(2n)」の数字と合わせる。*/
	margin-bottom: 25px;	/*ボックス同士の上下間の余白*/
}

/*2の倍数(偶数番目)のボックスへの追加指定*/
.list2:nth-of-type(2n) {
	margin-right: 2.2%;	/*上のlistのmargin-rightと数字を合わせる。小さな端末向けで0になっているのを上書きしています。*/
}

/*4の倍数のボックスへの追加指定*/
.list2:nth-of-type(4n) {
	margin-right: 0;	/*右側のスペースをなくす設定*/
}



/*list-grid（gallery.htmlでサムネイルを表示している部分の設定です）
---------------------------------------------------------------------------*/
/*listブロックを囲む外側のボックス*/
.list-grid-trimming {
	display: grid;
	grid-template-columns: repeat(5, 1fr);	/*ここの「4」の数字が横に並べる数です。3列がいいなら(3, 1fr)です。*/
	gap: 1rem;	/*マージン的な数値。サムネイル間を１文字分あけます。*/
}

/*ボックスを正方形にトリミングする為の指定なので変更しない。*/
.list-grid-trimming .list4 {
	position: relative;
	overflow: hidden;
	height: 0;
	padding-top: 100%;
}
.list-grid-trimming .list4 a {
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
}
.list-grid-trimming .list4 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: 0.5s;	/*マウスオン時にかける時間。0.5秒。*/
}

/*マウスオン時の画像*/
.list-grid-trimming .list4 img:hover {
	transform: scale(1.1);	/*1.1倍に拡大*/
	filter: contrast(1.3);	/*コントラストを1.3倍*/
}



.box16{
    padding: 0.5em 1em;
    margin: 2em 0;
    background: -webkit-repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
    background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
}
.box16 p {
    margin: 0; 
    padding: 0;
}



.mybox{
	background-color: #fff;	/* 背景色 */
	border: 2px solid #ff6bb5;	/* 線の太さ・種類・色 */
	border-radius: 5px;
	margin: 40px 5px 5px 20px;	/* 外側の余白 上・右・左・下 */
	padding: 25px 20px 20px 25px;	/* 内側の余白 上・右・左・下 */
	position: relative;
	text-align: center;
	font-size: 0.8rem;	/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
}
.mybox:before{
	background-color: #ff1493;	/* 吹き出し背景色 */
	border-radius: 5px;
	color: #fff;	/* 吹き出し文字色 */
	content: 'Pickup!';
	padding: 5px 20px;
	position: absolute;
	left: -10px;
	top: -20px;
}
.mybox:after{
	border-top: 12px solid #ff1493;		/* 吹き出し三角部分の色 */
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	content: '';
	position: absolute;
	top: 10px;
	left: 15px;
	

}


/*ボックス内のh4タグ*/
.list-grid .list2 .list3 h4 {
	color: #333;		/*文字色*/
	margin: 10px 0;		/*上、左右、下に空けるスペース*/
	
}
.list-grid .list2 .list3 h4 a {
	color: inherit;
}


/*ボックス内のpタグ*/
.list-grid .list2 .list3 p {
	margin: 0;
	font-size: 0.9em;	/*文字サイズを80%に*/
	line-height: 1.5;	/*行間を少し狭く*/
    
}

/*ボックス内のfigure画像*/
.list-grid .list figure {
	margin-bottom: 1rem;	/*下に空けるスペース*/
}

/*ボタン*/
.list-grid .btn a {
	display: block;text-decoration: none;
	text-align: center;		/*テキストをセンタリング*/
	background: #eee;		/*背景色*/
	border: 1px solid #999;	/*枠線の幅、線種、色*/
	padding: 5px 10px;		/*ボタン内の余白*/
	margin-top: 1rem;		/*ボタンの上に空けるスペース*/
}	

	
/*　※注意！　下の閉じカッコ　}　は800px以上の設定に必要なので、うっかり削除しないように。　*/

}



	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	/*ボックス１個あたり*/
	.list-grid .list2 .list3 {
		margin-bottom: 0;	/*ボックス同士の上下間に空けるスペースをリセット*/
	}

	}/*追加指定ここまで*/



/*ボタンピンク*/
.btn-flat-border {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #000;
  border: solid 1px #000;
  border-radius: 3px;
  transition: .4s;
  margin-top: 1rem;		/*ボタンの上に空けるスペース*/
}

.btn-flat-border:hover {
  background: #ff1493;
  color: white;
}

/*ボタンブルー*/
.btn2-flat-border {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #000;
  border: solid 1px #000;
  border-radius: 3px;
  transition: .4s;
  margin-top: 1rem;		/*ボタンの上に空けるスペース*/
}


.btn2-flat-border:hover {
  background: #00ffff;
  color: white;
}

/*ボタンブラックー*/
.btn3-flat-border {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #474972;
  border: solid 1px #474972;
  border-radius: 3px;
  transition: .4s;
  margin-top: 1rem;		/*ボタンの上に空けるスペース*/
}


.btn3-flat-border:hover {
  background: #474972;
  color: white;
}

/*フロー*/
.flow_design07 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom:50pt;
  
}

.flow07 {
  padding-left: 0;
}

.flow07 > li {
  list-style-type: none;
  display: flex;
}

.flow07 > li:not(:last-child) {
  margin: 0 0 50px;
}

.flow07 > li .icon07 {
  width: 90px;
  box-sizing: border-box;
  padding: 20px 10px 10px;
  font-weight: bold;
  color: #FFF;
  text-align: center;
  background: #B5BFDB;
  border-radius: 5px 5px 0 0;
  position: relative;
  line-height: 125%;
  margin: 0;
}
.flow07 > li .icon07::after {
  content: ' ';
  width: 0;
  height: 0;
  border-left: 45px solid transparent;
  border-right: 45px solid transparent;
  border-top: 20px solid #B5BFDB;
  position: absolute;
  bottom: -20px;
  left: 0;
}

.flow07 > li dl {
  padding: 0 0 0 30px;
  width: calc(100% - 115px);
}

.flow07 > li dl dt {
  padding: 0 0 5px;
  margin: 0 0 15px;
  font-size: 1.2em;
  font-weight: bold;
  border-bottom: 4px solid #CCCCCC;
  position: relative;
}
.flow07 > li dl dt::after {
  content: '';
  width: 20%;
  height: 4px;
  position: absolute;
  bottom: -4px;
  left: 0;
  background-color: #B5BFDB;
}

.flow07 > li dl dd {
  margin: 0;
}

/*テキスト＆画像の左右ブロック
---------------------------------------------------------------------------*/
/*テキストと画像を囲むブロック*/
.tp-box {
	display: flex;	/*flexボックスを使う指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	align-items: center;	/*垂直揃えの指定。天地中央に配置されるように。*/
}

/*テキストブロック*/
.tp-box .text {
	position: relative; z-index: 1;
	width: 45%;	/*幅*/
}

/*画像ブロック*/
.tp-box .photo {
	width: 45%;	/*幅*/
	box-shadow: -150px 100px 0px rgba(81, 75, 166, 0.11);	/*ブロックの影。右へ(※マイナスがついているのでこの場合は左へ)、下へ、ぼかし幅。0,0,0は黒の事で0.05は色が5%出た状態。*/
}

/*画面幅800px以下の追加指定*/
@media screen and (max-width:800px) {

	/*左右のブロックを縦並びにする*/
	.tp-box {
		flex-direction: column;
	}

	/*テキストブロック*/
	.tp-box .text {
		width: auto;	/*幅*/
		padding-left: 20px;
		padding-ri 20px;
	}

	/*画像ブロック*/
	.tp-box .photo {
		width: 80%;	/*幅*/
		box-shadow: none;
	}
	
	
/*list-grid（galleryでサムネイルを表示している部分の設定です）
---------------------------------------------------------------------------*/
/*listブロックを囲む外側のボックス*/
.list-grid-trimming {
	display: grid;
	grid-template-columns: repeat(5, 1fr);	/*ここの「4」の数字が横に並べる数です。3列がいいなら(3, 1fr)です。*/
	gap: 1rem;	/*マージン的な数値。サムネイル間を１文字分あけます。*/
}

/*ボックスを正方形にトリミングする為の指定なので変更しない。*/
.list-grid-trimming .list4 {
	position: relative;
	overflow: hidden;
	height: 0;
	padding-top: 100%;
}
.list-grid-trimming .list4 a {
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
}
.list-grid-trimming .list4 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: 0.5s;	/*マウスオン時にかける時間。0.5秒。*/
}

/*マウスオン時の画像*/
.list-grid-trimming .list4 img:hover {
	transform: scale(1.1);	/*1.1倍に拡大*/
	filter: contrast(1.3);	/*コントラストを1.3倍*/
}
	

.box16{
    padding: 0.5em 1em;
    margin: 2em 0;
    background: -webkit-repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
    background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
}
.box16 p {
    margin: 0; 
    padding: 0;
}


}/*画面幅600px以下の追加指定ここまで*/





/*list-grid1-parts, list-grid2-parts 共通
---------------------------------------------------------------------------*/
/*list-partsブロック全体を囲むブロック*/
.list-grid1-parts,.list-grid2-parts {
	display: grid;
}

/*ボックス１個あたり*/
.list-grid1-parts .list-parts,.list-grid2-parts .list-parts {
    display: grid;
}

/*list内の全ての要素のmarginとpaddingを一旦リセット*/
.list-grid1-parts .list-parts *,
.list-grid2-parts .list-parts * {
	margin: 0;padding: 0;
}

/*ボックス内のp要素*/
.list-grid1-parts .list-parts p,
.list-grid2-parts .list-parts p {
	font-size: 0.70rem;	/*文字サイズを85%に*/
	line-height: 1;	/*行間を少し狭く*/
	padding-bottom: 10px;
}

/*ボックス内のp要素*/
.list-grid1-parts .list-parts h4,
.list-grid2-parts .list-parts h4 {
	font-family: 'Sawarabi Mincho', sans-serif;
	line-height: 1.8;	/*行間を少し狭く*/
	margin-top: 5px;
}


.img_wrap{

  width: 100%;
  margin: 0;
  overflow: hidden;
  background: #fff;
}
.img_wrap img{
  width: 100%;
  cursor: pointer;
  transition-duration: 0.3s;
}
.img_wrap:hover img{
  opacity: 0.6;
  transition-duration: 0.3s;
}



/*list-grid1-parts
---------------------------------------------------------------------------*/
/*画面幅500px以下の追加指定*/

@media screen and (max-width:500px) {
	/*listブロック全体を囲むブロック*/
	.list-grid1-parts {
		grid-template-columns: repeat(2, 1fr);	/*2列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
		gap: 0.5rem;	/*ブロックの間に空けるマージン的な指定*/
	}
		
}/*追加指定ここまで*/


/*画面幅500px以上の追加指定*/
	@media screen and (min-width:500px) {

	/*listブロック全体を囲むブロック*/
	.list-grid1-parts {
		grid-template-columns: repeat(3, 1fr);	/*2列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
		gap: 0.5rem;	/*ブロックの間に空けるマージン的な指定*/
	}

	}/*追加指定ここまで*/


/*画面幅800px以上の追加指定*/
	@media screen and (min-width:800px) {

	/*listブロック全体を囲むブロック*/
	.list-grid1-parts {
		grid-template-columns: repeat(6, 1fr);	/*3列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
		gap: 0.5rem;	/*ブロックの間に空けるマージン的な指定*/
	}

	}/*追加指定ここまで*/


/*ボックス１個あたり*/
.list-grid1-parts .list-parts {
	padding: 0;			/*ボックス内の余白*/
    grid-template-rows: auto 1fr;	/*１つ目（この場合はfigure要素のサイズ）は自動に、２つ目（この場合はtextブロック））を残った幅で使う*/

}

/*ボックス内のfigure画像*/
.list-grid1-parts .list-parts figure img {
	margin-bottom: 0;	/*画像の下に空けるスペース*/
}

/*応募ボタン*/
.button-29{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 350px;
    margin:0 auto;
    padding: .9em 2em;
    overflow: hidden;
    border: 1px solid #474972;
    border-radius: 5px;
    background-color: #fff;
    color: #474972;
	font-family: 'Sawarabi Mincho', sans-serif;

}


.button-29:hover {
    background-color: transparent;
    color: #fff;

}


.button-29::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 0;
    height: 100%;
    background-color: #474972;
    content: '';
    transition: width .3s ease;

}

.button-29:hover::before {
    width: 100%;

}




/* 矢印---------------------------------------------- */

.arrowbtn a {
	--arrow-color:#474972; /* 矢印の色を設定 */
	position: relative; /* 疑似要素を位置指定するための基準 */
	padding: 0 2.5em .5em .5em; /* 内側の余白（右に矢印部分を空ける） */
	color: var(--arrow-color); /* 文字色を矢印の色と統一 */
	text-decoration: none; /* 下線を非表示 */
	font-family: 'Sawarabi Mincho', sans-serif;
	font-size: 0.7rem;
}

.arrowbtn a::before {
	border-bottom: 1px solid var(--arrow-color); /* 下線としての矢印部分 */
	border-right: 1px solid var(--arrow-color); /* 右線としての矢印部分 */
	bottom: 0; /* 矢印をボタン下部に配置 */
	content: ''; /* 疑似要素でコンテンツを空に設定 */
	height: 12px; /* 矢印の高さ */
	position: absolute; /* 親要素から相対的に配置 */
	left: 0; /* 矢印の位置を左端に */
	transform: skewX(50deg); /* 矢印の形状を傾けてデザイン */
	width: 100%; /* ボタン全体の幅に矢印を合わせる */
	transition: all .3s; /* なめらかな動き（ホバー時） */
}

/* マウスオーバー時の動き */
.arrowbtn a:hover::before {
	left: 10%; /* ホバー時、矢印が右に10%ずれる */
}

.heading-16 {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #474972;
}

.heading-16::before,
.heading-16::after {
    width: 3px;
    height: 40px;
    background-color: #474972;
    content: '';
}

.heading-16::before {
    transform: rotate(-35deg);
    margin-right: 50px;
}

.heading-16::after {
    transform: rotate(35deg);
    margin-left: 50px;
}

/* 応募ボタン---------------------------------------------- */
.row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
}
.col {
  width: 100%;
  padding: 10px;
}

@media (min-width: 768px) {
  .col {
    width: 50%;
  }
}

@media (min-width: 1200px) {
  .col {
    width: 30%;
  }
}




.img_wrap{
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: #fff;
}
.img_wrap img{
  width: 100%;
  cursor: pointer;
  transition-duration: 0.3s;
}
.img_wrap:hover img{
  opacity: 0.6;
  transition-duration: 0.3s;
}


/*list-grid1-parts
---------------------------------------------------------------------------*/
/*画面幅500px以下の追加指定*/

@media screen and (max-width:500px) {
	/*listブロック全体を囲むブロック*/
	.list-grid1-parts {
		grid-template-columns: repeat(2, 1fr);	/*2列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
		gap: 0.5rem;	/*ブロックの間に空けるマージン的な指定*/
	}
		
}/*追加指定ここまで*/




/*画面幅500px以上の追加指定*/
	@media screen and (min-width:500px) {

	/*listブロック全体を囲むブロック*/
	.list-grid1-parts {
		grid-template-columns: repeat(3, 1fr);	/*2列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
		gap: 0.5rem;	/*ブロックの間に空けるマージン的な指定*/
	}

	}/*追加指定ここまで*/


/*画面幅800px以上の追加指定*/
	@media screen and (min-width:800px) {

	/*listブロック全体を囲むブロック*/
	.list-grid1-parts {
		grid-template-columns: repeat(6, 1fr);	/*3列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
		gap: 0.5rem;	/*ブロックの間に空けるマージン的な指定*/
	}

	}/*追加指定ここまで*/


/*ボックス１個あたり*/
.list-grid1-parts .list-parts {
	padding: 0;			/*ボックス内の余白*/
    grid-template-rows: auto 1fr;	/*１つ目（この場合はfigure要素のサイズ）は自動に、２つ目（この場合はtextブロック））を残った幅で使う*/

}

/* =========================
   共通（PC基準）
========================= */
.title-row{
  display: flex;
  align-items: center;
  justify-content: space-between;

  background: #232439;
  color: #fff;

  padding: 5px 5px !important; /* ← 強制的に太くする */
  margin-top: 8px;
  margin-bottom: 12px;

  font-size: 9px;
  line-height: 1;
}

.title-row .age{
  color: #ececf0;
  letter-spacing: 0.16em;
  white-space: nowrap;
}

.title-row .logo{
  height: 16px;
  width: auto;
  display: block;
}

/* =========================
   タブレット以下
========================= */
@media (max-width: 1024px){
  .title-row{
    padding: 10px 16px;
    font-size: 8px;
  }

  .title-row .logo{
    height: 15px;
  }
}

/* =========================
   スマホ
========================= */
@media (max-width: 768px){
  .title-row{
    padding: 8px 12px;   /* 高さ・左右を詰める */
    margin-bottom: 8px;
    font-size: 8px;
  }

  .title-row .logo{
    height: 14px;
  }
}

/* newface */
.list-parts .img_wrap{
  position: relative;
}

/* NEW FACE 円形バッジ（基本非表示） */
.list-parts .img_wrap .badge-newface{
  display: none;

  position: absolute;
  top: 5px;
  left: 0px;

  width: 50px;      /* 円の大きさ */
  height: 50px;

  border-radius: 50%;
  overflow: hidden; /* 円からはみ出さない */

  z-index: 4;
  pointer-events: none;

  transform: translateY(0);
  transition: transform .25s ease, opacity .25s ease;
}

/* 表示対象 */
.list-parts .img_wrap .badge-newface.is-new{
  display: block;
}

/* 中の画像 */
.list-parts .img_wrap .badge-newface img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* hoverでふわっと */
.list-parts:hover .img_wrap .badge-newface.is-new{
  transform: translateY(-4px);
  opacity: .95;
}

/* レスポンシブ（スマホ） */
@media (max-width: 768px){
  .list-parts .img_wrap .badge-newface{
    top: 3px;
    left: 3px;

    width: 42px;
    height: 42px;
  }

  .list-parts:hover .img_wrap .badge-newface.is-new{
    transform: translateY(-2px);
  }
}

/* =========================================================
   ここから：モデル一覧のズレ修正（最終上書き）
   ※CSSの一番下に貼る
========================================================= */

/* 1) list-partsを縦積みに固定（grid指定を打ち消す） */
.list-grid1-parts .list-parts{
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

/* 2) 画像枠：高さ100%を殺す（ズレの主犯対策） */
.list-grid1-parts .list-parts .img_wrap{
  position: relative !important;
  height: auto !important;     /* ★重要 */
  margin: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
}

/* figureのデフォ余白を確実に潰す */
.list-grid1-parts .list-parts .img_wrap figure{
  margin: 0 !important;
}

/* img下の謎の隙間（インライン由来）を潰す */
.list-grid1-parts .list-parts .img_wrap img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  vertical-align: top !important;
}

/* 3) 紺帯（title-row）：余白でズレないように固定 */
.list-grid1-parts .list-parts .title-row{
  margin: 0 !important;              /* ★ズレ防止 */
  background: #232439 !important;
  color: #fff !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  padding: 6px 8px !important;       /* 帯の太さ */
  font-size: 9px !important;
  line-height: 1 !important;
}

.list-grid1-parts .list-parts .title-row .logo{
  height: 14px !important;
  width: auto !important;
  display: block !important;
}
.list-grid1-parts .list-parts .title-row .age{
  color: #ececf0 !important;
  letter-spacing: 0.16em !important;
  white-space: nowrap !important;
}

/* 4) h4/p の上下余白を安定化（全体の高さが揺れないように） */
.list-grid1-parts .list-parts h4{
  margin: 6px 0 0 !important;
  line-height: 1.4 !important;
}
.list-grid1-parts .list-parts p{
  margin: 0 0 10px !important;
  line-height: 1.2 !important;
}

/* 5) KIDS/東京在住カード：写真と同じ比率の“サムネ枠”を作る
   ※ここが「紺帯の下端まで揃える」ための要
   ※写真の縦横比が違う場合はここだけ調整
*/
.list-grid1-parts .list-parts.title-box .img_wrap{
  aspect-ratio: 3 / 4 !important;  /* ←合わなければ 2/3 や 4/5 に */
}

/* KIDS等の文字を中央に */
.list-grid1-parts .list-parts.title-box .img_wrap .title-inner{
  position: absolute !important;
  color: #F4F6F8;
  font-size: 1.6rem;   /* ←まずここ */
  font-weight: 500;
  letter-spacing: 0.22em;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  letter-spacing: 0.2em !important;
}

/* =========================================================
   レスポンシブ：帯のサイズだけ調整
========================================================= */
@media (max-width: 1024px){
  .list-grid1-parts .list-parts .title-row{
    padding: 6px 8px !important;
    font-size: 8px !important;
  }
  .list-grid1-parts .list-parts .title-row .logo{
    height: 13px !important;
  }
}

@media (max-width: 768px){
  .list-grid1-parts .list-parts .title-row{
    padding: 6px 8px !important;
    font-size: 8px !important;
  }
  .list-grid1-parts .list-parts .title-row .logo{
    height: 12px !important;
  }
}

.title-box .title-inner{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 高さだけ使う */
.list-parts .img_wrap .title-row.dummy{
  visibility: hidden;
}

.list-grid1-parts .list-parts.title-box.kids .img_wrap{
  background: #a1d6e2 !important; /* 水色 */
}

.list-grid1-parts .list-parts.title-box.tokyo .img_wrap{
  background: #c7c9e2 !important; /* 薄いラベンダー */
}


/* 上の区切り線（控えめ） */
hr.divider-subtle{
  border: none;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(71, 73, 114, 0.28),
    transparent
  );
  margin: 80px 0 100px;   /* ← 下も同じにする */
}

 hr{
    border: none;
    height: 1px;
	width: 100%;
	margin: 80px 0 100px;   /* ← 下も同じにする */
    background: linear-gradient(90deg,rgba(16,6,69,0.1) 0%,rgba(16,6,69,0.9) 50%,rgba(16,6,69,0.1) 100%);
}

.title-inner{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  height:100%;
  color:#fff;
  line-height: 1.1;   /* 全体の行間を詰める */
}

.title-main{
  font-size:26px;     /* KIDS */
  letter-spacing:0.2em;
}

.title-sub{
  font-size:12px;     /* Under15 */
  letter-spacing:0.15em;
  opacity:0.9;
  margin-top:2px;
}