@charset "utf-8";

figure{
 display: block;
}

.gmap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.flexbox {
    display: flex;
}



/* CKEditor templates
----------------------------------------------- */
.temp1,
.temp2,
.temp3,
.temp4 {
  clear: both;
  margin-bottom: 20px;
}

.temp1 .thumb {
  float: left;
  margin-bottom: 10px;
  margin-right: 20px;
}

.temp1 ul,
.temp1 ol {
  display: inline-block;
  vertical-align: top;
}

.temp2 .thumb {
  float: right;
  margin-bottom: 10px;
  margin-left: 20px;
}

.temp3,
.temp4 {
  display: flex;
  justify-content: center;
}

.temp3 dl,
.temp4 dl {
  margin: 0 5px;
  padding: 0;
  vertical-align: bottom;
}

.temp3 dl {
  max-width: 48%;
}

.temp4 dl {
  max-width: 31%;
}

.temp3 dl dt,
.temp4 dl dt {
  margin-bottom: 10px;
  text-align: center;
}

.temp3 dl dd,
.temp4 dl dd {
  margin: 0;
  text-align: center;
}

table.temp5,
table.temp6 {
  margin-bottom: 30px;
}

.temp5 caption,
.temp6 caption {
  text-align: center;
}

.temp5 th,
.temp5 td,
.temp6 th,
.temp6 td {
  padding: 6px 10px;
  border: 1px solid #b3b3b3;
  text-align: center;
}

.adobeReader,
.temp7 {
  clear: both;
  margin: 0 0 20px;
  padding: 10px 20px 10px 196px;
  border: 1px solid #faa;
  background: #fff3f3 url("/_themes/images/adobe_bn.png") no-repeat 20px center;
}

.adobeReader p,
.temp7 p {
  margin: 0 0 10px;
}

.table_01 ol,
.table_01 ul,
.table_01 dl {
  margin-bottom: 16px;
  padding-left: 32px;
}
.table_01 ol li{
list-style-type: decimal;
}

#serviceAre p.yoyakubtn{
    font-size: 16px;
    font-weight: bold;
    line-height: 1.8;
    padding: 10px;
    margin: 0;
    font-weight: normal;
    font-weight: bold;
}
#serviceAre p.yoyakubtn a {
    padding: 10px 10px;
    display: block;
    text-decoration: none;
    color: #FFF;
    letter-spacing: 1px;
    border: 2px solid #FF9334;
    color: #FF9334;
}
#serviceAre p.yoyakubtn a:hover {
    background-color: #FF9334;
    color: #fff;

}


/*------------------------------------------------------
list
------------------------------------------------------*/
.contentGpCategoryDoc,
.contentGpCategoryCategory,
.contentGpCategoryCategoryType,
.categoryType,
.contentGpArticleDocs {
  position: relative;
}

.contentGpCategoryDoc li,
.contentGpCategoryCategory li,
.contentGpCategoryCategoryType li,
.categoryType li,
.contentGpArticleDocs li {
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  border-bottom: 1px dotted #003399;
}

.contentGpCategoryDoc li::after,
.contentGpCategoryCategory li::after,
.contentGpCategoryCategoryType li::after,
.categoryType li::after,
.contentGpArticleDocs li::after {
  content: "";
  clear: both;
  display: block;
}
.contentGpCategoryDoc li:last-child,
.contentGpCategoryCategory li:last-child,
.contentGpCategoryCategoryType li:last-child,
.categoryType li:last-child,
.contentGpArticleDocs li:last-child {
  margin: 0;
  padding: 0;
  border: none;
}

.contentGpCategoryDoc .image,
.contentGpCategoryCategory .image,
.contentGpCategoryCategoryType .image,
.categoryType .image,
.contentGpArticleDocs .image {
  display: block;
  float: left;
  /*--    height: 180px;  --*/
  margin: 10px 20px 10px 0;
  overflow: hidden;
  width: 270px;
}
.contentGpCategoryDoc .image img,
.contentGpCategoryCategory .image img,
.contentGpCategoryCategoryType .image img,
.categoryType .image img,
.contentGpArticleDocs .image img{
  width: 100%;
  height: auto;
} 

.contentGpCategoryDoc .image a,
.contentGpCategoryCategory .image a,
.contentGpCategoryCategoryType .image a,
.categoryType .image a,
.contentGpArticleDocs .image a {
  display: block;
}

.contentGpCategoryCategory .image img,
.contentGpCategoryCategoryType .image img,
.categoryType .image img,
.contentGpArticleDocs .image img {
  width: 100%;
}

.contentGpCategoryDoc .body,
.contentGpCategoryCategory .body,
.contentGpCategoryCategoryType .body,
.categoryType .body,
.contentGpArticleDocs .body {
  line-height: 1.8;
  margin: 0 0 5px;
}

.contentGpCategoryDoc .docs li .title_link,
.contentGpCategoryCategory .docs li .title_link,
.contentGpCategoryCategoryType .docs li .title_link,
.categoryType .docs li .title_link,
.contentGpArticleDocs .docs li .title_link {
    margin: 0 0 5px 0;
    font-size: 135%;
    display: block;
    font-weight: bold;
}


/* contentGpArticleDoc
----------------------------------------------- */
.contentGpArticleDoc .date {
  margin-bottom: 1em;
  text-align: right;
}

.contentGpArticleDoc .date p {
  display: inline-block;
}

.contentGpArticleDoc .date p.publishedAt {
  padding-right: 10px;
}

/* back
---------------------- */
.back {
  margin: 100px 0;
  text-align: center;
}
.back a {
  display: block;
  width: 200px;
  margin: 0px auto;
  padding: 10px 0px;
  border: 2px solid #0085B2;
  color: #0085B2;
  background-color: #fafafa;
  text-decoration: none;
}
/*--top--*/
#ulNews .content{
  padding: 0;
  margin: 0 0 20px 0;
}
#ulNews .content ul{
  padding:0;
}


.content .newslist li {
	line-height: 30px;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
	font-size: 16px;
	padding-right: 10px;
	padding-left: 10px;
}

.content .newslist li .category{
    display: inline-block;
    color: #fff;
    background-color: #009999;
    padding: 0 6px;
    font-size: 77%;
}


.content .newslist li .news_date {
	color: #999;
	padding-right: 20px;
}

.content .ul_news li .news_icon {
	color: #FFF;
	padding-left: 10px;
	display: inline-block;
	padding-right: 10px;
	background-color: #FF6600;
	margin-right: 10px;
	font-weight: bold;
	font-size: 14px;
}
#ulNews .more{
  text-align: right;
}


p.ybtn a,
#yoyakuArea p.yoyakubtn a {
	font-size: 24px;
	background-color: #0085B2;
	color: #fff;
	text-align: center;
	text-decoration: none;
	display: block;
	width: 410px;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 60px;
	margin-left: auto;
	line-height: 22px;
	padding: 20px  20px  20px  20px;
	clear: both;
	font-weight: bold;
	position: relative;
}
p.ybtn a:hover,
#yoyakuArea p.yoyakubtn a:hover {
  opacity: 0.6;
}

/*---------------------------------------
reservationCalendar 
----------------------*/

.reservationCalendar h2 {
  font-size: 1.5rem;
  text-align: center;
}

.reservationCalendar .column {
  display: flex;
  justify-content: space-between;
  gap: 40px 60px;
}

.reservationCalendar .column .calender-col {
  width: calc(50% - 30px);
}

.reservationCalendar .calender {
  width: 100%;
  text-align: center;
}

.reservationCalendar .calender th,
.reservationCalendar .calender td {
  border: 1px solid #d3d3d3;
}

.reservationCalendar .calender th {
  padding: 12px;
}

.reservationCalendar .calender .cellTableHead {
  margin: 0 0 1rem;
  border: 0;
  font-size: 1.25rem;
}

.reservationCalendar .calender a {
  display: block;
  width: 3.6rem;
  line-height: 1.6rem;
  margin: 0 auto;
  color: #000!important;
  text-decoration: none;
  padding: 12px;
 font-weight: bold;
  font-size: 1.125rem;
}

.reservationCalendar .calender a:hover {
   background-color: #0085B2;
   color: #fff !important;
}

.pagination{
  text-align: center;
  margin: 20px 0;
}

/* ------------
mailform
---------------------------------------------------------------------------------*/

form {
	width : auto;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	padding-top: 20px;
	padding-right: 0;
	padding-bottom: 20px;
	padding-left: 0;
}
form .question,
form .questions {
	width: 90%;
	max-width: none;
	overflow : hidden;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
}
#page-contact-formOnayami-index form .questions .question:nth-child(9) .question_content,
#page-contact-formOnayami-index form .questions .question:nth-child(8) .question_content{
       float: none;
       width: 100%;
       text-align: left;
}
#page-contact-formOnayami-index .content form .questions .body p,
#page-contact-formOnayami-index  .content form .questions .question:nth-child(9).body p{
    padding: 0;
    padding-left: 2%;
    margin: 0;
}




#page-contact-formOnayami-index form .questions .question:nth-child(9) .question_content{
       border: none;
}


#page-contact-formOnayami-index form .questions .question:nth-child(9) .answer_content,
#page-contact-formOnayami-index form .questions .question:nth-child(8) .answer_content {
       float: none;
       width: 100%;
       border: none;
}



form .questions  .question{
	width : auto;
	max-width: none;
	overflow : hidden;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
}



.question_content {
	clear : both;
	width : 30%;
	float : left;
	border-top : 1px solid #cccccc;
	overflow : hidden;
	padding-top: 15px;
	padding-right: 2%;
	padding-bottom: 15px;
	padding-left: 2%;
	line-height: 1.8;
	font-weight: bold;
}
#page-contact-formYoyaku-index form .questions .question:nth-child(10) ,
#page-contact-formYoyaku-index form .questions .question:nth-child(9) ,
#page-contact-formYoyaku-index form .questions .question:nth-child(8) {
    display: inline;
    float: left;
    padding-bottom: 0;
    border: none;
    margin: 0 10px;
    width: 15%;
}

#page-contact-formYoyaku-index form .questions .question:nth-child(10)  .note,
#page-contact-formYoyaku-index form .questions .question:nth-child(9)  .note{
    display: none;
}

#page-contact-formYoyaku-index form .questions .question:nth-child(11) {
    display: block;
    float: none;
    clear: both;
    border-top: 1px solid #cccccc;
}
#page-contact-formYoyaku-index form .questions .question:nth-child(11) .question_content{
    border: none;
}
#page-contact-formYoyaku-index form .questions .question:nth-child(12) .answer_content{
    padding-right: 2%;
    padding-left: 2%;
}

#page-contact-formYoyaku-index  form .questions .question:nth-child(11) .body{
  display: block;
  clear:both;
}

#page-contact-formYoyaku-index  form .questions .question:nth-child(11)  .answer_content{
    width: 100%;
    float: none;
    border: none;
}


#page-contact-formYoyaku-index .content form .questions .question:nth-child(11) .body p{
    padding: 10px;
    margin-bottom: 0;
    margin-top: 10px;
    padding-left: 2%;
    padding-right: 2%;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 0;
}


#page-contact-formYoyaku-index form .questions .question:nth-child(7) {
	border-bottom : 1px solid #cccccc;
}

#page-contact-formYoyaku-index form .questions .question:nth-child(10) .question_content label,
#page-contact-formYoyaku-index form .questions .question:nth-child(9) .question_content label,
#page-contact-formYoyaku-index form .questions .question:nth-child(8) .question_content label {
    display: block;
    text-align: center;
    padding-left: 0;
}
#page-contact-formYoyaku-index form .questions .question:nth-child(10)  .question_content,
#page-contact-formYoyaku-index form .questions .question:nth-child(9)  .question_content,
#page-contact-formYoyaku-index form .questions .question:nth-child(8)  .question_content{
   width: 100%;
  border: none;
}
#page-contact-formYoyaku-index form .questions .question:nth-child(10)  .answer_content,
#page-contact-formYoyaku-index form .questions .question:nth-child(9)  .answer_content,
#page-contact-formYoyaku-index form .questions .question:nth-child(8)  .answer_content {
   float: none;
   width: 100%;
  border: none;
}

.surveyForm form .questions .question:nth-child(10)  .answer_content select,
.surveyForm form .questions .question:nth-child(9)  .answer_content select,
.surveyForm form .questions .question:nth-child(8)  .answer_content select{
  width:97%;
}

.surveyForm form .questions .question .answer_content select {
    padding-left: 0.78125vw;
    font-size: 24px;
    background-color: white;
    border: 1px solid #bebebe;
}




.surveyForm form .questions .question .answer_content input,
.surveyForm form .questions .question .answer_content textarea {
    font-size: 18px;
    width: 80%;
    background-color: white;
    border: 1px solid #bebebe;
}

.field input,
.surveyForm form .questions .question .answer_content input {
        height: 32px;
        padding: 2px;
}

.surveyForm form .questions .question .answer_content input[type="radio"], .surveyForm form .questions .question .answer_content input[type="checkbox"] {
    width: 24px;
    height: 24px;
   vertical-align: middle;
}

.surveyForm form .questions .question .question_content.radio_button + .answer_content label, .surveyForm form .questions .question .question_content.check_box + .answer_content label {
    font-size: 20px;
}

#page-contact-formOnayami-index form .questions .question:nth-child(10) .body,
.answer_content{
	width : 62%;
	float : right;
	border-top : 1px solid #cccccc;
	padding-top: 15px;
	padding-right: 2%;
	padding-bottom: 15px;
	padding-left: 2%;
}

#rightArea #blogNews ul,
#rightArea #relationWord ul,
#rightArea #blogArcive ul,
#rightArea #categoryList ul,
#rightArea #blogSearch form {
      padding: 0 0 20px 0;
}

#blogSearch form .keyword #criteria_keyword{
	width : 115%;
	border-top : 1px solid #cccccc;
	padding: 5.5px 5px;
	font-size: 18px;
	margin: 0 10px 0 0;
}

#blogSearch form .submitters input{
	font-size: 18px;
       width: 80px;
	padding: 3px 5px;
	vertical-align : middle;
	border-radius : 3px;
	font-family : inherit;
	line-height: 26px;
	color: #FFF;
	background-color: #FF9334;
	box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 1px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 1px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 1px 0px;
	border: 1px solid #FFF;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	color: #000;
}

#blogSearch form .submitters input:hover{
	cursor : pointer;
	background-color: #ad601d;
	color: #fff;
}


form .keyword label{
        display: none;
}

.note{
    clear: both;
    display: block;
    float: inline-end;
    width: 60px;
    font-size: 12px;
    font-weight: bold;
    color: #ffffff;
    padding: 3px 5px;
    border-radius: 3px;
    text-align: center;
}
.note{
	background-color: #DD3C3C;
}






form input{
	border : 1px solid #cccccc;
	border-radius : 3px;
	background : #fafafa;
}
form textarea{
	width : 320px;
	height : 200px;
	resize : vertical;
	border : 1px solid #cccccc;
	border-radius : 3px;
	background : #fafafa;
}
form input:focus,
form textarea:focus{
	box-shadow : 0px 0px 5px #55ccff;
	border : 1px solid #55ccff;
	background : #ffffff;
}
form .submit{
        width: 160px;
        margin: 0 auto;
}

form .submit input{
	width : auto;
	height : auto;
	vertical-align : middle;
	border-radius : 3px;
	font-family : inherit;
	padding-top: 10px;
	padding-right: 35px;
	padding-bottom: 10px;
	padding-left: 35px;
	font-size: 18px;
	line-height: 26px;
	color: #FFF;
	background-color: #FF9334;
	box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 1px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 1px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 1px 0px;
	border: 1px solid #FFF;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
form .submit input:hover{
	cursor : pointer;
	background-color: #ad601d;
	color: #fff;
}

.captchaForm .reload,
.captchaForm .talk {
  display: inline-block;
  border: 1px solid #aaa;
}

.captchaForm .image{
    margin-bottom: 20px;
}
.reload a,
.talk a{
display: block;
text-decoration: none;
  padding: 5px 10px;
}
.field {
  margin-top: 15px;
}

/* error */
#errorExplanation{
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #ee0000;
}
#errorExplanation h2 {
  padding: 7px 0 4px 15px;
  border-radius: 4px;
  background-color: #fff;
  color: #ee0000;
}
#errorExplanation p {
  margin-left: 15px;
}
#errorExplanation ul {
  list-style-type: disc;
  margin-left: 30px;
}
#errorExplanation li {
  color: #ee0000;
  font-weight: bold;
  font-size: 140%;
}
fieldset {
    display: block;
    min-inline-size: min-content;
    margin-inline: 0;
    border: none;
    padding-block: inherit;
    padding-inline:inherit;
}
.pickup ul {
 padding: 0;
}


@media screen and (max-width: 959px) {
  .reservationCalendar .column {
    flex-wrap: wrap;
  }

  .reservationCalendar .column .calender-col {
    width: 100%;
  }
}


/* calendar
----------------------------------------------- */
.day.sat,
.sat {
  background-color: #dff6fe;
  color: #1565c0;
}

.day.sun,
.sun,
.day.holiday,
.holiday,
.close {
  background-color: #ffe6f1;
  color: #d90000;
}

.prevMonth,
.nextMonth {
  color: #ccc;
}


/* =========================================================
  reservation
========================================================= */

.reservationDate h2 {
  margin: 1.5rem 0 1rem;
  font-size: 1.5rem;
}

.reservationDate .message {
  margin-bottom: 0.5rem;
  text-align: center;
}

.reservationDate .message p{
  padding: 0;
  margin: 0 0 0 0;
  font-size: 140%;
  font-weight: bold;
}


.reservationDate .information {
  text-align: right;
}

.reservationDate .reservations {
  margin: 10px 0 40px;
}

.reservationDate .dateTable {
  width: 100%;
  text-align: center;
  margin: 0 0 20px 0;
}

.reservationDate .dateTable tr:nth-child(odd) {
  background-color: #f5f5f5;
}

.reservationDate .dateTable tr:first-child {
  background-color: #e3f2fd;
}

.reservationDate .dateTable th,
.reservationDate .dateTable td {
  padding: 12px;
  border: 1px solid #d3d3d3;
}

.reservationDate .dateTable tr th:first-child {
   width: 20%;
   text-align: center;
}

.cellTableHead{
    background-color: #0085B2;
    color: #fff;
}
.reservationDate .dateTable th {
    color: #fff;
    background-color: #0085B2;
    border: 1px solid #fff;
}

.reservationDate .dateTable th.place {
  text-align: left;
}





@media screen and (max-width: 959px) {
  .reservationCalendar .column {
    flex-wrap: wrap;
  }

  .reservationCalendar .column .calender-col {
    width: 100%;
  }
}



@media only screen and (max-width: 959px) {
  .temp1 .thumb,
  .temp2 .thumb {
    float: none;
    margin: 0 0 1rem;
    text-align: center;
  }

  .temp3,
  .temp4 {
    flex-wrap: wrap;
  }

  .temp3 dl,
  .temp4 dl {
    max-width: 100%;
  }

  .adobeReader,
  .temp7 {
    padding: 55px 20px 10px;
    background-position: center 10px;
  }
}

/* clearfix
----------------------------------------------- */
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

.feed,
.tabs{
  display: none;
}

html {
  height: 100%;
}

body {
	color: #111;
	background-color: #FFFFFF;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	word-wrap: break-word;
	height: 100%;
}

.font_mincho {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.font_garamond {
	font-family: 'Cormorant Garamond', serif;
}
.font_raleway {
	font-family: 'Raleway', sans-serif;
}

section,
article {
	display: block;
}

img {
	vertical-align: top;
}

a img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

li {
	list-style-type: none;
}

a {
	color: #0066CC;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
a:hover {
	color: #0099CC;
	text-decoration: none;
}

table {
	border-collapse: collapse;
}
table td {
	border-collapse: collapse;
}

.clfix:after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}

/*
ヘッダー
-------------------------------------------*/
header {
	width: 100%;
	background-color: #FFF;
	position: fixed;
	z-index: 300;
}

header .h1 a img,
header h1 a img {
	display: block;
	position: absolute;
}

header .h_btn a {
	display: block;
	text-align: center;
	position: absolute;
	text-decoration: none;
	color: #FFF;
	letter-spacing: 1px;
	border: 5px solid #EEE;
	background-color: #0085B2;
}
header .h_btn a:hover {
	color: #0085B2;
	background-color: #FFF;
	border: 5px solid #0085B2;
}
header .h_tel a {
	display: block;
	text-align: center;
	position: absolute;
	text-decoration: none;
	color: #036;
	font-size: 20px;
	width: auto;
	font-weight: bold;
	letter-spacing: 1px;
}

header .h_tel a strong {
	font-size: 130%;
}

header .h_btn a i,
header .h_tel a i {
	padding-left: 5px;
	padding-right: 5px;
}
#g_navi ul li a.ac_menu {
	cursor: pointer;
	overflow: hidden;
}

.pankuzu {
	background-color: #F6F6F6;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 30px;
	color: #555;
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #E5E5E5;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #FFF;
}





/* breadCrumbs
---------------------- */

.pankuzu #breadCrumbs{
    max-width: 1200px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

#breadCrumbs::after {
  content: "";
  clear: both;
  display: block;
}

.pankuzu #breadCrumbs {
  margin-top: 5px;
  margin-bottom: 5px;
}

.pankuzu #breadCrumbs ol,
.pankuzu #breadCrumbs li {
  list-style: none;
}

.pankuzu #breadCrumbs li {
  display: inline-block;
  font-size: 110%;
}

.pankuzu #breadCrumbs li:not(:first-child)::before {
  content: ">";
  margin: 0 5px;
}

/*
メインコンテンツ
-------------------------------------------*/
.content {
	width: 100%;
	background-color: #FFF;
	padding-top: 50px;
	padding-bottom: 50px;
}

#use,
.cont_wrap {
	max-width: 1200px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

#top_slide {
	padding-top: 100px;
	background-color: #000;
	padding-bottom: 5px;
}

#sub_top {
	background-color: #EEE;
	background-repeat: no-repeat;
	background-position: center center;
	height: 150px;
	line-height: 30px;
	padding-top: 270px;
	width: 100%;
	background-size: cover;
	text-align: center;
	font-family: 'Raleway', sans-serif;
	color: #FFF;
	font-size: 20px;
	letter-spacing: 1em;
	-moz-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	-webkit-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	-ms-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
}

.content h1 {
	font-size: 36px;
	line-height: 30px;
	margin-bottom: 40px;
	border-bottom-width: 5px;
	border-bottom-style: solid;
	border-bottom-color: #0085B2;
	letter-spacing: 1px;
	color: #036;
	text-align: center;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
	padding-top: 0;
	padding-right: 10px;
	padding-bottom: 60px;
	padding-left: 10px;
	clear: both;
}

.content h1 span {
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	font-size: 50%;
	font-weight: normal;
}

.content h2 {
	font-size: 22px;
	line-height: 30px;
	margin-bottom: 30px;
	background-color: #F6F6F6;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	position: relative;
	margin-top: 30px;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 44px;
	color: #111;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
	clear: both;
}

.content h2::after {
	display: block;
	width: 3px;
	height: 20px;
	position: absolute;
	top: 20px;
	left: 20px;
	background-color: #0085B2;
	content: '';
}

.content h2 span {
	font-size: 16px;
	color: #888;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	padding-left: 15px;
}
.content h3 {
	font-size: 20px;
	color: #0085B2;
	letter-spacing: 0.1em;
	padding: 10px;
	font-weight: bold;
	clear: both;
	margin-top: 20px;
	margin-right: 30px;
	margin-bottom: 20px;
	margin-left: 30px;
}

.content p {
	font-size: 16px;
	line-height: 1.8;
	margin-top: 0;
	margin-bottom: 30px;
}

.content .ul_news li {
	line-height: 30px;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
	font-size: 16px;
	padding-right: 10px;
	padding-left: 10px;
}
.content .ul_news li span.news_date {
	color: #999;
	padding-right: 20px;
}

.content .ul_news li span.news_icon {
	color: #FFF;
	padding-left: 10px;
	display: inline-block;
	padding-right: 10px;
	background-color: #FF6600;
	margin-right: 10px;
	font-weight: bold;
	font-size: 14px;
}

.content .ul_news li span.news_icon.cl_02 {
	background-color: #009999;
}

.img_center {
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 20px;
}

.img_left {
	float: left;
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 20px;
}
.img_right {
	float: right;
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 20px;
}

.content .img_left p {
	font-size: 12px;
	margin: 0px;
}



/*
お問い合わせ部分
-------------------------------------------*/

.box_contact {
	background-color: #E9EEEF;
	padding-top: 70px;
	padding-bottom: 50px;
	text-align: center;
	padding-right: 10px;
	padding-left: 10px;
	background-image: url(../img/sankaku.png);
	background-repeat: no-repeat;
	background-position: center top;
}

.box_contact.only_tel {
	background-image: none;
}

.box_contact h3 {
	color: #006384;
}

.box_contact p {
	margin-top: 10px;
	margin-bottom: 20px;
}

.box_contact .btn a {
	font-size: 20px;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	border: 5px solid #0085B2;
	text-decoration: none;
	display: block;
	width: 90%;
	background-color: #0085B2;
	margin-right: auto;
	margin-left: auto;
	line-height: 30px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	padding-top: 15px;
	padding-bottom: 15px;
	position: relative;
	max-width: 500px;
}
.box_contact .btn a i {
	padding-right: 10px;
	font-size: 120%;
}
.box_contact .btn a:hover {
	color: #0085B2;
	background-color: #FFF;
	border-top-color: #0085B2;
	border-right-color: #0085B2;
	border-bottom-color: #0085B2;
	border-left-color: #0085B2;
}

.box_contact .tel a {
	font-size: 30px;
	font-weight: bold;
	color: #0085B2;
	text-decoration: none;
}
.box_contact .tel a strong {
	font-size: 150%;
}
.box_contact .tel a i {
	padding-right: 10px;
	font-size: 120%;
}


#serviceAre .clm.flexbox{
justify-content: space-between;
}

#serviceAre .clm.flexbox figure{
    width: 34%;
}
#serviceAre .clm.flexbox .txt{
    width: 64%;
}
#serviceAre .clm.flexbox figure img{
    width: 100%;
}

#serviceAre .clm.flexbox .txt ul {
  margin-bottom: 16px;
  padding-left: 32px;
}

#serviceAre .clm.flexbox .txt ul li{
list-style-type: disc;
font-weight: bold;
color:#0085B2;
line-height:2;
}

#serviceAre .clm.flexbox .txt dl{
 padding: 20px;
 border: 1px solid #dedede;
 background-color: #f6f6f6;
margin: 0 0 20px 0;
}

#serviceAre .clm.flexbox .txt dt{
font-weight: bold;
color:#0085B2;
font-size:18px;
margin: 0 0 15px 0;
}
#serviceAre .clm.flexbox .txt dd{
margin: 0 0 10px 20px;
}
#serviceAre .clm.flexbox .txt dd:last-child{
margin: 0 0 0 20px;
}

.flexbox figure{
  margin: 0 30px 0 0;
}





@media screen and (min-width:960px){
	
.box_contact .box_in {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
	padding-bottom: 20px;
}
.box_contact .btn {
	float: left;
	width: 50%;
}

.box_contact .tel {
	float: right;
	width: 50%;
}

.box_contact.only_tel .tel {
	float: none;
	width: 100%;
}

}

@media screen and (max-width:480px){
.box_contact .btn a {
	font-size: 18px;
}
.box_contact .tel a {
	font-size: 24px;
}

}

/*-----トップへ戻るボタン------*/

.to_top {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 200;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
.to_top a {
	text-decoration: none;
	color: #FFF;
	text-align: center;
	display: block;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	font-size: 10px;
	background-color: #0085B2;
	padding: 20px;
	height: 30px;
	width: 30px;
}
.to_top a:hover {

}

/*
フッター
-------------------------------------------*/

footer {
	background-color: #007095;
	color: #FFF;
	clear: both;
	width: 100%;
	display: block;
}

footer ul.f_bn {
	text-align: center;
	display: block;
	padding-top: 20px;
	padding-bottom: 20px;
	background-color: #006384;
}
footer .f_bn li {
	display: inline;
}
footer .f_bn li a {
	display: inline-block;
	font-size: 14px;
	letter-spacing: 1px;
	padding: 10px;
	text-decoration: none;
	color: #FFF;
	margin-left: 10px;
	font-weight: bold;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	margin-right: 10px;
}

footer .f_bn li a:hover {
	background-color: #0085B2;
}

footer .f_bn li a i {
	padding-right: 5px;
	font-size: 200%;
}


footer ul.f_list {
	display: block;
	width: 29.3%;
	float: left;
	padding-bottom: 20px;
	padding-top: 20px;
}

footer ul.f_list li a {
	text-decoration: none;
	color: #FFF;
	display: block;
	padding: 2px;
}

footer ul.f_list li li a {
	padding-left: 25px;
	position: relative;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	font-size: 14px;
}

footer ul.f_list li li a:hover {
	background-color: #0085B2;
}

footer ul.f_list li li a::before {
	content:"・";
	position: absolute;
	top: 5px;
	left: 5px;
}


address {
	font-size: 10px;
	font-style: normal;
	padding-top: 20px;
	padding-bottom: 20px;
	letter-spacing: 1px;
	text-align: center;
	display: block;
	clear: both;
	background-color: #006384;
}

footer .box_pr {
	clear: both;
	width: 100%;
	display: block;
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
	font-size: 10px;
	color: #FFF;
	background-color: #006384;
	border-top-width: 1px;
	border-top-style: dotted;
	border-top-color: #0085B2;
}

.box_pr ul li {
	display: inline;
	padding: 5px;
}

.box_pr ul li a {
	color: #FFF;
}

/*
各種テーブル
-------------------------------------------*/
.content table.table_01 {
	width: 100%;
	margin-top: 20px;
	margin-bottom: 30px;
}
.content table.table_01 th,
.content table.table_01 td {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
	padding: 20px;
}
.content table.table_01 th {
	font-size: 16px;
	white-space: nowrap;
	font-weight: normal;
	letter-spacing: 1px;
	width: 33%;
}
.content table.table_01 td {
	font-size: 14px;
	line-height: 30px;
	background-color: #FFF;
}

.content table.table_02 {
	width: 100%;
	margin-top: 20px;
	margin-bottom: 30px;
	max-width: 820px;
}
.content table.table_02 th,
.content table.table_02 td {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #888;
	padding: 20px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-left-width: 1px;
	border-top-style: dotted;
	border-right-style: dotted;
	border-left-style: dotted;
	border-top-color: #BBB;
	border-right-color: #BBB;
	border-left-color: #BBB;
}
.content table.table_02 th {
	font-size: 18px;
	white-space: nowrap;
	letter-spacing: 1px;
	background-color: #F6F6F6;
	color: #006384;
}
.content table.table_02 td {
	font-size: 16px;
	line-height: 30px;
	background-color: #FFF;
}


.content table.table_02 .tr_gr th {
	background-color: #EEE;
}
.content table.table_02 .tr_gr td {
	background-color: #F9F9F9;
}

.content table.table_02 td .price {
	font-size: 150%;
	white-space: nowrap;
	color: #006384;
	font-weight: bold;
	padding-right: 5px;
	padding-left: 5px;
}


.small {
	font-size: 80%;
	color: #666;
}
.chui {
	color: #F03600;
}


.table_01 th span {
	font-size: 12px;
	color: #CCC;
}


/*
FAQ
-------------------------------------------*/

.content dl.faq {
	margin-bottom: 30px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
}
.content dl.faq dt {
	font-size: 22px;
	line-height: 30px;
	position: relative;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 50px;
	background-color: #F6F6F6;
	color: #111;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
.content dl.faq dt span {
	font-size: 20px;
	font-weight: bold;
	color: #FFF;
	background-color: #0085B2;
	text-align: center;
	display: block;
	width: 50px;
	padding-top: 10px;
	height: 40px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	position: absolute;
	top: -20px;
	left: -10px;
	z-index: 10;
}
.content dl.faq dt span::before{
	content: "";
	position: absolute;
	bottom: -5px;
	right: -3px;
 	margin-left: -12px;
  border-right: 12px solid transparent;
  border-top: 20px solid #0085B2;
  border-left: 12px solid transparent;
 	z-index: 0;
	transform: rotate(-40deg);
}
.content dl.faq dd {
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 20px;
}

/*
グーグルマップ
-------------------------------------------*/

.g_map_base {
	background-color: #FFF;
	padding-right: 20px;
	padding-bottom: 20px;
	padding-left: 20px;
}

.g_map {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.g_map iframe,
.g_map object,
.g_map embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*
実績一覧
-------------------------------------------*/
ul.works_list {
	display: block;
	margin-left: auto;
	margin-right: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	max-width: 1400px;
	padding: 30px;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

ul.works_list li {
	width: 20%;
	position: relative;
	text-align: center;
	margin-bottom: 30px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

ul.works_list li .works_icon {
	position: absolute;
	top: 5px;
	left: 5px;
	font-weight: bold;
	padding-left: 10px;
	padding-right: 10px;
	color: #FFF;
	background-color: #099;
	z-index: 50;
}

ul.works_list li a {
	display: block;
	padding: 20px;
	background-color: #FFF;
	text-decoration: none;
	color: #333;
}
ul.works_list li a img {
	width: auto;
	width: 100%;
	height: 150px;;
	object-fit: cover;
}
ul.works_list li a:hover img {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	-webkit-filter:brightness(1.5);
    -moz-filter:brightness(1.5);
    -ms-filter:brightness(1.5);
    filter:brightness(1.5);
}

ul.works_list li a span {
	display: block;
	padding-top: 10px;
	font-size: 14px;
	letter-spacing: 1px;
}

ul.works_list li a:hover {
	color: #000;
	background-color: #F6F6F6;
}


/*
スライダー
-------------------------------------------*/
.sp-thumbnail-container img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	object-fit: cover;
}
.sp-thumbnail-container:hover img,
.sp-thumbnail-container.sp-selected-thumbnail img {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	cursor: pointer;
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
}
#top_slide .top_catch {
	font-size: 6vw;
	line-height: 1;
	width: 100%;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	position: absolute;
	top: 38%;
	letter-spacing: 0.1em;
	-moz-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	-webkit-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	-ms-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
}
#top_slide .top_catch span {
	font-size: 25%;
}

#top_slide .slide_btn a {
	display: block;
	position: absolute;
	left: 50%;
	bottom: 20%;
	font-size: 18px;
	color: #FFF;
	width: 300px;
	margin-left: -150px;
	text-align: center;
	font-weight: bold;
	text-decoration: none;
	border: 2px solid #FFF;
	line-height: 40px;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
#top_slide .slide_btn a:hover {
	background-color: #FFF;
	color: #111;
}



/*
トップピックアップバナー
-------------------------------------------*/

.pickup {
	background-color: #012;
	padding-top: 30px;
	padding-bottom: 30px;
}

.pickup ul {
	display: block;
	margin-left: auto;
	margin-right: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	max-width: 1400px;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.pickup ul li {
	width: 33%;
	max-height: 220px;
	position: relative;
}
.pickup ul li a .pu_icon {
	position: absolute;
	top: -5px;
	left: -5px;
	background-color: #0085B2;
	color: #FFF;
	padding-left: 10px;
	padding-right: 10px;
	font-weight: bold;
}
.pickup ul li a div {
	position: absolute;
	top: 50%;
  left: 50%;
  width: 100%;
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
	height: auto;
	color: #FFF;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	font-size: 14px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px;
}
.pickup ul li a div .pu_title {
	display: block;
	font-size: 150%;
	font-weight: bold;
	margin-bottom: 10px;
}

.pickup ul li a img {
	-webkit-filter:brightness(0.5);
    -moz-filter:brightness(0.5);
    -ms-filter:brightness(0.5);
    filter:brightness(0.5)
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pickup ul li a:hover img {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	-webkit-filter:brightness(1.5);
    -moz-filter:brightness(1.5);
    -ms-filter:brightness(1.5);
    filter:brightness(1.5);
}

@media screen and (min-width:960px){
body {
	font-size: 16px;
}
.sm-slider, .sm-slider::after {
	top: 100px !important;
}
/*
ヘッダー
-------------------------------------------*/
header {
	height: 140px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
	position: fixed;
	transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}

header .h1 a img,
header h1 a img {
	top: 20px;
	left: 10px;
}

header .h_btn a {
	width: 160px;
	top: 15px;
	right: 10px;
	line-height: 38px;
	padding-top: 2px;
	font-size: 14px;
	font-weight: bold;
}
header .h_tel a {
	top: 20px;
	right: 190px;
	line-height: 38px;
	padding-top: 4px;
}

header.fixed {
	height: 100px;
}

header.fixed .h1 a img,
header.fixed h1 a img {
	height: 40px;
	top:5px;
}
header.fixed .h_btn a,
header.fixed .h_tel a {
	top: 5px;
}


.menu_btn,
.btn_close {
	display: none;
}

/*
PCグローバルナビ
-------------------------------------------*/
#g_navi {
	width: 98%;
	padding-left: 2%;
	display: block !important;
	height: 50px;
	position: absolute;
	z-index: 1000;
	left: 0px !important;
	bottom: 0px;
	font-size: 14px;
	letter-spacing: 1px;
	font-weight: bold;
}

#g_navi ul.navi_base {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: block;
}

#g_navi ul li{
	display: inline;
}

#g_navi li a {
	width: 16%;
	padding-top: 15px;
	height: 35px;
	display: block;
	color: #036;
	text-decoration: none;
	text-align: center;
	line-height: 20px;
	position: relative;
	float: left;
}

#g_navi li a::before {
	display: block;
	height: 2px;
	position: absolute;
	top: 2px;
	width: 70%;
	left: 15%;
	background-color: #FFF;
	content: '';
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

#g_navi li a:hover::before {
	background-color: #0085B2;
	top:0px;
}

#g_navi li a:hover,
#g_navi li a.active,
#g_navi ul li:hover > a {
	color: #0085B2;
}

#g_navi ul li:hover > a.ac_menu,
#g_navi li a.ac_menu:hover {
	position: relative;
}

#g_navi li a.ac_menu::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
 	margin-left: -15px;
  border-right: 15px solid transparent;
  border-bottom: 20px solid #FFF;
  border-left: 15px solid transparent;
 	z-index: 300;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

#g_navi ul li:hover > a.ac_menu::after,
#g_navi li a.ac_menu:hover::after {
  border-bottom: 20px solid #001533;
}

#g_navi ul li div {
	position: absolute;
	z-index: 2000;
	top: 50px;
	left: 0px;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	width: 100%;
	height: auto;
	background-color: #001533;
}
#g_navi ul li ul{
  width: 96%;
  padding-left: 2%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

#g_navi li ul li a {
	width: 29%;
	padding-left: 3%;
	padding-top: 9px;
	padding-bottom: 9px;
	line-height: 22px;
	height: auto;
	color: #FFF;
	text-align: left;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 1%;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#g_navi li ul li a::after {
	content: "+";
	color: #FFF;
	position: absolute;
	display: block;
	left: 15px;
	top: 8px;
	font-size: 9px;
}
#g_navi li ul li a:hover::after {
	color: #036;
}
#g_navi ul li ul li a:hover{
	color: #036;
	background-color: #FFF;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
}
#g_navi li li a::before {
	display: none;
}

#g_navi ul li:hover div{
  visibility: visible;
  opacity: 1;
}

#g_navi div.ac_list {
	display: block !important;
}


header.fixed #g_navi {
	height: 40px;
}

header.fixed #g_navi ul li div {
	top: 40px;
}

header.fixed #g_navi li a {
	padding-top: 10px;
	height: 30px;
}

header.fixed #g_navi li ul li a {
	padding-top: 9px;
	height: 22px;
}

/*
サブトップ
-------------------------------------------*/
#sub_top.corpInfoArea{
	background-image: url(/_themes/base/img/topv_corpinfo.jpg);
}
#sub_top.serviceArea{
	background-image: url(/_themes/base/img/topv_service.jpg);
}
#sub_top.resultArea{
	background-image: url(/_themes/base/img/topv_case.jpg);
}
#sub_top.voiceAera{
	background-image: url(/_themes/base/img/topv_voice.jpg);
}
#sub_top.faqArea{
	background-image: url(/_themes/base/img/topv_faq.jpg);
}

#sub_top.newsArea,
#sub_top.newsArea{
	background-image: url(/_themes/base/img/topv_news.jpg);
}

#sub_top.contactArea{
	background-image: url(/_themes/base/img/topv_news.jpg);
}

#sub_top.contactArea{
	background-image: url(/_themes/base/img/topv_contact.jpg);
}
#sub_top.reserveAera{
	background-image: url(/_themes/base/img/topv_reserve.jpg);
}

.no_pc {
	display: none;
}

}
/*(/960～)*/


@media screen and (min-width:1200px){
header .h_btn a {
	right: 50%;
	margin-right: -600px;
}
header .h_tel a {
	right: 50%;
	margin-right: -400px;
}
header .h1 a img,
header h1 a img {
	left:50%;
	margin-left: -600px;
}

}
/*(/1200～)*/

@media screen and (max-width:960px){

body {
	font-size: 16px;
}

img {
	max-width: 100% !important;
	height: auto;
	width /***/:auto;
	margin-left:auto;
	margin-right:auto;
}

.content h4 {
	margin-right: 10px;
	margin-left: 10px;
}

ul.works_list li {
	width: 33.3%;
}

#top_slide {
	padding-top: 50px;
}

#sub_top {
	height: 100px;
	padding-top: 120px;
	letter-spacing: 0.5em;
	font-size: 18px;
}

/*
メニューボタン
-------------------------------------------*/

.menu_btn {
	display: block;
	height: 30px;
	width: 40px;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
	position: fixed;
	z-index: 5000;
	top: 5px;
	right: 5px;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
.menu_btn:hover {
	cursor: pointer;
}

.menu_btn span {
	width: 28px;
	height: 2px;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -14px;
	background-color: #555;
}
.menu_btn span {
    transition: all 0.3s;
    transform: rotate(0deg);
	-webkit-transform: rotate(0deg);  
    -moz-transform: rotate(0deg);    
  }
.menu_btn span.top {
    transform: translateY(-8px);
	-webkit-transform: translateY(-8px);  
    -moz-transform: translateY(-8px);    
  }
.menu_btn span.bottom {
    transform: translateY(8px);
	-webkit-transform: translateY(8px);  
    -moz-transform: translateY(8px);    
}


.menu_btn:hover span.top {
    transform: translateY(-10px);
	-webkit-transform: translateY(-10px);  
    -moz-transform: translateY(-10px);    
}
.menu_btn:hover span.bottom {
    transform: translateY(10px);
	-webkit-transform: translateY(10px);  
    -moz-transform: translateY(10px);    
}


.menu_btn.opened  span.middle {
    background: rgba(255, 255, 255, 0);
	 transform: translateX(30px);
	 -webkit-transform: translateX(30px);  
    -moz-transform: translateX(30px);    
}
.menu_btn.opened  span.top {
    transform: rotate(-45deg) translateY(0px);
	-webkit-transform: rotate(-45deg) translateY(0px);  
    -moz-transform: rotate(-45deg) translateY(0px);    
}
.menu_btn.opened  span.bottom {
    transform: rotate(45deg) translateY(0px);
	-webkit-transform: rotate(45deg) translateY(0px);  
    -moz-transform: rotate(45deg) translateY(0px);    
}

/*
グローバルナビ
-------------------------------------------*/
#g_navi {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	display: none;
	padding-top: 50px;
	overflow: auto;
	z-index: 3000;
	background-color: #FFF;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	font-size: 14px;
	letter-spacing: 1px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#g_navi ul {
	display: block;
	margin: 0px;
	padding: 0px;
	clear: both;
}

#g_navi ul li:first-child {
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #EEE;
}

#g_navi ul li {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #EEE;
}

#g_navi ul li a {
	color: #111;
	text-decoration: none;
	display: block;
	padding-top: 16px;
	padding-right: 30px;
	padding-bottom: 14px;
	padding-left: 20px;
	line-height: 22px;
	vertical-align: middle;
}
#g_navi ul li a:hover {
	color: #999;
}

body.fixed {
	overflow: hidden;
}

/*
アコーディオン
--------------------------------------------------*/


#g_navi ul li a.ac_menu {
	position: relative;
	background-image: none;
}
#g_navi ul li a.ac_menu::after {
	font-size: 11px;
	display: block;
	height: 20px;
	width: 20px;
	content: "▼";
	text-align: center;
	line-height: 20px;
	position: absolute;
	top: 16px;
	right: 10px;
	color: #555;
}
#g_navi ul li a.ac_menu.active {
	color: #999;
}
#g_navi ul li a.ac_menu.active::after {
	content: "▲";
}
#g_navi div.ac_list {
	display: none;
}
#g_navi ul li ul li {
	border-bottom: none;
}
#g_navi ul li li:first-child {
	border-top: none;
}
#g_navi ul li ul li a {
	border-bottom: none;
}
#g_navi ul li ul li a::before {
	content: "・";
	padding-right: 5px;
	color: #999;
}

#g_navi ul li ul li a:hover {
	color: #999;
}

/*
メニューシャドウ
-------------------------------------------*/
.bg_bl {
	background-color: #FFF;
	height: 100%;
	width: 100%;
	opacity: 0.80;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	display: block;
	position: fixed;
	z-index: 2000;
}


/*
ヘッダー
-------------------------------------------*/
.sm-slider, .sm-slider::after {
	top: 50px !important;
}

header {
	height: 52px;
}

header .h1 a img,
header h1 a img {
	top: 5px;
	left:5px;
	height: 40px;
}

header .h_btn a {
	width: 120px;
	top: 5px;
	right: 55px;
	line-height: 29px;
	padding-top: 1px;
	font-size: 12px;
}
header .h_tel a {
	top: 10px;
	right: 200px;
	line-height: 29px;
	padding-top: 1px;
	font-size: 12px;
}
header .h_menu {
	display: none;
}

header #info {
	display: none;
}

/*
サブトップ
-------------------------------------------*/
#sub_top.corpInfoArea{
	background-image: url(/_themes/base/img/topv_corpinfo_sp.jpg);
}
#sub_top.serviceArea{
	background-image: url(/_themes/base/img/topv_service_sp.jpg);
}
#sub_top.resultArea{
	background-image: url(/_themes/base/img/topv_case_sp.jpg);
}
#sub_top.voiceAera{
	background-image: url(/_themes/base/img/topv_voice_sp.jpg);
}
#sub_top.faqArea{
	background-image: url(/_themes/base/img/topv_faq_sp.jpg);
}

#sub_top.newsArea,
#sub_top.newsArea{
	background-image: url(/_themes/base/img/topv_news_sp.jpg);
}

#sub_top.contactArea{
	background-image: url(/_themes/base/img/topv_news_sp.jpg);
}

#sub_top.contactArea{
	background-image: url(/_themes/base/img/topv_contact_sp.jpg);
}
#sub_top.reserveAera{
	background-image: url(/_themes/base/img/topv_reserve_sp.jpg);
}



.no_sp {
	display: none;
}

}
/*(/～960)*/




@media screen and (max-width:460px){

input,
textarea {
	max-width: 300px !important;
}

.content table.table_01 th,
.content table.table_01 td {
	width: 100% !important;
	display: block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.content table.table_01 th {
	background-color: #F6F6F6;
}


#sub_top {
	font-size: 16px;
}


}
/*(/～460)*/


/*
エフェクト
-------------------------------------------*/
.effect {
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha( opacity=0 )";
	transform: translateY(20px);
	-webkit-transform: translateY(20px);  
    -moz-transform: translateY(20px); 
	-webkit-transition: 1.0s ease-out;
	-moz-transition: 1.0s ease-out;
	transition: 1.0s ease-out;
}
.effect.d_02 {
transition-delay:0.2s;
-webkit-transition-delay:0.2s;
}
.effect.d_04 {
transition-delay:0.4s;
-webkit-transition-delay:0.4s;
}
.effect.d_06 {
transition-delay:0.6s;
-webkit-transition-delay:0.6s;
}
.effect.d_08 {
transition-delay:0.8s;
-webkit-transition-delay:0.8s;
}
.effect.start {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	transform: translateY(0px);
	-webkit-transform: translateY(0px);  
    -moz-transform: translateY(0px);    
}
.content p.check {
	color: #FF3333;
}
.content p.p_st {
	font-size: 20px;
	color: #CA28B1;
}

/*------------------------------*/

.content .box_att {
	margin-top: 30px;
}

.content .box_att h2 {
	font-weight: normal;
	font-size: 24px;
	color: #0F688B;
}
.content .box_att p {
	font-size: 14px;
	margin: 0px;
	color: #0F688B;
}
/*--------------------------------------------------------
max-width: 767px
-------------------------------------------------------*/
@media screen and (max-width: 767px) {
#top_slide .top_catch {
	font-size: 6vw;
	top: 35%;
}
#top_slide .slide_btn a {
	font-size: 16px;
	bottom: 10%;
	line-height: 32px;
	width: 260px;
	margin-left: -130px;
}
.pickup {
	padding:6px;
}

.pickup ul {
    padding: 0;
    margin: 0;
}

.pickup ul li {
	width: 100%;
	max-height: 180px;
	margin-bottom: 1px;
}

.pickup ul li a div {
		font-size: 12px;
}
	
header .h1 a img,
header h1 a img {
        top: 12px;
        height: auto;
        width: 60%;
}

header .h_btn a {
	width: 50px;
	top: 10px;
	right: 50px;
	font-size: 18px;
	border-top-style: none !important;
	border-bottom-style: none !important;
	border-right-style: none !important;
	border-left-style: none !important;
}
header .h_tel a {
	width: 50px;
	font-size: 18px;
	right: 95px;
}
header .h_tel a span,
header .h_btn a span {
	display: none;
}


.content {
	padding-top: 20px;
	padding-bottom: 20px;
}

.content p {
	margin-bottom: 20px;
	margin-top: 10px;
	margin-right: 10px;
	margin-left: 10px;
}

ul.works_list {
	padding: 10px;
}

ul.works_list li {
	width: 50%;
}

ul.works_list li a {
	padding: 10px;
}

.img_left,
.img_right {
	float: none;
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
}

.box_contact p {
	font-size: 12px;
}

ul.f_bn li a span {
	display: none;
}

footer .f_bn li a i {
	padding-right: 0px;
}

footer .cont_wrap {
	display: none;
}
.pickup ul {
    width: 100%;
}
.menu_btn {
        top: 10px;
}
.flexbox {
    display: block;
}
.flexbox figure{
    margin: 0;
}
.flexbox figure img{
  width: 100%!important;
  height: auto!important;
}
.flexbox .txt{
    margin: 30px 0 0 0;
}
.pankuzu {
    line-height: 0;
}
.content h1 {
    font-size: 30px;
}
#serviceAre .clm.flexbox figure {
    width: 100%;
}
#serviceAre .clm.flexbox .txt {
    width: 100%;
}

 /*------------------------------------------------------
list
------------------------------------------------------*/
  .contentGpCategoryCategory .image,
  .contentGpCategoryCategoryType .image,
  .categoryType .image,
  .contentGpArticleDocs .image {
    display: block;
    float: none;
    height: auto;
    margin: 10px 0;
    overflow: hidden;
    width: 100%;
  }
  .contentGpCategoryCategory ul,
  .contentGpCategoryCategoryType ul,
  .categoryType ul,
  .contentGpArticleDocs ul {
  padding: 0;
}

.surveyForm form .questions .question .answer_content input, .surveyForm form .questions .question .answer_content textarea {
    width: 100%;
}

    .surveyForm form .questions .question .answer_content input {
        width: 100%;
    }

.note {
    float: inline-start;
    margin: 0 10px 0 0;
}

.question_content {
    width: 100%;
    float: none;
    padding-bottom: 0;
}

#page-Smartphone-contact-form-index form .questions .question:nth-child(10) .body, .answer_content {
    width: 100%;.
    float: none;
    border-top: none;
    padding: 10px 0 10px 0;
}

p.ybtn a, #yoyakuArea p.yoyakubtn a {
    font-size: 20px;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
}
    .content h2 {
        font-size: 18px;
    }

.reservationDate .dateTable tr th:first-child {
    width: 48%;
}

#reserveArea .flexbox .phone, #reserveArea .flexbox .webform {
    width: 100%;
}

#reserveArea .flexbox .webform {
    border: none;
    border-top: 1px solid #000;
    margin: 20px 0 0 0;
    padding: 20px 0 0 0;
}

.reservationCalendar,
.reservationDate {
  margin: 0 10px ;
}

.reservationDate .dateTable tr th:first-child {
    width: 44%;
}
.reservationCalendar .calender a {
    width: 2.25rem;
    padding: 6px;
    font-size:12px;
}

.reservationCalendar .calender th,
.reservationCalendar .calender td {
    padding: 0px;
}

.reservationDate .message p {
    font-size: 105%;
}
.surveyForm form .questions .question .answer_content select {
    width: 100%;
}


}
/*(/～767px)*/
/*--------------------------------------------------------
 (min-width:768px) and (max-width:1024px)
-------------------------------------------------------*/
@media screen and (min-width:768px) and (max-width:1024px) {
.pickup {
    padding-top: 2px;
    padding-bottom: 2px;
}
.pickup ul {
    padding: 0;
}
footer ul.f_list {
    width: 31.3%;
    padding-left: 10px;
}

#page-corpinfo-index .flexbox figure,
#page-corpinfo-greeting .flexbox figure {
    width: 100%;
}

#page-corpinfo-mission .flexbox figure {
    width: 220%;
}

.flexbox figure img{
  width: 100% !important;
  height: auto !important;
}





















}
/*(/768px～1024px)*/

