@charset "UTF-8";

/* CSS Information
---------------------------------------------------------------
Site URL:https://www.pax-jpn.jp/
File name:sp.css
Summary:reset styles
Created:2021-10-26
--------------------------------------------------------------- */

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


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

main#index {
	padding-bottom: 60px;
}

main#index section .inner {
	padding: 0 20px;
}

main#index section h3 {
	margin-bottom: 30px;
}

main#index section p.btn {
	margin-top: 30px;
}

/* Title */
main#index section#title .inner > div {
	height: 100%;
	position: relative;
}

main#index section#title .inner > div > div.mainvisual {
	background-image: url(../img/index/mainvisual_circle.png);
	background-size: cover;
	width: 170vw;
	height: 170vw;
	position: absolute;
	top: -25%;
	left: 15%;
}

main#index section#title .inner > div > div.mainvisual::before{
	content: '';
	padding-top: 50%;
}

main#index section#title .inner > div > div.mainvisual {
	animation-name: rotate;
	animation-duration: 60s;
	animation-timing-function: cubic-bezier(0.5, 0.51, 0.51, 0.52);
	animation-iteration-count: infinite;
}
  
@keyframes rotate{
	0% {transform: rotateZ(0);}
	100% {transform: rotateZ(360deg);}
}
/*
main#index section#title .inner > div > div.mainvisual:hover {
	animation-play-state: paused;
}
*/

main#index section#title .inner > div > div:nth-of-type(2) {
	position: absolute;
	bottom: 5%;
}

main#index section#title h2 {
	color: #221815;
	font-size: 8vw;
	font-weight: 500;
	line-height: 1.5;
	text-shadow:
	#fff 2px 0px 6px, #fff -2px 0px 6px,
    #fff 0px -2px 6px, #fff -2px 0px 6px,
    #fff 2px 2px 6px, #fff -2px 2px 6px,
    #fff 2px -2px 6px, #fff -2px -2px 6px,
    #fff 1px 2px 6px, #fff -1px 2px 6px,
    #fff 1px -2px 6px, #fff -1px -2px 6px,
    #fff 2px 1px 6px, #fff -2px 1px 6px,
    #fff 2px -1px 6px, #fff -2px -1px 6px,
    #fff 1px 1px 6px, #fff -1px 1px 6px,
    #fff 1px -1px 6px, #fff -1px -1px 6px;
}

main#index section#title h2 span {
	color: #808080;
	font-size: 3vw;
	margin-top: 20px;
	display: block;
}

/*
.progress {
	margin-top: 30px;
}
.progress_number {
	margin-right:25px;
	display:inline-block;
	vertical-align:middle;
	letter-spacing:0;
	font-size:0;
}
.progress_number li {
	width:50px;
	height:50px;
	position:relative;
	display:inline-block;
	vertical-align:middle;
	border-radius:50%;
}
.progress_number li:nth-child(n+2) {
	margin-left:50px;
}
.progress_number li::before,
.progress_number li::after {
	content:"";
	background:#E4E7EA;
	width:50px;
	height:1px;
	position:absolute;
	left:100%;
	top:50%;
	display:block;
}
.progress_number li::after {
	background:#00B4B4;
	width:0;
	z-index:2;
}
.progress_number li.anime::after {
	animation: progressLine 5s linear forwards;
}
@keyframes progressLine {
  0% { width:0; }
  100% { width:50px; }
}
.progress_number li:last-child::before,
.progress_number li:last-child::after {
	display:none;
}
.progress_number span {
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	letter-spacing:0;
	font-size:16px;
	color:#00B4B4;
}
.progress_number li.anime span {
	color:#00B4B4;
}
.progress_number svg {
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%) rotate(-90deg);
	opacity:1;
}
.progress_number circle {
	fill: transparent;
	stroke: #00B4B4;
	stroke-width: 1;
	stroke-dasharray: 0 360;
}
.progress_number li.anime circle {
	animation: circle 5s linear forwards;
}
@keyframes circle {
  0% { stroke-dasharray: 0 360; }
  100% { stroke-dasharray: 150 360; }
}
*/

/* Identity */
main#index section#identity {
	background: url(../img/company/bg.svg) no-repeat center center;
	background-size: contain;
}

main#index section#identity h3 {
	width: 90%;
	max-width: 1000px;
}

main#index section#identity p.btn {
	width: 240px;
	margin: 30px auto 0;
}

/* Business */
main#index section#business {
	background: #fff;
}

main#index section#business .inner > div:nth-of-type(1)  {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

main#index section#business .inner > div:nth-of-type(1) p.slide_btn  {
	margin-bottom: 30px;
}

main#index section#business .inner > div:nth-of-type(2)  {
	display: block;
}

main#index section#business .inner > div:nth-of-type(2) > div {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

main#index section#business .inner > div:nth-of-type(2) > div:nth-of-type(n+2) {
	margin-top: 30px;
}

main#index section#business figure {
	width: 100%;
	max-width: 450px;
	margin: 0 auto;
}

main#index section#business figcaption {
	margin-top: 30px;
}

main#index section#business figcaption h4 {
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 20px;
}

main#index section#business figcaption h4 span {
	color: #00B4B4;
	font-size: 12px;
	margin-bottom: 10px;
	display: block;
}

main#index section#business figcaption p.btn {
	width: 240px;
	margin: 30px auto 0;
}

/* Work */
main#index section#work {
	background: #fff url(../img/index/work_bg.png) repeat-x center top;
	background-size: contain;
	color: #fff;
	margin-top: 0;
	padding: 60px 0;
}

main#index section#work .swiper {
	overflow: visible;
	padding: 0 20px;
}

main#index section#work .swiper-slide {
	background: #fff;
}

main#index section#work .swiper-slide a {
	width: 100%;
	height: 315px;
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

main#index section#work .swiper-slide a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

main#index section#work .swiper-slide a span {
	color: #fff;
	font-size: 16px;
	line-height: 1.2;
	font-weight: 500;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	padding: 10px 0;
	position: absolute;
	right: 10px;
	top: 0;
	text-shadow: 0px 0px 3px rgba(0,0,0,0.5);
}

main#index section#work p.btn {
	width: 240px;
	margin: 30px auto 0;
}

/* News */
main#index section#news {
	background: #fff;
	margin-top: 0;
}

main#index section#news p.btn {
	width: 240px;
	margin: 30px auto 0;
}

/* Online */
main#index section#online {
	background: #00B4B4;
}

main#index section#online .inner > div  {
	width: 100%;
	display: block;
}

main#index section#online .inner > div > div  {
	color: #fff;
	padding: 30px 0;
}

main#index section#online .inner > div p.img  {
	width: 100%;
	max-width: 918px;
	margin: 0 auto;
}

main#index section#online p.btn  {
	width: 240px;
	margin: 30px auto 0;
}

main#index section#online p.btn a  {
	background: #fff;
}

main#index section#online p.btn a span  {
	color: #00B4B4 !important;
}

main#index section#online p.btn a:hover span  {
	color: #fff !important;
}

/* Recruit */
main#index section#recruit {
	background: #fff;
}

main#index section#recruit .inner > div  {
	width: 100%;
	display: block;
}

main#index section#recruit .inner > div p.img  {
	width: 80%;
	max-width: 600px;
	margin: 0 auto 30px;
}

main#index section#recruit p.btn  {
	width: 240px;
	margin: 30px auto 0;
}

section#youtube {
	padding: 0 20px;
}

main#index section#youtube > div:nth-of-type(1) {
	display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

main#index section#youtube > div:nth-of-type(1) p.slide_btn{
	margin-bottom: 30px;
}

section#youtube .youtube{
	box-sizing: border-box;
	position: relative;
	background: #000;
	width: 100%;
	aspect-ratio: 16/9;
	margin: 0 auto;
	padding: 10px 25px;
	display: flex;
}

section#youtube .youtube::before {
	content: "";
	background: url(../img/index/frame.png) center top;
	background-size: 25px 18px;
	background-repeat: round;
	width: 25px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

section#youtube .youtube::after {
	content: "";
	background: url(../img/index/frame.png) center top;
	background-size: 25px 18px;
	background-repeat: round;
	width: 25px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

section#youtube div {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

section#youtube iframe {
	position: absolute;
    top: 6px;
    left: 25px;
    width: calc(100% - 50px);
    height: calc(100% - 12px);
}

/* Company */
/* ------------------------------------------------------------ */

main#company {
	padding-bottom: 60px;
}

main#company section#identity {
	background: url(../img/company/bg.svg) no-repeat center center;
	background-size: contain;
}

main#company section#identity h3 {
	text-align: center;
}

main#company section#identity h4 {
	text-align: left;
}

main#company section#identity p.sign {
	text-align: right;
	margin-top: 30px;
}

main#company section#identity p.sign span {
	font-size: 18px;
	font-weight: 500;
	vertical-align: baseline;
	margin-left: 10px;
}

main#company section#profile figure {
	width: 100%;
	max-width: 630px;
	margin: 30px auto 0;
}

/* Business */
/* ------------------------------------------------------------ */

main div.bg {
	background: url(../img/business/bg.svg) no-repeat center bottom;
	background-size: cover;
	padding-bottom: 60px;
}

main#business section#public,
main#business section#earthwork {
	margin-top: 0;
	padding-top: 60px;
}

main#business section#public h3,
main#business section#earthwork h3 {
	text-align: center;
}

main#business section article {
	margin-top: 30px;
}

main#business section article figcaption {
	margin-top: 15px;
	display: block;
}

main#business section article figcaption h4 {
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	margin: 0;
}

main#business section article figcaption h4 span {
	color: #00B4B4;
	font-size: 12px;
	margin-top: 10px;
	display: block;
}

main#business section article figcaption p.comment {
	margin-top: 20px;
}

/* Work */
/* ------------------------------------------------------------ */

main#work {
	padding-bottom: 60px;
}

main#work section#list .inner,
main#work section#detail .inner {
	max-width: 1200px;
}

main#work section#list .inner > div,
main#work section#detail .inner > div {
	display: block;
}

main#work section#list .inner > div > div:nth-of-type(1),
main#work section#detail .inner > div > div:nth-of-type(1) {
}

main#work section#list .inner > div dl,
main#work section#detail .inner > div dl {
	position: static !important;
}

main#work section#list .inner > div dl dt,
main#work section#detail .inner > div dl dt {
	color: #00B4B4;
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 20px;
}

main#work section#list .inner > div dl dd,
main#work section#detail .inner > div dl dd {
	margin-top: 20px;
}

main#work section#list .inner > div dl dd a,
main#work section#detail .inner > div dl dd a {
	color: #9FA0A0 !important;
	font-size: 16px;
}

main#work section#list .inner > div dl dd.active a,
main#work section#detail .inner > div dl dd.active a {
	color: #221815 !important;
	font-weight: 500;
}

main#work section#list .inner > div > div:nth-of-type(2) {
	margin-top: 30px;
}

main#work section#list article {
	width: 100%;
}

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

main#work section#list article a {
	display: block;
}

main#work section#list article figure {
	width: 100%;
	position: relative;
}

main#work section#list article figure::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

main#work section#list article figure img {
	border-radius: 0 20px 0 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

main#work section#list article figcaption {
	margin-top: 10px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

main#work section#list article figcaption p.icon {
	border-radius: 20px;
	background: #00B4B4;
	color: #fff;
	font-size: 10px;
	font-weight: 500;
	width: 40px;
	height: 40px;
	margin-right: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

main#work section#list article figcaption > div {
	overflow: hidden;
}

main#work section#list article figcaption time {
	color: #9FA0A0;
	font-size: 12px;
}

main#work section#list article figcaption h1 {
	color: #221815;
	font-size: 16px;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-top: 10px;
}

main#work section#detail .inner > div > div:nth-of-type(2) {
	margin-top: 30px;
}

main#work section#detail article {
	width: 100%;
}

main#work section#detail article figcaption {
	border-bottom: 1px #ccc solid;
	margin-bottom: 20px;
	padding-bottom: 10px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

main#work section#detail article figcaption p.icon {
	border-radius: 20px;
	background: #00B4B4;
	color: #fff;
	font-size: 10px;
	font-weight: 500;
	width: 40px;
	height: 40px;
	margin-right: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

main#work section#detail article figcaption > div {
	overflow: hidden;
}

main#work section#detail article figcaption h1 {
	color: #221815;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 5px;
}

main#work section#detail article figcaption time {
	color: #9FA0A0;
	font-size: 12px;
}

main#work section#detail article figure {
	width: 100%;
	position: relative;
}

main#work section#detail article figure::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

main#work section#detail article figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

main#work section#detail ul#work_thumbnail {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

main#work section#detail ul#work_thumbnail li {
	background: #fff;
	margin-top: 2%;
	width: 23.5%;
	margin-right: 2%;
	overflow: hidden;
	border: 1px #ccc solid;
	box-sizing: border-box;
	position: relative;
}

main#work section#detail ul#work_thumbnail li::before {
	content: "";
	display: block;
	padding-top: 100%;
}

main#work section#detail ul#work_thumbnail li:nth-of-type(4n) {
	margin-right: 0;
}

main#work section#detail ul#work_thumbnail li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

main#work section#detail ul#work_thumbnail li.current {
	border: 1px #00B4B4 solid;
}

main#work section#detail ul#work_thumbnail li.current img {
	filter: alpha(opacity=50);
	opacity: 0.5;
}

main#work section#detail pre {
	color: #221815;
	font-size: 14px;
	line-height: 2;
	font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	white-space: pre-wrap;
	overflow: hidden;
	padding: 30px 0;
	border-bottom: 1px #ccc solid;
}

/* Recruit */
/* ------------------------------------------------------------ */

main#recruit {
	padding-bottom: 60px;
}

main#recruit section#graduate,
main#recruit section#career {
	margin-top: 0;
	padding-top: 60px;
}

main#recruit section#graduate h3,
main#recruit section#career h3 {
	text-align: center;
}

main#recruit section .dllist p.timepoint {
	text-align: right;
	color: #221815;
	font-size: 12px;
	margin-bottom: 10px;
}

main#recruit p.btn {
	width: 240px;
	margin: 30px auto 0;
}

/* Online / Contact */
/* ------------------------------------------------------------ */

main#online {
	padding-bottom: 60px;
}

main#online section#flow,
main#online section#form {
	margin-top: 0;
	padding-top: 60px;
}

main#online section#flow h3,
main#online section#form h3 {
	text-align: center;
}

main#online section#flow .inner > div {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

main#online section#flow .inner > div:nth-of-type(n+2) {
	margin-top: 60px;
	position: relative;
}

main#online section#flow .inner > div:nth-of-type(n+2)::before {
	content: '';
	background: url(../img/online/arrow_down.svg) no-repeat center center;
	background-size: contain;
	width: 20px;
	height: 24px;
	display: block;
	position: absolute;
	top: -42px;
	left: 50%;
	margin-left: -10px;
}

main#online section#flow .inner > div > figure {
	width: 90px;
	margin-right: 20px;
	flex-shrink: 0;
}

main#online section#flow .inner > div > figcaption {
}

main#online section#flow .inner > div > figcaption h4 {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	margin: 0;
}

main#online section#flow .inner > div > figcaption p.comment {
	margin-top: 10px;
}

main#online section#form h3 {
	margin-bottom: 30px;
}

main#online section#form .inner > p.comment {
	text-align: left;
}

main#online section#form p.indent {
	font-size: 10px;
	margin-top: 10px;
}

/* Contact */
/* ------------------------------------------------------------ */

main#contact {
	padding-bottom: 60px;
}

main#contact section#form .inner > p.comment {
	text-align: left;
}

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

main#news {
	padding-bottom: 60px;
}

main#news section#list .inner,
main#news section#detail .inner {
}

main#index section#news .inner > div,
main#news section#list .inner > div,
main#news section#detail .inner > div {
	display: block;
}

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

main#index section#news .inner > div dl,
main#news section#list .inner > div dl,
main#news section#detail .inner > div dl {
	position: static !important;
}

main#index section#news .inner > div dl dt,
main#news section#list .inner > div dl dt,
main#news section#detail .inner > div dl dt {
	color: #00B4B4;
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 20px;
}

main#index section#news .inner > div dl dd,
main#news section#list .inner > div dl dd,
main#news section#detail .inner > div dl dd {
	margin-top: 20px;
	font-size: 16px;
	cursor: pointer;
}

main#index section#news .inner > div dl dd,
main#news section#list .inner > div dl dd,
main#news section#detail .inner > div dl dd {
	color: #9FA0A0 !important;
}

main#index section#news .inner > div dl dd.active {
	color: #221815 !important;
	font-weight: 500;
}

main#news section#list .inner > div dl dd.active a,
main#news section#detail .inner > div dl dd.active a {
	color: #221815 !important;
	font-weight: 500;
}

main#index section#news .tab_contents {
	display: none;
}

main#index section#news .tab_contents.active {
	display: block;
}

main#index section#news .tab_contents,
main#news section#list .inner > div > div:nth-of-type(2) {
	margin-top: 30px;
}

main#index section#news article,
main#news section#list article {
	width: 100%;
	border-bottom: 1px #ccc solid;
}

main#index section#news article:nth-of-type(1),
main#news section#list article:nth-of-type(1) {
	border-top: 1px #ccc solid;
}

main#index section#news article a,
main#news section#list article a {
	padding: 20px 30px 20px 0;
	display: block;
	position: relative;
}

main#index section#news article figcaption > div,
main#news section#list article figcaption > div {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

main#index section#news article figcaption time,
main#news section#list article figcaption time {
	color: #9FA0A0;
	font-size: 12px;
}

main#index section#news article figcaption p.category,
main#news section#list article figcaption p.category {
	color: #9FA0A0;
	font-size: 12px;
	margin-left: 20px;
	padding-left: 20px;
	border-left: 1px #9FA0A0 solid;
}

main#index section#news article figcaption h1,
main#news section#list article figcaption h1 {
	color: #221815;
	font-size: 16px;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-top: 10px;
}

main#index section#news article a .news_list_btn,
main#news section#list article a .news_list_btn {
	box-sizing: border-box;
	width: 6px;
	height: 6px;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translate(50%,-50%);
	border: 3px #00B4B4 solid;
	border-radius: 50px;
	transition: all .3s;
}

main#index section#news article a .news_list_btn::after,
main#news section#list article a .news_list_btn::after {
	content: "";
	background: url(../img/common/btn_arrow_next.svg) no-repeat center / contain;
	width: 7px;
	height: 5px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(0);
	transition: all .4s;
}

main#index section#news article a:hover .news_list_btn,
main#news section#list article a:hover .news_list_btn {
	width: 20px;
	height: 20px;
	border: 1px solid #00B4B4;
}

main#index section#news article a:hover .news_list_btn::after,
main#news section#list article a:hover .news_list_btn::after {
	transform: translate(-50%,-50%) scale(1);
}

main#news section#detail .inner > div > div:nth-of-type(2) {
	margin-top: 30px;
}

main#news section#detail article {
	width: 100%;
}

main#news section#detail article figcaption {
	border-bottom: 1px #ccc solid;
	margin-bottom: 20px;
	padding-bottom: 10px;
}

main#news section#detail article figcaption h1 {
	color: #221815;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 10px;
}

main#news section#detail article figcaption > div {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

main#news section#detail article figcaption time {
	color: #9FA0A0;
	font-size: 12px;
}

main#news section#detail article figcaption p.category {
	color: #9FA0A0;
	font-size: 12px;
	margin-left: 20px;
	padding-left: 20px;
	border-left: 1px #9FA0A0 solid;
}

main#news section#detail article figure {
	width: 100%;
	position: relative;
	margin-bottom: 20px;
}

main#news section#detail article figure::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

main#news section#detail article figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

main#news section#detail .nContent p {
	color: #221815;
	line-height: 2;
	font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	white-space: pre-wrap;
	overflow: hidden;
	padding: 0 0 20px;
	border-bottom: 1px #ccc solid;
}

/* PRIVACY-POLICY */
/* ------------------------------------------------------------ */

main#privacypolicy {
	padding-bottom: 60px;
}

main#privacypolicy section#policy {
}

main#privacypolicy section#policy h3 {
	color: #00B4B4;
	font-size: 16px;
	line-height: 2;
	margin: 60px 0;
}

main#privacypolicy section#policy h4 {
	color: #00B4B4;
	font-size: 16px;
	margin: 30px 0 10px;
	padding-bottom: 10px;
	border-bottom: 1px #00B4B4 solid;
}

main#privacypolicy section#policy ol {
	line-height: 2;
	list-style-type: decimal;
	margin: 0;
}

main#privacypolicy section#policy ol li {
	margin: 10px 0 0 2em;
}

}