@charset "utf-8";

/*=====================================================
 * Style URL: /common/css/screen.css
 * Version: 1.0
 * Last Up Date: 2020/06/xx
 *
 * Markup Reference:
 *
=====================================================*/



/*----- contents -------

	1: Main Interface setting
		: container
		: header
		: footer
		: wrapper
		: main_contents
		: sub_contents
	2: Module
	3: Common
	4: clearfix

----------------------*/



/*
===== 1: Main Interface setting ===========================*/

body.fixed {
	/*
	position: fixed;
	width: 100%;
	overflow: hidden;
	*/
}

/* header
--------------------*/
header {
	position: relative;
	height: 55px;
}

#index header {
	position: absolute;
}

.sec_main header {
	display: none !important;
}

header .logo {
	position: fixed;
	top: 0;
	left: 0;
	font-size: 0;
	line-height: 0;
	z-index: 1000;
}

header .nav_menu {
	position: fixed;
	top: 0;
	right: 10px;
	width: 55px;
	height: 55px;
	cursor: pointer;
	z-index: 2002;
}
header .nav_menu a {
	display: block;
	width: 55px;
	height: 55px;
}

header .nav_menu:before, header .nav_menu:after {
	position: absolute;
	top: 0;
	left: 15px;
	height: 1px;
	width: 25px;
	background: #77ad24;
	box-shadow: 0 1px #ffffff;
	display: block;
	content: '';
	cursor: pointer;
	transition: 0.4s;
}
header .nav_menu:before {
	top: calc((100% - 1px)/2 - 5px);
}
header .nav_menu:after {
	top: calc((100% - 1px)/2 + 5px);
}

header.open .nav_menu:before {
	left: 10px;
	top: calc((100% - 1px)/2);
	transform: rotate(45deg);
	width: 35px;
}
header.open .nav_menu:after {
	left: 10px;
	top: calc((100% - 1px)/2);
	box-shadow: none;
	transform: rotate(-45deg);
	width: 35px;
}

header .sec_menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 2001;
}

header.open .sec_menu {
	background-color: rgba(255,255,255,0.95);
}

header .sec_menu_inner {
	width: 100%;
	height: 0;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}

header.open .sec_menu_inner {
	overflow-y: scroll;
}

header nav {
	padding: 70px 13.333% 0;
}

header nav ul {
	padding: 0 15px;
}

header nav li {
	margin: 27px 0 0;
}

header nav li a {
	display: block;
}

header nav li a span.fr {
	font-size: 19px;
    font-family: 'Crimson Text', serif !important;
	line-height: 1;
	letter-spacing: 0.05em;
}

header nav li.gnav_prime_media_line {
	margin: 20px -15px 0;
	padding: 20px 15px 0;
	border-top: 1px solid #c9deaf;
}

header .sec_share {
	/* display: none; */
	margin: 37px 0 0;
	padding: 0 0 37px;
	text-align: center;
}

header .sec_share li {
	display: inline-block;
	width: 31px;
	margin: 0 30px 0 0;
	padding: 5px 0;
	text-align: center;
}

header .sec_share li + li {
	margin: 0;
	margin-right: 5px;
	padding-left: 27px;
	border-left: 1px solid #c9deaf;
}

header .sec_share li img {
	width: auto;
	height: 31px;
}


/* footer
--------------------*/
footer {
	position: relative;
	margin: 75px 0 0;
	background: #77ad24;
	color: #ffffff;
	letter-spacing: 0.05em;
	text-align: left;
	z-index: 10;
}

footer a {
	color: #ffffff !important;
	text-decoration: underline !important;
}

footer hr {
	display: block;
	width: 32px;
	height: 1px;
	margin: 25px 0;
	background: #99c25b;
	border: none;
	font-size: 0;
	line-height: 0;
}

/* .sec_l */
footer .sec_l {
	padding: 0 0 37px;
}

footer .sec_l .logo img {
	width: 90px;
	margin: 0 25px 0 0;
}

footer .sec_l .logo span {
	display: block;
	margin: 17px 0 0;
	font-size: 12px;
	line-height: 1;
}

footer .sec_l .logo + p {
	margin: 6px 0 0;
	font-size: 12px;
	line-height: 1.7;
}

footer .sec_l .link {
	margin: 5px 0 0;
}

footer .sec_l .link a {
	display: inline-block;
	margin: 0 25px 0 0;
	font-size: 13px;
}

footer .sec_l .link a img {
	margin: 0 0 0 6px;
	vertical-align: -2px;
}

footer .sec_l .link2 {
	margin: 32px 0 0;
	font-size: 13px;
	line-height: 1;
}

footer .sec_l .copyright {
	margin: 12px 0 0;
	color: #dce8ce;
	font-size: 10px;
	line-height: 1;
	opacity: 1 !important;
}

/* .sec_c */
footer .sec_c p {
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.1em;
}

footer .sec_c p + p {
	margin: 14px 0 0;
	font-size: 11px;
	letter-spacing: 0.05em;
}

footer .sec_c p + p + p {
	margin: 17px 0 -2px;
	font-size: 13px;
	letter-spacing: 0.05em;
}

/* .sec_r */
footer .sec_r {
	padding: 37px 0 0;
}

footer .sec_r .sec_share {
	/* display: none; */
}

footer .sec_l + hr {
	display: none;
}

footer .sec_r ul li {
	display: inline-block;
	margin: 0 14px 0 0;
}

footer .sec_r ul li img {
	width: 32px;
}

/* .pagetop */
footer .pagetop {
	position: fixed;
	right: 0;
	bottom: 0;
	opacity: 0;
	z-index: 10;
}

footer .pagetop a {
	display: block;
}

footer .pagetop a img {
	width: 70px;
}


/* container
--------------------*/
#container {
	position: relative;
	overflow: hidden;
}

#container .sec_inner {
	position: relative;
	padding: 0 6.666%;
}

.fixed #container {
	position: fixed;
	height: 100vh;
}
/* contents
--------------------*/
#contents {}


/* wrapper
--------------------*/
#wrapper {}

/* main_contents
--------------------*/
#main_contents {}


/* sub_contents
--------------------*/
#sub_contents {}


/*
===== 2: Module ===========================*/

/* bread_crumbs
--------------------*/
.bread_crumbs {}


/* h
--------------------*/
.h_lv_01 {
	position: relative;
	padding: 50px 0 0;
	color: #77ad24;
	line-height: 1;
}

.h_lv_01 em {
	font-size: 32px;
	font-weight: normal;
	letter-spacing: 0.05em;
}

.h_lv_01 span {
	display: block;
	margin: 9px 0 0;
	font-size: 12px;
	letter-spacing: 0.1em;
}


/* sec_bt
--------------------*/
/* sec_bt_01 */
.sec_bt_01 {
	position: relative;
	text-align: center;
}

.sec_bt_01 button {
	display: inline-block;
	width: 275px;
	background: #77ad24;
	border: none;
	color: #ffffff !important;
	font-size: 14px;
	font-weight: bold;
	line-height: 45px;
	letter-spacing: 0.1em;
	text-align: center;
	outline: none;
	cursor: pointer;
	transition: all .3s ease;
	-webkit-appearance: none;
}


/* sec_pager
--------------------*/
#wrapper .sec_pager {}



/* Link setting
-------------------------------------*/
a:link { color: #77ad24; text-decoration: none; }
a:visited { color: #77ad24; text-decoration: none; }
a:active { color: #77ad24; text-decoration: none; }
a:hover { color: #77ad24; text-decoration: none; }


/*
===== 3: Common ===========================*/

.sp_hidden { display: none !important; }
.br_pc { display: none !important; }
#container .hidetxt { text-indent: -9999px; overflow: hidden; }
#container .ls, #container .lc { float: left; }
#container .rs, #container .rc { float: right; }
#container .tx_l { text-align: left !important; }
#container .tx_c { text-align: center !important; }
#container .tx_r { text-align: right !important; }
#container .va_t { vertical-align: top !important; }
#container .va_m { vertical-align: middle !important; }
#container .va_b { vertical-align: bottom !important; }
#container .img_txt { font-size: 0; line-height: 0; }
#container .tx_notfound { margin: 40px 0 0;}

/*--- margin ---*/
#container .mt0  { margin-top: 0px !important; }
#container .mt5  { margin-top: 5px !important; }
#container .mt10 { margin-top: 10px !important; }
#container .mt15 { margin-top: 15px !important; }
#container .mt20 { margin-top: 20px !important; }
#container .mt25 { margin-top: 25px !important; }
#container .mt30 { margin-top: 30px !important; }
#container .mt35 { margin-top: 35px !important; }
#container .mt40 { margin-top: 40px !important; }

#container .pt5  { padding-top: 5px !important; }
#container .pt10 { padding-top: 10px !important; }
#container .pt15 { padding-top: 15px !important; }
#container .pt20 { padding-top: 20px !important; }
#container .pt25 { padding-top: 25px !important; }
#container .pt30 { padding-top: 30px !important; }
#container .pt35 { padding-top: 35px !important; }
#container .pt40 { padding-top: 40px !important; }


/*
===== 4: clearfix ===========================*/

.clearfix:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
	font-size: 0;
	line-height: 0;
}

.clearfix{
	display:inline-block;
}

/* Hides from IE-mac ¥*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */
