@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|Roboto+Condensed:700&display=swap&subset=japanese");
html {
		font-size: calc(100vw / 750 * 10);
}

@media screen and (min-width: 751px) {
		html {
				font-size: 10px;
		}
}

body {
		font-size: 2.4em;
		font-family: 'Noto Sans JP', sans-serif;
		line-height: 1.6;
		overflow-x: hidden;
}

a {
		color: inherit;
		text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
		margin: 0;
		text-align: center;
}

ul, ol {
		list-style: none;
		margin: 0;
		padding-left: 0;
}

dl {
		margin: 0;
}

dl dd {
		margin-left: 0;
}

p {
		margin: 0;
}

figure {
		margin: 0;
}

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

hr {
		height: 0px;
		border: none;
		border-top: 1px solid #ccc;
		border-top-width: 1px;
		margin-top: 1em;
		margin-bottom: 1em;
}

.header {
		background-color: #dc0000;
}

.header .container {
		height: calc(90em/24);
		background-image: url(../img/header.jpg);
		background-size: 100%;
}

.header time {
		line-height: 1;
		height: 100%;
		display: -webkit-box;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		-webkit-box-pack: center;
		justify-content: center;
		font-size: 7rem;
		color: #f6ff00;
		padding-left: 2em;
}

.header time span {
		text-align: right;
		white-space: nowrap;
		font-family: 'Roboto Condensed', sans-serif;
		font-weight: 700;
}

.header time span.close {
		font-size: 2.5rem;
		width: 100%;
		text-align: center;
}

.header time small {
		width: 1em;
		padding-bottom: .2em;
		font-size: 3rem;
		text-align: center;
		color: #fff;
		margin-left: .1em;
		margin-right: .1em;
}

.header time small:nth-of-type(2), .header time small:nth-of-type(3) {
		padding-top: 1em;
}

footer {
		background-color: #000;
		color: #fff;
}

footer .container {
		padding-top: 1em;
		padding-bottom: 1em;
}

footer .link-footer {
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: center;
		justify-content: center;
		flex-wrap: wrap;
		line-height: 1;
}

footer .link-footer li + li:not(:nth-child(3)) a {
		border-left: 1px solid;
}

footer .link-footer li:nth-child(-n+2) {
		margin-bottom: 1em;
}

footer .link-footer a {
		padding: 0 1em;
}

@-webkit-keyframes flash-custom {
		from,
		50%,
		to {
				-webkit-filter: brightness(110%);
				filter: brightness(110%);
		}
		25%,
		75% {
				-webkit-filter: brightness(90%);
				filter: brightness(90%);
		}
}

@keyframes flash-custom {
		from,
		50%,
		to {
				-webkit-filter: brightness(110%);
				filter: brightness(110%);
		}
		25%,
		75% {
				-webkit-filter: brightness(90%);
				filter: brightness(90%);
		}
}

.flash {
		-webkit-animation-name: flash-custom;
		animation-name: flash-custom;
		-webkit-animation-duration: 2s;
		animation-duration: 2s;
		-webkit-animation-iteration-count: infinite;
		animation-iteration-count: infinite;
}

.jello {
		-webkit-animation-duration: 2s;
		animation-duration: 2s;
		-webkit-animation-iteration-count: infinite;
		animation-iteration-count: infinite;
}

.container {
		max-width: 750px;
		margin-left: auto;
		margin-right: auto;
}

.red {
		color: #f00055;
}

.pink {
		color: #f179a4;
}

.inner {
		padding-left: calc(38em/24);
		padding-right: calc(38em/24);
}

.btn-flash1 {
		max-width: calc(338em/24);
}

.btn-flash2 {
		max-width: calc(266em/24);
}

.btn-contact {
		text-align: center;
		width: 100%;
		opacity: 0;
		position: absolute;
		top: calc(267em/24);
		left: 0;
		-webkit-transition: .5s;
		transition: .5s;
}

.btn-contact.is-animation {
		opacity: 1;
		top: calc(167em/24);
}

.btn-contact a {
		display: inline-block;
		margin-right: 1.2em;
}

.btn-contact-fixed {
		position: fixed;
		right: 1em;
		bottom: -100px;
		z-index: 999;
		opacity: 0;
		-webkit-transition: .5s;
		transition: .5s;
}

.btn-contact-fixed.is-scroll {
		opacity: 1;
		bottom: 1em;
}

.btn-contact-fixed.is-bottom {
		bottom: 6em;
}

.sec-button .container {
		position: relative;
}

.sec-button .container .btn-contact {
		text-align: right;
}

.sec-chat .container {
		position: relative;
}

.sec-chat .container .inner {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
}

.accordion > dt {
		background-color: lightgray;
		font-weight: bold;
		padding: 1em;
		cursor: pointer;
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		align-items: center;
}

.accordion > dt::after {
		content: '';
		background-position: 50% 50%;
		background-size: 100%;
		background-repeat: no-repeat;
		-webkit-transition: .3s;
		transition: .3s;
		width: calc(32em/24);
		height: calc(32em/24);
}

.accordion > dt.is-active::after {
		-webkit-transform: rotate(-180deg);
		transform: rotate(-180deg);
}

.accordion > dd {
		padding: 1em;
		/*display: none;*/
}

.accordion > dd.is-open {
		display: block;
}

.accordion > dd + dt {
		margin-top: 2px;
}

.sec-faq .accordion > dt {
		background-color: #f5a5c3;
		color: #fff;
}

.sec-faq .accordion > dt span {
		-webkit-box-flex: 1;
		flex-grow: 1;
		margin-left: .5em;
}

.sec-faq .accordion > dt::before {
		content: '';
		background-position: 50% 50%;
		background-size: 100%;
		background-repeat: no-repeat;
		background-image: url(../img/ico_q.png);
		width: calc(32em/24);
		height: calc(32em/24);
}

/*.sec-faq .accordion > dt::after {
		background-image: url(../img/ico_arrow_down.svg);
}*/

.sec-faq .accordion > dd::before {
		position: relative;
		top: .25em;
		margin-right: .5em;
		content: '';
		display: inline-block;
		background-image: url(../img/ico_a.png);
		background-position: 50% 50%;
		background-size: 100%;
		background-repeat: no-repeat;
		width: calc(32em/24);
		height: calc(32em/24);
}

.sec-course a {
		color: #0023fa;
		text-decoration: underline;
}

.sec-course .accordion > dt {
		background-color: #f3f3f3;
		border-left: 4px solid #f179a4;
}

.sec-course .accordion > dt::after {
		background-image: url(../img/ico_tryangle_down.svg);
}

.list-company {
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: justify;
		justify-content: space-between;
		flex-wrap: wrap;
}

.list-company dt {
		width: 24%;
		font-weight: bold;
}

.list-company dd {
		width: 74%;
}

.sublist dt {
		font-weight: bold;
		padding: .8em 1em;
		background-color: #f3f3f3;
}

.sublist dd {
		margin-top: .8em;
}

.sublist dd + dt {
		margin-top: 1em;
}

.chat-comment {
		position: relative;
		text-align: center;
		opacity: 0;
		top: 100px;
		-webkit-transition: .5s;
		transition: .5s;
}

.chat-comment.is-active {
		opacity: 1;
		top: 0;
}
