@charset "utf-8";
/*
 * CSS common.css
 */
 

/*
//color
black #4d4d4d
main #755c99
brown #664c28
lightbrown #f0ede9
border #ccc
back #f2f5f7

//icon
arw1_white
arw1_red
arw1_brown
arw2_red
arw2_brown
icon_tel
*/



/* ---------------------------------------
basecontainer
--------------------------------------- */
.section { } .incnt { } .insec { } .block { } .inbox { } .inborderbox { } .cnt_left { } .cnt_right { } .boxsize { } .csection { } .wpsection { }

/* incnt */
.incnt { width: 1070px; }
@media screen and (max-width: 1200px) {
    .incnt { margin: 0 4%!important; width: 92%!important; }
}

/* section */
.section { margin-top: 60px; }
.wp.single .section{ margin-top: 40px }
.section.bordertop{ margin-top: 40px; padding-top: 30px; border-top: 1px dashed #b2b2b2 }
@media screen and (max-width: 639px) {
    .section { margin-top: 30px; }
	.wp.single .section{ margin-top: 30px }
	.section.bordertop{ margin-top: 20px; padding-top: 15px; }
}

/* insec */
.insec { margin-top: 40px; }
@media screen and (max-width: 639px) {
    .insec { margin-top: 30px; }
}


/* csection */
.csection { margin-top: 20px; }











/* ---------------------------------------
link/btn
--------------------------------------- */
/* normal */
a{ color:inherit; -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; }
a:link { text-decoration: underline;  }
a:visited { text-decoration: underline;  }
a:hover { text-decoration: none; opacity: 0.7; }
a:active { text-decoration: none; opacity: 0.7; }



/* txtlink1 */
.txtlink1:before{ content: " "; background: url(../img/common/arr1_red.png) no-repeat left; background-size: contain; width:8px; height:14px; display: inline-block; margin-right: 10px; }
.txtlink1.white:before{ content: " "; background: url(../img/common/arr1.png) no-repeat left; background-size: contain; }
.txtlink1>span{ font-size:0.93em; position: relative; }
.txtlink1>span:after{ position: absolute; bottom: 0; left: 0; content: ''; width: 0; height: 1px; background-color: #4c4c4c; -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; }
.txtlink1.white>span:after{ background-color: #ffffff; }
.txtlink1:hover>span:after{ width: 100% }


/* stylelink */
a.stylelink{ display: inline-block; min-width: 175px; padding: 3px 0 2px; border:1px solid #fff; font-weight:bold; font-size: 1.07em; color:#fff; text-decoration:none; text-align: center; -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; }
a.stylelink:before{ content:" "; background: url(../img/common/arr1.png) no-repeat; background-size: contain; width:8px; height:14px; display: inline-block; margin-right: 10px }
a.stylelink.blue{ background: rgba(89,143,178,0.5); opacity: 1 }
a.stylelink.blue:hover{ background: rgba(89,143,178,1); opacity: 1 }
a.stylelink.pink{ background: rgba(178,89,120,0.5); opacity: 1 }
a.stylelink.pink:hover{ background: rgba(178,89,120,1); opacity: 1 }
a.stylelink.green{ background: rgba(89,178,134,0.5); opacity: 1 }
a.stylelink.green:hover{ background: rgba(89,178,134,1); opacity: 1 }
a.stylelink.darkblue{ background: rgba(89,112,178,0.5); opacity: 1 }
a.stylelink.darkblue:hover{ background: rgba(89,112,178,1); opacity: 1 }
a.stylelink.brown{ background: rgba(115,100,87,0.5); opacity: 1 }
a.stylelink.brown:hover{ background: rgba(115,100,87,1); opacity: 1 }
a.stylelink.orange{ background: rgba(242,152,73,0.5); opacity: 1 }
a.stylelink.orange:hover{ background: rgba(242,152,73,1); opacity: 1 }
@media screen and (max-width: 639px) {
	a.stylelink{ min-width: 145px }
	a.stylelink:before{ margin-right: 5px }
}
span.stylelink{ display: inline-block; min-width: 175px; padding: 3px 0 2px; border:1px solid #fff; font-weight:bold; font-size: 1.07em; color:#fff; text-decoration:none; text-align: center; -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; }
span.stylelink:before{ content:" "; background: url(../img/common/arr1.png) no-repeat; background-size: contain; width:8px; height:14px; display: inline-block; margin-right: 10px }
span.stylelink.blue{ background: rgba(89,143,178,0.5); opacity: 1 }
a:hover span.stylelink.blue{ background: rgba(89,143,178,1); opacity: 1 }
span.stylelink.pink{ background: rgba(178,89,120,0.5); opacity: 1 }
a:hover span.stylelink.pink{ background: rgba(178,89,120,1); opacity: 1 }
span.stylelink.green{ background: rgba(89,178,134,0.5); opacity: 1 }
a:hover span.stylelink.green{ background: rgba(89,178,134,1); opacity: 1 }
span.stylelink.darkblue{ background: rgba(89,112,178,0.5); opacity: 1 }
a:hover span.stylelink.darkblue{ background: rgba(89,112,178,1); opacity: 1 }
span.stylelink.brown{ background: rgba(115,100,87,0.5); opacity: 1 }
a:hover span.stylelink.brown{ background: rgba(115,100,87,1); opacity: 1 }
span.stylelink.orange{ background: rgba(242,152,73,0.5); opacity: 1 }
a:hover span.stylelink.orange{ background: rgba(242,152,73,1); opacity: 1 }
@media screen and (max-width: 639px) {
	span.stylelink{ min-width: 145px }
	span.stylelink:before{ margin-right: 5px }
}


/* stylebtn */
a.stylebtn1 { font-size: 1.07em; display: inline-block; border: 1px solid #755c99; background: #755c99;  line-height: 1; padding: 8px 10px; font-weight: bold; color: #fff; text-decoration: none; position: relative; -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; text-align: center; vertical-align: middle; margin:5px; }
a.stylebtn1:before{ content: " "; background: url(../img/common/arr1.png) no-repeat left; background-size: contain; width:8px; height:14px; display: inline-block; padding-right: 10px; }
a.stylebtn1:hover { background: #fff; color: #755c99; opacity: 1; }
a.stylebtn1:hover:before{ background: url(../img/common/arr1_black.png) no-repeat left; background-size: contain; }

/* stylebtn */
a.stylebtn2 { display: inline-block; border: 1px solid #e5e5e5; background: #e5e5e5;  line-height: 1; padding: 8px 10px; color: #755c99; text-decoration: none; position: relative; -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; text-align: center; vertical-align: middle; margin:5px; }
a.stylebtn2:after{ content: "PDF"; background:#755c99; line-height: 1; padding:3px 7px 4px; display: inline-block; color:#fff; font-family: 'Lato', sans-serif; font-size: 10px; margin-left: 10px; vertical-align: bottom }
a.stylebtn2:hover { background: #755c99; color: #e5e5e5; opacity: 1; }
a.stylebtn2:hover:after{ background:#e5e5e5; color:#755c99; }

/* stylebtn */
a.stylebtn3 { display: inline-block; border: 1px solid #e5e5e5; background: #e5e5e5;  line-height: 1; padding: 8px 10px; color: #755c99; text-decoration: none; position: relative; -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; text-align: center; vertical-align: middle; margin:5px; }
a.stylebtn3:after{ content: " "; background:url(../img/common/icon1.png) no-repeat; background-size: contain; width:16px; height:16px; display: inline-block; margin-left: 7px; vertical-align: text-top; }
a.stylebtn3:hover { background: #755c99; color: #e5e5e5; opacity: 1; }
a.stylebtn3:hover:after{ background:url(../img/common/icon1_h.png) no-repeat; background-size: contain; }



/* stylebtn4 */
a.stylebtn4 { display: inline-block; border: 1px solid #755c99; background: #755c99;  line-height: 1; padding: 8px 10px; color: #fff; text-decoration: none; position: relative; -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; text-align: center; font-weight: bold; vertical-align: middle; margin:5px; }
a.stylebtn4:after{ content: "PDF"; background:#fff; line-height: 1; padding:3px 7px 4px; display: inline-block; color:#755c99; font-family: 'Lato', sans-serif; font-size: 10px; margin-left: 10px; vertical-align: text-bottom }
a.stylebtn4:hover { background: #fff; color: #755c99; opacity: 1; }
a.stylebtn4:hover:after{ background:#755c99; color:#fff; }

/* stylebtn5 */
a.stylebtn5 { display: inline-block; border: 1px solid #755c99; background: #755c99;  line-height: 1; padding: 8px 10px; color: #fff; text-decoration: none; position: relative; -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; text-align: center; font-weight: bold; vertical-align: middle; margin:5px; }
a.stylebtn5:after{ content: " "; background:url(../img/common/icon1_white.png) no-repeat; background-size: contain; width:16px; height:16px; display: inline-block; margin-left: 7px; vertical-align: text-top; }
a.stylebtn5:hover { background: #fff; color: #755c99; opacity: 1; }
a.stylebtn5:hover:after{ background:url(../img/common/icon1.png) no-repeat; background-size: contain; }

/* telbtn */
a.tel_link { cursor: default; text-decoration: none }
a.tel_link:hover, a.tel_link:active { opacity: 1; }
@media screen and (max-width: 639px) {
	a.tel_link { display: block; width:100%; }
}



/* map_link */
p.map_link{ text-align: right; padding-right: 10px; }
p.map_link a:hover{ text-decoration: underline; }

/* arrow */
p.map_link.arrow:before{ content: " "; background: url(../img/common/arr1_black.png) no-repeat; background-size: contain; width: 8px; height:14px; display: inline-block; margin-right: 3px }






/* ---------------------------------------
txt/font
--------------------------------------- */
.txtwhite { } .txtblack { } .txtgray { } .txtblue { } .txtskyblue { } .txtred { } .txtorange { } .txtpink { } .txtyellow { } .txtgreen { } .txtblue { } .txtyellowgreen { }

/* baseset [大きさ/太さ/色] */
.txtbase { font-weight: normal; color: #4d4d4d; font-size: 15px;  line-height: 1.8; }
.txtbold { font-weight: bold; }
.txtsmall { font-size: 13px; } @media screen and (max-width: 479px) { .txtsmall { font-size: 12px; } }
.txtbig1 { font-size: 18px; font-weight: bold; } @media screen and (max-width: 479px) {  .txtbig1 { font-size: 16px; } }
.txtbig2  { font-size: 22px; font-weight: bold; } @media screen and (max-width: 479px) { .txtbig2 { font-size: 18px; } }
.txtwhite { color: #fff; }
.txtcolor { color: #755c99; }
.txtblack { color: #4d4d4d; }
.txtgrey { color: #b9b2ab; }
.txtred { color: #b25978; }
.txtbrown { color: #736457; }
.txtblue { color: #755c99; }
.txtpurple{ color:#755c99; }


.latofont{ font-family: 'Lato', sans-serif; }
.hiraginofont{ font-family: "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic Pro", sans-serif }
.mincho{ font-family: "Sawarabi Mincho"; }



.txtstyle1{ position: relative; padding-left: 15px; }
.txtstyle1:before{ content: "●"; display: block; font-size: 10px; color: #006f45; position: absolute; top: 5px; left: 0; }

/* ---------------------------------------
title
--------------------------------------- */
.pagetitle {  } .pagesectitle {  }  .cnttitle {  } .sectitle {  } .insectitle { }, .blocktitle { }, .subtitle {  } .pagesubtitle {  }

/* topsectitle */
.topsectitle{ margin-bottom: 45px; line-height: 1.6 }
.topsectitle p, .topsectitle h2{ text-align: center; }
.topsectitle.white p, .topsectitle.white h2{ color:#fff; }
.topsectitle .subtitle{  font-size: 1.07em; color:#7d7d7d;  }
.topsectitle .maintitle{ font-size: 23px; font-weight: bold; color:#4c4c4c; }
@media screen and (max-width: 1040px) {
	.topsectitle .maintitle{ font-size: 21px; }
	.topsectitle{ margin-bottom: 30px }
}
@media screen and (max-width: 767px) {
	.topsectitle{ margin-bottom:20px; }
	.topsectitle .maintitle{ font-size: 19px; }
}

/* セクションtitle*/
.sectitle { font-weight: bold; font-size: 1.37em; line-height: 1.5; margin-bottom: 15px; color:#006f45; }
body.hasSide .sectitle{ font-size: 20px }
@media screen and (max-width: 1040px) {
	.sectitle{ font-size: 20px }
}
@media screen and (max-width: 767px){
	.sectitle{ margin-bottom: 10px; }
}


/* セクションtitle（h2）*/
.insectitle { font-weight: bold; font-size: 18px; line-height: 1.5; padding: 5px 2% 3px; margin-bottom: 20px; text-align: left!important; background: #e5e5e5; position: relative; }
@media screen and (max-width: 639px) {
	.insectitle { font-size: 16px;  }
}


.blocktitle { font-weight: bold; font-size: 1.06em; font-weight: bold; margin-bottom: 5px; padding-top: 30px; }
.blocktitle span{ font-weight: normal; }
@media screen and (max-width: 767px) {
	.blocktitle { padding-top: 20px; }
}

.apeallistbox .blocktitle{ color:#755c99; }


/* ページタイトル */
.pagetitle { font-weight: bold; font-size: 1.5em; }
@media screen and (max-width: 767px) {
	
}



/* ---------------------------------------
table
--------------------------------------- */
/* sche */
.sche{ width: 100%; margin-bottom: 10px; table-layout: fixed; background: #fff;}
.sche th, .sche td { text-align: center; padding: 7px 0 5px; border-left: 1px solid #ccc; border-top: 1px solid #ccc; }
#cnt_main .sche th, #cnt_main .sche td { padding: 12px 0 10px; font-size: 17px; }
.sche thead th, .sche thead td { background: #f0ede9; color: #664c28; border-left: 1px solid #fff; border-top-width: 0px; font-weight: bold; }
.sche thead th:first-child, .sche thead td:first-child { border-left-width: 0px; }
.sche tbody td { color: #755c99; font-weight: bold; }
.sche tbody th { border-left-width: 0px; }
@media screen and (max-width: 639px) {
	.sche{ width:100%; }
	.sche thead th:first-child, .sche thead td:first-child { width: 70px!important; }
	#cnt_main .sche th, #cnt_main .sche td { padding: 7px 0 5px; font-size: 13px; }
}


/* カレンダー表示 */
.sec_calendar { margin-bottom: 20px; }
.sec_calendar .title { background: #664c28; padding: 10px 15px; line-height: 1; text-align: center; color: #fff; font-weight: bold; position: relative; }
.sec_calendar .calendar { width: 100%; font-size: 13px; margin-bottom: 10px; }
.sec_calendar .calendar td,
.sec_calendar .calendar th { text-align: center; background: #fff; line-height: 1.4; padding: 7px 0; border: 1px solid #ccc; }
.sec_calendar .calendar thead th { background: #e0dbd4; color: #664c28; font-weight: bold; padding: 5px 0; }
.sec_calendar .calendar tbody th { font-size: 0.92em; font-weight: bold; text-align: left; padding: 5px 1%; }
.sec_calendar .calendar thead th.sat { background: #cce7ec; color: #00869e; }
.sec_calendar .calendar thead th.sun { background: #fadbdb; color: #755c99; }
.sec_calendar .capbox:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0; overflow:hidden; line-height:0; }
.sec_calendar .capbox p { line-height: 1.6; margin-bottom: 5px; }
.sec_calendar .capbox span { width: 20px; display: inline-block; margin-right: 5px; }
.sec_calendar .close { background: #f6c0c0!important; }
.sec_calendar .daya { background: #b2dbe2!important; }
.sec_calendar .dayb { background: #e0dbd4!important; }
.sec_calendar .spot { background: #d1c9be!important; }
.sec_calendar .space { background: #f6f6f6!important; }
.sec_calendar .today { font-weight: bold; }
@media screen and (max-width: 1040px) {
}
@media screen and (max-width: 639px) {
}


/* normaltable */
.table_normal { width: 100%; margin: 10px 0; table-layout: fixed; }
.table_normal th, .table_normal td { text-align: left; padding: 12px 2%; border: 1px solid #b2b2b2; background: #fff }


/* styletable1 */
.table_type1 { width: 100%; margin-bottom: 5px;  }
.table_type1 th, .table_type1 td { padding: 15px 2%; border-top: 1px solid #cccccc; border-bottom: 1px solid #cccccc; line-height: 1.5; background: #fff }
.table_type1 th { background: #e6efea; text-align: center; }
/*.table_type1 thead th, .table_type1 thead td { background: #e5e5e5; text-align: center; font-weight: bold; padding: 27px 2%; }*/
@media screen and (max-width: 639px) {
}


/* styletable2 */
.table_type2 { width: 100%; margin-bottom: 5px; table-layout: fixed; border: none; }
.table_type2 th, .table_type2 td { padding: 12px 2%; border: 1px solid #b2b2b2; line-height: 1.5; background: #fff }
.table_type2 th { background: #f1f1f1; text-align: center; }
.table_type2 thead th, .table_type2 thead td { background: #e5e5e5; text-align: center; font-weight: bold; padding: 27px 2%; }
@media screen and (max-width: 639px) {
}

/* orangecolorcell */
th.orangecolorcell, td.orangecolorcell{ background: #e3deeb }






/* ---------------------------------------
list
--------------------------------------- */
ul.list_style1 li { padding-left: 1em; text-indent: -1em; }

ul.ullist1 li{ position: relative; padding-left: 15px; }
ul.ullist1 li:before{ content: "●"; display: block; font-size: 10px; color: #006f45; position: absolute; top: 5px; left: 0; }

/* pankuzu */
#pankuzu { padding:16px 4%; line-height: 1.4; font-size: 13px; background: #f0f0f0; }
#pankuzu ol li { display: inline; display:inline-block; }
#pankuzu ol li a { text-decoration: underline; color: #60a1bf; }
#pankuzu ol li:before { content:"/"; display: inline-block; margin-right: 3px; }
#pankuzu ol li:first-child:before { display: none; }
#pankuzu ol li.none:after { content:none; padding:0px;  }
@media screen and (max-width: 639px) {
	#pankuzu { font-size: 12px; }
}

/* caution */
ul.caution li { padding-left: 1em; text-indent: -1em; }
ul.caution li:before { content: "※"!important;}










/* ---------------------------------------
layout/box/customset
--------------------------------------- */
.bgbox1:after, borderbox1:after,
ul.imglist:after, ul.imgbox:after,
.imgtopbox:after, .imgbottombox:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0em; overflow:hidden; line-height:0; }



/* bgbox1 */
.bgbox1 { padding: 20px; background: #e5e5e5; overflow:hidden;  }
@media screen and (max-width: 1040px) {
	.bgbox1 { padding:15px 4%; }
}
.bgbox1.brown { background: #ccc; }



/* borderbox1 */
.borderbox1 { padding: 20px; border: 1px dashed #b2b2b2; background: #fff; overflow:hidden;  }
@media screen and (max-width: 1040px) {
	.borderbox1 { padding:15px 4%; }
}
.borderbox1.red { border: 1px solid #755c99; }
.borderbox1.brown { border: 1px solid #664c28; }



/* imglist ※heightAdjust併用 */
ul.imglist { margin-bottom: -17px; margin-left: -4%; }
ul.imglist>li { float: left; width: 46%; margin-left: 4%; margin-bottom: 7px; }
ul.imglist li img { margin: 0 auto 10px; display: block; }
.nosubtxt ul.imglist { margin-top: 0px!important; margin-bottom: 0px!important; }
ul.imglist li.last,
ul.imglist li.booby { margin-bottom: 0; }
ul.imglist li p.title { margin-bottom: 5px; font-weight: bold; line-height: 1.5; }
ul.imglist li p.caption{ margin-bottom: 5px }
@media screen and (max-width: 639px) {
	ul.imglist { margin-left: 0; }
	ul.imglist>li { margin-left: 0; }
    ul.imglist li img { max-width: 100%; margin-bottom: 6px  }
	ul.imglist li.booby { margin-bottom: 10px; }
	ul.imgbox li p.title { margin-bottom: 3px; font-size: 15px; }
	ul.imgbox li p.caption{ margin-bottom: 3px }
}



/* imgbox */
ul.imgbox li { margin-bottom: 10px; }
ul.imgbox li img { margin: 0 auto 10px; display: block; }
.nosubtxt ul.imgbox { margin-top: 0px!important; margin-bottom: 0px!important; }
ul.imgbox li.last { margin-bottom: 0; }
ul.imgbox li p.title { margin-bottom: 5px; font-weight: bold; line-height: 1.5; }
ul.imgbox li p.caption{ margin-bottom: 5px }
@media screen and (max-width: 639px) {
    ul.imgbox li img { max-width: 100%; margin-bottom: 6px }
	ul.imgbox li p.title { margin-bottom: 3px; font-size: 15px; }
	ul.imgbox li p.caption{ margin-bottom: 3px }
}



/* imgtopbox */
.imgtopbox ul.imgbox { margin-bottom: 10px; }
.imgtopbox ul.imglist { margin-bottom: 10px; }
@media screen and (max-width: 479px) {
	.imgtopbox ul.imgbox { margin-bottom: 10px; }
	.imgtopbox ul.imglist { margin-bottom: 10px; }
}



/* imgbottombox */
.imgbottombox ul.imgbox,
.imgbottombox ul.imglist { margin-top: 20px; }
@media screen and (max-width: 479px) {
	.imgbottombox ul.imgbox,
	.imgbottombox ul.imglist { margin-top: 10px; }
}



/* spimgbottom */
@media screen and (max-width: 639px) {
	.spimgbottom ul.imgbox, .spimgbottom ul.imglist { margin-top: 10px; margin-bottom: 0; }
}



/* 幅の指定はdata-boxwidth="80"で可能、処理はjsに記述 */
/* imgleftbox */
.imgleftbox:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0em; overflow:hidden; line-height:0; }
.imgleftbox .imgbox{ float: left; width:25%; margin-right: 4%; padding-top: 8px  }
/* body.hasSide .imgleftbox .imgbox{ width:40%; } */
.imgleftbox .txtbox{ float: right; width:71%; }
/* body.hasSide .imgleftbox .txtbox{ width:56%; } */
@media screen and (max-width: 767px) {
	.imgleftbox .imgbox{ width:31%; }
/* 	body.hasSide .imgleftbox .imgbox{ width:46%; } */
	.imgleftbox .txtbox{ width:65%; }
/* 	body.hasSide .imgleftbox .txtbox{ width:50%; } */
}
@media screen and (max-width: 639px) {
	.imgleftbox .imgbox{ float: none; width:100%; margin-right: 0; text-align: center; margin-bottom:10px; padding-top: 0 }
/* 	body.hasSide .imgleftbox .imgbox{ width:100%; } */
	.imgleftbox .imgbox img{ max-width: 100%; }
	.imgleftbox .txtbox{ float: none; width:100%; }
/* 	body.hasSide .imgleftbox .txtbox{ width:100%; } */
}


/* imgrightbox */
.imgrightbox{ margin-bottom: 20px; }
.imgrightbox:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0em; overflow:hidden; line-height:0; }
.imgrightbox .imgbox{ float: right; width:28%; margin-left: 4%; padding-top: 8px }
/* body.hasSide .imgrightbox .imgbox{  width:40%; } */
.imgrightbox .txtbox{ float: left; width:68%; margin-bottom: 10px; }
/* body.hasSide .imgrightbox .txtbox{ width:56%; } */
@media screen and (max-width: 767px) {
	.imgrightbox .imgbox{ width:31%; }
/* 	body.hasSide .imgrightbox .imgbox{ width:46%; } */
	.imgrightbox .txtbox{ width:65%; }
/* 	body.hasSide .imgrightbox .txtbox{ width:50%; } */
}
@media screen and (max-width: 639px) {
	.imgrightbox .imgbox{ float: none; width:100%; text-align: center; margin-bottom:10px; margin-left: 0; padding-top: 0 }
/* 	body.hasSide .imgrightbox .imgbox{ width:100%; } */
	.imgrightbox .imgbox img{ max-width: 100%; }
	.imgrightbox .txtbox{ float: none; width:100%; }
/* 	body.hasSide .imgrightbox .txtbox{ width:100%; } */
}


/* contmiddle */
.contmiddle .txtbox{ display: table; }
.contmiddle .txtbox p{ display: table-cell; vertical-align: middle; }
@media screen and (max-width: 639px) {
	.contmiddle .txtbox p{ display: block; }
}


/* contwraparound */
.contwraparound .imgbox, body.hasSide .contwraparound .imgbox { margin-bottom: 10px; }
.contwraparound .txtbox, body.hasSide .contwraparound .txtbox { float: none; width: 100%; }
@media screen and (max-width: 639px) {
	.contwraparound .imgbox, body.hasSide .contwraparound .imgbox { margin: 0; margin-bottom: 10px; }
}


/* 画像の場合は、w500かw700をクラスに追加、tableの場合はtable自体にmin-widthを記述、処理はjs */
/* contframe */
.contframe table { width:100%; table-layout:fixed; }
/* .contframe table th { background: #eee; } */
.contframecaution { display: none; color: #ff0000; font-weight: bold; }
@media screen and (max-width: 639px) {
    .contframe.w700 { overflow: auto; }
    .contframe.w700 img { min-width: 700px!important; width: 100%!important; max-width: none!important; }
    .contframecaution.w500  { display: none; }
}
@media screen and (max-width: 479px) {
	.contframe { overflow: auto; border: 1px dashed #ff0000; overflow: scroll; -webkit-overflow-scrolling: touch; }
	.contframe img { min-width: 500px; width: 100%; max-width: initial; border: 10px solid #fff; }
    .contframe.w500 img { min-width: 500px!important; width: 100%!important; max-width: none!important;}
	.contframe table { /* min-width:500px;  */width: 100%;  max-width: initial; }
	.contframe table img { width: 100%; min-width: 0; max-width: initial; border: none; }
	.contframecaution { display: block; margin-bottom: 5px; font-size: 12px; }
    .contframecaution.w500  { display: block; }
}






.youtubebox { clear: both; text-align: center; position: relative; width: 100%; padding-top: 56.25%; }
.youtubebox iframe{ position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }



.techlist1{ overflow: hidden; }
.techlist1>ul{ margin-left: -4%; margin-bottom: -60px }
.techlist1>ul>li{ width: 21%; margin-left: 4%; margin-bottom: 60px; float: left }
.techlist1>ul>li>a{ text-decoration: none; display: block; }
.techlist1>ul>li>a:hover{ opacity: 1 }
.techlist1>ul>li .thumb{ width: 100%; margin-bottom: 20px }
.techlist1>ul>li .techtxtbox1 , .techlist1>ul>li .techtxtbox1 p{ text-align: center; }
.techlist1>ul>li .techtxtbox1 .subtitle{ font-size: 0.87em; color:#4c4c4c; }
.techlist1>ul>li .techtxtbox1 .maintitle{ font-size:1.2em; font-weight: bold; margin-bottom: 10px; }
.techlist1>ul>li>a .maintitle span{ font-weight: bold; }
.techlist1>ul>li>a:hover .maintitle span{ color:#755c99; }
.techlist1>ul>li .techtxtbox1 .cap{ font-size:0.93em; color:#7d7d7d; }
@media screen and (max-width: 1040px) {
	.techlist1>ul{ margin-bottom: -40px }
	.techlist1>ul>li{ margin-bottom: 40px; width: 29% }
	.techlist1>ul>li .thumb{ margin-bottom: 15px }
}
@media screen and (max-width: 767px) {
	.techlist1>ul{ margin-bottom: -30px }
	.techlist1>ul>li{ margin-bottom: 30px; }
	.techlist1>ul>li .thumb{ margin-bottom: 10px }
	.techlist1>ul>li .techtxtbox1 .maintitle{ font-size:1.1em; }
}
@media screen and (max-width: 639px) {
	.techlist1>ul{ margin-bottom: -20px }
	.techlist1>ul>li{ margin-bottom: 20px; width: 46% }
}
@media screen and (max-width: 400px) {
	.techlist1>ul{ margin-left: 0; }
	.techlist1>ul>li{ width: 100%; margin-left: 0%; float: none }
	.techlist1>ul>li .techtxtbox1 .maintitle{ margin-bottom: 2px }
}



.open_defaultmap { margin-top: 15px;  }
.open_defaultmap .open_link1{ margin-bottom: 10px; }
.open_defaultmap .open_link1>a { display: block; width: 70%; margin: 0 auto; padding: 8px; background-color: #07f; color: #fff; border-radius: 4px; text-align: center; text-decoration: none; line-height: 1.5 }
.open_defaultmap .open_msg1{ line-height: 1.5; font-size: 0.9em }



dl.newstopics{ color:#7d7d7d; }
dl.newstopics dt{ font-size: 0.87em; width: 70px; float: left }
dl.newstopics dd{ font-size: 0.93em; margin-bottom: 30px; padding-left: 85px; line-height: 1.5 }
@media screen and (max-width: 767px) {
	dl.newstopics dt{ width: 100%; float: none }
	dl.newstopics dd{ padding-left: 0; padding-bottom: 20px; margin-bottom: 20px; }
}