@charset "UTF-8";

/* CSS Information
---------------------------------------------------------------
Site URL:https://www.geotechnos.co.jp/
File name:pc.css
Summary:base styles
Created:2021-10-13
--------------------------------------------------------------- */

@media screen and (min-width: 1201px) {

/* Contents */
/* ------------------------------------------------------------ */

main:not(#index) {
	padding-top: 70px;
}

main section .inner {
	max-width: 1000px;
	margin: 0 auto;
}

main section p.common_btn a {
	background: #fff;
	border: 1px #008BAB solid;
	border-radius: 25px;
	color: #008BAB;
	width: 200px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}

main a[href^="tel:"] {
	color: #333;
	pointer-events: none;
	cursor: text;
	text-decoration: none;
}

/* title */
/* ------------------------------------------------------------ */

main section h2 {
	color: #008BAB;
	font-size: 50px;
	font-weight: 500;
	font-style: italic;
	display: block;
}

main section#title h2 {
	text-align: center;
	color: #008BAB;
	font-style: normal;
	font-size: 48px;
	font-weight: 700;
}

main section#title h2 span {
	font-size: 18px;
	font-weight: 700;
	font-style: italic;
	display: block;
	padding-bottom: 20px;
}

main:not(#index) section h3 {
	text-align: center;
	font-size: 18px;
	margin-top: 40px;
}

main:not(#index) section h3 span {
	font-weight: 500;
	position: relative;
	display: block;
	padding-bottom: 20px;
}

main:not(#index) section h3 span::after {
	content: "";
	background: #052C52;
	height: 2px;
	width: 40px;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

main:not(#index) section#mainvisual {
	margin-top: 60px;
	display: flex;
    flex-direction: column;
    align-items: center;
}

main:not(#index) section#mainvisual figure {
	width: 100%;
	height: 360px;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}

main:not(#index) section#mainvisual figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

main:not(#index) section#mainvisual figcaption {
	background: #EAF5F8;
	width: 100%;
	padding: 60px 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main:not(#index) section#mainvisual figcaption p.comment {
	text-align: center;
	font-weight: 500;
	line-height: 1.7;
}

main:not(#index) section#mainvisual ul.inpage_link {
	background: #fff;
	margin-top: -50px;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
}

main:not(#index) section#mainvisual ul.inpage_link li {
    position: relative;
}

main:not(#index) section#mainvisual ul.inpage_link li a:before {
    content: "";
    background-color: #D1D1D1;
    position: absolute;
    width: 1px;
    height: 50px;
    top: 50%;
    left: 0;
    margin-top: -25px;
}

main:not(#index) section#mainvisual ul.inpage_link li:first-child a:before {
    content: none;
}

main:not(#index) section#mainvisual ul.inpage_link li a {
	width: 240px;
	height: 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

main:not(#index) section#mainvisual ul.inpage_link li a span {
	text-align: center;
	color: #333;
	font-size: 18px;
	font-weight: 500;
}

main:not(#index) section#mainvisual ul.inpage_link li a span > em {
	color: #008BAB;
	font-size: 14px;
	font-weight: normal;
	font-style: italic;
	display: block;
	margin-bottom: 5px;
}

main:not(#index) section#mainvisual ul.inpage_link li a img {
	width: 12px;
	height: auto;
	margin-top: 10px;
}

/* Index Mainvisual */
/* ------------------------------------------------------------ */

main#index section#mainvisual {
	background: url(../img/index/img_top.png?date=20211015) no-repeat center top;
    background-size: auto;
	background-size: cover;
}

main#index section#mainvisual .inner {
    display: flex;
    align-items: flex-start;
}

main#index section#mainvisual .inner div {
	width: 100%;
	max-width: 1000px;
	margin-top: 30%;
    display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}

main#index section#mainvisual .inner div h2 {
	color: #fff;
	text-align: left;
	font-size: 40px;
    font-family: GenEiAntique;
	font-style: normal;
	line-height: 1.5;
	text-shadow: 0 0 5px rgba(0,0,0,0.7);
}

/* Index News */
/* ------------------------------------------------------------ */

main#index section#news {
	background: #fff;
	margin: 90px 0 120px;
}

main#index section#news .inner {
    display: flex;
	justify-content: flex-start;
	align-items: stretch;
}

main#index section#news .inner > div:nth-of-type(1) {
	width: 300px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	flex-shrink: 0;
}

main#index section#news .inner > div:nth-of-type(2) {
}

main#index section#news .inner > div:nth-of-type(2) article a {
	border-bottom: 1px #D1D1D1 solid;
	padding: 20px 0;
	display: table;
}

main#index section#news .inner > div:nth-of-type(2) article time {
	color: #c1c1c1;
	width: 120px;
	display: table-cell;
}

main#index section#news .inner > div:nth-of-type(2) article p {
	width: 580px;
    text-overflow: ellipsis;
    white-space: nowrap;
	overflow: hidden;
	color: #333;
}

/* Index Message */
/* ------------------------------------------------------------ */

main#index section#message {
	background: #EAF5F8;
	height: 560px;
	margin: 120px 0 210px;
}

main#index section#message .inner {
    display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main#index section#message .inner > h2 {
	text-align: center;
	margin-top: -20px;
}

main#index section#message .inner > div {
	margin-top: 90px;
	position: relative;
    display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}

main#index section#message .inner > div figcaption {
	width: 430px;
	position: absolute;
	top: -50px;
	left: -100px;
	z-index: 1;
}

main#index section#message .inner > div figcaption h4 {
	font-size: 34px;
	font-weight: 500;
	line-height: 1.5;
}

main#index section#message .inner > div figcaption p {
	line-height: 1.7;
	margin-top: 30px;
}

main#index section#message .inner > div figure {
	position: relative;
}

/* Index About us / Our service / Member */
/* ------------------------------------------------------------ */

main#index section#aboutus,
main#index section#ourservice,
main#index section#member {
	margin: 90px 0;
}

main#index section#aboutus .inner,
main#index section#ourservice .inner,
main#index section#member .inner {
    max-width: 100%;
    margin: 0 auto;
    position: relative;
	display: flex;
    align-items: flex-start;
}

main#index section#aboutus .inner figure,
main#index section#ourservice .inner figure,
main#index section#member .inner figure {
	width: 52%;
	max-width: 760px;
    position: absolute;
    top: 0px;
    z-index: 1;
	box-shadow: 0 0 20px rgba(0,0,0,0.3);
}

main#index section#aboutus .inner figure,
main#index section#member .inner figure {
    left: 0px;
}

main#index section#ourservice .inner figure {
    right: 0px;
}

main#index section#aboutus .inner figcaption,
main#index section#ourservice .inner figcaption,
main#index section#member .inner figcaption {
    background: #EAF5F8;
    text-align: center;
	width: 60%;
	margin-top: 90px;
	padding-bottom: 60px;
    z-index: 0;
	display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

main#index section#aboutus .inner,
main#index section#member .inner {
    justify-content: flex-end;
}

main#index section#ourservice .inner {
	justify-content: flex-start;
}

main#index section#aboutus .inner figcaption div,
main#index section#ourservice .inner figcaption div,
main#index section#member .inner figcaption div {
    width: 390px;
}

main#index section#aboutus .inner figcaption h2,
main#index section#ourservice .inner figcaption h2,
main#index section#member .inner figcaption h2 {
	margin-top: -20px;
}

main#index section#aboutus .inner figcaption h3,
main#index section#ourservice .inner figcaption h3,
main#index section#member .inner figcaption h3 {
	text-align: left;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	margin-top: 60px;
}

main#index section#aboutus .inner figcaption h3 span,
main#index section#ourservice .inner figcaption h3 span,
main#index section#member .inner figcaption h3 span {
	text-align: left;
	font-size: 14px;
	font-weight: 500;
	position: relative;
	display: block;
	margin-bottom: 20px;
	padding-bottom: 20px;
}

main#index section#aboutus .inner figcaption h3 span::after,
main#index section#ourservice .inner figcaption h3 span::after,
main#index section#member .inner figcaption h3 span::after {
	content: "";
	background: #052C52;
	height: 2px;
	width: 40px;
	position: absolute;
	bottom: 0;
	left: 0;
}

main#index section#aboutus .inner figcaption .comment,
main#index section#ourservice .inner figcaption .comment,
main#index section#member .inner figcaption .comment {
	text-align: left;
	font-size: 14px;
	line-height: 1.7;
	margin-top: 20px;
}

main#index section#aboutus .inner figcaption .common_btn,
main#index section#ourservice .inner figcaption .common_btn,
main#index section#member .inner figcaption .common_btn {
	width: 202px;
	margin: 60px auto 0;
}

/* Index Entry */
/* ------------------------------------------------------------ */

main#index section#entry {
	background: #EAF5F8;
	margin: 120px 0;
	padding-bottom: 60px;
}

main#index section#entry .inner {
    display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main#index section#entry .inner > h2 {
	text-align: center;
	margin-top: -20px;
}

main#index section#entry .inner > p.comment {
	text-align: center;
	line-height: 1.7;
	margin-top: 40px;
}

main#index section#entry .inner > div {
	margin-top: 60px;
    display: flex;
	justify-content: center;
	align-items: center;
}

main#index section#entry .inner > div p.entry_btn a {
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	width: 500px;
	height: 140px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

main#index section#entry .inner > div p.entry_btn:nth-of-type(1) a {
	background: #052C52;
}

main#index section#entry .inner > div p.entry_btn:nth-of-type(2) a {
	background: #008BAB;
}

main#index section#entry .inner > div p.entry_btn a span {
	font-size: 12px;
	margin-bottom: 20px;
	display: block;
}

/* About */
/* ------------------------------------------------------------ */

main#about section#mainvisual figcaption ul.banner {
	width: 1000px;
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

main#about section#mainvisual figcaption ul.banner li {
	width: 30%;
	box-shadow: 0 0 20px rgba(0,0,0,0.3);
}

main#about section#contents {
	margin-top: 120px;
}

main#about section#contents .inner > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

main#about section#contents .inner > div > article {
	width: 460px;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

main#about section#contents .inner > div > article:nth-of-type(n+3) {
	margin-top: 60px;
}

main#about section#contents .inner > div > article figure {
	width: 220px;
}

main#about section#contents .inner > div > article figcaption {
	background: #F2F2F2;
	width: 240px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main#about section#contents .inner > div > article figcaption h3 {
	text-align: left;
	font-size: 18px;
	margin-top: 40px;
}

main#about section#contents .inner > div > article figcaption h3 span {
	font-weight: 500;
	position: relative;
	display: block;
	margin-bottom: 20px;
	padding-bottom: 20px;
}

main#about section#contents .inner > div > article figcaption h3 span::after {
	content: "";
	background: #052C52;
	height: 2px;
	width: 40px;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

main#about section#contents .inner > div > article figcaption p.comment {
	text-align: center;
	font-size: 14px;
	line-height: 1.7;
}

main#about section#contents .inner > div > article figcaption p.common_btn {
	position: absolute;
	bottom: 40px;
}

main#about section#contents .inner > div > article figcaption p.common_btn a {
	font-size: 14px;
	border-radius: 20px;
	width: 140px;
	height: 40px;
}

/* Vision */
/* ------------------------------------------------------------ */

main#vision section#philosophy,
main#vision section#greeting,
main#vision section#profile {
	margin-top: -50px;
	padding-top: 170px;
}

main#vision section#philosophy .outer,
main#vision section#greeting .outer,
main#vision section#profile .outer {
	background: #EAF5F8;
	padding: 0 0 60px;
}

main#vision section#philosophy .inner,
main#vision section#greeting .inner,
main#vision section#profile .inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

main#vision section#philosophy .inner > h2,
main#vision section#greeting .inner > h2,
main#vision section#profile .inner > h2 {
    text-align: center;
    margin-top: -20px;
}

main#vision section#philosophy .inner > div {
	width: 100%;
	margin-top: 60px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

main#vision section#philosophy .inner > div:nth-of-type(2) {
	flex-direction: row-reverse;
}

main#vision section#philosophy .inner > div > figure {
	width: 400px;
	flex-shrink: 0;
	margin: 0 0 0 60px;
}

main#vision section#philosophy .inner > div:nth-of-type(2) > figure {
	margin: 0 60px 0 0;
}

main#vision section#philosophy .inner > div > figcaption {
	line-height: 1.7;
}

main#vision section#greeting .inner > h4 {
    text-align: center;
	font-size: 34px;
	font-weight: 500;
	line-height: 1.5;
    margin-top: 60px;
}

main#vision section#greeting .inner > div {
	width: 100%;
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

main#vision section#greeting .inner > div > figure {
	width: 400px;
	flex-shrink: 0;
	margin: 0 80px 0 0;
}

main#vision section#greeting .inner > div > figcaption {
	line-height: 1.7;
}

main#vision section#greeting .inner > div > figcaption span.sign {
	text-align: right;
	font-weight: 500;
	margin-top: 40px;
	display: block;
}

main#vision section#profile .inner > div {
	width: 100%;
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

main#vision section#profile .dllist {
	width: 470px;
	margin: 0;
}

main#vision section#profile .dlbox {
	width: 100%;
    display: table;
}

main#vision section#profile .dlbox .dtbox {
	font-size: 14px;
	text-align: left;
    width: 140px;
	border-bottom: 1px #D1D1D1 solid;
	display: table-cell;
	vertical-align: top;
}

main#vision section#profile .dlbox .ddbox {
	font-size: 12px;
	text-align: left;
	border-bottom: 1px #D1D1D1 solid;
	display: table-cell;
}

main#vision section#profile .dlbox .dtbox .wrap {
	font-weight: 500;
    line-height: 1.7;
	padding: 15px 0;
}

main#vision section#profile .dlbox .ddbox .wrap {
    line-height: 1.7;
	padding: 15px 0;
}

main#vision section#profile .dlbox .wrap span {
    font-size: 10px;
	display: block;
}

main#vision section#profile .dlbox .wrap em {
    font-weight: 500;
	margin: 0 0 20px;
	display: block;
}

main#vision section#profile .dlbox .wrap em:nth-of-type(2) {
	margin: 40px 0 20px;
	display: block;
}

/* System */
/* ------------------------------------------------------------ */

main#system section#environment,
main#system section#welfare {
	margin-top: -50px;
	padding-top: 170px;
}

main#system section#environment .outer,
main#system section#welfare .outer {
	background: #EAF5F8;
	padding: 0 0 60px;
}

main#system section#environment .inner,
main#system section#welfare .inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

main#system section#environment .inner > h2,
main#system section#welfare .inner > h2 {
    text-align: center;
    margin-top: -20px;
}

main#system section#environment .inner > div {
	margin-top: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

main#system section#environment .inner > div > article {
	width: 460px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main#system section#environment .inner > div > article:nth-of-type(n+3) {
	margin-top: 60px;
}

main#system section#environment .inner > div > article figure {
	width: 460px;
}

main#system section#environment .inner > div > article figcaption {
	background: #fff;
	border-radius: 0 0 10px 10px;
	padding: 20px;
}

main#system section#environment .inner > div > article figcaption p.comment {
	font-size: 14px;
	line-height: 1.7;
}

main#system section#environment .inner > div > article p.common_btn {
	margin: 20px auto 0;
}

main#system section#environment .inner > div > article p.common_btn a {
	font-size: 14px;
	border-radius: 20px;
	width: 140px;
	height: 40px;
}

main#system section#welfare .inner > div {
	margin-top: 110px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

main#system section#welfare .inner > div > article {
	background: #fff;
	border-radius: 10px;
	width: 460px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main#system section#welfare .inner > div > article:nth-of-type(n+3) {
	margin-top: 110px;
}

main#system section#welfare .inner > div > article figure {
	width: 100px;
	margin-top: -50px;
}

main#system section#welfare .inner > div > article figcaption {
	font-size: 14px;
	line-height: 1.5;
	padding: 20px;
}

main#system section#welfare .inner > div > article figcaption h3 {
	text-align: center;
	color: #008BAB;
	font-size: 18px;
	font-weight: 500;
	margin: 0 0 20px;
}

main#system section#welfare .inner > div > article figcaption p.comment {
	text-align: left;
	font-size: 14px;
	line-height: 1.7;
}

/* Career */
/* ------------------------------------------------------------ */

main#career section#contents {
	margin-top: -50px;
	padding-top: 170px;
}

main#career section#contents .outer {
	background: #EAF5F8;
	padding: 0 0 60px;
}

main#career section#contents .inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

main#career section#contents .inner > h2 {
    text-align: center;
    margin-top: -20px;
}

main#career section#contents .inner > h4 {
	background: #fff;
    text-align: center;
	font-size: 18px;
	font-weight: 500;
	width: 100%;
    margin-top: 60px;
	padding: 15px 0;
}

main#career section#contents .inner figure {
	width: 800px;
	margin-top: 60px;
}

main#career section#contents .inner > div {
	margin-top: 60px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

main#career section#contents .inner > div > aside {
	background: #fff;
	border-radius: 10px;
	width: 300px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	overflow: hidden;
}

main#career section#contents .inner > div > aside h5 {
	background: #00898F;
	text-align: center;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	width: 100%;
	min-height: 110px;
	display: flex;
	justify-content: center;
	align-items: center;
}

main#career section#contents .inner > div > aside p.comment {
	text-align: left;
	font-size: 14px;
	line-height: 1.7;
	padding: 20px;
}

/* FAQ */
/* ------------------------------------------------------------ */

main#faq section#recruitment,
main#faq section#work,
main#faq section#education {
	margin-top: -50px;
	padding-top: 170px;
}

main#faq section h3 {
	text-align: center;
	font-size: 28px;
	margin: 0;
}

main#faq section h3 span {
	font-weight: 500;
	position: relative;
	display: block;
	padding-bottom: 20px;
}

main#faq section h3 span::after {
	content: "";
	background: #052C52;
	height: 2px;
	width: 40px;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

main#faq section article {
	background: #EAF5F8;
	margin-top: 60px;
	padding: 40px;
}

main#faq section article:nth-of-type(n+2) {
	margin-top: 20px;
}

main#faq section article dl {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}

main#faq section article dl dt {
	background: #052C52;
	color: #fff;
	border-radius: 20px;
	font-style: italic;
	width: 40px;
	height: 40px;
	margin-right: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

main#faq section article dl dd {
	line-height: 1.7;
	font-weight: 500;
}

main#faq section article dl em {
	font-weight: 500;
	display: block;
	margin: 0 0 20px;
}

main#faq section article dl em:nth-of-type(2) {
	margin: 40px 0 20px;
}

main#faq section article dl:nth-of-type(2) {
	margin-top: 20px;
}

main#faq section article dl.flex-start {
	align-items: flex-start;
}

main#faq section article dl:nth-of-type(2) dt {
	background: #fff;
	color: #052C52;
}

main#faq section article dl:nth-of-type(2) dd {
	font-weight: normal;
}

/* Our service / Member */
/* ------------------------------------------------------------ */

main#ourservice section#contents,
main#member section#contents {
	margin-top: 120px;
}

main#ourservice section#contents .inner > div,
main#member section#contents .inner > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

main#ourservice section#contents .inner > div > article,
main#member section#contents .inner > div > article {
	background: #F2F2F2;
	width: 460px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main#ourservice section#contents .inner > div > article:nth-of-type(n+3),
main#member section#contents .inner > div > article:nth-of-type(n+3) {
	margin-top: 60px;
}

main#ourservice section#contents .inner > div > article figure,
main#member section#contents .inner > div > article figure {
	width: 460px;
}

main#ourservice section#contents .inner > div > article figcaption,
main#member section#contents .inner > div > article figcaption {
	padding: 40px 40px 120px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main#ourservice section#contents .inner > div > article figcaption h3,
main#member section#contents .inner > div > article figcaption h3 {
	text-align: center;
	font-size: 14px;
	font-weight: 500;
	margin: 0;
}

main#ourservice section#contents .inner > div > article figcaption h3 span,
main#member section#contents .inner > div > article figcaption h3 span {
	font-size: 18px;
	position: relative;
	display: block;
	margin-bottom: 20px;
	padding-bottom: 20px;
}

main#ourservice section#contents .inner > div > article figcaption h3 span::after,
main#member section#contents .inner > div > article figcaption h3 span::after {
	content: "";
	background: #052C52;
	height: 2px;
	width: 40px;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

main#ourservice section#contents .inner > div > article figcaption p.comment,
main#member section#contents .inner > div > article figcaption p.comment {
	text-align: left;
	font-size: 14px;
	line-height: 1.7;
	margin-top: 20px;
}

main#ourservice section#contents .inner > div > article figcaption p.common_btn,
main#member section#contents .inner > div > article figcaption p.common_btn {
	position: absolute;
	bottom: 40px;
}

main#ourservice section#contents .inner > div > article figcaption p.common_btn a,
main#member section#contents .inner > div > article figcaption p.common_btn a {
	font-size: 14px;
	border-radius: 20px;
	width: 140px;
	height: 40px;
}

/* Interview(List) / Schedule(List) */
/* ------------------------------------------------------------ */

main#interview section#list,
main#oneday section#list {
	margin-top: 120px;
}

main#interview section#list .outer,
main#oneday section#list .outer {
	background: #EAF5F8;
	padding: 0 0 60px;
}

main#interview section#list .inner,
main#oneday section#list .inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

main#interview section#list .inner > h2,
main#oneday section#list .inner > h2 {
    text-align: center;
    margin-top: -20px;
}

main#interview section#list .inner > article,
main#oneday section#list .inner > article {
	width: 100%;
	margin-top: 60px;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
}

main#interview section#list .inner > article > figure,
main#oneday section#list .inner > article > figure {
	width: 560px;
	flex-shrink: 0;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}

main#interview section#list .inner > article aside,
main#oneday section#list .inner > article aside {
	background: #052C52;
	color: #fff;
	font-weight: 500;
	width: 150px;
	height: 40px;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
}

main#interview section#list .inner > article > figcaption,
main#oneday section#list .inner > article > figcaption {
	background: #fff;
	width: 420px;
	padding: 20px;
	position: absolute;
	right: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	z-index: 1;
}

main#interview section#list .inner > article h3,
main#oneday section#list .inner > article h3 {
	color: #008BAB;
    text-align: center;
	font-size: 24px;
	font-weight: 500;
	font-style: italic;
	margin: 0;
}

main#interview section#list .inner > article p.comment,
main#oneday section#list .inner > article p.comment {
	text-align: left;
	font-size: 14px;
	line-height: 1.7;
	padding: 20px 0;
}

main#interview section#list .inner > article h4,
main#oneday section#list .inner > article h4 {
    text-align: center;
	font-size: 18px;
	font-weight: 500;
}

main#interview section#list .inner > article p.common_btn,
main#oneday section#list .inner > article p.common_btn {
	margin-top: 30px;
}

main#interview section#list .inner > article p.common_btn a,
main#oneday section#list .inner > article p.common_btn a {
	font-size: 14px;
	border-radius: 20px;
	width: 140px;
	height: 40px;
}

/* Interview(Detail) / Schedule(Detail) */
/* ------------------------------------------------------------ */

main#interview_detail section#head,
main#oneday_detail section#head {
	margin-top: 120px;
}

main#interview_detail section#head > div,
main#oneday_detail section#head > div {
    width: 100%;
    position: relative;
	display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

main#interview_detail section#head > div figure,
main#oneday_detail section#head > div figure {
	width: 52%;
    max-width: 760px;
	position: relative;
	display: flex;
    justify-content: flex-end;
    align-items: flex-end;
	z-index: 1;
}

main#interview_detail section#head > div figure > aside,
main#oneday_detail section#head > div figure > aside {
	background: #052C52;
	color: #fff;
	font-weight: 500;
	width: 150px;
	height: 40px;
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
}

main#interview_detail section#head > div figcaption,
main#oneday_detail section#head > div figcaption {
    background: #EAF5F8;
    text-align: center;
	width: 60%;
	padding-bottom: 60px;
	position: absolute;
    bottom: -60px;
	right: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	z-index: 0;
}

main#interview_detail section#head > div figcaption div,
main#oneday_detail section#head > div figcaption div {
	width: 390px;
}

main#interview_detail section#head > div figcaption h2,
main#oneday_detail section#head > div figcaption h2 {
	margin-top: -20px;
}

main#interview_detail section#head > div figcaption h3,
main#oneday_detail section#head > div figcaption h3 {
	text-align: left;
	font-weight: 500;
	line-height: 1.5;
	margin-top: 60px;
}

main#interview_detail section#head > div figcaption .comment,
main#oneday_detail section#head > div figcaption .comment {
	text-align: left;
	font-size: 14px;
	line-height: 1.7;
	margin-top: 30px;
}

main#interview_detail section#head > div figcaption .sign,
main#oneday_detail section#head > div figcaption .sign {
	text-align: right;
	font-size: 18px;
	font-weight: 500;
	margin-top: 60px;
}

main#interview_detail section#head > div figcaption .sign span,
main#oneday_detail section#head > div figcaption .sign span {
	font-size: 14px;
	font-weight: normal;
	margin-bottom: 20px;
	display: block;
}

main#interview_detail section#interview {
	margin-top: 120px;
}

main#interview_detail section#interview h4 {
	text-align: left;
	font-weight: 500;
	line-height: 1.7;
	margin-bottom: 15px;
	padding-bottom: 15px;
	display: flex;
	position: relative;
}

main#interview_detail section#interview h4:after {
	background: #333;
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 80px;
	height: 1px;
}

main#interview_detail section#interview h4:nth-of-type(n+1) {
	margin-top: 60px;
}

main#interview_detail section#interview p.comment {
	line-height: 1.7;
}

main#interview_detail section#interview figure {
	width: 460px;
}

main#interview_detail section#interview figure:nth-of-type(odd) {
	float: left;
	margin: 60px 60px 60px 0;
}

main#interview_detail section#interview figure:nth-of-type(even) {
	float: right;
	margin: 60px 0 60px 60px;
}

main#oneday_detail section#schedule {
	margin-top: 120px;
}

main#oneday_detail section#schedule .inner > div {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

main#oneday_detail section#schedule .inner > div > div:nth-of-type(1) {
	width: 80px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
	position: relative;
}

main#oneday_detail section#schedule .inner > div > div:nth-of-type(1)::before {
    content: '';
    display: block;
    width: 2px;
    height: 100%;
    background-color: #EAF5F8;
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 0;
}

main#oneday_detail section#schedule .inner > div > div:nth-of-type(1) p.zone {
	background: #EAF5F8;
	color: #008BAB;
	border-radius: 40px;
	font-size: 18px;
	font-weight: 500;
	width: 80px;
	height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
	z-index: 1;
}

main#oneday_detail section#schedule .inner > div > div:nth-of-type(2) {
	width: 870px;
}

main#oneday_detail section#schedule article {
	margin: 30px 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

main#oneday_detail section#schedule article > figcaption {
	width: 430px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	z-index: 1;
}

main#oneday_detail section#schedule article > figcaption time {
	background: #052C52;
	color: #fff;
	font-weight: 500;
	padding: 5px 10px;
}

main#oneday_detail section#schedule article > figcaption h4 {
	font-weight: 500;
	margin-top: 20px;
}

main#oneday_detail section#schedule article > figcaption p.comment {
	text-align: left;
	font-size: 14px;
	line-height: 1.7;
	margin-top: 20px;
}

main#oneday_detail section#schedule article > figure {
	width: 380px;
}

/* Requirements */
/* ------------------------------------------------------------ */

main#requirements section#contents {
	margin-top: 120px;
}

main#requirements section#contents .outer {
	background: #EAF5F8;
	padding: 0 0 60px;
}

main#requirements section#contents .inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

main#requirements section#contents .inner > h2 {
    text-align: center;
    margin-top: -20px;
}

main#requirements section#contents .inner > div {
	width: 100%;
	margin-top: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

main#requirements section#contents .inner > div > article {
	background: #fff;
	width: 460px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main#requirements section#contents .inner > div > article:nth-of-type(n+3) {
	margin-top: 60px;
}

main#requirements section#contents .inner > div > article figure {
	width: 460px;
}

main#requirements section#contents .inner > div > article figcaption {
	padding: 40px 40px 120px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

main#requirements section#contents .inner > div > article figcaption h3 {
	text-align: center;
	font-size: 14px;
	font-weight: 500;
	margin: 0;
}

main#requirements section#contents .inner > div > article figcaption h3 span {
	font-size: 18px;
	position: relative;
	display: block;
	margin-bottom: 20px;
	padding-bottom: 20px;
}

main#requirements section#contents .inner > div > article figcaption h3 span::after {
	content: "";
	background: #052C52;
	height: 2px;
	width: 40px;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

main#requirements section#contents .inner > div > article figcaption p.comment {
	text-align: left;
	font-size: 14px;
	line-height: 1.7;
	margin-top: 20px;
}

main#requirements section#contents .inner > div > article figcaption p.common_btn {
	position: absolute;
	bottom: 40px;
}

main#requirements section#contents .inner > div > article figcaption p.common_btn a {
	font-size: 14px;
	border-radius: 20px;
	width: 140px;
	height: 40px;
}

/* Requirements Fresh / Requirements Career */
/* ------------------------------------------------------------ */

main#requirements_fresh section#statue,
main#requirements_fresh section#detail,
main#requirements_fresh section#flow,
main#requirements_career section#statue,
main#requirements_career section#detail,
main#requirements_career section#flow {
	margin-top: 120px;
}

main#requirements_fresh section h3,
main#requirements_career section h3 {
	text-align: center;
	font-size: 28px;
	margin: 0;
}

main#requirements_fresh section h3 span,
main#requirements_career section h3 span {
	font-weight: 500;
	position: relative;
	display: block;
	padding-bottom: 20px;
}

main#requirements_fresh section h3 span::after,
main#requirements_career section h3 span::after {
	content: "";
	background: #052C52;
	height: 2px;
	width: 40px;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

main#requirements_fresh section#statue .outer,
main#requirements_career section#statue .outer {
	background: #EAF5F8;
	margin-top: 60px;
	padding: 60px 0;
}

main#requirements_fresh section#statue .outer .inner,
main#requirements_career section#statue .outer .inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

main#requirements_fresh section#statue p.comment,
main#requirements_career section#statue p.comment {
	text-align: center;
    font-weight: 500;
    line-height: 1.7;
}

main#requirements_fresh section#detail .dllist,
main#requirements_career section#detail .dllist {
	margin-top: 60px;
}

main#requirements_fresh section#detail .dllist .dlbox,
main#requirements_career section#detail .dllist .dlbox {
	width: 100%;
    display: table;
}

main#requirements_fresh section#detail .dllist .dlbox .dtbox {
	background: #EAF5F8;
	text-align: center;
    width: 240px;
	border-top: 1px #D1D1D1 solid;
	display: table-cell;
}

main#requirements_career section#detail .dllist .dlbox .dtbox {
	background: #052C52;
	color: #fff;
	text-align: center;
	width: 240px;
	border-top: 1px #D1D1D1 solid;
	display: table-cell;
}

main#requirements_fresh section#detail .dllist .dlbox .ddbox,
main#requirements_career section#detail .dllist .dlbox .ddbox {
	text-align: left;
	border-top: 1px #D1D1D1 solid;
	display: table-cell;
}

main#requirements_fresh section#detail .dllist .dlbox:last-child .dtbox,
main#requirements_career section#detail .dllist .dlbox:last-child .dtbox {
	border-bottom: 1px #D1D1D1 solid;
}

main#requirements_fresh section#detail .dllist .dlbox:last-child .ddbox,
main#requirements_career section#detail .dllist .dlbox:last-child .ddbox {
	border-bottom: 1px #D1D1D1 solid;
}

main#requirements_fresh section#detail .dllist .dlbox .wrap,
main#requirements_career section#detail .dllist .dlbox .wrap {
	font-size: 14px;
    line-height: 1.7;
	padding: 15px 20px;
}

main#requirements_fresh section#detail .dllist .dlbox .dtbox .wrap,
main#requirements_career section#detail .dllist .dlbox .dtbox .wrap {
	font-weight: 500;
}

main#requirements_fresh section#detail .dllist .dlbox .wrap p.notes,
main#requirements_career section#detail .dllist .dlbox .wrap p.notes {
	font-size: 12px;
}

main#requirements_fresh section#detail .dllist .dlbox .wrap dl,
main#requirements_career section#detail .dllist .dlbox .wrap dl {
    display: table;
}

main#requirements_fresh section#detail .dllist .dlbox .wrap dt,
main#requirements_career section#detail .dllist .dlbox .wrap dt {
	font-weight: 500;
    width: 5em;
	display: table-cell;
}

main#requirements_fresh section#detail .dllist .dlbox .wrap dd,
main#requirements_career section#detail .dllist .dlbox .wrap dd {
	display: table-cell;
}

main#requirements_fresh section#flow .inner > div,
main#requirements_career section#flow .inner > div {
	display: flex;
	flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

main#requirements_fresh section#flow ul,
main#requirements_career section#flow ul {
	width: 100%;
	margin: 60px 0 40px;
	display: flex;
    justify-content: space-between;
    align-items: center;
}

main#requirements_fresh section#flow ul li {
	background: #EAF5F8;
	color: #008BAB;
	text-align: center;
	font-size: 18px;
	line-height: 1.5;
	font-weight: 500;
	border-radius: 10px;
	width: 210px;
	height: 100px;
	display: flex;
    justify-content: center;
    align-items: center;
	position: relative;
}


main#requirements_career section#flow ul li {
	background: #F2F2F2;
	color: #052C52;
	text-align: center;
	font-size: 18px;
	line-height: 1.5;
	font-weight: 500;
	border-radius: 10px;
	width: 210px;
	height: 100px;
	display: flex;
    justify-content: center;
    align-items: center;
	position: relative;
}

main#requirements_fresh section#flow ul li::after {
	content: "";
    position: absolute;
    top: 50%;
    right: -44px;
    transform: translateY(-50%);
    border: 10px solid transparent;
    border-left: 14px solid #008BAB;
}

main#requirements_career section#flow ul li::after {
	content: "";
    position: absolute;
    top: 50%;
    right: -44px;
    transform: translateY(-50%);
    border: 10px solid transparent;
    border-left: 14px solid #052C52;
}

main#requirements_fresh section#flow ul li:last-child {
	background: #008BAB;
	color: #fff;
	font-size: 22px;
	font-weight: 500;
}

main#requirements_career section#flow ul li:last-child {
	background: #052C52;
	color: #fff;
	font-size: 22px;
	font-weight: 500;
}

main#requirements_fresh section#flow ul li:last-child::after,
main#requirements_career section#flow ul li:last-child::after {
	content: none;
}

main#requirements_fresh section#flow p.indent,
main#requirements_career section#flow p.indent {
	text-align: left;
	font-size: 14px;
	line-height: 1.7;
}

/* News List / News Detail */
/* ------------------------------------------------------------ */

main#news section#list {
	margin-top: 120px;
}

main#news section#detail {
	margin-top: 0px;
}

main#news section#list .inner > h3 {
	text-align: center;
	font-size: 28px;
	margin: 0;
}

main#news section#list .inner > h3 span {
	font-weight: 500;
	position: relative;
	display: block;
	padding-bottom: 20px;
}

main#news section#list .inner > h3 span::after {
	content: "";
	background: #052C52;
	height: 2px;
	width: 40px;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

main#news section#list .inner > div,
main#news section#detail .inner > div {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

main#news section#list .inner > div > div:nth-of-type(1),
main#news section#detail .inner > div > div:nth-of-type(1) {
	width: 620px;
}

/* News List / News Detail */
main#news section#list .inner > div > div:nth-of-type(1) > article:nth-of-type(n+2) {
	margin-top: 60px;
}

main#news section#list .inner > div > div:nth-of-type(1) > article a {
	width: 620px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

main#news section#list .inner > div > div:nth-of-type(1) > article figure {
	width: 220px;
	margin-right: 20px;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-shrink: 0;
}

main#news section#detail .inner > div > div:nth-of-type(1) > article figure {
	width: 620px;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

main#news section#detail .inner > div > div:nth-of-type(1) > article figcaption figure {
	margin: 60px 0;
}

main#news section .inner > div > div:nth-of-type(1) > article figure p.new {
	background: #008BAB;
	color: #fff;
	font-size: 12px;
	width: 56px;
	height: 22px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	z-index: 1;
}
/*
main#news section .inner > div > div:nth-of-type(1) > article:nth-of-type(n+2) figure p.new {
	display: none;
}
*/
main#news section#list .inner > div > div:nth-of-type(1) > article figcaption {
}

main#news section#detail .inner > div > div:nth-of-type(1) > article figcaption {
	margin-top: 20px;
}

main#news section .inner > div > div:nth-of-type(1) > article figcaption > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

main#news section .inner > div > div:nth-of-type(1) > article figcaption time {
	color: #c1c1c1;
	font-size: 14px;
}

main#news section .inner > div > div:nth-of-type(1) > article figcaption p.category {
	border: 1px #008BAB solid;
	border-radius: 20px;
	color: #008BAB;
	font-size: 12px;
	padding: 5px 10px;
}

main#news section#list .inner > div > div:nth-of-type(1) > article figcaption h1 {
	color: #333;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 15px;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

main#news section#detail .inner > div > div:nth-of-type(1) > article figcaption h1 {
	text-align: left;
	color: #333;
	font-size: 22px;
	font-weight: 700;
	font-style: normal;
	line-height: 1.2;
	margin-top: 20px;
}

main#news section#detail .inner > div > div:nth-of-type(1) > article figcaption h2 {
	text-align: left;
	color: #333;
	font-size: 18px;
	font-weight: 700;
	font-style: normal;
	line-height: 1.2;
	margin: 60px 0 40px;
	padding-bottom: 20px;
	border-bottom: 1px #008BAB solid;
}

main#news section#detail .inner > div > div:nth-of-type(1) > article figcaption h3 {
	text-align: left;
	color: #333;
	font-weight: 700;
	font-style: normal;
	line-height: 1.2;
	margin: 60px 0 40px;
}

main#news section#list .inner > div > div:nth-of-type(1) > article figcaption p.comment {
	color: #33475B;
	font-size: 14px;
	line-height: 1.5;
	margin-top: 15px;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

main#news section#detail .inner > div > div:nth-of-type(1) > article figcaption pre {
	color: #33475B;
	font-size: 14px;
	line-height: 1.5;
	font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	width: 620px;
	white-space: pre-wrap;
	overflow: hidden;
}


main#news section#list .inner > div > div:nth-of-type(1) > ul.pagination {
	margin-top: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
}

main#news section#list .inner > div > div:nth-of-type(1) > ul.pagination li {
	margin: 0 5px;
}

main#news section#list .inner > div > div:nth-of-type(1) > ul.pagination li img {
	width: 7px;
	height: 12px;
}

main#news section#list .inner > div > div:nth-of-type(1) > ul.pagination li a {
	background: #F2F2F2;
	color: #052C52;
	font-size: 14px;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}
main#news section#list .inner > div > div:nth-of-type(1) > ul.pagination li span {
	background: #F2F2F2;
	color: #052C52;
	font-size: 14px;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}

main#news section#list .inner > div > div:nth-of-type(1) > ul.pagination li.active a {
	background: #052C52;
	color: #F2F2F2;
}
main#news section#list .inner > div > div:nth-of-type(1) > ul.pagination li.active span {
	background: #052C52;
	color: #F2F2F2;
}

/* News Detail Recommend */
main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend {
	margin-top: 40px;
	overflow: hidden;
}
main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend h3 {
	margin: 60px 0 20px;
}

main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend > div {
	background: #EAF5F8;
	padding: 30px;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend article {
	background: #fff;
}
	
main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend article a {
	width: 260px;
	display: block;
}

main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend article figure {
	width: 260px;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-shrink: 0;
}

main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend article figure p.new {
	background: #008BAB;
	color: #fff;
	font-size: 12px;
	width: 56px;
	height: 22px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	z-index: 1;
}
/*
main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend article:nth-of-type(n+2) figure p.new {
	display: none;
}
*/
main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend article figcaption {
	padding: 10px;
}

main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend article figcaption > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend article figcaption time {
	color: #c1c1c1;
	font-size: 12px;
}

main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend article figcaption p.category {
	border: 1px #008BAB solid;
	border-radius: 20px;
	color: #008BAB;
	font-size: 10px;
	padding: 5px 10px;
}

main#news section#detail .inner > div > div:nth-of-type(1) > div.recommend article figcaption h1 {
	color: #333;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	margin-top: 15px;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

main#news section#list .inner > div > div:nth-of-type(2),
main#news section#detail .inner > div > div:nth-of-type(2) {
	width: 300px;
}

main#news section#list .inner > div > div:nth-of-type(2) > p.banner_top,
main#news section#detail .inner > div > div:nth-of-type(2) > p.banner_top {
	margin-bottom: 60px;
}

main#news section#list .inner > div > div:nth-of-type(2) h3,
main#news section#detail .inner > div > div:nth-of-type(2) h3 {
	margin: 0 0 20px;
}

main#news section#list .inner > div > div:nth-of-type(2) h3:nth-of-type(n+2),
main#news section#detail .inner > div > div:nth-of-type(2) h3:nth-of-type(n+2) {
	margin-top: 60px;
}

main#news section#list .inner > div > div:nth-of-type(2) > article:nth-of-type(n+2),
main#news section#detail .inner > div > div:nth-of-type(2) > article:nth-of-type(n+2) {
	margin-top: 20px;
}

main#news section#list .inner > div > div:nth-of-type(2) > article a,
main#news section#detail .inner > div > div:nth-of-type(2) > article a {
	width: 300px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

main#news section#list .inner > div > div:nth-of-type(2) > article figure,
main#news section#detail .inner > div > div:nth-of-type(2) > article figure {
	width: 100px;
	margin-right: 10px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-shrink: 0;
}

main#news section#list .inner > div > div:nth-of-type(2) > article figcaption,
main#news section#detail .inner > div > div:nth-of-type(2) > article figcaption {
}

main#news section#list .inner > div > div:nth-of-type(2) > article figcaption time,
main#news section#detail .inner > div > div:nth-of-type(2) > article figcaption time {
	color: #c1c1c1;
	font-size: 12px;
}

main#news section#list .inner > div > div:nth-of-type(2) > article figcaption h1,
main#news section#detail .inner > div > div:nth-of-type(2) > article figcaption h1 {
	color: #333;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 10px;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

main#news section#list .inner > div > div:nth-of-type(2) > ul.category li:nth-of-type(n+2),
main#news section#detail .inner > div > div:nth-of-type(2) > ul.category li:nth-of-type(n+2) {
	margin-top: 20px;
}

main#news section#list .inner > div > div:nth-of-type(2) > ul.category li img,
main#news section#detail .inner > div > div:nth-of-type(2) > ul.category li img {
	width: 7px;
	height: 12px;
}

main#news section#list .inner > div > div:nth-of-type(2) > ul.category li a,
main#news section#detail .inner > div > div:nth-of-type(2) > ul.category li a {
	color: #052C52;
	font-size: 14px;
	font-weight: 500;
	height: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

main#news section#list .inner > div > div:nth-of-type(2) > p.banner_bottom,
main#news section#detail .inner > div > div:nth-of-type(2) > p.banner_bottom {
	margin-top: 60px;
}

/* Sitemap */
/* ------------------------------------------------------------ */

main#sitemap section#list {
	margin-top: 120px;
}

main#sitemap section#list dl:nth-of-type(n+2) {
	margin-top: 60px;
}

main#sitemap section#list dl img {
	width: 14px;
	height: auto;
	margin-right: 10px;
}

main#sitemap section#list dl dt {
	border-bottom: 1px #D1D1D1 solid;
	margin-bottom: 20px;
}

main#sitemap section#list dl dt a {
	color: #052C52;
	font-size: 22px;
	padding: 10px 10px 20px 10px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

main#sitemap section#list dl dd {
	margin-top: 20px;
}

main#sitemap section#list dl dd a {
	color: #008BAB;
	font-size: 22px;
	padding: 5px 10px 5px 34px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

/* 404 NOT FOUND */
/* ------------------------------------------------------------ */

main#notfound section#contents {
	margin-top: 120px;
}

main#notfound section#contents .inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

main#notfound section#contents h3 {
	font-size: 36px;
	font-weight: 700;
	margin: 0;
}

main#notfound section#contents p.comment {
	text-align: center;
	line-height: 1.7;
	margin-top: 60px;
}

main#notfound section#contents p.back_btn {
	margin-top: 80px;
}

main#notfound section#contents p.back_btn a {
	background: #fff;
	border: 1px #008BAB solid;
	border-radius: 25px;
	color: #008BAB;
	width: 400px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}

}