* {
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
}

html,
body {
	color: #000000;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-weight: 500;
	/*line-height: 1.5;*/
}

html {
	overflow-y: scroll;
	/* =16px */
	/*font-size: 100%;*/
	/* =10px */
	font-size: 62.5%;
}

body {
	font-size: 1.4rem;
	/* =14px */
	position: relative;
	overflow: hidden;
}

li {
	list-style: none;
}

a {
	text-decoration: none;
}

img {
	max-width: 100%;
	border: 0;
}

a img {
	border: 0;
}

.clear:after {
    display: block;
    content: "clear";
    width: 0;
    height: 0;
    clear: both;
    overflow: hidden;
    visibility: hidden;
}

/*ScrollTrigger*/


.invisible {
	transition: transform 1.2s ease, opacity 1.2s ease;
	transform: translateY(30px);
	opacity: 0.0;
}

.visible {
	transition: transform 1.2s ease, opacity 1.2s ease;
	transform: translateY(0);
	opacity: 1.0;
}

.meiryo {
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, sans-serif;
}

.mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}

.YuGothic{
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

.fade {
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.fade2 {
	-webkit-transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

.main {
	width: 1100px;
	max-width: 95%;
	margin: 0 auto;
}

.main1000 {
	width: 1000px;
	max-width: 95%;
	margin: 0 auto;
}
.main1600 {
	width: auto;
	max-width: 100%;
	margin: 0 auto;
}

.pc_none {
	display: none;
}

.d-menu {
	display: none;
}

.panel {
	display: none;
}

.sp_br {
	display: none;
}

.color_871bab {
	color: #871bab;
}

.pc_br {
	display: none;
}

/*header*/

header {
	width: 100%;
	
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
}
.header_bg{
	background: rgba(249,249,249,0.95);
}

header img,
header a {
	display: block;
}

.header_bar {
	/* border-bottom: 2px solid #4d4d4d; */
	/* padding-left: 2.5%; */
}

.header_barBox {
	display: table;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.header_box {
	width: 100%;
	/* background: #FFFFFF; */
	/*position: fixed;
	top: 0;
	left: 0;
	z-index: 99;*/
}

.header_main {
	width: 100%;
	display: table;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.logo {
	width: 299px;
	display: table-cell;
	vertical-align: middle;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	/*padding: 15px 0;*/
}

.logo a {
	display: block;
}

.logo a img {
	display: block;
	width: 100%;
	max-width: 299px;
}

.logo a:hover {
	opacity: 0.8;
}

/*nav*/
.nav_box {
	display: table-cell;
	vertical-align: middle;
}

nav {
	display: block;
}

.fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
}

.nav_pdl {
	/*padding-left: 30px;*/
	/* padding: 20px 0; */
	padding-right: 32px;
}

.nav_list {
	/* width: 100%; */
	display: table;
	padding: 0 0px 0 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 0 0 auto;
}

.nav_list>li {
	width: auto;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	/* min-width: 118px; */
	position: relative;
}

.nav_list>li>a {
	font-size: 1.4rem;
	line-height: 1;
	font-weight: bold;
	color: #30302f;
	display: block;
	position: relative;
	top: 0px;
	overflow: hidden;
	padding: 16px 0;
}

.nav_list>li>a>p {
	width: 100%;
	padding: 0 8px;
	display: table;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.nav_list>li:last-child>a>p {
	padding-right: 0;
}

.nav_list>li>a>p>span {
	display: table-cell;
	vertical-align: middle;
	position: relative\0;
	top: 3px\0;
}

.nav_list>li:hover>a,
.nav_list>li.nav_select>a {
	color: #92b103;
}

.sub_nav{
	display: none;
	position: absolute;
	/* top: 100; */
	left: 50%;
	transform: translateX(-50%);
	
	background-color: #FFFFFF;
	min-width: 250px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 4px;
	border: 1px solid #92b103;
}
.sub_nav::before{
	content: "";
	display: block;
	border-bottom: 10px solid #92b103;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
}
.sub_nav li{
	border-bottom: 1px solid #92b103;
}
.sub_nav li:last-child{
	border-bottom: 0;
}
.sub_nav li a{
	text-align: justify;
	font-size: 1.4rem;
	font-weight: bold;
	color: #30302f;
	line-height: 1.2;
	padding: 11px 10px 9px;
	letter-spacing: -0.5px;
	white-space: nowrap;
}
.sub_nav li a:hover{
	color: #FFFFFF;
	background-color: #92b103;
}

.nav_list>li:hover>.sub_nav {
	display: block;
}


.header_contact{
	display: table-cell;
	vertical-align: middle;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 105px;
	padding: 25px 0;
}
.header_contact div{
	
}
.header_contact div a{
	display: block;
	font-size: 1.4rem;
	color: #92b103;
	text-align: center;
	font-weight: bold;
	line-height: 1;
	padding: 8px 8px 5px;
	background-color: #FFFFFF;
	border: 1px solid #92b103;
	border-radius: 15px;
}
.header_contact div.header_c02{
	padding-top: 10px;
}
.header_contact div.header_c01 a{
	background-color: #92b103;
	color: #FFFFFF;
}
.header_contact div a:hover{
	opacity: 0.8;
}

.sp_btn {
	display: none;
}
#header_top{
	/* display: none; */
}

/* ----------- footer ----------- */

footer {
	border-top: 2px solid #01604d;
}

.footer_middle {
	background: #f9f9f9;
	padding: 50px 0 0px;
	position: relative;
}

.footer_box{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	margin-top: 30px;
}
.footer_left{
	
}
.footer_left a{
	font-size: 0;
	display: block;
	max-width: 293px;
}
.footer_left a:hover{
	opacity: 0.8;
}
.footer_right{
	
}
.footer_rBtn{
	display: flex;
}
.footer_rBtn>li{
	width: 105px;
}
.footer_rBtn>li a {
    display: block;
    font-size: 1.4rem;
    color: #92b103;
    text-align: center;
    font-weight: bold;
    line-height: 1;
    padding: 8px 8px 5px;
    background-color: #FFFFFF;
    border: 1px solid #92b103;
    border-radius: 15px;
}
.footer_rBtn>li a:hover{
	opacity: 0.8;
}
.footer_rBtn>li:nth-child(1) {
	margin-right: 10px;
}
.footer_rBtn>li:nth-child(1) a {
    background-color: #92b103;
    color: #FFFFFF;
}



.footer_table{
	display: flex;
}

.footer_linkBox{
	font-size: 0;
	display: flex;
	margin-bottom: -8px;
}
.footer_link{
	overflow: hidden;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: flex;
}
.footer_link02{
	flex-direction: column;
	margin-right: 0px;
	margin-top: 0 !important;
}
.footer_link>li{
	/* float: left; */
	/* width: 163px; */
	margin-bottom: 8px;
	margin-right: 55px;
}
.footer_link>li:last-child{
	margin-right: 0;
}
.footer_link>li>a{
	font-size: 1.4rem;
	color: #000000;
	font-weight: bold;
}
.footer_link>li>a:hover{
	color: #92b103;
}
.footer_link>li>ul{
	margin-top: 8px;
}
.footer_link>li>ul>li{
	/* margin-bottom: 13px; */
}
.footer_link>li>ul>li:last-child{
	margin-bottom: 0px;
}
.footer_link>li>ul>li>a{
	font-size: 1.4rem;
	line-height: 2.4rem;
	color: #000000;
}
.footer_link>li>ul>li>a:hover{
	color: #92b103;
}
.footer_link03{
	margin-top: 26px;
	padding: 19px 0 37px;
	border-top: 1px solid #e0e0e0;
	text-align: right;
}
.footer_link03 a{
	font-size: 1.4rem;
	color: #000000;
}
.footer_link03 a:hover{
	color: #92b103;
}

.footer_copy {
	padding-top: 65px;
	text-align: justify;
	font-size: 1.4rem;
	color: #333333;
}

/*pagt top*/
.pagetop {
	display: none;
	width: 46px;
	height: 51px;
	position: fixed;
	right: 100px;
	bottom: 150px;
	z-index: 998;
}

.pagetop img {
	display: block;
	-webkit-transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	opacity: 0.8;
}

.pagetop:hover img {
	opacity: 1;
}

@media only screen and (max-width: 1600px) {
	/*header*/
	
	.pagetop {
		right: 20px;
	}
	
}





@media only screen and (max-width: 1200px) {
	/*header*/
	
	
}

@media only screen and (max-width: 1100px) {
	/*header*/
	.logo {
	    width: 265px;
	}
	.nav_pdl {
	    padding-right: 20px;
	}
	
	
}

@media only screen and (max-width: 1024px) {

	/*.main {
		width: 95%;
	}*/
	.sp_none {
		display: none;
	}

	.pc_none {
		display: block;
	}

	/*header*/
	header .main1000 {
		max-width: 100%;
	}
	header {
		padding: 10px 10px;
		position: fixed;
		top: 0;
		z-index: 999;
		border-bottom: 2px solid #92b103;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		height: auto !important;
		background-color: #FFFFFF;
	}
	.header_bg {
	    background: rgba(255,255,255,1);
	}
	.header_box {
		width: 100%;
		box-sizing: border-box;
		position: relative !important;
	}
	
	.header_contact {
		display: none;
	}
	#header_top{
		display: block;
	}
	
	.header_bar {
		border: none;
		padding-left: 0;
	}

	.header_bar .main {
		max-width: 100%;
	}

	.header_main {
		display: table;
	}

	.logo {
		width: auto;
		padding-right: 20px;
		padding-left: 0;
		padding-top: 0;
		padding-bottom: 0;
	}

	.logo a {
		width: auto;
		max-width: 265px;
		/*height: 50px;*/
	}

	.logo a img {
		width: auto;
		max-width: 100%;
		max-height: 50px;
	}

	.d-menu {
		display: table-cell;
		vertical-align: middle;
		width: 70px;
		height: 50px;
		cursor: pointer;
		position: relative;
	}

	.panel-btn {
		display: block;
		position: absolute;
		top: 0;
		/*bottom: 0;*/
		right: 0;
		margin: auto;
		width: 50px;
		height: 50px;
		background: #92b103;
		border-radius: 5px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
	}

	.panel-btn-icon {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 26px;
		height: 4px;
		margin: -2px 0 0 -13px;
		background: #FFF;
		transition: .2s;
	}

	.panel-btn-icon:before,
	.panel-btn-icon:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 26px;
		height: 4px;
		background: #FFF;
		transition: .3s;
	}

	.panel-btn-icon:before {
		margin-top: -11px;
	}

	.panel-btn-icon:after {
		margin-top: 7px;
	}

	.panel-btn .close {
		background: transparent;
	}

	.panel-btn .close:before,
	.panel-btn .close:after {
		margin-top: 0;
	}

	.panel-btn .close:before {
		-ms-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.panel-btn .close:after {
		-ms-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}

	/*nav*/
	nav {
		display: none;
		width: 100%;
		padding: 0;
		position: fixed;
		z-index: 999;
		bottom: 0;
		left: 0;

		background: #92b103;
		overflow-y: auto;
	}

	.fixed {
		top: auto;
		left: auto;
	}

	.nav_pdl {
		padding: 0 0;
	}

	.nav_list {
		width: 100%;
		display: block;
		padding: 0 0px;
	}

	.nav_list li {
		width: 100%;
		display: block;
		text-align: left;
		background: none;
		border-bottom: 1px solid #FFFFFF;
		box-sizing: border-box;
	}

	.nav_list li:last-of-type {
		background: none;
	}

	.nav_list li a {
		width: 100%;
		display: block;
		font-size: 1.6rem;
		color: #FFFFFF;
		font-weight: normal;
		position: relative;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		padding: 20px 0 17px;
	}

	.nav_list li a:hover {
		color: #FFFFFF;
	}

	.nav_list>li>a:after {
		display: none;
	}

	.nav_list>li>a>p {
		padding: 0 10px;
	}
	
	.nav_list>li:hover>a, .nav_list>li.nav_select>a {
	    color: #FFFFFF;
	}
	
	.nav_list>li>a:hover,
	.nav_list>li.nav_select>a {
		color: #FFFFFF;
		background-color: #01604d;
	}
	
	
	.sp_header_contact{
		font-size: 0;
	}
	.sp_header_contact li{
		display: inline-block;
		border-bottom: 1px solid #FFFFFF;
		width: 50%;
	}
	.sp_header_contact li a{
		display: block;
		font-size: 1.6rem;
		color: #92b103;
		padding: 20px 10px 17px;
		line-height: 1;
		background-color: #FFFFFF;
		text-align: center;
	}
	.sp_header_contact li:nth-child(1) a{
		background-color: #92b103;
		color: #FFFFFF;
	}
	.sp_header_contact li a:hover{
		color: #FFFFFF;
		background-color: #01604d;
	}
	
	.sub_nav {
	    display: block;
	    position: relative;
	    left: 0%;
	    transform: translateX(0%);
	    background-color: transparent;
	    width: auto;
	    padding: 0 0 0 20px;
	    border-radius: 0px;
	    -moz-box-shadow: 0px 0px 0px transparent;
	    -webkit-box-shadow: 0px 0px 0px transparent;
	    box-shadow: 0px 0px 0px transparent;
		border-top: 1px solid #FFFFFF;
		
	}
	.sub_nav::before {
	    display: none;
	}
	.sub_nav li a{
		line-height: 1;
		font-size: 1.4rem !important;
		background: none;
		padding: 20px 10px 17px;
	}
	.sub_nav li a:hover{
		color: #FFFFFF;
		background-color: #01604d;
	}
	
	
	/* ----------- footer ----------- */
	footer {}
	
	.footer_left {
	    /* width: 180px; */
	}
	.footer_right {
	    width: auto;
	}
	.footer_linkBox {
		display: block;
		/* flex-direction: column; */
	}
	.footer_link{
		display: block
	}
	.footer_link02{
		display: flex;
	}
	.footer_link>li {
		display: inline-block;
		vertical-align: top;
	    /* float: none; */
	    width: 25%;
	    margin-bottom: 8px;
	    margin-right: 0px;
		padding-right: 10px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		
	}
	.footer_link02>li{
		width: auto;
	}
	.footer_link>li>ul>li>a br{
	    display: none;
	}
	
	/*pagt top*/
	.pagetop {
		right: 10px;
		/* width: 50px;
		height: 50px; */
	}

}
@media only screen and (max-width: 950px) {
	/* .footer_left {
		display: block;
	    width: auto;
		text-align: center;
	}
	.footer_right {
	    display: block;
		margin-top: 30px;
	} */
}

@media only screen and (max-width: 768px) {
	/* ----------- common ----------- */

	/* ----------- footer ----------- */
	.footer_box {
		display: block;
	}
	.footer_left{
		padding-bottom: 30px;
	}
	.footer_left a {
	    max-width: 280px;
		margin: 0 auto;
	}
	.footer_right{
		display: flex;
		justify-content: flex-end;
	}
	.footer_rBtn{
		margin: 0 0 0 auto;
	}
	
	.footer_link>li {
	    width: 33.33%;
	}
	.footer_link02>li{
		width: auto;
	}
	
	
	/*pagt top*/
	.pagetop {
		bottom: 100px;
		width: 46px;
	}


}

@media only screen and (max-width: 480px) {
	
	.main {
		max-width: 93%;
	}

	/*header*/
	.logo a img {
		max-height: 40px;
	}

	.d-menu {
		width: 55px;
		height: 40px;
	}

	.panel-btn {
		width: 40px;
		height: 40px;
	}

	.panel-btn-icon {
		width: 22px;
		height: 2px;
		margin: -1px 0 0 -11px;
	}

	.panel-btn-icon:before,
	.panel-btn-icon:after {
		width: 22px;
		height: 2px;
	}

	.panel-btn-icon:before {
		margin-top: -9px;
	}

	.panel-btn-icon:after {
		margin-top: 7px;
	}

	.pc_br {
		display: block;
	}

	/*nav*/
	.nav_list li {}

	.nav_list li a {
		font-size: 16px;
		padding: 15px 0 12px !important;
	}
	.sub_nav {
		padding: 0 0 0 15px;
	}
	.sub_nav li a {
	    padding: 15px 10px 12px !important;
	}
	.sp_header_contact li a {
	    font-size: 1.6rem;
	    padding: 15px 10px 12px;
	}
	.header_language a {
	    padding: 8px 5px 5px;
	}
	

	/*footer*/
	.footer_middle {
		padding: 50px 0 0px;
	}
	
	/* .footer_left img{
	    width: 80px;
	}
	.footer_right {
	    margin-top: 20px;
	} */
	.footer_link>li {
	    width: 49%;
		padding-right: 0;
		margin-right: 2%;
	}
	.footer_link>li:nth-child(2n) {
	    margin-right: 0;
	}
	.footer_link>li:last-child {
	    width: 100%;
	}
	.footer_link02{
		flex-direction: row;
		flex-wrap: wrap;
	}
	.footer_link02>li {
	    /* width: auto; */
		width: 49%;
		padding-right: 0;
		margin-right: 2%;
	}
	.footer_link02>li:nth-child(2n) {
	    margin-right: 0;
	}
	.footer_link03 {
	    margin-top: 20px;
	    padding: 18px 0 30px;
	}
	
	.footer_copy {
		padding-top: 35px;
		padding-bottom: 20px;
	}
	
}

/*page common*/
/* ----------- common ----------- */
.part_title{
	
}
.part_title h2 {
	text-align: center;
	font-size: 0;
}
.part_title h2 img{
	
}
.part_titlePc{
	display: flex;
	width: 100%;
	justify-content: space-between;
	align-items: flex-end;
	font-size: 0;
}
.part_titleSp{
	display: none;
	font-size: 0;
}




@media only screen and (max-width: 1024px) {

	/* ----------- common ----------- */
	.part_title h2 img {
		width: 360px;
	}
	.part_title p {
	    
	}
	.part_titlePc{
		display: none;
	}
	.part_titleSp{
		display: block;
	}
	
	

}

@media only screen and (max-width: 768px) {

	/* ----------- common ----------- */
	.module_pd {
		padding: 60px 0 !important;
	}
	
	.part_title h2 img {
	    width: 320px;
	}
	.part_title p {
	    
	}

	


}

@media only screen and (max-width: 480px) {

	/* ----------- common ----------- */
	.module_pd {
		padding: 50px 0 !important;
	}
	
	.part_title h2 img {
	    width: 240px;
	}
	.part_title p {
	    
	}

	




}
