@charset "utf-8";
/* CSS Document */

/* PC　スマホ　切り替え
----------------------------------------------------*/

.sp-disp {
	display:none !important;
}
.pc-disp{
		display: block !important;
}
@media only screen and (max-width: 769px) {
.sp-disp {
	display: block !important;
}
.pc-disp{
	display: none !important;
}
}


/* 共通部分the_content内
----------------------------------------------------*/

/**
 * 8.0 - Alignments
 */
 
.alignleft {
	float: left;
	margin: 0.375em 1.75em 1.75em 0;
}

.alignright {
	float: right;
	margin: 0.375em 0 1.75em 1.75em;
}

.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto 1.75em;
}

blockquote.alignleft {
	margin: 0.3157894737em 1.4736842105em 1.473684211em 0;
}

blockquote.alignright {
	margin: 0.3157894737em 0 1.473684211em 1.4736842105em;
}

blockquote.aligncenter {
	margin-bottom: 1.473684211em;
}

/**
 * 9.0 - Clearings
 */

.clear:before,
.clear:after,
blockquote:before,
blockquote:after,
.entry-content:before,
.entry-content:after,
.entry-summary:before,
.entry-summary:after,
.comment-content:before,
.comment-content:after,
.site-content:before,
.site-content:after,
.site-main > article:before,
.site-main > article:after,
.primary-menu:before,
.primary-menu:after,
.social-links-menu:before,
.social-links-menu:after,
.textwidget:before,
.textwidget:after,
.content-bottom-widgets:before,
.content-bottom-widgets:after {
	content: "";
	display: table;
}

.clear:after,
blockquote:after,
.entry-content:after,
.entry-summary:after,
.comment-content:after,
.site-content:after,
.site-main > article:after,
.primary-menu:after,
.social-links-menu:after,
.textwidget:after,
.content-bottom-widgets:after {
	clear: both;
}

/**
 * content内のリスト設定解除
 */
#main .content li,#one-column .content li{
	list-style-type: inherit !important;
	margin-left:22px !important;
}

/**
 * content内のリスト設定解除
 */
#main .content li,#one-column .content li{
	list-style-type: inherit !important;
	margin-left:22px !important;
}

/**
 * content内の画像フィックス
 */
#main .content img{
	max-width:700px;
	height:auto;
}
#one-column .content img{
	max-width:950px;
	height:auto;
}
@media only screen and (max-width: 769px) {
#main .content img{
	max-width:100%;
	height:auto;
}
#one-column .content img{
	max-width:100%;
	height:auto;
}
}

/**
 * content内のスマホ表示のみの画像回り込み解除
 */
@media only screen and (max-width: 769px) {
#main .content .sp-img-float-none{
	float:none;
	margin-left:0;
	margin-right:0;
}
}


/* sp-menu
----------------------------------------------------*/
#sp-menu {
	display:none;
	position:relative;
	z-index:1000;
}
@media only screen and (max-width: 769px) {
#sp-menu {
	display:block;
}
}

.drawer-menu{
}

.drawer-menu li{
	border-bottom:1px solid #C7C7C7;
	color:#252525;
}
.drawer-menu li a{
	padding:10px 10px 10px 30px;
	display:block;
	color:#252525;
	text-decoration:none;
	background: url(../img/common/square.png) no-repeat 12px 50% #fff;
}
.drawer-menu li#pnv-sitemap a{
	background:url(../img/common/sitemap.png) no-repeat 8px 50% #ebebeb;
	padding-left:30px;
}
.drawer-menu li#pnv-language a{
	background:url(../img/common/language.png) no-repeat 8px 50% #ebebeb;
	padding-left:30px;
}
.drawer-menu li#search-form{
	padding:10px;
}
.drawer-menu li#search-form input.search-box{
	width:150px;
	padding:3px 3px 3px 23px;
	border:#b3b3b3 1px solid;
	background:url(../img/common/search.png) no-repeat 5px 50%;
	color:#999999;
}
.drawer-menu li#search-form input.search-btn{
	padding:5px 10px 4px 10px;
	border:#000000 1px solid;
	background-color:#000000;
	color:#FFFFFF;
	font-size: 7px; font-size:0.7rem;
	cursor:pointer;
}

/* header
----------------------------------------------------*/
#header {
	position: relative;
	width:100%;
	z-index:10;
	margin:0 auto 0 auto;
	background:rgba(255,255,255,0.9);
	border-top:3px solid #103c6d;
}
#header:before {
    content:"";
    display: block;
    padding-top: 140px; /* 高さを幅の75%に固定 */
}
#header #header-inner {
	position:absolute;
	top:0;
	left:50%;
	width:950px;
	margin-left:-490px;
	z-index:100;
}

/*  ========================= logo */
#header #header-inner #logo{
	margin:7px 0 5px 0;
	line-height:0;
	z-index:1;
}

/*  ========================= group-navi */
#header #global-navi{
	position:absolute;
	bottom:0;
	width:100%;
	height:58px;
	*zoom: 1;
	z-index:1000;
	background:#103c6d;
	border-bottom:#b8b8b8 solid 5px;
}
#header #global-navi ul.menu__first-level{
	margin:0 auto;
	height:58px;
    width: 950px;
	display:table;
	padding:0;
	box-sizing:border-box;
}
#header #global-navi ul li.menu__first-level{
	display: inline-block;
	line-height:140%;
	height:58px;
	border-left:1px solid #b8b8b8;
	display:table-cell;
	box-sizing:border-box;
	text-align:center;
}
#header #global-navi ul li.menu__first-level a{
	display:block;
	padding:10px 25px 5px 25px;
	text-decoration:none;
	color:#fff;
}
#header #global-navi ul li.menu__first-level a:hover{
	text-decoration:none;
	background:#015696;
}
#header #global-navi ul li.last-navi{
	border-right:1px solid #ffffff;
}
#header #global-navi .navi-en{
	font-family: 'Montserrat' !important;
	font-size: x-small !important;
	color:#FFFFFF;
	font-weight:100;
}
#header #global-navi ul li.menu__first-level a:hover .navi-en{
	color:#ffffff;
}

/**
 * single menu
 */

li.menu__mega .menu__second-level {
    position: absolute;
    top: 78px;
    left: 0;
    box-sizing: border-box;
    width: 100%;
	background:rgba(30,30,30,0.95);
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    visibility: hidden;
    opacity: 0;
	padding:10px 0 15px 0;
}

li.menu__mega .menu__second-level .menu__second-level-title{
    width: 950px;
	padding:0 0 5px 0;
	margin:8px auto 8px auto;
	text-align:left;
	color:#78b75c;
	border-bottom:1px solid rgba(120,180,90,0.4);
	background:none;
}
li.menu__mega:hover .menu__second-level {
    top: 78px;
    visibility: visible;
    opacity: 1;
}

li.menu__mega .menu__second-level ul {
    width: 950px;
	margin:0 auto;
	display:table;
}

li.menu__mega .menu__second-level ul > li {
    float: left;
	line-height:120%;
	font-weight:bold;
	width:20%;
	text-align:left;
	background:url(../img/common/arrow01.png) 5px 10px no-repeat;
	box-sizing:border-box;
}

li.menu__mega .menu__second-level ul > li a{
	display:block;
	padding:7px 26px 7px 26px !important;
	text-decoration:none;
	color:#ffffff !important;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
	font-size:small;
	font-weight:100;
}

li.menu__mega .menu__second-level ul > li a:hover{
	color: #C0C0C0 !important;
	background:none !important
}

li.menu__mega .menu__second-level ul > li:nth-child(3n+2) {
    margin: 0 0;
}
	
/*  ========================= search */
#header #header-inner #header-spec{
	position:absolute;
	top:10px;
	right:0;
	
	line-height:140%;
	text-align:right;
	color:#103c6d;
}

@media only screen and (max-width: 769px) {
/* header
----------------------------------------------------*/
#header{
    padding-bottom:45px; /* 高さを幅の75%に固定 */
}
#header:before {
    display: none;
}
.home #header{
    padding-bottom: 45px; /* 高さを幅の75%に固定 */
}
#header #header-inner {
	top:0 !important;
	left:0 !important;
	width: auto;
	margin-left:0;
}
#header #header-inner #logo{
	margin:10px 0 0 10px;
}
#header #header-inner #logo img{
	width:80%;
	max-width:230px;
}
/*  ========================= group-navi */
#header #global-navi{
	display:none;
}
}

/* contents
----------------------------------------------------*/
#wrapper{
	position: relative;
	width:900px;
	margin:50px auto 50px auto;
	word-wrap: break-word;
}
.home #wrapper{
	position: relative;
	width:950px;
	margin:10px auto 50px auto;
	word-wrap: break-word;
}
#wrapper .sec-block{
	width: auto !important;
	padding:0 10px !important;
	margin:0 10px 40px 10px;
}

@media only screen and (max-width: 769px) {
#wrapper{
	width: auto !important;
	margin:10px;
}
.home #wrapper{
	margin:10px;
}
#wrapper .sec-block{
	width: auto !important;
	padding:0 !important;
}
#wrapper .sec-block img{
	max-width:100%;
}
}

/* 1column
----------------------------------------------------*/
#one-column{
	width: 100%;
}

/* 2column
----------------------------------------------------*/

/*  ========================= メインコンテンツ */
#main{
	float:left;
	width:600px;
	margin-bottom:50px;
}
.home #main{
	float:right;
	width:670px;
	margin-bottom:50px;
}
/*  ========================= サイドカラム */

#side-column{
	float:right;
	width:250px;
}
.home #side-column{
	float:left;
	width:250px;
}

/*  ========================= サイドナビ */
#side-navi{
	margin-bottom:20px;
}
#side-navi ul{
	border:1px solid #999999;
}
#side-navi ul li{
	border-top:1px solid #999999;
}
#side-navi ul li a{
	display:block;
	padding:7px 10px 7px 10px;
	color:#333333;
	text-decoration:none;
}
#side-navi ul li a:hover{
	background:#ededed;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
	text-decoration:none;
}

#side-navi ul li a::before {
	content: "> ";
	color:#0074cb;
	font-size: 8px; font-size:0.8rem;
	font-weight:bold;
}

@media only screen and (max-width: 769px) {

/*  ========================= メインコンテンツ */
#main{
	float: none;
	width: auto;
	margin:0 10px 20px 10px ;
}
.home #main{
	float: none;
	width: auto;
	margin:0 10px 20px 10px ;
}
/*  ========================= サイドカラム */

#side-column{
	float: none;
	width: auto;
	margin:0 10px 20px 10px ;
}
.home #side-column{
	float: none;
	width: auto;
}

/*  ========================= リンクtitle */
#side-link{
	width:100%;
	margin-top:20px;
	line-height:0;
}
#side-link li img{
	width:100%;
	margin-top:10px;
	line-height:0;
}
}

/*  ========================= コンテンツ　タイトル等 */

/* サブタイトル */
.sub-title01{
	background:url(../img/common/mark_circle_b.png) no-repeat 0 40% ;
	margin:0 0 20px 0;
	border-bottom:5px solid #103c6d;
	padding:10px 0 15px 40px;
	
	font-size: 20px; font-size:2.0rem;
}
.sub-title01 span{
	border-bottom: 1px solid #333333;
    padding-bottom: 10px;
    display: inline-block;
    margin-bottom: -1px;
}
.sub-title02{
	background:url(../img/common/mark_circle.png) no-repeat 0 30% ;
	margin:0 0 10px 0;
	border-bottom:5px solid #103c6d;
	padding:0 0 5px 20px;
	
	font-size: 10px; font-size:1.0rem;
}
.sub-title03{
	background: #f5f5f5;
	border-left:5px solid #0066c6;
	padding:5px 10px;
	margin:20px 0 0 0 ;
	
	font-size: 14px; font-size:1.4rem;
}
.sub-title04{
	border-left:5px solid #ffbc06;
	padding:5px 10px;
	margin:20px 10px 0 10px ;
	
	font-size: 12px; font-size:1.2rem;
}

.sec-block-text{
	margin:20px 10px 0 10px ;
}

.list-circle{
	display:table;
}
.list-circle .l-c-mark{
	display: table-cell;
	width:3%;
	color:#FF0004;
}
.list-circle .l-c-text{
	display: table-cell;
	width:98%;
}

.photo-list{
	margin:20px 0 0 0;
	text-align:center;
}
.photo-list li{
	display:inline-block;
	width:31%;
}
.photo-list li img{
	width:100%;
	border:1px solid #7B7B7B;
	box-sizing:border-box;
}
.photo-list li p{
	text-align:center;
	margin-top:5px;
}

.pic-left{
	float:left;
	margin:0 15px 15px 0;
}
.pic-right{
	float:right;
	margin:0 0 15px 15px;
}

@media only screen and (max-width: 769px) {
.sub-title01{
	font-size: 13px; font-size:1.3rem;
	margin:10px 0 20px 0;
}
}

/*  ========================= 画像フィックス */
#content img{
	max-width:100% !important;
	height:auto;
}

/* pagetop
---------------------------------------- */

#page-top {
	margin-bottom:-80px;
	position: fixed;
	right:10px;
	z-index:1000;
}
#page-top a{
	display:block;
	padding:0;
	font-size:0;
	line-height:0;
	text-decoration:none;
}
@media only screen and (max-width: 769px) {
#page-top {
	margin-bottom:0;
	bottom: 10px;
	right: 10px;
	font-size: 0;
}
#page-top img{
}
}

/* pagetop
---------------------------------------- */

ul#tel{
	display:none;
	position: fixed;
	right:0;
	z-index:1000;
	border-top:1px solid #ABABAB;
	border-bottom:1px solid #ABABAB;
}
ul#tel li{
	float:left;
	width:50%;
}
ul#tel li a{
	display:block;
	padding:0;
	text-decoration:none;
	background:#0065c7;
	color:#FFFFFF;
	padding:10px 0 ;
	height:60px;

	text-align:center;
}
ul#tel li a#tel-btn{
	border-left:1px solid #ABABAB;
}
@media only screen and (max-width: 769px) {
ul#tel {
	display: block;
	width:100%;
}
ul#tel li a img{
	width:30px;
}
}

/* フッター
----------------------------------------------------*/
#footer {
	width:100%;
	z-index:10;
	margin:0 auto 30px auto;
	border-top:5px solid #a3a3a3;
}
#footer .footer-inner {
	position: relative;
	width:100%;
	margin:0 auto;
	background:#103c6d;
	border-bottom:1px solid #a3a3a3;
}
#footer .footer-inner .footer-block {
	position: relative;
	width:950px;
	margin:0 auto;
	padding:20px 0;
	background:#103c6d;
}
#footer .footer-inner .footer-block #footer-logo {
	position: relative;
	display: table;
	float:left;
	width:400px;
}

/*  ========================= footer-navi */
#footer .footer-inner .footer-block #footer-navi{
	float:right;
	width:550px;
}
#footer .footer-inner .footer-block #footer-navi li{
	display: inline-block;
	line-height:100%;
	font-size: 7px; font-size:0.7rem;
	padding:5px;
}
#footer .footer-inner .footer-block #footer-navi li a{
	display:block;
	padding:5px 10px;
	text-decoration:none;
	color:#fff;
}
#footer #footer-inner #footer-navi li a:hover{
	text-decoration:none;
}
#footer #footer-inner #footer-navi li#last-navi{
	border-right: none;
}

/*  ========================= footer-spec */
#footer .footer-inner .footer-block #footer-spec{
	text-align:center;
	color:#fff;
	font-size: 7px; font-size:0.7rem;
}
#footer #footer-spec #f-s-logo{
	float:left;
	text-align:right;
	width:48%;
}
#footer #footer-inner #footer-spec #f-s-text{
	float:right;
	text-align:left;
	width:48%;
}

/*  ========================= footer-copyright */
#footer #footer-copyright{
	padding:10px 0;
	text-align:center;
	font-size: 7px; font-size:0.7rem;
	border-bottom:1px solid #a3a3a3;
}
@media only screen and (max-width: 769px) {
/* フッター
----------------------------------------------------*/
#footer {
	width: auto;
	margin:0 auto 80px auto;
}
#footer .footer-inner {
	width: auto;
}
#footer .footer-inner .footer-block {
	width: auto;
}
#footer .footer-inner .footer-block #footer-logo {
	float: none;
	width: auto;
	margin:0 20px 10px 20px;
	box-sizing:border-box;
}

/*  ========================= footer-navi */
#footer .footer-inner .footer-block #footer-navi{
	float: none;
	width: auto;
	margin:10px 0 0 0;
	padding-top:10px;
	border-top:1px solid #a3a3a3;
}
}