@charset "UTF-8";
/* CSS Document */


/*
==========================================================
リセットCSS
==========================================================
*/

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
 
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;
	font-size: 100%;
	vertical-align: baseline;
	/* [disabled]position: relative; */
	background-repeat: no-repeat;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
}


body {
    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;
}
p,dl,ul,table {
	line-height: 1.8em;
}
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
a {
	color: #000;
	text-decoration: none;
}
a:hover,
.hover{
  opacity: 1;
  -webkit-animation-duration: 1s;
  -webkit-animation-name: flash;
  animation-duration: 1s;
  animation-name: flash;
}
img {
	height: auto;
	width: 100%;
}

/*
==========================================================
フォント設定
==========================================================
*/

body {
	text-align: center;
	font-size: 15px;
	background-color: #fff;
font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}

/*ページfade in設定の為*/
body {
	display: none;
}


/*
==========================================================
共通設定
==========================================================
*/

body {
	margin: 0px;
	padding: 0px;
}
#container {
	overflow: hidden;
	position: relative;
	margin: 0px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
}
a.op:hover img {
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}
img.max {
	height: auto;
	width: 100%;
}
.mgb10 {
	margin-bottom: 10px;
}
.mgb20 {
	margin-bottom: 20px;
}
.mgb30 {
	margin-bottom: 30px;
}
.mgb40 {
	margin-bottom: 40px;
}
.mgb50 {
	margin-bottom: 50px;
}
.pdl20 {
	padding-left: 20px;
}
.size50 {
	height: auto;
	width: 50%;
}
.size60 {
	height: auto;
	width: 50%;
}
.size70 {
	height: auto;
	width: 70%;
}
.size80 {
	height: auto;
	width: 80%;
}
.size90 {
	height: auto;
	width: 90%;
}
.fright {
	float: right;
}
.fleft {
	float: left;
}
#pagetopbt {
	display: block;
	color: #fff;
	text-decoration: none;
	padding: 20px;
	margin-bottom: 50px;
	text-align: center;
}
.pagetop {
	display: none;
	position: fixed;
	bottom: 50px;
	right: 15px;
}
.pagetop a {
	display: block;
	background-color: #000;
	text-align: center;
	color: #CCC;
	font-size: 14px;
	text-decoration: none;
	padding: 5px 10px;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	border-radius: 50px;
}
.pagetop a:hover {
    display: block;
    background-color: #b2d1fb;
    text-align: center;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    padding:5px 10px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

#access .gmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
} 
#access .gmap iframe,
#access .gmap object,
#access .gmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.hd {
	display: none;
}
.left {
	float: left;
}
.right {
	float: right;
}

figure {
	overflow: hidden;
}
figure img {
	transition: .4s;
}
a:hover figure img {
	transform: scale(1.25);
}

.link_btn {
display: block;
margin-left: auto;
margin-right: auto;
font-size: 18px;
text-align: center;
color: #ffffff;
padding: 10px;
border-radius: 4px;
}
.btn_cr {
background-color: #d2423e;
}
.btn_cb {
background-color: #4c80af;
}

.err_msg{
color: red;
}

@media print, screen and (min-width: 769px) {

/*
==========================================================
PC共通設定（PC）
==========================================================
*/

body {
	min-width:1200px;
}
.pchd {
	display: none;
}
.inner {
	margin-right: auto;
	margin-left: auto;
	width: 1200px;
}
.innerbox {
width: 1000px;
margin-left: auto;
margin-right: auto;
}

.topicPath {
	list-style-type: none;
	font-size: 12px;
	text-align: left;
	margin-left: auto;
margin-right: auto;
	overflow: hidden;
	padding-top: 10px;
	padding-right: 10%;
	padding-bottom: 10px;
	padding-left: 10%;
	width: 1200px;
	margin-bottom: 20px;
}
.topicPath ol {
	font-size: 12px;
	color: #333;
}
.topicPath li {
	display: inline-block;
}
.topicPath li + li:before {
	content: ">";
	margin: 0 1em;
}
.topicPath li a {
	margin-right: 6px;
}
.topicPath li a:link, .topicPath li a:visited, .topicPath li a:active {
	color: #000;
	text-decoration: none;
}
.topicPath li a:hover {
	color: #265AA9;
	text-decoration: underline;
}

#topImage h1,
#topImage p {
font-size: 32px;
text-align: left;
margin-top: 70px;
color: #ffffff;
line-height: 100%;
font-weight: bold;
}
#topImage h1 span,
#topImage p span{
font-size: 14px;
display: block;
margin-top: 10px;
line-height: 100%;
}

/*
======================
flex設定
=======================
*/

/*センター揃え*/
ul.flex {
	display: flex;
 flex-wrap: wrap;
 justify-content: center;
 position: relative;
}

/*左寄せ（複数行OK）*/
ul {
	display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 position: relative;
}

ul.flex3 {
	display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 position: relative;
}
ul.flex3:before {
 content:"";
 display: block;
 width:31%;
 order:1;
}
ul.flex3:after{
 content:"";
 display: block;
 width:31%;
}
ul.flex3 li {
 width: 31%;
 box-sizing: border-box;
}

ul.flex4 {
	display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 position: relative;
}
ul.flex4:before{
 content:"";
 display: block;
 width:31%;
 order:1;
}
ul.flex4:after{
 content:"";
 display: block;
 width:31%;
}
ul.flex4 li {
 width: 31%;
 box-sizing: border-box;
}

ul.flex5 {
	display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 position: relative;
}
ul.flex5:before{
content:"";
display: block;
width:23%;
order:1;
}
ul.flex5:after{
content:"";
display: block;
width:23%;
}
ul.flex5 li {
 width: 23%;
 box-sizing: border-box;
}



/*
==========================================================
スマホ用ヘッダー
==========================================================
*/
#h_top .h_logo,#h_top .h_login {
	display: none;
}

/*
==========================================================
ヘッダー（PC）
==========================================================
*/


header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 5
}
header {
	width: 100%;
	height: 156px;
	background-color: #FFF;
	margin: 0;
}
header.active {
	background-color: #FFF;
	box-shadow: 0px 4px 2px -2px rgba(0,0,0,0.2);
} 
header .upper {
overflow: hidden;
height: 24px;
width: 1200px;
margin-left: auto;
margin-right: auto;
}
header .upper h1,
header .upper p {
font-size: 12px;
color: #999999;
text-align: left;
font-weight: normal;
width: 50%;
float: left;
height: 24px;
}
header .upper h1{
padding-top: 5px;
}
.header_top {
	overflow: hidden;
	padding-bottom: 8px;
}

.header_top  .logo {
width: 300px;
padding-top: 5px;
float: left;
margin-right: 40px;
}
.header_top .login {
float: left;
width: 460px;
padding-top: 16px;
}
.header_top .login ul {
margin: 0px;
overflow: hidden;
display: flex;
}
.header_top .login li {
float: left;
}
.header_top .login li.pdt {
padding-top: 3px;
}
.header_top .login input {
height: 30px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	border: solid 1px #CCCCCC;
	}
 .header_top .login .css_btn_class {
	height: 30px;
padding-left: 16px;
padding-right: 16px;
	margin-top: 2px;
	line-height: 30px;
	text-align: center;
	font-size: 15px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	text-decoration: none;
	background-color: #063A8C;
	color: #ffffff;
	display: inline-block;
	border: none;
}
.header_top .login .css_btn_class:hover {
	background-color: #0F68F4;
	text-decoration: none;
 opacity: 1;
  -webkit-animation-duration: 1s;
  -webkit-animation-name: flash;
  animation-duration: 1s;
  animation-name: flash;
  cursor: pointer;
}
.header_top .login .css_btn_class:active {
	position:relative;
	top:1px;
}
.header_top .logon {
float: right;
width: 240px;
padding-top: 16px;
}
	.header_top .logon ul {
margin: 0px;
overflow: hidden;
display: flex;
}
.header_top .logon li {
float: left;
}
.header_top .logon li .mp {
height: 30px;
padding-left: 16px;
padding-right: 16px;
	margin-top: 2px;
	line-height: 30px;
	text-align: center;
	font-size: 15px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	text-decoration: none;
	background-color: #063A8C;
	color: #ffffff;
	display: inline-block;
	border: none;
	}
	.header_top .logon li .mp:hover {
		background-color: #0F68F4;
	text-decoration: none;
 opacity: 1;
  -webkit-animation-duration: 1s;
  -webkit-animation-name: flash;
  animation-duration: 1s;
  animation-name: flash;
  cursor: pointer;
	}
	.header_top .logon input {
height: 30px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	border: solid 1px #CCCCCC;
	}
 .header_top .logon .css_btn_class {
	height: 30px;
padding-left: 16px;
padding-right: 16px;
	margin-top: 2px;
	line-height: 30px;
	text-align: center;
	font-size: 15px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	text-decoration: none;
	background-color: #4C80AC;
	color: #ffffff;
	display: inline-block;
	border: none;
}
.header_top .logon .css_btn_class:hover {
	background-color: #9FBBD1;
	text-decoration: none;
 opacity: 1;
  -webkit-animation-duration: 1s;
  -webkit-animation-name: flash;
  animation-duration: 1s;
  animation-name: flash;
  cursor: pointer;
}
.header_top .login .css_btn_class:active {
	position:relative;
	top:1px;
}
.header_top .member {
float: right;
overflow: hidden;
padding-top: 14px;
width: 380px;
} 
.header_top .member p {
font-size: 17px;
font-weight: bold;
float: left;
margin-right: 10px;
}
.header_top .member p span {
font-size: 30px;
}
.header_top .member a {
display: block;
float: right;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 16px;
padding-right: 16px;
color: #ffffff;
text-align: center;
background-color: #D32E17;
transition : all 0.3s ease 0s;
}
.header_top .member a:hover {
background-color: #f45140;
}

header .h_nav {
width: 100%;
border-bottom: 1px solid #666666;
border-top: 1px solid #666666;
height: 64px;
background-color: #fff;
}
header .h_nav #gNav {
width: 1200px;
margin-left: auto;
margin-right: auto;
}
header .h_nav #gNav ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
position: relative;
height: 64px;
background-color: #fff;
}
header .h_nav #gNav ul li {
border-right: solid 1px #666666;
width: 14.1%;
height: 64px;
}
header .h_nav #gNav ul li:first-child{
border-left: solid 1px #666666;
}
header .h_nav #gNav ul li a:hover {
	border-color: #4e5346;
}
 header .h_nav #gNav li a {
    position: relative;
    display: block;
    text-align: center;
    line-height: 64px;
				font-size: 16px;
				transition : all 0.3s ease 0s;
  }
	header .h_nav #gNav ul li a.lh  {
font-size: 14px;
}
  
#gNav .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    display: block!important;
    position: absolute;
    top: 50px;
    left: 50%;
    margin-left: -90px;
    width: 110px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
  }
  #gNav .sub-menu a {
    display: block;
    line-height: 64px!important;
				width: 180px;
					height: 64px;
				background-color: 	#e9e9e9;
				color: #666666!important;
				transition : all 0.3s ease 0s;
    margin-top: -5px;
  }
  #gNav .sub-menu a:hover:after {
    content: none;
  }
  #gNav .sub-menu li {
    display: block;
    font-size: 16px;
    padding: 0;
    margin: 0;
				border-left: none!important;
				border-right: none!important;
  }
  #gNav .sub-menu li:last-child {
    border-bottom: none;
  }
  #gNav ul > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
  }
  #gNav ul > li:hover a,#gNav .current-menu-item a,#gNav .current-menu-parent a {
    color: #999999;
  }
  #gNav li:hover ul.sub-menu {
    top: 0px;
    visibility: visible;
    opacity: 1;
    z-index: 9999;
  }
  #gNav li ul li:after {
    content: none;
  }
 #gNav li:hover ul.sub-menu a {
    color: #111;
  }
  #gNav .sub-menu li a:hover {
    background: #f9f9f9;
    opacity: 1;
    animation: none;

  }
  #gNav .contact_btn a:hover {
    color: #f9f9f9;
  }

/*
==========================================================
コンテンツ共通（PC）
==========================================================
*/
#contents {
margin-bottom: 100px;
}
#contents h3 {
font-size: 20px;
padding: 16px;
background: rgb(247,247,246);
background: linear-gradient(0deg, rgba(247,247,246,1) 0%, rgba(240,240,240,1) 40%, rgba(238,238,238,1) 100%);
margin-bottom: 20px;
text-align: left;
font-weight: 500;
}
#contents p {
line-height: 1.8em;
font-weight: 300;
}

/*
==========================================================
会員誘導バナー（PC）
==========================================================
*/
.member_banner {
position: relative;
margin-bottom: 40px;
background-color: #FCF7E1;
padding: 20px;
}
.member_banner .title {
margin-bottom: 20px;
margin-top: -40px;
}
.member_banner .cnt {
width: 65%;
padding: 16px;
background-color: rgba( 255, 255, 255, 0.65 );
font-size: 20px;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
}
.member_banner .cnt dt {
background-color: #D32E17;
color: #ffffff;
width: 40%;
padding: 8px;
float: left;
margin-left: 40px;
}
.member_banner .cnt dd {
color: #D32E17;
margin-top: 10px;
}
.member_banner .cnt dd span {
font-weight: bold;
font-size: 32px;
}
.member_banner .catch {
font-size: 24px;
float: left;
margin-top: 10px;
}
.member_banner .catch .red {
color: #D32E17;
font-size: 32px;
font-weight: bold;
}
.member_banner .catch .blue {
color: #4175A6;
font-size: 28px;
font-weight: bold;
}
.member_banner .registbt {

}


/*
==========================================================
検索共通（PC）
==========================================================
*/
#lead {
background-image: url(/images/lead_bg.jpg);
background-repeat: no-repeat;
margin-bottom: 40px;
height: 300px;
}
#lead ul {
padding-top: 200px;
width: 80%;
margin-left: auto;
margin-right: auto;
}
#lead ul li {
width: 30%;
}
#lead ul li a {
display: block;
background-color: #4075A6;
padding-top: 20px;
padding-bottom: 20px;
text-align: center;
color: #ffffff;
font-size: 18px;
}
#lead ul li a:hover {
	background-color: #215A90;
}



/*
==========================================================
フッター（PC）
==========================================================
*/
footer {
	width: 100%;
	margin: 0px;
	padding-bottom: 10px;
}
footer .up {
background-color: #efefef;
padding-top: 40px;
padding-bottom: 40px;
}
footer .up ul {
	width: 80%;
	margin-left: auto;
margin-right: auto;
}
footer .up ul li {
width: 45%;
text-align: center;
font-size: 17px;
}
footer .up ul li a.mail {
color: #ffffff;
display: block;
background-color: #333333;
padding-top: 10px;
padding-bottom: 10px;
border-radius:8px 8px 8px 8px;
transition : all 0.3s ease 0s;
}
footer .up ul li a.mail:hover {
background-color: #999999;
}
footer .mid {
background-color: #000000;
padding-top: 40px;
padding-bottom: 40px;
}
footer .mid li {
width: 16%;
text-align: left;
}
footer .mid li dl {
margin: 0px;
color: #FFFFFF
}
footer .mid li dt {
font-size: 16px;
padding-bottom: 5px;
margin-bottom: 10px;
border-bottom: dotted 1px #666666;
}
footer .mid li dd {
font-size: 14px;
line-height: 1.8em;
}
footer .mid li dd a {
color: #cccccc;
display: inline-block;
transition: .3s;
}
footer .mid li dd a:hover {
text-decoration: underline;
color: #ffffff;
}

footer .footbottom {
overflow: hidden;
clear: both;
padding-top: 10px;
padding-bottom: 10px;
}
footer .footbottom .logo {
	width: 20%;
	float: left;
}
footer .footbottom .copyright {
width: 40%;
	font-size: 11px;
	text-align: right;
	padding-top: 20px;
	color: #999;
	margin: 0px;
	float: right;
}

/*
==========================================================
フッターフローティングボタン
==========================================================
*/

.bottom {
	background-color: rgba(0,0,0,0.7);
	width: 100%;
	text-align: center;
	position: fixed;
	z-index: 10;
	bottom: 0px;
	padding-bottom: 20px;
	padding-top: 20px;
}
.bottom .inner {
	width: 1200px;
	margin-right: auto;
	margin-left: auto;
}
.exbg {
	background-color: rgba(0,0,0,0.7);
	padding-left: 40px;
	padding-top: 20px;
	height: 90px;
	margin-bottom: 40px;
}
.execute {
	overflow: hidden;
}
.execute .inner .bt {
	float: left;
	width: 420px;
	margin-top: 8px;
}
.execute .inner .bt li {
	width: 46%;
	margin-right: 10px;
	float: left;
}
.execute .inner .bt .addressbt {
	float: left;
	width: 200px;
}
.execute .inner .bt .addbt {
	float: right!important;
	width: 200px!important;
}
.execute .css_btn_class {
	height: 60px;
	/*width: 30%;*/
	width: 300px;
	margin-right: auto;
	margin-left: auto;
	line-height: 50px;
	text-align: center;
	margin-top: 0px;
	margin-bottom: 0px;
	margin-top: 8px;
	padding-right: 50px;
	padding-left: 50px;
	font-size: 18px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	text-decoration: none;
	background-color: #D90E00;
	color: #ffffff;
	display: inline-block;
	border: none;
}
.execute .css_btn_class:hover {
	background-color: #FFCD01;
	text-decoration: none;
}
.execute .css_btn_class:active {
	position:relative;
	top:1px;
}
.execute p {
	font-size: 18px;
	color: #FFF;
	float: left;
	line-height: 60px;
	padding-left: 100px;
}
.execute p span {
	font-size: 24px;
	font-weight: bold;
	color: #F60;
}

.bottom .inner dl {
	margin: 0px;
	padding: 0px;
	overflow: hidden;
}
.bottom .inner dl dt {
	font-size: 20px;
	color: #FFF;
	text-align: left;
	float: left;
	width: 300px;
	background-image: url(/images/list_bottom_check.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 40px;
	line-height: 40px;
}
.bottom .inner dl dd {
	margin: 0px;
	padding: 0px;
	float: left;
	width: 850px;
}
.bottom .inner dl dd ul {
	display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.bottom .inner dl dd ul li {
	width: 32%;
}
#footerInfo {
	display: none;
}
#footerInfo a {
	display: none;
}
#footerbt {
	display: none;
}


}



@media screen and (min-width: 521px) and (max-width: 768px) {

/*
==========================================================
共通設定（pd）
==========================================================
*/

body {
max-width: 1200px;
-webkit-text-size-adjust: 100%;
}
#container .upper {
display: none;
}
.pdhd {
	display: none;
}
.inner {
	margin-right: auto;
	margin-left: auto;
}
.bgw {
background-color: #FFFFFF;
}
.bgc {
background-color: #f5f8f7;
}
.innerbox {
padding-top: 20px;
padding-right: 16px;
padding-left: 16px;
padding-bottom: 50px;

margin-left: auto;
margin-right: auto;
}
.topicPath {
	list-style-type: none;
	font-size: 12px;
	text-align: left;
	margin-left: auto;
margin-right: auto;
	overflow: hidden;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 16px;
}
.topicPath ol {
	font-size: 12px;
	color: #333;
}
.topicPath li {
	display: inline-block;
}
.topicPath li + li:before {
	content: ">";
	margin: 0 1em;
}
.topicPath li a {
	margin-right: 6px;
}
.topicPath li a:link, .topicPath li a:visited, .topicPath li a:active {
	color: #000;
	text-decoration: none;
}
.topicPath li a:hover {
	color: #265AA9;
	text-decoration: underline;
}

.tleft {
	text-align: left;
}

.sidebtn {
	display: none;
}
#topImage h1,
#topImage p {
font-size: 32px;
text-align: left;
color: #ffffff;
position: relative;
top: 10px;
margin-bottom: 0px;
}
#topImage h1 span,
#topImage p span{
font-size: 14px;
display: block;
text-align: left;
color: #fff;
position: relative;

}

/*
======================
flex設定
=======================
*/

/*センター揃え*/
ul.flex {
	display: flex;
 flex-wrap: wrap;
 justify-content: center;
 position: relative;
}

/*左寄せ（複数行OK）*/
ul {
	display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 position: relative;
}
ul.flex3 {
	display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 position: relative;
}
ul.flex3:before {
 content:"";
 display: block;
 width:31%;
 order:1;
}
ul.flex3:after{
 content:"";
 display: block;
 width:31%;
}
ul.flex3 li {
 width: 31%;
 box-sizing: border-box;
}
ul.flex4 {
	display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 position: relative;
}
ul.flex4:before{
 content:"";
 display: block;
 width:31%;
 order:1;
}
ul.flex4:after{
 content:"";
 display: block;
 width:31%;
}
ul.flex4 li {
 width: 31%;
 box-sizing: border-box;
}

ul.flex5 {
	display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 position: relative;
}
ul.flex5:before{
content:"";
display: block;
width:23%;
order:1;
}
ul.flex5:after{
content:"";
display: block;
width:23%;
}
ul.flex5 li {
 width: 23%;
 box-sizing: border-box;
}


/*
==========================================================
ヘッダー（pd）
==========================================================
*/

#header .logo {
	display: none;
	}

#h_top.active {
	background-color: #FFF;
	box-shadow: 0px 4px 2px -2px rgba(0,0,0,0.2);
  -webkit-box-shadow: 0px 4px 2px -2px rgba(0,0,0,0.2);
  -moz-box-shadow: 0px 4px 3px -2px rgba(0,0,0,0.2);
} 
#h_top {
	height: 60px;
	width: 100%;
	z-index: 9999999998;
	background-color: #FFF;
	position: fixed;
	top: 0;
	left: 0;
}
#h_top .h_logo {
width: 40%;
margin-left: 10px;
margin-top: 3px;
position: relative;
	z-index: 99999999998;
}
#h_top .h_login {
	position: absolute;
	top:0;
	right:60px;
	width: 60px;
	height: 60px;
z-index: 99999999998;
}
#h_top .h_tel {
	float: left;
	width: 12%;
	height: 100%;
}
#h_top .h_nav {
	clear: both;
}
#gNav .nav {
 overflow-y: auto;
 height: 100vh;
}
.mean-nav .container {
 padding: 0;
}

/*
==========================================================
ナビゲーション（pd）
==========================================================
*/

#header .navi,
.header_top {
	display: none;
}

/*
==========================================================
コンテンツ共通（pd）
==========================================================
*/


#container .topImage {
	height: 100px;
	padding-top: 80px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	background-image: url(/images/topImage_r.png), url(/images/topImage_l.png);
	background-position: right bottom, left bottom;
	background-size: 10% auto, 10% auto,;
	background-repeat: no-repeat, no-repeat;
}
#container .topImage h1,
#container .topImage p{
	font-size: 24px;
	color: #7b9caf;
	font-weight: normal;
	text-align: center;
	line-height: 1.5em;
	margin-bottom: 5px;
}
#container .topImage h1 span,
#container .topImage p span{
	font-size: 13px;
	color: #FFF;
	text-align: center;
	display: block;
	color: #7b9caf;
	margin-bottom: 0px;
	padding: 0px;
}
#contents {
padding-bottom: 80px;
	position: relative;
	text-align: center;

	background-image: url(/images/footer_illust.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 90%;
}
#contents .title {
overflow: hidden;
}
#contents .title h3 {
	text-align: left;
	background-image: url(/images/title_icon.png);
		background-position: left center;
	padding-left: 60px;
	line-height: 50px;
	font-size: 24px;
	font-weight: normal;
	margin-bottom: 20px;
	height: 50px;
	float: left;
	letter-spacing: 0.02em;
}
#contents h3 {
font-size: 20px;
padding: 16px;
background: rgb(247,247,246);
background: linear-gradient(0deg, rgba(247,247,246,1) 0%, rgba(240,240,240,1) 40%, rgba(238,238,238,1) 100%);
margin-bottom: 20px;
text-align: left;
font-weight: 500;
}

/*
==========================================================
フッター（pd）
==========================================================
*/
footer {
	width: 100%;
	margin: 0px;
	padding-bottom: 10px;
}
footer .up {
background-color: #efefef;
padding-top: 40px;
padding-bottom: 40px;
}
footer .up ul {
	width: 90%;
	margin-left: auto;
margin-right: auto;
}
footer .up ul li {
width: 47%;
text-align: center;
font-size: 17px;
}
footer .up ul li a.mail {
color: #ffffff;
display: block;
background-color: #333333;
padding-top: 10px;
padding-bottom: 10px;
border-radius:8px 8px 8px 8px;
transition : all 0.3s ease 0s;
}
footer .up ul li a.mail:hover {
background-color: #999999;
}
footer .mid {
background-color: #000000;
padding-top: 40px;
padding-bottom: 40px;
padding-left: 12px;
padding-right: 12px;
}
footer .mid li {
width: 16%;
text-align: left;
}
footer .mid li dl {
margin: 0px;
color: #FFFFFF
}
footer .mid li dt {
font-size: 16px;
padding-bottom: 5px;
margin-bottom: 10px;
border-bottom: dotted 1px #666666;
}
footer .mid li dd {
font-size: 14px;
line-height: 1.8em;
}
footer .mid li dd a {
color: #cccccc;
display: inline-block;
transition: .3s;
}
footer .mid li dd a:hover {
text-decoration: underline;
color: #ffffff;
}

footer .footbottom {
overflow: hidden;
clear: both;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 12px;
padding-right: 12px;
}
footer .footbottom .logo {
	width: 30%;
	float: left;
}
footer .footbottom .copyright {
width: 50%;
	font-size: 11px;
	text-align: right;
	padding-top: 20px;
	color: #999;
	margin: 0px;
	float: right;
}
#footerbt {
	display: none;
}

/*
==========================================================
会員誘導バナー（pd）
==========================================================
*/

.memberbox {
	margin-bottom: 30px;
	width: 100%;
}
.memberbox .count {
	height: 84px;
	position: relative;
	text-align: center;
	margin-bottom: 16px;
}
.memberbox .count p {
font-size: 21px;
letter-spacing: 0.2em;
padding-top: 40px;
color: #697888;
}
.memberbox .count p span {
font-size: 36px;
font-weight: bold;
color: #E55445;
}
.memberbox .count .fukidashi {
	width: 162px;
	height: 39px;
	position: absolute;
	left: 34%;
	top: 10px;
}

.memberbox .wrap dl {
margin-left: 0px;
margin-right: 0px;
margin-bottom: 20px;
}
.memberbox .wrap ul {
width: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: 50px;
}

.memberbox .wrap dt {
	color: #697888;
	font-size: 21px;
	width: 450px;
	margin-left: auto;
	margin-right: auto;
 border-bottom: 1px solid #697888;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
.memberbox .wrap dt span {
font-size: 36px;
font-weight: bold;
}
.memberbox .wrap dd {
font-size: 16px;
font-weight: bold;
color: #697888;
}
.memberbox .wrap ul {
width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
}
.memberbox .wrap ul li {
width: 32%;
font-size: 18px;
text-align: center;
color: #697888;
font-weight: bold;
background-color: #ffffff;
padding-bottom: 10px;
padding-top: 10px;
border-radius: 8px;
}

.memberbox .wrap .regist {
width: 50%;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
}

.memberbox .wrap .regist a {
display: block;
background-color: #E55445;
color: #ffffff;
font-size: 20px;
text-align: center;
padding-bottom: 16px;
padding-top: 16px;
border-radius: 8px;
transition : all 0.3s ease 0s;
}
.memberbox .wrap .regist a:hover {
background-color: #dd3e36;
}

/*
==========================================================
検索共通（pd）
==========================================================
*/
#lead {
background-image: url(/images/lead_bg.jpg);
background-repeat: no-repeat;
background-size: 100%;
margin-bottom: 40px;
height: 200px;
}
#lead ul {
padding-top: 120px;
width: 80%;
margin-left: auto;
margin-right: auto;
}
#lead ul li {
width: 30%;
}
#lead ul li a {
display: block;
background-color: #4075A6;
padding-top: 20px;
padding-bottom: 20px;
text-align: center;
color: #ffffff;
font-size: 18px;
}
#lead ul li a:hover {
	background-color: #215A90;
}


/*
==========================================================
会員誘導（pd）
==========================================================
*/

.member_banner {
position: relative;
margin-bottom: 40px;
background-color: #FCF7E1;
padding: 20px;
}
.member_banner .title {
margin-bottom: 20px;
margin-top: -40px;
}
.member_banner .cnt {
width: 65%;
padding: 16px;
background-color: rgba( 255, 255, 255, 0.65 );
font-size: 20px;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
}
.member_banner .cnt dt {
background-color: #D32E17;
color: #ffffff;
width: 40%;
padding: 8px;
float: left;
margin-left: 40px;
}
.member_banner .cnt dd {
color: #D32E17;
margin-top: 10px;
}
.member_banner .cnt dd span {
font-weight: bold;
font-size: 32px;
}
.member_banner .catch {
font-size: 24px;
float: left;
margin-top: 10px;
}
.member_banner .catch .red {
color: #D32E17;
font-size: 32px;
font-weight: bold;
}
.member_banner .catch .blue {
color: #4175A6;
font-size: 28px;
font-weight: bold;
}
.member_banner .registbt {

}

/*
==========================================================
フッターフローティングボタン
==========================================================
*/

.bottom {
	background-color: rgba(0,0,0,0.7);
overflow: hidden;
	width: 100%;
	text-align: center;
	position: fixed;
	z-index: 10;
	bottom: 0px;
	padding-bottom: 20px;

}
.bottom .inner {
padding-top: 10px;
padding-bottom: 20px;
}
.exbg {
	background-color: rgba(0,0,0,0.7);
	padding-left: 40px;
	padding-top: 20px;
	height: 90px;
	margin-bottom: 40px;
}
.execute {
	overflow: hidden;
}
.execute .inner .bt {
	float: left;
	width: 420px;
	margin-top: 8px;
}
.execute .inner .bt li {
	width: 46%;
	margin-right: 10px;
	float: left;
}
.execute .inner .bt .addressbt {
	float: left;
	width: 200px;
}
.execute .inner .bt .addbt {
	float: right!important;
	width: 200px!important;
}
.execute .css_btn_class {
	height: 60px;
	/*width: 30%;*/
	width: 300px;
	margin-right: auto;
	margin-left: auto;
	line-height: 50px;
	text-align: center;
	margin-top: 0px;
	margin-bottom: 0px;
	margin-top: 8px;
	padding-right: 50px;
	padding-left: 50px;
	font-size: 18px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	text-decoration: none;
	background-color: #D90E00;
	color: #ffffff;
	display: inline-block;
	border: none;
}
.execute .css_btn_class:hover {
	background-color: #FFCD01;
	text-decoration: none;
}
.execute .css_btn_class:active {
	position:relative;
	top:1px;
}
.execute p {
	font-size: 18px;
	color: #FFF;
	float: left;
	line-height: 60px;
	padding-left: 100px;
}
.execute p span {
	font-size: 24px;
	font-weight: bold;
	color: #F60;
}

.bottom .inner dl {
	margin: 0px;
	padding: 0px;
	overflow: hidden;
}
.bottom .inner dl dt {
	font-size: 16px;
	color: #FFF;
	text-align: left;
	background-image: url(/images/list_bottom_check.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 40px;
margin-bottom: 10px;
}
.bottom .inner dl dd {
	margin: 0px;
	padding: 0px;
}
.bottom .inner dl dd ul {
	display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.bottom .inner dl dd ul li {
	width: 32%;
}
#footerInfo {
	display: none;
}
#footerInfo a {
	display: none;
}

}



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

/*
==========================================================
共通設定（SP）
==========================================================
*/

body {
	line-height: 1;
}
#container .upper {
display: none;
}
.sphd {
	display: none;
}
img {
	width: 100%;
	height: auto;
}

.bgw {
background-color: #FFFFFF;
padding: 12px;
}
.bgc {
background-color: #f5f8f7;
}
.innerbox {
padding-top: 20px;
padding-right: 8px;
padding-left: 8px;
padding-bottom: 20px;
margin-left: auto;
margin-right: auto;
}
ul {
	display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 position: relative;
}
#topImage h1,
#topImage p {
font-size: 24px;
text-align: left;
margin-top: 20px;
color: #ffffff;
padding-left: 16px;
}
#topImage h1 span,
#topImage p span {
font-size: 14px;
display: block;
margin-top: 10px;
}

/*
==========================================================
ヘッダー（SP）
==========================================================
*/
 #header .logo {
	display: none;
	}

#h_top.active {
	background-color: #FFF;
	box-shadow: 0px 4px 2px -2px rgba(0,0,0,0.2);
  -webkit-box-shadow: 0px 4px 2px -2px rgba(0,0,0,0.2);
  -moz-box-shadow: 0px 4px 3px -2px rgba(0,0,0,0.2);
} 
#h_top {
	height: 60px;
	width: 100%;
	z-index: 9999999998;
	background-color: #FFF;
	position: fixed;
	top: 0;
	left: 0;
}

#h_top .h_logo {
width: 60%;
height: 60px;
margin-left: 10px;
margin-top: 8px;
position: relative;
	z-index: 99999999998;
}
#h_top .h_login {
	position: absolute;
	top:0;
	right:60px;
	width: 60px;
	height: 60px;
	z-index: 99999999998;
}
#h_top .h_tel {
	float: left;
	width: 12%;
	height: 100%;
}
#h_top .h_nav {
	clear: both;
}
#gNav .nav {
 overflow-y: auto;
 height: 100vh;
}
.mean-nav .container {
 padding: 0;
}

/*
==========================================================
ナビゲーション
==========================================================
※ スマホナビゲーション部分はjquery.fatNav.cssに記述。

*/

#header .navi,
.header_top {
	display: none;
}

/*
==========================================================
コンテンツ共通設定（SP）
==========================================================
*/

#container section {
	margin-bottom: 50px;
	overflow: hidden;
}
#container .topImage {
	height: 120px;
	width: 100%;
	padding-top: 70px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	background-image: url(/images/topImage_r.png), url(/images/topImage_l.png);
	background-position: right bottom, left bottom;
	background-size: 40% auto, 40% auto;
	background-repeat: no-repeat, no-repeat;
}
#container .topImage h1,
#container .topImage p {
	font-size: 24px;
	color: #7b9caf;
	font-weight: normal;
	text-align: center;
	line-height: 1.5em;
	margin-bottom: 5px;
}
#container .topImage h1 span,
#container .topImage p span{
	font-size: 11px;
	color: #FFF;
	text-align: center;
	display: block;
	color: #7b9caf;
	margin-bottom: 0px;
	padding: 0px;
}
#contents {
	position: relative;
	border-bottom: 1px solid #697888;
	background-image: url(/images/footer_illust.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center bottom;
}
#contents .inner {
padding-right: 12px;
	padding-left: 12px;
}
#contents .title {
overflow: hidden;
}
#contents .title h3 {
	text-align: left;
	background-image: url(/images/title_icon.png);
	background-position: left center;
	padding-left: 60px;
	line-height: 1.2em;
	font-size: 24px;
	font-weight: normal;
	margin-bottom: 20px;
	float: left;
	letter-spacing: 0.05em;
}
#contents h3 {
font-size: 18px;
padding: 16px;
background: rgb(247,247,246);
background: linear-gradient(0deg, rgba(247,247,246,1) 0%, rgba(240,240,240,1) 40%, rgba(238,238,238,1) 100%);
margin-bottom: 20px;
text-align: left;
font-weight: 500;
}

.topicPath {
	display: none;
}
.tleft {
	text-align: left;
}
.sidebtn {
display: none;
}


p.sub {
	margin-bottom: 20px;
	padding-right: 10px;
	padding-left: 10px;
}
/*
======================
flex設定
=======================
*/

/*センター割り付け*/
.flex_center {
	display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 position: relative;
}
/*左寄せ　2〜4列*/
.flex2,
.flex3 {
	display: flex;
flex-flow: row wrap;
justify-content: space-between;
}
.flex2:after{
content: “”;
display: block;
width:48%;
}
.fle2 li {
flex-basis: 48%;
margin-bottom: 5%;
}
.flex3:after{
content: “”;
display: block;
width:31%;
}
.flex3 li {
flex-basis: 31%;
margin-bottom: 5%;
}



/*
==========================================================
フッター（SP）
==========================================================
*/

footer {
	width: 100%;
	margin: 0px;
	padding-bottom: 10px;
}
footer .up {
background-color: #efefef;
padding-top: 40px;
padding-bottom: 40px;
}
footer .up ul {
	width: 80%;
	margin-left: auto;
margin-right: auto;
}
footer .up ul li {
width: 100%;
text-align: center;
font-size: 17px;
}
footer .up ul li a.mail {
color: #ffffff;
display: block;
background-color: #333333;
padding-top: 10px;
padding-bottom: 10px;
border-radius:8px 8px 8px 8px;
transition : all 0.3s ease 0s;
}
footer .up ul li a.mail:hover {
background-color: #999999;
}
footer .mid {
background-color: #000000;
padding-top: 40px;
padding-bottom: 40px;
padding-left: 20px;
padding-right: 20px;
}
footer .mid ul {
display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 position: relative;
	}
footer .mid li {
width: 46%;
text-align: left;
margin-bottom: 20px;
}
footer .mid li dl {
margin: 0px;
color: #FFFFFF
}
footer .mid li dt {
font-size: 16px;
padding-bottom: 5px;
margin-bottom: 10px;
border-bottom: dotted 1px #666666;
}
footer .mid li dd {
font-size: 14px;
line-height: 1.8em;
}
footer .mid li dd a {
color: #cccccc;
display: inline-block;
transition: .3s;
}
footer .mid li dd a:hover {
text-decoration: underline;
color: #ffffff;
}

footer .footbottom {
overflow: hidden;
clear: both;
padding-top: 10px;
padding-bottom: 10px;
}
footer .footbottom .logo {
	width: 50%;
margin-left: auto;
margin-right: auto;
}
footer .footbottom .copyright {
	font-size: 11px;
	text-align: center;
	padding-top: 20px;
	color: #999;
	margin: 0px;
}

#footerbt {
	margin: 0px;
	width: 100%;
	z-index: 999;
	position: fixed;
	bottom: -60px;
	left: 0;
	height: auto;
	padding: 0px;
}
#footerbt .flex {
	margin: 0px;
	padding: 0px;
}
#footerbt .flex li {
	width: 33.333%;
	height: 60px;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}
#footerbt .flex li a {
	color: #FFF;
	display: block;
	height: 100%;
	width: 100%;
	text-align: center;
 font-size: 11px;
  padding-top: 8px;
  line-height: 1.2em;
}
#footerbt .fb1 {
background-color: #1050A7;
}
#footerbt .fb2 {
background-color: #30992C;
}
#footerbt .fb3 {
background-color: #D22E17;
}
#footerbt  img {
width: 30%;
}



/*
==========================================================
検索（SP専用）
==========================================================
*/
#lead {
background-image: url(/images/lead_bg_sp.jpg);
background-repeat: no-repeat;
background-size: 100%;
margin-bottom: 40px;
height: 300px;
}
#lead ul {
padding-top: 200px;
width: 98%;
margin-left: auto;
margin-right: auto;
}
#lead ul li {
width: 32%;
}
#lead ul li a {
display: block;
background-color: #4075A6;
padding-top: 12px;
padding-bottom: 12px;
text-align: center;
color: #ffffff;
font-size: 15px;
}
#lead ul li a:hover {
	background-color: #215A90;
}

/*
==========================================================
メンバーバナー
==========================================================
*/
.member_banner {
position: relative;
margin-bottom: 40px;
background-color: #FCF7E1;
padding: 20px;
}
.member_banner .title {
margin-bottom: 20px;
margin-top: -20px;
}
.member_banner .cnt {
padding: 12px;
background-color: rgba( 255, 255, 255, 0.65 );
font-size: 16px;
width: 100%;
margin-left: -10px;
margin-bottom: 10px;
}
.member_banner .cnt dt {
background-color: #D32E17;
color: #ffffff;
width: 40%;
padding-top: 5px;
padding-bottom: 5px;
float: left;
margin-left: 5px;
font-size: 13px;
}
.member_banner .cnt dd {
color: #D32E17;
}
.member_banner .cnt dd span {
font-weight: bold;
font-size: 28px;
}
.member_banner .catch {
font-size: 20px;
float: left;
margin-top: 10px;
line-height: 1.5em;
margin-bottom: 20px;
text-align: center;
}
.member_banner .catch .red {
color: #D32E17;
font-size: 28px;
font-weight: bold;
}
.member_banner .catch .blue {
color: #4175A6;
font-size: 24px;
font-weight: bold;
}
.member_banner .registbt {
width: 98%;
margin-left: auto;
margin-right: auto;
}


/*
==========================================================
フッターフローティングボタン
==========================================================
*/

.bottom {
	background-color: rgba(0,0,0,0.7);
	width: 100%;
	text-align: center;
	position: fixed;
	z-index: 10;
	bottom: 0px;
	padding-bottom: 20px;
	padding-top: 10px;

}
.exbg {
	background-color: rgba(0,0,0,0.7);
	padding-top: 10px;
	margin-bottom: 40px;
	padding-bottom: 10px;
}
.execute {
	overflow: hidden;
}
.execute .inner .bt {
	margin-top: 8px;

display: flex;
flex-wrap: wrap;
justify-content: space-around;
position: relative;
}
.execute .inner .bt li {
		width: 48%;
}

.execute .css_btn_class {
	height: 40px;
	/*width: 30%;*/
	width: 300px;
	margin-right: auto;
	margin-left: auto;
	line-height: 40px;
	text-align: center;
	margin-top: 0px;
	margin-bottom: 0px;
	margin-top: 8px;
	
	font-size: 16px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	text-decoration: none;
	background-color: #D90E00;
	color: #ffffff;
	display: inline-block;
	border: none;
}
.execute .css_btn_class:hover {
	background-color: #FFCD01;
	text-decoration: none;
}
.execute .css_btn_class:active {
	position:relative;
	top:1px;
}
.execute p {
	font-size: 16px;
	color: #FFF;
	text-align: center;
	width: 100%;
}
.execute p span {
	font-size: 20px;
	font-weight: bold;
	color: #F66;
}

.bottom .inner dl {
	overflow: hidden;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
  padding-left: 12px;
 padding-right: 12px;
}
.bottom .inner dl dt {
	font-size: 15px;
	color: #FFF;
	text-align: left;
	background-image: url(/images/list_bottom_check.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 40px;
	line-height: 40px;
}
.bottom .inner dl dd {
	margin: 0px;
	padding: 0px;
}
.bottom .inner dl dd ul {
	display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.bottom .inner dl dd ul li {
	width: 32%;
}


}


 @media print {
.sphd {
	display: block;
}
.pdhd {
	display: block;
}
.pchd {
	display: block;
}
.no_print{
        display: none;
    }

body {
        top:0 !IMPORTANT;
        left:0 !IMPORTANT;
        width:172mm !IMPORTANT;
        height:251mm !IMPORTANT;
    }

}


@-webkit-keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}
