@charset "UTF-8";
/* ------------------------------------------------------------- 
general
------------------------------------------------------------- */
html{
	font-size: 62.5%;
}

body {
	color: #333;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	line-height: 1.6;
	-webkit-text-size-adjust: none;
	background: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.03em;
}

img {
	max-width: 100%;
	max-height: 100%;
	display: inline-block;
}

/* link ----------------------------------- */
a{
	color: #007aff;
	text-decoration: none;
}
a:link {
	color: #007aff;
	text-decoration: none;
}
a:visited {
	text-decoration: none;
}
a:focus
,a:hover
,a:active {
	text-decoration: underline;
}

a img{
	transition: .3s ;
}
a:hover img{
	opacity: .6;
}

/* 別窓リンク */
a.new_win::after{
	padding-left: .2rem;
	display: inline-block;
	content: "\e923";
	font-family: "icomoon";
	font-size: 80%;
	vertical-align: top;
}
a.new_win::after:hover{
	text-decoration: none;
}

/* アンカーリンク */
ul.anchor_list {
	margin-bottom: 48px;
}
ul.anchor_list li{
	margin-right: 32px;
}
ul.anchor_list li a{
	/*padding: .8rem 1.6rem;
	border-radius: 4px;*/
	display: inline-block;
}
ul.anchor_list li a::before{
	padding-right: .5rem;
	display: inline-block;
	content: "\f078";
	font-family: "icomoon";
}


/* text ----------------------------------- */
strong {
	font-style: normal;
	font-weight: bold;
	color: #009B6C;
}
em {
	font-style: normal;
	font-weight: normal;
	color: #009B6C;
}
.caution {
	color: #f00;
}
.tx_small{
	font-size: 1.4rem;
}
.important{
	color: #009B6C;
}
.tx_black{
	color: #333;
}
.notes{
	font-size: 1.4rem;
	padding-left: 1.4rem;
	text-indent: -1.4rem;
}
.notes::before{
	content: "※";
}

/* layout ----------------------------------- */
.tx_center {
	text-align: center;
}
.tx_left{
	text-align: left;
}
.flex,
.pc_flex{
	display: flex;
}
.flex_reverse,
.pc_flex_reverse{
	display: flex;
	flex-direction: row-reverse;
}

/* list ----------------------------------- */
ul li,ol li{
	list-style: none;
}

/* ul_01 黒点付きリスト(・) */
ul.ul_01 > li{
	margin-bottom: 6px;
	margin-left: 2rem;
	list-style-type: disc;
}

/* ul_02 四角付きリスト(・) */
ul.ul_02 > li{
	margin-bottom: 6px;
	margin-left: 2rem;
	text-indent: -2rem;
}
ul.ul_02 > li::before{
	padding-right: .8rem;
	content: "\f04d";
	font-family: "icomoon";
	font-size: 80%;
  vertical-align: middle;
}

/* ol_01 数字リスト（1.） */
ol.ol_01 > li{
	margin-bottom: 12px;
	margin-left: 2rem;
	list-style-type: decimal;
}

/* ol_02 括弧囲い数字リスト（(1)） */
ol.ol_02 > li{
	margin-bottom: 8px;
	padding-left: 2.5rem;
	text-indent: -2.5rem;
	counter-increment: cnt;
}
ol.ol_02 > li::before{
	content: "(" counter(cnt) ")";
	padding-right: .8rem;
}

/* ol_03 丸入り数字リスト（①） */
ol.ol_03 > li{
	margin-bottom: 4px;
	margin-left: 2rem;
	text-indent: -2.4rem;
}
ol.ol_03 > li::before{
	padding-right: .8rem;
}
ol.ol_03 > li:nth-of-type(1)::before{ content: "\02460";}
ol.ol_03 > li:nth-of-type(2)::before{ content: "\02461";}
ol.ol_03 > li:nth-of-type(3)::before{ content: "\02462";}
ol.ol_03 > li:nth-of-type(4)::before{ content: "\02463";}
ol.ol_03 > li:nth-of-type(5)::before{ content: "\02464";}
ol.ol_03 > li:nth-of-type(6)::before{ content: "\02465";}
ol.ol_03 > li:nth-of-type(7)::before{ content: "\02466";}
ol.ol_03 > li:nth-of-type(8)::before{ content: "\02467";}
ol.ol_03 > li:nth-of-type(9)::before{ content: "\02468";}
ol.ol_03 > li:nth-of-type(10)::before{ content: "\02469";}

/* margin,padding ----------------------------------- */
.mt3{ margin-top: 3px;}
.mt5{ margin-top: 5px;}
.mt10{ margin-top: 10px;}
.mt15{ margin-top: 15px;}
.mt20{ margin-top: 20px;}
.mt30{ margin-top: 30px;}
.mt60{ margin-top: 60px;}

.mb3{ margin-bottom: 3px;}
.mb5{ margin-bottom: 5px;}
.mb10{ margin-bottom: 10px;}
.mb15{ margin-bottom: 15px;}
.mb20{ margin-bottom: 20px;}
.mb30{ margin-bottom: 30px;}
.mb60{ margin-bottom: 60px;}

/* ------------------------------------------------------------- 
header
------------------------------------------------------------- */
header{
	background-color: #fff;
	box-shadow: 0px 3px 5px 0px rgb(0 0 0 / 10%);
	position:relative;
}
header a:hover{
	text-decoration: none;
}
header nav#gnav{
	width: 1080px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header nav#gnav h1{
	width: 210px;
}
header nav#gnav h1 a{
	display: inline-block;
}
header nav#gnav ul{
	margin-left: auto;
	display: flex;
	justify-content: right;
}
header nav#gnav ul li.normal{
	position: relative;
	margin-left: 8px;
}
header nav#gnav ul li.normal a{
	display: block;
	padding: 36px 30px;
	color: #009B6C;
	font-size: 1.8rem;
}
header nav#gnav ul li.normal a::before{
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 0;
	height: 6px;
	background-color: #009B6C;
	border-radius: 3px;
	content: "";
	transition: .3s;
}
header nav#gnav ul li.normal.currentdir a::before,
header nav#gnav ul li.normal a:hover::before{
	left: 0;
	width: 100%;
}
header nav#gnav ul li.contact a{
	display: block;
	margin: 24px 0 24px 24px;
	padding: 10px 16px;
	border: 1px solid #757575;
	border-radius: 6px;
	color: #757575;
	font-size: 1.6rem;
	transition: .3s;
}
header nav#gnav ul li.contact a:hover{
	border: 1px solid #009B6C;
	color: #009B6C;
}

/* ------------------------------------------------------------- 
content
------------------------------------------------------------- */
.content{
	background-color: #FFF;
}

.container{
	width: 1080px;
	margin: 0 auto;
	padding: 16px 0 40px 0;
}
.container_full{
	width: 100%;
}

/* breadcrumb ----------------------------------- */
.breadcrumb{
	width: 1080px;
	margin: 0 auto 16px auto;
	padding: 16px 0 0 0;
	font-size: 1.4rem;
	display: flex;
}
.breadcrumb li::after{
	content: ">";
	padding: 0 6px;
}
.breadcrumb li:last-child::after{
	content: "";
}
.breadcrumb li a{
	color: #333;
}

/* heading ----------------------------------- */
h2{
	padding: 28px 0;
	background: linear-gradient(105deg, rgba(108,218,226,1) 0%, rgba(21,206,148,1) 50%, rgba(108,218,226,1) 100% );
	text-align: center;
	font-size: 2.8rem;
	letter-spacing: 0.08em;
	color: #fff;
}
h2.h2subtitle span{
	display: block;
	padding-top: 8px;
	font-size: 1.4rem;
}
h2.h2subtitle span::before,
h2.h2subtitle span::after{
	content:"-";
	padding: 0 4px;
}
h3{
	font-size: 2.4rem;
	margin-bottom: 16px;
	letter-spacing: 0.05em;
}
h3.h3center{
	position: relative;
	text-align: center;
	padding-bottom: 8px;
}
h3.h3center::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	top: 1.8rem;
	left: 0px;
	z-index: 1;
	background: #888;
}
h3.h3center span{
	position: relative;
	display: inline-block;
	z-index: 2;
	padding: 0 0.8em;
	background: #fff;
	text-align: center;
}
h4{
	margin-bottom: 8px;
	font-size: 1.8rem;
}

/* modal ----------------------------------- */
body .jquery-modal.blocker{
	z-index: 100;
}

/* ------------------------------------------------------------- 
pagetop
------------------------------------------------------------- */
#pagetop {
	position: fixed;
	right: 0;
	bottom: 0;
	text-indent: -9999px;
	margin: 0;
}
#pagetop a {
	position: relative;
	display: block;
	width: 65px;
	height: 65px;
	background: #63F;
	transition: opacity .3s ease;
}
#pagetop a:hover {
	opacity: .5;
}
#pagetop a::before {
	position: absolute;
	top: 7px;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 14px;
	height: 14px;
	margin: auto;
	content: '';
	transform: rotate(-45deg);
	border-top: 1px solid #FFF;
	border-right: 1px solid #FFF;
}

/* ------------------------------------------------------------- 
footer
------------------------------------------------------------- */
footer{
	padding: 32px 0;
	background-color: #353535;
	color: #fff;
	font-size: 1.4rem;
}
footer > div{
	width: 1080px;
	margin: 0 auto;
}
footer #fnav{
	display: flex;
	margin-left: auto;
}
footer #fnav li{
	margin-left: 24px;
}
footer #fnav li a{
	color: #fff;
}
footer .partner .bnr{
	margin-bottom: 8px;
	display: inline-block;
}
footer .partner .bnr:hover img{
	opacity: .95;
}
footer a.axseed_logo{
	width: 160px;
	margin: 40px auto 16px auto;
	display: block;
}
footer .copyright{
	text-align: center;
}

/* ------------------------------------------------------------- 
clearfix
------------------------------------------------------------- */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clearfix:before {
	content: "";
	display: block;
	clear: both;
}
.clearfix {
	display: block;
}


/* PC ============================================================================= */
@media screen and (min-width: 1080px) {
	.sp_only{
		display: none;
	}
	header #sp_accordion{
		display: block!important;
	}
	#btn_trigger{
		display: none;
	}
}

/* SP ============================================================================= */
@media screen and (max-width: 1079px) {

/* ------------------------------------------------------------- 
general
------------------------------------------------------------- */
	.pc_only{
		display: none;
	}

	body {
		font-size: 3.6vw;
	}

	/* pxの1.3倍 */
	.mt3{ margin-top: 0.4vw;}
	.mt5{ margin-top: 0.7vw;}
	.mt10{ margin-top: 1.3vw;}
	.mt15{ margin-top: 2vw;}
	.mt20{ margin-top: 2.6vw;}
	.mt30{ margin-top: 3.9vw;}
	.mt60{ margin-top: 7.8vw;}

	.mb3{ margin-bottom: 0.4vw;}
	.mb5{ margin-bottom: 0.7vw;}
	.mb10{ margin-bottom: 1.3vw;}
	.mb15{ margin-bottom: 2vw;}
	.mb20{ margin-bottom: 2.6vw;}
	.mb30{ margin-bottom: 3.9vw;}
	.mb60{ margin-bottom: 7.8vw;}

	.pc_flex,
	.pc_flex_reverse{
		display: block;
	}

	/* link ----------------------------------- */
	/* アンカーリンク */
	ul.anchor_list {
		margin-bottom: 4vw;
	}
	ul.anchor_list li{
		margin-right: 0;
		margin-bottom: 4vw;
	}


	/* text ----------------------------------- */
	.tx_small{
		font-size: 3.2vw;
	}
	.notes{
		font-size: 3.2vw;
		padding-left: 3.2vw;
		text-indent: -3.2vw;
	}

/* ------------------------------------------------------------- 
header for SP
------------------------------------------------------------- */
	header{
		width: 100%;
		background-color: #fff;
		box-shadow: none;
		position: fixed;
		transition: all .5s;
		z-index: 50;
	}
	header nav#gnav{
		width: 100%;
		margin: 0 auto;
		display: block;
		text-align: center;
	}
	header nav#gnav h1{
		width: 100%;
		margin: 0 auto;
	}
	header nav#gnav h1 a{
		height: 20vw;
		padding: 3vw 0;
		transition: all .5s;
	}
	header nav#gnav ul{
		margin-left: 0;
		display: block;
	}
	header nav#gnav ul li.normal{
		position: inherit;
		margin-left: 0;
	}
	header nav#gnav ul li.normal a{		
		padding: 2.6vw 2vw;
		border-top: 1px solid #C4C4C4;
		font-size: 4.2vw;
	}
	header nav#gnav ul li.normal a::before{
		display: none;
		position: inherit;
		transition: 0;
	}
	header nav#gnav ul li.contact{
		padding: 0 0 3vw 0;
	}
	header nav#gnav ul li.contact a{
		margin: 0 1.6vw;
		padding: 2.6vw 2vw;
		font-size: 4.2vw;
	}	

/* sp_accordion ----------------------------------- */
	header nav#gnav #sp_accordion{
		display: none;
	}
	header nav#gnav #btn_trigger {
		position: absolute;
		top: 6.3vw;
		right: 6.6vw;
		width: 8.9vw;
		height: 7.4vw;
		margin: auto;
		cursor: pointer;
		transition: all .5s;
	}
	header nav#gnav #btn_trigger span {
		display: block;
		width: inherit;
		height: .6vw;
		background-color: #606060;
		border-radius: 4px;
		position: absolute;
		top: calc(50% - (.6vw / 2));
		-webkit-transition: all 0.4s;
		transition: all .5s;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	header nav#gnav #btn_trigger span:nth-of-type(1) {
		transform: translateY(calc((2.9vw) * -1));
	}
	header nav#gnav #btn_trigger span:nth-of-type(3) {
		transform: translateY(calc(2.9vw));
	}

	header nav#gnav #btn_trigger.active span:nth-of-type(1) {
		-webkit-transform: rotate(-45deg) translateY(0px);
		transform: rotate(-45deg) translateY(0px);
	}
	header nav#gnav #btn_trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	header nav#gnav #btn_trigger.active span:nth-of-type(3) {
		-webkit-transform: rotate(45deg) translateY(0px);
		transform: rotate(45deg) translateY(0px);
	}

/* header scroll transform ----------------------------------- */
	header.transform{
		box-shadow: 0px 3px 5px 0px rgb(0 0 0 / 10%);
	}
	header.transform nav#gnav h1 a{
		height: 16vw;
	}
	header.transform nav#gnav #btn_trigger {
		top: 4.3vw;
	}

/* ------------------------------------------------------------- 
content for SP
------------------------------------------------------------- */
	header+div{
		padding-top: 20vw;
	}
	.container{
		width: 100%;
		padding: 2.5vw 3vw;
	}

/* breadcrumb ----------------------------------- */
	.breadcrumb{
		width: 100%;
		margin-bottom: 3vw;
		padding: 2.5vw 3vw;
		font-size: 3.2vw;
		display: flex;
	}
	.breadcrumb li::after{
		content: ">";
		padding: 0 0.5vw;
	}
	.breadcrumb li:last-child::after{
		content: "";
	}
	.breadcrumb li a{
		color: #333;
	}

/* heading ----------------------------------- */
	h2{
		font-size: 6vw;
	}
	h2.h2subtitle span{
		font-size: 3.6vw;
	}
	h3{
		font-size: 5vw;
	}
	h3.h3center{
		padding-bottom: 2vw;
	}
	h3.h3center::before {
		top: 4vw;
	}
	h4{
		font-size: 4vw;
		margin-bottom: 1vw;
	}

/* ------------------------------------------------------------- 
pagetop for SP
------------------------------------------------------------- */
	#pagetop a {
		width: 45px;
		height: 45px;
	}
	#pagetop a::before {
		top: 5px;
		width: 10px;
		height: 10px;
	}

/* ------------------------------------------------------------- 
footer for SP
------------------------------------------------------------- */
	footer{
		font-size: 3.2vw;
	}
	footer > div{
		width: 100%;
		padding: 0 3vw;
	}
	footer #fnav{
		margin-top: 3vw;
		margin-left: 0;
		text-align: center;
		flex-wrap: wrap;
	}
	footer #fnav li{
		margin-top: 2vw;
		margin-left: 0;
		padding-right: 2vw;
		width: 50%;
		border-right: 1px solid #fff;
	}
	footer #fnav li:nth-child(2n){
		padding-right: 0;
		border-right: 0;
	}
	footer #fnav li a{
		display: block;
	}
	footer .partner{
		text-align: center;
	}
	footer .partner .bnr{
		margin-bottom: 2vw;
	}
	footer a.axseed_logo{
		width: 40%;
		margin: 6vw auto 4vw auto;
	}
} 