@charset "UTF-8";
@import url("./utility.css");
@import url("./reset.css");
@import url("./container.css");
@import url("./keyframes.css");
@import url("./font-awesome.min.css");
@import url("//fonts.googleapis.com/earlyaccess/notosansjapanese.css");
@import url("//fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap");
@import url("//fonts.googleapis.com/css2?family=Lobster&display=swap");

.is-mobile {
	display: none;
}


.is-desktop {
	display: block;
}

.is-hidden {
	display: none;
}

/* Basic */
html,
body {
	background: white;
	height: 100%;
	font-size: 62.5%;
}

body {
	margin: 0;
	
}

#six {
	display: none;
}


body,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
select,
textarea {
	color: #1f3134;
	font-family: "Noto Sans Japanese", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 200;
	line-height: 1.75em;
}

a {
	-webkit-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out;
	transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out;
	color: #e44c65;
	text-decoration: none;
	word-break: break-all;
}

a:hover {
	color: #e44c65;
	border-bottom-color: transparent;
}

/* Form Styles */
.briefingListItem {
	margin-bottom: 12px;
}

.briefingListItem:last-child {
	margin-bottom: 0;
}

.briefingListItem::marker {
	list-style: none;
}

.briefingList {
	list-style: none;
}

.graduateYearStringNote {
	font-size: 0.85em;
}

.number {
	height: 34px;
}

label {
	border: 2px solid rgba(250, 250, 250, 0.15);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	height: 100%;
	width: 100%;
	padding: 20px 16px 20px 64px;
	cursor: pointer;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	background: #fff;
	font-weight: bold;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	font-family: Lato, Noto Sans JP, sans-serif;
	border-radius: 4px;
	position: relative;
}

label::before {
	border-radius: 4px;
	background: #f2f2f2;
	border: none;
	content: '';
	display: inline-block;
	width: 2.4rem;
	height: 2.4rem;
	left: 24px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	border: 1px solid #ccc;
	position: absolute;
	text-align: center;
	border-radius: 100%;
}

input[type="radio"]:checked + label::before {
	background: #e44c65;
	-webkit-box-shadow: inset 0 0 0 4px #fff;
	box-shadow: inset 0 0 0 4px #fff;
}

/* Input style */
input[type="radio"] {

	opacity: 0;
	width: 0;
	height: 0;
	display: block;
}

input[type="radio"]:checked + label {
	border: 2px solid rgba(228,76,101,.7);
}

ul.formInputGraduateYearRadio li {
	margin-bottom: 12px;
}

body.landing {
	text-decoration: none;
}

body.landing::before {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	text-transform: none !important;
}

body.landing::before {
	-webkit-animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-hide 0.25s ease-in-out forwards !important;
	animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-hide 0.25s ease-in-out forwards !important;
	-webkit-transform-origin: 50% 50%;
	-ms-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	color: rgba(255, 255, 255, 0.15);
	content: '\f1ce';
	cursor: default;
	display: block;
	font-size: 2em;
	height: 2em;
	left: 50%;
	line-height: 2em;
	margin: -1em 0 0 -1em;
	opacity: 0;
	position: fixed;
	text-align: center;
	top: 50%;
	width: 2em;
	z-index: -1;
}

body.landing::after {
	-webkit-animation: overlay-hide 1.5s ease-in forwards !important;
	animation: overlay-hide 1.5s ease-in forwards !important;
	background: #fff;
	content: '';
	display: block;
	height: 100%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: -1;
}

body.landing.is-loading::before {
	-webkit-animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-rotate 0.75s infinite linear !important;
	animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-rotate 0.75s infinite linear !important;
	z-index: 100001;
}

body.landing.is-loading::after {
	-webkit-animation: none !important;
	animation: none !important;
	opacity: 1;
	z-index: 100000;
}

@media (-webkit-min-device-pixel-ratio: 2) {
	body.landing::before {
		line-height: 2.025em;
	}
}


/* Goto Next */

.goto-next {
	border: 0;
	bottom: 20px;
	display: block;
	height: 5em;
	left: 50%;
	margin: 0 0 0 -5em;
	overflow: hidden;
	position: absolute;
	text-indent: 10em;
	white-space: nowrap;
	width: 10em;
	z-index: 1;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.goto-next::before {
	background-image: url("images/arrowWhite.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	display: block;
	height: 1.5em;
	left: 50%;
	margin: 0 0 0 -1em;
	position: absolute;
	top: 50%;
	width: 2em;
	z-index: 1;
}

.goto-next:hover {
	bottom: 0;
}

/* Accordion */

.accordion {
	border: 0;
	display: block;
	z-index: 1;
	font-size: 1em;
	line-height: 1.5em;
	margin-left: 8px;
	margin-top: 0.5em;
}

.accordion__onoff {
	display: inline-block;
	height: 1em;
	width: 1em;
	z-index: 1;
	font-size: 1.2em;
	position: absolute;
	right: 2.5em;
	top: 0.6em;
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
	transition: opacity 1s ease-in, -webkit-transform 0.2s ease;
	-webkit-transition: opacity 1s ease-in, -webkit-transform 0.2s ease;
	transition: transform 0.2s ease, opacity 1s ease-in;
	transition: transform 0.2s ease, opacity 1s ease-in, -webkit-transform 0.2s ease;
}

.accordion__onoff--on {
	right: 3.5em;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	transition: opacity 1s ease-in, -webkit-transform 0.2s ease;
	-webkit-transition: opacity 1s ease-in, -webkit-transform 0.2s ease;
	transition: transform 0.2s ease, opacity 1s ease-in;
	transition: transform 0.2s ease, opacity 1s ease-in, -webkit-transform 0.2s ease;
}

.accordion__txt {
	float: right;
	margin-top: -0.1em;
}


/* Header */
#page-wrapper {
	padding: 3.5em 0 0 0;
	height: 100%;
}

#header {
	cursor: default;
	height: 8rem;
	line-height: 8rem;
	width: 100%;
	z-index: 100;
	/* box-sizing: border-box; */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0.8rem 0 0;
	padding: 0 0.8rem 0;
	/* background: #000; */
	position: fixed;
}

#header h1 {
	color: white;
	margin-left: 2.4rem;
}

#header h1 > a {
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.1em;
}

#header h1 .logo {
	width: 9rem;
	vertical-align: middle;
}

#header h1 .balloon {
	margin-left: 1.6rem;
	font-size: 1.3rem;
}

#header nav {
	margin-right: 48px;
}

#header nav ul {
	margin: 0;
	font-size: 1.3rem;
	font-family: Lato, sans-serif;
	font-weight: bold;
}

#header nav ul li {
	display: inline-block;
	margin-right: 6.4rem;
}

#header nav ul li:last-child {
	margin-right: 0;
}


#header a {
	color: #fff;
	display: inline-block;
	outline: 0;
	letter-spacing: 0.2em;
}

#header a:hover {
	color: #e44c65;
}

.entryBtn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	outline: none;
	width: 400px;
	height: 80px;
	line-height: 74px;
	background: #e44c65;
	border: 3px solid #e44c65;
	display: block;
	color: #fff;
	font-weight: bold;
	text-align: center;
	position: relative;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	z-index: 2;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-family: Lato, sans-serif;
	letter-spacing: 0.2em;
	margin: 64px auto 0;
	font-size: 1.6rem;
}

/* .entryBtn::before {
	content: '';
	display: inline-block;
	width: 13px;
	height: 24px;
	background-size: contain;
	background-image: url('../../images/icn-entry.svg');
	margin-right: 16px;
	transform: translateY(7px);
} */

.entryBtn:hover {
	color: #e44c65;
}

.entryBtn::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: '';
	background: #fff;
	-webkit-transform-origin: right top;
	-ms-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
	transition: -webkit-transform .3s;
	-webkit-transition: -webkit-transform .3s;
	transition: transform .3s;
	transition: transform .3s, -webkit-transform .3s;
}

/* .entryBtn:hover::before {
	background-image: url('../../images/icn-entry_hover.svg');
} */

.entryBtn:hover::after {
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
}

p.note {
	color: #fff;
	background: rgba(0,0,0,.7);
	padding: 24px;
	width: 80%;
	font-weight: bold;
	font-size: 18px;
	margin: 60px auto;
}

body.landing #page-wrapper {
	padding-top: 0;
}

body.landing #header {
	-webkit-box-shadow: none;
	box-shadow: none;
	color: white;
	position: absolute;
}


/* Banner */

#engineer {
	background-attachment: fixed;
	background-image: url("../../images/topImage.jpg");
	background-position: center center;
	background-size: cover;
	position: relative;
	text-align: center;
	z-index: 21;
	border: 8px solid #fff;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100%;
}

#engineer::after {
	background-image: url("../../images/bkg/bkgDots.png");
	content: '';
	display: block;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
}

#engineer .content {
	position: relative;
	z-index: 1;
	-webkit-filter: drop-shadow(0 0 40px rgba(0,0,0,0.1));
	filter: drop-shadow(0 0 40px rgba(0,0,0,0.1));
}

#engineer .content h2 {
	color: white;
	font-family: Lato, sans-serif;
	font-weight: bold;
}

#engineer .content h2 > span {
	font-size: 3.2rem;
	margin: 0;
	letter-spacing: 0.12em;
	color: white;
	display: block;
}

#engineer .title {
	display: inline-block;
	line-height: 1.4;
	font-weight: bold;
	font-size: 8rem;
	letter-spacing: 0.1em;
	margin: 2.4rem 0 4rem;
}

#engineer .appealTxt {
	font-size: 2rem;
	line-height: 1.8;
	font-weight: 500;
	letter-spacing: .1em;
	color: #fff;
}

.contentInfo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.4rem;
	background-color: rgba(240, 240, 240, .85);
	border: 1px solid #fff;
	color: #1f3134;
	margin: 64px auto 0;
	padding: 32px 40px;
	border-radius: 4px;
	text-align: left;
	font-weight: 400;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 800px;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.contentInfoTtl {
	font-weight: bold;
	margin-right: 40px
}

.contentInfoTtl::before {
	content: '\f05a';
	font-family: "FontAwesome";
	margin-right: 8px;
}

.sectionTtl,
.sectionTtl--center {
	font-size: 2.4rem;
	line-height: 1.8;
	margin-bottom: 40px;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.sectionTtl {
	margin-bottom: 40px;
}

.sectionTtl--center {
	margin-bottom: 80px;
}

.sectionTtl--center {
	text-align: center;
}

.sectionTtl > span,
.sectionTtl--center > span {
	font-size: 1.2rem;
	letter-spacing: .5em;
	margin-bottom: 24px;
	display: block;
	font-family: Lato, sans-serif;
	opacity: .6;
}

.sectionTxt {
	font-size: 1.5rem;
	line-height: 2.2;
	letter-spacing: .1em;
	font-weight: 400;
}

.secContainer {
	padding-top: 80px;
	margin-top: 160px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
}

.lastContainer {
	margin: 60px 2% 90px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
}

#two {
	margin-bottom: 160px;
}

.imgWrap {
	width: 45%;
	padding-top: 45%;
}

.imgWrap > img {
	width: 100%;
	border: 8px solid #fff;
}

.img--about{
	width: 100%;
	height: 100%;
	background: url('../../images/img_about.jpg');
	background-size: cover;
	border: 8px solid #fff;
}

.img--info{
	width: 100%;
	height: 100%;
	background: url('../../images/img_info.jpg');
	background-size: cover;
	border: 8px solid #fff;
}

.contentWrap {
	width: 55%;
	padding: 0 8rem;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.linkArea {
	margin-top: 64px;
	border: 1px solid #e7e7e7;
	padding: 40px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	line-height: 1.6;
}

.linkAreaTxt {
	font-size: 1.3rem;
	letter-spacing: 0.05em;
}

.linkAreaTxt > strong {
	font-size: 1.7rem;
	font-weight: bold;
	display: block;
}

.linkBtn {
	width: calc(240 / 1440 * 100vw);
	height: 56px;
	line-height: 50px;
	background: #1f3134;
	font-family: Lato, sans-serif;
	display: block;
	text-align: center;
	color: #fff;
	letter-spacing: 0.2em;
	font-weight: bold;
	position: relative;
	font-size: 1.2rem;
	border: 3px solid #1f3134;
	z-index: 2;
	margin-left: calc(48 / 1440 * 100vw);
}

.linkBtn::before {
	content: '';
	width: 9px;
	height: 8px;
	background-image: url('../../images/icon-external_hover.svg');
	background-size: contain;
	display: block;
	position: absolute;
	left: 24px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.linkBtn::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: '';
	background: #fff;
	-webkit-transform-origin: right top;
	-ms-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
	transition: -webkit-transform .3s;
	-webkit-transition: -webkit-transform .3s;
	transition: transform .3s;
	transition: transform .3s, -webkit-transform .3s;
}

.linkBtn:hover {
	color: #1f3134;
}

.linkBtn:hover::before {
	background-image: url('../../images/icon-external.svg');
}

.linkBtn:hover::after {
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
}

.agenda {
	margin-top: 40px;
}

.agendaItem {
	padding-bottom: 40px;
}

.agendaItem > dt {
	font-size: 1.8rem;
	margin-bottom: 16px;
	font-weight: bold;
	letter-spacing: 0.2em;
}

.agendaItem > dt > span {
	font-family: Lato,sans-serif;
	opacity: .5;
	padding-right: 8px;
	font-size: 2rem;

}

.agendaItem > dd {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: .2em;
}

.agendaItem::after {
	display: block;
	content: '';
	background-image: url('../../images/line_bg.png');
	background-repeat: repeat-x;
	height: 2px;
	width: 100%;
	margin-top: 40px;
}

.agendaItem:last-child::after {
	content: none;
}

.entrySection {
	background: #f4f4f4;
	padding-top: 80px;
	padding-bottom: 160px;
}

.formBlock {
	margin-top: 80px;
}

.blockTtl {
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 24px;
	letter-spacing: 0.05em;
}

.blockTtl > span {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #FFFEBA));
	background: linear-gradient(transparent 60%, #FFFEBA 40%);
}

.blockTxt {
	font-size: 1.5rem;
	text-align: center;
	margin-bottom: 40px;
	font-weight: 400;
	letter-spacing: 0.05em;
}

.container {
	width: 1024px;
	margin: auto;
}

.accessInfo {
	text-align: right;
	margin-top: 8px;
	font-weight: 500;
	font-size: 1.2rem;
}

.accessInfo > a {
	border-bottom: 2px dotted #e44c65;
	padding-bottom: 2px;
}

.accessInfo > a:hover {
	border-bottom: none;
	opacity: .7;
}

.btnWrap {
	position: relative;
	width: 280px;
	margin: 64px auto 0;
	border: 3px solid #e44c65;
	background-color: #e44c65;
	color: #fff;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	z-index: 2;
}

.btnWrap::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: '';
	background: #fff;
	-webkit-transform-origin: right top;
	-ms-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
	transition: -webkit-transform .3s;
	-webkit-transition: -webkit-transform .3s;
	transition: transform .3s;
	transition: transform .3s, -webkit-transform .3s;
}

.btnWrap:hover {
	color: #fff;
}

.btnWrap:hover::before {
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
}

.btnWrap::after {
	content: '\f105';
	font-family: "FontAwesome";
	font-size: 2rem;
	position: absolute;
	right: 24px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #fff;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	z-index: 10;
}

.btnWrap:hover::after {
	color: #e44c65;
	right: 16px;
}

.confirmBtn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	outline: none;
	width: 100%;
	height: 100%;
	line-height: 72px;
	background: transparent;
	display: block;
	position: relative;
	z-index: 5;
	color: #fff;
	font-weight: bold;
	position: relative;
	text-align: center;
	letter-spacing: 0.3em;
	font-size: 1.5rem;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	cursor: pointer;
}

.confirmBtn:hover {
	color: #e44c65;
}

/* confirmPage */

.confirm .container{
	margin: 40px auto;
}


.confirm h1 {
	font-size: 1.1em;
	font-weight: bold;
}

.confirm h2 {
	font-size: 1.5em;
	font-weight: bold;
	margin: auto;
}

.confirm h3 {
	color: #e44c65;
	font-weight: bold;
}

.confirm .p-confirm__item {
	font-weight: bold;
	margin-bottom: -0.8em;
}

.confirm .button.special {
	text-align: center;
	position: relative;
	width: 280px;
	height: 60px;
	margin: 24px auto 24px;
	border: 3px solid #e44c65;
	background-color: #e44c65;
	color: #fff;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	cursor: pointer;
	z-index: 2;
}


/* thanksPage */

.thanksPage {
	background: #f4f4f4;
}

.pageHeadTxt {
	text-align: center;
	padding-top: 40px;
	margin-bottom: 64px;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.pageTtlEN {
	font-family: 'Lobster', cursive;
	font-size: 2rem;
	display: block;
	margin-bottom: 16px;
	color: #e44c65;
	letter-spacing: 0.05em;
	text-align: center;
	line-height: 1.4;
}

.pageTtlJP {
	text-align: center;
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.4;
}

.nextStep {
	text-align: center;
	margin-top: 80px;
	margin-bottom: 80px;
}

.nextStep::after {
	margin-top: 40px;
	width: 100%;
	height: 2px;
	display: block;
	content: '';
	background-image: url('../../images/line_bg.png');
	background-repeat: repeat-x;
}

.nextStepTtl {
	font-size: 2rem;
	margin-bottom: 24px;
	font-weight: bold;
	position: relative;
	letter-spacing: 0.1em;
}

.nextStepTtl > span {
	background: #f4f4f4;
	padding: 0 16px;
	display: inline-block;
	position: relative;
	z-index: 2;
}

.nextStepTtl::after {
	position: absolute;
	width: 100%;
	height: 2px;
	display: block;
	content: '';
	background-image: url('../../images/line_bg.png');
	background-repeat: repeat-x;
	top: 50%;
	z-index: 1;
}

.nextStepTxt {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.8;
}

.nextStepPhoneNum {
	font-weight: bold;
	margin-top: 32px;
}

.nextStepPhoneNum > dt {
	font-size: 1.4rem;
	margin-bottom: 8px;
}

.nextStepPhoneNum > dd {
	font-size: 2.6rem;
	font-family: Lato, sans-serif;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.nextStepPhoneNum > dd > a {
	color: #1f3134;
}

.nextStepPhoneNum > dd::before {
	content: '';
	display: inline-block;
	width: 21px;
	height: 24px;
	background-image: url('../../images/icn-phone.svg');
	background-size: contain;
	margin-right: 8px;
	-webkit-transform: translateY(4px);
	-ms-transform: translateY(4px);
	transform: translateY(4px);
}

.backBtn {
	display: block;
	margin: auto;
	width: 240px;
	height: 64px;
	line-height: 64px;
	background-color: #1f3134;
	text-align: center;
	margin-bottom: 120px;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	position: relative;
}

.backBtn::before {
	font-family: 'FontAwesome';
	content: '\f104';
	font-size: 1.6rem;
	position: absolute;
	left: 24px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.backBtn > span {
	margin-left: 16px;
}

.backBtn {
	color: #fff;
	margin: 48px auto;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.backBtn:hover {
	color: #fff;
	opacity: .7;
}

/* Footer */

#footer {
	background: #1f3134;
	padding: 6em 0;
	text-align: center;
	position: relative;
	z-index: 1;
}

#footer .icons .icon.alt {
	text-decoration: none;
}

#footer .icons .icon.alt::before {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	text-transform: none !important;
}

#footer .icons .icon.alt::before {
	color: #272833 !important;
	text-shadow: 1px 0 0 rgba(255, 255, 255, 0.5), -1px 0 0 rgba(255, 255, 255, 0.5), 0 1px 0 rgba(255, 255, 255, 0.5), 0 -1px 0 rgba(255, 255, 255, 0.5);
}

#footer .copyright {
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.8em;
	font-family: "Helvetica", "Arial", sans-serif;
	line-height: 1em;
	padding: 0;
	text-align: center;
}

#footer .copyright li {
	border-left: solid 1px rgba(255, 255, 255, 0.3);
	display: inline-block;
	list-style: none;
	margin-left: 1.5em;
	padding-left: 1.5em;
}

#footer .copyright li:first-child {
	border-left: 0;
	margin-left: 0;
	padding-left: 0;
}

#footer .copyright li a {
	color: inherit;
}

.none {
	display: none !important;
	transition-property: all;
	transition-duration: 300ms;
	transition-delay: 0s;
	transition-timing-function: ease;
}


/* p-modal */

.p-modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100000;
	width: 100%;
	height: 100%;
	background-color: rgba(31, 49, 52, 0.85);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: scroll;
}

.p-modal__container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.p-modal__contents {
	width: 90%;
	margin: auto;
	background: #fff;
	padding: 56px;
	position: relative;
}

.p-modal__ttl {
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}

.p-modal__detail {
	margin-top: 40px;
}

.p-modal__detail--2col {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 24px;
}

.p-modal__detailItem--2col {
	width: 50%;
}

.p-modal__detailTtl {
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 8px;
}
.p-modal__detailTxt {
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1.6;
}

.p-modal__close {
	position: absolute;
	top: 8px;
	right: 8px;
}

.p-modal__close__img {
	width: 3rem;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 1em;
	right: 1em;
	cursor: pointer;
}

.p-modal__close__img__txt {
	display: block;
}

.p-modal__closeBtn {
	width: 280px;
	height: 56px;
	line-height: 50px;
	background: #1f3134;
	font-family: Lato, sans-serif;
	display: block;
	margin: 40px auto 0;
	text-align: center;
	color: #fff;
	letter-spacing: 0.2em;
	font-weight: bold;
	position: relative;
	font-size: 1.2rem;
	border: 3px solid #1f3134;
	z-index: 2;
}

.p-modal__closeBtn::before {
	content: '';
	width: 10px;
	height: 10px;
	background-image: url('../../images/icon_close.png');
	background-size: contain;
	display: block;
	position: absolute;
	left: 24px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.p-modal__closeBtn::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: '';
	background: #fff;
	-webkit-transform-origin: right top;
	-ms-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
	transition: -webkit-transform .3s;
	-webkit-transition: -webkit-transform .3s;
	transition: transform .3s;
	transition: transform .3s, -webkit-transform .3s;
}

.p-modal__closeBtn:hover {
	color: #1f3134;
}

.p-modal__closeBtn:hover::before {
	background-image: url('../../images/icon_close_blue.png');
}

.p-modal__closeBtn:hover::after {
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
}

.map {
	position: relative;
	height: 0;
	margin-top: 32px;
	padding-bottom: 20%;
	overflow: hidden;
}

.map a {
	word-break: break-all;
}

.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.loading {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background-color: #000;
	opacity: 0.7;
	z-index: 10;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	animation: fadeIn 0.3s ease 0s 1 normal;
	-webkit-animation: fadeIn 0.3s ease 0s 1 normal;
}

.loading .loading-message {
	font-size: 1em;
	text-align: center;
	color: white;
	margin-bottom: 50px;
}

.loading .loader,
.loading .loader::after {
	border-radius: 50%;
	width: 10em;
	height: 10em;
	z-index: 11;
}

.loading .loader {
	position: absolute;
	margin: 0 auto;
	font-size: 1rem;
	position: relative;
	text-indent: -9999em;
	border-top: 1.1em solid rgba(255, 255, 255, 0.2);
	border-right: 1.1em solid rgba(255, 255, 255, 0.2);
	border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
	border-left: 1.1em solid #ffffff;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load8 1.1s infinite linear;
	animation: load8 1.1s infinite linear;
}

.break--visible {
	display: none;
}

.c-form__ttl {
	font-weight: bold;
	text-align: left;
	padding-top: 0.8em !important;
	margin-bottom: 0.5em !important;
}

.c-formList {
	margin-left: 0 !important;
	cursor: pointer;
}
.c-formList__ttl {
	font-weight: bold;
	font-size: 0.8em;
	margin-left: 0 !important;
	padding-bottom: 0.2em !important;
}
.c-formList__item {
	font-weight: normal;
	position: relative;
	margin-top: 0.5em;
}
.c-detailList {
	padding: 0 0 1em;
}
.c-detailList__ttl {
	padding-left: 1em;
}
.c-detailList__item {
	text-align: right;
	padding-right: 0.5em;
	padding-top: 0.3em;
}
.c-detailList__link {
	font-size: 0.8em;
	font-weight: normal;
}

.err {
	color: #e44c65 !important;
	font-size: 0.8em;
	font-weight: bold;
	padding-top: 0 !important;
}


/* XLarge */

@media screen and (max-width: 2560px) {
	/* Basic */
	body,
	input,
	select,
	textarea {
		font-size: 11pt;
	}

	.posSwitch {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
	}
}


/* Large */

@media screen and (max-width: 1280px) {
	/* Basic */
	body,
	input,
	select,
	textarea {
		font-size: 11pt;
	}

	/* Wrapper */
	.wrapper {
		padding: 2.4em 0 0.4em 0;
	}

	#banner .content--engineer,
	#banner .content--designer,
	#engineer .content--engineer,
	#engineer .content--designer,
	#designer .content--engineer,
	#designer .content--designer {
		background: #1f3134;
		color: white;
	}

	.linkArea {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		text-align: center;
		padding: 32px 0;
	}

	.linkBtn {
		width: 240px;
		margin: 24px auto 0;
	}

	/* Footer */
	#footer {
		padding: 2.4em 0;
	}
}

/* Medium */

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

	/* Basic */
	body,
	input,
	select,
	textarea {
		font-size: 12pt;
	}

	#header h1 .logo {
		width: 8rem;
	}

	#header a {
		letter-spacing: 0.1em;
	}

	#header h1 .balloon{
		font-size: 1.2rem;
	}

	nav ul {
		margin-top: 4px;
	}

	/* Wrapper */
	.wrapper {
		padding: 4.5em 2.5em 2.5em 2.5em;
	}

	#engineer {
		background-size: cover;
		background-position: right 17% bottom 10%;
	}

	#header nav ul li {
		margin-right: 24px;
	}

	#banner .content .image,
	#engineer .content .image,
	#designer .content .image {
		margin: 0;
	}

	.content {
		width: 100%;
	}

	.contentInfo {
		width: calc(100% - 80px);
	}

	.contentInfoTtl {
		-ms-flex-negative: 0;
		flex-shrink: 0;
		margin-right: 24px;
	}

	/* Footer */
	#footer {
		padding: 4.5em 0;
	}

	.p-top {
		width: 100%;
		height: 100%;
		position: relative;
		padding: 0 !important;
	}

	.p-top section {
		width: 100%;
		height: 33.33333333%;
		background-size: cover;
	}

	.p-top__lead {
		display: none;
	}

	.p-top__visual--general {
		padding-top: 2em;
	}

	.content--top {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	#engineer .title {
		font-size: 7rem;
	}

	#engineer .content h2 > span {
		font-size: 3.2rem;
	}

	#engineer .appealTxt {
		font-size: 2rem;
	}

	.entryBtn {
		margin: 48px auto 0;
	}

	.secContainer {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding-top: 80px;
		margin-top: 0;
	}

	.imgWrap {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
		width: 100%;
		padding-top: 70%;
	}

	#two {
		margin-bottom: 0;
	}

	.contentWrap {
		width: 100%;
		padding: 0 4rem;
		margin-bottom: 40px;
	}

	.container {
		width: 100%;
		padding: 0 40px;
	}

	.p-modal__detail--2col {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-bottom: 24px;
	}

	.p-modal__detailItem--2col {
		width: 100%;
	}

	.p-modal__detailItem--2col:first-child {
		margin-bottom: 24px;
	}

	.pageTtlJP {
		line-height: 1.6;
	}
}

/* Small */

#navPanel,
#titleBar {
	display: none;
}

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

	.is-fixed {
		/* overflow-y: hidden; */
		position: fixed;
	}

	/* Basic */
	html,
	body {
		overflow-x: hidden;
		/* height: auto; */
		height: 100%;
	}

	#page-wrapper {
		height: 100%;
	}

	body,
	input,
	select,
	textarea {
		font-size: 12pt;
		text-align: left;
	}

	/* Goto Next */
	.goto-next::before {
		height: 0.8em;
		margin: -0.4em 0 0 -0.6em;
		width: 1.2em;
	}

	/* Header */
	#header {
		display: none;
	}

	/* Banner */

	#engineer {
		/* padding-top: 100vh;
		height: 100%; */
		height: 700px;
		background-image: url("../../images/topImage_sp.jpg");
		background-attachment: scroll;
		background-size: cover;
		background-position: top left;
	}

	#engineer::after {
		opacity: .4;
	}

	#engineer .content{
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		margin: 0;
		padding: 0;
	}

	.contentInfo {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		text-align: left;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		padding: 24px;
	}

	.contentInfoTtl {
		margin-right: 0;
		margin-bottom: 8px;
	}

	#engineer .title {
		font-size: calc(70 / 736 * 100vw);
	}

	#engineer .content h2 > span {
		font-size: calc(32 / 736 * 100vw);
	}

	#engineer .appealTxt {
		font-size: calc(20 / 736 * 100vw);
	}

	/* Off-Canvas Navigation */
	#page-wrapper {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transition: -webkit-transform 0.5s ease;
		-webkit-transition: -webkit-transform 0.5s ease;
		transition: transform 0.5s ease;
		transition: transform 0.5s ease, -webkit-transform 0.5s ease;
	}

	#titleBar {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		height: 64px;
		width: 100%;
		-webkit-transition: all .5s ease;
		transition: all .5s ease;
		left: 0;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 10010;
		background: transparent;
		padding: 8px 8px 0;
	}

	#titleBar.is-scroll {
		background: #fff;
	}

	#titleBar .title {
		color: #1f3134;
		display: block;
		font-weight: bold;
		width: 100%;
		height: 56px;
		line-height: 56px;
		text-align: center;
		font-size: 0.8em;
		/* display: flex; */
		padding-left: 16px;
		-webkit-transition: all .5s ease;
		transition: all .5s ease;
	}

	#titleBar.is-scroll .title {
		background: #1f3134;
	}

	#titleBar .title a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		height: 56px;
	}

	#titleBar .title a img {
		width: 7em;
		margin-right: 16px;
	}

	#titleBar .title .balloon {
		font-size: 0.8em;
		color: white;
		font-weight: 400;
		letter-spacing: 0.05em;
		line-height: 1.4;
	}

	#titleBar .title .balloon span {
		display: block;
		text-align: left;
		font-weight: bold;
	}

	#titleBar .toggle {
		text-decoration: none;
		height: 56px;
		position: absolute;
		width: 56px;
		border: 0;
		outline: none;
		padding: 0;
		background: #e44c65;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-transition: all .5s ease;
		transition: all .5s ease;
		right: 8px;
		top: 8px;
	}

	#titleBar.is-open .toggle {
		background: transparent;
	}

	#titleBar .toggle > span {
		width: 24px;
		height: 1px;
		background: #fff;
		display: block;
		position: absolute;
		-webkit-transition: all .5s ease;
		transition: all .5s ease;
	}

	#titleBar .toggle > span:nth-child(1) {
		-webkit-transform :translateY(-6px);
		-ms-transform :translateY(-6px);
		transform :translateY(-6px)
	}

	#titleBar .toggle > span:nth-child(3) {
		-webkit-transform :translateY(6px);
		-ms-transform :translateY(6px);
		transform :translateY(6px)
	}

	#titleBar.is-open .toggle > span:nth-child(1) {
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#titleBar.is-open .toggle > span:nth-child(2) {
		opacity: 0;
	}

	#titleBar.is-open .toggle > span:nth-child(3) {
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}


	#navPanel {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transition: -webkit-transform 0.5s ease;
		-webkit-transition: -webkit-transform 0.5s ease;
		transition: transform 0.5s ease;
		transition: transform 0.5s ease, -webkit-transform 0.5s ease;
		display: none;
		height: 100%;
		right: 0;
		overflow-y: auto;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 10002;
		background: radial-gradient(#363636 0, #080808 100%);
		text-align: center;
		font-size: 2.4rem;
		font-family: Lato, sans-serif;
		letter-spacing: 0.2em;
	}

	#navPanel > nav {
		position: absolute;
		top: 120px;
		width: 100%;
	}

	.navPanelBg {
		width: 100%;
		height: 100%;
		background-image: url('../../images/bg-diagonal_menu.png');
	}

	#navPanel .link {
		color: #fff;
		display: block;
		height: 8rem;
		line-height: 8rem;
		text-decoration: none;
		font-weight: bold;
	}

	#navPanel .navEntryBtn {
		display: none;
		background: #e44c65;
		margin: 32px 24px 0;
		font-size: 1.6rem;
		height: 6.4rem;
		line-height: 6.4rem;
	}

	/* Footer */
	#footer {
		padding: 3.25em 1.5em;
	}

	.confirm {
		margin-top: -44px;
	}

	.p-top {
		width: 100%;
		height: 100%;
		position: relative;
		padding: 0 !important;
	}

	.p-top section {
		width: 100%;
		height: 33.33333333%;
		float: none;
		background-size: cover;
		padding: 3.25em 0;
	}

	.p-top__visual__btn {
		padding: 0 8px !important;
	}
}

/* XSmall */

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

	.is-mobile {
		display: block;
	}

	.is-desktop {
		display: none;
	}

	label {
		font-size: 1.2rem;
		padding: 14px 16px 14px 48px;
		line-height: 1.6;
	}

	label > span::before {
		content: none;
	}

	label::before {
		left: 16px;
	}

	/* Basic */
	html,
	body {
		min-width: 320px;
		height: auto;
	}

	.goto-next {
		bottom: 0;
	}

	#engineer .title {
		font-size: 3.6rem;
		margin: 1.6rem 0 3.2rem;
	}

	#engineer .content {
		margin-top: 40px;
		padding: 0 24px;
	}

	#engineer .content h2 > span {
		font-size: 1.8rem;
	}

	#engineer .appealTxt {
		font-size: 1.4rem;
	}

	#engineer .appealTxt > span {
		display: block;
	}

	.contentInfo {
		width: 100%;
		margin: 24px auto 0;
		padding: 16px;
		font-size: 1.2rem;
		line-height: 1.5;
	}

	.contentInfoTtl {
		margin-bottom: 4px;
	}

	.contentInfoTxt {
		font-size: 1.1rem;
	}

	.entryBtn {
		width: 100%;
		height: 56px;
		line-height: 50px;
		font-size: 1.4rem;
	}

	.contentWrap {
		padding: 0 2.4rem;
	}

	.sectionTtl{
		margin-bottom: 24px;
	}

	.sectionTtl--center {
		margin-bottom: 40px;
	}

	.sectionTtl > span,
	.sectionTtl--center > span {
		font-size: 1.1rem;
		margin-bottom: 8px;
	}

	.sectionTtl > p,
	.sectionTtl--center > p {
		font-size: 1.7rem;
	}

	.sectionTxt {
		font-size: 1.3rem;
		line-height: 1.8;
	}

	.linkArea {
		margin-top: 40px;
		padding: 24px;
	}

	.linkAreaTxt {
		font-size: 1.2rem;
	}

	.linkAreaTxt > strong {
		font-size: 1.4rem;
	}

	.linkBtn {
		width: 100%;
		margin: 16px auto 0;
	}

	.agendaItem {
		padding-bottom: 32px;
	}

	.agendaItem:last-child {
		padding-bottom: 0;
	}

	.agendaItem::after{
		margin-top: 32px;
	}

	.agendaItem > dt {
		font-size: 1.5rem;
	}

	.agendaItem > dt > span {
		font-size: 1.8rem;
	}

	.agendaItem > dd {
		font-size: 1.3rem;
	}

	.entrySection {
		padding-top: 60px;
		padding-bottom: 80px;
	}

	.container {
		padding: 0 24px;
	}

	.confirm .container {
		padding: 0;
	}

	.formBlock {
		margin-top: 40px;
	}

	.blockTtl {
		font-size: 1.5rem;
		margin-bottom: 8px;
	}

	.blockTxt {
		font-size: 1.3rem;
		margin-bottom: 24px;
	}

	.btnWrap {
		width: 100%;
		margin: 56px 0 0;
	}

	.accessInfo {
		font-size: 1.1rem;
		margin-top: 8px;
	}

	.confirmBtn {
		width: 100%;
		height: 64px;
		line-height: 64px;
		font-size: 1.4rem;
	}

	.p-modal__container {
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
	}

	.p-modal__contents {
		padding: 24px;
	}

	.p-modal__close {
		top: -4px;
		right: -4px;
	}

	.map {
		margin-top: 16px;
		padding-bottom: 50%;
	}

	.p-modal__ttl {
		font-size: 1.6rem;
	}

	.p-modal__close__img {
		width: 2rem;
	}

	.p-modal__detail {
		margin-top: 16px;
		line-height: 1.4;
	}

	.p-modal__detail--2col {
		margin-bottom: 16px;
	}

	.p-modal__detailItem--2col:first-child {
		margin-bottom: 16px;
	}

	.p-modal__detailTtl {
		font-size: 1.4rem;
	}

	.p-modal__detailTxt {
		font-size: 1.2rem;
	}

	.p-modal__closeBtn {
		width: 100%;
		height: 48px;
		line-height: 48px;
		margin: 24px 0 0 ;
	}

	.pageHeadTxt {
		padding-top: 24px;
		margin-bottom: 32px;
	}

	.pageTtlEN {
		font-size: 1.6rem;
		margin-bottom: 8px;
	}

	.pageTtlJP {
		font-size: 2.4rem;
	}

	.pageTtlJP > span {
		display: block;
	}

	.nextStep {
		margin: 40px 0;
	}

	.nextStepTtl {
		font-size: 1.6rem;
	}

	.nextStepTxt {
		font-size: 1.2rem;
		line-height: 1.8;
	}

	.nextStepPhoneNum {
		margin-top: 24px;
	}

	.nextStepPhoneNum > dt {
		font-size: 1.1rem;
		margin-bottom: 0;
	}

	.nextStepPhoneNum > dd {
		font-size: 2.4rem;
	}

	.backBtn {
		width: 100%;
		margin-bottom: 80px;
	}

	/* Footer */
	#footer {
		padding: 3em 1.25em;
	}

	#footer .copyright {
		line-height: inherit;
	}

	#footer .copyright li {
		border-left: 0;
		display: block;
		margin: 0;
		padding: 0;
	}

	.accordion {
		margin-top: -3.5em !important;
		margin: 0 !important;
	}

	.accordion__onoff {
		top: 0;
	}

	.confirm {
		margin-top: -54px;
	}

	.p-top section {
		padding: 3em 0;
	}

	.p-top__visual__btn {
		padding: 0 8px !important;
	}

	.pageHeadTxt {
		font-size: 1.1rem;
	}

	.c-3col {
		width: 33%;
		float: left;
		clear: none;
	}
}

@media screen and (max-width: 480px) {
	.break--visible {
		display: block;
	}
}

@media screen and (max-width: 320px) {
	.titleBar {
		padding-left: 0;
	}

	#titleBar .title a img {
		width: 7rem;
		margin-right: 12px;
	}

	#titleBar .title .balloon span {
		font-size: 1rem;
	}

	#engineer .title {
		font-size: 3rem;
	}

	#engineer .appealTxt {
		letter-spacing: 0.05em;
	}

	.entryBtn {
		margin: 32px auto 0;
	}
}

.no-spin::-webkit-inner-spin-button,
.no-spin::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
    -moz-appearance:textfield !important;
}
