body{
	font-family: 'M PLUS 1p', sans-serif !important;
}

.p-1_25rem{
	padding: 1.25rem !important;
}
.px-1_25rem{
	padding-left: 1.25rem !important;
	padding-right: 1.25rem !important;
}
.py-1_25rem{
	padding-top: 1.25rem !important;
	padding-bottom: 1.25rem !important;
}

.objectfit-cover{
	object-fit: cover;
}
.objectfit-contain{
	object-fit: contain;
}




.pl-footer{
	padding-left: 10%;
}


.nm-text *{
	font-size: 1.0rem !important;
}
.lg-text *{
	font-size: 1.5rem !important;
}

/*
 * パンくずリスト
 */
.l-breadcrumb{
	padding-left: 0;
}
.l-breadcrumb li{
	display: inline;
	list-style: none;
	font-size: small;
}
.l-breadcrumb li a{
	color: #313131;
}
.l-breadcrumb li:not(:last-child)::after{
	content: ">";
	padding-left: 0.4rem;
	padding-right: 0.4rem;
}

/*
 * 色関係
 */

.bg-green{
	background-color: #2BCEA8 !important;
}

/*
 * スタイル
 */

.navbar-brand img{
	width: 7.5rem;
}
.rounded-right-0{
	border-radius: 0.25rem 0 0 0.25rem !important;
}
.outline-gray{
	border-color: #ced4da !important;
}
@media (min-width: 576px) {
	.navbar-brand img{
		width: 10rem;
	}
}
@media (min-width: 992px) {
	.navbar-brand img{
		width: 25rem;
	}
}

.col-1_10{
	width: calc(100% / 7);
}

.pc-globalmenu > .hoverdown .hoverdown-menu{
	position: absolute;
	overflow: hidden;
	height:0;
}

.pc-globalmenu > .hoverdown:hover .hoverdown-menu{
	overflow: visible;
	height: auto;
	z-index: 1000;

	animation: fadeIn 0.2s ease 0s 1 normal;
}

@keyframes fadeIn {
	0% {
	    opacity: 0;
	}
	100% {
		opacity: 1;
    }
}

.widget_area img{
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: left top;
}

/* sectionタグ部分のminheightを定義 */
section{
	min-height: 50vh;
}

/* 固定ページタイトルエリア */
#title{
	height: 10rem;
}


.svg-arrow{
	width: 1rem;
	height:1rem;
}

/* ------------------------------------------------
 * モバイルメニュー
 * */
.body {
  height: 100%;
  overflow-x: hidden;
  position: relative;
}
.overlay {
	padding-top: 4rem;
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity .5s;
}
.overlay.open {
  width: 100%;
  height: 100%;
  opacity: 1;
}
main {
  height: 100%;
  min-height: 100vh;
  padding: 0 50px;
  background-color: #eee;
  transition: all .5s;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
main.open {
  transform: translateX(-250px);
}
main h1 {
  text-align: center;
  font-weight: 500;
}
main p {
  text-align: center;
}
.menu-trigger {
  display: block;
	float: right;
  width: 2.5rem;
  height: 2.5rem;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
  right: 0px;
	margin-right: 0.5rem;
  z-index: 100;
/*   transform: translateX(0);
  transition: transform .5s;
 */}
/* .menu-trigger.active {
  transform: translateX(-250px);
}
 */
.inmenu-trigger {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
  right: 0px;
	margin-right: 0.5rem;
}
.menu-trigger.active{
	z-index:60;
}
.menu-trigger span, .inmenu-trigger span {
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #000;
  transition: all .5s;
}
.menu-trigger.active span,.inmenu-trigger.active span {
  background-color: #000;
}
.menu-trigger span:nth-of-type(1), .inmenu-trigger span:nth-of-type(1) {
  top: calc(20% - 2px);
}
.menu-trigger.active span:nth-of-type(1), .inmenu-trigger span:nth-of-type(1) {
  transform: translateY(12px) rotate(-45deg);
}
.menu-trigger span:nth-of-type(2), .inmenu-trigger span:nth-of-type(2) {
  top: calc(50% - 2px);
}
.menu-trigger.active span:nth-of-type(2), .inmenu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger span:nth-of-type(3), .inmenu-trigger span:nth-of-type(3) {
  top: calc(80% - 2px);
}
.menu-trigger.active span:nth-of-type(3), .inmenu-trigger.active span:nth-of-type(3) {
  transform: translateY(-12px) rotate(45deg);
}

nav.nav-mb {
  width: 280px;
  height: 100%;
  background-color: rgb(255, 255, 255, 1);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  transform: translate(-280px);
  transition: all .5s;
	padding-bottom:5rem;
}
@media(max-width: 350px){
	nav.nav-mb {
		width: 70vw;
		height: 100%;
		background-color: rgb(255, 255, 255, 1);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		transform: translate(-70vw);
		transition: all .5s;
		padding-bottom:5rem;
	}
}
nav.nav-mb.open {
  transform: translateZ(0);
}
nav.nav-mb>.yohaku{
	height: 4rem;
}
nav.nav-mb li {
  color: #fff;
  text-align: left;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	
}
nav.nav-mb .dropdown-menu a{
	white-space: normal;
}
/* モバイルメニューが開いているときに、右半分エリアに透明でダミーで隠すもの */
.nav-mb-haikeikakushi.active{
	display:none;
}
.nav-mb-haikeikakushi.active{
	display:block;
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	z-index:50;
}

body.noscroll:not(.nav-mb){
	overflow: hidden;
}