/* =Reset
-------------------------------------------------------------- */
@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Anton');

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-size: 100%;
	vertical-align: baseline;
}


html{
    font-size: 62.5%;
}

body{
	font: 14px/1.4 "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	color: #000;
}

body#home{
	background-image: url(../../img/back.jpg);
	background-size: cover;
	background-position: center center;
}

h1{
    font-size: 20px;
	margin:0 0 10px 0;
}
h2{
    font-size: 30px;
	font-weigth:bold;
	margin:0 0 10px 0;

}
h3{
	font-size: 18px;
	text-align: center;
	margin: 0 0 30px 0;
}
h3 span{
	padding: 5px 20px;
	border: 1px solid #000000;
}
h4{
	margin: 0 0 15px 0;
	background-color: #666666;
	padding: 10px;
	font-size: 20px;
	color: #FFFFFF;
}
#sitemap h4{
	margin: 0 0 15px 0;
	background-color: #DDDDDD;
	padding: 10px;
	font-size: 20px;
	color: #FFFFFF;
	text-align: center;
	border-bottom: 2px solid #CCCCCC;
}
h5{
	margin: 0 0 10px 0;
	font-size: 18px;
}
.entitle{
	padding: 0 20px 5px;
	font: 35px 'Anton', sans-serif;
	border-bottom: 8px solid #000000;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.moviearea .entitle{
	border-bottom: 8px solid #FFFFFF;
	color: #FFFFFF;
	width: 260px;
}
.blogarea .entitle{
	width: 260px;
}

a{
	color: #000000;
}
a:visited{}
a:hover{ opacity: 0.7; }


ol,
ul {
	list-style: none;
}

table {
	background: #CCC;
	border-collapse: separate;
	border-spacing: 1px;
	border-style: none;
    font-size: 12px;
	text-align: center;
}
th {
	background-color: #EEEEEE;
	padding: 5px;
	font-weight: bold;
	vertical-align: middle;
}
td {
	padding: 5px 10px;
	background: #FFFFFF;
	vertical-align: middle;
}
form table {
	background: #fff;
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left;
}
#map td:first-child {
	width: 30%;
}
#map td:nth-child(2) {
	width: 10%;
}
#map td:nth-child(3) {
	width: 50%;
}

p{
}


img{
	max-width:100%;
	height: auto;
	vertical-align:bottom
}


/* Header -------------------------*/
header{
	background-repeat: no-repeat;
	background-image: url(../../img/headback.jpg),url(../../img/bar.jpg);
	background-position: center top,center bottom;
	background-size: auto auto,2600px 3px;
	padding-bottom: 3px;
	height: 88px;
	z-index: 9999;

	position:fixed;
	width:100%;
	top:0;
}
#home header{
	background-image: url(../../img/bar+.jpg);
	background-position: center bottom;
	background-size: 2600px 3px;
	padding-bottom: 3px;
}
header #top{
	margin: 0 auto;
	padding: 10px 15px;
	max-width: 1000px;
	min-height: 68px;
	position: relative;
	z-index: 10;
}
header #top::after{
    content: '';
    display: block;
    clear: both;
}
header .logo{
	padding: 25px 0;
	float: left;
	margin-right: 50px;
}

#index{
	position: relative;
	min-height: 815px;
}
#index .logotitle{
	position: absolute;
	max-width: 570px;
	text-align: center;
	top: 65px;
	left: 0;
	right: 0;
	margin: auto;
}
#index .logotitle p{
	font-size: 14px;
	color: #FFFFFF;
	margin-top: 20px;
	font-weight: bold;
}
#index .topmenu{
	position: absolute;
	max-width: 600px;
	text-align: center;
	top: 240px;
	left: 0;
	right: 0;
	margin: auto;
}
#index .topmenu li{ float: left; }
#index .topmenu li+li{ float: right; }
#index .topmenu+.topmenu{
	max-width: 360px;
	top: 580px;
}
#index .topmenu+.topmenu li a{
	width: 175px;
	background-color: rgba(255,255,255,0.5);
	display: block;
	color: #333369;
	font-weight: bold;
	padding: 15px 0;
	font-size: 21px;
	text-decoration: none;
}
#index .topmenu+.topmenu li span{
	display: block;
	font-size: 12px;
}

#toppho{
	/* min-height: 335px; */
	background-color: #CCCCCC;
	position: relative;
}
#toppho img{
	width: 100%;
}
#toppho div{
	width:fit-content;
	min-width:250px;
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 10px 30px;
	border: 2px solid #FFFFFF;
	text-align: center;
	font-size: 35px;
	color: #FFFFFF;
	translate:-50% -50%;
}

/* ===== 2024.11.27 追加 ===== */

/* ヘッダー画像非表示処理 */
#toppho:has(img[src*="__ヘッダー画像非表示用__"]):not(:has(input[name="openWin"])) { display:none;}
#toppho:has(img[src*="__ヘッダー画像非表示用__"]):not(:has(input[name="openWin"])) + * { margin-top:120px!important;}
@media screen and (max-width: 999px){
	#toppho:has(img[src*="__ヘッダー画像非表示用__"]):not(:has(input[name="openWin"])) + * { margin-top:120x!important;}
}


/* ヘッダー画像：見出し非表示処理 */
#toppho div:empty { display:none;}



/* ========================= */



/* Navigation -------------------------*/
header nav:after{
    content: '';
    display: block;
    clear: both;
}
header nav{
	position: absolute;
	top: 35px;
	left: 310px;
	margin: 0;
	zoom: 1; /* for IE6/7 */
	float: left;
}

header nav ul{
	margin:0;
	padding:0;
}

header nav li{
	float:left;
	margin-right:30px;
	padding:0;
	position: relative;
}

header nav a{
	display: block;
	padding: 5px 25px 5px 5px;
	text-decoration: none;
	background-image: url(../../img/arrow1.png);
	background-repeat: no-repeat;
	background-position: right 5px top 10px;
	background-size: 10px auto;
}
header nav li ul{
	position: absolute;
	top: 100%;
	left: 0px;
}
header nav li li{
	display: none;
	float: none;
	width: 100%;
	border-top: 1px solid #FFFFFF;
}
header nav li:hover li{ display: block; }
header nav li li a{
	background-color: #E6E7E8;
	padding: 5px;
	background-image: none;
}
header nav a:hover{
	background-color:#CCCCCC;
	opacity: 1;
}
.sub{
	margin: 25px 0;
	float: right;
}
.sub p{
    float: left;
    margin-right: 10px;
}
.sub p a{
    text-decoration: none;
}
.sub p i{
    font-size: 20px;
}
.sub p:nth-child(2){
	margin-left: 5px;
}


/* indextop -------------------------*/
section.itemarea{
	background-color: #F1F3F2;
}
section.itemarea .box{
	max-width: 1000px;
	display:flex;
	flex-wrap:wrap;
}
section.itemarea .box > table { flex-basis:100%;}
.itemareabox{
	/* width:25%; */
	width:calc(100% / 3);
	float: left;
	padding: 70px 20px 30px;
	text-align: center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background:#fff;
}
.itemareabox + .itemareabox { position:relative;}
.itemareabox + .itemareabox:before{
	content:"";
	position:absolute;
	display:block;
	width:3px;
	height:90%;
	background:#F1F3F2;
	top:50%;
	left:-1.5px;
	translate:0 -50%;

}
.itemareabox > div + div{
	margin-top: 30px;
}
.itemareabox .bot span { border:none; width:auto; padding:0; margin:auto;}
.itemareabox .bot a {
	display:block;
	font-size:12px;
	padding:5px;
	border:solid 1px #221e1f;
	width:120px;
	margin:0 auto 35px;
	position:relative;
}
.itemareabox .bot a:before{
	content:"";
	position:absolute;
	display:block;
	width:25px;
	aspect-ratio:25/16;
	background:url(../../img/arrow1.png)no-repeat;
	bottom:-35px;
	left:50%;
	translate:-50% 0;
}


.bot a{
	display: block;
	text-decoration: none;
}
.bot span{
	display: block;
	font-size: 12px;
	padding: 5px 0;
	border: 1px solid #221E1F;
	width: 120px;
	margin: 0 auto 10px;
}
.bot02 a{
	display: block;
	text-decoration: none;
	text-align: center;
	padding: 10px 0;
	border: 1px solid #666666;
	font-size: 20px;
}
.bot03 a{
	display: block;
	text-decoration: none;
	text-align: center;
	padding: 10px 0;
	font-size: 18px;
	color: #FFFFFF;
	font-weight: bold;
	border-radius: 5px;
	background-color: #999999;
}
.moviearea{
	padding: 45px 15px 30px;
	color: #FFFFFF;
	text-align: center;
background: rgb(80,0,0);
background: -moz-linear-gradient(left,  rgba(29,57,141,1.00) 0%, rgba(0,114,188,1.00) 100%);
background: -webkit-linear-gradient(left,  rgba(29,57,141,1.00) 0%,rgba(0,114,188,1.00) 100%);
background: linear-gradient(to right,  rgba(29,57,141,1.00) 0%,rgba(0,114,188,1.00) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1D398D', endColorstr='#0072BC',GradientType=1 );
}
.moviearea .movie{
	margin: 30px auto;
	max-width: 500px;
}
.moviearea .bot span{
	color: #FFFFFF;
	border: 1px solid #FFFFFF;
}
.blogarea{
	padding: 45px 0 30px;
	text-align: center;
}
.blogbox{
	margin: 40px auto;
	max-width: 660px;

	display:flex;
	flex-wrap:wrap;
	gap:1px;
	justify-content:center;
}
.blogbox div { flex-basis:calc((100% - 1px) / 2);}
.blogbox div a{
	display: block;
	text-decoration: none;
	padding: 30px 0;
	font-size: 20px;
}
.blogbox .blogbox_item { background:#E0E1E2;}
.blogbox .kaeru-box { clear:none; background:transparent;}
.blogbox > table[align="center"] { width:100%; background:transparent;}

/* Add -------------------------*/
.infoarea{
	padding: 45px 15px 30px;
	color: #FFFFFF;
	text-align: center;
background: rgba(29,57,141,1.00);
background: -moz-linear-gradient(left,  rgba(29,57,141,1.00) 0%, rgba(0,114,188,1.00) 100%);
background: -webkit-linear-gradient(left,  rgba(29,57,141,1.00) 0%,rgba(0,114,188,1.00) 100%);
background: linear-gradient(to right,  rgba(29,57,141,1.00) 0%,rgba(0,114,188,1.00) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1D398D', endColorstr='#0072BC',GradientType=1 );
}
.infoarea .entitle {
    border-bottom: 8px solid #FFFFFF;
    color: #FFFFFF;
    width: 260px;
}
.infoarea .bot span {
    color: #FFFFFF;
    border: 1px solid #FFFFFF;
}
.infobox {
    max-width: 960px;
    height: auto;
    background-color: #FFFFFF;
    margin: 60px auto 50px;
    padding-top: 1px;
    color: #000;
}
.infobox iframe{
    vertical-align: bottom;
    overflow: hidden;
}
.catalogarea{
	padding: 45px 15px 30px;
    margin-top: 0;
	text-align: center;
    background-image: url("../../img/catalog.jpg");
    background-size: cover;
}
.catalogarea .catalogbox{
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;max-width: 600px;
    font-size: 18px;
    margin: 50px auto 20px;
    padding: 30px;
    padding-right: 0;
    box-sizing: border-box;
}
.catalogarea .catalogbox > div:nth-child(1){
    box-shadow: 10px 10px 10px -1px rgba(0,0,0,0.2);
}
.catalogarea .catalogbox > div:nth-child(2){
    width: 90%;
    padding: 0 5%;
}
.catalogarea .catalogbox > div:nth-child(2) td:first-child { display:none;}
.catalogarea .catalogbox > div:nth-child(2) div+div{
    margin-top: 20px;
}
.catalogarea .catalogbox > div:nth-child(2) div:nth-child(3){
    display: inline-block;
    padding: 2px 30px;
    border: #1D398D solid 1px;
    color: #1D398D;
    font-size: 14px;
}
.catalogarea .catalogbox > div:nth-child(2) div:nth-child(4) a{
    max-width: 280px;
    box-sizing: border-box;
    position: relative;
    display: block;
    background-color: #E0E1E2;
    padding: 30px;
    margin: auto;
    text-decoration: none;
    text-align: center;
}
.catalogarea .catalogbox > div:nth-child(2) div:nth-child(4) a::before{
    content: url("../../img/triangle.png");
    position: absolute;
    top: 0;
    left: 0;
}
.catalogarea .file {
    margin: 0;
}
.catalogarea .file .data tr td:first-child {
    display: none;
}
.catalogarea .entitle {
    width: 260px;
}
.followarea{
	padding: 45px 15px 30px;
    margin-top: 0;
	color: #FFFFFF;
	text-align: center;
    background-color: #928F8B;
}
.followarea a{
	display: inline-block;
    background-color: #fff;
    font-size: 55px;
    margin: 0 10px;
    text-align: center;
    width: 80px;
    height: 80px;
    border-radius: 50%;
}
.followarea i{
	vertical-align: middle;
}
.followarea .entitle {
    border-bottom: 8px solid #FFFFFF;
    color: #FFFFFF;
    width: 260px;
}
.blogbox div a {
    position: relative;
}
.blogbox div a::before{
    content: url("../../img/triangle.png");
    position: absolute;
    top: 0;
    left: 0;
}

/* Footer -------------------------*/
footer{
	padding: 40px 0 30px;
	background-color: #221E1F;
	color: #FFFFFF;
	font-size: 10px;
	line-height: 1.5;
	position: relative;
	z-index: 1000;
}
footer a{
	text-decoration: none;
	color: #FFFFFF;
}
.footermenu{
	float: left;
}
.footermenu ul{
	float: left;
	margin-right: 30px;
}
.footermenu ul:nth-child(3),.footermenu ul:nth-child(4){
	margin-top: 15px;
}
.copy{
	float: left;
	margin-top: 40px;
}
.areaguide{
	float: right;
}

/* Layout -------------------------*/
section{
	position: relative;
	z-index: 1000;
}
section+section{ margin-top: 60px; }

#index section+section{ margin-top: 0px; }

.entry-page{
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
.entry-content:after,.entry-page:after{
    content: '';
    display: block;
    clear: both;
}
.entry-content+.entry-page,.entry-content+.entry-content,.entry-page+.entry-page{ margin-top: 40px; }

.wrap{
	max-width: 980px;
	padding: 0px 15px;
	margin: 50px auto;
}

.box{
	max-width:1000px;
	padding:0px;
	margin:0 auto;
}
.box2{
	float: left;
	width: 48%;
	margin-left: 4%;
}
.box2:first-child{
	margin-left: 0;
}
.box3{
	float: left;
	width: 31%;
	margin-left: 3.5%;
}
.box3:first-child{
	margin-left: 0;
}
.box4{
	float: left;
	width: 22%;
	margin-left: 4%;
}
.box4:first-child{
	margin-left: 0;
}

/* Staff -------------------------*/
.staffbox{
	float: left;
	width: 31%;
	margin-right: 3.5%;
	margin-bottom: 50px;
}
.staffbox:nth-child(3n){
	margin-right: 0;
}
.stafftext01{
	font-size: 12px;
	margin: 10px 0;
	border-bottom: 1px solid #000000;
	text-align: center;
	font-weight: bold;
	padding-bottom: 5px;
}
.stafftext02{
	font-size: 20px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 20px;
}
.staffname{
	font: bold 30px "游明朝", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Times New Roman", serif;
	text-align: center;
	margin-bottom: 20px;
}
.staffname p{
	font-size: 12px;
}

/* Jig -------------------------*/
.jigbox{
	float: left;
	width: 22%;
	margin-right: 4%;
	margin-bottom: 30px;
	font-size: 12px;
}
.jigbox:nth-child(4n){
	margin-right: 0;
}
.jigname{
	font-weight: bold;
	text-align: center;
	font-size: 16px;
	color: #666666;
	padding-bottom: 5px;
	border-bottom: 1px dotted #666666;
}
.jigimg{
	margin: 15px 0 10px;
	text-align: center;
}
.jigmain{
	font-weight: bold;
	font-size: 25px;
	margin-bottom: 30px;
}
.photo_jig{
	float: left;
	text-align: center;
	width: 35%;
}
.text_jig{
	width: 60%;
	float: right;
}
.text_jig div+h4{
	margin-top: 30px;
}
.text_jig p{
	margin-top: 10px;
}

/* Rod -------------------------*/
.rodbox{
	margin-bottom: 30px;
	font-size: 12px;
}
.rodname{
	font-weight: bold;
	font-size: 16px;
	color: #666666;
	padding-bottom: 5px;
	border-bottom: 1px dotted #666666;
}
.rodimg{ margin: 15px 0 10px; }
.rodimg img{ width: 100%; }
.rodmain{
	font-weight: bold;
	font-size: 25px;
	margin-bottom: 20px;
	text-align: center;
}

/* Contents -------------------------*/

/* Sidebar -------------------------*/

/* Breadcrumb -------------------------*/

/* Pagetop -------------------------*/
#pagetop {
	position:fixed;
	bottom:275px;
	right:0px;
	z-index:9999;
}

/* Clearfix -------------------------*/
.clearfix:after{
	content: '';
	display: block;
	clear: both;
}
.clearfix{
	zoom: 1; /* for IE6/7 */
}

/* Other -------------------------*/
.sp{ display: none; }
.mar_b30 { margin-bottom: 30px; }
.mar_b20 { margin-bottom: 20px; }
.mar_b10 { margin-bottom: 10px; }
.mar_b05 { margin-bottom: 5px; }
.photo_l{
	float: left;
	padding: 0px 4% 10px 0px;
	text-align: center;
}
.photo_r{
	float: right;
	padding: 0px 0px 10px 4%;
	text-align: center;
}
.photo_l div+p,.photo_r div+p{
	padding-top: 5px;
	font-size: 12px;
}
.photo_l p+div,.photo_r p+div{
	padding-top: 20px;
}
.hidden{
	overflow: hidden;
}


/*---------------------------------------------------------------------------
  TOPICS
---------------------------------------------------------------------------*/
#topics a { text-decoration:none;}
#topics ul { display:flex; gap:10px 20px; padding:20px; border-bottom:solid 1px #eee;}
#topics ul li.date { font-size:15px; flex-shrink:1;}
#topics ul li.category {
	font-size:14px;
	padding:2px 10px;
	color:#fff;
	min-width:100px;
	height:fit-content;
	text-align:center;
	flex-shrink:1;
}
#topics ul li.text { font-size:18px; flex-basis:100%;}

#topics ul li.category.new_item { background:#ff9326;}

/* TOPのみ、三点リーダー処理 */
.infobox #topics { text-align:left;}
.infobox #topics ul:nth-child(n+6) { display:none;}
/* .infobox #topics ul li.text { overflow:hidden;}
.infobox #topics ul li.text div { overflow:hidden; text-overflow:ellipsis; text-wrap:nowrap;} */


header + * { 
	margin-top:91px!important;
}



/* 1000px -------------------------*/
@media screen and (max-width: 999px) {
.sp{display: block;}
.sub{
	margin: 5px 15px 10px;
    float: left;
}
header{
	background-image: url(none),url(none);
	padding-bottom: 0;
	height: 0;
	margin-top:48px;
}
header #top{
	padding: 0;
	max-width: 1000px;
	min-height: auto;
	background-color: #CCCCCC;
}
header .logo{
	display: none;
}

#index{
	padding: 30px 15px;
	min-height: 815px;
}
#index .logotitle{
	position: static;
}
#index .topmenu{
	position: static;
	margin: 30px auto;
}
#index .topmenu li{ float: none; }
#index .topmenu li+li{
	float: none;
	margin-top: 20px;
}
#index .topmenu+.topmenu li a{
	width: 175px;
	margin: 0 auto;
}
#index .topmenu+.topmenu li span{
	display: block;
	font-size: 12px;
}
#toppho {
    overflow:hidden;
	width:100%;
}
/* #toppho img {
    height: 100%;
    width: auto;
    max-width: 500%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
} */
#toppho div { max-width:70%; min-width:unset; padding:0.2em 0.85em; font-size:20px;}

section.itemarea{
	background-image: none;
}
.itemareabox{
	width: 100%;
	float: none;
	padding: 30px;
	background-color: #F1F2F2;
}
.itemareabox+.itemareabox{
	float: none;
	background-color: #FFFFFF;
}
.itemareabox p+p{
	margin-top: 30px;
}
.blogarea{
	padding: 45px 15px 30px;
}
.blogbox div{
	float: none;
	width: 100%;
	flex-basis:auto;
}
.blogbox div+div{
	float: none;
	border-left: none;
	margin-top: 1px;
}
.moviearea iframe { width:100%;}

footer{
	padding: 40px 15px 30px;
}
.footermenu{
	float: none;
	margin-top: 30px;
}
.footermenu ul{
	float: none;
	margin-right: 0;
	margin-top: 15px;
}
.copy{
	float: none;
	margin-top: 40px;
}
.areaguide{
	float: none;
	text-align: center;
}
#pagetop {
	/* position: static; */
	text-align: right;
}

#content,
#sidebar{
	float:none;
	width:100%;
}
.box3{
	float: none;
	width: 100%;
	margin-left: 0;
}
.box3+.box3{
	margin-top: 10px;
}

.staffbox{
	width: 48%;
	margin-right: 4%;
}
.staffbox:nth-child(3n){
	margin-right: 4%;
}
.staffbox:nth-child(2n){
	margin-right: 0;
}

.jigbox {
    width: 48%;
}
.jigbox:nth-child(2n) {
    margin-right: 0;
}

/* Add -------------------------*/
.catalogarea .catalogbox {
    flex-wrap: wrap;
    padding-right: 30px;
}
.catalogarea .catalogbox > div {
    margin: 0 auto;
}
.catalogarea .catalogbox > div:nth-child(2) {
    width: 100%;
    margin-top: 30px;
}

#topics ul { flex-wrap:wrap;}

header + * { margin-top:85.6px!important;}

}

@media screen and (max-width: 930px) {
.infobox iframe {
    height: 500px;
}
}