@charset "UTF-8";

/* base
----------------------------------------*/
body {
background: #fff url(background.png)repeat-y center;
margin: 0;
color: #555;
-webkit-text-size-adjust: 100%;
}

a:link,a:visited { text-decoration: underline; font-weight: normal; color: #CF021C; }
a:hover { color: #333; }

.j-hr{
padding:15px 0!important;}

.clearfix { zoom: 1; }
.clearfix:after {content:"."; display: block;height:0px; clear:both; line-height:0; visibility:hidden; }

.cc-pagemode-default #sidebar .edit,
.cc-pagemode-overlay #sidebar .edit{/*編集画面用*/
display:none;}


body,p,li,td,input,textarea, figcaption,
h1,h2,h3,h4,h5,h6,
.j-calltoaction-link-style-1,.j-calltoaction-link-style-2,.j-calltoaction-link-style-3,
#g-nav li,#smp-navibtn li,.breadcrumb,#footer,.pc-obi{
font-family: HiraginoGothic, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, sans-serif!important;}



/* content
----------------------------------------*/
#content a:hover img {
filter: alpha(opacity=75);
-moz-opacity: 0.75;
opacity: 0.75;
}

#content a:link,
#content a:visited{
color:#0a2262;
}

#content a:hover{
color:#555;
}


/* Layout
----------------------------------------*/
.inner,#content {
zoom: 1;
width:1040px;
margin: 0 auto;
}

.inner:after { 
content:".";
display: block;
height:0px;
clear:both;
line-height:0;
visibility:hidden;
}

#header {
zoom: 1;
overflow: hidden; 
margin: 0 auto;
padding-top: 5px;
width:1040px;
}

#header:after { 
content:".";
display: block;
height:0px;
clear:both;
line-height:0;
visibility:hidden;
}

#g-nav {
zoom: 1;
margin-top:0px;
background:#CF021C url(bar-navi2.png)repeat top center;
}

#g-nav .inner {
background:#CF021C url(bar-navi2.png)repeat top center;
z-index:10000;
}

#g-nav:after {
content:".";
display: block;
height:0;
clear:both;
line-height:0;
visibility:hidden;
}

#image-top {display:none;}

.cc-indexpage #image-top{
display:block;
/*width: 1040px;*/
margin: 0 auto 0;
text-align: center;
}

#content {
padding: 0 0 20px;
margin-top:30px;
}

#main {
float: left;
width: 730px;
margin-bottom: 70px;
}

#side {
float: right;
width: 280px;
margin-bottom: 30px;
}


#footer {
clear: both;
padding: 30px 0;
height:120px;
color:#fff;
background:#CF021C url(footer-bg.gif) repeat-x center bottom;
}



/* header
----------------------------------------*/

#header .pc-obi {
padding:8px 0;
text-align:center;
font-size:15px;
margin:0 10px;
}

#header h1 {
text-align:center;
}

#header h1 a img{
width:600px;
margin:0 auto 10px;
}

.inner img{width:100%;}

/* nav
----------------------------------------*/
#toggle,.nav-arrow,
#smp-navibtn {
display: none;
}

#g-nav:after {
content: "";
display: block;
clear: both;
}

#g-nav ul {
list-style: none;
margin: 0;
padding: 0;
}

#g-nav ul li {
float: left;
display: -moz-inline-box;
display: inline-block;
/display: inline;
/zoom: 1;
}

#g-nav ul li a {
display: block;
color: #fff;
}


#g-nav ul.cc-nav-level-0 > li > a.cc-nav-current {
background: #eee;
color: #CF021C;
}
.j-nav-variant-nested ul{
/*display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;*/}

#g-nav ul li a:hover {
background: #eee;
-moz-opacity: 0.8;
-khtml-opacity: 0.8;
opacity: 0.99;
color:#CF021C;
}

.fixed {
position: fixed;
top: 0;
width: 100%;
z-index: 10000 !important;
opacity: 0.95;
}

/* nav ul.cc-nav-level-0
----------------------------------------*/
#g-nav ul.cc-nav-level-0 {
width: 100%;
*zoom: 1;
text-align: center;
padding: 0;
}

#g-nav ul.cc-nav-level-0:after {
content: "";
display: block;
clear: both;
}
#g-nav ul.cc-nav-level-0 li {
*zoom: 1;
white-space: nowrap;
}

#g-nav ul.cc-nav-level-0 li ul {
position: absolute;
z-index: 2 !important;
}

#g-nav ul.cc-nav-level-0 li a {
display: block;
padding: 15px 30px;
text-decoration: none;
font-weight: normal;
font-size: 18px;
}

* html ul.cc-nav-level-0 li a {
zoom: 1;
}

/* g-nav ul.cc-nav-level-0 ul
----------------------------------------*/
#g-nav ul.cc-nav-level-0 li > ul {
visibility: hidden;
}

#g-nav ul.cc-nav-level-0 li:hover > ul {
visibility: visible;
}

#g-nav ul.cc-nav-level-0 li ul li {
clear: left;
display: block;
position: relative;
width: 240px!important;
}

#g-nav ul.cc-nav-level-0 li ul li a {
margin: 0 1px 1px 0;
padding: 0.5em 1em;
text-align: left;
font-size:14px;
}

#g-nav ul.cc-nav-level-1 a {/*第２階層*/
background: #CF021C;
filter: alpha(opacity=80);
-ms-filter: "alpha(opacity=80)";
-moz-opacity: 0.85;
-khtml-opacity: 0.85;
opacity: 0.85;
text-align: center;
color: #fff;
}

#g-nav ul.cc-nav-level-2 a {/*第３階層*/
background: #eee;
filter: alpha(opacity=80);
-ms-filter: "alpha(opacity=80)";
-moz-opacity: 0.85;
-khtml-opacity: 0.85;
opacity: 0.85;
text-align: center;
color: #555;
}

#g-nav ul.cc-nav-level-1 a.cc-nav-current,
#g-nav ul.cc-nav-level-2 a.cc-nav-current {
background: #eee;
color: #CF021C;
}

/* g-nav ul.cc-nav-level-2
----------------------------------------*/
#g-nav ul.cc-nav-level-0 li ul li ul {
top: 0;
left: 100%;
}

/* image-top
----------------------------------------*/
#image-top p {
margin: 0;
line-height: 0;
}


/* breadcrumb
----------------------------------------*/
#content .breadcrumb{
padding:0 10px 20px;
}

#content .breadcrumb a:link,
#content .breadcrumb a:visited{
color:#555;
text-decoration:none;
}

#content .breadcrumb a:hover{
color:#CF021C;
}

#content .breadcrumb ol{
list-style-type: none;
}

#content .breadcrumb ol li {
float: left;
margin: 0;
font-size: 0.9em;
}

#content .breadcrumb ol li:before {
content:"<";
margin:0 5px;
}

#content .bread-home{
float:left;
font-size: 0.9em;
}

.cc-page-index .breadcrumb{
display:none;
}

/* main
----------------------------------------*/
#main h1 {
  display: flex;
  align-items:center;
  margin-bottom:30px;
font-size:32px;
}

#main h1:before, h1:after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: #333;
    display: block;
}

#main h1:before{margin-right:.4em;}
#main h1:after {margin-left:.4em;}


#main h2 {
margin: 20px 0 10px;
font-weight: normal;
font-size:24px;
border-left: solid 5px #CF021C;
padding:8px 10px;
color:#333;
background-color:#eee;
}

#main h3 {
margin: 0;
color:#333;
padding: 5px;
font-weight: normal;
font-size:20px;
border-bottom:3px dotted #333;
}

#main p {
line-height: 1.6;
}

#content_area ul,
#sidebar ul{
padding-left:10px;
}

#content_area ul li,
#sidebar ul li{
padding-bottom:8px;
}

/* side
----------------------------------------*/
#side h1 {
margin: 0 0 5px 0;
padding: 5px 0;
font-weight: normal;
font-size:20px;
color:#333;
text-align:center;
}


#side h2 {
margin: 5px 0;
font-weight: normal;
font-size:18px;
border-left: solid 5px #CF021C;
padding:5px 10px;
color:#333;
background-color:#eee;
}


#side h3 {
margin: 0;
color:#333;
padding: 5px;
font-weight: normal;
font-size:18px;
border-bottom:3px dotted #333;
}


#side p {
margin: 0 0 0 0;
}




/* table
----------------------------------------*/
#main table{
border-collapse: collapse;
} 

/* footer
----------------------------------------*/
#contentfooter p,
#contentfooter a:link,
#contentfooter a:visited{
color:#fff!important;
}



/* j-calltoaction
----------------------------------------*/

#content_area .j-callToAction{margin-bottom:12px;}

.j-calltoaction-link-style-1{
padding:10px 30px;
font-size:18px!important;
width:90%!important;
}

.j-calltoaction-link-style-1:link,
.j-calltoaction-link-style-1:visited{
background: #fff;
border:1px solid #333;
color:#333!important;
}

.j-calltoaction-link-style-1:hover{
background: #aaa;
border:1px solid #aaa;
color:#fff!important;
}

.j-calltoaction-align-2 .j-calltoaction-link{
color:#CF021C;}

.j-calltoaction-link-style-2{
padding:10px 20px!important;
font-size:18px!important;
}

.j-calltoaction-link-style-2:link,
.j-calltoaction-link-style-2:visited{
background: #0a2262;
border:1px solid #0a2262;
border-radius:100px;
}

.j-calltoaction-link-style-2:hover{
background: #fff;
color:#0a2262!important;
}

.j-calltoaction-link-style-3{
padding:10px 20px!important;
font-size:18px!important;
border-radius:50px!important;
}

.j-calltoaction-link-style-3:link,
.j-calltoaction-link-style-3:visited{
background: #CF021C;
border:1px solid #CF021C;
}

.j-calltoaction-link-style-3:hover{
background: #fff;
color:#CF021C!important;
border:1px solid #CF021C;
}

.j-calltoaction-link-style-3::after {
    content: '\f35d';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

#sidebar .j-calltoaction-link-style-1{
padding:5px;
font-size:16px!important;
width:90%
}

#sidebar .j-calltoaction-link-style-1:link,
#sidebar .j-calltoaction-link-style-1:visited{
background: #fff;
border:1px solid #333;
color:#333!important;
}

#sidebar .j-calltoaction-link-style-1:hover{
background: #aaa;
color:#fff!important;
border:1px solid #aaa;
}

#sidebar .j-calltoaction-link-style-2,
#sidebar .j-calltoaction-link-style-3{
padding:8px 15px!important;
font-size:16px!important;
}



/*blog
----------------------------------------*/
#main .j-blog-post--header h1{
margin: 10px 0;
font-weight: normal;
font-size:21px;
border-left: solid 5px #CF021C;
padding:5px 10px;
color:#333;
background-color:#eee;
border-radius:0;
text-align:left;
}

#main .j-blog-post--header h1:before,
#main .j-blog-post--header h1:after{
content:none;}

#main .j-blog .j-blog-headline{
margin:0;
font-size:18px;}

#main .j-blog a{
text-decoration:none;}

/*form
----------------------------------------*/
form.cc-m-form .cc-m-form-submit .cc-m-form-view-input-wrapper input:not([name="dataprivacy"]){
margin-top:5px!important;color:#fff;background-color:#333;border:none;
padding:5px 40px;
}

form.cc-m-form .cc-m-form-view-sortable .cc-m-form-view-element.cc-m-form-subheading > label {
font-size: 110%!important;
font-weight:normal!important;
margin: .3em 0 .3em!important;}

/*rss
----------------------------------------*/
.rssFeedTitle{font-weight:400!important;}


/*cookie-policy
----------------------------------------*/
.j-cookie-policy p,
.j-cookie-settings p{
padding:10px 0 20px!important;
}
.j-cookie-policy h2,
.j-cookie-settings h2,
.j-cookie-policy h3,
.j-cookie-settings h3{
margin-top:30px!important;
}

.j-cookie-policy td:first-child,
.j-cookie-policy th:first-child{
border-right-width: 1px!important;
}

.j-cookie-policy tr:last-child td {
border-bottom-width: 1px!important;
}

/*swiper
----------------------------------------*/
.swiper-container{
text-align: center;
}
.swiper-container .swiper-slide img{
max-width: 100%;
height: auto;
}



/* 1040
-------------------------------------------------------------------*/

@media screen and (max-width: 1040px) {

#header {
padding-top: 0;
}

#content{
width: 90%;
}

.inner,#header  {
width: 90%;
}

.smp-none{
display:none;}

/*#g-nav,
#g-nav .inner {
background: #fff;
width: 100%;
}*/

.cc-indexpage #image-top {
width: 100%;
margin: 0;
}


#main,#side {
float: none;
width: 100%;
}

/* img */
#image-top img {
max-width: 100%;
height: auto !important;
}

/* header */
#header h1 {
/*float: none;
margin: 0;*/
}

#header h1 a img {
margin: 0 auto;
text-align: center;
width:130%;
}

#header p {
float: none;
margin: 0;
text-align: center;
font-size: 1.2em;
}

#header #wrap {
width:100%;
}

#wrap h1{float:left; width:70%;}


/* g-nav */
/*#g-nav{
margin-top:1px;}*/

.j-nav-variant-nested ul{/*打ち消し*/
    display: block;}


/*#g-nav ul.cc-nav-level-0 {
padding: 0;
}*/

/*#g-nav ul li {
width: 33.333%;
text-align: center;
}*/

/*#g-nav ul li a {
background: #CF021C url(bar-navi.png)repeat top;
padding: 0.5em 0;
margin: 0 1px 1px 0;
font-size: 1.1em !important;
}*/

/*#g-nav ul.cc-nav-level-0 li a {
padding: 12px 0;
color:#fff;
}*/

#g-nav ul.cc-nav-level-0 li a {
padding: 15px 15px;
font-size:16px;
}

/*#g-nav ul.cc-nav-level-0 li ul {
width: 33.333%;
font-size: 0.8em;
}*/

/*#g-nav ul.cc-nav-level-0 li ul li {
width: 100% !important;
clear: left;
position: relative;
}*/

/*#g-nav ul.cc-nav-level-0 li ul li ul {
width: 100%;
top: 100%;
left: 0;
font-size: 1em;
}*/

/*#g-nav ul.cc-nav-level-0 li ul li a {
margin: 0 1px 1px 0;
padding: 5px 0;
text-align: center;
background: #666;
}*/

#footer .inner #contentfooter{
width:90%!important;
margin: 0 auto;}
}


/* 768
-------------------------------------------------------------------*/

@media (max-width: 768px) {
body {
overflow-x: hidden;
}

/* h1,h2,h3 */
#main h1{font-size:2em;}
#main h2{font-size:1.8em;}
#main h3{font-size:1.6em;}

#wrap h1{float:left; width:70%;}
/*#header h1 a img{width:320px;margin-top:0.1em;}*/


.inner,#header  {
width: 100%;
}

#content img{
}

#header .pc-obi{
font-size:0.9em;}

#header div{
margin:0 10px;}

.j-hgrid .cc-m-hgrid-column,
.cc-imagewrapper {
float: none !important;
}

.cc-m-image-resizewrapper img,
.cc-imagewrapper img {
margin: 0 auto 10px;
}

.cc-m-textwithimage .imgright,
.cc-m-textwithimage .cc-m-image-align-2,
.j-textWithImage .imgright,
.j-textWithImage .cc-m-image-align-2 {
margin: 0 !important;
}

.j-hgrid .cc-m-hgrid-column,
.cc-imagewrapper,
table {
width: 100% !important;
}

#image-top img,
#content img {
max-width: 100%;
height: auto !important;
}


/* g-nav */

.cc-page-index .nav-parent{/*topnav位置合わせ*/
 position: relative;
margin-top:78px;
}

/*.cc-page-index #g-nav,*/
.cc-page-index #g-nav .inner {
position:absolute;
top:0;
right:0;
}



#g-nav{
margin-top:0;}

#g-nav .inner{
background-color:#fff;
}

#g-nav ul {
display: none;
}

#g-nav ul li a:hover{
background: #eee;
color:"#fff;"
}

#g-nav ul.cc-nav-level-0 li a {
padding: 12px 0;
color:#333;
}

#g-nav ul.cc-nav-level-0 li > ul {
visibility: visible;
display: none;
}

#g-nav ul.cc-nav-level-0 li:hover > ul,
#g-nav ul ul:hover  {
visibility: visible;
display: none;
}


#g-nav ul.cc-nav-level-0 > li > a.cc-nav-current {
background: #eee;
color: #333;
font-weight:bold;
}

#g-nav ul li {
position: relative;
background: #eee;
border-bottom: solid 1px #fff;
text-indent: 1.5em;
text-align: left;
width: 100%;
}

#g-nav ul.cc-nav-level-0 li ul {
position: relative;
width: 100%;
font-size: 0.8em;
}

#g-nav ul li a {
background: #eee;
width: auto;
color: #333;
}

#g-nav ul.cc-nav-level-1 li a,
#g-nav ul.cc-nav-level-2 li a {
background: #fff;
width: auto;
text-indent: 2.25em;
text-align: left !important;
color: #333;
}

#g-nav ul.cc-nav-level-2 li a {
text-indent: 3.25em;
font-weight: normal;
}

#g-nav ul.cc-nav-level-1 a.cc-nav-current,
#g-nav ul.cc-nav-level-2 a.cc-nav-current {
background: #ddd;
}

#g-nav ul.cc-nav-level-0 li ul li {
width: 100% !important;
clear: left;
position: relative;
}

#g-nav ul.cc-nav-level-0 li ul li ul {
width: 100%;
top: 100%;
left: 0;
font-size: 1em;
}

#g-nav ul.cc-nav-level-0 li ul li a {
background: #fff;
margin: 0 1px 1px 0;
padding: 5px 0;
}


/* nav-arrow */
#g-nav .nav-arrow {
display: block;
position: relative;
}

#g-nav .nav-arrow a:link,
#g-nav .nav-arrow a:visited{
position: absolute;
top: -48px;
right: 0;
display: block;
background: #CF021C;
height: 23px;
width: 13%;
line-height: 1;
text-align: center;
text-indent: 0;
}


#g-nav .nav-arrow a span:after {
content: url(https://u.jimcdn.com/cms/o/s2e2a33d447d5fbc5/userlayout/img/arrow.png?t=1639883701);
color: #fff;
}

/* smp-navibtn */
#smp-navibtn{
display:block;
width: 100%;
background-size: contain;
}
#smp-navibtn ol{
margin:0;
padding:0;
}

#smp-navibtn>ol>li {
float: left;
padding:0;
margin:0;
border-left: 0;
box-shadow: 1px 0 0 #eee inset;
text-align: center;
list-style:none!Important;
background: #CF021C url(bar-navi.png)repeat top;
}

#smp-navibtn>ol .smp-nav02,
#smp-navibtn>ol .smp-nav04,
#smp-navibtn>ol .smp-nav05{
width: 20%!Important;
}

#smp-navibtn>ol .smp-nav03{
width: 21%!Important;
}

#smp-navibtn>ol .smp-nav01{
width: 19%!Important;
}

#smp-navibtn ol .smp-nav02 a span,
#smp-navibtn ol .smp-nav05 a span {
letter-spacing: -0.05em;
}

#smp-navibtn ol li:first-child {
  box-shadow: none;
  border-left: 0;
}
#smp-navibtn ol li a{
display: block;
text-decoration: none;
color:#fff;
padding: 0;
font-size: 11px;
list-style:none!Important;
line-height:110%;
}

/*#smp-navibtn ol li.smp-nav01 a{
background:url(https://u.jimcdn.com/cms/o/s2e2a33d447d5fbc5/userlayout/img/icon-menu.png?t=1639883706)no-repeat center 5px;
background-size:contain;
padding-top:59px;
padding-bottom:7px;
}*/

#smp-navibtn ol li.smp-nav02 a{
background:url(https://u.jimcdn.com/cms/o/s2e2a33d447d5fbc5/userlayout/img/icon-kojin.png?t=1639883736)no-repeat center 5px;
background-size:contain;
padding-top:59px;
padding-bottom:7px;
}

#smp-navibtn ol li.smp-nav03 a{
background:url(https://u.jimcdn.com/cms/o/s2e2a33d447d5fbc5/userlayout/img/icon-school.png?t=1639883741)no-repeat center 5px;
background-size:contain;
padding-top:50px;
padding-bottom:4px;
}

#smp-navibtn ol li.smp-nav04 a{
background:url(https://u.jimcdn.com/cms/o/s2e2a33d447d5fbc5/userlayout/img/icon-company.png?t=1639883715)no-repeat center 5px;
background-size:contain;
padding-top:59px;
padding-bottom:7px;
}

#smp-navibtn ol li.smp-nav05 a{
background:url(https://u.jimcdn.com/cms/o/s2e2a33d447d5fbc5/userlayout/img/icon-contact.png?t=1639883721)no-repeat center 5px;
background-size:contain;
padding-top:59px;
padding-bottom:7px;
}

/* toggle */
#toggle{
display:block;
margin:0;
paddin:0;
background-image:url(https://u.jimcdn.com/cms/o/s2e2a33d447d5fbc5/userlayout/img/icon-menu.png?t=1639883706);
background-repeat:no-repeat;
background-position:center 5px;
padding-top:49px;
padding-bottom:5px;
background-size:contain;
cursor:pointer;
font-size:12px;
color:#fff;
}

div#toggle.over{
background-color:#fffbc8!important;
box-shadow: 1px 0 0 #fff inset;
}
div#toggle.active{
background-image: url(https://u.jimcdn.com/cms/o/s2e2a33d447d5fbc5/userlayout/img/icon-menu.png?t=1639883706)!important;
box-shadow: 1px 0 0 #fff inset;
}
}


/* 480
-------------------------------------------------------------------*/

@media (max-width: 480px) {
/*#header h1 a img{
width:280px;margin-top:0.2em;}*/
}