@charset "UTF-8";
/* ------------------------------------------------------------------------------
色変更箇所

メインカラー：fcab95 →　237fe2
サブカラー：ffb4bf　→　237fe2

------------------------------------------------------------------------------- */
body {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, Verdana, "ＭＳ Ｐゴシック", "MS P Gothic", Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #4b4b4b;
}

#to_top {
  display: none;
}

/* 20241001 add */
.color-filter {
  filter: var(--color-image-filter);
}

/* ------------------------------------------------------------------------------
	菴咏區
------------------------------------------------------------------------------- */
.mb5 {
  margin-bottom: 5px;
}

.mb10,
.mb20 {
  margin-bottom: 10px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb50 {
  margin-bottom: 50px;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt50 {
  margin-top: 50px;
}

.mr5 {
  margin-right: 5px;
}

.mr6 {
  margin-right: 6px;
}

.mr20 {
  margin-right: 20px;
}

.mr25 {
  margin-right: 25px;
}

.mr30 {
  margin-right: 30px;
}

.mr480 {
  margin-right: 480px;
}

.ml5 {
  margin-left: 5px;
}

.ml10 {
  margin-left: 10px;
}

.ml20 {
  margin-left: 20px;
}

.ml30 {
  margin-left: 30px;
}

.ml35 {
  margin-left: 35px;
}

.ml335 {
  margin-left: 335px;
}

.ml480 {
  margin-left: 480px;
}

.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.alignright {
  display: block;
  text-align: right;
}

.small {
  font-size: 0.8em;
}

.maru10 {
  /* CSS3 */
  /* Safari,Google Chrome */
  border-radius: 10px;
  /* Firefox */
}

/* ------------------------------------------------------------------------------
	COMMON
------------------------------------------------------------------------------- */
a:link, a:visited {
  color: #106ab6;
}
a:hover {
  color: #f60;
  text-decoration: underline;
}
a:active {
  color: #c00;
}
a:hover img {
  filter: alpha(opacity=80);
  opacity: 0.8;
}

/* Minimum width of 769 pixels.
-------------------------------------------------------------- */
@media screen and (min-width: 769px) {
  #wrapper {
    width: 100%;
    max-width: 100%;
    background: url("../images/common/gray_border_01.png") top left repeat-x, url("../images/common/footer_bg.png") bottom left repeat-x;
  }
  #wrapper_cont {
    width: 1034px;
    padding-top: 10px;
    margin: 0 auto;
  }
  .fl {
    float: left;
  }
  .fr {
    float: right;
  }
  .mob {
    display: none !important;
  }
  #container {
    position: relative;
    z-index: 50000;
    display: inline-table;
    width: 1024px;
    padding: 0 5px;
  }
  #container::after {
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    content: "";
  }
  #container::before {
    position: absolute;
    top: -10px;
    left: 5px;
    z-index: -1;
    display: block;
    width: 294px;
    height: calc(100% + 10px);
    content: "";
    background-color: var(--color-primary);
    box-shadow: 0 -5px 10px 0 rgba(var(--color-primary-rgb), 0.2), 0 5px 10px 0 rgba(var(--color-primary-rgb), 0.2);
  }
  /* Hides from IE-mac \ */
  * html #container {
    height: 1%;
  }
  #container {
    display: block;
  }
  .content {
    width: 1024px;
    margin: 0 auto;
  }
  /**************************************************************
  HEADER
  **************************************************************/
  #page_header {
    width: 1024px;
    height: 549px;
    margin: 0 auto;
  }
  body.under_page #page_header {
    position: relative;
    width: 1024px;
    height: 289px;
    margin: 0 auto;
  }
  #header {
    float: left;
    width: 294px;
    padding: 0;
    background: var(--color-primary);
  }
  .header_logo {
    width: 100%;
    min-height: 140px;
    background-color: #fff;

display:flex;
justify-content:center;
  }
  .header_logo a {
    display: flex;
    flex-basis: 100%;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px;
  }
  .header_logo img {
    max-width: 100%;
  }
  #header_cont {
    float: right;
    width: 730px;
  }
  #header_cont h1 {
    padding: 10px 0;
    font-size: 12px;
    font-weight: normal;
    text-align: right;
  }
  #header_contact {
    width: 98%;
    height: 90px;
    margin: 0 0 0 2%;
    text-align: right;
    border: solid 1px #dcdcdc;
  }
  #header_contact .title {
    padding: 5px;
    font-size: 12px;
    color: #fff;
    text-align: center;
    background: #ccc;
    background: var(--color-primary);
  }
  #header_contact .add {
    padding: 10px 10px 0 0;
    font-size: 12px;
    line-height: 110%;
    text-align: right;
  }
  #header_contact .tel_text img {
    margin-bottom: 5px;
  }
  #header_contact .tel_text a {
    padding: 0 10px 0 5px;
    font-family: "FP-ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 33px;
    line-height: 110%;
    color: #4b4b4b;
    text-decoration: none;
  }
  #slider_box {
    width: 730px;
    height: 374px;
    margin-top: 10px;
    overflow: hidden;
    text-align: center;
  }
  #slider_box img {
    width: 100%;
  }
  #page_title1,
  #page_title2,
  #page_title3 {
    width: 730px;
    height: 174px;
    margin-top: 10px;
    margin-bottom: 30px;
  }
  #page_title1 p,
  #page_title2 p,
  #page_title3 p {
    padding-top: 60px;
    padding-left: 30px;
    font-size: 50px;
    font-weight: normal;
    line-height: 120%;
    color: var(--color-primary);
    text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
  }
  #page_title1 p span,
  #page_title2 p span,
  #page_title3 p span {
    padding-left: 20px;
    font-size: 23px;
    font-weight: normal;
    color: var(--color-primary);
  }
  #page_title1 {  
      background:url("../images/common/green/page_title_bg7.jpg") top right no-repeat;
      background-size: cover;
  }
  #page_title2 {
      background:url("../images/common/green/page_title_bg7.jpg") top right no-repeat;
      background-size: cover;
      /*background: var(--color-pagetitle_2_bg);*/
    }
  #page_title3 {
      background:url("../images/common/green/page_title_bg7.jpg") top right no-repeat;
      background-size: cover;
      /*background: var(--color-pagetitle_3_bg);*/
  }
  /**************************************************************
  Global menu
  **************************************************************/
  .gnavi_bg {
    width: 294px;
    overflow: hidden;
    background-image: url("../images/common/gnavi_bg.png");
  }
  body.under_page .gnavi_bg {
    position: absolute;
    top: 135px;
    left: 0;
  }
  ul.gnavi {
    width: 264px;
    margin: 0 auto;
  }
  ul.gnavi li {
    height: 95px;
    border-bottom: 1px solid #fff;
  }
  ul.gnavi li a {
    display: flex;
    gap: 15px;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
    text-decoration: none;
  }
  ul.gnavi li a div {
    font-size: 18px;
    line-height: 1;
  }
  ul.gnavi li a span {
    font-size: 14px;
  }
  ul.gnavi li a:hover {
    opacity: 0.7;
    transition: 0.5s;
  }
  ul.gnavi li a::before {
    width: 29px;
    height: 19px;
    margin-left: 10px;
    content: "";
    background: no-repeat;
    background-image: url("../images/common/gnavi_arrow.png");
  }
  /**************************************************************
  #MAIN
  **************************************************************/
  #main {
    float: right;
    width: 730px;
  }
  /**************************************************************
  #SIDEBAR
  **************************************************************/
  .sidebar {
    z-index: 20000;
    float: left;
    width: 294px;
    padding: 10px 0 0;
  }
  body.under_page .sidebar {
    margin-top: 260px;
  }
  .side_box {
    width: 264px;
    margin: 0 auto;
    margin-bottom: 20px;
    background: #fff;
    box-shadow: 0 0 3px 2px rgba(0, 0, 0, 0.2);
  }
  .side_box div {
    padding: 10px;
  }
  .sidebar h3 {
    padding-bottom: 5px;
    margin-bottom: 5px;
    font-size: 16px;
    font-weight: normal;
    position: relative;
    border-bottom: 1px solid var(--color-primary);
  }
  .sidebar h3::after {
    position: absolute;
    bottom: 2px;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    content: "";
    background-color: var(--color-primary);
  }
  .sidebar h3 img {
    margin-right: 5px;
  }
  .sidebar h3 span {
    padding-left: 10px;
    font-size: 8px;
    color: var(--color-primary);
  }
  .side_box div ul li {
    display: inline-block;
    width: 43%;
  }
  .side_box div ul li.wide {
    width: 90%;
  }
  .side_box div ul li span {
    color: var(--color-primary);
  }
  .timet h4 {
    font-size: 14px;
    font-weight: normal;
  }
  .timet h4 span {
    color: var(--color-primary);
  }
  .sidebar p {
    padding: 0 15px 10px;
    margin: 0;
  }
  .timet table {
    width: 100%;
  }
  .timet table th {
    line-height: 2;
    text-align: center;
    background-color: #fff;
    border: 1px solid #c8c8c8;
  }
  .timet table td {
    line-height: 2;
    color: #000;
    text-align: center;
    border: 1px solid #c8c8c8;
  }
  .timet table td span {
    color: #4b4b4b;
  }
  .timet table tr.am {
    background-color: #ffffd1;
  }
  .timet table tr.pm {
    background-color: #d9ebff;
  }
  #time_table02 {
    margin: 0 15px 0 30px;
  }
  /**************************************************************
  #SIDEBARLINK
  **************************************************************/
  #sidebarlink {
    z-index: 20000;
    float: left;
    width: 294px;
    padding: 10px 0 0;
    margin-top: 30px;
    text-align: center;
  }
  #sidebarlink img {
    width: 230px;
    margin-bottom: 10px;
  }
  /**************************************************************
  FOOTER
  **************************************************************/
  footer {
    width: 100%;
    height: 135px;
    padding: 0;
    margin: 40px auto 0;
  }
  ul.footer_nav {
    padding-top: 5px;
    margin: 0 auto;
    text-align: right;
  }
  ul.footer_nav li {
    display: inline-block;
    padding: 0 10px;
    line-height: 100%;
  }
  ul.footer_nav li span {
    color: var(--color-primary);
  }
  ul.footer_nav li a:link, ul.footer_nav li a:visited {
    line-height: 1;
    color: #fff;
    text-decoration: none;
  }
  ul.footer_nav li a:hover, ul.footer_nav li a:active {
    color: var(--color-primary);
  }
  div.copyright {
    padding: 20px 0;
    font-size: 12px;
    text-align: right;
  }
}
.sp2 {
  display: none;
}

/* Minimum width of 768 pixels.
-------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .sp_fix {
    position: fixed;
    top: 0 !important;
    left: 0 !important;
    z-index: 10000 !important;
    width: 100% !important;
    height: 100px;
    background-color: #fff;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none !important;
  }
  .fl,
  .fr {
    float: none;
  }
  .sp {
    display: none;
  }
  #wrapper {
    width: 100%;
    max-width: 100%;
  }
  #wrapper_cont {
    width: 100%;
    padding-top: 0;
    margin: 0 auto;
    background: none;
  }
  #container {
    width: 100%;
    padding: 0;
    background: none;
  }
  .content {
    width: 100%;
  }
  /**************************************************************
  HEADER
  **************************************************************/
  #page_header {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  #header {
    float: none;
    width: 100%;
    padding: 0;
  }
  h1.sp2 {
    display: block;
    font-size: 9px;
    font-weight: normal;
    color: #fff;
    text-align: center;
    background: var(--color-primary);
  }
  h2#logo_mob {
    display: block;
    width: calc(100% - 120px);
    margin: 0 0 0 10px;
  }
  h2#logo_mob a {
    display: flex;
    width: 80vw;
    padding: 10px;
  }
  h2#logo_mob img {
    max-height: 80px;
  }
  #header_cont {
    float: none;
    width: 100%;
    margin-bottom: 20px;
  }
  #header_cont h1 {
    padding: 10px 0;
    font-size: 12px;
    font-weight: normal;
    text-align: center;
  }
  #header #header_contact {
    width: 100%;
    padding: 3% 0%;
    text-align: center;
  }
  #header #header_contact p {
    padding-top: 10px;
    font-size: 12px;
  }
  #slider_box {
    float: none;
    width: 100%;
    height: auto;
    margin: 0 auto 5px;
    text-align: center;
  }
  #slider_box li {
    line-height: 0.6;
  }
  #page_title1,
  #page_title2,
  #page_title3 {
    width: 100%;
    height: auto;
    margin-top: 0;
    background-size: 100% auto;
    background-size: cover;
  }
  #page_title1 p,
  #page_title2 p,
  #page_title3 p {
    padding: 50px 20px 30px;
    font-size: 30px;
    font-weight: normal;
    line-height: 120%;
    color: var(--color-primary);
    text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
  }
  #page_title1 p span,
  #page_title2 p span,
  #page_title3 p span {
    padding-left: 10px;
    font-size: 14px;
    font-weight: normal;
    color: var(--color-primary);
      display: block;
  }
  #page_title1 {
      background:url("../images/common/green/page_title_bg7.jpg") top right no-repeat;
      background-size: cover;
  }
  #page_title2 {
      background:url("../images/common/green/page_title_bg7.jpg") top right no-repeat;
      background-size: cover;
    /*background: var(--color-pagetitle_2_bg);*/
  }
  #page_title3 {
      background:url("../images/common/green/page_title_bg7.jpg") top right no-repeat;
      background-size: cover;
    /*background: var(--color-pagetitle_3_bg);*/
  }
  /**************************************************************
  Global menu
  **************************************************************/
  .navi_area {
    float: none;
    width: 100%;
    margin: 0 auto 10px;
  }
  ul.gnavi {
    padding: 0;
    text-align: left;
  }
  ul.gnavi li {
    display: block;
    border-bottom: solid 1px #fff;
  }
  ul.gnavi li a {
    display: block;
  }
  ul.gnavi li span {
    padding-left: 15px;
    font-size: 10px;
  }
  ul.gnavi li a:link, ul.gnavi li a:visited {
    font-size: 18px;
    line-height: 50px;
    color: #fff;
    text-decoration: none;
    text-indent: 10px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f58c9b+0,fabec8+100 */
    background: var(--color-primary);
    background: linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) 100%);
  }
  ul.gnavi li a:hover, ul.gnavi li a:active {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/var(--color-primary)+0,237fe2+100 */
    background: #fc9502;
    background: linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) 100%);
  }
  ul.accordion {
    top: 5px !important;
  }
  ul.accordion p span {
    position: absolute;
    top: 25px;
    right: 10px;
    z-index: 999;
    width: 40px;
    padding: 3px;
    /* Firefox */
    margin-bottom: 3px !important;
    border: 1px solid var(--color-primary);
    border-radius: 5px;
    /* CSS3 */
    /* Safari,Google Chrome */
  }
  span.mob_tel {
    position: absolute;
    top: 25px;
    right: 63px;
    z-index: 999;
    width: 40px;
    padding: 3px;
    border: 1px solid var(--color-primary);
    border-radius: 5px;
    /* CSS3 */
    /* Safari,Google Chrome */
    /* Firefox */
  }
  ul.accordion a,
  ul.accordion span.mob {
    display: block;
  }
  ul.accordion ul {
    display: none;
  }
  ul.accordion > li > p {
    cursor: pointer;
  }
  ul.accordion > li > ul > li > ul > li:last-child {
    border: none;
  }
  /**************************************************************
  #MAIN
  **************************************************************/
  #main {
    float: none;
    width: 90%;
    margin: 0 auto;
  }
  /**************************************************************
  #SIDEBAR
  **************************************************************/
  .sidebar {
    z-index: 20000;
    float: none;
    width: 100%;
    padding: 15px 0 0;
    margin-top: 20px;
    background: var(--color-primary);
  }
  .side_box {
    width: 94%;
    margin: 0 auto;
    margin-bottom: 15px;
    background: #fff;
    box-shadow: 0 0 3px 2px rgba(0, 0, 0, 0.2);
  }
  .side_box div {
    padding: 10px;
  }
  .sidebar h3 {
    padding-bottom: 5px;
    margin-bottom: 5px;
    font-size: 16px;
    font-weight: normal;
    position: relative;
    border-bottom: 1px solid var(--color-primary);
  }
  .sidebar h3::after {
    position: absolute;
    bottom: 2px;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    content: "";
    background-color: var(--color-primary);
  }
  .sidebar h3 img {
    margin-right: 5px;
  }
  .sidebar h3 span {
    padding-left: 10px;
    font-size: 8px;
    color: var(--color-primary);
  }
  .side_box div ul li {
    display: inline-block;
    width: 43%;
  }
  .side_box div ul li.wide {
    width: 90%;
  }
  .side_box div ul li span {
    color: var(--color-primary);
  }
  .timet h4 {
    font-size: 14px;
    font-weight: normal;
  }
  .timet h4 span {
    color: var(--color-primary);
  }
  .sidebar p {
    padding: 0 15px 10px;
    margin: 0;
  }
  .timet table {
    width: 100%;
  }
  .timet table th {
    line-height: 2;
    text-align: center;
    background-color: #fff;
    border: 1px solid #c8c8c8;
  }
  .timet table td {
    line-height: 2;
    color: #000;
    text-align: center;
    border: 1px solid #c8c8c8;
  }
  .timet table td span {
    color: #4b4b4b;
  }
  .timet table tr.am {
    background-color: #ffffd1;
  }
  .timet table tr.pm {
    background-color: #d9ebff;
  }
  #time_table02 {
    margin: 0 15px 0 30px;
  }
  /**************************************************************
  #SIDEBARLINK
  **************************************************************/
  #sidebarlink {
    float: none;
    width: 275px;
    margin: 30px auto 0;
    text-align: center;
  }
  #sidebarlink img {
    width: 230px;
    margin-bottom: 10px;
  }
  /**************************************************************
  FOOTER
  **************************************************************/
  footer {
    padding-bottom: 70px;
    background: var(--color-primary);
  }
  footer .content {
    padding: 20px 0;
    margin: 0 auto;
  }
  ul.footer_nav {
    text-align: center;
  }
  ul.footer_nav li {
    display: block;
    padding: 0 10px 0 20px;
    margin-bottom: 5px;
    line-height: 1;
    text-align: center;
    border: solid 1px #fff;
  }
  ul.footer_nav li:last-child {
    margin-bottom: 0;
  }
  ul.footer_nav li a:link, ul.footer_nav li a:visited {
    display: block;
    line-height: 2;
    color: #fff;
    text-decoration: none;
  }
  ul.footer_nav li a:hover, ul.footer_nav li a:active {
    color: var(--color-primary);
  }
  div.copyright {
    float: none;
    width: 100%;
    margin-top: 20px;
  }
  div.copyright p {
    font-size: 12px;
    line-height: 1.5;
    color: #fff;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}
#sidebar table {
  width: 100%;
}

#time_table th {
  padding: 1px;
  line-height: 1;
  text-align: center;
  background-color: #fff;
  border: 1px solid #c8c8c8;
}
#time_table td {
  padding: 1px;
  line-height: 2;
  color: #3282fa;
  text-align: center;
  border: 1px solid #c8c8c8;
}
#time_table td span {
  color: #4b4b4b;
}
#time_table tr.am {
  background-color: #ffffd1;
}
#time_table tr.pm {
  background-color: #d9ebff;
}

#time_table02 {
  margin: 0 15px 0 30px;
}

#sidebar .dfbnr01 {
  margin: 40px 0 50px 12px;
}