body{
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 500;
	font-size: 16px;
	font-feature-settings : "palt";
	color: #333f48;
    margin: 0;
    padding: 0;
	animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

.clearfix:after{
	content: "";
	display: block;
	clear: both;
}

main{
	margin-right: auto;
  	margin-left : auto;
	width: 100%;
}
a {
	color: #4db69e;
	text-decoration: none;
}
a:hover {
	color: #1D866E;
	text-decoration: none;
}

a.opa:hover {
	opacity: 0.8;
}

a.link_tel,
a.link_tel:hover {
	color: #333f48;
}


.haba{
	width: 1000px;
	margin:auto;
}
.subCon .haba{
	margin:60px auto 30px;
	overflow: hidden;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

main{
	width: 100%;	
	margin: auto;
}
section {clear: both;}
a:hover { color: #1D866E; }

p {line-height: 200%;}
li { list-style:  none;}
.clear { clear: both;}
.center {text-align: center;}




/* ---- 透明ボタン ---- */


a.btn_clear {
	display: inline-block;
	color: #FFFFFF;
	text-align: center;
	text-decoration: none;
	letter-spacing: 1px;
	border: solid 2px #FFFFFF;
    border-radius: 30px;
	padding: 17px 0;
	transition: 0.8s;
	/* font-size: 各要素に記述 */
	/* width: 各要素に記述 */
	/* margin: 各要素に記述 */
}

a.btn_clear:hover {
	background: rgba(255,255,255,.3);
}

_:lang(x)::-ms-backdrop, a.btn_clear {
    padding-top: 21px;
} 


/* ---- 緑線ボタン ---- */


a.btn {
	display: inline-block;
	color: #4DB69E;
	background: #f5f9f8;
	text-align: center;
	text-decoration: none;
	border: solid 2px #4db69e;
	border-radius: 30px;
	padding: 17px 0;
	transition: 0.5s;
	/* font-size: 各要素に記述 */
	/* width: 各要素に記述 */
	/* margin: 各要素に記述 */
}


a.btn:hover {
	color: #ffffff;
	background: #4DB69E;
}

_:lang(x)::-ms-backdrop, a.btn {
    padding-top: 21px;
}


/* ---- 文字色 ---- */

.FC_Green {
	color: #4db69e !important;
}


/*ページトップへいくボタン*/

.pagetop {
    position: fixed;
    bottom: 80px;
    right: 20px;
}

.pagetop a {
    text-decoration: none;
}

.pagetop a:hover {
	opacity: 0.8;
}

.pagetop a img {
	width: 80px;
	height: auto;
}


header {
	width: 100%;
	height: 110px;
	margin: 0 auto;
	background-color: #fff;
	z-index: 999;
	position: fixed;
	top:0;
}
.fix {
	width: 80%;
	margin: 0 auto 0;
	background-color: #fff;
}
h1.logo {
	float: left;
	padding-top: 40px; 
}
h1.logo img {
	display: table-cell;
	float: left;
}
h1 span.logo_copy {
	display: table-cell;
	float: left;
	color: #2a4064;
	font-size: 13px;
}

footer article {
	width: 1000px;
	margin: 0 auto;
	
}

/*グローバルメニューPC*/
nav {
	float: right;
}


.kotei{
  *zoom: 1;
  list-style-type: none;
  /*width: 960px;
  height: 60px;
  margin: 5px auto 30px;*/
  padding: 37px 0 0 0;
}

.kotei li{
  position: relative;
  width: 100px;
  float: left;
  margin: 0;
  padding: 0;
  text-align: center;
}
.kotei li a{
  display: block;
  margin: 0;
  padding: 0;
  color: #2a4064;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}
.kotei li span {
	display: block;
	font-size: 12px;
	padding: 8px 0;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.kotei li a span.nospace {
	letter-spacing: normal;
}


.kotei li .nav_box {
        width: 1110px;
        margin-left: -710px;
	padding: 30px 50px;
	/*margin-left: -500px;*/
	margin-top: 10px;
	/*width: 940px;*/
	height: auto;
	background-color: #eee;
	display: none;
	text-align: center;
	animation: fadeIn 0.5s ease 0s 1 normal;
	-webkit-animation: fadeIn 0.5s ease 0s 1 normal;
}
.kotei li .nav_box p {
	text-align: left;
	font-size: 13px;
}
.kotei li .nav_box p span {
	font-weight: normal;
}
.kotei li .nav_box p.ttl {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1;
  color: #2a4064;
  margin-bottom: 15px;
}
.kotei li .nav_box p.ttl span {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: bold;
}
.kotei li .nav_box ul {
	margin: 0;
	padding: 0;
}
.kotei li .nav_box li {
	vertical-align: top;
	width: 160px;
	font-weight: normal;
	background-color: transparent;
	margin-right: 10px;
}
.kotei li .nav_box li:last-child {
	margin-right: 0;
}
.kotei li .nav_box li a {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size: 12px;
	letter-spacing: 0.5px;
	padding: 0;
}
.kotei li .nav_box li a:hover {
	opacity: 0.8;
}
.kotei li .nav_box li img{
	width: 160px;
	height: 100px;
	margin: 15px 0;
}

/* GM 会社案内 */
.kotei li .nav_box.nav_box--company {
	margin-left: -810px;
	padding: 30px 50px 40px;

	ul {
		display: flex;
		gap: 10px;
	}

	li {
		display: block;
		width: calc((100% - 50px) / 6);
		margin-right: 0;
		background-color: #fff;

			a {
				display: flex;
				align-items: center;
				justify-content: center;
				box-sizing: border-box;
				min-height: 72px;
				padding: 14px 10px;
				line-height: 1.6;
			}
	}
}

/*GM instagram部分の対応 */
.menu-instagram a{
  display:inline-block;
}
.menu-instagram > a{
  overflow:visible;
}

.menu-instagram .menu-line{
  display:inline-block;
  padding: 0;
}

.menu-instagram .insta-icon{
  display:inline-block;
  width:2em;
  height:1.5em;
  margin-right:0.35em;
  vertical-align:-0.12em; 
  padding: 0;
  color:#E4405F; /* Instagram公式色 */

}

.menu-instagram .insta-icon svg{
  width:100%;
  height:100%;
  display:block;
}





/*フッター*/

.foot {
	color: #4DB69E;
	width: 640px;
	float: left;
	font-size: 14px;
	margin-bottom: 60px;
}

.foot_nav_box {
	width: 640px;
	display: -webkit-flex;
	display: flex;
	flex-direction: row;
	padding-bottom: 50px;
	margin-bottom: 25px;
	border-bottom: #dbdcdc solid 2px;
}

.foot ul {
	margin-right: 90px;
}

.foot ul li {
	margin-bottom: 12px;
}

.foot ul li.ttl {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 30px;
}

.foot a{
	text-decoration: none;
	color: #4DB69E;	
}

.foot a:hover,
.nav a:hover { 
	color: #2a4064; 
	text-decoration: none;
}

.nav{
	font-size: 14px;
}

.nav a{
	text-decoration: none;
	color: #4DB69E;
	margin-right: 25px;
}

footer .impress {
	width: 280px;
	margin: 0 0 60px 80px;
	float: right;
	color: #2a4064;
	font-size: 13px;
}

footer .impress img {
	width: 128px;
	height: auto;
}

footer .impress p {
	line-height: 150%;
	margin-top: 25px;
}

footer .impress p.lisha {
	font-size: 14px;
	font-weight: bold;
}

.obi{
	background-color: #4DB69E;
	padding: 25px;
	color: #FFFFFF;
	text-align: center;
	font-size: 13px;
	clear: both;
}



/*パンくずリスト*/
.pan_sec {
	background-color: #2a4064;
	margin: 80px 0 60px;
}
.pan{
	max-width: 1000px;
	margin: 0 auto;
	padding: 12px 0;
	color: #FFFFFF;	
	font-size: 13px;
}
.pan a {
	color: #ffffff;
	font-size: 13px;
}	
.pan a:visited { color: #ffffff; }	

.pc { display: block !important; }
.sp { display: none !important; }







 /* スマホ用 */



@media screen and (max-width: 480px) {
	
body{
	font-size: 15px;
}	
	
.pc { display: none !important; }
.sp { display: block !important; }

main{ 
	width: 100%;
}
	
.foot {
		width: 100%;
}

.pagetop {
bottom: 60px;
}
.pagetop a img {
	width: 40px;
	height: auto;
}	
	
	
/*ヘッダー SP*/
	
header {
	position: static;
	height: auto;
}
	
.kotei-sp {
	text-align: center;
	position: relative;
	top:0;
}	
.kotei-sp img{
	width: 100px;
	padding: 20px 0 0;
}
.kotei-sp p{
	color: #2a4064;
	font-size: 13px;
	padding-top: 10px;
	margin: 15px auto 10px;
	border-top: #ecf4f2 2px solid;
	font-weight:  bold;
}	
.kotei-sp ul{
	list-style: none;
	text-align: center;
}

.kotei-sp a{
	text-decoration: none;
	color: #000000;
}

#nav-drawer {
	position: absolute;
	top:22%;
	margin-left: 90%;
}
.nav-unshown {
  display:none;
}
.pan_sec {
	margin-top: 50px;
	margin-bottom: 20px;
}
	
	
/* ハンバーガーアイコン */
	
.burger {
    width: 37px;
    height: 29px;
    position: fixed;
    display: flex;
    align-items: center;
    top: 30px;
    right: 30px;
    z-index: 9999;
}
/* 真ん中の線 */
.burger .line {
    width: 100%;
    height: 3px;
    background: #4db69e;
    transition: 0.6s;
}
/* 上の線 */
.burger::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    top: 0;
    right: 0;
    background: #4db69e;
    transition: 0.6s;
}
/* 下の線 */
.burger::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    bottom: 0;
    right: 0;
    background: #4db69e;
    transition: 0.6s;
}

/* メニュー */
	.navigation {
		width: 100vw;
		height: 100vh;
		background: #fff;
		position: fixed;
		right: -100vw;
		transition: 0.6s;
		top: 0;
		z-index:9998;
	}
	.navigation ul {
		margin: 86px 0 0 0;
		padding: 0;
	}
	.navigation ul li {
		margin: 0px;
		border-bottom:2px solid #fff;
		text-align: left;
		background-color: #ecf4f2;
		font-size: 16px;
		font-weight: bold;
	}
	.navigation ul li.ty02 {
		background-color: #ffffff;
	}
	.navigation ul li a {
		display: block;
		position: relative;
		color: #2a4064;
		cursor: pointer;
		padding: 25px 30px;

	}
	.navigation ul li a:hover {
		text-decoration: none;
	}
	.navigation ul li a:after {
		width: 10px;
		height: 10px;
		position: absolute;
		top: 40%;
		right: 10px;
		margin: 0 20px 0 0;
		display: block;
		content: "";
		border-top: solid 3px #4DB69E;
		border-right: solid 3px #4DB69E;
		-webkit-transform: rotate(45deg);
        transform: rotate(45deg);
	}
	.navigation ul li.active a:after {
    -moz-transform: translate(0, 50%);
    -ms-transform: translate(0, 50%);
    -webkit-transform: translate(0, 50%);
    transform: translate(0, 50%);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
	}	
	.navigation ul li.ty02 {
		border-bottom:2px solid #eee;
		font-size: 14px;
	}
	
	.navigation ul li.ty02 a {
		padding: 20px 30px;
	}	
	
	.navigation ul li.ty02 a:after {
		width: 6px;
		height: 6px;
		position: absolute;
		top: 50%;
		right: 10px;
		margin: -3px 20px 0 0;
		display: block;
		content: "";
		border-top: solid 2px #000;
		border-right: solid 2px #000;
		-webkit-transform: rotate(45deg);
        transform: rotate(45deg);
	}	

	.navigation ul li span {
		margin-right: 60px;
		display: block;
		position: absolute;
		top: 40%;
		right: 0;
		font-size: 13px;
		}
	.burger-active::before {
		transform: rotate(135deg);
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.burger-active::after {
		transform: rotate(-135deg);
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.burger-active > .line {
		transform: scale(0);
	}
	.nav-active {
		right: 0;
	}	
	.navigation ul li.close {
		background-color: #4DB69E;
		color: #fff;
		text-align: center;
		padding: 25px 0;
		border: none;
	}
	
	.navigation ul li ul.subm {
		margin: 0;
		display: none;
	}

	.navigation ul li ul.subm li {
		background: #ffffff;
		font-size: 14px;
		border-bottom-color: #ecf4f2;
	}
	.navigation ul li ul.subm li:last-child {
		border-bottom: none;
	}
	
	.navigation ul ul.subm li a {
		padding: 20px 30px;
	}
	
	.navigation ul ul.subm li a:after {
		width: 6px;
		height: 6px;
		position: absolute;
		top: 50%;
		right: 0;
		margin: -3px 30px 0 0;
		display: block;
		content: "";
		border-top: solid 2px #000;
		border-right: solid 2px #000;
		-webkit-transform: rotate(45deg);
        transform: rotate(45deg);
	}
	
	.pan_sec {
	margin: 40px 0;
	}
	
	.pan{
		max-width: 100%;
		margin: 0 auto;
		padding: 12px;
	}
	
	footer article {
	width: 100%;
	margin: 0 auto;
	}
	
	footer .impress {
	width: 100%;
	margin: 0;
	padding: 0 30px 30px;
	float: none;
	}

	footer .impress img {
		width: 128px;
		height: auto;
	}

	footer .impress p {
		line-height: 150%;
		margin-top: 25px;
	}

	footer .impress p.lisha {
		font-size: 14px;
		font-weight: bold;
	}
	
	.obi{
	padding: 15px;
}


}
