@charset "UTF-8";

/* ********** サイト全体の共通モジュールのstyle ********** */
/* テキスト要素 */

.c-title--large {
font-size: 3.5rem;
font-weight:700;
}
.c-title--normal {
font-size: 2.6rem;
position: relative;
}
.c-title--small {
font-size: 2.5rem;
font-weight:600;
}
.c-text--large  {
font-size: 2.2rem;
font-weight:600;
}
.c-text--normal  {
font-size: 1.5rem;
line-height: 1.8;
}
.c-text--small {
font-size: 1.4rem;
line-height: 1.6;
}
.c-text--bold {
font-size: 1.6rem;
font-weight:600;
line-height: 1.9;
position: relative;
}
/* タグ要素 */
[class*="c-tag--"] {
display: inline-block;
padding: 2px 7px;
font-size: 1.2rem;
font-weight:normal;
width: fit-content;
}
[class*="c-tag--"] + [class*="c-tag--"] {/*タグ要素が横に複数並ぶ際の余白*/
margin-left:10px;
}
/* テキストリンク要素 */
.c-textlink {
color:red;
text-decoration:none;
padding:0 1px;
}
.c-textlink[target="_blank"]:after {
margin: 0 3px 3px;
font-family: "Font Awesome 6 Free";
vertical-align: middle;
content: "\f35d";
font-weight:900;
display: inline-block;
font-size: 1.4rem;
}
.c-textlink:hover {
color:blue;
text-decoration:underline;
}
/* テーブル要素 */
.c-table {
width: 100%; 
display: table; 
border-collapse: separate;
border-spacing: 0;
}
.c-table th,
.c-table td {
border-bottom: 1px solid #ddd; 
font-size: 1.5rem; 
text-align:left;
}
.c-table th {
width: 25%; 
background:#fff;
padding: 20px 10px 20px 20px;
}
.c-table td {
width: 75%; 
background:#fff;
padding: 20px 20px 20px 10px;
}
/* タブ要素 */
[class*="c-tab"].e-current {
background:#333;
color:#fff;
}

/* **********  サイト全体の共通パーツのstyle ********** */
/* フッタ */
.l-footer__menu.c-rowlists {
justify-content: center;
gap: 30px;
padding: 40px 0 0;
background: #505050;
}
.l-footer__menu.c-rowlists li + li {
padding-right: 10px;
}
.l-footer__menu a {
color:#fff;
font-size:1.5rem;
text-decoration:underline;
}
.l-footer__menu a:hover {
color:#999;
}
.l-footer__inner a:before {
content:"";
width:12px;
height:1px;
top:50%;
left:0;
position:absolute;
background:#fff;
}
.l-footer__copyright {
background: #505050;
width: 100%;
padding: 40px 5px 80px;
color: #fff;
text-align: center;
font-size: 1.4rem;
}
/* パンくず */
.s-breadcrumb .c-rowlists {
padding:20px;
display: block;
}
.s-breadcrumb .c-rowlists li {
font-size:1.4rem;
color:#999;
display: inline;
}
.s-breadcrumb .c-rowlists li a {
color:#000;
text-decoration:underline;
}
.s-breadcrumb .c-rowlists li:after {
content:"";
background:url(../img/arrow--right.svg) center center/contain no-repeat;
display: inline-block;
width: 10px;
height: 10px;
margin: 0 6px 0 12px;
}
.s-breadcrumb .c-rowlists li:last-of-type:after {
content:none;
}
.s-breadcrumb .c-rowlists li a:hover {
color:#999;
}
/* ページトップへ戻る */
.s-backtotop {
background: #666;
width: 70px;
height: 70px;
border-radius: 50%;
position: fixed;
z-index: 99;
bottom: 80px;
right: 30px;
display:flex;
justify-content:center;
align-items:center;
opacity:0;
pointer-events: none;
transition:0.5s;
box-shadow: 2px 6px 14px -6px rgba(0,0,0,.3);
}
.s-backtotop.e-active {
opacity:1;
pointer-events: auto;
}
.s-backtotop span::after {
  content: "";
  background-color: #fff;
  height: 1px;
  width: 14px;
  position: absolute;
  top: 50%;
  left: 23px;
  transform: rotate(135deg) translateY(-50%);
}
.s-backtotop span::before {
  content: "";
  background-color: #fff;
  height: 1px;
  width: 14px;
  position: absolute;
  top: 50%;
  right: 23px;
  transform: rotate(-135deg) translateY(-50%);
}
.s-backtotop:hover {
transform: translateY(-5%);
background: #999;
}
@media screen and (max-width:810px) {
.s-backtotop {
width: 40px;
height: 40px;
bottom: 40px;
right: 10px;
}
.s-backtotop span::after {
  width: 12px;
  left: 9.5px;
}
.s-backtotop span::before {
  width: 12px;
  right:9.5px;
}
}

/* --------------------------------------------------
   アコーディオン要素共通モジュール
-------------------------------------------------- */
.c-accordion {
outline: 2px solid #d9d7d7;
background: #fff;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
button.c-accordion {
width: 100%;
font: inherit;
color: inherit;
text-align: center;
appearance: none;
-webkit-appearance: none;
}
.c-accordion__item {
  display: none;
  overflow: hidden;
  height: 0;
  padding-top: 0;
}
/* 開閉矢印 */
.c-accordion__icon {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  background: url("../img/common/c-accordion_icon.svg") center / contain no-repeat;
transition: transform 0.3s ease;
margin-left: 20px;
}
.c-accordion.e-active .c-accordion__icon {
  transform: rotate(180deg);
}
.js-accordion-label {
  display: inline-block;
  transition: opacity 0.16s ease, transform 0.16s ease;
}
.js-accordion-label.e-changing {
  opacity: 0;
  transform: translateY(-5px);
}
/* ********** ページごと・セクションごとの個別style（★） ********** */
.c-photo picture {
  display: block;
  width: 100%;
  height: 100%;
}

/* キャリア */
.c-title--small {
position: relative;
width: fit-content;
}
.c-text--large {
  position: relative;
  width: fit-content;
}
.p-spcareer .c-title--normal {
font-size: 3rem;
font-weight: 400;
letter-spacing: 1px;
}
.p-spcareer .c-title--small {
font-family: "Roboto Condensed", sans-serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: normal;
font-size: 4.6rem;
letter-spacing: 1px;
}
.p-spcareer .c-title--large {
background: #333;
width: fit-content;
color: #fff;
padding: 3px 14px 7px;
font-weight: 600;
letter-spacing: calc(1 * var(--px));
font-size: calc(4 * var(--rem));
text-align: center;
}
.p-spcareer .s-topvisual {
background-image: url("../img/career/career_bg01.png");
background-image: url("../img/career/career_bg01.webp");
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
.p-spcareer .s-topvisual .c-container > .c-col2 {
align-items: flex-end;
height: calc(750 * var(--px));
}
.p-spcareer .s-topvisual .c-text--bold {
font-size: calc(1.8 * var(--rem));
}
.p-spcareer .s-topvisual .c-title--small {
margin-left: 42px;
font-size: calc(3 * var(--rem));
}
.p-spcareer .s-topvisual__right {
margin-right:2%;
}
.p-spcareer .s-topvisual__left {
margin-left:2%;
}
.s-message__recommended {
border-radius: 40px;
background: linear-gradient(to right, #eee 0%, #fff 50%, #eee 100%);
box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
border: 2px solid #fff;
}
.s-message__recommended .c-text--large {
margin: 0 auto;
}
.s-message__recommended [class*="c-photo"] {
width: 20%;
}
.s-message__recommended .c-text--bold {
text-align: center;
}
.s-difference {
background: linear-gradient(to bottom, #eee 0%, #eee 28%, #fff 28%, #fff 100%);
}
.s-difference .s-title,
.p-spcareer .s-movie .s-title {
display: flex;
flex-direction: column;
align-items: center;
position:relative;
}
.s-difference__title p {
font-family: "Roboto Condensed", sans-serif;
font-weight: 300;
font-size: 8.5rem;
font-style: oblique;
color:#fff;
padding-left:50px;
}
.s-difference__title .c-wrap {
background: linear-gradient(to right,#505050 0%, #ddd 100%);
display: flex;
flex-direction: column;
justify-content: center;
}
.s-difference__title .c-text--large span {
display:inline-block;
background:#fff;
color:#333;
padding:3px 7px 1px;
margin:0 5px;
}
.s-difference__title .c-text--large {
vertical-align: center;
padding-left:15px;
font-style: normal;
}
.s-difference__comment .c-col2 {
flex-direction: row;
align-items: center;
border: 3px solid #eee;
padding: 20px;
background:#fff;
}
.s-difference__comment .c-col2 > .c-wrap {
display: flex;
flex-direction: column;
height: 100%;
justify-content: space-between;
}
.s-difference__comment .c-col2:nth-of-type(odd) {
padding-right: 30px;
}
.s-difference__comment .c-col2:nth-of-type(even) {
padding-left: 30px;
}
.s-difference__comment .c-col2 .c-text--normal {
	font-size: min(calc(1.6 * var(--rem)), 1.5rem);
}
.s-difference__comment .c-col2 .c-text--bold {
	font-size: min(calc(1.5 * var(--rem)), 1.5rem);
}
.s-difference__comment.c-col1--panel .c-col2 .c-photo--con {
width: 10.5%;
}

.p-spcareer .s-movie{
background-image: url("../img/career/career_bg02.png");
background-image: url("../img/career/career_bg02.webp");
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
.p-spcareer .s-movie .c-container {
background:#fff;
box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
}
/* 新卒　*/
.p-spnewgrad .c-title--small {
font-family: "Roboto Condensed", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
font-size: 5rem;
letter-spacing: 1px;
line-height: 1;
}
.p-spnewgrad .c-title--normal {
	font-weight: 400;
	font-size: calc(2.6 * var(--rem));
}
.p-spnewgrad .s-topvisual {
background: linear-gradient(to bottom, #e5e5e5 0%, #f0f0f0 45%, #fff 100%);
}
.p-spnewgrad .s-topvisual .c-col2 {
align-items: flex-end;
height: calc(820 * var(--px));
}
.p-spnewgrad .s-topvisual__right {
position: absolute;
top: 0;
right: -2%;
z-index: 0;
}
.p-spnewgrad .s-topvisual__left {
z-index: 1;
}
.p-spnewgrad .s-topvisual__left .c-title--small {
font-size: calc(3.2 * var(--rem));
color: #5cc5cb;
}
.p-spnewgrad .s-topvisual__left .c-title--large {
font-size: calc(4.2 * var(--rem));
letter-spacing: 2px;
font-weight: 600;
}
.p-spnewgrad .s-topvisual__left > .c-wrap {
padding-left:10%;
}
.p-spnewgrad .s-topvisual__left .c-text--bold {
font-size:calc(1.7 * var(--rem));
}
.p-spnewgrad .s-topvisual__left .c-text--bold span {
background: linear-gradient(to bottom,transparent 65%, #84d8dd 65%);
}
.p-spnewgrad .s-message__left {
background: #f8f6f7; 
}
.p-spnewgrad .s-message__left .u-linevertical {
left:0;
bottom:-80px;
} 
.p-spnewgrad .s-message__right {
position:absolute;
top:-100px;
right:0;
aspect-ratio:19 / 14;
}
.s-message__points {
overflow:hidden;
}
.s-message__points .c-text--large {
font-weight: 500;
background: #fff;
margin: 0 auto;
color: #5cc5cb;
font-size:2.2rem;
padding:0 20px
}
.s-message__points .c-text--large:before {
content:"";
position:absolute;
width:1000%;
height:1px;
top:50%;
left:-500%;
background:#333;
transform:translateY(-50%);
z-index:-1;
}
.s-message__points .c-item {
box-shadow: 2px 5px 16px -6px #b8b8b8;
border: 2px solid #eee;
padding: 30px 20px;
}
.s-message__points .c-item .c-title--small {
font-size: 3rem;
font-weight: 500;
color: #5cc5cb;
margin: 0 auto;
}
.s-message__points .c-item .c-text--bold {
text-align:center;
}
.s-message__points .c-item .c-text--normal {
padding: 0 10px;
}
.s-ourjob {
background:#e5e5e5;
}
.s-ourjob .s-title {
display: flex;
flex-direction: column;
align-items: center;
position:relative;
}
[class*="s-ourjob__0"] {
background:#fff;
position:relative;
}
[class*="s-ourjob__0"]::before {
content: "";
position: absolute;
top: 0;
left: 50%;
width: 90px;
height: 30px;
background: #e5e5e5; 
clip-path: polygon(
    0 0,
    100% 0,
50% 100%  
);
transform: translateX(-50%);
}
.s-ourjob__title .c-text--large {
font-size: 2.5rem;
font-weight: 500;
}
.c-title--newgrad__job {
border-bottom:2px solid #333;
}
.c-title--newgrad__job span {
background: #5cc5cb;
padding: 5px 12px;
font-size: 2rem;
font-weight: 500;
letter-spacing: 1px;
color: #fff;
display: inline-block;
}
.s-ourjob__detail .c-item {
background: #f8f6f7;
padding: 20px;
}
.s-ourjob__detail .c-item .c-text--bold {
font-size:calc(1.85 * var(--rem));
font-weight: 600;
text-align: center;
padding-bottom: 12px;
margin-bottom: 12px;
}
.s-ourjob__detail .c-item .c-text--bold:before {
content:"";
position:absolute;
bottom:2px;
left:50%;
transform:translateX(-50%);
width:40%;
height:2px;
background:#5cc5cb;
}
.s-ourjob__comment .c-title--newgrad__job {
border-bottom:0;
}
.s-ourjob__comment .c-item {
border:2px solid #333;
	}
.s-ourjob__comment .c-wrap .c-text--normal {
/* min-height: 110px; */
font-size: min(calc(1.6 * var(--rem)), 1.5rem);
	}

/*.s-ourjob__01 .s-ourjob__comment .c-wrap + .c-wrap .c-text--normal {
min-height: 180px;
} */
.s-ourjob__comment .c-text--bold {
font-size: calc(1.5 * var(--rem));
border-top: 3px solid #f8f6f7;
padding-top: 20px;
}
.s-ourjob__comment .c-photo--con {
border-radius: 50%;
width: calc(100 * var(--px));
height: calc(100 * var(--px));
background: #f8f6f7;
}
.p-spnewgrad .s-movie .c-container {
border:12px solid #e5e5e5;
}
.p-spnewgrad .s-movie .u-lineleft { 
left: 0;
bottom: -40px;
top: auto;
}
.p-spnewgrad .s-movie .c-rowlists {
gap: 40px;
}
.p-spnewgrad .s-movie .c-photo::after {
width: 40%;
height: 40%;
}
.p-spnewgrad .s-cta .c-text--large {
background: linear-gradient(90deg, #abe1e4 0%, #5dc7ce 50%, #abe1e4 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}

/* 3分でわかる */
.p-spaboutus .c-title--small {
font-size:1.8rem;
}
.p-spaboutus .c-title--normal {
font-weight: 500;
font-size: 2.8rem;
letter-spacing: 2px;
}
.p-spaboutus .c-title--small + .c-title--normal {
margin-top:5px;
}
.p-spaboutus .s-title {
display: flex;
flex-direction: column;
align-items: center;
position:relative;
}
.p-spaboutus .s-topvisual {
background: linear-gradient(to right,#f0f0f0 0%, #ffffff 45%, #f0f0f0 100%);
}
.p-spaboutus .s-topvisual .c-col2 {
height: calc(645 * var(--px));
}
.p-spaboutus .s-topvisual__left {
padding-left:3%;
z-index:1;
}
.p-spaboutus .s-topvisual__left .c-title--small {
background: #505050;
padding: 5px 15px;
color: #fff;
}
.p-spaboutus .s-topvisual__left .c-title--large {
display: block;
font-size:calc(7 * var(--rem));
line-height: 1.1;
letter-spacing:1.5px;
}
.p-spaboutus .s-topvisual__left .c-title--large span{
font-size:calc(8 * var(--rem));
color:#00387d;
background: linear-gradient(135deg,#333 0%,#00387d 2%,#2b6ec5 40%,#1850a3 60%,#00387d 80%,#333 100%
);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.p-spaboutus .s-topvisual__left .c-title--large span span{
font-size:calc(11 * var(--rem));
transform: translateY(5px);
display: inline-block;
}
.p-spaboutus .s-topvisual__left .c-text--bold {
color:#00387d;
}
.p-spaboutus .s-topvisual__right {
position: absolute;
right: 3%;
top: 0;
width:57%;
height:100%;
z-index:0;
clip-path: polygon( 0% 0, 100% 0, 100% 100%, 20% 100% );
}
.s-number {
margin-top: calc(-100 * var(--px));
}
.s-number .c-container {
background: #fff;
box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
}
.s-number .c-text--bold {
text-align: center;
font-size: 2.4rem;
font-weight: 700;
line-height: 1;
min-height: 52px;
}
.s-number .c-text--bold span {
display: block;
margin-top: 5px;
}
.s-number .c-col3--panel .c-col2 {
align-items: center;
}
.s-number__text {
display: flex;
justify-content: flex-end;
align-items: baseline;
line-height: 1;
}
.s-number__value {
color: #00387d;
font-size: calc(9 * var(--rem));
font-weight: 700;
background: linear-gradient(135deg,#333 0%,#00387d 2%,#2b6ec5 40%,#1850a3 60%,#00387d 80%,#333 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
letter-spacing: -3px;
}
.s-number__value span{
font-size: calc(5.5 * var(--rem));
letter-spacing: -1px;
}
.s-number__unit {
font-size: calc(2 * var(--rem));
font-weight: 600;
margin-left: 8px;
transform: translateY(-5px);
}
.s-number .c-col3--panel .c-item {
position:relative;
}
.s-number .c-col3--panel .c-item:nth-of-type(1) .s-number__unit {
font-size: calc(2.4 * var(--rem));
}
.s-number .c-col3--panel .c-item:nth-of-type(2)::before {
left: -6%;
}
.s-number .c-col3--panel .c-item:nth-of-type(2)::after {
right: -6%;
}
.s-number .c-col3--panel .c-item:nth-of-type(2)::before,
.s-number .c-col3--panel .c-item:nth-of-type(2)::after {
position: absolute;
content: "";
top: 0;
width: 2px;
height: 100%;
background: #d9d8d8;
}
.s-number .c-text--small {
text-align: center;
}
.s-strength {
background: linear-gradient(to right,#f4f4f4 0%, #e5e5e5 45%, #f4f4f4 100%);
}
.s-strength .c-container{
background: #fff;
}
.s-strength .c-col3--panel .c-item {
border: 2px solid #f2f4f6;
border-radius: 10px;
overflow: hidden;
}
.s-strength .c-col3--panel .c-col2,
.s-points .c-col3--panel .c-col2 {
align-items: center;
}
.s-strength .c-col3--panel .c-text--large,
.s-points .c-col3--panel .c-text--large{
font-size: calc(2 * var(--rem));
}
.s-points .c-col3--panel .c-item {
position:relative;
width: 28%;
}
.s-points .c-col3--panel .c-item:nth-of-type(3n+2) {
margin: 0 calc((100% - (28% * 3)) / 2);
}
.s-points .c-col3--panel .c-item:nth-of-type(2)::before,
.s-points .c-col3--panel .c-item:nth-of-type(2)::after {
position:absolute;
content:"";
top:0;
width:2px;
height:100%;
background:#d9d8d8;
}
.s-points .c-col3--panel .c-item:nth-of-type(2)::before {
left:-14%;
}
.s-points .c-col3--panel .c-item:nth-of-type(2)::after {
right:-14%;
}
.s-points .c-col3--panel .c-item > .c-text--normal {
min-height: 140px;
}
.s-points .c-photo--con {
border-radius: 50%;
width: calc(110 * var(--px));
height: calc(110 * var(--px));
background: #f8f6f7;
text-align:center;
}
.s-points .c-photo--con img {
width: 65%;
}
.s-points__comment > .c-wrap .c-text--normal {
  font-size: calc(1.65 * var(--rem));
}
.s-points__comment > .c-wrap .c-text--bold {
  padding-bottom: 15px;
  font-size: calc(1.55 * var(--rem));
  line-height: 1.6;
  font-weight: 600;
}
.s-points__comment > .c-wrap {
background: #f8f6f7;
padding: 25px 18px 0;
margin-top: calc(30 * var(--px));
min-height: 250px; 
display: flex;
flex-direction: column;
justify-content: space-between;
}
.s-points__comment > .c-wrap .c-col2 {
margin-top: calc(10 * var(--px));
}
.s-gallery {
background: linear-gradient(to right,#f0f0f0 0%, #ffffff 45%, #f0f0f0 100%);
}
.s-gallery .c-photo {
aspect-ratio: 16 / 9;
}
.s-gallery .c-col4--panel > .c-item:nth-of-type(n+5) {
margin-top: calc(20 * var(--px));
}
.s-gallery .c-text--large {
color:#fff;
width: 100%;
background: linear-gradient(to right,#333 0%, #00387d 2%, #2b6ec5 40%,#1850a3 60%, #00387d 80%,#333 100%);
padding: 5px 10px;
text-align: center;
}
.s-gallery .c-title--small {
min-width: 100px;
}
.s-gallery .c-item {
position: relative;
cursor: pointer;
}
#lg-counter span {
color: #999;
}
a#lg-download {
display:none;
}

/* 共通パーツ */
.s-movie .c-photo {
aspect-ratio: 16 / 9;
display:block;
}
.s-movie .c-photo:before {
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.3);
z-index:0;
transition:.3s;
}
.s-movie .c-photo:after {
content:"";
position:absolute;
top:50%;
left:50%;
width:35%;
height:35%;
transform:translate(-50%,-50%);
background:url("../img/common/s-movie_icon.svg") center / contain no-repeat;
z-index:1;
transition:.3s;
}
.s-movie .c-photo:hover::before {
background:rgba(0,0,0,.1);
}
.s-movie .c-photo:hover::after {
transform:translate(-50%,-50%) scale(1.2);
}
.s-cta {
background:#505050;
}
.s-cta .c-container {
background-image: url("../img/common/s-cta_bg.png");
background-image: url("../img/common/s-cta_bg.webp");
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
.s-cta .c-col2 {
height: 250px;
align-items:center;
color:#fff;
}
.s-cta .c-col2 .c-wrap + .c-wrap {
text-align: right;
}
.s-cta .c-col2 .c-text--large {
font-size: 2.5rem;
}
.s-cta .c-col2 .c-text--normal {
font-size: 1.7rem;
}
.s-link .c-rowlists {
align-items: center;
}



.u-lineleft,
.u-lineright,
.u-linevertical{
position: absolute;
background: #333;
overflow:hidden;
}
.u-lineleft,
.u-lineright {
height: 3px;
top: 50%;
transform: translateY(-50%);
}
.u-linevertical {
width: 3px;
left: 50%;
transform: translateX(-50%);
} 
.p-spcareer .u-lineleft,
.p-spcareer .u-lineright {
width: 30px;
}
.p-spcareer .u-lineleft {
left: -42px;
} 
.p-spcareer .u-lineright {
right: -42px;
} 
.p-spcareer .u-linevertical {
height: 30px;
bottom: -42px;
} 
.p-spnewgrad .u-lineleft {
width: 50px;
height: 2px;
}
.p-spnewgrad .u-lineleft {
left: -62px;
} 
.p-spnewgrad .u-linevertical {
height: 50px;
bottom: -62px;
width: 2px;
} 
.p-spnewgrad .u-lineleft:before,
.p-spnewgrad .u-linevertical:before {
content:"";
position:absolute;
top:0;
left:0;
background:#5cc5cb;
display:inline-block;
}
.p-spnewgrad .u-lineleft:before {
width: 30%;
height:100%;
}
.p-spnewgrad .u-linevertical:before {
width: 100%;
height:30%;
}

/* **************************************************************** */
/* ********************** スマートフォン対応 ************************* */

@media screen and (max-width:810px) {
/* ********** サイト全体の共通モジュールのstyle（★） ********** */
/* テキスト要素 */
.c-title--large {
font-size: 2.5rem;
}
.c-title--normal {
font-size: 2.4rem;
}
.c-title--small {
font-size: 2.2rem;
}
/* ボタン要素 */
.c-btn {
width: 90%;
margin: 0 auto;
}
/* テーブル要素 */
.c-table th,
.c-table td {
width: 100%;  /* 固定 */
display:block; /* 固定 */
padding: 20px 10px;
}
/* **********  サイト全体の共通パーツのstyle（★） ********** */
/* フッタ */
.l-footer__address {
text-align: left;
margin-top: 30px;
}
/* お知らせ右カラム/WPに影響するためclass名は変更不可 */
.s-rightcol {
margin-top:60px;
}
/* 下層ページトップビジュアルメイン */
.s-pagetop .c-col2 .c-wrap{
margin: 0 auto 10px;
}

/* ********** ページごと・セクションごとの個別style（★） ********** */
/* 3分でわかる */
.p-spaboutus .c-title--normal {
  font-weight: 800;
  font-size: min(calc(2 * var(--rem)), 2.4rem);
  letter-spacing: 0;
padding: 0 10px;
}
.p-spaboutus .s-topvisual .c-container{
width:100%;
}
.p-spaboutus .s-topvisual .c-col2 {
height: auto;
}
.p-spaboutus .s-topvisual__right {
  position: relative;
  right: 0;
  width: 100%;
}
.p-spaboutus .s-topvisual__left { 
margin-top: calc(-200 * var(--px));
order: 1;
}

.p-spaboutus .s-topvisual__left .c-title--large span span {
font-size: min(calc(8 * var(--rem)), 8rem);
}
.p-spaboutus .s-topvisual__left .c-title--large span {
font-size: min(calc(5 * var(--rem)), 5rem);
}

.p-spaboutus .s-topvisual__left .c-title--large {
font-size: min(calc(4 * var(--rem)), 4rem);
padding-bottom: 7px;
}
.p-spaboutus .s-topvisual__left .c-text--bold {
margin-bottom: calc(80 * var(--px));
}
.s-number {
margin-top: 0;
padding-top: calc(60 * var(--px));
}
.p-spaboutus .c-title--small {
  font-size: 1.6rem;
}

.s-number .c-col3--panel .c-item + .c-item {
margin-top:40px!important;
}
.s-number .c-col3--panel .c-col2 {
flex-direction: revert;
align-items: end;
}
.s-number .c-col3--panel .c-col2 .c-photo--con {
width: 35%;
  margin-left: 0 !important;
}
.s-number .c-col3--panel .c-item {
width: 84%;
}
.s-number .c-col3--panel .c-item:nth-of-type(2)::before, 
.s-number .c-col3--panel .c-item:nth-of-type(2)::after {
  width: 100%;
height: 2px;
left:50%;
transform:translateX(-50%);
}
.s-number .c-col3--panel .c-item:nth-of-type(2)::before {
top: -20px;
}
.s-number .c-col3--panel .c-item:nth-of-type(2)::after {
bottom: -22px;
top:auto;
right:auto;
}
.s-number .c-text--bold {
  font-size: 2rem;
line-height: 1;
font-weight: 500;
min-height:auto;
margin-top:10px;
}

.s-strength .c-col2 > .c-photo--con {
width: 30%;
}
.s-strength .c-col3--panel .c-text--large {
text-align: center;
margin-top:10px;
font-size: 1.8rem;
}
.s-points .c-col3--panel .c-item {
width: 94%;
}
.s-points .c-col3--panel .c-item + .c-item {
margin-top:40px!important;
}
.s-points .c-col3--panel .c-item .c-col2 {
flex-direction: revert;
}
.s-points .c-col3--panel .c-text--large {
  font-size: 1.8rem;
width: 75%;
margin-right: 0;
}
.s-points .c-photo--con {
  width: calc(140 * var(--px));
height: calc(140 * var(--px));
margin-left: 0!important;
}
.s-points__comment > .c-wrap .c-col2 {
flex-direction: revert;
width: 100%;
align-items: flex-end;
}
.s-points__comment > .c-wrap .c-col2 .c-photo {
width: 35%;
margin-left: 0;
}
.s-points__comment > .c-wrap .c-text--normal {
font-size: 1.5rem;	
}
.s-points__comment > .c-wrap .c-col2 .c-text--bold {
width: 65%;
font-size: 1.5rem;
padding-bottom: 8px;
margin-right: 0;
}
.s-points .c-col3--panel .c-item > .c-text--normal {
min-height: auto;
}
.s-points__comment > .c-wrap {
min-height: auto; 
}
.s-gallery .c-text--large {
font-size: min(calc(1.6 * var(--rem)), 1.6rem);
}
.s-gallery .c-item.js-gallery-item {
pointer-events: none;
}
button.c-accordion {
padding: 20px 0;
}

/* キャリア */
.p-spcareer .c-title--small {
font-size: 3.2rem;
}
.p-spcareer .c-title--normal {
font-size: min(calc(1.9 * var(--rem)), 1.9rem);
letter-spacing: 0;
}
.p-spcareer .c-title--large {
font-size: min(calc(3.1 * var(--rem)), 3.1rem);
  align-self: flex-end;
}
.p-spcareer .s-topvisual {
background-position: center left 25%;
}
.p-spcareer .s-topvisual .c-container > .c-col2 {
  height: auto;
  flex-direction: column-reverse;
}
.p-spcareer .s-topvisual__right{
  margin-right: 0 !important;
  width: 75%;
z-index: 0;
margin-top: -40px;
}
.p-spcareer .s-topvisual__left{
z-index: 1;
margin-top: calc(-340 * var(--px));
width:100%;
}
.p-spcareer .s-topvisual__left .c-photo {
width: 45%;
  margin-left: 0;
}
.p-spcareer .s-topvisual__left .c-wrap {
margin-top: calc(-210 * var(--px));
display: flex;
    flex-direction: column;
  }
.p-spcareer .s-topvisual .c-title--small {
font-size: min(calc(2 * var(--rem)), 2rem);
  align-self: flex-end;
}
.p-spcareer .s-topvisual .c-text--bold {
font-size: min(calc(1.6 * var(--rem)), 1.6rem);
}
.p-spcareer .s-message__right {
margin-top:calc(30 * var(--px));
}
.s-message__recommended {
padding: 15px;
}
.s-message__recommended .c-text--large {
font-size: min(calc(2 * var(--rem)), 2rem);
}

.s-difference__title p {
  font-size: 5rem;
  padding: 20px;
  text-align: center;
}
.s-difference .s-title, 
.p-spcareer .s-movie .s-title {
margin-bottom: calc(120 * var(--px));
padding: 0 10px;
}
.s-difference__title .c-text--large{
display: block;
  padding: 0;
  font-size: calc(2 * var(--rem));
margin: 0 auto;
}
.s-difference__comment .c-col2 {
  padding: 15px;
}
.s-difference__comment .c-col2:nth-of-type(odd) {
  padding-right: 15px;
}
.s-difference__comment .c-col2:nth-of-type(even) {
  padding-left: 15px;
}
.c-col1--panel.s-difference__comment > .c-col2 .c-photo--con,
.s-difference__comment > .c-col2 .c-photo--con {
position: absolute;
  bottom: 0;
  left: 0%;
width: 18%;
}
.s-difference__comment > .c-col2 .c-wrap +.c-photo--con {
right: 0%;
left:auto;
}
.s-difference__comment .c-col2 .c-text--bold {
font-size: min(calc(1.5 * var(--rem)), 1.5rem);
padding: 20px 0 10px;
}
.s-difference__comment .c-col2:nth-of-type(odd) .c-text--bold {
text-align: right;
}

/* 新卒 */
.p-spnewgrad .s-topvisual .c-col2 {
			height: auto;		
		}		
.p-spnewgrad .s-topvisual__right {
			right: 0;
			width:80%;
		}		
		.p-spnewgrad .s-topvisual__left > .c-wrap {
  padding-left: 0;
			margin-top: calc(360 * var(--px));
		}
		.p-spnewgrad .s-topvisual__left .c-title--small {
			font-size: min(calc(3.2 * var(--rem)), 3.2rem);
		}
		.p-spnewgrad .s-topvisual__left .c-title--large {
			font-size: min(calc(4 * var(--rem)), 4rem);
		}		
		.p-spnewgrad .s-topvisual__left .c-text--bold {
			font-size: calc(1.6 * var(--rem));
		}
		.p-spnewgrad .s-topvisual__left .c-photo {
		aspect-ratio: 2 / 1;
		}
		.p-spnewgrad .s-message__right {
  position: relative;
			top: 0;
		}		
		.p-spnewgrad .c-title--small {
			font-size: min(calc(4 * var(--rem)), 4rem);
		}
.p-spnewgrad .c-title--normal {
	font-size: min(calc(1.8 * var(--rem)), 1.8rem);
		}
.p-spnewgrad .s-message__left .c-wrap > .c-wrap {
 		padding-left: 5%;
		}
		.p-spnewgrad .u-linevertical {
			height: calc(75 * var(--px));
			bottom: calc(-90 * var(--px));
		}
		.p-spnewgrad .s-message__left .u-linevertical {
			left:5px;
			bottom: calc(-125 * var(--px));
		}
		.s-message__points .c-text--large {
			font-size: min(calc(2.1 * var(--rem)), 2.1rem);
			padding: 0 10px;
		}
		.s-message__points .c-item {
			padding: 20px;
		}
		.s-ourjob__title .c-text--large {
  font-size: 2.2rem;
			width: 100%;
			text-align:center;
		}	
		.s-message__points .c-item .c-text--bold {
			font-size: min(calc(1.6 * var(--rem)), 1.6rem);
		}
				.s-ourjob__title .c-wrap{
			margin-top: calc(30 * var(--px));
		}
		
	[class*="s-ourjob__0"] {
  margin-top: calc(100 * var(--px))!important;
		}		
		[class*="s-ourjob__0"] .c-photo {
			margin-top: calc(30 * var(--px));
		}
		.c-title--newgrad__job span {
  padding: 2px 12px;
  font-size: 1.8rem;
		}
		
		.s-ourjob__detail .c-photo--con.u-w40{
			width:30%;
		}		
		.s-ourjob__detail .c-photo--con.u-w35 {
			width:25%;
		}		
				.s-ourjob__comment .c-item > .c-wrap {
			padding: 0 10px 10px;
		}
		.s-ourjob__comment .c-item .c-wrap .c-col2 {
			flex-direction: row;
			align-items: center;
		}
		
		.s-ourjob__comment .c-item .c-col2 .c-text--bold {
			width: 70%;
			margin-right:0;
			font-size: min(calc(1.5 * var(--rem)), 1.5rem);
			line-height: 1.6;
		}
		
		.s-ourjob__comment .c-item .c-col2 .c-photo--con {
			width: calc(150 * var(--px));
			height: calc(150 * var(--px));
		}
		.p-spnewgrad .s-movie .c-rowlists {
  gap: calc(40 * var(--px));
  flex-direction: column;
  margin-top: calc(100 * var(--px));
		}
		.p-spnewgrad .s-movie .u-lineleft {
  bottom: calc(-40 * var(--px));
		}			

			
			
/* 共通パーツ */
.s-cta .c-container {
background-position: center left 13%;
}
.s-cta .c-col2 {
height: auto;
padding: 40px 0;
}
.s-cta .c-col2 .c-wrap + .c-wrap {
text-align: center;
text-align: center;
    margin-top: calc(40 * var(--px));
}
.s-cta .c-col2 .c-text--large {
font-size: 2.2rem;
		}
		
.s-link .c-rowlists {
text-align: center;
gap: 15px;
flex-direction: column;
}
.s-link .c-rowlists .c-text--large {
margin-bottom: 20px;
font-size: 1.85rem;
}
}
@media screen and (max-width:499px) {
.c-col1--panel.s-difference__comment > .c-col2 .c-photo--con,
.s-difference__comment > .c-col2 .c-photo--con {
position: absolute;
  bottom: 0;
  left: 0;
width: 30%;
}
.s-difference__comment > .c-col2 .c-wrap +.c-photo--con {
right: 0;
left:auto;
}
}