@charset "UTF-8";
/*--------------------------------------------------------------------------------
 *
 *
 * リセット
 *
 *
--------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; font:inherit; font-size:100%; vertical-align:baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
html, body { width:100%; height:100%; line-height:1; }
ol, ul { list-style:none; }
blockquote, q {quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
table { border-collapse:collapse; border-spacing:0; }
* { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; }

/*--------------------------------------------------

   Clearfix

--------------------------------------------------*/
.cf { zoom:1; } .cf:before,.cf:after { content:""; display:table; } .cf:after { clear:both; }

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 基本設定
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
html { overflow:auto; }
@media screen and (max-width:1000px){ body { width:1000px; } }
@media screen and (max-width:768px){ body { width:100%; background:none; } }
body { font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif, serif; font-size:100%; line-height:1.75; font-weight:normal; position:relative; height:auto; min-height:100vh; display:flex;
    flex-flow:column; }
main { flex:1; }
a:link,
a:visited { color:#000; text-decoration:none; transition:.3s ease; }
a:hover,
a:active { color:#333; text-decoration:none; transition:.3s ease; }
img { max-width:100%; height:auto; vertical-align:top; backface-visibility:hidden; }
a:link img,
a:visited img {opacity:1.0; transition:.3s ease; }
a:hover img,
a:active img {opacity: 0.6; transition: .3s ease; }
video::-webkit-media-controls-enclosure { overflow:hidden; }
video::-webkit-media-controls-panel { width: calc(100% + 30px); }
p { font-size:16px; margin-top:20px; padding:0; line-height:2; display:block; }
@media screen and (max-width:768px) {
	p { font-size:14px; margin-top:20px; padding:0; line-height:2; display:block; }
}

ul { margin:0; padding:0; }
li { margin:0; padding:0; }

table { width:100%; margin-top:30px; border:1px solid #fff; }
table tr { border-bottom:1px dotted #e5e5e5; }
table th,
table td { padding:10px 0; font-size:18px; text-align:center; background:#000  }
table th { color:#fff; background:#A37939; font-weight: bold; border-right:1px solid #fff; width:15%;}
table td { border-right:1px solid #fff; color:#fff; vertical-align: middle;}
@media screen and (max-width:768px) {
	table { font-size:12px;  }
	table th { padding:15px 0; width:20%; }
	table td { padding:15px 0 15px 15px; }
	table th,
	table td { padding:10px 5px; font-size:14px; text-align:center;  }
}

.pc { display:block!important; }
.sp { display:none!important; }
@media screen and (max-width:768px){
	.pc { display:none!important; }
	.sp { display:block!important; }
}

.video{ position:relative; width:65%; height:0; margin:0 auto; padding-top:55%; }
.video iframe{ position:absolute; top:0; left:0; width:100%; height:100%; }
.video img{ position:absolute; top:0; left:0; width:100%; height:100%; }
/*! 埋め込み動画をレスポンシブ対応させる */
.video {position: relative;height: 0;margin-top:20px;padding: 0 0 56.25%;overflow: hidden;}
.video iframe {position: absolute;top: 0;left: 0;width: 100%;height: 65%;
}


/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * ナビゲーションエリア
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
header#g_navi { width:100%; height:60px; background:rgba(255,255,255,0); box-shadow:0 0 10px rgba(0,0,0,0); padding:0; z-index:999; position:absolute; top:20px; }
header#g_navi ul { 
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;/*左右に配置*/
-webkit-box-align:center;-ms-flex-align:center; align-items:center; /*上下中央*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
header#g_navi ul li#navi_top { width:100%; }
header#g_navi ul li#navi_page { margin-top:5px }
header#g_navi #h1 { margin:0; padding:0; }
header#g_navi img.logo { width:120px; margin-left:10px; margin-top:5px; }
header#g_navi p#discription { position:absolute; font-size:10px; top:27px; left:340px; color:#999999; margin:0; padding:0; line-height:1.6; display:none; }

@media screen and (max-width:1000px){
	header#g_navi ul { width:1000px; }
}
@media screen and (max-width:768px){
	header#g_navi { top:0; height:50px }
	header#g_navi ul { width:100%; height:auto; }
	header#g_navi ul li#navi_top { position:absolute; top:10px; right:0 }
	header#g_navi ul li#navi_page { position:absolute; top:0; right:0; margin-top:0; }
	header#g_navi img.logo { width:100px; margin-left:5px; margin-top:5px; }
	header#g_navi p#discription { top:10px; left:100px; display:none; }
}

/*--------------------------------------------------------------------------------
 *
 * page.php（下層ページ）
 *
--------------------------------------------------------------------------------*/
header.g_navi_page { background:#fff!important; box-shadow:0 0 10px rgba(0,0,0,0.1); top:0!important; position:relative!important; }

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * グローバルナビゲーション
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/* ------------------------------グローバルナビゲーション（PC）------------------------------　*/
nav#header-nav { clear:both; width:100%; height:auto; margin:0; padding:0; z-index:998; }
nav#header-nav ul { font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
nav#header-nav ul li { padding:0 0 0 20px; text-align:center; }
nav#header-nav ul li:after { content:"|"; transform:rotate(45deg); -moz-transform:rotate(45deg); -webkit-transform:rotate(45deg); display:inline-block; color:#000; margin-left:20px; }
nav#header-nav ul li:last-child:after { content:""; }
nav#header-nav ul li a { font-size:12px; color:#000; padding:0; font-weight:normal; }
nav#header-nav ul li a:before { padding-right:5px }
nav#header-nav ul li a:hover{ text-decoration:none; color:#ccc; }
nav#header-nav ul.flex { width:100%; 
display:-webkit-inline-box; display:-ms-inline-flexbox; display:inline-flex;/*インライン要素*/
-webkit-box-align:center;-ms-flex-align:center; align-items:center; /*上下中央*/
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/ }

/* ------------------------------グローバルナビゲーション（モバイル）------------------------------　*/
@media screen and (max-width:768px){
nav#header-nav { width:100%; margin:0; padding:0; border:none; }
nav#header-nav ul { width:100%; margin:0; padding:50px 0 0 0; }
nav#header-nav ul li { text-align:left; padding:15px 30px; }
nav#header-nav ul li:after { display:none }
nav#header-nav ul li a { display:block; width:100%; font-size:16px; font-weight:bold; color:#fff!important; text-align:center; }
nav#header-nav ul.flex { display:block; }
/*ヘッダーまわりはご自由に*/
#sp_menu { padding:0px; background:none; position:relative; top:0px; z-index:998;/*最前面に*/ }
#nav-drawer { position:relative; }
/*チェックボックス等は非表示に*/
.nav-unshown { display:none; }
/*アイコンのスペース*/
#nav-open { display:inline-block; z-index:999;/*最前面に*/ position:absolute; top:0; right:0; width:50px; height:50px; vertical-align:middle; float:right; background:transparent; }
/*ハンバーガーアイコンOpen前*/
#nav-open,
#nav-open span { display:inline-block; transition:all .4s; box-sizing:border-box; }
#nav-open span { position:absolute; left:30%; width:40%; height:2px; background-color:#000; border-radius:4px; }
#nav-open span:nth-of-type(1) { top:16px; }
#nav-open span:nth-of-type(2) { top:24px; }
#nav-open span:nth-of-type(3) { bottom:16px; }
/*ハンバーガーアイコンOpen後*/
#nav-open.active { background-color:#000; }
#nav-open.active span { background-color:#fff; }
#nav-open.active span:nth-of-type(1) { -webkit-transform: translateY(8px) rotate(-315deg); transform: translateY(8px) rotate(-315deg); }
#nav-open.active span:nth-of-type(2) { opacity: 0; }
#nav-open.active span:nth-of-type(3) { -webkit-transform: translateY(-8px) rotate(315deg); transform: translateY(-8px) rotate(315deg); }
/*閉じる用の薄黒カバー*/
#nav-close { display:none;/*はじめは隠しておく*/ position:fixed; z-index:998; top:0;/*全体に広がるように*/ right:0; width:100%; height:100%; background:#000; opacity:0; transition:.3s ease-in-out; }
/*中身*/
#nav-content { overflow:auto; position:fixed; top:0; right:0; z-index:998;/*最前面に*/ width:90%;/*右側に隙間を作る*/ max-width:330px;/*最大幅*/ height:100%; background:#000;/*背景色*/ transition:.3s ease-in-out;/*滑らかに表示*/ -webkit-transform:translateX(105%); transform:translateX(105%);/*左に隠しておく*/ }
/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close { display: block;/*カバーを表示*/ opacity: .5; }
#nav-input:checked ~ #nav-content { z-index:998; -webkit-transform: translateX(0%); transform: translateX(0%);/*中身を表示*/ box-shadow: 6px 0 25px rgba(0,0,0,.15); }
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * FV
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------
 *
 * front-page（トップページ）
 *
--------------------------------------------------------------------------------*/
header#fv { width:100%; height:auto; padding-top:0; background-color: #6C504E; background-size:2000px 700px; }
header#fv #inner { width:1000px; height:550px; margin:0 auto; padding:0; position:relative;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-align:center;-ms-flex-align:center; align-items:center; /*上下中央*/
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
@media screen and (max-width:768px){
	header#fv { width:100%; height:auto;}
	header#fv #inner { width:100%; height:auto; }
}

/*--------------------------------------------------------------------------------
 *
 * page（下層ページ）
 *
--------------------------------------------------------------------------------*/
header#mv { width:100%; height:auto; padding-top:0; background:url(./img/mv_top.png) no-repeat 0 0,url(./img/mv_bottom.png) no-repeat 100% 100%,url(./img/bg_red.png) repeat 0 0;  }
header#mv #inner {
    width: 1000px;
    height: auto;
    margin: 0 auto;
    padding: 4em 0;
    background: url(./img/logo.png) no-repeat center center;
    background-size: 265px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

header#mv h1 { margin:0; padding:0; color:#fff; text-align:center; width:100%; font-size:50px; line-height: 1.5em;}
header#mv h1 + p { color:#ECAF7B; text-align:center; width:100%; font-size:12px; margin:0; }
@media screen and (max-width:768px){
	header#mv { background:url(./img/mv_top_sp.png) no-repeat 0 0,url(./img/mv_bottom_sp.png) no-repeat 100% 100%,url(./img/bg_red.png) repeat 0 0;
		width:100%; height:auto; padding-top:0; }
	header#mv #inner { width:100%; height:auto; padding:3em 0;background-size: 160px;}
	header#mv h1 { margin:0; padding:0; font-size:25px; font-weight: bold;line-height: 1.75em;}
}



/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * Body
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------
 *
 * トップページ
 *
--------------------------------------------------------------------------------*/
#top article {  }
#top section { padding:80px 0;}
#top .inner { width:1000px; margin:0 auto; padding:0; }
#top .white { background:#fff; padding:30px 100px; }
#top h2 { text-align:center; font-size:3em; font-weight:bold; 
font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
#top h3 { text-align:left; font-size:1.5em; font-weight:bold; 
font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
#top h2 + p { margin-top: 3em; }
#top .date { text-align:center; color:#ECAF7B!important; margin-top:0; font-weight: bold; font-size: 1.4em !important; }
#top p { font-size:20px; font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
@media screen and (max-width:768px) {
	#top section { padding:50px 0; }
	#top .inner { width:90%; }
	#top .white { padding:0px 20px; }
	#top h2 { font-size:1.2em !important; line-height: 1.5em;}
	#top h2 + p { font-size:1em !important; }
	#top h3 { text-align:center; font-size:1.5em; }
	#top p { font-size:16px !important; }
	#top .date { font-size:1em !important; }
}

/* ------------------------------オープニング------------------------------　*/
#top section.opening { background:url(./img/bg_black.png); padding-top:10px; }
#top section.opening h2 { color:#fff; }
#top section.opening h2 + p { margin-top:0; }
#top section.opening p { color:#fff; text-align:center; }
@media screen and (max-width:768px) {
	#top section.opening { padding-top:30px; }
}

/* ------------------------------クラス------------------------------　*/
#top section.class { background:url(./img/bg_red.png); }
#top section.class h2 { color:#fff; }
#top section.class h3 { color:#fff; }
#top section.class p { color:#fff; }
#top section.class a { color:#fff; border:1px solid #fff; margin-top:30px; padding:10px 0; display:block; font-size:12px; width:240px; text-align:center; }
#top section.class ul:nth-of-type(1){ position:relative; height:330px;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-align:center;-ms-flex-align:center; align-items:center; /*上下中央*/
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
#top section.class ul:nth-of-type(1) li:nth-child(odd) { width:auto; position:absolute; top:0; left:-30px; }
#top section.class ul:nth-of-type(1) li:nth-child(even) { width:62%; position:absolute; top:80px; right:0; }
@media screen and (max-width:768px) {
	#top section.class ul:nth-of-type(1){ height:auto; margin-top:30px; }
	#top section.class ul:nth-of-type(1) li:nth-child(odd) { width:100%; position:static; }
	#top section.class ul:nth-of-type(1) li:nth-child(even) { width:100%; position:static; margin-top:20px; }
	#top section.class ul:nth-of-type(1) a { margin:20px auto 0 auto; }
}
#top section.class ul:nth-of-type(2){  }
#top section.class ul:nth-of-type(2){ position:relative; height:330px;
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-align:center;-ms-flex-align:center; align-items:center; /*上下中央*/
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
#top section.class ul:nth-of-type(2) li:nth-child(odd) { width:auto; position:absolute; top:0; right:-50px; }
#top section.class ul:nth-of-type(2) li:nth-child(even) { width:62%; position:absolute; top:50px; left:0; }
#top section.class ul:nth-of-type(2) h3 { text-align:right; }
#top section.class ul:nth-of-type(2) a { float:right; }
@media screen and (max-width:1000px) {
	#top section.class ul:nth-of-type(2) { overflow:hidden; }
}
@media screen and (max-width:768px) {
	#top section.class ul:nth-of-type(2) { height:auto; margin-top:50px; }
	#top section.class ul:nth-of-type(2) li:nth-child(odd) { width:100%; position:static; }
	#top section.class ul:nth-of-type(2) li:nth-child(even) { width:100%; position:static; margin-top:20px; }
	#top section.class ul:nth-of-type(2) h3 { text-align:center; }
	#top section.class ul:nth-of-type(2) a { float:none; margin:20px auto 0 auto; }
}


/*--------------------------------------------------------------------------------
 *
 * メイン
 *
--------------------------------------------------------------------------------*/

#top section.col01 { background-color: #E5E2DA; }
#top section.col02 { background-color: #FEFFFF; }
#top section.col03 { background:url(./img/bg_gold.jpg); }
#top section.basics ul , #top section.jingi ul { margin-top:30px;
display:-webkit-box; display:-ms-flexbox; display:flex;
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center; 上下中央*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
#top section.basics ul li:nth-child(odd) , #top section.jingi ul li:nth-child(odd) { width:30%; }
#top section.basics ul li:nth-child(even) , #top section.jingi ul li:nth-child(even) { width:70%; padding-left:60px; }
#top section.basics ul li:nth-child(even) p:nth-of-type(1) ,#top section.jingi ul li:nth-child(even) p:nth-of-type(1) { margin-top:0; }
@media screen and (max-width:768px){
    #top section.basics ul li:nth-child(odd) ,#top section.jingi ul li:nth-child(odd) { width:100%; max-width:260px; }
    #top section.basics ul li:nth-child(even) ,#top section.jingi ul li:nth-child(even) { width:100%; padding-left:0; text-align:center; }
    #top section.basics ul li:nth-child(even) p:nth-of-type(1) ,#top section.jingi ul li:nth-child(even) p:nth-of-type(1) { margin-top:30px; }
}

#top section.what p { text-align:center; }
#top section.ending p { text-align:center; }
#top section.letter p { padding: 0 4em; }
@media screen and (max-width:768px){
    #top section.letter p { padding: 0 1em; }
}

#top section.target ul { display:-webkit-box; display:-ms-flexbox; display:flex;
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center; 上下中央*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
#top section.target ul li { width:48%; border:1px solid #fff; padding:30px; margin-top:50px; }
#top section.target ul li:nth-child(even) { margin-left:4%; }
#top section.target ul li h3 { text-align:center; border-bottom:1px solid #fff; padding-bottom:20px }
#top section.target ul li p { text-align:left; }
@media screen and (max-width:768px){
    #top section.target ul li { width:100%; border:1px solid #fff; padding:20px; margin-top:20px }
    #top section.target ul li:nth-child(even) { margin-left:0; }
    #top section.target ul li h3 { font-size: 1.2em; }
}

#top section ul.contents { display:-webkit-box; display:-ms-flexbox; display:flex;
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center; 上下中央*/
/*-webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;左右に配置*/
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
#top section ul.contents li { width:48%; background:#fff; margin-top:50px; }
#top section ul.contents li:nth-child(even) { margin-left:4%; }
#top section ul.contents li p { color:#000; padding:0 20px 20px 20px; }
#top section ul.contents li .relative { position:relative; }
#top section ul.contents li .relative img { width:100%; }
#top section ul.contents li .relative h3 { position:absolute; top:50%; left:50%; -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); margin:0; padding:0; /*文字の装飾は省略*/width:100%; text-align:center; font-weight:normal; }
@media screen and (max-width:768px){
	#top section ul.contents li { width:100%; margin-top:20px; }
	#top section ul.contents li:nth-child(even) { margin-left:0%; }
	#top section ul.contents li .relative img { width:100%; height:200px; object-fit:cover; }
}


/* ------------------------------申し込み------------------------------　*/
#top .cta, .cta2 {}
#top .cta, .cta2 {
    background:linear-gradient(to right, #B99953, #8E5B21, #B99953);
    color:#fff;
    margin:30px auto 0 auto;
    padding:30px 0;
    display:block;
    font-size:1.5em;
    width:40%;
    text-align:center;
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; 
}
@media screen and (max-width:768px){
	#top .cta, .cta2 { padding-bottom:110px; width:60%; margin:20px auto 0 auto; padding:20px 0; font-size:16px; }
}




/*--------------------------------------------------------------------------------
 *
 * page.php（下層ページ）
 *
--------------------------------------------------------------------------------*/
#page { width:100%; background:#f7f7f7; }
#page article { width:1000px; margin:0 auto; padding:60px 0; }
#page section { width:100%; background:#fff; padding:60px 100px; box-shadow:0 1px 2px rgba(0,0,0,0.3); }
@media screen and (max-width:768px){
	#page {  }
	#page article { width:90%; padding:30px 0; }
	#page section { width:100%; float:none; padding:40px 15px; }
}
#page h1 { font-size:26px; font-weight:bold; padding:10px 0; margin:0; color:#7b7b7b; text-align:center; }
#page h2 { font-size:24px; background:#f7f7f7; margin-top:40px; padding:20px; color: #333; border-left:9px solid #333; line-height: 40px; }
#page h3 { font-size:20px; letter-spacing:1.6px; margin-top:40px; padding: 0px 15px 0px;border-left: 6px solid #333;}
#page h4 { font-size:16px; letter-spacing:1.6px; margin-top:40px; }
#page p.ymd { font-size:12px; color:#7b7b7b; text-align:center; margin:0; }
#page p.ymd a { color:#4773BA; }
#page img.attachment-thumb1200 { width:100%; margin:40px auto; }
#page img.attachment-thumb768 { width:100%; margin:40px auto; }
@media screen and (max-width:768px){
	#page h1 { font-size:18px; }
	#page h2 { font-size:18px; padding:20px 20px; }
	#page h3 { font-size:18px; }
}

/*--------------------------------------------------------------------------------
 *
 * single.php（記事ページ）
 *
--------------------------------------------------------------------------------*/

/* ------------------------------関連記事一覧------------------------------　*/
p.kanren { font-size:14px; margin:40px 0 0 0; padding:0; font-weight:bold; }
ul.related { margin:0; }
ul.related li { border-bottom:1px dotted #cccccc; padding:20px 0; }
ul.related img { display:block; width:100px; height:100px; float:left; margin:0 20px 0 0; padding:0; }
ul.related a { font-size:10px; font-weight:normal; }
ul.related p { margin:0; padding:0; font-size:10px; }
ul.related p.title a { font-size:14px; }

/*--------------------------------------------------------------------------------
 *
 *  home.php（記事一覧ページ）
 *
--------------------------------------------------------------------------------*/

header#g_navi_home { width:100%; height:auto; background:#000; box-shadow:0 0 10px rgba(0,0,0,0); padding:0; position:relative; font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
header#g_navi_home ul { }
header#g_navi_home ul li#navi_top { width:100%; }
header#g_navi_home ul li#navi_page { position:absolute; top:20px; right:10px; margin-top:0; }
header#g_navi_home #h1 { margin:0; padding:20px 0; }
header#g_navi_home img.logo { display:block; width:120px; margin:0 auto; }
header#g_navi_home a.key { position:absolute; top:20px; right:100px; color:#ccc; font-size:12px; }
header#g_navi_home a.key i { color:#ccc; width:50px; height:50px; line-height:50px;text-align:center; background:#2c2c2c; border-radius:50%; margin-right:10px; font-size:18px; }

@media screen and (max-width:1000px){
	header#g_navi_home ul { width:1000px; }
}
@media screen and (max-width:768px){
	header#g_navi_home { top:0; height:70px }
	header#g_navi_home ul { width:100%; height:auto; }
	header#g_navi_home ul li#navi_top { position:absolute; top:10px; right:0 }
	header#g_navi_home ul li#navi_page { position:absolute; top:0; right:0; margin-top:0; }
	header#g_navi_home #h1 { padding:0; }
	header#g_navi_home img.logo { width:100px; margin-top:15px; }
	header#g_navi_home p#discription { top:10px; left:100px; display:none; }
	header#g_navi_home a.key { top:12.5px; left:10px; font-size:0; }
	header#g_navi_home a.key i { width:45px; height:45px; line-height:45px; }
}

header#g_navi_home nav#header-nav { width:100%; margin:0; padding:0; border:none; }
header#g_navi_home nav#header-nav ul { width:100%; margin:0; padding:50px 0 0 0; }
header#g_navi_home nav#header-nav ul li { text-align:center; padding:15px 30px; }
header#g_navi_home nav#header-nav ul li:after { display:none }
header#g_navi_home nav#header-nav ul li a { display:block; width:100%; font-size:16px; font-weight:bold; color:#ccc!important; text-align:left;
font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
header#g_navi_home nav#header-nav ul li a i { margin-right:10px; }
header#g_navi_home nav#header-nav ul.flex { display:block; }
/*ヘッダーまわりはご自由に*/
header#g_navi_home #sp_menu { padding:0px; background:none; position:relative; top:0px; z-index:9998;/*最前面に*/ }
header#g_navi_home #nav-drawer { position:relative; }
/*チェックボックス等は非表示に*/
header#g_navi_home .nav-unshown { display:none; }
/*アイコンのスペース*/
header#g_navi_home #nav-open { display:inline-block; z-index:9999;/*最前面に*/ position:absolute; top:0; right:0; width:50px; height:50px; vertical-align:middle; float:right; background:transparent; }
/*ハンバーガーアイコンOpen前*/
header#g_navi_home #nav-open,
header#g_navi_home #nav-open span { display:inline-block; transition:all .4s; box-sizing:border-box; }
header#g_navi_home #nav-open span { position:absolute; left:0%; width:90%; height:2px; background-color:#ccc; border-radius:4px; }
header#g_navi_home #nav-open span:nth-of-type(1) { top:16px; }
header#g_navi_home #nav-open span:nth-of-type(2) { top:24px; }
header#g_navi_home #nav-open span:nth-of-type(3) { bottom:16px; }
/*ハンバーガーアイコンOpen後*/
header#g_navi_home #nav-open.active { background-color:#000; }
header#g_navi_home #nav-open.active span { background-color:#ccc; }
header#g_navi_home #nav-open.active span:nth-of-type(1) { -webkit-transform: translateY(8px) rotate(-315deg); transform: translateY(8px) rotate(-315deg); }
header#g_navi_home #nav-open.active span:nth-of-type(2) { opacity: 0; }
header#g_navi_home #nav-open.active span:nth-of-type(3) { -webkit-transform: translateY(-8px) rotate(315deg); transform: translateY(-8px) rotate(315deg); }
/*閉じる用の薄黒カバー*/
header#g_navi_home #nav-close { display:none;/*はじめは隠しておく*/ position:fixed; z-index:9998; top:0;/*全体に広がるように*/ right:0; width:100%; height:100%; background:#000; opacity:0; transition:.3s ease-in-out; }
/*中身*/
header#g_navi_home #nav-content { overflow:auto; position:fixed; top:0; right:0; z-index:9998;/*最前面に*/ width:90%;/*右側に隙間を作る*/ max-width:330px;/*最大幅*/ height:100%; background:#000;/*背景色*/ transition:.3s ease-in-out;/*滑らかに表示*/ -webkit-transform:translateX(105%); transform:translateX(105%);/*左に隠しておく*/ }
/*チェックが入ったらもろもろ表示*/
header#g_navi_home #nav-input:checked ~ #nav-close { display: block;/*カバーを表示*/ opacity: .5; }
header#g_navi_home #nav-input:checked ~ #nav-content { z-index:9998; -webkit-transform: translateX(0%); transform: translateX(0%);/*中身を表示*/ box-shadow: 6px 0 25px rgba(0,0,0,.15); }

@media screen and (max-width:768px){
	header#g_navi_home #nav-open { top:10px; }
	header#g_navi_home #nav-open span { left:0; width:80%;  }
	header#g_navi_home #nav-open span:nth-of-type(1) { top:16px; }
	header#g_navi_home #nav-open span:nth-of-type(2) { top:24px; }
	header#g_navi_home #nav-open span:nth-of-type(3) { bottom:16px; }
}

main#home {	font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; width:100%; margin:0 auto; padding:0; background:#464646 url(./img/bg_red.png)!important;  }
main#home article {  }
main#home section { background:#464646 url(./img/bg_red.png)!important; }
main#home section:nth-of-type(even) { background:#383838 url(./img/bg_black.png)!important; }
main#home section .inner { width:1000px; margin:0 auto; padding:50px 0; }
main#home h1 { text-align:center; font-size:30px; 
	font-weight:bold; font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
main#home h2 { font-size:22px!important; margin-bottom:10px!important; font-weight:bold; font-style:normal!important; color:#fff; text-align:left; }
main#home h2 span { font-size:10px; margin-left:10px }
main#home h2 + p {  }
main#home p { font-size:14px; }
@media screen and (max-width:768px) {
	main#home section {  }
	main#home section .inner { width:90%; padding:30px 0; }
	main#home h2 { font-size:20px!important; }
	main#home h2 span { padding:2px 5px; margin-left:10px }
	main#home p { font-size:12px; }
}

main#home ul.post { display:-webkit-box; display:-ms-flexbox; display:flex;
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
main#home ul.post > li { width:23.5%; margin:2% 2% 0 0; padding:0; }
main#home ul.post > li:nth-child(1) { margin-top:0%; }
main#home ul.post > li:nth-child(2) { margin-top:0%; }
main#home ul.post > li:nth-child(3) { margin-top:0%; }
main#home ul.post > li:nth-child(4) { margin-top:0%; }
main#home ul.post > li:nth-child(4n+4) { margin-right:0%; }

main#home ul.post > li p { font-size:14px; margin:0; padding:0; color:#fff; }
main#home ul.post img { width:100%; height:140px; object-fit:cover; margin:0 auto; padding:0; border-radius:3px;
font-family: 'object-fit:cover; object-position:50% 0;';/*ie対応*/ }
main#home ul.post > li .post_ymd { font-size:10px!important; margin-top:5px; }
main#home ul.post > li .post_title { font-size:16px; font-weight:bold; padding:0; margin:0; line-height:1.7; }
main#home ul.post > li .post_title a { font-size:14px; font-weight:bold; color:#fff; }
main#home ul.post > li .padding { padding:0 15px; }
@media screen and (max-width:768px){
	main#home ul.post > li { width:48%; margin:0 auto; }
	main#home ul.post > li:nth-child(1) { margin-top:0; }
	main#home ul.post > li:nth-child(2) { margin-top:0; }
	main#home ul.post > li:nth-child(3) { margin-top:10px; }
	main#home ul.post > li:nth-child(4) { margin-top:10px; }
}
@media screen and (max-width:420px){
	main#home ul.post > li { width:100%; }
	main#home ul.post > li:nth-child(1) { margin-top:0; }
	main#home ul.post > li:nth-child(2) { margin-top:10px; }
	main#home ul.post > li:nth-child(3) { margin-top:10px; }
	main#home ul.post > li:nth-child(4) { margin-top:10px; }
}

/* newをつけて点滅 */
main#home ul.post .new { position:absolute; top:0; left:0; background:#ff0000; color:#fff; font-size:10px; padding:0 5px; }
/* 点滅 */
.blinking{
	-webkit-animation:blink 1s ease-in-out infinite alternate;
    -moz-animation:blink 1s ease-in-out infinite alternate;
    animation:blink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

/* 動画を2つ並びに */
main#home ul.post02 > li { width:49%; margin:2% 2% 0 0; padding:0; }
main#home ul.post02 > li:nth-child(2n+2) { margin-right:0%; }
main#home ul.post02 img { height:280px; }
@media screen and (max-width:768px){
	main#home ul.post02 > li { width:100%; margin:2% 0 0 0; padding:0; }
	main#home ul.post02 img { height:280px; }
}
@media screen and (max-width:420px){
	main#home ul.post02 img { height:160px; }
}

main#login_design {	font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; width:100%; margin:0 auto; padding:0; background:#464646 url(./img/bg_red.png)!important; }
main#login_design article {  }
main#login_design section { padding:30px 0; }
main#login_design section .inner { width:1000px; margin:0 auto; padding:30px 100px; background:#fff; }
main#login_design h1 { text-align:center; font-size:30px; font-weight:bold; }
main#login_design h2 { font-size:26px!important; margin-bottom:20px!important; font-weight:bold; font-style:normal!important; color:#fff; text-align:center; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-align:center; -ms-flex-align:center; align-items:center; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; text-align:center; }
main#login_design h2 span { background:#eeeeee; color:#333; font-size:10px; padding:1px 10px; margin-left:10px }
main#login_design p { font-size:14px; }
main#login_design a { display:block; text-decoration:underline; color:#0071bc; }
main#login_design .swpm-post-no-access-msg { color:#ff0000; text-align:center; } /* 観覧権限のない会員レベル */
@media screen and (max-width:768px) {
	main#login_design section {  }
	main#login_design section .inner { width:90%; padding:15px 15px; }
	main#login_design h1 { font-size:18px!important; }
	main#login_design h2 { font-size:16px!important; }
	main#login_design h2 span { padding:2px 5px; margin-left:10px }
	main#login_design p { font-size:12px; }
}

main#login_design input { height:40px; padding:10px; }
main#login_design input[type=checkbox] { display:inline-block; }
main#login_design select,
main#login_design input[type=text],
main#login_design input[type=password],
main#login_design input[type=submit] { width:100%; }
main#login_design input[type=submit] { height:60px }
@media screen and (max-width:768px) {
	main#login_design input::-webkit-input-placeholder { font-size:10px; }
	main#login_design input:-moz-placeholder { font-size:10px; }
	main#login_design textarea::-webkit-input-placeholder { font-size:10px; }
	main#login_design textarea:-moz-placeholder { font-size:10px; }
}

main#login_design table { width:100%; margin-top:0; border:none; }
main#login_design table tr { border-bottom:1px solid #ccc; }
main#login_design table th,
main#login_design table td { padding:15px 0; font-size:16px; text-align:left; background:#fff; }
main#login_design table th { color:#000; background:transparent; border-right:1px solid #fff; }
main#login_design table td { border-right:none; color:#000; }
@media screen and (max-width:768px) {
	main#login_design table th { padding:15px 0; }
	main#login_design table td { padding:15px 0 15px 15px; }
	main#login_design table th,
	main#login_design table td { padding:10px 5px; font-size:12px; text-align:left; }
}

/*--- 会員ページユーザー名削除 ---*/
.swpm-profile-username-row { display:none; }


/*--------------------------------------------------------------------------------
 *
 * ログインページ
 *
--------------------------------------------------------------------------------*/
main#login { 
font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
background:url(./img/bg_red.png);
display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-align:center;-ms-flex-align:center; align-items:center; /*上下中央*/
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/ }
main#login article { width:500px; background:#fff; padding:50px 50px; }
main#login input[type=checkbox] { display:inline-block; }
main#login input[type=text],
main#login input[type=password],
main#login input[type=submit] { width:100% }
main#login a { font-size:12px; display:block; text-decoration:underline; color:#0071bc; text-align:right; }
main#login label ,
main#login .swpm-remember-me { font-size:14px; }
form#swpm-login-form {  }
form#swpm-login-form label {  }
form#swpm-login-form input { padding:10px; }
form#swpm-login-form input[type="text"] { height:60px; }
form#swpm-login-form input[type="password"] { height:60px; }
form#swpm-login-form input[type="submit"] { height:60px; margin-top:5px; background:#000; color:#fff; border:none; }
@media screen and (max-width:768px){
	main#login article { width:90%; background:#fff; padding:20px; }
}

/* ------------------------------ガテゴリーを画像の上に------------------------------ */
.relative { position:relative; }
.relative ul.post-categories { margin:0; padding:0; list-style:none; position:absolute; bottom:20px; left:20px;}
.relative ul.post-categories li { position:relative; display:inline-block; width:auto; height:30px; line-height:30px; margin:0; padding:0 1em; background-color:#333; border-radius:30px; color:#fff; text-decoration:none; -webkit-transition:.2s; transition:.2s; list-style:none; box-shadow:0 1px 2px rgba(0,0,0,0.3); }
.relative ul.post-categories li a { display:block; max-width:300px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-size:10px; color:#fff; }
.relative .time { position:absolute; bottom:5px; right:3px; background:rgba(0,0,0,0.8); color:#fff; font-size:12px; padding:2px; line-height:1; }



/*--------------------------------------------------------------------------------
 *
 * オリジナルページ
 *
--------------------------------------------------------------------------------*/
#top .col01 h2 { color:#333; }
#top .col01 p { color:#333; }

#top .col02 h2 { color:#333; }
#top .col02 p { color:#333; }

#top .col03 h2 { color:#333; }
#top .col03 p { color:#333; }

#top .goal { border:2px solid #000; outline:solid 1px #000; outline-offset:-10px; background-color:#fff; width:80%; padding:50px 0; margin:30px auto 0 auto; }
#top .goal p { margin:0; text-align:center; font-size:26px; }
@media screen and (max-width:768px){
	#top .goal { outline-offset:-5px; background:#fff; width:100%; padding:30px 0; margin:20px auto 0 auto; }
	#top .goal p { font-size:14px; }
}

ul.five_box { 
display:-webkit-box; display:-ms-flexbox; display:flex;
/*-webkit-box-align:center;-ms-flex-align:center; align-items:center; 上下中央*/
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.five_box li { width:32%; border:1px solid #fff; color:#fff; margin-top:50px; margin-right:2%; padding:50px 0 30px 0; text-align:center; font-size:16px; position:relative; background-color:#000; }
ul.red_bg li { background-color:#750100; }
ul.five_box li:nth-child(3n+3) { margin-right:0; }
ul.five_box li img { position:absolute; top:-30px; left:50%; transform:translateX(-50%); -webkit- transform:translateX(-50%); }
@media screen and (max-width:768px){
	ul.five_box li { width:100%; margin-top:50px; padding:40px 0 30px 0; font-size:14px; margin-top:30px; margin-right:0; }
	ul.five_box li img { top:-20px; width:40px; height:37px; }
}

#top .col02 li { color:#fff; }
#top .col03 li { color:#fff; }


/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * フッター
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
footer { position:relative; width:100%; margin:0; padding:1em 0 2em; background-color: #6C504E; z-index:999; }
#footer { max-width:1000px; margin:0 auto; }
footer p { font-size:10px; color:#fff; text-align:center; }
footer p a { color:#fff!important; }
footer ul { display:table; width:100%; }
footer ul li { display:table-cell; width:50%; float:left; }
footer li a { font-size:14px; color:#fff!important; }
address { font-size:14px; text-align:center; padding:0; color:#fff; }

@media screen and (max-width:768px){
    footer { padding:1em 0 1em;}
    #footer { max-width:320px; margin:0 auto; }
    footer p { font-size:10px; text-align:center; margin:0; }
    address { font-size:12px; text-align:center; }
    footer ul { margin:0 auto; }
    footer ul li { text-align:left; }
    footer li a { font-size:12px; }
}

footer table { color:#734719; margin-bottom:10px; }
footer table tr { border-bottom:1px solid #734719; }
footer table th { width:20%; }
footer table td { width:11.4285%; text-align:center }
footer table th,
footer table td { padding:10px 0; }

/*--------------------------------------------------------------------------------
 *
 * フッターロゴ
 *
--------------------------------------------------------------------------------*/
#logo {
    height: 60px;
    margin: 0 auto 0;
    background: url("/cmn/message/img/logo.png") no-repeat top center;
    background-size: 53px;
}
@media screen and (max-width:768px){
  #logo {
    height: 45px;
    background-size: 40px;
  }
}

/*--------------------------------------------------------------------------------
 *
 * パンくずリスト
 *
--------------------------------------------------------------------------------*/
nav#pan { text-align:left; margin:0; padding:0 0 2px 0; }
nav#pan ol { max-width:1000px; margin:0 auto; padding:0; text-align:center;  }
nav#pan ol li { display:inline; list-style-type:none; font-size:10px; color:#fff; }
nav#pan ol li a { color:#fff; }
nav#pan ol li:before { content: " | "; }
nav#pan ol li:first-child:before { content:""; }
@media screen and (max-width:768px){
nav#pan { padding:0 0px 2px 0px; }
nav#pan ol { width:100%; }
}

/*--------------------------------------------------------------------------------
 *
 * フェードインアニメーション
 *
--------------------------------------------------------------------------------*/
.sa {opacity: 0; transition: all .5s ease; } /* ノーマル */
.sa.show {opacity: 1; transform: none; } /* ノーマル */
.sa-lr {transform: translate(-100px, 0); } /* 右から */
.sa-rl {transform: translate(100px, 0); } /* 左から */
.sa-up {transform: translate(0, 100px); } /* 下から */
.sa-down {transform: translate(0, -100px); } /* 上から */
.sa-scaleUp {transform: scale(.5); } /* 縮小→拡大 */
.sa-scaleDown {transform: scale(1.5); } /* 拡大→縮小 */
.sa-rotateL {transform: rotate(180deg); } /* 左回転 */
.sa-rotateR {transform: rotate(-180deg); } /* 右回転 */
@media screen and (max-width:768px){
	.sa-lr { transform: translate(0, 100px); } /* 右から */
	.sa-rl { transform: translate(0, 100px); } /* 左から */
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * その他（jQuery、文字装飾なと）
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
.mt { margin-top: 3rem !important;}
.mb { margin-bottom: 3rem !important;}

.center { text-align:center; }
.b { font-weight:bold; }
.u { text-decoration:underline; }
.c { text-decoration:line-through; }
.big { font-size: 1.2em; }
.brown { color:#ECAF7B; }
.rbrown { color:#4D0000; }
.color_red { color:#c1272d; }
.idt {
    padding-left: 5em !important;
    text-indent: -1em;
}
.fade {
    width: 90%;
    margin-top: 3em;
    margin-bottom: 2em;
    border: 0; 
    height: 2px;
    background-image: linear-gradient(
    90deg,
    hsla(0, 0%, 100%, 0),
    hsla(0, 0%, 100%, 1) 50%,
    hsla(0, 0%, 100%, 0) 100%);
}
.img_jingi {padding-top: 2em;}
.msg{
    text-align: center;
    font-weight: bold;
    font-size: 1.4em;
}
.box{
    border: 1px solid #fff;
    padding-bottom: 1em;
    margin: 1em auto 3em;
    width: 40%;
}
.close {
    text-align: center;
    margin-top: 4em;
}
.btn{
    padding: 1em 5em;
    font-size: 1.5em;
    font-weight: bold;
    background-color: #BEA174;
}
.sign{ text-align: right !important; }

.ttl{
    text-align: center;
    font-size: 1.8rem !important;
    font-weight: bold;
    line-height: 1.2em !important;
}
.ttlboder{
    margin: 3em auto;
    width: 80%;
}

.publication-img{
    display:flex;
    justify-content:space-between;
    flex-direction:column;
    align-items:center;
    margin:4em auto 5em;
    flex-direction:row;width:80%;
}
.publication-img .book-img{
    flex:0 0 30%;
    filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
}
.publication-img .book-img:last-child{margin-bottom:0}

@media screen and (max-width:768px) {
.big { font-size: 1.2em; }
.idt { padding-left: 2em !important; }
.fade { width: 80%; margin-top: 2em; margin-bottom: 1em; }
.img_jingi{padding-top: 0; width:70% ;margin: 0 auto;}
.msg{ font-size:1em; }
.box{ width: 70% }
.close {margin-top: 2em;}
.btn{margin-top: 2em; width: 40%; font-size: 1em; }
.ttlboder{
    margin: 1em auto 3em;
    width: 90%;
}
.publication-img{flex-direction:row;width:96%}
.publication-img .book-img{flex:0 0 30%;margin-bottom:0}}
.publication-img .book-img img{object-fit:cover;display:block;width:80%;margin:0 auto}
.publication-img .book-img img{width:100%}
}
