@charset "utf-8";
/* 
Theme Name: genova_tpl
File: style.css
Author: Genova Design
Author URL: https://genova.co.jp/
Description: Genova 2021 Wordpress template
Version: 1.0
*/
/*-----------------------------------------------------------
■ 1 Html
-----------------------------------------------------------*/
/*--------------------------------------
	general
--------------------------------------*/
/*reset*/
html {
  color: #000;
  background: #FFF
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, figure, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
fieldset, img {
  border: 0
}
address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal
}
ol, ul {
  list-style: none
}
caption, th {
  text-align: left
}
*{
  font-size: 100%;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal
}
q:before, q:after {
  content: ''
}
abbr, acronym {
  border: 0;
  font-variant: normal
}
sup {
  vertical-align: text-top
}
sub {
  vertical-align: text-bottom
}
input, textarea, select {
  font-family: inherit;
  font-weight: inherit;
  font-size: 100%
}
legend {
  color: #000
}
#yui3-css-stamp.cssreset {
  display: none
}
html {
  font-size: 100%;
}
body {
  position: relative;
  -webkit-text-size-adjust: 100%;
  font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
  font-size: 62.5%;
  line-height: 1.7;
  background: #fff;
  color: #666;
}
*, *::before, *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
a {
  vertical-align: middle;
  /*text-decoration: none;*/
  color: #333;
}
a[href^="tel:"] {
  pointer-events: none;
  cursor: text;
}
a:focus, *:focus {
  outline: none;
}
a:hover img {
  opacity: 0.8;
}

body a:link{
	color:#0099CC;
  text-decoration: underline;
}

body a:hover{
	color:#00CCFF;
}

body a:visited{
	/*color:#685731;*/
}
img {
  max-width: 100%;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  height: auto;
}
p {
  margin-bottom: 1em;
}
p:last-child {
  margin-bottom: 0;
}
table {
  width: 100%;
}
strong {
  font-weight: bold;
}
.fnt-noto{
  font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }
  .auto_height {
    height: auto !important;
  }
  body a:link{
    color:#cda581;    
  }
  body{
    font-family: sans-serif;
    font-size: 13px !important;
  }
}
/*--------------------------------------
	icons
--------------------------------------*/
@font-face {
  font-family: 'icomoon';
  src: url('./libs/icomoon/icomoon.eot');
  src: url('../libs/icomoon/icomoon.eot#iefix') format('embedded-opentype'), url('./libs/icomoon/icomoon.ttf') format('truetype'), url('./libs/icomoon/icomoon.woff') format('woff'), url('./libs/icomoon/icomoon.svg#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class*='icon-']:not([class*='eicon-']):not([class*='elementor-icon-'])::before {
  display: inline-block;
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: baseline;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-home::before {
  content: "\e90b";
}
.icon-blog::before {
  content: "\e900";
}
.icon-category::before {
  content: "\e901";
}
.icon-check::before {
  content: "\e902";
}
.icon-checked::before {
  content: "\e903";
}
.icon-down::before {
  content: "\e904";
}
.icon-facebook::before {
  content: "\e905";
}
.icon-google::before {
  content: "\e906";
}
.icon-line::before {
  content: "\e907";
}
.icon-twitter::before {
  content: "\e908";
}
.icon-arrow02::before {
  content: "\e909";
}
.icon-arrow01::before {
  content: "\e910";
}
.icon-search::before {
  content: "\e911";
}
.icon-tag::before {
  content: "\e912";
}
.icon-checkbox-unchecked::before {
  content: "\ea53";
}
.icon-checkbox-checked::before {
  content: "\ea52";
}
.radio-unchecked::before {
  content: "\ea56";
}
.radio-checked::before {
  content: "\ea54";
}
.radio-checked2::before {
  content: "\ea55";
}
/*--------------------------------------
	shortcuts
--------------------------------------*/
/*margin */
.mt20{
  margin-top: 1em;
}
.mb0 {
  margin-bottom: 0px !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb55 {
  margin-bottom: 55px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.mb65 {
  margin-bottom: 65px !important;
}
.mb70 {
  margin-bottom: 70px !important;
}
.mb75 {
  margin-bottom: 75px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}
.mb85 {
  margin-bottom: 85px !important;
}
.mb90 {
  margin-bottom: 90px !important;
}
.mb95 {
  margin-bottom: 95px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}
/* float */
.fr {
  float: right !important;
}
.fl {
  float: left !important;
}
/* clear */
.clearfix {
  *zoom: 1;
}
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}
.cl {
  clear: both !important;
}
/* text indent */
.textHide {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
/* text-align */
.tac {
  text-align: center !important;
}
.tar {
  text-align: right !important;
}
.tal {
  text-align: left !important;
}
/* font-weight */
.fb {
  font-weight: bold !important;
}
.half {
  display: inline-block;
}
/*Pc/sp change*/
.sp {
  display: none;
}
.mb {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}
@media screen and (max-width: 480px) {
  .mb {
    display: block;
  }
  .pcm {
    display: none;
  }
}
/*--------------------------------------
	container / wrapper
--------------------------------------*/
.container {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}
.container::after {
  content: "";
  display: block;
  clear: both;
}
#wrapper {
  height: 100%;
  font-size: 120%;
  background: url("img/body_bg.jpg") repeat-x top center #F8F7EB;
}
#wrapper.small{
  font-size: 100%;
}
@media screen and (max-width: 767px) {
  #wrapper{
    background: #F8F7EB;
  }
  #mainImageWrap{
    margin-top: 60px;
  }
  #wrapper.middle, #wrapper{
    font-size: 100%;
  }
}
/*--------------------------------------
	text color
--------------------------------------*/
.txt_color {
  color: #0B4EA2;
}
.txt_link {
  vertical-align: top;
  text-decoration: underline !important;
  font-weight: bold;
  color: #0B4EA2 !important;
}
.txt_link:hover {
  text-decoration: none !important;
}
.catch_title {
  text-align: center;
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: 0.15em;
  color: #FFAEA2;
}
/*-----------------------------------------------------------
■ 2 Header
-----------------------------------------------------------*/
/*--------------------------------------
	general
--------------------------------------*/
#header {
  border-top: 2px solid #bda44b;
  background: #fff;
  margin-bottom: 15px;
}

#header #headerLeft {
	width: calc(100% - 433px);
	float: left;
	position:relative;
	text-align:left;
  padding-top: 15px;
}
h1 {	
	color: #999;	
  font-size: 92%;
  font-weight: normal;
  padding-top: 6px;  
  float: left;
}
.header-txt{
  float: right;
  color: #999;	
  font-size: 92%;
  padding-top: 5px;
}
#header #headerLeft h2 {
	margin-top: 3px;
  font-weight: normal;
  letter-spacing: 1px;
  font-size: 92%;
  color: #999;	
}
#header #headerRight {
	width: 433px;
	float: right;
	position:relative;
  margin-top: 5px;
}
#headerRight #headerRightUnder{
  position: absolute;
  bottom: 8px;
  right: 0;
}

#header #headerRight div#telNumber img{
	width:auto;
	height:auto;
}

#mainImageWrap{    
  margin-bottom: 15px;
}
#mainImage1{
  position: relative;
  box-sizing: border-box;
  background: #fff;
  padding: 5px;
  margin-bottom: 15px;
}
#mainImage1 li{
  margin-left: 1px;
  width: calc(25% - 1px);
}
#mainImage1 li img, #mainImage2 h2 img{
  width: 100%;
  height: auto;
}
.main-img-left{
  margin-bottom: 0;
  width: 55.6%;
}
#mainImage1 ul{
  width: 44.4%;
}
#mainImage2{
  position: relative;
  background: #f6f6f6;
  box-sizing: border-box;
  border: 1px solid #ebebeb;
  border-radius: 5px;
  margin-left: 4px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 15px 1.6% 15px 4.3%;
  margin-bottom: 30px;
}
#mainImage2:before{
  content:"";
  background: url("img/main_deco.png") repeat-y top center / 100% auto;
  position: absolute;
  top: 15px;
  left: -4px;
  bottom: 15px;
  width: 3.4%;
}
#mainImage2 h2{
  position: absolute;
  top: 0;
  left: 2.4%;
  transform: translateY(-100%);
  width: 64.89%;
}
#mainImage2 > div{
  width: 24.1%;
  min-height: 121px;
  box-sizing: border-box;
  padding: 49px 68px 0 6px;
  line-height: 1.2em;
  color: #999;  
  letter-spacing: 0;
}
#mainImage2 > div p{
  margin-bottom: 0;
}
#mainImage2 > div:nth-child(2){
  background: url("img/main2_box1.jpg") no-repeat top center / 100% 100%;
}
#mainImage2 > div:nth-child(3){
  background: url("img/main2_box2.jpg") no-repeat top center / 100% 100%;
}
#mainImage2 > div:nth-child(4){
  background: url("img/main2_box3.jpg") no-repeat top center / 100% 100%;
}
#mainImage2 > div:nth-child(5){
  background: url("img/main2_box4.jpg") no-repeat top center / 100% 100%;
}
@media screen and (max-width: 960px) and (min-width: 768px){
  #header{
    padding-bottom: 10px;
  }
  #header .container{
    padding: 0 20px;
    box-sizing: border-box;
  }
  #header #headerRight{
    width: 280px;
  }
  #headerRight #headerRightUnder{
    position: static;
    text-align: right;
  }
  #header #headerLeft {
	  width: calc(100% - 310px);
  }
}
@media screen and (max-width: 767px){
  #mainImage2{
    display: none;
  }
}
/*--------------------------------------
	logo
--------------------------------------*/
header .header__logo {
  width: 171px;
}
header .header__logo img {
  width: 100%;
  max-width: 250px;
}
/*--------------------------------------
	nav
--------------------------------------*/
@media screen and (max-width: 767px) {
  .main-img-left{
    width: 100%;
  }
  .main-img-left img{
    width: 100%;
    height: auto;
  }
  
  #mainImage1 ul{
    display: none;
  }
  #mainImage1{
    margin-bottom: 6vw;
  }
/*  #mainImage2{
    padding: 10px 1.6% 10px 4.3%;
  }
  #mainImage2 h2{
    width: 97%;
  }
  #mainImage2 > div{
    width: 49%;
  }
  #mainImage2 > div:nth-child(2), #mainImage2 > div:nth-child(3){
    margin-bottom: 10px;
  }*/
  
  .header__nav nav ol > li:after {
    display: none;
  }
  .header__nav nav ol {
    /*display: none;*/
    -webkit-flex-direction: column;
    flex-direction: column;
    border-radius: 5px;
    overflow: hidden;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
  }
  .header__nav nav ol > li {
    position: relative;
    width: 100%;
    border-left: none;
    border-top: 1px solid #FFF6E8;
  }
  .header__nav nav ol > li > .up-menu {
    display: block;
    width: 100%;
    height: auto;    
    text-align: left;
    font-size: 16px;
    font-weight: 500;
    position: relative;
  }
  .header__nav nav ol > li > .up-menu:hover {
    opacity: 0.6;
  }
  .header__nav nav ol > li > .up-menu a, .header__nav nav ol > li > .up-menu span {
    padding: 0px;
    text-decoration: none;
  }
  .header__nav nav ol > li > .up-menu span {
    margin: 0;
  }
  .header__nav nav ol > li > span {
    position: relative;
  }
  .header__nav nav ol > li .up-menu .menu-text, .header__nav nav ol > li > .up-menu sub {
    color: #22201E;
    background: #fff;
    display: block;
    padding: 23px 20px;
  }
  .header__nav nav ol > li.current_page_item .up-menu .menu-text, .header__nav nav ol > li .up-menu .menu-text:hover{
    background: #BAA358;
    color: #fff;
  }
  .header__nav nav ol > li + li {
    margin-left: 0px;
  }
  .header__nav nav ol > li ul li {
    border-top: 1px solid #FFF6E8;
  }
  .menu-item-has-children .up-menu::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 16px;
    height: 16px;
    border-bottom: 1px solid #5D3E1F;
    border-left: 1px solid #5D3E1F;
    margin-top: -14px;
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -moz-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
  }
  .menu-item-has-children.hover .up-menu::after {
    margin-top: -3px;
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .sub-menu {
    width: 100%;
  }
  .header__nav nav ol > li .sub-menu a {
    padding: 15px 20px 12px;
    text-align: left;
    background: #e5f9d3;
  }  
  .header__nav nav ol > li .sub-menu a:hover {
    text-decoration: none;
    background: #edfae1;
  }
  .header__nav nav ol > li dl {
    position: relative;
    top: 0;
    padding: 0;
    background: none;
  }
  .header__nav nav ol > li dl li {
    padding-left: 0;
  }
  .header__nav nav ol > li dl li::before {
    display: none;
  }
  .header__nav nav ol > li dt {
    display: none;
  }
  .header__nav nav ol > li .sub-menu {
    position: inherit;
    display: none;
    top: 0;
    padding: 0;
    border-radius: 0;
  }
  .header__nav nav ol > li.hover .sub-menu {
    display: block;
    visibility: initial;
    opacity: 1;
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  }
  .header__nav nav ol > li .sub-menu li {
    display: block;
  }
  .header__nav nav ol > li .sub-menu li:first-child {
    border-top: 0px;
  }
  .header__nav nav ol > li .sub-menu a {
    display: block;
  }
  .header__nav nav ol > li.hover > span + dl, header .header_menu .header__nav nav ol > li > span:hover + dl {
    opacity: 1;
    pointer-events: auto;
  }

  header .header__nav {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    min-height: 100vh;
    z-index: 100;
    padding: 100px 30px 40vw;
    background: #F4F8FE;
    opacity: 0;
    visibility: hidden;
    overflow-y: scroll;
  }
  header .header__nav .conversion {
    margin: 30px -30px 0;
  }
  header .header__logo {
    width: 51%;
    margin: 0vw 0 1vw;
    z-index: 114;
  }
  header .header__nav nav ol {}
  header .header__nav nav ol > li {}
  header .header__nav nav ol > li > .up-menu {
    background: #5C88DA;
  }
  header .header__nav nav ol > li > .up-menu:hover {}
  header .header__nav nav ol > li > .up-menu a, header .header__nav nav ol > li > .up-menu span {
    padding: 3px;
    color: #fff;
    font-weight: 500;
  }
  header .header__nav nav ol > li > .up-menu span {
    margin: 0;
    display: none;
  }
  header .header__nav nav ol > li > span {
    position: relative;
  }
  header .header__nav nav ol > li .up-menu .menu-text, header .header__nav nav ol > li > .up-menu sub {}
  header .header__nav nav ol > li + li {
    margin-left: 0px;
  }
  header .header__nav nav ol > li ul li {
    border-top: 1px solid #0B4EA2;
  }
  .menu-item-has-children .up-menu::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 12px;
    height: 12px;
    border-bottom: 1px solid #FFA200;
    border-left: 1px solid #FFA200;
    margin-top: -14px;
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -moz-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
  }
  .menu-item-has-children.hover .up-menu::after {
    margin-top: -3px;
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .sub-menu {
    width: 100%;
  }
  header .header__nav nav ol > li .sub-menu a {
    padding: 15px 20px 12px;
    text-align: left;
    background: #94C9E2;
    color: #fff;
  }
  header .header__nav nav ol > li .sub-menu a:hover {
    text-decoration: none;
    background: #40B9EF;
  }
  header .header__nav nav ol > li dl {
    position: relative;
    top: 0;
    padding: 0;
    background: none;
  }
  header .header__nav nav ol > li dl li {
    padding-left: 0;
  }
  header .header__nav nav ol > li dl li::before {
    display: none;
  }
  header .header__nav nav ol > li dt {
    display: none;
  }
  header .header__nav nav ol > li .sub-menu {
    position: inherit;
    display: none;
    top: 0;
    padding: 0;
    border-radius: 0;
  }
  header .header__nav nav ol > li.hover .sub-menu {
    display: block;
    visibility: initial;
    opacity: 1;
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  }
  header .header__nav nav ol > li .sub-menu li {
    display: block;
  }
  header .header__nav nav ol > li .sub-menu li:first-child {
    border-top: 0px;
  }
  header .header__nav nav ol > li .sub-menu a {
    display: block;
  }
  header .header__nav nav ol > li.hover > span + dl, header .header_menu .header__nav nav ol > li > span:hover + dl {
    opacity: 1;
    pointer-events: auto;
  }
  header .header__sub-container.active + .row .header__nav {
    opacity: 1 !important;
    visibility: visible !important;
  }
  header .header__nav:before {
    position: fixed;
    content: '';
    height: 70px;
    left: 0;
    right: 0;
    background: #fff;
    top: 0;
    z-index: 111;
  }
  .header__sub-container.active .header__logo {
    position: fixed;
    top: 11px;
    left: 20px;
    z-index: 114;
    max-width: 171px;
  }
}
/*--------------------------------------
	toggle menu
--------------------------------------*/
.toggle-menu {
  position: fixed;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  justify-content: center;
  align-items: center;
  display: none;
}
.toggle-menu__trigger, .toggle-menu__trigger span {
  display: inline-block;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  -webkit-transition: all .4s;
  transition: all .4s;
}
.toggle-menu__trigger {
  position: relative;
  display: block;
  width: 23px;
  height: 19px;
  padding: 0;
  border: 0px;
  margin: 0;
  text-align: center;
  background: none;
}
.toggle-menu.active{
  transform: translateY(0);
}
.toggle-menu__trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #8B4E10;
}
.toggle-menu__trigger span:nth-of-type(1) {
  top: 0;
}
.toggle-menu__trigger span:nth-of-type(2) {
  top: 8px;
}
.toggle-menu__trigger span:nth-of-type(3) {
  bottom: 0;
}
.toggle-menu.active .toggle-menu__trigger span:nth-of-type(1) {
  -moz-transform: translateY(7px) rotate(-45deg);
  -ms-transform: translateY(7px) rotate(-45deg);
  -webkit-transform: translateY(7px) rotate(-45deg);
  transform: translateY(7px) rotate(-45deg);
}
.toggle-menu.active .toggle-menu__trigger span:nth-of-type(2) {
  opacity: 0;
}
.toggle-menu.active .toggle-menu__trigger span:nth-of-type(3) {
  -moz-transform: translateY(-10px) rotate(45deg);
  -ms-transform: translateY(-10px) rotate(45deg);
  -webkit-transform: translateY(-10px) rotate(45deg);
  transform: translateY(-10px) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .header__nav{
    display: none;
  }
  .dis-flex-pc{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  #header {
    height: 60px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 102;
    width: 100%;
    border: none;
    box-sizing: border-box;
    padding-top: 7px;
  }
  #header .container{
    position: relative;
    z-index: 100;
  }
  #header #headerLeft{
    width: 222px;
    padding-top: 0;
    margin-left: 30px;
  }
  #header .logo{
    position: static !important;
    width: 222px;    
  }
  .toggle-menu {
    display: flex;
    position: absolute;
    z-index: 103;
  }
}
.header__nav{
  width: 100%;
  height: calc(100% - 60px);
  overflow: auto;
  background: #EEEACE;
  position: fixed;
  top: 60px;
  left: 0;
  z-index: 101;
  box-sizing: border-box;
}
.menu-header-container{
  padding: 30px 30px 40px; 
}
.menu-bottom{
  background: #8B4E10;
  box-sizing: border-box;
  padding: 0 30px 30px;
  color: #fff;
  text-align: center;
}
.menu-bottom h3{
  letter-spacing: 0.1em;
  font-size: 24px;
  line-height: 36px;
  padding: 20px 0;
  font-family: dnp-shuei-mincho-pr6n, sans-serif;
  font-weight: 500;
}
.menu-bottom p{
  margin-bottom: 6px;
}
/*-----------------------------------------------------------
■ 3 Footer
-----------------------------------------------------------*/
/*--------------------------------------
	general
--------------------------------------*/
#footer {
      font-size: 80%;
    letter-spacing: 0.1em;
    color: #373737;
    border-top: #6c5a42 2px solid;  
  padding-bottom: 5px;
}
#footer ol{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
  justify-content: center;
}
#footer ol li:after{
  content:"|";
  margin: 0 5px;
}
#footer ol li a{
  color: #373737;
  text-decoration: none;
  font-size: 120%;
}
#footer ol li a:hover{
  text-decoration: underline;
}
#footer1{
  background: #fff;
  padding-top: 7px;
}
#footerFreeArea{
  padding-bottom: 15px;
  justify-content: space-between;
}
#footerFreeArea .footerBox01{
  width: 49.3%;
  font-size: 120%;
  letter-spacing: 0;
}
.mapbox{
  height: 250px;
}
.mapbox iframe{
  width: 100%;
  height: 100%;
}
#footerFreeArea .footerBox02{
  width: 48.2%;
  font-size: 120%;
  letter-spacing: 0;
}
#footerFreeArea .footerInfoTable {
	width: 100%;
	margin-bottom: 9px;
	border-collapse: collapse;
}
#footerFreeArea .footerInfoTable th,
#footerFreeArea .footerInfoTable td {
	padding: 9px;
	text-align: left;
	border-bottom: 1px solid #CCCCCC;
	font-weight: normal;
	vertical-align: top;
  color: #666;
}
#footerFreeArea .footerInfoTable th {
	width: 70px;
	background: url(img/footerInfoTable_bg.gif) no-repeat left  top;
}
#footerFreeArea .footerInfoTable td {
	text-indent: -1.2em;
}
#footer #seoText {
    margin-bottom: 14px;
    line-height: 140%;
    text-align: right;
    padding-top: 5px;
  color: #666;
  font-size: 135%;
  letter-spacing: 0.5px;
}
.copyright{
  text-align: center;
  color: #666;
  font-size: 130%;
}
@media screen and (max-width: 767px) {
  #footer {
    padding-bottom: 60px;
    line-height: 1.5;
  }
  #footerFreeArea .footerBox02, #footerFreeArea .footerBox01{
    width: 100%;
  }
  #footerFreeArea .footerBox02{
    padding: 30px 20px 0;
    box-sizing: border-box;
    font-size: 150%;
  }
  #footerFreeArea .footerInfoTable th{
    width: 75px;
  }
}

.dis-flex{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
/*--------------------------------------
	fixed box
--------------------------------------*/
.fixed-box {
  position: fixed;
  right: 0px;
  bottom: 0;
  display: block;
  width: 340px;
  height: auto;
  z-index: 100;
  -moz-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.fixed-box .fixed-banner__pc ul, .fixed-box .fixed-banner__sp ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}
.fixed-box .fixed-banner__pc ul li:last-of-type {
  margin-left: 10px;
}
.fixed-banner__sp {
  display: none;
}
.fixed-box img {
  max-width: 100%;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .fixed-banner__sp {
    display: block;
  }
  .fixed-banner__sp ul{
    width: 100%;
  }
  .fixed-banner__sp ul li:nth-child(1){
    width: 42%;
  }
  .fixed-banner__sp ul li:nth-child(2){
    width: 42.5%;
  }
  .fixed-banner__sp ul li:nth-child(3){
    width: 14.8%;
  }
  .fixed-banner__sp a{
    display: block;
  }
  .fixed-banner__sp a img{
    width: 100%;
  }
  .fixed-banner__pc {
    display: none;
  }
  .fixed-box {
    width: 100%;
  }
}
#main{
  box-sizing: border-box;
  padding: 0 0 70px;  
/*  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;*/
}
@media screen and (max-width: 767px){
  #main{
    padding-bottom: 0;
    border-bottom: 3px solid #e6e5c6;
    margin-bottom: 10px;
  }
  #mainImageWrap{
    margin-bottom: 0;
  }
}

#sidebar{
  width: 220px;
}
#sidebar .sort {
    margin-bottom: 10px;
}
#sidebar #access {
    width: 100%;
    margin-top: 23px;
}
#sidebar #access #accessInner {
	border-color: #ecedce;
	background-color: #feffff;
  padding: 0 10px 13px;
    border-width: 1px;
    border-style: solid;
}
#sidebar #access #accessTitle {
    text-align: center;
    margin-bottom: 10px;
}
#sidebar #access p {
    margin-bottom: 10px;
    line-height: 140%;
    color: #666666;
}
.accessMap, #sidebar #access .accessTelBox {
  margin-bottom: 10px;
}
#sidebar #access .addressTitle {
    font-weight: bold;
    border-bottom: 1px dotted #999;
    margin-bottom: 3px;
}

/* navTypeCross news */
#sideNews{
  border: 2px solid #b7a253;
  background: #fff;
}
#sideNews .contentsBoxTitle {
	position: relative;
  background: url("img/sideNews_ttl_bg.jpg") repeat-x top center;
}
#sideNews .contentsBoxTitle p {
	background: url("img/icon_info_list.jpg") no-repeat 0 3px;	
	position: absolute;
  top: 4px;
  right: 10px;	
	padding-left: 16px;	    
}
#sideNews .contentsBoxTitle a.listLook {
	text-decoration: underline;
	font-size: 90%;
	line-height: 200%;
  color: #fff;
}
#sideNews .contentsBoxTitle a.listLook:hover {
	text-decoration: none;
}
#sideNews .contentsBoxBody {
  overflow-y: auto;
  height: 120px;
  margin: 0 5px 0 15px;
}
#sideNews .newsContentWrap {
	margin-bottom: 10px;
	border-bottom: 1px dotted #999;	
	padding-bottom: 8px;      
}
#sideNews .newsContentWrap p {
	line-height: 140%;
}
#sideNews .newsContentWrap .newsTitle span {
	font-weight: bold;
	line-height: 110%;
	margin-right: 5px;
}
#sideNews .newsContentWrap .newsTitle img {
	vertical-align: top;
}
#sideNews .newsContentWrap .clearfix {
}
#sideNews .newsContentWrap .clearfix img {
	float: left;
	margin-right: 10px;
}
#sideNews .newsContentWrap p a {
	text-decoration: none;  
}
#sideNews .newsContentWrap p a:hover {
	text-decoration: underline;
}
#sidebar .banner{
  text-align: center;
}
.freeArea{
  box-sizing: border-box;
  background: #eeeace;
  border: 1px solid #e0d9a7;
  padding-bottom: 10px;
}
.freeArea h2{
  text-align: center;
}
.freeArea .sideList{
  background: #fff;
  margin: 0 10px;
  padding-bottom: 10px;
}
.freeArea .sideList li{
  border-bottom: 1px dotted #999;
}
.freeArea .sideList li a{
  background: url("img/sideList_bg01.gif") no-repeat 8px 10px;
  color: #666666;
  text-decoration: none;
  display: block;
  padding: 8px 0 9px 27px;  
}
.freeArea .sideList li.subMenu a{
  background: url("img/sideList_bg02.gif") no-repeat 27px 13px;
  color: #666666;
  text-decoration: none;
  display: block;
  padding: 8px 0 9px 41px;  
}
#content{
  width: calc(100% - 240px); 
  margin-left: 20px;
  box-sizing: border-box;  
}
.navigationInner{
  padding-bottom: 10px;
}
.navigationInner li{
  margin-bottom: 3px;
}
.navigationInner li a {
  background: url("img/menu_bg.jpg") no-repeat center;
	    display: block;
    width: 220px;
    height: 40px;
    text-decoration: none;
    padding: 10px 0 2px 12px;
  color: #FFFFFF;
    font-size: 120%;
    font-weight: bold;
}
.navigationInner li a:hover, .navigationInner .current_page_item a{
	background: url("img/menu_bg_ov.jpg") no-repeat center;
  color: #0D50A1;
}
.navigationInner .sub-menu{
  display: none;
}
.navigationInner .current_page_item .sub-menu{
  display: block;
}
.navigationInner .sub-menu li {
	background-color: #fff;
	margin-bottom: 5px;
	width: 200px;
}
.navigationInner .sub-menu li a {
	background-image: url(img/sub_navi_bg.gif);
	background-position: 0px 10px;
	height: 32px;
  padding-top: 0;
	padding-bottom: 0px;
	color: #9dc641 !important;
}
#sidebar #banner{
	margin-top: 10px;
}
#sidebar #banner a{
  display: block;
  margin-bottom: 10px;
}
#sidebar #banner img{
  width: 100%;
  height: auto;
}
#sidebar #contact {
	width: 200px;
	margin-top: 0px;
	background-image: url(img/contact_bg.gif);
	background-repeat: no-repeat;
	height: 141px;
}
#sidebar #contact div.tel {
	background-repeat: no-repeat;
	background-position: left bottom;
	padding-bottom: 5px;
	margin-left: 9px;
	padding-top: 35px;
}

#sidebar #contact div.tel img{
	width:auto;
	height:auto;
}
#sidebar #contact div.tel p {
}
#sidebar #contact p.form {
	margin-top: 0px;
	margin-left: 12px;
  margin-bottom: 0;
}
#sidebar #contact p.form a {
	background-image: url(img/inquiry.gif);
	background-repeat: no-repeat;
	width: 174px;
	height: 27px;
	display: block;
	text-indent: -9999px;
	overflow: hidden;
	text-decoration: none;
}
#sidebar #contact p.text {
	margin-left: 12px;
	color: #59621C;
	margin-top: 3px;
	margin-bottom: 13px;
	letter-spacing: 0.1em;
	line-height: 1.6em;
}
#sidebar #contact h5 {
    display: none;
}
@media screen and (max-width: 980px) and (min-width: 768px){
  #content{
    padding: 0;
  }
}
@media screen and (max-width: 767px){
  #content{
    width: 100%;
    margin-left: 0;
  }  
  #main > .dis-flex{
    flex-wrap: wrap;
  }
  #sidebar{
    width: 100%;
    order:2;
    display: none;
  }
}

/*-----------------------------------------------------------
■ 3 Other Common Elements
-----------------------------------------------------------*/
/*--------------------------------------
	conversion section
--------------------------------------*/
.conversion {
  padding: 68px 0 52px;
  text-align: center;
  background: url("img/conversion_bg.png") no-repeat center;
  background-size: cover;
}
.conversion .conversion__title {
  margin-bottom: 42px;
  font-size: 35px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.conversion .conversion__text {
  margin-top: 30px;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 31px;
  font-family: dnp-shuei-mgothic-std, sans-serif;
  color: #5C88DA;
  font-weight: bold;
  margin-bottom: 47px;
}
.conversion .conversion__list {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 870px;
  margin: 0 auto;
  max-width: 100%;
  justify-content: space-between;
}
.conversion .conversion__list li + li {}
.conversion .conversion__list li {
  position: relative;
  z-index: 0;
  width: 48%;
}
.conversion .conversion__list li:hover img {
  opacity: 1;
}
.conversion .conversion__list li:after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgb(92, 136, 218);
  background: linear-gradient(180deg, rgba(92, 136, 218, 1) 0%, rgba(149, 190, 230, 1) 100%);
  border-radius: 66px;
  -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=20, Direction=124, Color=#95BEE6)"; /*IE 8*/
  -moz-box-shadow: 2px 3px 20px -5px rgba(149, 190, 230, 0.7); /*FF 3.5+*/
  -webkit-box-shadow: 2px 3px 20px -5px rgba(149, 190, 230, 0.7); /*Saf3-4, Chrome, iOS 4.0.2-4.2, Android 2.3+*/
  box-shadow: 2px 3px 20px -5px rgba(149, 190, 230, 0.7); /* FF3.5+, Opera 9+, Saf1+, Chrome, IE10 */
  filter: progid:DXImageTransform.Microsoft.Shadow(Strength=20, Direction=135, Color=#95BEE6); /*IE 5.5-7*/
  content: "";
  z-index: -1;
}
.conversion .conversion__list li:hover:After {
  background: #548AEF;
}
@media screen and (max-width: 767px) {
  .conversion .conversion__title {
    font-size: 28px;
  }
  .conversion .conversion__list {
    max-width: 535px;
    margin: 0 auto;
    width: 100%;
  }
  .conversion .conversion__list {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .conversion .conversion__list li + li {
    margin-top: 10px;
    margin-left: 0%;
  }
  .conversion .conversion__list li {
    width: 100%;
  }
}
/*-----------------------------------------------------------
■ 4 Elementor overwrite
-----------------------------------------------------------*/
.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
  padding: 0 !important;
}
.elementor img {
  width: auto !important;
}
.elementor-image-box-wrapper {
  display: block !important;
}
.elementor-widget-image-box .elementor-image-box-content {
  text-align: left !important;
}
.elementor-image-box-title {
  padding: 10px 20px;
  margin-bottom: 20px;
  overflow: hidden;
  font-size: 18px;
  line-height: 1.4;
  color: #fff;
  background: #3dc2b7;
}
.elementor-image-box-img {
  float: right;
  display: block !important;
  width: auto !important;
  margin: 0 0 10px 20px !important;
  text-align: center;
  text-align: right;
}
.elementor-position-left .elementor-image-box-img{
  float: left;
  margin: 0 20px 10px 0 !important;
}
.auto_width .elementor-image-box-img {
  width: auto !important;
}
.elementor-widget-image .elementor-image > a, .elementor-widget-image .elementor-image figure > a {
  display: inline-block !important;
}
.elementor-widget-image .elementor-image > a:hover img, .elementor-widget-image .elementor-image figure > a:hover img {
  opacity: 0.8 !important;
}
.elementor-slideshow__header {
  width: calc(100% - 50px) !important;
  padding-left: 0em !important;
  padding-right: 0em !important;
}
.elementor-text-editor ul {
  list-style: inside;
}
.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
@media screen and (max-width: 767px) {
  .elementor-image-box-img, .elementor-position-left .elementor-image-box-img {
    float: none;
    width: 100% !important;
    margin: 0 auto 20px !important;
    text-align: center;
  }
}

.index-01 {
    margin-bottom: 3px;
}
.contentInner{
  margin: 0 20px;
}
.top1{
  flex-wrap: wrap;
  justify-content: space-between;
}
.top1 h3{
  text-align: center;
}
.topBns{
  width: 49.2%;
  box-sizing: border-box;
  background: #f9f9f1;
  border: 2px solid #e4e3b5;
  padding: 0 10px 40px;
  position: relative;
  margin-bottom: 10px;
}
.top-img1{
  box-shadow: 0 0px 5px 2px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 1;
}
ul.topListA{
  min-height: 75px;
}
ul.topListA li {
  padding: 0 0 0 17px;
  background: url("img/sideList_bg01.gif") no-repeat 0 5px;
  line-height: 1.7em;
  list-style: none;
}
ul.topListA li a{
  text-decoration: underline;
}
.top-deco{
  position: absolute;
  right: 9px;
  bottom: 10.4%;
  width: 44%;
  margin-bottom: 0;
}
.top-btn{
  position: absolute;
  bottom: 11px;
  left: 10px;
  right: 10px;
  text-align: center;
}
@media screen and (max-width: 920px) and (min-width: 768px){
  .topBns{
    padding-bottom: calc(11px + 3.5vw);
  }
  .top-deco{
    bottom: calc(11px + 3vw);
  }
}

.top2{
  background: url("img/topBgBox01_bg.png") no-repeat top center / 100% auto;
  padding-top: 15px;
}
.innerBox01{
  margin: 0 21px 10px;
  justify-content: space-between;
}
.topBns02{
  width: 49.1%;
  position: relative;
}
.topBns02 ul.topListB, .topBns03 ul.topListB {
    position: absolute;
    top: 42px;
    left: 10px;
    z-index: 1;
}
.topBns02 ul.topListB li, .topBns03 ul.topListB li {
    padding: 0 0 0 15px;
    background: url("img/topIcon02.gif") no-repeat left 5px;
    line-height: 1.5em;
    list-style: none;
}
.topBns02 ul.topListB li a, .topBns03 ul.topListB li a{
  text-decoration: underline;
}
.topBns03{
 position: relative;
  margin: 0 21px;
}
.innerImgBox img, .topBns03 img{
  width: 100% !important;
  height: auto !important;
}
@media screen and (max-width: 890px) and (min-width: 768px) {
  .topBns02 ul.topListB, .topBns03 ul.topListB{
    top: 4vw;
  }
  .topBns02 ul.topListB li, .topBns03 ul.topListB li{
    line-height: 1.2;
  }
}
@media screen and (max-width: 767px) {
  .contentInner{
    margin: 0;
  }
  .topBns{
    width: 100%;
    margin: 0 auto 15px;
    max-width: 400px;
  }
  .topBns img, .topBns02 img{
    text-align: center;
  }
  .top-img1 img, .topBns02 img{
    width: 100% !important;
    height: auto !important;
  }
  ul.topListA{
    min-height: inherit;
    padding-bottom: 5vw;
  }
}
@media screen and (max-width: 630px) {
  .innerBox01{
    display: block;
  }
  .topBns02{
    width: 100%;
    margin: 0 auto 15px;
    max-width: 350px;
  }
  .topBns02 ul.topListB, .topBns03 ul.topListB{
    top: 8vw;
  }
}

.header-phone{
  border-top:3px solid #e6e5c6;
  border-bottom:3px solid #e6e5c6;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;  
  font-size: x-small;
  box-sizing: border-box;
  padding: 5px 0;
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  #wrapper.small{
    font-size: 120%;
  }
  #footer{
    border-top: none;
  }
  .footer-sp{
    display: flex !important;
    flex-wrap: wrap;
  }
  .copyright{
    text-align: center;
    width: 100%;
  }
  .home .copyright{
    order:3;
    padding-bottom: 20px;
  }
  .home #main{
    padding-bottom: 0;
  }
}
.footer-sp ul{
  border-bottom:3px solid #e6e5c6;
  width: 100%;
  box-sizing: border-box;
  margin-top: 10px;
}
.sp_menu, .footer-info{
  width: 100%;
  box-sizing: border-box;
}
.sp_menu ul{
  padding: 10px 0 5px;
}
.footer-sp li{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  font-size: 200%;
  align-items: center;
  padding-left: 10px;
}
.sp_menu li:before{
  content:"◎";
  color: #744211;
  font-size: x-small;
}
.footer-sp li a{
  color: #cda581;
  display: flex;
  align-items: center;
  line-height: 1.6;
}
.footer-sp li i{
  display: block;
  line-height: 1px;
  margin: -5px 5px 0 0;
}
.footer-info{
  color: #666;  
   border-bottom:3px solid #e6e5c6;
  padding: 20px 5px;
  font-size: 130%;
  line-height: 2;
}
.footer-info h3{
  text-align: center;
  font-size: 160%;
}
.footer-info dd{
  margin-left: 40px;
}
.footer-link{
  border-bottom:3px solid #e6e5c6;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
.footer-sp .footer-link li i img{
  width: 12px !important;
  height: 12px !important;
}

#socialbuttons{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
#socialbuttons > div{
  margin-left: 5px;
}
#socialbuttons .social-twitter iframe{
  width: 100px !important;
  height: 25px !important;
}
#socialbuttons .social-facebook .fb_iframe_widget_fluid span{
  width: 102px !important;
  height: 50px !important;
}
#socialbuttons .social-facebook .fb_iframe_widget_fluid span iframe{
  width: 102px !important;  
}
.home .footer-sp #socialbuttons{
  order:1;
    margin-top: 10px;
}
.home .footer-sp .footer-info{
  order:2;
}
.home .footer-sp .footer-link{
  order:3;
}
@media screen and (min-width: 768px) {
  .col_right{
    float: right;
    width: calc(100% - 290px);
  }
}