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

/* base
-------------------------------------------------- */
body {
    margin:0; padding: 0;
    line-height: 1; vertical-align: top;
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",  Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    color:#444;
    border-top:3px solid #5298dd;
    background: #fff;
}

a { text-decoration: none;}
a:hover { text-decoration: underline;}

header img,
.page img,
.hum img { width:100%; height: auto;}

article { padding-bottom: 50px;
	line-height: 1.7; /*letter-spacing: 0.05em;*/ font-size: 14px;
}
article a { color: #5298dd; text-decoration: underline;}
article a:hover { text-decoration:none;}

@media (min-width: 1024px) {
/* PC用 */
	.wrapper { position: relative; width:980px; margin:0 auto;}	
}
@media (min-width: 641px) {
/* tablet用&pc */
	.sp-show { display:none !important;}
	.sp-hide { display: block !important;}
}
@media (max-width: 1023px) {
/* sp&tablet用 */
	.wrapper { position: relative; padding: 0 2.5%;}
}
@media (max-width: 640px) {
/* SP用 */
	body {
		font-size:14px;
	}
	
	.sp-show { display: block !important;}
	.sp-hide,
    .sp-noDisplay { display: none !important;}
}

/* common
-------------------------------------------------- */
.header { background: #fff;}

.header--phone {
    float:right;
    padding:10px 0 0;
    text-align: right;
    font-size:14px;
    line-height: 1.15;
}
.header--phone span {
    font-size:40px;
    color: #5298dd;
}

.gnav { width: 100%; padding: 40px 0 1px;}
.gnav a { display: block; width: 100%; height: 100%; color:#5298dd; text-decoration: none;}
.gnav a:hover { text-decoration: underline;}

.footer { clear: both; background:#5298dd; color:#fff;}
.footer a { color:#fff;}
.footer ul { margin-bottom: 30px; text-align: center;}
.footer ul li { display:inline-block; font-size: 12px; line-height: 1.1;}
.footer ul li a { padding:0 0.5em 0 0.8em; border-left: 1px solid #fff;}
.footer ul li:nth-child(1) a { border:none;}
.footer .copyright {text-align: center; font-size: 12px;}

.tbl02 label { margin-right:1em;}
.tbl02 label input { margin-right:0.4em;}

@media (min-width: 641px) {
/* tablet用 */
	.header .hum { display:none !important;}
	.header h1 { float:left; width:20%; padding:35px 0 35px;}
	
	.gnav ul {
        clear: both; width:100%;
        display: table; height: 40px; margin: 0 0px 10px;
        border-left:1px solid #9ecbf7;
    }
	.gnav ul li { position: relative; display: table-cell; width:16.66%;
        text-align: center; font-size: 16px; white-space: nowrap; padding: 0 30px 0;
        border-right:1px solid #9ecbf7;
        line-height: 1.1;
    }
	.gnav ul li:nth-child(1) { background:none;}
	.gnav ul li a { padding:10px 0 0; color: #000000;}
	.gnav ul li a:hover { text-decoration: none;}
	.gnav ul li:hover span,
	.gnav ul .current_page_item a span { padding-bottom:8px; border-bottom:2px solid #5d9dc2;}
	
	.gnav ul li:nth-child(3):hover { padding-bottom:10px;}
	
	.gnav ul li ul { display:none; position: absolute; top:40px; left:-30px; 
        width:220px; height: auto; font-size: 15px;
        border: none;
        z-index: 10101 !important;}
	.gnav ul li:hover ul { display:block; z-index: 99;}
	.gnav ul li ul li { display:block; width: 100% !important; height:40px; margin:0 0 3px;
		padding: 0;  background:rgba(241, 246, 255, 0.8) !important; line-height: 40px; color: #000; border: none;}
	.gnav ul li ul li a { color: #000; padding: 0;}	
	
	.footer { padding: 50px 0; }
	
	.tbl01 { width: 100%; 
        margin-bottom: 20px;
        border: 1px solid #dadada;
        border-bottom:none;
    }
	.tbl01 th { width:25%; padding:14px 30px; border-right:1px solid #dadada; border-bottom: 1px solid #dadada; background: #dcedfd; font-weight: normal; text-align: left;  vertical-align: middle;}
	.tbl01 td { padding:16px 30px 14px 30px; border-bottom: 1px solid #dadada; border-right: 1px solid #dadada; vertical-align: middle;}
	
	/* for contact */
	.tbl02 { width: 100%; border-bottom:none;}
	.tbl02 th { 
		width:33.33333%; 
		padding:14px 30px; 
		border-right:5px solid #fff; 
		border-bottom: 5px solid #fff; 
		background: #dcedfd; 
		font-weight: normal; 
		text-align: left; 
		vertical-align: middle;
	}
	.tbl02 td { padding:16px 30px 14px 30px; border-bottom: 5px solid #fff; border-right: 5px solid #fff; background: #f8f8f8; vertical-align: middle;}
	
	.tbl03 { width: 100%; border: 1px solid #dadada; border-bottom:none;}
	.tbl03 th { width:33.33333%; padding:14px 30px; border-right:1px solid #dadada; border-bottom: 1px solid #dadada; background: #dcedfd; font-weight: normal; text-align: left;  vertical-align: middle;}
	.tbl03 td { padding:16px 30px 14px 30px; border-bottom: 1px solid #dadada; border-right: 1px solid #dadada; vertical-align: middle;}
	
	.tbl01 td:last-child,
	.tbl02 td:last-child {border-right: none;}
	
	.td33p { width:33.333% !important;}
    .tbl05 th,
    .td20p { width:20% !important;}
	
}
@media (min-width: 1024px) {
/* PC用 */
	.header .logo { width:266px;}
	.header .logo img { width: 266px; height:auto;}
}
@media (min-width: 641px) and (max-width: 1023px) {
/* tablet&pc用 */	
	.header { padding:0;}
	.header .logo { float: left; width: 300px; padding: 25px 0 25px 2.5%; }
    .header .logo img { width: 266px; height:auto;}
    .header .header--phone { padding-top: 20px;}
    .header .header--phone span { font-size:30px;}
	
	.gnav ul { display: table; width:100%; height: 40px;}
    .gnav ul li { padding: 0 0 0;}
    
	.home section h2 { margin-bottom: 22px; font-size:21px; font-weight: normal;}
}
@media (max-width: 1023px) {
/* tablet用 */	
}
@media (max-width: 640px) {
/* SP用 */	
	.header { position:relative;}
	.header .logo { float: left; width: 70%;  padding: 25px 0 25px 1.6%;}
    .header .header--phone {
        float:left;
        margin: 0 0 12px;
        text-align:center;
        background: #5298dd;
        border-radius: 5px;
        color: #fff;
        width:100%;
        padding: 7px 0 7px;
    }
	.header .header--phone span { font-size:16px;}
    .header .header--phone a { color: #fff;}
    
    
	.hum { position:absolute; right: 2.5%; top:12px; height:48px; width:48px; border: 1px solid #fff;}
	.hum span { display: block; height:48px; width:48px; background: url(/img/common/sp_btn_menu_01.png) left top no-repeat; transition: 0.3s;}
	.hum span.active { display: block; height:48px; width:48px; background:#fff url(/img/common/sp_btn_menu_02.png) left top no-repeat; transition: 0.3s;}
	
	.gnav { display:none; width:100%; padding: 0; position: absolute; top:70px; left: 0; background: #fff; border-top:1px solid #5298dd;z-index: 1001;}
	.gnav ul li {}
	.gnav ul li { display: block; background: #fff; float: left; width:100%; border-bottom:1px solid #5298dd; font-size:13px;}
	.gnav ul li:nth-child(odd)  {}
	.gnav ul li:nth-child(4) { border:none;}
	.gnav ul li:nth-child(4) ul { display:block; width:100%;}
	.gnav ul li:nth-child(4) span { display: none;}
	.gnav ul li:nth-child(4) ul li { width:100%; border-bottom:1px solid #5298dd; box-sizing: border-box;}
    
	.gnav ul li a { display: block; height: 28px; font-size: 14px; color:#5298dd;  line-height: 28px; text-align: center; border-bottom:none; z-index: 1001;}
	
	.footer { padding: 30px 0; }
	.fnav li { margin-bottom:15px; font-size:12px;}
	
	.tbl01 { 
        width: 100%;        
        margin-bottom: 10px;
        border-bottom: 1px solid #dadada;
    }
	/*.tbl01 thead { display:none;}*/
	.tbl01 th { display:block;  padding:10px 3%; border: 1px solid #dadada; border-bottom: none; background: #dcedfd; font-weight: normal; text-align:left; vertical-align: top;}
	.tbl01 td { display:block;  padding:10px 3%; border: 1px solid #dadada; border-bottom: none; vertical-align: top;}
	
	/* for contact */
	.tbl02 { width: 100%; margin-bottom: 20px; font-size:13px;}
	.tbl02 th { display: block; width: 100%; padding:10px 3%; border-bottom: 3px solid #fff; background: #dcedfd; font-weight: normal; text-align: left; vertical-align: middle; box-sizing: border-box;}	
	.tbl02 td { display: block; width: 100%; padding:10px 3%; border-bottom: 3px solid #fff; vertical-align: middle; background: #f8f8f8; box-sizing: border-box;}
	
	.tbl03 { width: 100%; border-bottom: 1px solid #dadada;}
	.tbl03 th { padding:10px 3%; border: 1px solid #dadada; border-bottom: none; background: #dcedfd; font-weight: normal; text-align:left; vertical-align: top;}
	.tbl03 td { padding:10px 3%; border: 1px solid #dadada; border-bottom: none; vertical-align: top;}
	
	
	/*.tbl01 td:last-child,*/
	.tbl02 td:last-child {border-bottom: none;}
	.tbl01 .tdbg02 { display:none;}
}

.tdbg02 { background: #dcedfd;}


/*  btn
-------------------------------------------------- */
a.btn01 { display: block; height:30px; padding: 0 30px 0 0; border: 1px solid #5d9dc2; background: #5d9dc2 url(/img/common/btn01.png) right top no-repeat; color: #5d9dc2; text-decoration: none; text-align: center;}
a.btn01 span { display:block; height:30px; background: #fff; line-height:30px;}
a.btn01:hover { background: #fff url(/img/common/btn01_on.png) right top no-repeat; }
a.btn01:hover span { background: #5d9dc2; color: #fff;}

a.btn03 {
    display: block;
    box-sizing: border-box;
    /*width:265px;
    height: 30px;*/
    text-align: center;
    line-height: 30px;
    color: #fff;
    text-decoration: none;
    background: #75ade4;
    border-radius: 10px;
}
a.btn03 span {    
    padding-right: 20px;
    background: url(/img/common/icn_arrow11.png) right center no-repeat;
}
a.btn03:hover { 
    background: #206eba;
}


@media (min-width: 641px) {
/* tablet用 */
	a.btn_bl02 { display:block; width: 500px; height: 70px; margin: 0 auto; line-height: 70px; background: url(/img/common/bg_btn_contact.png) left top no-repeat; text-align: center; color: #fff; text-decoration: none; font-size: 24px;}
	a.btn_bl02:hover {}
}
@media (max-width: 640px) {
/* SP用 */
	a.btn_bl02 { display:block; width: 100%; height: auto; line-height: 50px; background: url(/img/common/bg_btn_contact.png) left top no-repeat; text-align: center; color: #fff; text-decoration: none; font-size: 20px; background-size: 100% auto;}
	a.btn_bl02:hover {}
    
    a.btn03 {
        padding:8px 12px;
        line-height:1.25;
    }
    a.btn03 span {
        display:inline-block;
    }
}

/*  list
-------------------------------------------------- */
@media (min-width: 641px) {
/* tablet+PC用 */
	/* col2
	-------------------------------------------------- */
	/*.col2 { padding-top: 1px;}*/
	.col2 li { float:left; width: 50%; margin: 0 0 10px 0;}
	.col2 li:nth-child(2n+1) { margin-left: 0;}
	
	/* col3
	-------------------------------------------------- */
	/*.col3 { padding-top: 1px;}*/
	.col3 li { float:left; width: 31.333333%; margin: 0 0 10px 3%;}
	.col3 li:nth-child(3n+1) { margin-left: 0;}	
    
    /* col4
	-------------------------------------------------- */
	/*.col4 { padding-top: 1px;}*/
	.col4 li { float:left; width: 22.75%; margin: 0 0 10px 3%;}
	.col4 li:nth-child(4n+1) { margin-left: 0;}	
}
@media (min-width: 1024px) {
/* PC用 */
}
@media (min-width: 641px) and ( max-width: 1023px) {
/* tablet用 */
    .footer li { margin-bottom:15px;}
}
@media (max-width: 640px) {
/* SP用 */
}



/*  top page
-------------------------------------------------- */
.cycle-pager { 
    text-align: right; width: 970px; z-index: 300; margin-left: -490px;
    position: absolute; bottom: 0px; left:50%;
    overflow: hidden;
}
.cycle-pager span { 
    font-family: arial; margin: 0 4px; font-size: 40px; width: 16px; height: 16px; 
    display: inline-block; color: #fff; cursor: pointer; opacity: 0.7;
}
.cycle-pager span.cycle-pager-active { color: #5298dd;}
.cycle-pager > * { cursor: pointer;}

.cycle-arrows a { position: absolute; top: 50%; width: 25px; height: 37px; margin-top: -12.5px; opacity: 0.7; transition: 0.3s; z-index: 302; text-indent: -9999px;}
.cycle-arrows #prev { left: 10px; background:url(/img/top/mv_prev.png) left top no-repeat;}
.cycle-arrows #next { right: 10px; background:url(/img/top/mv_next.png) left top no-repeat;}
.cycle-arrows a:hover { opacity:1; transition: 0.3s;}

.bnr--area { color: #fff; background: #5298dd;}
.bnr--area li a {
    background: #dcedfd;
}

.greeting--area { background: #dcedfd;}

.news--area { position: relative;}

@media (min-width: 641px) {
/* tablet用 */
	.mv--area { position: relative; max-width:100%; overflow: hidden; background: #dcedfd;}
	.mv--area--inner img { width:980px; margin: 0 auto; text-align: center;}
	.mv--area--inner .mv--text { position: absolute; top:25%; left: 0; width: 100%; 
		margin: 0 auto; z-index: 301; text-align: center;}
	.mv--area--inner .mv--text img { width:70%; height: auto; max-width:600px;}
    .cycle-slideshow { width:980px; margin: 0 auto;}
    .cycle-arrows { position:absolute; top:50%; left:50%; width:980px;
        margin:-12.5px auto 0 -490px;}
	
	/* col2
	-------------------------------------------------- */
	/*.col2 { padding-top: 1px;}*/
	.col2 li { float:left; width: 50%; margin: 0 0 0 0; padding:20px 35px 26px;}
	.col2 li:nth-child(2n+1) { margin-left: 0;}
	
	/* col3
	-------------------------------------------------- */
	.col3 {}
	.col3 li { float:left; width: 33.333333%; margin: 0 0 0; padding:20px 33px 25px;}
	.col3 li:nth-child(3n+1) { margin-left: 0;}
	
	.li01, .li02, .li03, .li04 { padding-right:20% !important;}
	
	.col2.lnkall li,
	.col3.lnkall li,
    .col4.lnkall li { padding: 0;}
    
    .bnr--area { padding:50px 0 40px;}
    .bnr--area .lead {
        margin-bottom: 35px;
        text-align: center;
    }
    
	.bnr--area  .col4 li { float:left; width: 24.4645%; margin: 0 0 7px 0.714%; text-align: center;}
	.bnr--area  .col4 li:nth-child(4n+1) { margin-left: 0;}	
	.bnr--area h3 { margin-bottom: 20px; font-size: 18px; color: #000000; font-weight: normal; text-align: center;}
	.bnr--area li .icn { margin:0 auto 10px;}
	.bnr--area li .icn img { width:auto; height:138px !important;}
	.bnr--area li .btn { margin:20px 30px 0;}
	
	.news--area { padding: 50px 0 50px;}
	.news--area dl { margin:0 0 0.75em;}
	.news--area dl dt { float:left; width: 86px;}
	.news--area dl dd { display: block; margin: 0 0 0 150px;}
	.news--area dl dd a { color: #5298dd;}
    
    .greeting--area { padding:50px 0 40px;}
	.greeting--area p { font-size:16px; letter-spacing: 0.05em; text-align: left;}
    .greeting--area p img { width:250px; height: auto; margin:0 0 25px 25px;}
	
	.access--area { padding: 50px 0 60px;}
	.access--area .fl { width:31.5918% !important;}
	.access--area .fr { width: 65.3469% !important;}
	.access--area .fr iframe { height: 340px;}
}
@media (min-width: 641px) and (max-width:768px) {
	/* tablet用 */
	.mv--area--inner img { width:100%;}
    .cycle-pager { 
        text-align: right; width: 96%; left:0; margin-left: 0;
    }
    
	.cycle-arrows { position:absolute; top:50%; left:0; width: 100%; margin:-12.5px auto 0 ;}
	
	.bnr--area ul li { position:relative; text-align: center;}
	.bnr--area ul li { padding: 16px 16px 10px;}
    .bnr--area li .icn img { width:auto; height:100px !important;}
    
    .access--area .fl { width:40% !important;}
	.access--area .fr { width: 55% !important;}
	
}
@media (max-width: 640px) {
/* SP用 */
	.mv--area { margin-bottom:0; padding: 0 0;}
	.mv--area--inner { position: relative; margin:0 auto;}
	.mv--area--inner img { width:100%; height: auto;}
	.mv--area--inner .mv--text { position: absolute; top:7.5%; left:0; width: 100%; z-index: 301; text-align:center;}
	.mv--area--inner .mv--text img { width:78.081%; height: auto;}
	.cycle-pager { bottom:-10px;  z-index: 311;}
	
	.greeting--area,
	.bnr--area,
	.news--area,
	.access--area{ padding: 20px 0 20px;}
	
	.greeting--area p img { 
        width:100%; 
        height:auto;
        margin-bottom: 8px;
    }
    .greeting--area p:first-of-type { margin-bottom:1em;}
	
	.bnr--area .wrapper{ margin:0 2.5%; padding:0;}
	.bnr--area ul li { position:relative; text-align: center;}
	
	
	
	.bnr--area ul.col3 li { padding: 0 16px;} 
	.bnr--area ul.col2 li div {
		z-index: 0;
		display: block; 
		width:100%; height:100%; padding: 16px 16px 22px; 
		background-color:rgba(255,255,255,0.60);
	  }
	.bnr--area h3 { margin-bottom: 12px; font-size: 15px; color: #5298dd; font-weight: normal;}
	.bnr--area li .icn { margin:0 20% 12px;}
	.bnr--area li .icn img { width:100%; height: auto;}
	.bnr--area li .btn { margin:20px 30px 0;}
	.bnr--area li h3, 
	.bnr--area li p { z-index:101 !important;}
	
	.news--area dl { margin:0 0 0.85em;}
	.news--area dl:first-of-type { padding-top:36px;}
	.news--area .btn_list { position: absolute; top: 45px; right:2.5%;}
.news--area dl dd span {
    display: block;
    /* width: 80px;  ← この行を削除するか、次のように変更 */
    width: auto; /* または max-content; など */
    margin-bottom: 5px;
    text-align: left; /* ← この行を 'left' に変更するか、削除する */
    border-radius: 3px;
    color: #000;
    font-size:14px;
	font-weight: bold;     /* ★ 文字を太字に設定 */
}	
	
	.access--area .fl,
	.access--area .fr { float:none; width: 100%;}
	.access--area .fl p:last-of-type { margin: 0px 0% 10px;}
	.access--area iframe { height:250px; margin-top: 20px;}
}
.access--area .btn--access img { width:150px !important; height: auto;}
.home .access--area h5 { 
    margin-bottom: 4px; 
    color:#5298dd; 
    font-weight: normal;
    font-size:16px;
}

.lnkall a { display:block; width:100%; height:100%; text-decoration: none;}
.lnkall a:hover { background: #e9f7fd;}
.lnkall a li { padding:0 !important;}
.lnkall h3 { margin: 0; padding:18px 0 10px;}

@media (max-width: 640px) {
	/* SP用 */
	.bnr--area .lnkall li { 
        width:50%; 
        float: left; 
        border-bottom:2px solid #5298dd;
    }
    .bnr--area .lnkall li:nth-child(odd) {
        border-right:2px solid #5298dd;
    }
	.lnkall h3 { margin: 0; padding:15px 0 10px; }	
	.li01 h3, .li02 h3, .li03 h3, .li04 h3 { font-size:17px; font-weight: bold;}
	.bnr--area ul.col2.lnkall li .icn,
    
	.bnr--area .lnkall li .icn { width:auto; margin:0 20% 12px; padding:0; background: none;}
	.bnr--area .lnkall li .icn img { width:100%; height: auto;}
}

/* page common
-------------------------------------------------- */
.page--ttl { background: #5298dd;color:#fff; }

.crumb { text-align: left;}
.crumb li { display: inline-block; font-size: 14px;}
.crumb a { color:#5298dd; text-decoration:underline;}
.crumb li:after { content:" ＞ "; margin: 0 0.4em;}
.crumb li:last-child:after { content:""; margin: 0;}

.check { margin: 0 0px; padding:30px 50px 15px; color: #333; background: #dcedfd; border-radius: 10px;}

@media (min-width: 1024px) {
/* PC用 */
	.crumb { width: 980px; margin: 0 auto 40px;}
}
@media (min-width: 641px) {
/* tablet用 */
	.page--ttl { height: 105px; margin-bottom: 15px; padding:44px 0 0;}
	.page--ttl p { font-size: 24px; color: #fff;}
	
	.btn--contact { margin: 0 auto; text-align: center;}
}
@media (min-width: 641px) and (max-width: 1023px) {
	/* tablet用 */
	.crumb { width: 100%; margin: 0 2.5% 20px;}
	.page--ttl { padding: 44px 2.5% 0;}
}
@media (max-width: 640px) {
/* SP用 */
	.page--ttl { margin-bottom: 10px; padding: 25px 2.5%;}
	.page--ttl p { font-size: 18px; color: #fff; font-weight: bold;}
	.crumb { padding:0px 2.5% 5px;}	
	.crumb li { margin-bottom:	15px;}
	
	.check { margin: 0px; padding:20px 3% 5px; background: #dcedfd; border-radius: 10px;}
	.check li { font-size:14px !important;}
	
	.btn--contact { margin: 0 auto; text-align: center;}
	
	.page .fr {
		width:100%;
	}
	.page .fr .photo img {
		margin: 0 auto;
	}
}


section h2 { margin-bottom: 35px; padding:2px 0 12px; line-height: 1.25; font-size: 24px; font-weight: normal; color: #5298dd; text-align: center;
	background: url(/img/common/bg_h2.png) center bottom repeat-x;
}
section h2.wt {
    color: #fff !important;
	background: url(/img/common/bg_h2_wt.png) center bottom repeat-x;
}
section h2.bl {
    color: #002b6e !important;
	background: url(/img/common/bg_h2_bl.png) center bottom repeat-x;
}

.sec01 h3 { margin:50px 0 30px; padding: 0 0 0 10px; color: #3385ad; font-weight:normal; font-size:18px; line-height: 1.2; border-left:10px solid #3385ad;}
.sec01 h3 span { font-size:20px;}

.sec01 h4,
.case01 h3 { margin-bottom: 10px; padding-left: 18px; color: #5298dd; 
	font-weight: normal; font-size:16px;
	background: url(/img/common/bg_li01.png) left 6px no-repeat;}
.sec01 .comment h4 { padding-left:21px; font-size:16px; background: url(/img/common/bg_li02.png) left 1px no-repeat;}

.sec01 h5 { margin-bottom:3px; color:#5298dd; font-size:16px; font-weight: normal;}

.sec01 p, .sec01 ol { margin-bottom: 1em;}

.ul01 {}
.ul01 li { margin: 0 0 0.85em; padding: 0 0 0 19px; font-size:16px; background: url(/img/common/bg_li01.png) left 0.45em no-repeat;}

.ul02 { border-top:1px solid #cccccc;}
.ul02 li { padding:8px 0 8px 0; border-bottom:1px solid #cccccc;}
.ul02 li .date { display:inline-block; width:110px;}

.ul03 {}
.ul03 li { margin: 0 0 0.45em; padding: 0 0 0 19px; font-size:14px; background: url(/img/common/bg_li01.png) left 0.45em no-repeat;}

.p--li01 {}
.p--li01 span {
	display: block;
}
.p--li01 span:before {
	content:'■';
	color: #5298dd;
}


@media (min-width: 641px) {
/* tablet用 */
	.sec01 { margin-bottom: 60px;}
	.sec01 .fl { width: 60.20%;}
	.sec01 .fr { width: 34.6938%;}
	
    .sec01.news--area dl {
        margin:0 50px;
    }
	.sec01.news--area dl dt { float:left; width: 120px; padding: 5px 0;}
	.sec01.news--area dl dd { display:block; margin-left: 125px; padding: 5px 0 5px 1.5em; }	
	
	.sec01 .fr.w235p { padding:0 50px 40px 40px; box-sizing: content-box;}
    
    .ul02 li { padding:8px 0 8px 50px;}
    
    .access--area.sec01 .access--logo {
        width:200px; height: auto;
    }
    .access--area.sec01 .btn03 {
        width:260px;
    }
}
@media (min-width: 1024px) {
/* PC用 */
	.sec01 { margin-bottom: 100px;}
}

@media (min-width: 641px) and (max-width: 1023px) {
	/* tablet用 */	
}
@media (max-width: 640px) {
/* SP用 */
	section h2,
	.sec01 h3 { margin-bottom: 17px; font-size:17px;}
	
	.sec01 { margin-bottom: 40px !important;}	
	.sec01 .fr { margin-bottom: 25px;}
	.sec01 .comment { padding:12px;}
	
	.sec01 dl dt { float:left; width: 30%;}
	
	.ul02 li { clear:left; padding: 0.5em 0;}
	.ul02 li span { display:table-cell; vertical-align: top;}
	.ul02 li .date { display:table-cell; width:6.5em;}
	.ul02 li .event {
		margin:0 0 0 7em;
	}
    
    .listTbl span { display:table-cell !important;}
	
	.page-template-page-field .sec01 .fr {
		width:100px;
		float: left !important;
		margin:0 16px 10px 0;
	}
}

.sec01 .fr img { width:100%;}


/*  about
-------------------------------------------------- */
.about--access li { font-size:14px;}

@media (min-width: 641px) {
/* tablet用 */
    .about--access iframe { height:500px;}
}
@media (max-width: 640px) {
/* SP用 */
    .about--access iframe { height:350px;}
}
    
    
/*  lawyers
-------------------------------------------------- */
@media (min-width: 641px) {
/* tablet+PC用 */
    .lawyer01 .fr { width:30.612%;}
    .lawyer01 .fl { width:67.346%;}
    
    .lawyer01 a.btn03 {
        width:450px;
        /*height: 30px;*/
    }
}
@media (max-width: 640px) {
/* SP用 */
}

/*  fee
-------------------------------------------------- */
@media (min-width: 641px) {
/* tablet+PC用 */    
    .fee01 a.btn03 {
        width:370px;
        font-size:18px;
        padding: 8px 0;
    }
}
@media (max-width: 640px) {
/* SP用 */
}
    
    
/* case
-------------------------------------------------- */
.case01 {
	background: #dcedfd;
}

.case01 div {
	display: table-cell;
	padding:0 18px;
}
.case01 .icn {
	width:138px;
	text-align: center;
}
.case01 .icn img { width:100%; height:auto;}

.case01 h2 {
	margin-bottom: 15px;
	padding:10px 18px;
	font-size:16px;
	text-align: left;
	color: #fff;
	background: #5298dd;
	border-radius: 15px;
}
.case01 h3 {
	padding-bottom: 0;
	margin-bottom: 1px;
}
.case01 p {
	margin-bottom: 1em;
}
@media (min-width: 1024px) {
/* PC用 */
	.case01 {
		margin-bottom: 50px;
		padding:30px 32px 12px;
	}
}
@media (min-width: 641px) {
/* tablet用 */
	
}
@media (min-width: 641px) and (max-width: 1023px) {
	/* tablet用 */	
}
@media (max-width: 640px) {
/* SP用 */
	.case01 {
		margin-bottom: 30px;
		padding:12px 12px 10px;
	}
	.case01 h2 {
		font-size:17px !important;
	}
	.case01 div {
		padding: 0;
	}
	.case01 div:last-of-type {
		padding:0 0 0 20px;
	}
	.case01 .icn {
		width:60px;
	}
}



/*  contact
-------------------------------------------------- */
.page-contact .sec01 { margin-bottom: 100px;}
.required { color:#ff0000;}

.policy--area { height: 132px; margin-bottom:50px; overflow-y: scroll; border:1px solid #c2c2c2; border-radius: 3px;}
.policy--area .inner { padding:15px 15px 0;}
.sec01 .btn--accept { margin-bottom:44px; text-align: center;}

.sec01 input, 
.sec01 textarea { max-width: 100%; padding:3px; border-radius: 3px; box-sizing: border-box;}
.sec01 textarea { min-width:90%; }
.sec01 .form--name { width: 5em;}

.sec01 .btn--confirm { text-align:center;}
.sec01 input.btn_confirm { width: 500px; height: 70px; margin:0 auto; text-align: center; color: #fff; line-height:70px; font-size: 20px; background:url(/img/common/bg_btn_contact.png) left top no-repeat; border: none; outline:none;}

.contact_tel { margin: 0 auto; padding:0 0 10px; font-size:40px; color: #5298dd;}

.ymdt { margin:0 0 0.8em;}
.ymdt span { margin-right:1em;}
.ymdt select { width:80px; padding:3px; border-radius: 3px; box-sizing: border-box;}

.contact_tel {
    padding-left:37px;
    background: url(/img/common/icn_phone01.png) left 14px no-repeat;
    background-size: 30px auto;
}

@media (min-width: 641px) {
/* tablet用 */    
    .fee01 .fl { width:37.612%;}
    .fee01 .fr { width:60.346%;}
}
@media (min-width: 641px) and (max-width: 1023px) {
	/* tablet用 */
}
@media (max-width: 640px) {
/* SP用 */
	.sec01 input, 
	.sec01 textarea { width:94%;}
	.sec01 .check_accept { width: 100%;}
	.sec01 input.btn_confirm { width: 100%; height:auto; margin:0 auto; text-align: center; color: #fff; line-height: 44px; background:url(/img/common/bg_btn_contact.png) left top no-repeat; border: none; outline:none; background-size: 100% auto;}
	.sec01 label input { width:14px;}
	.sec01 .wpcf7-list-item { display:inline-block; margin: 0 0 0.8em; width:50%; box-sizing: border-box;}
	.sec01 .wpcf7-list-item:nth-child(7) { width:100%;}
    
	
	.contact_tel { width:260px; padding:0 0 0 32px; font-size:30px; 
        background: url(/img/common/icn_phone01.png) left 11px no-repeat;
        background-size: auto 26px;
    }
	.contact_tel a { text-decoration: none;}
	
	.ymdt { padding: 0 0 0.8em; border-bottom:1px solid #ccc;}
	.ymdt .ttl { display: block;}
	.ymdt select:nth-child(1),
	.ymdt select:nth-child(2) {
		margin: 0 0 0.6em;
	}	
}




/*  sitemap
-------------------------------------------------- */
#sitemap_list { margin-bottom: 40px;}
#sitemap_list li { padding: 12px 0; border-bottom:1px dotted #ccc;}
#sitemap_list li a { padding-left:20px; color: #5298dd; background:url(/img/common/icn_arrow02.png) left 5px no-repeat;}

@media (min-width: 1024px) {
/* PC用 */
}
@media (min-width: 641px) {
/* tablet用 */
}
@media (min-width: 641px) and (max-width: 1023px) {
	/* tablet用 */	
}
@media (max-width: 640px) {
/* SP用 */
}

/*  news--list
-------------------------------------------------- */
.news--list { position: relative; margin-bottom: 40px;}
.news--list dl { clear:both;}
.news--list dl:nth-child(odd) { background: #dcedfd;}
.news--list dl dd span { display: inline-block; width:100px; margin-right: 30px; text-align: center; border-radius: 6px; color: #000;}
.news--list dd a { padding-left:16px; background:url(/img/common/icn_arrow01.png ) left 5px no-repeat;}

.btn_list { width:175px;}

@media (min-width: 1024px) {
/* PC用 */
	.btn_list { position: absolute; top: -5px; right: 0;}
}
@media (min-width: 641px) {
/* tablet用 */
	.news--list dl { padding:18px 42px;}
	.news--list dt { float:left; width: 120px;}
	.news--list dd { display:block; margin-left: 135px;}
}
@media (min-width: 641px) and (max-width: 1023px) {
	/* tablet用 */	
	.btn_list { position: absolute; top:0px; right:2.5%;}
}
@media (max-width: 640px) {
/* SP用 */
	.news--list dl { padding:10px 3.5%;}
}


/*  single
-------------------------------------------------- */
.screen-reader-text,
.meta-nav { display: none !important;}
.entry-time { padding-bottom: 30px; font-size:13px; text-align: right;}
.entry-time span {display: inline-block; width:100px; margin-left: 20px; text-align: center; border-radius: 6px; color: #000;}
.entry-content img { width:auto ; height: auto;}

.paging,
.tablenav { text-align: center;}

.paging > div a,
.tablenav > a { display: block; padding: 6px 12px; background: #eeeeee; border-radius: 3px; text-decoration: none; color: #333}

.paging > div,
.tablenav > a { display: inline-block;}

.tablenav > span { display: inline-block; padding: 6px 12px;}
.paging .prev span,
.tablenav .a--prev { padding-left : 17px; background: #eeeeee url(/img/common/icn_prev.png) left  3px no-repeat;}
.paging .next span,
.tablenav .a--next { padding-right: 17px; background: #eeeeee url(/img/common/icn_next.png) right 3px no-repeat;}

@media (min-width: 1024px) {
/* PC用 */
}
@media (min-width: 641px) {
/* tablet用 */
	.single-thumb { float:right; width: 40.816%; margin:0 0 40px 4.0816%;}
}
@media (min-width: 641px) and (max-width: 1023px) {
	/* tablet用 */	
}
@media (max-width: 640px) {
/* SP用 */
	.entry-content img {
		width:100%;
		height:auto;
	}
}



@media (min-width: 1024px) {
/* PC用 */
	.w225p { width:22.5% !important;}
	.w235p { width:23.5% !important;}
	.w720p { width:720px !important;}
}
@media (min-width: 641px) {
/* tablet用 */
}
@media (min-width: 641px) and (max-width: 1023px) {
	/* tablet用 */	
}
@media (max-width: 640px) {
/* SP用 */
}

.clr01 { color: #5298dd !important;}
