@charset "utf-8";

/***************************************************
	common.css
	共通レイアウトスタイル定義
***************************************************/


/* Base
------------------------------------------------------------ */
html {
	font-size: 62.5%;
}
body {
	line-height: 1.88;
	color: #000000;
	margin: 0;
	padding: 0;
	min-width: 1020px;
	background: #ffffff;
	font-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	word-wrap: break-word;
}
@media only screen and (max-width: 767px) {
	body {
		min-width: inherit;
	}
}

img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}

.innerBox {
	clear: both;
	max-width: 1000px;
	margin: 0 auto;
}
@media only screen and (max-width: 767px) {
	.innerBox {
		padding: 0 15px;
	}
}

.brPc {
}
.brSp {
	display: none;
}
@media only screen and (max-width: 767px) {
	.brPc {
		display: none;
	}
	.brSp {
		display: inline;
	}
}
/* スマホの時は非表示
------------------------------------------------------------ */
.areaPc{
    display:block;
}
.areaSp{
	display: none;
}
@media only screen and (max-width: 767px) {
.areaPc{
    display:none;
}
.areaSp{
    display:block;
  }
}


/* Link
------------------------------------------------------------ */
a { outline: none; }
a:link {
	color: #000000;
	text-decoration: none;
}
a:visited {
	color: #000000;
	text-decoration: none;
}
a:hover {
	color: #000000;
	text-decoration: underline;
}

a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
}

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

/* header
-------------------------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100px;
	background-color: rgba(255,255,255,0.7);
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#70ffffff', endColorstr='#70ffffff');
	_background-color: #ffffff;
	z-index: 200;
	min-width: 1020px;
}
@media only screen and (max-width: 767px) {
	#header {
		height: 50px;
		min-width: inherit;
	}
}
#header .headerInner {
	display: flex;
	justify-content: space-between;
}
#header .logo {
	width: 170px;
	margin: 15px 0 0 30px;
}
@media only screen and (max-width: 767px) {
	#header .logo {
		width: 85px;
		margin: 8px 0 0 15px;
	}
}
#header .btnBox {
	display: flex;
}
#header .btnBox .btnDocument {
	width: 100px;
    margin: 0 0 0 5px;
}
#header .btnBox .btnDocument a {
	display: block;
	height: 100px;
	margin: 0;
	padding: 0;
	text-indent: -9999px;
	background: #ffffff url("/new_comer/img/common/header_btn_document.svg") center center no-repeat;
	background-size: 57px auto;
}
#header .btnBox .btnDocument a:hover {
	opacity: 0.7;
}
@media only screen and (max-width: 767px) {
	#header .btnBox .btnDocument {
		width: 50px;
        margin-left: 1px;
	}
	#header .btnBox .btnDocument a {
		height: 50px;
		background-size: 28px auto;
	}
}

#header .btnBox .btnmoushikomi {
	width: 100px;
	margin: 0;
}
#header .btnBox .btnmoushikomi a {
	display: block;
	height: 100px;
	margin: 0;
	padding: 0;
	text-indent: -9999px;
	background: #ffffff url("/new_comer/img/common/header_btn_moushikomi.svg") center center no-repeat;
	background-size: 57px auto;
}
#header .btnBox .btnmoushikomi a:hover {
	opacity: 0.7;
}
@media only screen and (max-width: 767px) {
	#header .btnBox .btnmoushikomi {
		width: 50px;
	}
	#header .btnBox .btnmoushikomi a {
		height: 50px;
		background-size: 28px auto;
	}
}

#header .btnBox .btnMenu {
	width: 100px;
	height: 100px;
	margin: 0 0 0 5px;
	padding: 0;
	text-indent: -9999px;
	background: #ffffff url("/new_comer/img/common/header_btn_menu.svg") center center no-repeat;
	background-size: 42px auto;
}

#header .btnBox .btnMenu:hover {
	opacity: 0.7;
	cursor: pointer;
}
@media only screen and (max-width: 767px) {
	#header .btnBox .btnMenu {
		width: 50px;
		height: 50px;
		margin-left: 1px;
		background-size: 21px auto;
	}
}

#header #menuBox {
	visibility: hidden;
	opacity: 0;
	height: 100vh;
	margin: 0;
	padding: 0;
	position: absolute;
	width: 500px;
	top: 0;
	right: 0;
	background: #ffffff;
	box-sizing: border-box;
	/*transition: 0.2s;*/
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}
body.open #header #menuBox {
	visibility: visible;
	opacity: 1;
}
@media only screen and (max-width: 767px) {
	#header #menuBox {
		width: 100vw;
	}
}
#header #menuBox > div {
	position: relative;
	pointer-events: none;
}
#header #menuBox > div::before {
	content: "";
	display: block;
	border: 10px solid #5d3e7d;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10;
}
@media only screen and (max-width: 767px) {
	#header #menuBox > div::before {
		border-width: 5px;
	}
}
#header #menuBox > div > * {
	position: relative;
	z-index: 5;
	pointer-events: auto;
}
#header #menuBox .headBox {
	display: flex;
	justify-content: space-between;
	position: relative;
}
#header #menuBox .logo {
}
#header #menuBox .btnDocument .btnmoushikomi {
}
#header #menuBox .btnMenuClose {
	width: 100px;
	height: 100px;
	margin: 0 0 0 5px;
	text-indent: -9999px;
	background: #5d3e7d url("/new_comer/img/common/header_btn_menu_close.svg") center 15px no-repeat;
	background-size: 42px auto;
}
#header #menuBox .btnMenuClose:hover {
	opacity: 0.7;
	cursor: pointer;
}
@media only screen and (max-width: 767px) {
	#header #menuBox .btnMenuClose {
		width: 50px;
		height: 50px;
		margin-left: 1px;
		background-position: center 8px;
		background-size: 21px auto;
	}
}
#header #menuBox .listBox {
	padding: 20px 50px;
}
@media only screen and (max-width: 767px) {
	#header #menuBox .listBox {
		padding: 10px 25px;
	}
}
#header #menuBox .listBox .list01 {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
#header #menuBox .listBox .list01 li {
	margin: 0;
	padding: 0;
}
#header #menuBox .listBox .list01 li ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
#header #menuBox .listBox .list01 > li {
	border-bottom: 2px solid #5d3e7d;
}
@media only screen and (max-width: 767px) {
	#header #menuBox .listBox .list01 > li {
		border-width: 1px;
	}
}
#header #menuBox .listBox .list01 > li li {
	border-top: 1px dotted #5d3e7d;
}
#header #menuBox .listBox .list01 li a {
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.1;
	padding: 1em;
}
#header #menuBox .listBox .list01 li li a {
	padding-left: 2em;
}
@media only screen and (max-width: 767px) {
	#header #menuBox .listBox .list01 li a {
		font-size: 1.5rem;
	}
}
#header #menuBox .listBox .list02 {
	margin: 0;
	padding: 30px 0;
	list-style-type: none;
}
#header #menuBox .listBox .list02 li {
	margin: 0;
	padding: 0;
}
#header #menuBox .listBox .list02 li a {
	display: block;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.1;
	color: #7b7473;
	padding: 0.8em 1.2em;
}
@media only screen and (max-width: 767px) {
	#header #menuBox .listBox .list02 li a {
		font-size: 1rem;
	}
}

body #overlay  {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 100;
	background: rgba(0, 0, 0, .4);
	visibility: hidden;
	opacity: 0;
	transition: 0.5s;
}
body.open #overlay  {
	visibility: visible;
	opacity: 1;
}
body.open {
	height: 100vh;
	overflow-y: hidden;
}

/* main
-------------------------------------------------------------------*/
#main {
	display: block;
	clear: both;
	font-size: 1.7rem;
}


/* footer
-------------------------------------------------------------------*/
#footer {
	padding: 60px 0 40px;
}
#footer .list01 {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	justify-content: center;
	font-size: 1.6rem;
	line-height: 1;
}
#footer .list01 > li {
	margin: 0;
}
#footer .list01 > li + li {
	border-left: 1px solid #000000;
}
#footer .list01 > li a {
	padding: 0 1em;
}
@media only screen and (max-width: 767px) {
	#footer .list01 {
		font-size: 1.0rem;
	}
}

#footer .sitetitle {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	margin: 1.5em 0 0 0;
}
@media only screen and (max-width: 767px) {
	#footer .sitetitle {
		font-size: 1.2rem;
	}
}
#footer .cr {
	text-align: center;
	font-size: 1.5rem;
	line-height: 1;
	margin: 1em 0 0 0;
}
@media only screen and (max-width: 767px) {
	#footer .cr {
		font-size: 1.2rem;
	}
}
#btnPagetop {
	position: fixed;
	bottom: 30px;
	left: calc(50% + 420px);
	margin: 0;
}
@media only screen and (max-width: 767px) {
	#btnPagetop {
		width: 40px;
		height: 42px;
		position: fixed;
		bottom: 20px;
		left: auto;
		right: 20px;
	}
}


/* 調整用
---------------------------------------------------------------------------- */
.mt0 { margin-top: 0!important; }
.mt5 { margin-top: 5px!important; }
.mt10 { margin-top: 10px!important; }
.mt15 { margin-top: 15px!important; }
.mt20 { margin-top: 20px!important; }
.mt30 { margin-top: 30px!important; }
.mt35 { margin-top: 35px!important; }
.mt40 { margin-top: 40px!important; }
.mt50 { margin-top: 50px!important; }
.mt100 { margin-top: 100px!important; }
.mr0 { margin-right: 0!important; }
.mr5 { margin-right: 5px!important; }
.mr10 { margin-right: 10px!important; }
.mr15 { margin-right: 15px!important; }
.mr20 { margin-right: 20px!important; }
.mr25 { margin-right: 25px!important; }
.mb0 { margin-bottom: 0!important; }
.mb5 { margin-bottom: 5px!important; }
.mb10 { margin-bottom: 10px!important; }
.mb12 { margin-bottom: 12px!important; }
.mb15 { margin-bottom: 15px!important; }
.mb20 { margin-bottom: 20px!important; }
.mb25 { margin-bottom: 25px!important; }
.mb30 { margin-bottom: 30px!important; }
.mb35 { margin-bottom: 35px!important; }
.mb40 { margin-bottom: 40px!important; }
.mb50 { margin-bottom: 50px!important; }
.mb60 { margin-bottom: 60px!important; }
.mb80 { margin-bottom: 80px!important; }
.ml0 { margin-left: 0!important; }
.ml5 { margin-left: 5px!important; }
.ml10 { margin-left: 10px!important; }
.ml15 { margin-left: 15px!important; }
.ml20 { margin-left: 20px!important; }
.ml25 { margin-left: 25px!important; }
.ml30 { margin-left: 30px!important; }


.clearB	{ clear: both!important;}
.floatR { float: right!important; }
.floatL { float: left!important; }

.taCenter { text-align: center!important; }
.taRight { text-align: right!important; }
.taLeft { text-align: left!important; }
.vaMiddle { vertical-align: middle!important; }
.fwBold { font-weight: bold!important; }

.fs11 { font-size: 11px!important; }
.fs12 { font-size: 12px!important; }
.fs14 { font-size: 14px!important; }
.fs16 { font-size: 16px!important; }
.fs20 { font-size: 20px!important; }

.w100per { width: 100%;}

.minIndent {
	padding-left: 1em;
	text-indent: -1em;
}
.notFloat {
	overflow: hidden;
	_zoom: 1;
}

/* clearfix */
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}
.clearfix {zoom:1;}