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

/*
//color
black #191919
main #4d4397
brown #664c28
lightbrown #f0ede9
border #ccc
back #f1f1f1

//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: 1100px; }
#index .incnt{ width: 1000px }
@media screen and (max-width: 1200px) {
    .incnt, #index .incnt { margin: 0 4%!important; width: 92%!important; }
}

/* section */
.section { margin-top: 80px; }
@media screen and (max-width: 639px) {
    .section { margin-top: 60px; }
}

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

/* .block */
.block { margin-top: 25px; }
@media screen and (max-width: 639px) {
    .block { margin-top: 20px; }
}

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











/* ---------------------------------------
link/btn
--------------------------------------- */
/* normal */
a{ color:inherit; }
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; }



/* txtlink */
a.txtlink1{ font-weight: bold; color:#4d4397; }
a.txtlink1:after{ content: " "; background: url(../img/common/arr1_purple.png) no-repeat; background-size: 20px 20px; width: 20px; height:20px; display: inline-block; vertical-align: text-top; margin-left: 5px }

a.txtlink2{ font-weight: bold; color:#4d4397; }

.txtlink{  }
.txtlink:before{ content: " "; background: url(../img/common/arw1_red.png) no-repeat left; background-size: contain; width:6px; height:10px; display: inline-block; padding-right: 5px; }
.txtlink.brown { }


/* stylelink */
a.stylelink { display: inline-block; line-height: 18px; font-weight: bold; position: relative; padding-right: 20px; }
a.stylelink:before { content: ''; background-image: url(../img/common/arr1_purple.png); background-size: contain; position: absolute; width: 18px; height: 18px; line-height: 0;font-size: 0; top: 50%; right: 0; margin-top: -9px; }


/* stylebtn */
a.stylebtn1 { font-size: 15px; display: inline-block;  border: 2px solid #5e56a1; line-height: 1; padding: 1em 2.5em 1em 1em; font-weight: bold; background: #5e56a1; color: #fff; text-decoration: none; position: relative; min-width: 130px; -webkit-border-radius: 4px; border-radius: 4px;  -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; }
a.stylebtn1:hover { background: #fff; color: #5e56a1; opacity: 1; }
a.stylebtn1:before { content: ''; background-image: url(../img/common/arr1_white.png); background-size: contain; position: absolute; width: 20px; height: 20px; line-height: 0;font-size: 0; top: 50%; right: 10px; margin-top: -10px; }
a.stylebtn1:hover:before { background-image: url(../img/common/arr1_purple.png); }
@media screen and (max-width: 639px) {
	a.stylebtn1 { font-size: 1em; display: block; min-width: 0; }
}


/* telbtn */
a.telbtn { position: relative; font-size: 26px; font-weight: bold; color: #4d4397; text-decoration: none; padding-left: 35px; line-height: 1; display: inline-block; margin: 10px 0; }
a.telbtn:before { content: ''; background-image: url(../img/common/icon_tel.png); background-size: contain; position: absolute; width: 28px; height: 28px; line-height: 0;font-size: 0; top: 50%; left: 0px; margin-top: -14px; }
@media screen and (max-width: 639px) {
	a.telbtn { font-size: 20px; vertical-align: middle; padding-left: 28px; }
	a.telbtn:before { background-image: url(../img/common/icon_tel.png); width: 22px; height: 22px; margin-top: -10px; }
}


/* tel_link */
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%; }
}










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

/* baseset [大きさ/太さ/色] */
.txtbase { font-weight: normal; color: #191919; 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: #4d4397; }
.txtblack { color: #191919; }
.txtgrey { color: #ccc; }
.txtred { color: #4d4397; }
.txtskyblue { color: #19a0e1; }

/* 画像周り */
.img_title {display: block;font-weight: bold; font-size: 17px; margin-bottom: 10px;}
.img_caption  { display: block;font-size: 12px; }
@media screen and (max-width: 639px) {
	.img_title { font-size: 15px; }
}






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

/* セクションtitle*/
.sectitle{ background:url(../img/common/line1.png) repeat-y left center, #f3f3f3; background-size: 14px 60px; padding:10px 20px 10px 30px; margin-bottom: 1em; font-weight: bold; font-size: 24px; line-height: 1.5; }
@media screen and (max-width: 639px) {
}
@media screen and (max-width: 479px) {
	.sectitle{ background-size: 7px 30px; padding:10px 12px 10px 18px; font-size: 20px; line-height: 1.4; }
}

/* セクションtitle（h3）*/
.insectitle { font-weight: bold; font-size: 22px; line-height: 1.5; padding: 0.6em 1em; margin-bottom: 0.8em; text-align: left!important; border: 1px solid #4d4397; color: #4d4397;  }
@media screen and (max-width: 639px) {
	.insectitle { font-size: 20px; }
}
@media screen and (max-width: 479px) {
	.insectitle { font-size: 18px; line-height: 1.4; }
}


.blocktitle { font-weight: bold; font-size: 22px; line-height: 1.5; padding: 0.5em 1em; margin-bottom: 0.8em; text-align: left!important; position: relative; border-left: 2px solid #4d4397; }
@media screen and (max-width: 639px) {
	.blocktitle { font-size: 16px; }
}
@media screen and (max-width: 479px) {
	.blocktitle { font-size: 16px; line-height: 1.4; }
}


.insectitle_s {
	color: #19a0e1;
    font-weight: bold;
    font-size: 17px;
}
@media screen and (max-width: 479px) {
	.insectitle_s { font-size: 15px; }
}




/* ---------------------------------------
table
--------------------------------------- */
/* sche */
.sche{ width: 100%; background:#fff; text-align: center; }
.sche th, .sche td{ border-bottom: 1px solid #b6b6b6; border-right: 1px solid #b6b6b6; padding: 3px; text-align: center; }
.sche thead th, .sche thead td{ background: #edecf4; }
.sche tbody th, .sche tbody td{ padding:8px 3px; }
.sche th.bn, .sche td.bn{ border-right: 0 }
.sche .bbn th, .sche .bbn td{ border-bottom: 0 }


/* カレンダー表示 */
.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: #4d4397; }
.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 #ccc; }


/* styletable1 */
.table_type1 { width: 100%; margin-bottom: 5px; table-layout: fixed; }
.table_type1 th, .table_type1 td { padding: 12px 2%; border: 1px solid #ccc; line-height: 1.5; }
.table_type1 th { font-weight: bold; }
.table_type1 thead th, .table_type1 thead td { background: #e5f4fc; text-align: center; }
@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 #ccc; line-height: 1.5; }
.table_type2 th { background: #f1f1f1; }
.table_type2 thead th, .table_type2 thead td { background: #e5f4fc; color: #fff; text-align: center; font-weight: bold; }
@media screen and (max-width: 639px) {
}








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

/* pankuzu */
#pankuzu { padding:8px 4%; line-height: 1.4; font-size: 13px; }
#pankuzu ol li { display: inline; display:inline-block; color: #aaa; }
#pankuzu ol li a { text-decoration: underline;  }
#pankuzu ol li:before { content:"/"; display: inline-block; margin-left: 10px; margin-right: 8px; }
#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; }
}

/* dl */
.dl_list_style1 dt { color: #19a0e1; font-weight: bold; font-size: 17px; }
.dl_list_style1 dd { margin-bottom: 20px; }
.dl_list_style1 dt.txt1 { color: #4d4397; }
@media screen and (max-width: 479px) {
	.dl_list_style1 dt { font-size: 15px; }
}


/* ---------------------------------------
accordion
--------------------------------------- */
/* acd */
#cnt_main .acd>dt { color: #392f2c; margin-bottom: 20px; position: relative; cursor: pointer; }
#cnt_main .acd>dt span { display: table-cell; font-weight: bold; vertical-align: middle; }
#cnt_main .acd>dt span.icon { font-size: 24px; padding-right: 15px; border-right: 1px solid #ccc; font-weight: bold; display: table-cell;  color: #19a0e1; }
#cnt_main .acd>dt span.txt { padding-left: 15px; line-height: 1.6; font-weight: bold; font-size: 18px; padding-right: 35px; }
#cnt_main .acd>dt:before { content: ""; width: 20px; background: #392f2c; height: 2px; position: absolute; top: 50%; margin-top: -1px; right: 10px; }
#cnt_main .acd>dt:after { content: ""; width: 2px; background: #392f2c; height: 20px; position: absolute; top: 50%; margin-top: -10px; right: 19px; }
#cnt_main .acd>dt.open:before { content: ""; width: 20px; background: #392f2c; height: 2px; position: absolute; top: 50%; margin-top: -1px; right: 10px; }
#cnt_main .acd>dt.open:after { display: none; }
#cnt_main .acd>dd { padding-bottom: 30px; }
@media screen and (max-width: 639px) {
	#cnt_main .acd>dt span.icon { font-size: 20px; padding-right: 10px; }
	#cnt_main .acd>dt span.txt { padding-left: 10px;font-size: 16px;}
}







/* ---------------------------------------
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 30px; background: #f1f1f1; }
@media screen and (max-width: 1040px) {
	.bgbox1 { padding:20px 4%; }
}
.bgbox1.blue { background: #e5f4fc; }



/* borderbox1 */
.borderbox1 { padding: 20px 30px; border: 1px solid #ccc; }
@media screen and (max-width: 1040px) {
	.borderbox1 { padding:20px 4%; }
}
.borderbox1.red { border: 1px solid #4d4397; }
.borderbox1.brown { border: 1px solid #664c28; }



/* imglist ※heightAdjust併用 */
ul.imglist { margin-bottom: 10px; margin-left: -4%; }
ul.imglist>li { float: left; width: 46%; margin-left: 4%; margin-bottom: 20px; }
ul.imglist li img { margin: 0 auto; display: block; width: 100%; }
.nosubtxt ul.imglist { margin-top: 0px!important; margin-bottom: 0px!important; }
ul.imglist li.last,
ul.imglist li.booby { margin-bottom: 0; }
@media screen and (max-width: 1040px) {
    ul.imglist li img { width: 100%; }
}
@media screen and (max-width: 639px) {
	ul.imglist { margin-left: 0; }
	ul.imglist>li { width: 100%; margin-left: 0; }
    ul.imglist li img { max-width: 100%; }
	ul.imglist li.booby { margin-bottom: 10px; }
}
@media screen and (max-width: 479px) {
    ul.imglist li img { max-width: none; }
}	



/* imgbox */
ul.imgbox li { margin-bottom: 10px; }
ul.imgbox li img { margin: 0 auto; display: block; width: 100%; }
.nosubtxt ul.imgbox { margin-top: 0px!important; margin-bottom: 0px!important; }
ul.imgbox li.last { margin-bottom: 0; }
@media screen and (max-width: 1040px) {
    ul.imgbox li img { width: 100%; }
}
@media screen and (max-width: 639px) {
    ul.imgbox li img { max-width: 100%; }
}
@media screen and (max-width: 479px) {
    ul.imgbox li img { max-width: none; }
}	



/* 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:40%; margin-right: 4%; }
.imgleftbox .txtbox{ float: right; width:56%; }
@media screen and (max-width: 767px) {
	.imgleftbox .imgbox{ width:46%; }
	.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; }
	.imgleftbox .imgbox img{ max-width: 100%; width: 100%; }
	.imgleftbox .txtbox{ float: none; width:100%; }
}
@media screen and (max-width: 479px) {
	.imgleftbox .imgbox img{ max-width: none; }
}


/* imgrightbox */
.imgrightbox:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0em; overflow:hidden; line-height:0; }
.imgrightbox .imgbox{ float: right; width:40%; margin-left: 4%; }
.imgrightbox .txtbox{ float: left; width:56%; }
@media screen and (max-width: 767px) {
	.imgrightbox .imgbox{ width:46%; }
	.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; }
	.imgrightbox .imgbox img{ max-width: 100%; width: 100%; }
	.imgrightbox .txtbox{ float: none; width:100%; }
}
@media screen and (max-width: 479px) {
	.imgrightbox .imgbox img{ max-width: none; }
}


/* 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{ margin-bottom: 10px; }
.contwraparound .txtbox{ float: none; width: 100%; }
@media screen and (max-width: 639px) {
	.contwraparound .imgbox{ margin: 0; margin-bottom: 10px; }
}


/* 画像の場合は、w500かw700をクラスに追加、tableの場合はtable自体にmin-widthを記述、処理はjs */
/* contframe */
.contframe img { width: 100%; }
.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; }



/* btnbox1 */
.btnbox1 { margin-left: -10px;}
.btnbox1:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0; overflow:hidden; line-height:0; }
.btnbox1 li { float: left; margin-left: 10px; margin-bottom: 10px; }
@media screen and (max-width: 479px) {
	.btnbox1 { margin-left: 0px; }
	.btnbox1 li { width: 100%; float: none; margin-left: 0; display: block; }
}















.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 }
