@charset "utf-8";
/* CSS Document */

/* ----------------------------------------------------------------------------------------
  共通
---------------------------------------------------------------------------------------- */
body {
  font-family: Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

p{
  font-size: 120%;
font-weight: 500;
}

a,img{
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

ol, ul {
    padding-left: 20px;
}

.alert_buttons input {
    width: auto !important;
}



/* スマホのみ */
@media (max-width: 767px) {
  input:not([type]), input[type="text"], input[type="email"], input[type="password"], textarea {
    font-size: 16px;
  }
	.container #main  {
	    padding-top: 50px;
	}
}

#wrapper{
  overflow: hidden;
}

#opt{
    background-color: #f1ede8;
    background-image: repeating-linear-gradient(-45deg, #e2edf2, #e2edf2 7.5px, transparent 0, transparent 15px);
}

#opt #opt2 {
    text-align: center;
}
#opt #opt1 h3:before {
    content: "\f05a";
    font-family: "FontAwesome";
    font-weight: normal;
    margin-right: 10px;
}
#opt #opt2 h3:before {
    content: "\f082";
    font-family: "FontAwesome";
    font-weight: normal;
    margin-right: 10px;
}

@media (max-width: 767px) {
	p {
		font-size: 14px;
	}
}


/* -------------------------------------
 *  dialog
 * ---------------------------------- */
input[type="button"]{
  padding:10px 20px !important;
}

/* -------------------------------------
 *  table
 * ---------------------------------- */
#wrapper table th{
  background:;/*color*/
  color:;/*color*/
  border:1px solid #fff;
  font-weight: normal;
}
#wrapper table td{
  /*background: #f6f6f6;*/
  background: #e2edf2;
  border:1px solid #fff;
}
#opt table td{
  background: #fff;
  border:1px solid #e6e6e6 !important;
}
#side .mailform-table th,
#opt .mailform-table th{
  width: 100%;
  display: block;
  border: 1px solid #ccc !important;
}
#side .mailform-table td,
#opt .mailform-table td{
  width: 100%;
  display: block;
  border: 1px solid #ccc !important;
}
 /* スマホ・タブレットのみ */
@media (max-width: 991px) {
  .blogCommentPostBox table th, #mailform_form table th, form table th{
    width: 100%;
    display: block;
  }
  .blogCommentPostBox table td, #mailform_form table td, form table td{
    width: 100%;
    display: block;
  }
}

/* -------------------------------------
 * 見出し
 * ---------------------------------- */
#contents h1,#side h1,#opt h1,#footer h1,div[class^="parts_free_"] h1 {
  position: relative;
  display: table;
  width: auto;
  margin:40px auto 30px;
  padding: 30px 50px;
  text-align: center !important;
  font-size:180%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#side h1,#opt h1{
  font-size:160%;
  width: 100%;
  padding: 20px !important;
}
#contents h1:before,
#contents h1:after,
#side h1:before,
#side h1:after,
#opt h1:before,
#opt h1:after,
#footer h1:before,
#footer h1:after,
div[class^="parts_"] h1:before,
div[class^="parts_"] h1:after {
  position: absolute;
  top: 0;
  content: '';
  width: 15px;
  height: 100%;
  border-top:;/*color*/
  border-bottom:;/*color*/
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#contents h1:before,
#side h1:before,
#opt h1:before,
#footer h1:before,
div[class^="parts_"] h1:before {
  left: 0;
  border-left:;/*color*/
}
#contents h1:after,
#side h1:after,
#opt h1:after,
#footer h1:after,
div[class^="parts_"] h1:after {
  right: 0;
  border-right:;/*color*/
}
#contents h2,#side h2,#opt h2,#footer h2{
/*
  height:auto;
  margin:40px -15px 20px;
  padding:30px 20px;
  font-size:150%;
  text-align: center !important;
  letter-spacing: 2px;
  position:relative;
*/
}
#side h2,#opt h2{
  padding:20px;
  font-size:140%;
}
#contents h2:before,
#side h2:before,
#opt h2:before,
#footer h2:before{
/*  content:"";
  display: block;
  position:absolute;
  top:0;
  left:0;
  right:0;
  width: 100%;
  height: 100%;
  border-top:;/*color*/
  background:;/*color*/
  z-index:-1;*/
}
#contents h3,#side h3,#opt h3,#footer h3 {
  background:;/*color*/
  color:;/*color*/
  border-bottom:4px solid #ddd;
  padding:10px 15px;
  font-size:150%;
}
#side h3,#opt h3{
  font-size:120%;
}
#opt h3{
  margin-top:30px;
}
.column2 #side .box h3 {
  margin-top: 20px;
}
#contents h4,#side h4,#opt h4,#footer h4 {
  border-bottom:;/*color*/
  padding:0 0 10px;
  margin:10px 0 20px;
font-size: 170%;
font-weight: bold;
line-height: 1.5;
color:#000;
}
#contents h5,#side h5,#opt h5,#footer h5 {
  background:;/*color*/
  font-weight: bold;
  display: table;
  padding:5px;
}
#contents h6,#side h6,#opt h6,#footer h6 {
  border-bottom:;/*color*/
  font-weight: bold;
  display: table;
  padding:0 0 4px;
}


#opt h3 {
    text-align: center;
    font-size: 25px;
    font-weight: bold;
}





/* スマホ以外 */
@media (min-width: 768px) {
  #contents h1,#side h1,#opt h1,#footer h1,
div[class^="parts_"] h1 {
    padding: 30px 80px;
  }
  #contents h2,#side h2,#opt h2,#footer h2{
    /*margin:60px 0 20px;*/
  }
  #contents h2:before,#side h2:before,#opt h2:before,#footer h2:before{
    height:50%;
  }
}

@media (max-width: 767px) {

	#contents #main h2.top_main_h2 {
		margin-top: -20%;
	}


	#contents h4 {
		font-size: 19px;
	}
	
	#contents h3 {
	    margin-left: calc(((100vw - 100%) / 2) * -1);
    	margin-right: calc(((100vw - 100%) / 2) * -1);
	}
}

/* -------------------------------------
 * button
 * ---------------------------------- */
.topicDigestLink,.blogRecentLink{
  text-align: center;
}
#side .parts_other_bupageTopBox a,#side .parts_other_buPrintBox a,#side .returnBu a,#side a.returnBu,#side input[type="button"],#side input[type="submit"],#side .topicDigestLink a,#side .blogRecentLink a{
  margin-top:10px;
}
.parts_other_bupageTopBox a,.parts_other_buPrintBox a,.returnBu a, a.returnBu,input[type="button"], input[type="submit"],.topicDigestLink a,.blogRecentLink a,.pageMore a {
  background:;/*color.css*/
  color:;/*color.css*/
  display: inline-block;
  border:none;
  border-radius:0;
  margin:20px auto;
  padding:15px 30px;
  text-align: center;
  text-decoration: none;
  width: 100%;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 3px;
}
.parts_other_bupageTopBox a:hover,.parts_other_buPrintBox a:hover,.returnBu a:hover, a.returnBu:hover,input[type="button"]:hover, input[type="submit"]:hover,.topicDigestLink a:hover,.blogRecentLink a:hover,.pageMore a:hover {
  cursor: pointer;
  background:;/*color.css*/
  color:;/*color.css*/
}
.parts_other_bupageTopBox a:before,
.parts_other_buPrintBox a:before,
input[type="button"]:before,
input[type="submit"]:before,
.topicDigestLink a:before,
.blogRecentLink a:before,
.pageMore a:before{
  content:"";
  display: inline-block;
  padding:0 12px 0 0;
  background-size: contain !important;
  width: 6px;
  height: 9px;
}
.parts_other_bupageTopBox a:hover:before,
.parts_other_buPrintBox a:hover:before,
input[type="button"]:hover:before,
input[type="submit"]:hover:before,
.topicDigestLink a:hover:before,
.blogRecentLink a:hover:before,
.pageMore a:hover:before{
  background-size: contain !important;
}
/* PC */
@media (min-width: 992px) {
  .parts_other_bupageTopBox a:before,
  .parts_other_buPrintBox a:before,
  input[type="button"]:before,
  input[type="submit"]:before,
  .topicDigestLink a:before,
  .blogRecentLink a:before,
  .pageMore a:before {
    background-size: contain !important;
  }
  .parts_other_bupageTopBox a:hover:before,
  .parts_other_buPrintBox a:hover:before,
  input[type="button"]:hover:before,
  input[type="submit"]:hover:before,
  .topicDigestLink a:hover:before,
  .blogRecentLink a:hover:before,
  .pageMore a:hover:before {
    background-size: contain !important;
  }
}

/*----btn02(追加class)----*/
a.btn02{
  background:;/*color.css*/
  color:;/*color.css*/
  display: inline-block;
  font-weight: bold;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  padding: 20px 50px 20px 40px !important;
  margin-top:20px;
}
a.btn02:before{
  content:"";
  display: inline-block;
  background-size: 23px !important;
  width: 23px;
  height: 23px;
  margin:0 10px 0 0;
  vertical-align: middle;
}

/*----btn03(追加class)----*/
a.btn03{
  background:;/*color.css*/
  color:;/*color.css*/
  display: inline-block;
  font-weight: bold;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  padding: 10px 20px 10px 15px !important;
  margin-top:10px;
  border-radius: 3px;
}
a.btn03:before{
  content:"";
  display: inline-block;
  background-size: contain !important;
  width: 6px;
  height: 9px;
  margin:0 10px 0 0;
  vertical-align: middle;
}
a.btn03:hover:before{
  background-size: contain !important;
}
/* PC */
@media (min-width: 992px){
  a.btn03:before{
  background-size: contain !important;
  }
  a.btn03:hover:before{
  background-size: contain !important;
  }
}


a.btn_hp,
a.btn_rv {

    font-weight: bold;
    font-size: 14px;
    text-align: center;
    text-decoration: none;
    background: #fff;
    padding: 10px;
    margin: 10px;
}

a.btn_hp:before {
    content: "\f015";
    font-family: "FontAwesome";
    font-size: 20px;
    font-weight: normal;
    padding-right: 5px;
    vertical-align: baseline;
}

a.btn_hp:after,
a.btn_rv:after {
content: "\f101";
    font-family: "FontAwesome";
    font-size: 20px;
    font-weight: normal;
    padding-left: 10px;
    vertical-align: baseline;
}

a.btn_rv:before {
    content: "\f073";
    font-family: "FontAwesome";
    font-size: 20px;
    font-weight: normal;
    padding-right: 5px;
    vertical-align: middle;
}

a.btn_hk {
    font-weight: bold;
    font-size: 14px;
    text-align: center;
    text-decoration: none;
    background: #fff;
    padding: 10px;
}

a.btn_hk:before {
    content: "\f002";
    font-family: "FontAwesome";
    font-size: 20px;
    font-weight: normal;
    padding-right: 5px;
    vertical-align: baseline;
}

/* ----------------------------------------------------------------------------------------
  コンテンツパーツ
---------------------------------------------------------------------------------------- */
/* -------------------------------------
 * .calender
 * ---------------------------------- */
.eventCalendar table.calendar th, .eventCalendar table.calendar td {
    font-size: 100% !important;
}
table.calendarTable .week-label th.weekday,
table.calendarTable .week-label th.sat,
table.calendarTable .week-label th.sun{
  background: #eee;
  color:#333;
}
table.calendar tr.week-label td{
  background: #eee;
}
table.calendar td{
  background: #fff;
}

/* -------------------------------------
 * 既存パーツ
 * ---------------------------------- */
/* スマホ以外 */
@media (min-width: 768px) {
  div[class^="parts_h_type"].left, div[class^="parts_img_type"].left {
      padding-right: 20px;
  }
}

.parts_text_type02 ul,
.parts_text_type12 ul{
  padding:0 10px;
}
.parts_text_type02 ul li,
.parts_text_type12 ul li {
  list-style: none;
  border-bottom: 1px dotted #999;
  padding:5px 0;
}
.parts_text_type02 ul li strong,
.parts_text_type12 ul li strong{
  display: block;
}
/* スマホ以外 */
@media (min-width: 768px) {
  .parts_text_type02 ul li,
  .parts_text_type12 ul li {
    text-indent:-8em;
    padding-left:8em;
  }
  .parts_text_type02 ul li strong,
  .parts_text_type12 ul li strong{
    display: inline;
  }
}


/* -------------------------------------
 * 新規パーツ [2017.11.26]
 * ---------------------------------- */
.parts_h_type20_box_body_head{
  padding-right:20px !important;
 }

.parts_h_type21_head > div,
.parts_h_type21_body > div,
.parts_h_type22_head > div,
.parts_h_type22_body > div {
  text-align: center;
}

.parts_h_type25,
.parts_h_type26,
.parts_h_type27 {
    padding: 5px !important;
}

.parts_h_type21_head h4,
.parts_h_type22_head h4,
.parts_h_type19_body_head h4,
.parts_h_type20_box_body_head h4,
.parts_h_type21_box_body_head h4,
.parts_h_type23 h4,
.parts_h_type24 h4{
  border: none !important;
  margin-top:0 !important;
  padding: 0 8px !important;
  vertical-align: middle;
}

.parts_h_type17 h4,
.parts_h_type18 h4{
  margin:0 !important;
  overflow: hidden;
}

.parts_h_type25 h4,
.parts_h_type26 h4,
.parts_h_type27 h4{
  color:#fff;
  margin:0 !important;
  padding:10px 20px !important;
  border-bottom:none !important;
}

.parts_img_type35_text h4,
.parts_img_type38_text h4,
.parts_img_type39_text h4,
.parts_img_type48_text h4,
.parts_img_type49_text h4{
  border-bottom:;/*color.css*/
  padding:10px 0 !important;
  margin:0 0 20px !important;
}
.parts_img_type35_text,
.parts_img_type36_text,
.parts_img_type37_text{
  padding:30px !important;
}
.parts_img_type36_text h4,
.parts_img_type37_text h4{
  border-bottom:;/*color.css*/
  font-weight: normal !important;
  padding:0 0 10px !important;
  margin:0 0 20px !important;
  background: none !important;
}

.parts_text_type14_head h3,
.parts_text_type15_head h3{
  border:none !important;
  margin:10px 0 !important;
}


.parts_free_type01_head {
  padding: 36px 30px 36px !important;
  text-align: center;
}

.parts_free_type02_head_ja{
  font-size:26px !important;
}
.parts_free_type03_photo {
    padding-right: 20px !important;
}
.parts_free_type02_body_box:last-child a:hover,
.parts_free_type03_bu a:hover{
  opacity: 1 !important;
  -moz-transition: 0.3s !important;
  -o-transition: 0.3s !important;
  -webkit-transition: 0.3s !important;
  transition: 0.3s !important;
}

#header .parts_free_type05.box,
#header .parts_free_type06.box,
#header .parts_free_type07.box,
#header .parts_free_type08.box,
#header .parts_free_type09.box{
  margin-left: 0% !important;
  margin-right: 0% !important;
  padding-left: 0% !important;
  padding-right: 0% !important;
  width:auto !important;
}
.column1 #main .parts_free_type05.box,
.column1 #main .parts_free_type06.box,
.column1 #main .parts_free_type07.box,
.column1 #main .parts_free_type08.box,
.column1 #main .parts_free_type09.box{
  margin-left: -15px !important;
  margin-right: -15px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width:auto !important;
}
.parts_free_type05_text,
.parts_free_type06_text,
.parts_free_type07_text{
    top:10% !important;
    bottom:10% !important;
    text-align: center;
    padding:0 20px !important;
    margin-bottom:15px;
}
.parts_free_type05_text a,
.parts_free_type07_text_bu a {
  border-radius: 0 !important;
  padding:20px 40px !important;
  margin-top:10px;
}
.parts_free_type06_text a{
  border-radius: calc( 30px + 1em ) !important;
  padding:15px 40px !important;
  margin-top:10px;
}
.parts_free_type05_text a:before,
.parts_free_type06_text a:before,
.parts_free_type07_text_bu a:before{
  content:"";
  display: inline-block;
  background-size: 23px !important;
  width: 23px;
  height: 23px;
  margin:0 10px 0 0;
  vertical-align: middle;
}
.parts_free_type08_text,
.parts_free_type09_box_text{
  padding:0 20px !important;
}
.parts_free_type09_box_text > div {
  top: auto !important;
  right: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  padding: 10px 0 !important;
  position:relative !important;
}

.parts_free_type05_text h1,
.parts_free_type06_text h1,
.parts_free_type07_text h1,
.parts_free_type08_text h1,
.parts_free_type09_box h1,
div[class^="parts_free_"] h1{
  padding: 20px !important;
  margin:20px auto !important;
  font-size:150% !important;
}
.column2 #main .parts_free_type09_box h1{
  margin:20px auto !important;
}

/* スマホのみ */
@media (max-width: 767px){
  .parts_free_type07_text_bu{
    padding:0px !important;
  }
}
/* スマホ以外 */
@media (min-width: 768px) {
  #header .parts_free_type06_photo,
  .column1 #main .parts_free_type06_photo,
  #header .parts_free_type07_photo,
  .column1 #main .parts_free_type07_photo,
  #header .parts_free_type08_photo,
  .column1 #main .parts_free_type08_photo,
  #header .parts_free_type09_box,
  .column1 #main .parts_free_type09_box{
    position: absolute !important;
    left: 0;
    right: 0;
    height: 500px;
  }
  #header .parts_free_type05.box,
  .column1 #main .parts_free_type05.box,
  #header .parts_free_type06.box,
  .column1 #main .parts_free_type06.box,
  #header .parts_free_type07.box,
  .column1 #main .parts_free_type07.box,
  #header .parts_free_type08.box,
  .column1 #main .parts_free_type08.box,
  #header .parts_free_type09.box,
  .column1 #main .parts_free_type09.box{
    margin-left: -100% !important;
    margin-right: -100% !important;
    padding-left: 100% !important;
    padding-right: 100% !important;
    width:auto !important;
    overflow: hidden;
    height: 500px;
    text-align: center;
    position:static !important;
  }
  .parts_free_type09_box {
      position: relative;
      width: 100%;
      padding: 0;
      margin: 0;
      overflow: hidden;
  }
  #header .parts_free_type05_photo img,
  .column1 #main .parts_free_type05_photo img,
  #header .parts_free_type06_photo img,
  .column1 #main .parts_free_type06_photo img,
  #header .parts_free_type07_photo img,
  .column1 #main .parts_free_type07_photo img,
  #header .parts_free_type08_photo img,
  .column1 #main .parts_free_type08_photo img,
  #header .parts_free_type09_box_text img,
  .column1 #main .parts_free_type09_box_text img{
    position:absolute;
    left:0;
    right:0;
    max-width: none;
    width: 100%;
    height: auto;
    margin: 0;
    transform: none;
  }
  .column2 #main .parts_free_type05_text,
  .column2 #main .parts_free_type06_text,
  .column2 #main .parts_free_type07_text{
    top:15% !important;
    bottom: 15% !important;
    margin-bottom:0;
  }
  #header .parts_free_type05_text,
  .column1 #main .parts_free_type05_text{
    position: relative !important;
    width: 300%;
    margin-left: -100%;
    margin-right: -100%;
    padding: 0 100% !important;
  }
  #header .parts_free_type06_text,
  .column1 #main .parts_free_type06_text {
    position: relative !important;
  }
  #header .parts_free_type08_text,
  .column1 #main .parts_free_type08_text {
    position: relative !important;
    top: 60% !important;
    left: 0;
    right: 0;
    width: 300% !important;
    text-align: center;
    overflow: hidden;
    margin: 0 -100% !important;
    padding: 0 100% !important;
  }
  .parts_free_type06_text > div {
    position: absolute;
    left: 0;
    right: 0;
    width: 300%;
    text-align: center;
    margin: 0 -100%;
    padding: 0 100% !important;
  }
  .parts_free_type07_text{
    position: relative;
  }
  .parts_free_type09_box_text > div{
    padding:20px 30px !important;
    top:15% !important;
    bottom: 15% !important;
    width:50% !important;
    position:absolute !important;
    max-width: 550px;
    max-height: 400px;
  }
  .parts_free_type05_text h1,
  .parts_free_type06_text h1,
  .parts_free_type07_text h1,
  .parts_free_type08_text h1,
  .parts_free_type09_box h1,
  div[class^="parts_free_"] h1{
    padding: 30px 40px !important;
    margin: 30px auto 30px !important;
    font-size:170% !important;
  }
  .parts_free_type05_text a,
  .parts_free_type06_text a,
  .parts_free_type07_text_bu a {
    margin:30px !important;
  }
}
/* PC */
@media (min-width: 992px){
  #header .parts_free_type05.box,
  .column1 #main .parts_free_type05.box,
  #header .parts_free_type06.box,
  .column1 #main .parts_free_type06.box,
  #header .parts_free_type07.box,
  .column1 #main .parts_free_type07.box,
  #header .parts_free_type08.box,
  .column1 #main .parts_free_type08.box,
  #header .parts_free_type09.box,
  .column1 #main .parts_free_type09.box{
    overflow: hidden;
    height: 600px;
  }
  #header .parts_free_type06_photo,
  .column1 #main .parts_free_type06_photo,
  #header .parts_free_type07_photo,
  .column1 #main .parts_free_type07_photo,
  #header .parts_free_type08_photo,
  .column1 #main .parts_free_type08_photo,
  #header .parts_free_type09_box,
  .column1 #main .parts_free_type09_box{
    overflow: hidden;
    height: 600px;
  }
  .parts_free_type05_text,
  .parts_free_type06_text,
  .parts_free_type07_text{
    top:20% !important;
    bottom: 20% !important;
  }
  .parts_free_type09_box_text > div{
    padding:25px 40px !important;
    top:20% !important;
    bottom: 20% !important;
    width:40% !important;
  }
  .parts_free_type05_text h1,
  .parts_free_type06_text h1,
  .parts_free_type07_text h1,
  .parts_free_type08_text h1,
  .parts_free_type09_box h1,
  div[class^="parts_free_"] h1{
    padding: 30px 80px !important;
    margin: 40px auto 30px !important;
    font-size:180% !important;
  }
  .parts_free_type05_text a:before,
  .parts_free_type07_text_bu a:before,
  .parts_free_type06_text a:before{
    background-size: 23px !important;
  }
}

@media (min-width: 1200px){
  #header .parts_free_type05.box,
  .column1 #main .parts_free_type05.box,
  #header .parts_free_type06.box,
  .column1 #main .parts_free_type06.box,
  #header .parts_free_type07.box,
  .column1 #main .parts_free_type07.box,
  #header .parts_free_type08.box,
  .column1 #main .parts_free_type08.box,
  #header .parts_free_type09.box,
  .column1 #main .parts_free_type09.box{
    height: 800px;
  }
  #header .parts_free_type06_photo,
  .column1 #main .parts_free_type06_photo,
  #header .parts_free_type07_photo,
  .column1 #main .parts_free_type07_photo,
  #header .parts_free_type08_photo,
  .column1 #main .parts_free_type08_photo,
  #header .parts_free_type09_box,
  .column1 #main .parts_free_type09_box{
    height: 800px;
  }


}

@media (max-width: 991px){

	.column1 #main .parts_free_type09_box h4 {
	    font-size: 125%;
	}
}

/* -------------------------------------
 * フリーパーツ
 * ---------------------------------- */
/*【フッター】会社案内*/
#footer .company-info{
  margin-left: -100%;
  margin-right: -100%;
  margin-bottom: -15px;
  padding: 0 100%;
}
#footer .company-info > div{
  padding:30px;
  display: table;
  margin: 0 auto;
  text-align: center;
  border:;/*color.css*/
  background:;/*color.css*/
}
/*google map*/
#footer #map_0{
  margin:30px 0 0;
}
#footer #googlemap-comment{
  margin:0 0 30px;
}

@media (max-width: 991px) {
	#footer .company-info > div {
		padding: 10px;
	}
	#footer .footer_box {
		display: flex;
		flex-wrap: wrap;
	    justify-content: center;
	    margin: 0;
	}
	
	#footer .footer_box .parts_text_type05_box_01,
	#footer .footer_box .parts_text_type05_box_02 {
		width: 50%;
		padding: 5px 10px;
	}
	#footer .footer_box .parts_text_type05_box_03 {
		width: 100%;
		padding: 5px 10px;
	}
}

@media (max-width: 767px) {
	#footer .footer_box {
		margin-top: 30px;
	}
	#footer .footer_box .parts_text_type05_box_01,
	#footer .footer_box .parts_text_type05_box_02 {
		width: 100%;
	}
	#footer .footer_box .parts_text_type05_box_03 {
		font-size: 12px;
	}
}



/* -------------------------------------
 * .topicsListBox,.eventArticle
 * ---------------------------------- */
.topicDate,.eventDate{
  border:none;
  text-align: right;
}
.topicDate + h2,
.eventDate + h2{
  margin: 10px -15px 20px;
}
/* スマホ以外 */
@media (min-width: 768px) {
  .topicsListBox {
      margin-bottom: 50px;
  }
}
.topicsDigestBox{
  padding:0 0 20px;
  border-bottom: 1px dotted #ccc;
}
.topicsDigestBox h4{
  margin-top:0;
}

/* スマホ以外 */
@media (min-width: 768px) {
  #opt .topicsDigestBox{
    padding:0 0 10px;
    overflow: hidden;
  }
  #opt .topicDigestText{
    float: left;
    width: 68%;
  }
  #opt .topicDigestText p:last-child{
    display: none;
  }
  #opt .topicDigestPhoto{
    float: right;
    width: 30%;
    margin-top: 10px;
  }
  #opt .topicDate{
    text-align: left;
  }
  #opt .topicLink{
    border: none;
    font-size: 100%;
    margin: 5px 0;
  }
}

/* ----------------------------------------------------------------------------------------
  various List
---------------------------------------------------------------------------------------- */
.albumIndexList > ul > li, .topicsIndexList > ul > li, .blogRecentList > ul > li, .blogMonthlyList > ul > li, .blogCategoryList > ul > li, .blogFeedList > ul > li, .albumIndexBox > ul > li{
  padding:10px;
  border-top: #aaa dotted 1px;
  border-bottom: #aaa dotted 1px;
  margin-top:-1px;
font-size:19px;
font-weight:600;
}
.albumIndexList > ul > li:first-child, .topicsIndexList > ul > li:first-child, .blogRecentList > ul > li:first-child, .blogMonthlyList > ul > li:first-child, .blogCategoryList > ul > li:first-child, .blogFeedList > ul > li:first-child, .albumIndexBox > ul > li:first-child{
  padding-top: 0;
  border-top: none;
}
.albumIndexList > ul > li ul li, .topicsIndexList > ul > li ul li, .blogRecentList > ul > li ul li, .blogMonthlyList > ul > li ul li, .blogCategoryList > ul > li ul li, .blogFeedList > ul > li ul li, .albumIndexBox > ul > li ul li{
  padding:10px 0 0;
}
.albumIndexList > ul > li ul li a:before, .topicsIndexList > ul > li ul li a:before, .blogRecentList > ul > li ul li a:before, .blogMonthlyList > ul > li ul li a:before, .blogCategoryList > ul > li ul li a:before, .blogFeedList > ul > li ul li a:before, .albumIndexBox > ul > li ul li a:before{
  content:"└";
  padding:0 5px 0 0;
}
.albumList .albumListBox{
  border-top: #aaa dotted 1px;
  border-bottom: #aaa dotted 1px;
  margin:-1px 0 0 0 !important;
  padding:20px 0;
}
.albumList .albumListBox .albumText{
  overflow: hidden;
  float: none !important;
  width:auto;
}

/* -------------------------------------
 * qaList
 * ---------------------------------- */
.qaList dl dt {
    padding: 10px 0 10px 45px;
    font-weight: bold;
    border-bottom: 1px dotted #ccc;
    background: url(../images/parts/faq_q.png) no-repeat 5px 5px;
}
.qaList dl dd {
    padding: 10px 0 10px 45px;
    background: url(../images/parts/faq_a.png) no-repeat 5px 5px;
}


/* ----------------------------------------------------------------------------------------
  #header
---------------------------------------------------------------------------------------- */
#header .container{
  padding:0;
  margin-top: 0;
}
#header .box{
  text-align: center;
  margin:0;
}
#header p {
  margin:0;
}
#header .left {
  float: none;
}
#header .right {
  float: none;
  display: inline-block;
  padding:5px 0;
  margin:0;
  background:;/*color.css*/
  width:100%;
  text-align: center;
}
.boxTop ul li.small,
.boxTop ul li.middle,
.boxTop ul li.large{
  border:none;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.boxTop ul li.small:hover,
.boxTop ul li.middle:hover,
.boxTop ul li.large:hover{
  cursor:pointer;
}
#header #logo {
  text-align: center;
  margin: 15px 0;
}
#header #logo a{
  color:#333;
}
#header #logo img{
  max-width: 30vw;
  margin:0 10px 0 0;
}
#header #siteDesc {
  text-align: center;
  padding: 10px 10px 5px;
  width: 100%;
}
#header .right ul{
  margin:0 10px;
}




/* スマホ以外 */
@media (min-width: 768px) {
  #header .box{
    text-align: left;
  }
  #header .left{
    display: table-cell;
    vertical-align: middle;
    float:left;
  }
  #header .right {
    width: auto;
    padding-top: 30px;
    display: table-cell;
    text-align: right;
    float:right;
  }
  #header .right .right {
    padding-top:0;
    display: block;
  }
  #header #logo{
    height: auto;
    text-align: left;
  }
  #header #logo img{
    max-height: 60px;
    width:auto;
  }
  #header #siteDesc {
    width: 750px;
    position:absolute;
    top:10px;
    left: auto;
    right: auto;
    text-align: right;
    padding:0;
  }
	#header .navbar-logo {
		display: none;
	}
}
/* PC */
@media (min-width: 992px){
  #header #siteDesc {
    width: 970px;
  }
}
/* PC(ワイド) */
@media (min-width: 1200px){
  #header #siteDesc {
      width: 1170px;
  }
}

@media (max-width: 767px) {
	#header .header_box {
		display: none;
	}
	#header .navbar-logo {
		padding: 10px 20px;
	}
	#header .navbar-logo img {
		width: 80%;
	}
	
	#header .navbar-header {
		display: flex;
		background: #fff;
		box-shadow: 0px 0px 3px rgba(0,0,0,0.5);
	}
	
	
	.navbar-default{
	  position: fixed;
	  top: 0;
	  left: 0;
	  z-index: 999;
	}
}

/* -------------------------------------
 * navbar
 * ---------------------------------- */
.navbar-nav {
    margin: 0;
}
.navbar-default{
  background:;/*color.css*/
  border:none;
  margin:0;
}
.navbar-toggle{
  border:none;
  border-radius:0;
  margin:5px 8px;
}
.navbar-toggle .icon-bar{
  border-radius:0;
  width: 28px;
  height: 4px;
}
.navbar-toggle .icon-bar+.icon-bar{
  margin-top:6px;
}
.navbar-default .navbar-nav li{
  border-bottom:;/*color.css*/
  overflow: hidden;
  margin:0 -15px;
font-size:18px;
}
.navbar-default .navbar-nav li:last-child{
  border-bottom:none;
}
.navbar-default .navbar-nav li a b{
  float:right;
  color:#FFF;/*color.css*/
  font-size:80%;
  font-weight: normal;
}
.navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover{
  background:none;
}
/* スマホ以外 */
@media (min-width: 768px) {
  .navbar-default {
    background-color:;/*color*/
    border-color:;/*color*/
    border-top:3px solid;
    border-left:none;
    border-right:none;
    border-bottom:none;
    margin-left: -100%;
    margin-right: -100%;
  }
  .navbar-default .navbar-collapse, .navbar-default .navbar-form {
    width: 750px;
    border-color: transparent;
    border: none;
    margin: 0 auto;
    padding: 0;
  }
  .navbar-default .navbar-nav{
    margin:-3px 0 0 ;
  }
  .navbar-default .navbar-nav>li{
    margin:0 1px;
    text-align:center;
  }
  .navbar-default .navbar-nav>li:before{
    content:"";
    display: block;
    position:absolute;
    background-color:;/*color*/
    width:100%;
    height:0;
    bottom:0;
    left:0;
    right:0;
    -moz-transition: 0.3s ease-out;
    -o-transition: 0.3s ease-out;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  .navbar-default .navbar-nav>li:focus:before, .navbar-default .navbar-nav>li:hover:before {
    height:calc(100% + 3px);
  }
  .navbar-default .navbar-nav>li>a{
    padding:20px 23px;
  }

  #header .navbar-collapse > ul > li > a b ,
  #header .navbar-collapse > ul > li > div b {
    display: block;
    font-weight: normal;
    font-size:90%;
    line-height:1.5;
    float:none;
  }
}
/* PC */
@media (min-width: 992px){
  .navbar-default .navbar-collapse, .navbar-default .navbar-form {
    width: 970px;
  }
}
/* PC(ワイド) */
@media (min-width: 1200px){
  .navbar-default .navbar-collapse, .navbar-default .navbar-form {
      width: 1170px;
  }
}


@media (max-width: 767px) {
	.navbar-default{
	  position: fixed;
	  top: 0;
	  left: 0;
	  z-index: 999;
	}
}
/* ----------------------------------------------------------------------------------------
  #upper
---------------------------------------------------------------------------------------- */
/* -------------------------------------
 * .upperNavi
 * ---------------------------------- */
.upperNavi{
  background:;/*color.css*/
  margin: 0 -15px;
}
.upperNavi ul {
  display: flex;
  flex-wrap: wrap;
  padding:5px 0;
  justify-content: center;
}
.upperNavi ul li{
  display: flex;
  align-items: center;
  padding:5px 10px;
}
.upperNavi ul li a{
  display: flex;
  align-items: center;
  height:100%;
  padding: 20px 30px;
  text-decoration: none;
}
.upperNavi ul li a:hover{
  background:;/*color.css*/
}

/* ----------------------------------------------------------------------------------------
  #bottom
---------------------------------------------------------------------------------------- */
/* -------------------------------------
 * .bottomNavi
 * ---------------------------------- */
.bottomNavi{
  background:;/*color.css*/
}
.bottomNavi ul {
  display: flex;
  flex-wrap: wrap;
  padding:5px 0;
  justify-content: center;
}
.bottomNavi ul li{
  display: flex;
  align-items: center;
  padding:5px 10px;
}
.bottomNavi ul li a{
  display: flex;
  align-items: center;
  height:100%;
  padding: 20px 30px;
  text-decoration: none;
}
.bottomNavi ul li a:hover{
  background:;/*color.css*/
}

#bottom .box {
	margin-bottom: 0;
}

/* ----------------------------------------------------------------------------------------
  #topicpath
---------------------------------------------------------------------------------------- */

#topicpath {
	display: none;
}

.breadcrumb {
  margin-left: -100%;
  margin-right: -100%;
  padding: 8px 100%;
  background:;/*color.css*/
}

/* ----------------------------------------------------------------------------------------
  #side
---------------------------------------------------------------------------------------- */
.column2 #side .box, .column2 #side .sitemapParts, .column2 #side .categoryIndex .sideBox {
    border: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 8px;
}
/* スマホ以外 */
@media (min-width: 768px) {
  .column2 #side{
    margin-top:30px;
  }
}

/* -------------------------------------
 * 2カラム サイドメニュー
 * ---------------------------------- */
.column2 .sideNavi .boxBottom a{
  background: #f6f6f6;
}
.column2 .sideNavi .boxBottom > ul > li{
  border:none;
  padding:0;
}
.column2 .sideNavi .boxBottom > ul > li a{
  color:#111;
}
.column2 .sideNavi .boxBottom > ul > li a:hover,
.column2 .sideNavi .boxBottom > ul > li a.menu-selected{
  text-decoration: none;
  background:;/*color.css*/
}
.column2 .sideNavi .boxBottom > ul > li.menu-level-0 > a,
.column2 .sideNavi .boxBottom > ul > li.menu-level-1 > a{
  background:;/*color.css*/
  color:#fff;
  margin-top:10px;
  margin-bottom:2px;
  display: block;
  font-weight: bold;
  padding: 12px 1.5em 10px;
}
.column2 .sideNavi .boxBottom > ul > li.menu-level-1 b{
  display: none;
}
.column2 .sideNavi .boxBottom > ul > li.menu-level-0 > ul > li.menu-level-1 > a{
  display: block;
  text-indent: -2.5rem;
  padding: 12px 1.5em 10px 4.5rem;
}
.column2 .sideNavi .boxBottom > ul > li.menu-level-0 > ul > li.menu-level-1 > a:before{
  content:"";
  padding:0 14px 0 0;
  background:url(../images/common/linkmark_sp.png) no-repeat left center;
  background-size: contain;
  display: inline-block;
  width: 13px;
  height: 13px;
  vertical-align: -2px;
}
.column2 .sideNavi .boxBottom > ul > li > ul li{
  padding:0;
  margin-top:1px;
}
.column2 .sideNavi .boxBottom > ul > li > ul li.menu-level-2 a{
  display: block;
  text-indent: -1.2rem;
  padding: 12px 1.5em 10px 4.5rem;
}
.column2 .sideNavi .boxBottom > ul > li > ul li.menu-level-2 > a:before{
  content:"";
  padding:0 12px 0 0;
  background: url(../images/common/linkmark_sp.png) no-repeat left center;
  background-size: contain;
  display: inline-block;
  width: 6px;
  height: 9px;
}
.column2 .sideNavi .boxBottom > ul > li > ul li.menu-level-3 > a{
  padding: 12px 10px 10px 5.5rem;
  position:relative;
}
.column2 .sideNavi .boxBottom > ul > li > ul li.menu-level-3 > a:before{
  content: '';
  width: 4px;
  height: 4px;
  display: inline-block;
  border-radius: 100%;
  background:#333;
  margin:0 8px 0 0;
  vertical-align: middle;
}
/* PC */
@media (min-width: 992px) {
  .column2 .sideNavi .boxBottom > ul > li.menu-level-0 > ul > li.menu-level-1 > a:before{
    background:url(../images/common/linkmark.png) no-repeat left center;
  }
  .column2 .sideNavi .boxBottom > ul > li > ul li.menu-level-2 >  a:before{
    background: url(../images/common/linkmark.png) no-repeat left center;
  }
}


/* ----------------------------------------------------------------------------------------
  #opt
---------------------------------------------------------------------------------------- */
/* -------------------------------------
 * opt1Navi,opt2Navi,opt3Navi
 * ---------------------------------- */
#opt .naviBox .boxBottom a{
  border-bottom:#aaa dotted 1px;
}
#opt .naviBox .boxBottom ul{
  padding:0;
}
#opt .naviBox .boxBottom ul li{
  border:none;
  padding:0;
  margin:0;
  list-style:none;
}
#opt .naviBox .boxBottom > ul > li a{
  color:#333;
}
#opt .naviBox .boxBottom > ul > li a:hover,
#opt .naviBox .boxBottom > ul > li a.menu-selected{
  text-decoration: none;
  background:#f2f2f2;
}
#opt .naviBox .boxBottom > ul > li.menu-level-0 > a,
#opt .naviBox .boxBottom > ul > li.menu-level-1 > a{
  background:;/*color.css*/
  color:#fff;
  margin-top:10px;
  margin-bottom:2px;
  display: block;
  font-weight: bold;
  padding: 12px 1.5em 10px;
  border-bottom:none;
}
#opt .naviBox .boxBottom > ul > li.menu-level-1 b{
  display: none;
}
#opt .naviBox .boxBottom > ul > li.menu-level-0 > ul > li.menu-level-1 > a{
  display: block;
  text-indent: -2.5rem;
  padding: 12px 10px 10px 4.5rem;
}
#opt .naviBox .boxBottom > ul > li.menu-level-0 > ul > li.menu-level-1 > a:before{
  content:"";
  padding:0 18px 0 0;
  background:url(../images/common/linkmark_sp.png) no-repeat left center;
  background-size: contain;
  display: inline-block;
  width: 13px;
  height: 13px;
  vertical-align: -2px;
}
#opt .naviBox .boxBottom > ul > li > ul li{
  padding:0;
}
#opt .naviBox .boxBottom > ul > li > ul li.menu-level-2 a{
  display: block;
  text-indent: -1.2rem;
  padding: 12px 10px 10px 4.5rem;
}
#opt .naviBox .boxBottom > ul > li > ul li.menu-level-2 a:before{
  content:"";
  padding:0 12px 0 0;
  background: url(../images/common/linkmark_sp.png) no-repeat left center;
  background-size: contain;
  display: inline-block;
  width: 6px;
  height: 9px;
}
#opt .naviBox .boxBottom > ul > li > ul li.menu-level-3 > a{
  padding: 12px 10px 10px 5rem;
}
#opt .naviBox .boxBottom > ul > li > ul li.menu-level-3 > a:before{
  content: '';
  width: 4px;
  height: 4px;
  display: inline-block;
  border-radius: 100%;
  background:#333;
  margin:0 8px 0 0;
  vertical-align: middle;
}
/* PC */
@media (min-width: 992px) {
  #opt .naviBox .boxBottom > ul > li.menu-level-0 > ul > li.menu-level-1 > a:before{
    background:url(../images/common/linkmark.png) no-repeat left center;
  }
  #opt .naviBox .boxBottom > ul > li > ul li.menu-level-2 a:before{
    background: url(../images/common/linkmark.png) no-repeat left center;
  }
}


/* ----------------------------------------------------------------------------------------
  #footer
---------------------------------------------------------------------------------------- */
#footer{
  position:relative;
  background:;/*color.css*/
  /*padding-top:60px;*/
}

#footer .footer_box {
	margin: 0;
}

/* -------------------------------------
 * .siteSearch
 * ---------------------------------- */
#main .siteSearchText,
#bottom .siteSearchText,
#footer .siteSearchText,
#main .blogSearchText,
#bottom .blogSearchText,
#footer .blogSearchText{
  width: 88% !important;
  display: inline-block !important;
}
#main .searchLink,
#bottom .searchLink,
#footer .searchLink{
  width: 10% !important;
  display: inline-block;
  margin: 0 0 0 1%;
}
#main .searchLink input,#bottom .searchLink input,#footer .searchLink input{
  padding:10px 15px;
}

/* -------------------------------------
 * .footerNavi
 * ---------------------------------- */
#footer .footerNavi {
  background:;/*color.css*/
  clear:both;
  margin:0 -15px !important;
  padding:10px 0 5px;
  text-align: center;
  overflow: hidden;
}
#footer .footerNavi .box{
  margin:0;
}
#footer .footerNavi ul{
  margin: 0;
  width: 100%;
  overflow: hidden;
}
#footer .footerNavi ul > li {
  background-size: 6px 9px;
  margin: 0 0 5px !important;
}
#footer .footerNavi ul > li a{
  padding:10px;
  display: inline-block;
  text-decoration: none;
}
#footer .footerNavi ul > li a:after{
  content:"|";
  display: inline-block;
  margin:0 0 0 35px;
  color:#666;
}
#footer .footerNavi ul > li a:hover:after{
  color:#666;
}
#footer .footerNavi ul > li:last-child a:after{
  content:"";
}
#footer .footerNavi ul > li a:hover{
}
/* タブレット（スマホ以外） */
@media (min-width: 768px) {
  #footer .footerNavi {
    margin: 0 -100% !important;
  }
  #footer .footerNavi ul {
    width: 750px;
    margin:0 auto;
  }
  
	#footer .footerNavi ul > li a {
	    padding: 3px;
	}
}
/* PC */
@media (min-width: 992px) {
  #footer .footerNavi ul {
    width: 970px;
  }
}
/* PC（ワイド） */
@media (min-width: 1200px) {
  #footer .sitemapParts > ul.treeLevel0,#footer .footerNavi ul {
      width: 1170px;
  }
}

@media (max-width: 767px) {
	#footer .footerNavi {
		display: none;
	}
}

/* -------------------------------------
 * .sitemapParts
 * ---------------------------------- */
#footer .sitemapParts {
  clear:both;
  margin:0 !important;
}
#footer .sitemapParts ul.treeLevel0 {
  width: 100%;
  margin:0;
  overflow: hidden;
  padding: 20px 0;
}
#footer .sitemapParts ul.treeLevel0 ul.treeLevel0 ul{
  margin:0 !important;
  padding:0 !important;
}
#footer .sitemapParts ul.treeLevel0 ul.treeLevel0 li{
  display: block !important;
  margin: 0 !important;
}
#footer .sitemapParts ul.treeLevel0 ul.treeLevel0 li a{
  display: block !important;
  padding:8px 1.5em 8px 1.5rem;
  color:#333;
}
#footer .sitemapParts ul.treeLevel0 ul.treeLevel0 li a:hover{
  text-decoration: none;
}
#footer .sitemapParts > ul.treeLevel0 ul.treeLevel0 > li > a{
  padding: 12px 1.5em;
}
#footer .sitemapParts > ul.treeLevel0 ul.treeLevel0 ul.treeLevel1 > li > a:before {
  content: "";
  padding: 0 12px 0 0;
  background: url(../images/common/linkmark_sp.png) no-repeat left center;
  background-size: contain;
  display: inline-block;
  width: 6px;
  height: 9px;
}
#footer .sitemapParts > ul.treeLevel0 ul.treeLevel0 ul.treeLevel1 ul.treeLevel2 > li a{
  padding: 8px 1.5em 8px 2.5rem;
}
#footer .sitemapParts > ul.treeLevel0 ul.treeLevel0 ul.treeLevel1 ul.treeLevel2 > li a:before {
  content: '';
  width: 4px;
  height: 4px;
  display: inline-block;
  border-radius: 100%;
  background: #333;
  margin: 0 8px 0 0;
  vertical-align: middle;
}
/* タブレット（スマホ以外） */
@media (min-width: 768px) {
  #footer .sitemapParts > ul.treeLevel0{
    width: 750px;
    overflow: hidden;
    margin: 0 auto !important;
  }
  #footer .sitemapParts > ul.treeLevel0 > li > ul.treeLevel0 > li{
    float:left;
    border-bottom:none;
    margin:0 10px !important;
  }
}
/* PC */
@media (min-width: 992px) {
  #footer .sitemapParts > ul.treeLevel0 {
    width: 970px;
  }
}
/* PC（ワイド） */
@media (min-width: 1200px) {
  #footer .sitemapParts > ul.treeLevel0 {
    width: 1170px;
  }
}


/* -------------------------------------
 * .siteSearch
 * ---------------------------------- */
#footer .siteSearch{
  margin:15px 0 0;
}


/* -------------------------------------
 * address
 * ---------------------------------- */
#footer address {
  padding:10px 0;
  background:;/*color.css*/
  color:#fff;
  font-size:90%;
}


@media (max-width: 767px) {

	#footer address {
		padding-bottom: 50px;
	}

}

/* -------------------------------------
 * .pageTop
 * ---------------------------------- */
#footer .pageTop {
  position:absolute;
  top:0;
  left:0;
  right:0;
  /*height:60px;*/
  overflow: hidden;
}
#footer .pageTop .container{
  width: 100%;
  margin:0;
  padding:0;
}
#footer .pageTop a{
  background:;/*color.css*/
  /*color:#fff;*/
  /*display: block;*/
  /*width: 100%;*/
  /*height:60px;*/
}
#footer .pageTop a:hover{
  background:;/*color.css*/
}
#footer .pageTop a:before{
  /*content:"";*/
  /*display: block;*/
  /*background: url(../images/common/pagetop_sp.png) no-repeat right 10px center;*/
  /*background-size:37px;*/
  /*width: 100%;*/
  /*height: 60px;*/
  /*margin:0 auto;*/
}
/* タブレット（スマホ以外） */
@media (min-width: 768px) {
  #footer .pageTop a:before{
    /*width: 750px;*/
    /*background: url(../images/common/pagetop_sp.png) no-repeat right center;*/
    /*background-size:37px;*/
  }
}
/* PC */
@media (min-width: 992px) {
  #footer .pageTop a:before{
    /*background: url(../images/common/pagetop.png) no-repeat right center;*/
    /*width: 970px;*/
  }
}
/* PC（ワイド） */
@media (min-width: 1200px) {
  #footer .pageTop a:before{
      /*width: 1140px;*/
  }
}

@media (max-width: 767px) {
    .scroll_table {
        width:100% !important;
        max-width: 100%;
        overflow-x: scroll;
        margin: 0 0 15px;
    }
    .scroll_table table {
        width: 100%;
        border: solid 1px #ccc;
        margin: 0 0 5px;
    }
    .scroll_table table th,
    .scroll_table table td {
        white-space: nowrap;
    }

    .scroll_table::-webkit-scrollbar {
        height: 5px;
    }

    .scroll_table::-webkit-scrollbar:vertical {
        display: none;
    }

    .scroll_table::-webkit-scrollbar-track {
        border-radius: 5px;
        background: #eee;
    }

    .scroll_table::-webkit-scrollbar-thumb {
        border-radius: 5px;
        background: #666;
    }
}

@media (max-width: 767px) {
    /* 2カラム専用(tableにtwo_columnを適用) */
    table.two_column {
        border: none;
    }
    table.two_column tbody th,
    table.two_column tbody td {
        display: block;
        border: none;
        width: 100%!important;
    }
}

@media (max-width: 991px) {
    /* 2カラム専用(tableにtwo_columnを適用) */
    #wrapper table.two_column2 {
        border: none;
    }
    #wrapper table.two_column2 tbody th,
    #wrapper table.two_column2 tbody td {
        display: block;
        border: none;
        width: 100%!important;
    }
    
    #wrapper table.two_column2 tbody th:after {
    	display: none;
    }
}

@media (max-width: 767px) {
    iframe {
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    a[href^="tel:"] {
        text-decoration: none;
        color: inherit;
        pointer-events: none;
    }
}



ul.link {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left:calc((100vw - 100%) / 2);
	padding-right:calc((100vw - 100%) / 2);
    background: #e2edf2;
    font-weight: bold;
}
ul.link li {
	padding: 0;
	border: none;
    width: auto;
    margin: 5px 0;
}

ul.link li a {
    background: #FFf;
    padding: 5px 10px;
    border-radius: 20px;
    margin: 5px;
    display: block;
}

ul.link_hiking li a:hover,
ul.link li a:hover {
	text-decoration: none;
}


ul.link li a:after {
    font-family:"FontAwesome";
    content:"\f0ab";
	font-size: 15px;
	padding-left: 3px;
	display: inline;
}


ul.link_hiking {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    padding: 0;
    justify-content: center;
}

ul.link_hiking li {
    margin: 15px 5px;
}

ul.link_hiking li a {
    padding: 10px;
    white-space: nowrap;
    background: #e2edf2;
    border-radius: 20px;
    margin: 7px 5px;
    font-size: 13px;
    font-weight: bold;
}

ul.link_hiking li a:after {
    content: "\f101";
    font-family: "FontAwesome";
    font-weight: normal;
    padding-left: 10px;
    vertical-align: baseline;
}

@media (max-width: 767px) {
	ul.link_hiking li a {
		font-size: 11px;
	}
}



#wrapper table.balloon {
    border-spacing: 10px 3px;
    border-collapse: separate;
}

#wrapper table.balloon caption {
    text-align: center;
}

#wrapper table.balloon th {
    border: none;
    border-radius: 15px;
    position: relative;
    vertical-align: middle;
    height: 100%;
}

#wrapper table.balloon th:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: -18px;
    border-style: solid;
    border-color: transparent transparent transparent #185b96;
    border-width: 7px 0 7px 18px;

}
#wrapper table.balloon td {
    border-radius: 15px;
    border: none;
}

#wrapper table.balloon.address th {
    border-radius: 10px;
}

#wrapper table.balloon.address td {
    border-radius: 10px;
    background: #fff;
}
#wrapper table.balloon.address th:after {
    border-width: 5px 0 5px 10px;
    right: -10px
}

#wrapper table.balloon.address.ryokan th {
    width: 150px;
}

#wrapper table.balloon.address.ryokan {
	font-size: 14px;
}

#wrapper table.balloon.address.ryokan p {
	font-size: 14px;
	margin-bottom: 0;
}

@media (max-width: 767px) {

	#wrapper table.balloon.two_column th:after {
		display: none;
	}
	
	#wrapper table.balloon.two_column td {
	    background: #fff;
        margin: 5px 0;
	}
	
	#wrapper table.balloon.address th {
	    width: 80px;
	}
	#wrapper table.balloon.address.two_column th {
	    width: 100%;
	}
	#wrapper table.balloon.address.ryokan p,
	#wrapper table.balloon.address.ryokan {
		font-size: 11px;
	}
	#wrapper table.balloon.address.ryokan th {
	    width: 117px;
	}
}


.box_bg {
    background: #f6f6f6;
    padding: 20px;
    border-radius: 15px;
}

ul.hiking_course {
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

ul.hiking_course li {
    margin: 5px 10px;
    position: relative;
    padding-right: 10px;
}
ul.hiking_course li:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-style: solid;
    border-color: transparent transparent transparent #2f4c6e;
    border-width: 5px 0 5px 10px;
    right: -10px;
}

ul.hiking_course li:last-child:after {
    display: none;
}


#wrapper .hiking table.balloon.address th {
    width: 120px;
}

/**************************************
* custom
***************************************/

#topslide {
	position: relative;
	max-width: 100%;
	overflow: hidden;

}
#topslide .bxslider{
	margin: 0 -30%;
	width: 160%;
}

#topslide h1 img
{

}



#topslide h1 {
	font-family: "Alegreya Sans SC",sans-serif;
	position: absolute;
	bottom: 15%;
	left: -70px;
	z-index: 99;
	padding-left: 12%;
	font-size: 12vw;
	font-weight: bold;
	color: #333;
	letter-spacing: -0.04em;
	line-height: 0.8;
	text-align: left;
	margin: 0;
	/*text-shadow: 1px 1px 4px rgba(0,0,0,0.6);*/
        width:650px;
}
/*
#topslide h1:before {
	content: "";
	position: absolute;
	bottom: -17%;
	left: -20%;
	display: block;
	width: 103%;
	height: 130%;
	/*transform: skewX(-30deg);*/
	background:rgba(255,255,255,0.8);
	z-index: 1;
}
*/
#topslide h1 span {
	position: relative;
	z-index: 2;
	color: #076ab6;
}




@media (max-width: 991px) {

	#topslide h1 img
	{
		width:50%;
	}
}

@media (min-width: 768px) {

	#topslide{
            margin-left: calc(((100vw - 100%) / 2) * -1);
            margin-right: calc(((100vw - 100%) / 2) * -1);
            width:100vw;
            max-width:none;
        }
	#topslide .bxslider{
		margin: 0;
		width: 100%;
	}
	#topslide .bxslider img{
		width: 100%;
	}
	#topslide h1 {
		font-size: 4vw;
                line-height:1.3;
	}



}

#topslide .mobile {
        display: none;
}


@media (max-width: 767px) {

	#topslide {
	    margin-top: 52px;
	}
	#topslide h1 > img
	{
		width:35%;
             display: none;
	}

        #topslide .mobile {
             display: block;
             position: relative;
             height: 40px;
             z-index: 99;
        }
        #topslide .mobile img.title {
            display: block;
            position: absolute;
            width: 100%;
            bottom: 0;
        }
        #topslide .mobile img.aoi {
            display: block;
            position: absolute;
            width: 60px;
            bottom: 0px;
            left: 80%;
        }
}

/*********************************
* CUS
**********************************/

h2 {
    position: relative;
    background: #076ab6;
    color: #FFF;
    font-weight: bold;
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
    text-align: center;
    font-size: 27px;
    padding: 25px 15px;
    margin-top: 0px;
    margin-bottom: 50px;
}
h2:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
        border-top-color: transparent;
        border-top-style: solid;
        border-top-width: 15px;
    border-top-color: transparent;
    border-top-style: solid;
    border-top-width: 15px;
    border-top: 25px solid #076ab6;
z-index:auto !important;
}


.toptmp #upper
{
margin-left: calc(((100vw - 100%) / 2) * -1);
margin-right: calc(((100vw - 100%) / 2) * -1);
/*background:#b0cfe2;*/
padding-bottom: 50px;



	background-color: #f1ede8;
background-image: repeating-linear-gradient(-45deg, #e2edf2, #e2edf2 7.5px, transparent 0, transparent 15px);
}

.toptmp  #upper .box
{
max-width: 1140px;
margin-left: auto;
margin-right: auto;

}


.toptmp #upper .box .parts_img_type38,
.toptmp  #upper .box .parts_img_type39
{
background:#FFF;
margin-bottom:40px;
box-shadow: 1px 1px 4px rgba(0,0,0,0.5);
padding: 25px 25px;
}

#footer .footerNavi
{
background:#076ab6 !important;
}
#footer .footerNavi,
#footer .footerNavi a
{
color:#FFF;
}

#footer .company-info
{
border:none !important;
}


/****************************************
* 蛍
*****************************************/

body.hotaru {
	background-color: #191919;
}

body.hotaru #contents {
	color: #feffda;
}


body.hotaru #contents h4 {
	color: #feffda;
}

body.hotaru #contents .parts_free_type09 h4 {
    color: #000;
}

body.hotaru .parts_h_type25_body,
body.hotaru .parts_h_type26_body,
body.hotaru .parts_h_type27_body {
    background-color: #191919;
}

body.hotaru h2 {
    background: #191919;
    color: #feffda;
    border: 1px solid #feffda;
    margin-top: 50px;
}

body.hotaru h2:before {
    border-top-color: #feffda;
}


body.hotaru .parts_text_type14,
body.hotaru .parts_text_type15 {
	border-color: rgba(254, 255, 218, 0.5);
}



body.hotaru .parts_text_type14 .parts_text_type14_head:after {
	border-top-color: rgba(254, 255, 218, 0.5);
}


.inn_banner {
	margin-top: 30px;
	margin-bottom: 30px;
}

@media (max-width: 767px) {
	a.anchor{
	    display: block;
	    padding-top: 60px;
	    margin-top: -60px;
	}
}

.cycling_bottom {
	margin-top: 30px;
	margin-left:calc(((100vw - 100%) / 2) * -1);
	margin-right:calc(((100vw - 100%) / 2) * -1);
	padding-left:calc((100vw - 100%) / 2);
	padding-right:calc((100vw - 100%) / 2);
	padding-top: 50px;
	padding-bottom: 50px;
	
	background: url(../images/common/cycling_bottom_bg.jpg);
    background-size: cover;
    background-position: center center;
}


.cycling_bottom .parts_free_type01 {
	background: rgba( 255, 255, 255, 0.85);
}


.cycling_banner {
	margin-top: 20px;
}

.cycling_course {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.cycling_course .parts_h_type23_box {
    width: calc(33.3333333333% - 10px);
    margin: 5px;
    border: 8px solid #2f4c6e;
    border-radius: 25px;
    background: #efefef;
    padding: 5px;
}

#contents .cycling_course .parts_h_type23_box h4 {
    font-size: 18px;
}

@media (max-width: 991px) {

	.cycling_course .parts_h_type23_box {
	    width: calc(50% - 10px);
	}
}

@media (max-width: 767px) {

	.cycling_course .parts_h_type23_box {
	    width: 100%;
	}

}

#wrapper table.photo_table {

}

#wrapper table.photo_table th {
    background: transparent;
    width: 100px;
    border: none;
    border-bottom: 1px dotted #d6d6d6;
    color: #333;
}

#wrapper table.photo_table td {
    background: transparent;
    border: none;
    border-bottom: 1px dotted #d6d6d6;
    color: #333;
}

@media (max-width: 767px) {
	#wrapper table.photo_table.two_column th {
		border: none;
		padding-bottom: 0;
	}
}




p.photo_notes {
	text-align: right;
	
}

@media (max-width: 767px) {
	p.photo_notes {
		font-size: 11px;
	}
}


/**********************************
* モバイルFIXメニュー
***********************************/
.mobile_fix_menu {
	display: none;
}


@media (max-width: 767px) {
	.mobile_fix_menu {
		display: table;
		position: fixed;
		bottom: 0;
		width: 100%;
		z-index: 9999;
		left: 0;
	}

	.btnfix_tel, .btnfix_access, .btnfix_contact {
		margin: 0 1px;
		display: block;
		background: rgba(18, 54, 107, 0.8);
		color: #FFF;
		padding: 3px 10px;
		margin: 0 2px;
	}

	.mobile_fix_menu a {
		display: table-cell;
		width: 33.3333%;
	}

	.btnfix_tel::before, .btnfix_access::before, .btnfix_contact::before {
		float: none;
		text-align: center;
		display: block;
		font-family: "Font Awesome 5 Free";
		font-size: 1.2em;
		font-weight: bold;
	}

	.btnfix_tel::before {
		content: '\f2a0';
	}

	.btnfix_access::before {
		content: '\f3c5';
	}

	.btnfix_contact::before {
		content: '\f0e0';
	}

	.btnfix_tel .text, .btnfix_access .text, .btnfix_contact .text {
		font-size: 12px !important;
		text-align: center;
	}

}

#header .header_box .parts_text_type05_box_02.left {

}

#header .header_link_box {
    display: flex;
    flex-direction: column;
    width: 40%;
    float: right;
}

#header a.header_access,
#header a.header_contact {
    text-decoration: none;
    padding: 5px 10px;
    font-weight: bold;
    color: #987e63;
    white-space: nowrap;
}

#header .header_access:before,
#header .header_contact:before {
	font-family: "Font Awesome 5 Free";
	padding-right: 5px;

}

#header .header_access:before {
    content: '\f3c5';
    font-weight:bold;
}
#header .header_contact:before {
    content: '\f0e0';

}

/***************************/
/* ブログ */
/***************************/

.column2  p.topicDate {
	color: #076ab6;
	font-size: 17px;
    font-weight: bold;
}

.column2 h2 {
    margin-bottom: 50px;
    margin-left: 0;
    margin-right: 0;
    
    background: #fff;
    border-top: 3px solid #076ab6;
    border-bottom: 3px solid #076ab6;
    color: #076ab6;
}

.column2 h2:after {
	content: "";
    position: absolute;
    bottom: -34px;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top-color: transparent;
    border-top-style: solid;
    border-top-width: 15px;
    border-top: 25px solid #fff;
    z-index: auto !important;
}

#contents .entryFooter ul {
    border: none;
    padding-top: 10px;
    padding-left: 0px;
    background-color: #f1ede8;
    background-image: repeating-linear-gradient(-45deg, #e2edf2, #e2edf2 7.5px, transparent 0, transparent 15px);
    padding-bottom: 10px;
    margin-bottom: 40px;
}

@media (max-width: 767px) {

	.column2 h2 {
		font-size: 20px;
	}

}

.parts_text_type14 {
    position: relative;
}

.parts_text_type14:after {
    content: ' ';
    display: block;
    height: 0;
    position: absolute;
    width: 0;
    border: 10px solid transparent;
    top: 100%;
    left: calc((100% - 76%) / 2);
    margin-left: -5px;
    border-top-color: rgba(254, 255, 218, 0.5);
}

.parts_text_type14 .parts_text_type14_head:after {
    display: none;
}

@media (max-width: 767px) { 

    .parts_text_type14:after {
        left: 50%;
    }
}


/***************************/
/* バナー */
/***************************/

.banner_s {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.banner_s img {
    margin: 20px;
	margin-bottom: 20px;
}

.banner_s img {
    width: auto;
    height: 59px;
}


@media (max-width: 767px) { 

	.banner_s img {
	    margin: 10px;
	}
}
