  @charset "utf-8";

/* ////////////////////////////////////////////////////////////
	File Name	style.css
*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@700&display=swap');

@font-face {
	font-family: 'Montserrat';
	src: url('/recruit/internship/assets/fonts/Montserrat-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/*============================================================
	RESET
*/
* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: transparent;
	background-image: none;
	background-position: 0 0;
	background-repeat: no-repeat;
	text-decoration: none;
	text-indent: 0;
	text-transform: none;
	font-style: normal;
	font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
	line-height: inherit;
	color: inherit;
}
html, body {
	width: 100%;
	height: 100%;
}
body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
}
ul {
	list-style-type: none;
}
table {
	border-collapse: collapse;
}
a,
button {
	cursor: pointer;
}
button:disabled {
	cursor: default;
}
input,
select,
textarea,
button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	background-image: none;
	border: 0;
	border-radius: 0;
	outline: 0;
	resize: none;
}
img {
	display: block;
	width: 100%;
}

/*============================================================
	ICON
*/
@font-face {
	font-family: 'icon';
	src: url('/recruit/internship/assets/fonts/icon.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}
[class^="icon-"], [class*=" icon-"] {
	font-family: 'icon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.icon-arrow-down:before {
  content: "\e900";
}
.icon-arrow-next:before {
  content: "\e901";
}
.icon-arrow-prev:before {
  content: "\e902";
}
.icon-arrow-thin-down:before {
  content: "\e903";
}
.icon-arrow-thin-next:before {
  content: "\e904";
}
.icon-arrow-thin-prev:before {
  content: "\e905";
}
.icon-arrow-thin-up:before {
  content: "\e906";
}
.icon-arrow-up:before {
  content: "\e907";
}
.icon-arrow:before {
  content: "\e908";
}
.icon-blank:before {
  content: "\e909";
}
.icon-close:before {
  content: "\e90a";
}

/*============================================================
	HTML
*/
body {
	background-color: #f5ebdd;
	font-family: 'TazuganeGothicStdN-Regular', sans-serif;
	font-size: 15px;
	line-height: 1.8;
}
h2, h3, h4, .bold {
	font-weight: 700;
	font-family: 'TazuganeGothicStdN-Bold', sans-serif;
}
.normal {
	font-weight: 400;
	font-family: 'TazuganeGothicStdN-Regular', sans-serif;
}
.en {
	font-weight: 700;
	font-family: 'Montserrat', sans-serif;
}
.punc {
	display: inline-block;
	margin-right: -0.5em;
	text-indent: -0.5em;
}
.punc-block {
	margin-right: -0.5em;
	text-indent: -0.5em;
}
.punc-out {
	display: inline-block;
	margin-right: -0.5em;
}
.punc-in {
	display: inline-block;
	text-indent: -0.5em;
}
/* SP */
@media screen and (max-width: 767px) {
	body {
		font-size: 14px;
	}
}

/*============================================================
	BODY
*/
.body {
	overflow: hidden;
}

/*============================================================
	SUP / SUB
*/
.lead sup {
	position: relative;
	top: -0.2em;
	vertical-align: middle;
	font-size: 10px;
}
.lead sub {
	position: relative;
	top: 0.16em;
	vertical-align: middle;
	font-size: 10px;
}

/*============================================================
	VISIBLE
*/
.visible-pc {
	display: block;
}
.visible-tb {
	display: none;
}
.visible-sp {
	display: none;
}
/* TB */
@media screen and (max-width: 979px) {
	.visible-pc {
		display: none;
	}
	.visible-tb {
		display: block;
	}
	.visible-sp {
		display: none;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.visible-pc {
		display: none;
	}
	.visible-tb {
		display: none;
	}
	.visible-sp {
		display: block;
	}
}

/*============================================================
	HIDDEN
*/
/* PC */
@media screen and (min-width: 980px) {
	.hidden-pc {
		display: none;
	}
}
/* TB */
@media screen and (min-width: 768px) and (max-width: 979px) {
	.hidden-tb {
		display: none;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.hidden-sp {
		display: none;
	}
}

/*============================================================
	CONTENT
*/
.content {
	position: relative;
}
/* SP */
@media screen and (max-width: 767px) {
	.content {

	}
}

/*============================================================
	CONTAINER
*/
.container {
	position: relative;
	margin: 0 auto;
	padding-left: 50px;
	padding-right: 50px;
}
/* SP */
@media screen and (max-width: 767px) {
	.container {
		padding-left: 15px;
		padding-right: 15px;
	}
}

/*============================================================
	HEADER
*/
#header {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
}
#header h1 {
	position: absolute;
	top: 0;
	left: 0;
	width: 344px;
	height: 100px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-image: url('/recruit/internship/assets/img/logo-base.svg');
	background-size: contain;
}
#header h1 a {
	position: absolute;
	top: 50%;
	left: 29px;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
}
#header h1 .logo {
	display: block;
	width: 160px;
}
#header h1 .logo span {
	display: block;
	overflow: hidden;
	padding: 31.25% 0 0 0;
	height: 0;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-image: url('/recruit/internship/assets/img/logo.svg');
	background-size: contain;
}
#header h1 .en {
	display: block;
	margin: 0 0 0 16px;
	font-size: 11px;
	line-height: 1.36;
	letter-spacing: 1px;
}
/* SP */
@media screen and (max-width: 767px) {
	#header h1 {
		height: 66px;
		background-image: url('/recruit/internship/assets/img/logo-base-sp.svg');
	}
	#header h1 a {
		top: 55%;
		left: 15px;
	}
	#header h1 .logo {
		width: 106px;
	}
	#header h1 .en {
		margin: 0 0 0 10px;
		font-size: 14px;
		transform: scale(0.5);
		transform-origin: 0 50%;
	}
}

/*============================================================
	NAV
*/
#nav {
	display: flex;
	align-items: center;
	position: fixed;
	z-index: 1000;
	top: 34px;
	right: 30px;
	font-size: 17px;
	line-height: 1.5;
}
#nav .site-top {
	font-size: 12px;
}
#nav ul {
	display: flex;
	font-size: 20px;
}
#nav ul li {
	padding: 0 0 0 25px;
}
/* HOVER */
@media screen and (min-width: 768px) {
	.os-pc #nav a {
		transition: opacity 0.3s ease;
	}
	.os-pc #nav a:hover {
		opacity: 0.5;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	#nav {
		top: auto;
		bottom: 0;
		right: 0;
		width: 100%;
		border-top: 1px solid #000;
	}
	#nav a {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		height: 50px;
		background-color: #000;
		color: #fff;
	}
	#nav .site-top {
		flex-basis: 33.333%;
		font-size: 10px;
		line-height: 1.3;
	}
	#nav .site-top a {
		background-color: #fff;
		color: #000;
	}
	#nav .site-top span {
		display: block;
	}
	#nav ul {
		flex: 1;
		font-size: 17px;
	}
	#nav ul li {
		flex-basis: 50%;
		padding: 0;
		border-right: 1px solid #fff;
	}
	#nav ul li:last-child {
		border-right: 0;
	}
	#nav ul li {

	}
}

/*============================================================
	FOOTER
*/
#footer {
	margin: 130px 0 0 0;
	padding: 0 0 40px 0;
}
#footer .container {
	padding: 0 50px;
	line-height: 1.2;
}
#footer nav ul {
	display: flex;
	font-size: 11px;
}
#footer nav ul li {
	margin: 0 28px 0 0;
}
#footer small {
	display: block;
	margin: 20px 0 0 0;
	font-size: 11px;
}
/* HOVER */
.os-pc #footer a {
	transition: opacity 0.3s ease;
}
.os-pc #footer a:hover {
	opacity: 0.5;
}
/* SP */
@media screen and (max-width: 767px) {
	#footer {
		margin: 70px 0 0 0;
		padding: 0 0 75px 0;
	}
	#footer .container {
		display: block;
		padding: 0 25px;
	}
	#footer nav ul {
		display: block;
	}
	#footer nav ul li {
		margin: 10px 0 0 0;
	}
	#footer .nav-content {
		display: none;
	}
	#footer small {
		margin: 20px 0 0 0;
	}
}

/*============================================================
	PAGETOP
*/
#pagetop {
	position: fixed;
	z-index: 100;
	bottom: 40px;
	right: 0;
	width: 80px;
}
#pagetop .in {
	transition: transform 0.4s ease;
	transform: translateX(80px);
}
#pagetop a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0 0.1em 0;
	width: 50px;
	height: 50px;
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 999px;
	font-size: 18px;
	color: #000;
}
.pagetop-active #pagetop .in {
	transform: translateX(0px);
}
/* HOVER */
.os-pc #pagetop a {
	transition: all 0.3s ease;
}
.os-pc #pagetop a:hover {
	background-color: #000;
	color: #fff;
}
/* SP */
@media screen and (max-width: 767px) {
	#pagetop {
		bottom: 75px;
		width: 55px;
	}
	#pagetop .in {
		transform: translateX(75px);
	}
	#pagetop a {
		width: 40px;
		height: 40px;
		font-size: 16px;
	}
}

/*============================================================
	HERO
*/
.sec-hero {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: calc(var(--vh, 1vh) * 100);
	min-height: 580px;
	text-align: center;
}
.sec-hero .wrapper {
	position: relative;
	width: 100%;
}
.sec-hero .headline::after {
	content: '';
	display: block;
	margin: 30px auto;
	width: 100px;
	height: 1px;
	background-color: #000;
}
.sec-hero .headline h2 {
	position: relative;
	width: 100%;
	height: 120px;
	font-size: 120px;
	line-height: 1;
}
.sec-hero .headline h2 > span {
	overflow: hidden;
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 12%;
}
.sec-hero .headline h2 > span span {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 120px;
}
.sec-hero .headline h3 {
	margin: 20px 0 0 0;
	font-size: 30px;
	line-height: 1.2;
}
.sec-hero .lead {
	font-size: 19px;
	line-height: 1.8;
}
.sec-hero .parts {
	position: absolute;
	top: -100px;
	bottom: -100px;
	left: 50%;
	margin-left: -900px;
	width: 1800px;
}
.sec-hero .parts div {
	position: absolute;
	top: 0;
	left: 0;
	background-size: contain;
}
/**/
.sec-hero .headline h2 > span {
	transition: height 1s cubic-bezier(0.77, 0, 0.175, 1) 0.2s;
}
.loaded .sec-hero .headline h2 > span {
	height: 88%;
}
.sec-hero .parts {
	opacity: 0;
	transition: opacity 0.8s linear 1s;
}
.loaded .sec-hero .parts {
	opacity: 1;
}
.sec-hero .headline h3 {
	opacity: 0;
	transition: opacity 0.6s linear 0.6s;
}
.loaded .sec-hero .headline h3 {
	opacity: 1;
}
.sec-hero .headline::after {
	transform: scaleX(0);
	transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1) 1.4s;
}
.loaded .sec-hero .headline::after {
	transform: scaleX(1);
}
.sec-hero .lead {
	opacity: 0;
	transition: opacity 0.8s linear 1.6s;
}
.loaded .sec-hero .lead {
	opacity: 1;
}
@media screen and (min-width: 1400px) {
	.sec-hero .parts {
		left: -200px;
		right: -200px;
		margin-left: 0;
		width: auto;
	}
}
@media screen and (min-width: 768px) and (max-height: 860px) {
	.sec-hero .parts {
		top: 50%;
		bottom: 0;
		margin-top: -530px;
		height: 1060px;
	}
}
@media screen and (min-width: 768px) {
	.sec-hero .parts div {
		width: 280px;
		height: 180px;
	}
	.sec-hero .parts .p01 {
		top: calc(257 / 960 * 100%);
		left: calc(44 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc01.svg');
	}
	.sec-hero .parts .p02 {
		top: calc(420 / 960 * 100%);
		left: calc(79 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc02.svg');
	}
	.sec-hero .parts .p03 {
		top: calc(655 / 960 * 100%);
		left: calc(67 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc03.svg');
	}
	.sec-hero .parts .p04 {
		top: calc(222 / 960 * 100%);
		left: calc(239 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc04.svg');
	}
	.sec-hero .parts .p05 {
		top: calc(402 / 960 * 100%);
		left: calc(358 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc05.svg');
	}
	.sec-hero .parts .p06 {
		top: calc(568 / 960 * 100%);
		left: calc(247 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc06.svg');
	}
	.sec-hero .parts .p07 {
		top: calc(770 / 960 * 100%);
		left: calc(358 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc07.svg');
	}
	.sec-hero .parts .p08 {
		top: calc(153 / 960 * 100%);
		left: calc(497 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc08.svg');
	}
	.sec-hero .parts .p09 {
		top: calc(617 / 960 * 100%);
		left: calc(502 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc09.svg');
	}
	.sec-hero .parts .p10 {
		top: calc(36 / 960 * 100%);
		left: calc(852 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc10.svg');
	}
	.sec-hero .parts .p11 {
		top: calc(175 / 960 * 100%);
		left: calc(782 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc11.svg');
	}
	.sec-hero .parts .p12 {
		top: calc(667 / 960 * 100%);
		left: calc(763 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc12.svg');
	}
	.sec-hero .parts .p13 {
		top: calc(171 / 960 * 100%);
		left: calc(1040 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc13.svg');
	}
	.sec-hero .parts .p14 {
		top: calc(416 / 960 * 100%);
		left: calc(1169 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc14.svg');
	}
	.sec-hero .parts .p15 {
		top: calc(589 / 960 * 100%);
		left: calc(1018 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc15.svg');
	}
	.sec-hero .parts .p16 {
		top: calc(752 / 960 * 100%);
		left: calc(1044 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc16.svg');
	}
	.sec-hero .parts .p17 {
		top: calc(210 / 960 * 100%);
		left: calc(1240 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc17.svg');
	}
	.sec-hero .parts .p18 {
		top: calc(618 / 960 * 100%);
		left: calc(1275 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc18.svg');
	}
	.sec-hero .parts .p19 {
		top: calc(164 / 960 * 100%);
		left: calc(1473 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc19.svg');
	}
	.sec-hero .parts .p20 {
		top: calc(373 / 960 * 100%);
		left: calc(1457 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc20.svg');
	}
	.sec-hero .parts .p21 {
		top: calc(542 / 960 * 100%);
		left: calc(1468 / 1800 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-pc21.svg');
	}
}
/* TB */
@media screen and (max-width: 979px) {
	.sec-hero .headline h2 {
		font-size: 100px;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.sec-hero {
		height: calc((var(--vh, 1vh) * 100) - 50px);
		min-height: 400px;
	}
	.sec-hero .headline {
		padding: 40px 0 0 0;
	}
	.sec-hero .headline::after {
		margin: 5.3vw auto;
		width: 18.6vw;
		height: 1px;
	}
	.sec-hero .headline h2 {
		height: 45px;
		font-size: 45px;
	}
	.sec-hero .headline h2 > span span {
		height: 45px;
	}
	.sec-hero .headline h3 {
		margin: 15px 0 0 0;
		font-size: 17px;
	}
	.sec-hero .lead {
		font-size: 15px;
		line-height: 2;
	}
	.sec-hero .parts {
		top: 50%;
		left: -100px;
		right: -100px;
		margin: -430px 0 0 0;
		width: auto;
		height: 860px;
	}
	.sec-hero .parts div {
		width: 37.3vw;
		height: 24vw;
		width: 140px;
		height: 90px;
		transform: translate(-50%, -50%);
	}
	.sec-hero .parts .p01 {
		top: calc(83 / 860 * 100%);
		left: calc(358 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp01.svg');
	}
	.sec-hero .parts .p02 {
		top: calc(140 / 860 * 100%);
		left: calc(241 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp02.svg');
	}
	.sec-hero .parts .p03 {
		top: calc(208 / 860 * 100%);
		left: calc(132 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp03.svg');
	}
	.sec-hero .parts .p04 {
		top: calc(162 / 860 * 100%);
		left: calc(407 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp04.svg');
	}
	.sec-hero .parts .p05 {
		top: calc(242 / 860 * 100%);
		left: calc(285 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp05.svg');
	}
	.sec-hero .parts .p06 {
		top: calc(231 / 860 * 100%);
		left: calc(420 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp06.svg');
	}
	.sec-hero .parts .p07 {
		top: calc(295 / 860 * 100%);
		left: calc(149 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp07.svg');
	}
	.sec-hero .parts .p08 {
		top: calc(324 / 860 * 100%);
		left: calc(271 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp08.svg');
	}
	.sec-hero .parts .p09 {
		top: calc(322 / 860 * 100%);
		left: calc(421 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp09.svg');
	}
	.sec-hero .parts .p10 {
		top: calc(446 / 860 * 100%);
		left: calc(127 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp10.svg');
	}
	.sec-hero .parts .p11 {
		top: calc(436 / 860 * 100%);
		left: calc(447 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp11.svg');
	}
	.sec-hero .parts .p12 {
		top: calc(560 / 860 * 100%);
		left: calc(129 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp12.svg');
	}
	.sec-hero .parts .p13 {
		top: calc(540 / 860 * 100%);
		left: calc(447 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp13.svg');
	}
	.sec-hero .parts .p14 {
		top: calc(661 / 860 * 100%);
		left: calc(95 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp14.svg');
	}
	.sec-hero .parts .p15 {
		top: calc(623 / 860 * 100%);
		left: calc(230 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp15.svg');
	}
	.sec-hero .parts .p16 {
		top: calc(615 / 860 * 100%);
		left: calc(350 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp16.svg');
	}
	.sec-hero .parts .p17 {
		top: calc(635 / 860 * 100%);
		left: calc(469 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp17.svg');
	}
	.sec-hero .parts .p18 {
		top: calc(740 / 860 * 100%);
		left: calc(102 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp18.svg');
	}
	.sec-hero .parts .p19 {
		top: calc(715 / 860 * 100%);
		left: calc(230 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp19.svg');
	}
	.sec-hero .parts .p20 {
		top: calc(723 / 860 * 100%);
		left: calc(401 / 575 * 100%);
		background-image: url('/recruit/internship/assets/img/parts-sp20.svg');
	}
}
@media screen and (max-width: 767px) and (min-height: 860px) {
	.sec-hero .parts {
		top: 0;
		margin: 0;
		height: 100%;
	}
}

/*============================================================
	OUTLINE
*/
.sec-outline {
	position: relative;
	padding: 35px 0;
	background-color: #fff;
}
.sec-outline .container {
	padding-left: 25px;
	padding-right: 25px;
	max-width: 950px;
}
.sec-outline .grid {
	display: table;
	border-collapse: separate;
	border-spacing: 25px;
	margin: 0 auto;
	width: auto;
	font-size: 21px;
	line-height: 1.2;
}
.sec-outline .grid .row {
	display: table-row;
}
.sec-outline .grid h2 {
	display: table-cell;
	vertical-align: top;
	padding: 0 30px 0 0;
	border-right: 1px solid #000;
	white-space: nowrap;
}
.sec-outline .grid .detail {
	display: table-cell;
	vertical-align: top;
	padding: 0 0 0 5px;
}
.sec-outline .grid .detail p {
	margin: 0 0 5px 0;
	font-size: 16px;
	line-height: 1.4;
}
.sec-outline .grid .detail p:last-child {
	margin: 0;
}
.sec-outline .grid .detail p a {
	text-decoration: underline;
}
.sec-outline .grid .detail ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 -15px 0;
}
.sec-outline .grid .detail ul li {
	display: flex;
	padding: 0 0 15px 0;
}
.sec-outline .grid .detail ul li:nth-child(odd) {
	flex-basis: 380px;
}
.sec-outline .grid .detail ul li a {
	display: block;
}
.sec-outline .grid .detail ul li a i {
	padding: 0 0 0 10px;
	font-size: 16px;
}
/* HOVER */
.os-pc .sec-outline .grid .detail p a {
	transition: opacity 0.3s ease;
}
.os-pc .sec-outline .grid .detail p a:hover {
	opacity: 0.6;
}
.os-pc .sec-outline .grid .detail ul li a {
	transition: opacity 0.3s ease;
}
.os-pc .sec-outline .grid .detail ul li a:hover {
	opacity: 0.6;
}
/* TB */
@media screen and (max-width: 979px) {
	.sec-outline .grid .detail ul {
		display: block;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.sec-outline {
		padding: 40px 0 5px 0;
	}
	.sec-outline .grid {
		display: block;
		margin: 0;
		font-size: 17px;
	}
	.sec-outline .grid .row {
		display: block;
		padding: 0 0 30px 0;
	}
	.sec-outline .grid h2 {
		display: block;
		padding: 0 0 12px 0;
		border-right: 0;
		border-bottom: 1px solid #000;
		font-size: 19px;
	}
	.sec-outline .grid .detail {
		display: block;
		padding: 12px 0 0 0;
	}
	.sec-outline .grid .detail p {
		margin: 0;
		font-size: 14px;
		line-height: 1.8;
	}
	.sec-outline .grid .detail ul {
		margin: 0;
	}
	.sec-outline .grid .detail ul li {
		padding: 5px 0 10px 0;
	}
	.sec-outline .grid .detail ul li a i {
		padding: 0 0 0 10px;
		font-size: 15px;
	}
}

/*============================================================
	COURSE
*/
.sec-course {
	padding: 110px 0 0 0;
}
.sec-course .container {
	max-width: 1100px;
}
.sec-course .frame {
	position: relative;
	z-index: 1;
	overflow: hidden;
	margin: 0 0 30px 0;
	padding: 50px 40px;
	background-color: #fff;
	border-radius: 15px;
}
.sec-course .frame::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 50px 0 0;
	border-color: #e94829 transparent transparent transparent;
}
.sec-course .frame:nth-child(even)::before {
	border-color: #1bb8ce transparent transparent transparent;
}
.sec-course .frame h2 {
	padding: 0 0 40px 0;
	text-align: center;
	font-size: 32px;
	line-height: 1.2;
}
.sec-course .frame .table table {
	width: 100%;
	border-bottom: 1px solid #ccc;
}
.sec-course .frame .table table th,
.sec-course .frame .table table td {
	vertical-align: top;
	text-align: left;
}
.sec-course .frame .table table th {
	padding: 18px 0;
	width: 130px;
	border-top: 1px solid #ccc;
	white-space: nowrap;
}
.sec-course .frame .table table td {
	padding: 18px 0;
	border-top: 1px solid #ccc;
}
.sec-course .frame .detail {
	display: flex;
	margin: 40px 0 0 0;
}
.sec-course .frame .detail .image {
	flex-basis: 280px;
	padding: 0.3em 0 0 0;
}
.sec-course .frame .detail .lead {
	flex: 1;
	padding: 0 0 0 45px;
}
/* SP */
@media screen and (max-width: 767px) {
	.sec-course {
		padding: 50px 0 0 0;
	}
	.sec-course .frame {
		margin: 0 0 30px 0;
		padding: 30px 20px 25px 20px;
	}
	.sec-course .frame::before {
		border-width: 35px 35px 0 0;
	}
	.sec-course .frame h2 {
		padding: 0 0 25px 0;
		font-size: 18px;
	}
	.sec-course .frame .table table {
		font-size: 13px;
	}
	.sec-course .frame .table table th {
		padding: 15px 1.3em 15px 0;
		width: 10px;
	}
	.sec-course .frame .table table td {
		padding: 15px 0;
	}
	.sec-course .frame .detail {
		display: block;
		margin: 30px 0 0 0;
	}
	.sec-course .frame .detail .image {
		padding: 0;
	}
	.sec-course .frame .detail .lead {
		padding: 20px 0 0 0;
	}
}

/*============================================================
	ENTRY
*/
.sec-entry {
	position: relative;
	padding: 60px 0 0 0;
	text-align: center;
	line-height: 1.6;
}
.sec-entry .btn a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	width: 480px;
	height: 120px;
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 999px;
	font-size: 30px;
}
.sec-entry .btn a i {
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	font-size: 20px;
}
/**/
.os-pc .sec-entry .btn a {
	transition: all 0.3s ease;
}
.os-pc .sec-entry .btn a:hover {
	background-color: #000;
	color: #fff;
}
/* SP */
@media screen and (max-width: 767px) {
	.sec-entry {
		display: none;
	}
}