@charset "utf-8";
/* common */
.pcNone {
    display: block;
}
.spNone {
    display: none;
}
a:hover {
	opacity: 1;
}

.wrapper {
	width: 100%;
}
.contents {
	padding-top: 60px;
}
.contentsInner {
	padding: 11% 6.66% 10%;
}
header {
    display: block;
	height: 60px;
	position: fixed;
	z-index: 10;
}
header:after {
	content: none;
}
.pcHeader {
	display: none;
}
.spHeader {
	display: block;
	width: 100%;
	padding: 0;
	position: relative;
}
.headerLogo {
	border-right: 2px solid #777;
	display: flex;
	height: 60px;
	margin-right: 55px;
}
.headerLogo a {
	align-self: center;
	max-width: 50%;
	height: auto;
	margin-left: 2.8%;
}
.headerLogo a.logoArcc {
	max-width: 40%;
	margin: auto;
}
.headerLogo a img {
	max-height: 30px;
}
.headerNav {
	background-color: #eaeff2;
	display: none;
	width: 100%;
	margin-bottom: 0;
	position: absolute;
	top: 60px;
}
.headerNav ul {
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
}
.headerNav li {
	border-bottom: 1px solid #000;
	display: flex;
	width: 50%;
}
.headerNav li:nth-child(2n-1) {
	border-right: 1px solid #000;
}
.headerNav li a {
	display: flex;
	align-items: center;
	width: 100%;
	height: 55px;
	color: #000;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: normal;
	padding: 4% 3.46%;
}
.headerNav li a:hover {
	border-bottom: none;
}
.headerNav li a.current {
	border-bottom: none;
	color: #0073bd;
	opacity: 0.8;
}
.headerIcon {
    width: 55px;
    height: 60px;
	color: #fff;
	font-size: 10px;
	text-align: center;
    margin: 0 0 0 auto;
	padding: 14px 13px 0;
    position: relative;
    top: -60px;
    right: 0;
}
.menuBtn,
.menuBtn span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menuBtn {
	width: 26px;
	height: 19px;
	margin-bottom: 5px;
	position: relative;
}
.menuBtn span {
	background-color: #fff;
	width: 100%;
	height: 3px;
	position: absolute;
	left: 0;
}
.menuBtn .line1 {
	top: 0;
}
.menuBtn .line2 {
	top: 8px;
}
.menuBtn .line3 {
	bottom: 0;
}
.headerIcon.open .menuBtn .line1 {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}
.headerIcon.open .menuBtn .line2 {
	opacity: 0;
}
.headerIcon.open .menuBtn .line3 {
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}
.btnArea {
	padding: 10.53% 6.66% 12.4%;
}
.btnArea ul {
	display: block;
}
.btnArea .btn li {
	margin-bottom: 6%;
}
.btnArea .btn li:last-child {
	margin-bottom: 0;
}
.btnArea .btn a {
	width: 100%;
}
.bnrArea {
	padding: 11% 2.66%;
}
.bnrArea li {
	width: 32%;
}
.bnrArea li a {
	padding: 14.78% 4.78% 11.3%;
}
.bnrArea li a span {
	font-size: 12px;
	margin: 0 auto 10.4%;
}
.footerInner {
	font-size: 14px;
	padding: 11.73% 2.66% 10.93%;
}
.btnArea + .footerInner {
	border-top: 1px solid #39649a;
}
.footerNav ul {
	flex-wrap: wrap;
	max-width: 340px;
    margin: auto;
}
.footerNav ul li {
	margin: 0 0 1em 1em;
	padding-right: 1em;
}
.footerNav ul li:first-child {
	margin-left: 0;
}
.copyright {
	font-size: 11px;
	line-height: 1.09;
	margin: 8.5% auto 0;
}
.overlay {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 2;
}
/* contents */
.slideArea .slick-slide img {
	width: 100%;
}
.slick-dots {
	width: 72px;
    bottom: 12px;
}
.slick-dots li {
  width: 12px;
  margin: 0 0 0 18px;
}
.slick-dots li button {
  width: 12px;
  height: 12px;
}
.mainVisual .txtArea {
	padding: 0 2.66%;
	top: 9.06%;
}
.mainVisual h1 {
	margin: 0 auto 5.93%;
}
.mainVisual h1 span {
	font-size: 2.7vw;
	letter-spacing: 0.01em;
	margin: 0 auto 2.4%;
}
.mainVisual h1 img {
	width: 75%;
	margin-left: 10px;
}
.mainVisual .txtArea p {
	font-size: 3vw;
	line-height: 2.1;
	letter-spacing: 0.05em;
}
.mainVisual .txtArea .btn {
	margin: 5% auto 0;
}
@media screen and (max-width: 374px){
	.mainVisual .txtArea p {
		letter-spacing: 0;
	}
	.mainVisual .txtArea .btn {
		margin-top: 3%;
	}
}
.contHead {
	font-size: 30px;
}
.contHead span {
	font-size: 16px;
	letter-spacing: 0.025em;
	padding: 45px 10px 0;
}
.innerTitle .contHead {
	font-size: 22px;
	line-height: 1.35;
	letter-spacing: 0.05em;
}
.article {
	display: block;
	margin: 8% auto 0;
}
.article li {
	width: 100%;
	margin: 0 0 4.53%;
}
.article li.comingsoon {
	height: 340px;
}
.article .imgBox {
    height: calc(67.5vmin);
}
.article .recruitTag {
	bottom: 15px;
	left: auto;
	right: 15px;
}
.btn {
	margin: 9.33% auto 0;
}
.btn a {
	min-width: 200px;
	height: auto;
	padding: 4.1% 9.1% 4.2% 4%;
}
.btn a.long {
	max-width: 291px;
	width: 100%;
}
.btn a.largeBtn {
	width: 100%;
	height: auto;
	padding: 7.3% 14.6%;
}
.btn .largeBtn span {
	font-size: 19px;
}
.btn a span {
	font-size: 17px;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 415px) {
	.btn a.txtSmall {
		padding: 4.82% 7.5% 4.92% 4%;
	}
	.btn a.txtSmall span {
		font-size: 4.1vw;
	}
	.btn a.txtSmall span:before {
		right: -20px;
	}
	.btn a.txtSmall span:after {
		right: -22px;
	}
}
.lede {
	font-size: 16px;
	margin: 18% auto 0;
}
/* NEWS */
.newsArea .contentsInner {
	display: block;
	padding: 6.13% 2.66% 9.86%;
}
.newsArea .innerBlock {
	display: block;
}
.newsArea .innerBlock .ttl {
	border-right: 1px solid #aaa;
	display: inline-block;
	line-height: 1.75;
	letter-spacing: 0.0375em;
	padding-right: 13px;
}
.newsInner {
	border-left: none;
	margin: 1.6% auto 0;
}
.newsInner dl {
	display: block;
	margin: 2.66% auto 0;
}
.newsInner dl dt {
	display: inline-block;
	margin-left: 0;
}
.newsInner dl .newsTag {
	vertical-align: top;
}
.newsInner dl dd {
	max-width: 100%;
	margin-left: 0;
}
.newsArea .btn {
	margin: 9.2% auto 0;
}
.newsArea .btn a {
	width: 125px;
	padding: 16px 33px 15px 25px;
}
/* THEME */
.theme {
	background: url(/common/images/bg_theme_sp.jpg) no-repeat top center;
	background-size: cover;
}
.theme .article.entryTask li a {
	background-color: #fff;
}
/* OUTLINE */
.outline {
	background: url(/common/images/bg_outline_sp.jpg) no-repeat top center;
	background-size: cover;
}
.outline .contentsInner {
	padding: 13.86% 2.66% 11.33%;
}
.meritArea {
	margin: 11.06% auto 0;
}
.meritArea .ttl {
	font-size: 22px;
	letter-spacing: 0.075em;
	padding: 2.93% 0 2.66%;
}
.meritArea .col3 {
	display: block;
	margin: 5.86% auto 0;
}
.meritArea .col3 li {
	margin-bottom: 3.2%;
}
.circle {
    margin: auto;
}
@media screen and (max-width: 425px) {
	.circle {
		width: 63%;
		height: 63%;
	}
	.circle p img {
		top: 18%;
		max-width: 18.8%;
	}
	.circle p span {
		font-size: 3.8vw;
		letter-spacing: 0.0375em;
	}
}
.outline .bgWhite {
	margin: 7.2% -2.81% 0;
	padding: 10.26% 2.66% 8.8%;
}
.flowBlock {
	margin: 16.26% auto 6.8%;
}
.flowBlock dl dt {
	font-size: 18px;
	letter-spacing: 0.0375em;
	padding: 3.2% 0 3.46%;
}
.flowBlock dl dd {
	border-top: none;
	font-size: 16px;
	line-height: 1.875;
	padding: 3.06% 3.95% 3.73%;
}
.flowBlock + p {
	font-size: 15px;
	line-height: 2;
	padding: 0 4.215%;
}
/* ENTRY */
.entry {
	margin: 0 auto 1.6%;
}
.entry .lede {
	margin: 9.73% -4.615% 12.4%;
}
.entry .bgBlue {
	background-color: #e9eff2;
	margin: 10.26% -7.683% 11.2%;
	padding: 10.26% 2.66% 6.8%;
}
.entryBlock {
	display: block;
	margin: 0 auto 8.53%;
}
.entryBlock li {
	width: 100%;
    margin: 0 0 5.2% 0;
}
.entryBlock dl {
	letter-spacing: 0.0375em;
	padding: 7.2% 4% 6.26%;
}
.entryBlock dl dt {
	font-size: 20px;
	margin: 0 auto 4.26%;
}
.entryBlock dl dd {
	font-size: 16px;
	line-height: 1.625;
	text-indent: -20px;
	padding-left: 20px;
}
.entryBlock dl dd:before {
	content: '●';
	display: inline-block;
	color: #aaa;
	font-size: 13px;
	vertical-align: middle;
	margin: -5px 0 0 20px;
}
.entry .imgArea {
	margin: 14.66% auto 0;
}

/*--------------------
 underlayer - common
--------------------*/
.headingArea {
	padding: calc((68 / 750) * 100%) 0 calc((68 / 750) * 100% - 25px);
}
.bgGrayTitle {
	font-size: 20px;
	margin: 0 auto 20px;
	padding: 12px;
}
.secTitle {
	font-size: 20px;
	line-height: 1.3;
	padding: 4px 10px;
}
.secSubTitle {
	font-size: 16px;
	line-height: 1.2;
	text-indent: -44px;
	padding-left: 44px;
}
.secSubTitle:before {
	margin-right: 3px;
}
/* detail 詳細ページ */
.ttlBlock .bgWhite {
	display: block;
	padding: 10px;
}
.ttlBlock .bgGray {
	display: block;
	padding: 10px;
}
.ttlBlock .taskNumber {
	min-width: inherit;
	max-width: 150px;
	height: auto;
	margin: 0 0 15px;
	padding: 9px 22px;
}
.ttlBlock .subject {
	font-size: 20px;
	line-height: 1.3;
}
.ttlBlock .period {
	font-size: 18px;
	padding-left: 5em;
    text-indent: -5em;
}
.ttlBlock .iconTag {
	max-width: 130px;
	height: auto;
    margin: 15px 0 0 auto;
    padding: 7px 15px;
}
.ttlBlock .ttlBar:before {
	border-left: 10px solid transparent;
}
.detail .note {
	font-size: 14px;
    line-height: 1.7;
}
.detail .subTitle {
    font-size: 20px;
	line-height: 1.3;
	margin: 0 0 15px;
}
.detail .inner {
	font-size: 15px;
    padding: 11% 6.66% 10%;
}
.detail .inner .txtArea {
	margin: 0 auto 30px;
}
.detail .inner .imgArea {
	text-align: center;
	margin: 0 auto 30px;
}
.detail .inner iframe {
    height: auto !important;
}
.detail .inner .imgArea .caption {
	line-height: 1.3;
}


/* form お問い合わせ/エントリーフォーム */
.attentionBox {
	font-size: 14px;
	padding: 4.13% 4.53%;
}
.attentionBox .bgBlue {
	margin: 6.66% auto 0;
	padding: 3.33% 5.55% 4.44%;
}
.formArea .inner {
    padding: 3.33% 6.66%;
}
.formArea .txtGray {
	font-size: 12px;
	margin: 5px 0 0 5px;
}
.formArea .txt {
	margin-left: 5px;
}
.formArea .txtArea {
	line-height: 1.7;
	text-align: left;
	margin: 40px auto;
}
.formBlock + .btn {
	margin-top: 9.33%;
}
.formBlock dl {
	display: block;
}
.formBlock dl dt {
	width: 100%;
	min-height: 50px;
	padding: 0 15px;
}
input + input {
	margin: 5px 0 0;
}
input.short,
input.middle {
	width: 100%;
}
input.short.spWidth {
	width: calc(100% - 25px);
}
.formBlock dl dd {
	width: 100%;
	padding: 15px;
}
.formBlock dl dd p {
	font-size: 12px;
	margin: 5px 0 0;
}
.formBlock dl dd .note {
	display: block;
}
.agreementBox {
	margin: 20px auto 25px;
	padding: 20px;
}
.agreementBox p {
	font-size: 15px;
	line-height: 2;
}
.checkBox {
	text-align: center;
	margin: 25px auto 40px;
}
.btn button {
	width: 100%;
	max-width: 420px;
	height: 58px;
	padding: 3.2% 6%;
}
.btn button span {
	font-size: 20px;
	letter-spacing: 0.05em;
}
.completedText {
	font-size: 20px;
	line-height: 1.4;
}
/* INQUIRY */
#inquiry .headingArea {
	background: url(/inquiry/images/bg_inquiry_sp.jpg) no-repeat top center;
	background-size: cover;
}
#inquiry .contHead span {
	font-size: 15px;
}
@media screen and (max-width: 405px) {
	#inquiry .contHead:after {
		bottom: 52px;
	}
}
.inquiryText {
	font-size: 14px;
	margin: 0 auto 40px;
}
.inquiryText .time {
	line-height: 1.3;
	margin-right: -5px;
}
.inquiryText .tel {
	font-size: 40px;
	margin: 0 auto 25px;
}
.inquiryText .tel span {
	font-size: 14px;
    margin: 0 -10px;
}
/* THEME */
#theme .headingArea {
	background: url(/theme/images/bg_theme_sp.jpg) no-repeat top center;
	background-size: cover;
}
#theme .contentsInner {
	padding: 11% 6.66% 10%;
}
#theme .lede {
	margin: 0 auto 5.33%;
}
#theme .ttlBlock .bgWhite {
	padding: 15px;
}
/* FAQ */
#faq .headingArea {
	background: url(/faq/images/bg_faq_sp.jpg) no-repeat top center;
	background-size: cover;
}
.faqBlock {
	margin: 0 auto 30px;
}
.faqBlock dl {
	font-size: 15px;
	line-height: 1.6;
}
.faqBlock dl dt {
	padding: 7px 10px 13px 40px;
	text-indent: -27px;
}
.faqBlock dl dd {
	padding: 10px 10px 16px 40px;
	text-indent: -24px;
}
.faqBlock dl dt:before,
.faqBlock dl dd:before {
	font-size: 20px;
	line-height: 1.3;
	margin-right: 5px;
}
/* ENTRY */
#entry .headingArea {
	background: url(/entry/images/bg_entry_sp.jpg) no-repeat top center;
	background-size: cover;
}
#entry .headingArea .contHead:after {
	bottom: 54px;
}
#entry.entryy .headingArea .contHead:after {
	bottom: 37px;
}
#entry.entryy .contentsInner {
	padding: 8% 6.66% 10.66%;
}
#entry.entryy .lede {
	margin: 0 auto 9.33%;
}
/* PROJECT REPORT */
#report .headingArea {
	background: url(/projectreport/images/bg_report_sp.jpg) no-repeat top center;
	background-size: cover;
}
/* OUTLINE */
#outline .headingArea {
	background: url(/outline/images/bg_outline_sp.jpg) no-repeat top center;
	background-size: cover;
}
#outline .contentsInner {
	padding: 8% 6.66%;
}
#outline .inner {
	margin: 0 auto 9.33%;
}
#outline .bgGrayTitle {
	margin-bottom: 3.6%;
}
#outline .innerTxt {
	font-size: 15px;
}
.grayBox {
	width: 100%;
	margin: 6.66% auto 2%;
}
#outline .outline {
	margin-bottom: 3.33%;
}
#outline .meritArea {
    margin: 1.33% auto 0;
}
@media screen and (max-width: 425px) {
	#outline .circle p span {
		font-size: 3.5vw;
	}
}
#outline .bgBlue .bgWhite {
	padding: 9.33% 6.66%;
}
#outline .bgWhite .innerTxt {
	margin: 14.66% auto 6.66%;
}
#outline .bgBlue .flowBlock dl dt {
	padding: 5.06% 0 4.66%;
}
#outline .flowBlock .col3 dl {
	border: 4px solid #ddd;
	display: flex;
	margin-top: 23px;
}
#outline .flowBlock .col3 dl:before {
	border-width: 23px 35px 0 35px;
	top: -27px;
}
#outline .flowBlock .col3 dl dt {
	border: none;
	align-self: center;
	width: 100%;
}
#outline .bgBlue + .btn {
	margin: 8.66% auto;
}
/* NEWS RELEASE */
#news .headingArea {
	background: url(/newsrelease/images/bg_news_sp.jpg) no-repeat top center;
	background-size: cover;
}
#news .contentsInner {
	padding: 11% 6.66% 10%;
}
#news .lede {
	margin: 0 auto 6.66%;
}
.ttlBlock .tagBox {
	text-align: right;
	margin: 15px 0 0;
}
.ttlBlock .tagBox .iconTag {
	margin: 0 0 0 5px;
}
#news .newsInner dl {
	padding: 4% 0;
}
#news .newsInner dl dt {
    margin-left: 0;
}
#news .newsInner dl .newsTag {
	margin-left: 5px;
}
/* SITE POLICY */
/* PRIVACY POLICY */
#policy .headingArea {
	background: url(/common/images/bg_policy_sp.jpg) no-repeat top center;
	background-size: cover;
}
#policy .secTitle + .secSubTitle {
	margin-top: 20px;
}
#policy .txtArea {
    font-size: 14px;
    margin: 10px auto 30px;
}
#policy .policyList {
	margin: 15px 0 0 30px;
}
#policy .policyList li {
	margin-top: 5px;
}

