@charset "utf-8";
/*
Theme Name: genova_tpl
Theme URI: http://genova.co.jp/
Description: genova template.
Version: 1.0
*/
/* =====================================
■BASE
===================================== */

:root {
  --color1: #F2EFD4;
  --color2: #8DB91F;  
}
.fnt-notoserif{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-style: normal;
}

.fnt-zenmaru{
  font-family: 'Zen Maru Gothic';
  font-style: normal;
  font-weight: 400;
}
.fwm{
	font-weight: 500;
}

.fwsb{
	font-weight: 600;
}

.fwb{
	font-weight: 700;
}

/*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}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-size:inherit;font-weight:inherit;*font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}

html {
  font-size: 62.5%;
}
body {
	position: relative;
	font-family: 'Zen Maru Gothic';
	font-style: normal;
	font-weight: 500;
	font-size: 1.6em;
	letter-spacing: .1em;
	line-height: 2em;
	color: #525043;
	background: #fff;
	-webkit-text-size-adjust: 100%;
}

body.home {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
}


*, *::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;
	-moz-transition-duration: 0.7s;
	-o-transition-duration: 0.7s;
	-webkit-transition-duration: 0.7s;
	transition-duration: 0.7s;
}

a[href^="tel:"] {
	pointer-events: none;
	cursor: text;
}

a:focus, *:focus {
	outline: none;
}

a:hover img {
	opacity: 0.8;
}

img {
	width: auto;
	max-width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	height: auto;
}

p {
	margin-bottom: 20px;
}

p:last-child {
	margin-bottom: 0;
}

table {
	width: 100%;
}

strong {
	font-weight: bold;
}
.elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated{
  padding: 0 !important;
}

@media screen and (max-width: 767px) {
  
	a[href^="tel:"] {
		pointer-events: auto;
		cursor: pointer;
	}

	.auto_height {
		height: auto!important;
	}

}

i {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  line-height: 1;
}

/* =====================================
■MODULE
===================================== */

/*--------------------------------------
	shortcuts
--------------------------------------*/

/*margin */
.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;
}
/* clears */
.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;
}
.h3-noimage {
  margin-top: 35px;
}
/*--------------------------------------
	text color
--------------------------------------*/

.txt_link {
	vertical-align: top;
	text-decoration: underline!important;
	color: var(--color1)!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;
}

/*--------------------------------------
Icon fonts
--------------------------------------*/
@font-face {
  font-family: 'icomoon';
  src: url('img/fonts/icomoon.eot');
  src: url('img/fonts/icomoon.eot#iefix') format('embedded-opentype'), url('img/fonts/icomoon.ttf') format('truetype'), url('img/fonts/icomoon.woff') format('woff'), url('img/fonts/icomoon.svg#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class*='icon-']:not([class*='eicon-']):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-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";
}
/*--------------------------------------
Pc sp change
--------------------------------------*/
.sp {
  display: none !important;
}
.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;
  }
}
/* =====================================
■Layout
===================================== */
.active_nav {
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
body.active_nav, body.active_nav *, body.active_nav *:hover, body.active_nav *:focus, body.active_nav *:active {
  pointer-events: none !important;
  -ms-touch-action: none !important;
  touch-action: none !important;
}
body.active_nav #menu_toggle,
body.active_nav .header__logo,
body.active_nav .toggleMenu, body.active_nav #menu_toggle, body.active_nav #menu_toggle * {
  pointer-events: visible !important;
  -ms-touch-action: auto !important;
  touch-action: auto !important;
}
/*--------------------------------------
container
--------------------------------------*/
.container {
  width: 100%;
  max-width: 1140px;
  padding: 0 30px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
.container:after {
  content: "";
  display: block;
  clear: both;
}
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: none !important;
  padding: 0;
}
@media (max-width: 767px) {
  .container {
    padding: 0 16px;
  }
}
/*--------------------------------------
header
--------------------------------------*/
#main {
  position: relative;
}
#wrapper {
  height: 100%;
  padding-top: 94px;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
}
.home #wrapper {
	padding-top: 0;
}

@media screen and (max-width: 767px) {
	.home #wrapper,
  #wrapper {
    padding-top: 78px;
  }
}
#header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  box-sizing: border-box;
  
}
#header::after {
    content: "";
    background: #fff;
    box-shadow: 0 3px 6px rgba(105, 105, 105, 0.16);
    height: 94px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0.74;
	z-index: 1;
}






/* gnav */
.g_nav {
  display: flex;
  justify-content: flex-end;
  position: relative;
}
.g_nav > li {
  vertical-align: middle;
  margin-left: 49px;
  position: relative;
}
.g_nav li a, .g_nav li span {
  display: block;
  color: #525043;
  line-height: 94px;
  font-size: 16px;
  cursor: pointer;
  -moz-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  -webkit-transition-duration: 0.7s;
  transition-duration: 0.7s;
  position: relative;
  letter-spacing: 0.02em;

    font-family: 'Zen Maru Gothic';
    font-style: normal;
    font-weight: 700;
	
}
.g_nav li a::after {
	content: "";
	background: #B5C68B;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	height: 11px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	
}

.g_nav li.page_item a::after,
.g_nav li a:hover::after {
	opacity: 1;
}
.g_nav > li:nth-child(1) a{
}


.g_nav > li:first-child {
  margin-left: 0;
}

.g_nav .menu-item-has-children .up-menu{
  position: relative;
}
/*.g_nav .menu-item-has-children .up-menu:before{
  content:"";
  position: absolute;
  bottom: 2px;
  left: calc(50% - 5px);
  background: url("img/menu_arrow.png") no-repeat top center;
  width: 11px;
  height: 9px;  
  transition: ease 0.3s;
  opacity: 0;
}*/
.g_nav .sub-menu{
  position: absolute;
  top: 80px;
  left: -90px;
  background: #F2F6F9;
  box-sizing: border-box;
  width: 250px;
  z-index: 1;
  transition: ease 0.3s;
  opacity: 0;
  pointer-events: none;
}
.g_nav .sub-menu li a{
  font-size: 16px;
  line-height: 30px;
  color: #22201E;
  padding: 8px 20px 8px 30px;
  position: relative;
}
.g_nav .sub-menu li a:before{
  content: "";
  position: absolute;
  top: 18px;
  left: 20px;
  background: url("img/menu_arrow.png") no-repeat center;
  width: 8px;
  height: 12px;
}
.g_nav .sub-menu li a:hover{
  background: #AAB3CE;
}
.g_nav .menu-item-has-children:hover .up-menu:before, .g_nav .menu-item-has-children:hover .sub-menu{
  opacity: 1;
  pointer-events: visible;
}
@media screen and (min-width: 768px) {

  .g_nav {
    display: flex !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1229px) {
	.g_nav > li {
		margin-left: 25px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  #header{
    padding-right: 30px;
  }
  .g_nav > li{
    margin-left: 15px;
  }

	.g_nav li a, .g_nav li span {
		font-size: 14px;
	}
}




@media screen and (max-width: 767px) {
	#header::after {
        height: 78px;
        z-index: 2;
	}
  /* logo */

  .toggleMenu {
    width: 78px;
    height: 78px;
    box-sizing: border-box;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1000;
    background: #ACCE56;
  }
  .menu-trigger, .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .menu-trigger {
    position: relative;
    margin: 0;
    width: 78px;
    height: 78px;
  }
  .menu-trigger span {
    position: absolute;
    left: 28px;
    width: 27px;
    height: 2px;
    background: #fff;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 30px;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 38px;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 30px;
  }
  .toggleMenu.active .menu-trigger span:nth-of-type(1) {
    -webkit-transform: translateY(5px) rotate(-45deg);
    transform: translateY(5px) rotate(-45deg);
    top: 32px;
  }
  .toggleMenu.active .menu-trigger span:nth-of-type(2) {
    opacity: 0;
  }
  .toggleMenu.active .menu-trigger span:nth-of-type(3) {
    -webkit-transform: translateY(-3px) rotate(45deg);
    transform: translateY(-3px) rotate(45deg);
    bottom: 35px;
  }
  #header.openNav {
    position: fixed;
  }
  #header .g_nav {
    display: none;
  }
  #header .header__menu-container {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow-y: auto;
    z-index: 999;
    transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    -webkit-transition: all 0.5s ease 0s;
    padding: 75px 0 0;
    box-sizing: border-box;    
    background: #F7F5E2;
  }
  .g_nav {
    display: block;
    margin-top: 0;
    padding: 30px 30px 20px;
  }
  .g_nav li {
    position: relative;
    border-left: none;
    border: none;
    padding: 0;
    margin: 3px 0;
  }
  .g_nav li:after {
    display: none;
  }
  .g_nav li a, .g_nav li span {
    width: 100%;
    padding: 22px 40px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    height: auto;
    font-size: 16px;
    letter-spacing: 0.06em;
    line-height: 1;
    background: #fff;

  }
	.g_nav li a::after {
		display: none;
	}
	.g_nav li a::before {
        content: "";
        background: url(img/top/icon_li.svg) no-repeat center;
        width: 7px;
        height: 10px;
        position: absolute;
        top: 50%;
        margin-top: -5px;
        left: 23px;
	}
  .g_nav > li:first-child a{
    margin: 0 auto;
  }
.g_nav li a:hover, .g_nav li span:hover{
  color: var(--color2);
}
	
  .g_nav > li > a span, .g_nav > li > span span {
    margin: 0;
  }
  .g_nav .menu-item-has-children .up-menu span:before{
    display: none;
  }
  .g_nav .menu-item-has-children .up-menu span:after {
    content: "";
    position: absolute;
    top: 50%;
    border-right: 1px solid #333;
    border-top: 1px solid #333;
    width: 10px;
    height: 10px;
    margin-top: -8px;
    right: 31px;
    -moz-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    transform: rotate(135deg);
  }
  .g_nav > li.hover > span:after {
    transform: rotate(-45deg);
    margin-top: -2px;
  }
  .g_nav > li.hover > span.parent {
    padding-bottom: 15px;
  }
  
  .g_nav > li ul {
    position: inherit;
    display: none;
    top: 0;
    padding: 0;
  }
  .g_nav > li ul li {
    display: block;
    margin-right: 0;
  }
  .g_nav > li ul li:last-child {
    border: none;
  }
  .g_nav > li ul a {
    display: block;
    padding: 0 0 5px;
    color: #fff;
    text-align: center;
  }
  .g_nav > li.hover ul {
    display: block;
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
  }
  /*スマホ時サブメニューが消える現象を回避*/
  .g_nav > li > span {
    position: relative;
  }
  .g_nav .sub-menu{
    position: relative;
    width: 100%;
    top: 0;
    left: 0;    
    display: none;
    padding: 0;    
  }
  .g_nav .sub-menu li a{
    font-size: 16px;
    text-align: left;
  }
  .active_nav #header.openNav .header__menu-container {
    opacity: 1;
    pointer-events: visible !important;
    visibility: visible;
  }
  .g_nav .menu-item-has-children.hover .up-menu span:after{
    transform: rotate(-45deg) translateY(80%);
  }
  .menu-header-container{
    margin-bottom: 25px;
  }
  .header__menu-container .sp li{
    margin-bottom: 10px;
  }
  .header__menu-container .sp li:last-child{
    margin: 33px auto 0;
    width: 29px;
  }
}


.header__logo {
	position: fixed;
	z-index: 1001;
	width: 232px;
	top: 19px;
	left: 34px;
}

@media screen and (max-width: 767px) {
.header__logo {
	top: 18px;
	left: 17px;
	width: 187px;
}
}
.header_nav {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 2;
}
.header_nav p {
	margin-bottom: 0;
}
.header_nav .header__menu-container {
	position: relative;
	height: 94px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.header_nav .header__menu-container .sns__sub {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	position: absolute;
	bottom: 30px;
	left: 30px;
	right: 30px;
	justify-content: space-between;
	align-items: center;
}
.header_nav .header__menu-container .sns__sub a {
	display: block;
}
.header_nav .header__menu-container .sns__sub p {
	width: 50%;
	font-size: 16px;
	text-align: center;
}
.header_nav .header__menu-container .sns__sub p span {
	display: inline-block;
	position: relative;
	padding: 12px 0px;
}
.header_nav .header__menu-container .sns__sub p span::before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -30px;
}
.header_nav .header__menu-container .sns__sub .sns__sub-tel {
	background: #0098D9;
}
.header_nav .header__menu-container .sns__sub .sns__sub-tel a {
	color: #fff;
}
.header_nav .header__menu-container .sns__sub .sns__sub-tel span::before {
	width: 21px;
	height: 24px;
	background: url(./img/top/icon_tel02.svg) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
}
.header_nav .header__menu-container .sns__sub .sns__sub-contact {
	background: url(./img/top/bg_mem_sp.jpg) no-repeat 45% 50%;
	color: #525043;
}

.header_nav .header__menu-container nav {
	padding-right: 220px;
}
.header_nav .header__menu-container .bnr__recruit {
	display: block;
	position: absolute;
	top: 22px;
	right: 17px;
}
.header_nav .header__menu-container .bnr__recruit a {
	display: block;
	background: url(./img/top/icon_mem_bg.png) no-repeat center;
	border-radius: 30px;
	overflow: hidden;
	width: 163px;
	height: 53px;
	line-height: 53px;
	text-align: center;
	transition: all .4s ease;
}
.header_nav .header__menu-container .bnr__recruit a:hover {
	opacity: .6;
}
.header_nav .header__menu-container .bnr__recruit a span {
	padding-left: 30px;
	position: relative;
}

@media screen and (max-width: 767px) {
.header_nav {
	bottom: 0;
	opacity: 0;
	visibility: hidden;
}
.header_nav p {
	margin-bottom: 0;
}
.header_nav .header__menu-container {
	height: auto;
	display: block;
}
.header_nav .header__menu-container nav {
	padding-right: 0;
}
.header_nav .header__menu-container .bnr__recruit {
	display: none;
}
}

@media screen and (max-width: 767px) {
.active_nav .header_nav {
	opacity: 1;
	visibility: visible;
}
	
	

	
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
	.header__logo {
        width: 140px;
        top: 29px;
        left: 10px;
	}
	.header_nav .header__menu-container nav {
		padding-right: 160px;
	}
	.header_nav .header__menu-container .bnr__recruit a {
		font-size: 14px;
    width: 120px;
    height: 45px;
    line-height: 45px;
		    background: url(./img/top/icon_mem_bg.png) no-repeat 20% 50%;
	}
}


#ft-fixed {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 123;
}
#ft-fixed img {
	vertical-align: bottom;
}
#ft-fixed .ft-fixed__shared {
	background: #0098D9;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	color: #fff;
	justify-content: space-between;
}
#ft-fixed p {
	margin-bottom: 0;
}
#ft-fixed a {
	display: block;
	position: relative;
	color: #fff;
}
#ft-fixed .sns__sub-tel {
	font-size: 21px;
	color: #fff;
	position: relative;
	width: calc(100% - 60px);
	text-align: center;
}
#ft-fixed .sns__sub-tel::before {
	content: "";
	background: url(./img/top/icon_tel02.svg) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 21px;
	height: 24px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 10%;
}
#ft-fixed .sns__up {
	background: #BCBAAE;

	width: 60px;
}
#ft-fixed-pc {
	position: fixed;
	bottom: 50px;
	right: 20px;
	z-index: 123;
}
#ft-fixed-pc .ft-fixed__shared p {
	width: 60px;
	height: 60px;
	line-height: 60px;
	border-radius: 50%;
	overflow: hidden;
	margin-left: auto;
}
#ft-fixed-pc .ft-fixed__shared p img {
	vertical-align: unset;
}
#ft-fixed-pc .ft-fixed__shared .sns__sub-tel {
	margin-bottom: 15px;
	background: #0098D9;
	border-radius: 30px;
	position: relative;
	transition: all .4s ease;
}
#ft-fixed-pc .ft-fixed__shared .sns__sub-tel::before {
	content: "";
	background: url(./img/top/icon_tel02.svg) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 21px;
	height: 24px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 20px;
}
#ft-fixed-pc .ft-fixed__shared .sns__sub-tel span {
	font-size: 25px;
	color: #fff;
	display: block;
	text-align: right;
	letter-spacing: 3px;
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 17px;
	right: 34px;
	transition: all .4s ease .1s;
	line-height: 1;
	width: 278px;
}
#ft-fixed-pc .ft-fixed__shared .sns__sub-tel:hover {
	width: 278px;
}
#ft-fixed-pc .ft-fixed__shared .sns__sub-tel:hover span {
	opacity: 1;
	visibility: visible;
}
.toggleMenu {
	display: none;
}

@media screen and (max-width: 767px) {
.toggleMenu {
	display: block;
}
}



/*--------------------------------------
SIDE
--------------------------------------*/
#sidebar {
  display: none;
}
/*--------------------------------------
CONTENT BOTTOM
--------------------------------------*/

.ipad {
  display: none;
}
@media screen and (max-width: 860px) and (min-width: 768px) {
  .ipad {
    display: block;
  }
}
/*--------------------------------------
FOOTER
--------------------------------------*/

#footer {
	background: #FAF9ED;
	padding: 55px 0;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
}
#footer p {
	margin-bottom: 0;
	line-height: 1;
}
#footer .logo {
	width: 232px;
	margin-bottom: 59px;
}
#footer .banner__link {
	width: 220px;
	position: absolute;
	top: 0;
	right: 5px;
}
#footer .footer__add {
	color: #525043;
	position: relative;
	font-size: 10px;
}
#footer .footer__add a:hover {
	text-decoration-line: underline;
	text-underline-offset: 2px;
}
#footer .footer__add .sitemap {
	margin-top: 20px;
}
#footer .footer__add .copyright {
	position: absolute;
	bottom: 3px;
	right: 0;
	text-align: right;
	letter-spacing: 1px;
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
	#footer {
		padding-left: 30px;
		padding-right: 30px;
	}
}
@media screen and (max-width: 767px) {
#footer {
	padding: 50px 20px 120px;
}
#footer .logo {
	width: 232px;
	margin: 0 auto 25px;
}
#footer .banner__link {
	width: 220px;
	position: relative;
	left: 0;
	top: 0;
	right: 0;
	margin: 0 auto 30px;
}
#footer .footer__add {
	font-size: 13px;
	text-align: center;
}
#footer .footer__add a:hover {
	text-decoration: none;
}
#footer .footer__add .sitemap {
	margin-top: 10px;
	margin-bottom: 10px;
}
#footer .footer__add .copyright {
	position: relative;
	bottom: 0;
	right: 0;
	text-align: center;
}
}


@media screen and (min-width: 768px) and (max-width: 1229px) {
	#footer .footer__add .copyright,
	#footer .banner__link {
		right: 85px;
	}

}


@media screen and (max-width: 767px) {
  .dis-flex-sp {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
  }
}
#wpfront-scroll-top-container {
  right: 20px !important;
  bottom: 60px !important;
}
#wpfront-scroll-top-container:hover img {
  opacity: 0.8 !important;
}


iframe {
  width: 100%;
  height: 100%;
}
.link_txt {
  text-decoration: underline !important;
}
.link_txt:hover {
  text-decoration: none !important;
}
.fixed_box {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 999;
  -moz-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  -webkit-transition-duration: 0.7s;
  transition-duration: 0.7s;  
  transition: ease 1s;
  display: flex;
  color: #fff;
}

.fixed_box li a{
  display: block;
}
@media screen and (min-width: 768px) {
  .fixed_box{
    width: 680px;
  }
}
@media screen and (max-width: 767px) {
  .fixed_box{
    background: #6D89E3;
    width: 100%;
  }
  .fixed_box li:nth-child(1){
    width: 54.1%;
  }
  .fixed_box li:nth-child(2){
    width: 45.9%;
  }
  .fixed_box a img{
    width: 100%;
  }
}
.ipad{
  display: none;  
}
@media screen and (min-width: 768px) and (max-width: 980px) {
 .ipad{
    display: block;  
  }   
}

#ins_global{
  text-align: center;
  background: rgba(88,149,91,0.09);
  padding: 42px 0;  
}
#ins_global ul{
  justify-content: center;
  font-size: 12px;
  letter-spacing: 0;
  line-height: 17px;   
}
#ins_global li{
    min-width: 180px;
  }
#ins_global a{
  color: #333;
  display: block;    
} 
#ins_global p{
  margin-top: 10px;
}
@media screen and (min-width: 768px){
  #ins_global li{
   margin: 0 8px; 
  }
}
@media screen and (max-width: 767px){
  #ins_global{
    padding: 42px 0 5px;
  }
  #ins_global ul{
    flex-wrap: wrap;      
  }
  #ins_global li{
    min-width: inherit;
    margin: 0 19px 35px;
  }
  #ins_global a i{
    width: 32px;
    margin: 0 auto;
  }
  #ins_global a p{
    margin-top: 8px;
  }
}

#bnr-global{
  margin: 48px auto;
}
#bnr-global ul{
  justify-content: space-between;
}
#bnr-global li{
  width: 30.6%;
}
#bnr-global li a{
  display: block;
}
@media screen and (max-width: 1000px) and (min-width: 768px){
  #bnr-global li{
    width: 31.2%;
  }
}
@media screen and (max-width: 767px){
  #bnr-global{
    margin: 40px 0;
  }
  #bnr-global li{
    width: 100%;
    margin-bottom: 20px;
  }
}
.color-global{
  color: #326500;
}

.cl-red {
	color: #A07153;
}
.cl-red-light {
	color: #EFBA99;
}
.cl-yellow {
	color: #A2963C;
}
.cl-yellow-light {
	color: #EFE16B;
}
.cl-green {
	color: #89A247;
}
.cl-green-light {
	color: #B8D173;
}
.cl-green-dark {
	color: #8DB91F;
}
.cl-pink {
	color: #B57B8C;
}
.cl-pink-light {
	color: #F5B8CB;
}
.cl-blue {
	color: #71A4B2;
}
.cl-blue-light {
	color: #A0D6E6;
}

.df{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
@media screen and (min-width: 768px) {
  .df-pc{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
  }
}
.txt-vertical {
    cursor: vertical-text;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    word-wrap: break-word;
}
.ob-img {
    background-size: cover;
    background-position: center center;
    position: relative;
}

.ob-img img {
    object-fit: cover;
    width: 100% !important;
    height: 100% !important;
}
@media screen and (min-width: 768px) {
    .ob-img img {
        position: absolute;
        top: 0px;
        left: 0px;
        right: 0px;
        bottom: 0px;
    }
	.d__flex {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}
	.d__flex.jus {
		justify-content: space-between;
	}
	.dir {
		flex-direction: row-reverse;
	}
}

.wrap {
	max-width: 1100px;
	position: relative;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 767px) {
.wrap {
	padding-left: 20px;
	padding-right: 20px;
}
}

@media screen and (max-width: 361px) {
	footer .wrap {
		padding-left: 0;
		padding-right: 0;
	}
}

