@charset "utf-8";
/* CSS Document */
/* student.css */

/* -------------------------
/* Created date: 2021.11.04
/* Created user: yamaguchi
/* Last up date: 2022.11.08
/* Last up date user: yamaguchi
/* for sp and pc
--------------------------*/
/* reset */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
a,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
input,
button,
textarea,
select,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  line-height: 1;
  color: #333;
  font-weight: normal;
  font-weight: 500;
  -webkit-text-size-adjust: 100%;
  text-decoration: none;
  vertical-align: baseline;
  background: transparent;
  backface-visibility: hidden;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.05);
}

html {
  color: #333;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
  /* 10px */
  font-size: 62.5%;
  color: #333;
  scroll-behavior: smooth;
}

body {
  position: relative;
  font-size: 1em;
  line-height: inherit;
}

input,
button,
textarea,
select,
label {
  margin: 0;
  padding: 0;
  background: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  vertical-align: middle;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  color: inherit;
  cursor: inherit;
}

input[type="submit"],
input[type="button"],
button {
  cursor: pointer;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul,
ol,
dl {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a,
a:link,
a:visited,
a:active {
  background: transparent;
  border: none;
  text-decoration: none;
  vertical-align: baseline;
}

a:link img,
a:visited img,
a:active img,
a:hover img {
  border: none;
  text-decoration: none;
  vertical-align: baseline;
}

img,
canvas,
iframe,
video,
svg {
  max-width: 100%;
  vertical-align: bottom;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a,
span {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
}

:after,
:before {
  pointer-events: none;
  position: absolute;
}


/* main css --------------*/
.studentResarch {
  position: relative;
  overflow: hidden;
  padding-bottom: 100px;
  min-height: 100vh;
  box-sizing: border-box;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0, rgba(255, 255, 255, 0) 342px), repeating-linear-gradient(90deg, #89b7f7 0 5px, #95bef9 5px 10px);
}

.studentResarch main {
  position: relative;
}

/* header --------------*/
.studentHeader {
  border-top: 3px solid #f58a8a;
  display: flex;
}

.studentHeader p {
  position: relative;
  margin: 0 auto 5px;
  padding-left: 5px;
}

.studentHeader span {
  margin-top: -3px;
  position: relative;
  display: inline-block;
  padding: 4px 10px 4px 2em;
  background: #f58a8a;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.15);
  color: #fff;
  font-size: 1.2rem;
  vertical-align: top;
}

.studentHeader span::before {
  content: '';
  top: 50%;
  left: 0.8em;
  width: 1em;
  height: 1.05em;
  background: url('../../../img/page/student/icn_search.svg') left top / 100% auto no-repeat;
  transform: translate(0, -50%);
}

.studentHeader::before {
  content: '';
  top: 21px;
  right: -18px;
  z-index: 10;
  width: 76px;
  height: 88px;
  background: url('../../../img/page/student/icn_search.png') left top / 100% auto no-repeat;
  
}

.error404 .studentHeader::before {
  display: none;
}

/* form title --------------*/
.studentTitle {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  padding: 8px 20px;
  background: #fff;
  text-align: center;
  min-height: 100px;
  border-top: 2px solid #428cff;
  border-bottom: 2px solid #428cff;
  margin-top: 15px;
}

.studentTitle p {
  margin-bottom: 10px;
  color: #0049d0;
  font-weight: bold;
  font-size: 1.5rem;
}

.studentTitle h1 {
  color: #0049d0;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.2;
}

.sucPage .studentTitle,
.signIn .studentTitle {
  min-height: 60px
}

.sucPage .studentTitle p,
.signIn .studentTitle p {
  margin-bottom: 3px;
  font-size: 1.3rem;
}

.sucPage .studentTitle h1,
.signIn .studentTitle h1 {
  font-size: 1.4rem;
}

.studentBlockWrap {
  padding: 0 7px;
  position: relative;
  z-index: 11;
}

.studentBlock {
  position: relative;
  margin: 20px auto 20px;
  padding: 30px 10px 25px;
  max-width: 910px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);
  border: solid 2px #428cff;
}

.studentBlock.zyunnbi{
  padding:40px 24px;
}

.studentBlock .errorTitle {
  margin: 0 auto 15px;
}

.studentBlock .errorTitle p {
  margin-bottom: 5px;
  color: #f53442;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1.4;
}

.studentBlock .errorTitle span {
  margin-bottom: 10px;
  position: relative;
  display: inline-block;
  padding: 5px 1em 5px 3em;
  background: rgba(245, 52, 66, 0.05);
  border-radius: 10px;
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: bold;
}

.studentBlock .errorTitle span::before {
  content: '';
  top: 50%;
  left: 1.5em;
  width: 1em;
  height: 1em;
  background: url('../../../img/page/student/icn_error.svg') left top / 100% auto no-repeat;
  transform: translate(0, -50%);
}


/* flow list --------------*/
.studentBlock .flow {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translate(-50%, 0);
  display: flex;
  justify-content: center;
  background: #09b3cc;
  border-radius: 12px;
  font-size: 1.4rem;
}

.studentBlock .flow li {
  position: relative;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 19%;
  min-width: 50px;
  min-height: 24px;
  font-size: 1.4rem;
  color: #fff;
}

.studentBlock .flow li:first-child {
  border-radius: 12px 0 0 12px;
}

.studentBlock .flow li:last-child {
  border-radius: 0 12px 12px 0;
}

.studentBlock .flow li::before {
  content: '▼';
  top: 50%;
  left: 100%;
  left: calc(100% - 5px);
  width: 1em;
  height: 1em;
  font-size: 1rem;
  color: #fff;
  transform: translate(0, -50%) rotate(-90deg);
}

.studentBlock .flow li.pastPlace::before,
.studentBlock .flow li:last-child::before,
.studentBlock .flow li.nowPlace:last-child::after {
  display: none;
}

.studentBlock .flow li.nowPlace {
  width: 24%;
  min-width: 80px;
}

.studentBlock .flow li.nowPlace::before {
  content: '';
  z-index: 1;
  top: -20px;
  left: 50%;
  width: 45px;
  height: 34px;
  /* background: url('../../../img/page/student/img_piyousa_01.png') left top / 100% auto no-repeat; */
  transform: translate(-50%, 0);
}

.studentBlock .flow li.nowPlace::after {
  content: '';
  z-index: 7;
  top: 50%;
  left: 100%;
  left: calc(100% - 6px);
  width: 1px;
  height: 0;
  border-style: solid;
  border-color: #09b3cc #09b3cc #09b3cc #3c65ff;
  border-width: 12px;
  transform: translate(0, -50%);
}

.studentBlock .flow li.nowPlace:last-child::before {
  display: block;
  content: '';
  z-index: 1;
  top: -35px;
  left: 50%;
  width: 50px;
  height: 50px;
  background: url('../../../img/module/layout/waiwai_piyo_usa.png') left top / 100% auto no-repeat;
  transform: translate(-50%, 0);
}

.studentBlock .flow li.nowPlace span {
  position: relative;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #428cff, #3c65ff 100%);
  border-radius: 12px 0 0 12px;
  font-weight: bold;
  font-size: 110%;
  color: #fff;
}

.studentBlock .flow li.nowPlace:last-child span {
  border-radius: 12px;
}

/* Greeting --------------*/
.studentGreeting {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 0 5px 20px;
  font-size: 1.4rem;
  line-height: 1.4;
}

/* step title --------------*/
.studentBlock .stepTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding-bottom: 10px;
  color: #0049d0;
  font-weight: bold;
  font-size: 1.8rem;
}

.studentBlock .stepTitle .icnSpace {
  position: relative;
  padding-left: 1.25em;
}

.studentBlock .stepTitle .icnSpace svg {
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 0;
  width: 1em;
  height: 1em;
  transform: translate(0, -50%);
  fill: #0049d0;
}

/* Cards --------------*/
.studentCards {
  padding: 20px 15px 1px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.2);
}

.studentCards+.studentCards {
  margin-top: 10px;
}

.studentParts {
  margin-bottom: 30px;
}

.studentCards+.studentParts {
  margin-top: 25px;
}

/* confirm --------------*/
.confirmCards {
  background: #fff;
  border: solid 3px #428cff;
  border-radius: 10px;
  border-top: 0;
  box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.2);
}

.confirmCards+.confirmCards {
  margin-top: 20px;
}

.confirmCards .confirmTitle {
  padding: 10px;
  background: #428cff;
  border-radius: 7px 7px 0 0;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
  vertical-align: top;
}

.confirmCards .confirmTitle .icnSpace {
  position: relative;
  padding-left: 1.25em;
}

.confirmCards .confirmTitle .icnSpace svg {
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 0;
  width: 1em;
  height: 1em;
  transform: translate(0, -50%);
  fill: #fff;
}

.confirmCards .confirmParts {
  margin: 0 15px;
  padding: 20px 0;
}

.confirmCards .confirmParts+.confirmParts {
  border-top: 2px solid #cfe0e6;
}

.confirmSubTitle {
  display: flex;
  justify-content: space-between;
}

.confirmCards h4 {
  margin: 0 0 10px;
  font-weight: bold;
  color: #0049d0;
  font-size: 1.4rem;
}

.confirmCards .backLink {
  margin-bottom: 10px;
  text-align: right;
}

.confirmCards .backLink input {
  display: none;
}

.confirmCards .backLink label {
  cursor: pointer;
  position: relative;
  padding-left: 1.25em;
  font-size: 1.4rem;
  text-decoration: underline;
}

.confirmCards .backLink label::before {
  content: '';
  top: 50%;
  left: 0.5em;
  width: 0.7em;
  height: 0.7em;
  background: url('../../../img/page/student/icn_arrow_black.svg') center / auto 100% no-repeat;
  transform: translate(0, -50%) rotate(180deg);
}

.confirmPersonal .backLink label::before {
  display: none;
}

.confirmPersonal {
  margin: 0 15px;
  padding: 20px 0;
}

.confirmCards .confirmPersonal+.confirmPersonal {
  border-top: 2px solid #cfe0e6;
}

.confirmTable {
  display: table;
  width: 100%;
}

.confirmTable .confirmParts {
  display: table-row;
}

.confirmTable .confirmParts h4 {
  display: table-cell;
  padding-right: 10px;
  vertical-align: middle;
}

.confirmTable .confirmParts p {
  margin: 2px 0;
}

.confirmPersonal .confirmParts+.confirmParts {
  border-top: 0;
}

.confirmCards+.studentParts {
  margin-top: 25px;
}

.studentBlock .selectTitle {
  display: flex;
  flex-wrap: wrap;
  padding: 20px 10px;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.2;
  transition: all 0.25s 0s linear;
}

.studentBlock .selectTitle span {
  padding: 0 5px;
  background: #e7eff2;
}

.studentBlock .floatingBox {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 999;
  padding: 10px 0 0;
  width: 100%;
  background: rgba(255, 255, 255, .8);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}

.studentBlock .floatingBox .stepTitle {
  position: absolute;
  bottom: 100%;
  left: 10px;
  display: inline-block;
  padding: 7px 10px;
  background: #0049d0;
  border-radius: 5px 5px 0 0;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  color: #fff;
  font-weight: bold;
  font-size: 13px;
}

.studentBlock .floatingBox .selectTitle {
  display: block;
  font-size: 1.4rem;
}

.studentBlock .reselectButton {
  padding: 0 10px 20px;
  width: 100%;
  font-weight: bold;
}

.studentBlock .reselectButton span {
  cursor: pointer;
  position: relative;
  display: inline-block;
  padding-left: 1em;
  font-size: 1.4rem;
  text-decoration: underline;
}

.studentBlock .reselectButton span::before {
  content: '';
  top: 50%;
  left: 0;
  width: 1em;
  height: 1em;
  background: url('../../../img/page/student/icn_arrow_black.svg') center / auto 100% no-repeat;
  transform: translate(0, -50%) rotate(180deg);
}

.studentBlock .reselectButton.off {
  pointer-events: none;
  opacity: 0.3;
}

.studentBlock .rightLink {
  padding: 0 10px 10px;
  width: 100%;
  text-align: right;
  font-weight: bold;
}

.studentBlock .rightLink span {
  cursor: pointer;
  position: relative;
  display: inline-block;
  padding-left: 1em;
  font-size: 1.4rem;
}

.studentBlock .rightLink span::before {
  content: '';
  top: 50%;
  left: 0;
  width: 1em;
  height: 1em;
  background: url('../../../img/page/student/icn_arrow_black.svg') center / auto 100% no-repeat;
  transform: translate(0, -50%) rotate(180deg);
}

.studentBlock .rightLink.off {
  pointer-events: none;
  opacity: 0.5;
}

/* form area --------------*/
.studentBlock .partsTitle {
  margin: 0 10px 5px;
}

.studentBlock .partsTitle label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-weight: bold;
  font-size: 1.8rem;
}

.studentBlock .req {
  background: #f53442;
  margin-left: 5px;
  padding: 2px 3px;
  border-radius: 3px;
  color: #fff;
  font-weight: bold;
  font-size: 1.2rem;
}

/* input text */
.studentBlock .inputText,
.studentBlock .penIcon,
.studentBlock .selectBox {
  margin-bottom: 5px;
  position: relative;
  font-size: 1.6rem;
}

.studentBlock .inputText input[type="text"],
.studentBlock .inputText input[type="password"],
.studentBlock .inputText textarea[type="text"] {
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 0 10px;
  max-width: 100%;
  width: 100%;
  min-height: 45px;
  border: solid 1px #0049d0;
  border-radius: 3px;
  transition: all 0.15s 0s linear;
}

.studentBlock .inputText input[type="text"]::placeholder,
.studentBlock .inputText input[type="password"]::placeholder,
.studentBlock .inputText textarea[type="text"]::placeholder{
  color: #ccc
}

.studentBlock .inputText input:disabled,
.studentBlock .inputText textarea:disabled{
  background: #e7eff2;
  border-color: #cfe0e6;
  font-weight: bold;
  color: #333;
  opacity: 1;
  border-radius: 3px;
  max-width: 100%;
}

.studentBlock .inputText textarea:disabled{
  border-color: #cfe0e6;
  color: #333;
  padding: 14px 10px 0 10px;
  width: 100%;
}

.studentBlock .inputText input[type="text"]:focus,
.studentBlock .inputText input[type="password"]:focus,
.studentBlock .inputText textarea[type="text"]:focus{
  box-shadow: 3px 3px 0 0 #99c0ff, 2px 2px 0 0 #fff inset, 4px 4px 0 0 #99c0ff inset;
}

.studentBlock .penIcon input[type="text"],
.studentBlock .penIcon input[type="password"],
.studentBlock .inputText textarea[type="text"]{
  padding-right: 1.75em;
}
.studentBlock .inputText textarea[type="text"]{
  padding-top: 14px;

}
.studentBlock .inputText textarea[type="text"]{
  padding-top: 14px;
  padding-bottom: 14px;
  line-height: 20px;
}

.studentBlock .penIcon::before {
  content: '';
  top: 50%;
  right: 0.5em;
  width: 0.75em;
  height: 0.75em;
  background: url('../../../img/page/student/icn_pen.svg') left top / 100% auto no-repeat;
  transform: translate(0, -50%);
}

.studentBlock .selectBox {
  display: flex;
  align-items: center;
  width: 60%;
}

.studentBlock .selectBox select {
  padding: 12px 1.75em 10px 10px;
  width: 100%;
  min-height: 45px;
  border: solid 1px #0049d0;
  border-radius: 3px;
  transition: all 0.15s 0s linear;
}

.studentBlock .selectBox select:focus {
  box-shadow: 3px 3px 0 0 #99c0ff, 2px 2px 0 0 #fff inset, 4px 4px 0 0 #99c0ff inset;
}

.studentBlock .selectBox::before {
  content: '▼';
  top: 50%;
  right: 1em;
  width: 1em;
  height: 1em;
  font-size: 1rem;
  color: #0049d0;
  transform: translate(0, -50%);
}

.studentBlock .checkList {
  padding: 10px;
}

.studentBlock .checkList li {
  margin: 0 0 20px;
}

.studentBlock .checkList.flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
}

.studentBlock .checkList.flex li {
  margin-right: 30px;
}

.studentBlock .checkList li:last-child {
  margin-right: 0;
}

.studentBlock .checkList input {
  display: none;
}

.studentBlock .checkList label {
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 2.5em;
  min-height: 2.5em;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.4;
}

.studentBlock .checkList label::before {
  content: '';
  top: 0;
  left: 0;
  width: 2.2em;
  height: 2.2em;
  box-shadow: 0 0 0 3px #cfe0e6 inset;
  border-radius: 50%;
  transition: all 0.15s 0s linear;
}

.studentBlock .checkList label::after {
  content: '';
  top: 0;
  left: 0;
  width: 2.2em;
  height: 2.2em;
  background: url('../../../img/page/student/icn_check.svg') center / 60% auto no-repeat;
  transition: all 0.15s 0s linear;
  opacity: 0;
}

.studentBlock .checkList input:checked+label::before {
  background: #09b3cc;
  box-shadow: 0 0 0 0 rgba(9, 179, 204, 0), 0 0 0 3px #cfe0e6 inset;
  animation: hirogaru 0.3s ease 0s 1 normal forwards running;
}

.studentBlock .checkList input:checked+label::after {
  opacity: 1;
}

.studentBlock .checkList input:disabled+label::before {
  background: #cfe0e6;
}

.studentBlock .checkList input:disabled+label::after {
  opacity: 1;
}


/* pmarkAgreement / add : 20221107 */
.partsText {
  margin: 15px auto 5px;
  font-size: 1.3rem;
  line-height: 1.4;
}

.pmarkContents {
  margin: 0 auto 15px;
  padding: 15px 10px;
  max-height: 180px;
  overflow-y: scroll;
  border: solid 1px #ccc;
  border-radius: 3px;
}

.pmarkContents h2 {
  margin: 0 auto 15px;
  font-weight: bold;
  line-height: 1.4;
  font-size: 1.4rem;
  color: #0049d0;
}

.pmarkContents a {
  color: #0049d0;
  text-decoration: underline;
}

.pmarkContents a[target="_blank"] {
  padding-right: 1.75em;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57.73 57.73"><path fill="rgba(21,106,209,1)" fill-rule="evenodd" d="M10.82,0V46.9H57.73V0Zm42.4,42.39H15.33V4.51H53.22ZM4.51,10.82H0V57.73H46.9V53.22H4.51ZM26.38,35.18,39.69,21.87v9.7H44V14.43H26.83v4.29H36.3L23.23,32Z" /></svg>') calc(100% - 0.5em) center / 1em auto no-repeat;
}

.pmarkContents h3 {
  font-weight: bold;
  line-height: 1.4;
  font-size: 1.3rem;
}

.pmarkContents p {
  margin: 0 auto 15px;
  list-style-position: inside;
  line-height: 1.6;
  font-size: 1.2rem;
}

.pmarkAgreement {
  min-height: 2.5em;
}
.pmarkAgreement label {
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  padding-left: 2.5em;
  min-height: 2.5em;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.4;
  vertical-align: top;
}

.pmarkAgreement label::before {
  content: '';
  top: 0;
  left: 0;
  width: 2.2em;
  height: 2.2em;
  box-shadow: 0 0 0 3px #cfe0e6 inset;
  border-radius: 50%;
  transition: all 0.15s 0s linear;
}

.pmarkAgreement label::after {
  content: '';
  top: 0;
  left: 0;
  width: 2.2em;
  height: 2.2em;
  background: url('../../../img/page/student/icn_check.svg') center / 60% auto no-repeat;
  transition: all 0.15s 0s linear;
  opacity: 0;
}

.pmarkAgreement input:checked+label::before {
  background: #09b3cc;
  box-shadow: 0 0 0 0 rgba(9, 179, 204, 0), 0 0 0 3px #cfe0e6 inset;
  animation: hirogaru 0.3s ease 0s 1 normal forwards running;
}

.pmarkAgreement input:checked+label::after {
  opacity: 1;
}

.pmarkAgreement input:disabled+label::before {
  background: #cfe0e6;
}

.pmarkAgreement input:disabled+label::after {
  opacity: 1;
}



/* field */
.categoryNametitle {
  padding: 0 10px 10px;
  font-weight: bold;
  font-size: 1.6rem;
  color: #0049d0;
}

.studentCategory {
  overflow: hidden;
  position: relative;
  padding: 0 0 15px;
  margin: 0 auto;
}

.studentCategory li {
  vertical-align: top;
}

.studentCategory h3 {
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0 auto 3px;
  padding: 0 2em 0 2.5em;
  width: 100%;
  min-height: 45px;
  background: #ddebfd;
  font-weight: bold;
  font-size: 1.6rem;
  color: #0049d0;
  transition: background 0.25s 0s linear;
}

.studentCategory h3::before {
  content: '';
  top: 50%;
  right: 0.5em;
  width: 1em;
  height: 1em;
  background: url('../../../img/page/student/icn_arrow_blue.svg') center / auto 100% no-repeat;
  transform: translate(0, -50%) rotate(90deg);
  transition: background 0.25s 0s linear;
}

.studentCategory h3 .icnSpace {
  position: absolute;
  top: 50%;
  left: 0.75em;
  width: 1em;
  height: 1em;
  font-weight: bold;
  font-size: 1.6rem;
  fill: #0049d0;
  transform: translate(0, -50%);
  transition: fill 0.25s 0s linear;
}

.studentCategory h3.on {
  background-color: #0049d0;
  color: #fff;
}

.studentCategory h3.on::before {
  background-image: url('../../../img/page/student/icn_arrow.svg');
  transform: translate(0, -50%) rotate(270deg);
}

.studentCategory h3.on .icnSpace {
  fill: #fff;
}

.majorNametitle {
  padding: 15px 15px 10px;
  font-weight: bold;
  font-size: 1.6rem;
  color: #009bb3;
}

.disciplineNametitle {
  padding: 15px 5px 10px;
  font-weight: bold;
  font-size: 1.6rem;
  color: #009bb3;
}

.studentCategory h4 {
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 5px 3px;
  padding: 0 2em 0 2.5em;
  min-height: 45px;
  background: #cef0f5;
  font-weight: bold;
  font-size: 1.6rem;
  color: #009bb3;
  transition: background 0.25s 0s linear;
}

.studentCategory h4::before {
  content: '';
  top: 50%;
  right: 0.5em;
  width: 1em;
  height: 1em;
  background: url('../../../img/page/student/icn_arrow_green.svg') center / auto 100% no-repeat;
  transform: translate(0, -50%) rotate(90deg);
  transition: background 0.25s 0s linear;
}

.studentCategory h4 .icnSpace {
  position: absolute;
  top: 50%;
  left: 0.75em;
  width: 1em;
  height: 1em;
  font-weight: bold;
  font-size: 1.6rem;
  fill: #009bb3;
  transform: translate(0, -50%);
  transition: fill 0.25s 0s linear;
}

.studentCategory h4.on {
  background: #009bb3;
  color: #fff;
}

.studentCategory h4.on::before {
  background: url('../../../img/page/student/icn_arrow.svg') center center no-repeat;
  transform: translate(0, -50%) rotate(270deg);
}

.studentCategory h4.on .icnSpace {
  fill: #fff;
}

.studentBlock .studentSubTitle {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 15px;
  min-height: 45px;
  background: #cef0f5;
  font-weight: bold;
  font-size: 1.6rem;
  color: #009bb3;
}

.studentCategory .slideArea {
  margin: -5px 0 0;
  padding: 5px;
  box-shadow: 0 0 0 1px #cfe0e6 inset;
}

.studentCategory .slideArea .checkList {
  margin: -5px 5px 15px;
  box-shadow: 0 0 0 1px #cfe0e6 inset;
  border-radius: 0 0 15px 15px;
}

/* send button */
.studentBlock .sendButton input {
  display: none;
}

.studentBlock .sendButton label,
.studentBlock .sendButton button,
.studentBlock .sendButton a {
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  min-height: 50px;
  padding-right: 0.5em;
  width: 260px;
  background: linear-gradient(to top right, #428cff, #3c65ff 100%);
  border-radius: 50px;
  box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.25);
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  vertical-align: top;
  transition: all 0.25s 0s linear;
}

.studentBlock .sendButton label::before,
.studentBlock .sendButton button::before,
.studentBlock .sendButton a::before {
  content: '';
  top: 50%;
  right: 0.5em;
  width: 1em;
  height: 1em;
  background: url('../../../img/page/student/icn_arrow.svg') center / auto 100% no-repeat;
  transform: translate(0, -50%);
}

.studentBlock .sendButtonRed label,
.studentBlock .sendButtonRed button,
.studentBlock .sendButtonRed a {
  background: linear-gradient(to top right, #ff3d4d, #ff3d4d 100%);
}

.studentBlock .sendButton input:disabled+label,
.studentBlock .sendButton button:disabled {
  background: #e6e6e6;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.25);
}

/* back button */
.studentBlock .backButton input {
  display: none;
}

.studentBlock .backButton label,
.studentBlock .backButton a {
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding-left: 0.5em;
  min-height: 35px;
  width: 210px;
  background: #aca79b;
  border-radius: 35px;
  box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.25);
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  vertical-align: top;
  transition: all 0.25s 0s linear;
}

.studentBlock .backButton label::before,
.studentBlock .backButton a::before {
  content: '';
  top: 50%;
  left: 0.5em;
  width: 1em;
  height: 1em;
  background: url('../../../img/page/student/icn_arrow.svg') center / auto 100% no-repeat;
  transform: translate(0, -50%) rotate(180deg);
}

.studentBlock .sendButton+.backButton {
  margin-top: 25px;
}

.studentImage {
  margin: 50px auto;
  text-align: center;
}

/* hint */
.studentBlock .hintBlock {
  position: relative;
  padding-right: 30px;
  font-size: 1.5rem;
}

.studentBlock .hintIcon {
  cursor: pointer;
  content: '?';
  position: absolute;
  top: 50%;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.33em;
  height: 1.33em;
  background: #cfe0e6;
  border-radius: 50%;
  transform: translate(0, -50%);
  color: #fff;
  font-weight: bold;
}

.studentBlock .hintText {
  pointer-events: none;
  display: none;
  position: absolute;
  bottom: 100%;
  bottom: calc(100% + 7px);
  right: -18px;
  padding: 5px 10px;
  background: rgba(21, 87, 209, 0.75);
  border-radius: 10px;
  color: #fff;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.4;
}

.studentBlock .hintText::before {
  content: '';
  top: 100%;
  right: 20px;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-color: rgba(21, 87, 209, 0.75) transparent transparent transparent;
  border-width: 12px 7px 0 7px;
}

.fadeInOut {
  bottom: inherit;
  right: inherit;
  left: 30px;
}

/* error text */
.studentBlock .errorText {
  position: relative;
  color: #f53442;
  font-size: 1.4rem;
}

.studentBlock .hasError input[type="text"],
.studentBlock .hasError input[type="password"],
.studentBlock .hasError .selectBox select {
  background: rgba(245, 52, 66, 0.05);
  border: solid 1px #f53442;
}

.studentBlock .hasError input[type="text"]:focus,
.studentBlock .hasError input[type="password"]:focus,
.studentBlock .hasError .selectBox select:focus {
  box-shadow: 2px 2px 0 0 rgba(245, 52, 66, 0.2), 1px 1px 0 0 #fff inset, 2px 2px 0 0 rgba(245, 52, 66, 0.2) inset;
}

.studentBlock .hasError .penIcon::before {
  background: url('../../../img/page/student/icn_pen_red.svg') left top no-repeat;
}

.studentBlock .hasError .selectBox::before {
  color: #f53442;
}

.studentBlock.complete {
  padding: 30px 0 0;
}


/* complete page */
.recommendSchool {
  overflow: hidden;
  position: relative;
  padding-bottom: 50px;
  background: url('../../../img/page/student/bg_warp.jpg') center bottom / cover no-repeat;
}

.recommendSchool::before {
  content: '';
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 150vw;
  height: 150vw;
  background: url('../../../img/page/student/bg_hikari.gif') center / 100% no-repeat;
  opacity: 0.3;
  transform: translate(-50%, -50%);
  animation: rolling 60s linear 0s infinite normal none running;
}

.recommendSchool::after {
  content: '';
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0) 100%);
}

.recommendSchool .thankYou {
  position: relative;
  z-index: 3;
}

.recommendSchool .thankYou h2 {
  padding: 15px 0;
  font-size: 5vw;
  font-weight: bold;
  text-align: center;
  background: #fff;
}

.recommendSchool .thankYou p {
  margin: 0 auto;
  padding: 0 0 15px;
  font-size: 3.5vw;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0) 100%);
}

.recommendSchool .schoolList {
  position: relative;
  z-index: 3;
}

.recommendSchool .schoolList::before {
  content: '';
  top: 70px;
  left: -10px;
  width: 80px;
  height: 80px;
  background: url('../../../img/page/student/img_usa_hata.png') center / auto 100% no-repeat;
  transform: translate(0, 0) rotate(30deg);
  animation: fuwafuwaLeft 3s ease 0.5s infinite normal none running;
}

.recommendSchool .schoolList::after {
  content: '';
  top: 55px;
  right: -35px;
  width: 100px;
  height: 100px;
  background: url('../../../img/page/student/img_piyo_hachimaki.png') center / 100% auto no-repeat;
  transform: translate(0, 0) rotate(-30deg);
  animation: fuwafuwaRight 3s ease 0s infinite normal none running;
}

.recommendSchool .schoolList h3 {
  position: relative;
  z-index: 99;
  margin: 0 auto 10px;
  text-align: center;
  width: 90%;
  max-width: 293px;
}

.recommendSchool .schoolList ul {
  position: relative;
  z-index: 99;
  margin: 0 auto;
  width: 90%;
  max-width: 306px;
}

.recommendSchool .schoolList li {
  margin-bottom: 10px;
}

.recommendSchool .schoolList a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 3px 1.5em 3px 2em;
  min-height: 50px;
  background: linear-gradient(to top right, #428cff, #3c65ff 100%);
  border-radius: 50px;
  box-shadow: 0 5px 10px 0 rgba(255, 187, 0, 0.5);
  border: solid 4px #fff;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: bold;
}

.recommendSchool .schoolList li:nth-of-type(2n) a {
  background: linear-gradient(to top right, #428cff, #3c65ff 100%);
}

.recommendSchool .schoolList a::before {
  content: '';
  top: 50%;
  left: 0.75em;
  width: 1em;
  height: 1em;
  background: url('../../../img/page/student/icn_pen_white.svg') center / 80% auto no-repeat;
  transform: translate(0, -50%);
}

.recommendSchool .schoolList li:nth-of-type(2n) a::before {
  background: url('../../../img/page/student/icn_note_white.svg') center / 100% auto no-repeat;
}

.recommendSchool .schoolList li:nth-of-type(3n) a::before {
  background: url('../../../img/page/student/icn_clip_white.svg') center / 80% auto no-repeat;
}

.recommendSchool .schoolList a::after {
  content: '';
  top: 50%;
  right: 0.5em;
  width: 1em;
  height: 1em;
  background: url('../../../img/page/student/icn_arrow.svg') center / auto 100% no-repeat;
  transform: translate(0, -50%);
}


.recommendTitle {
  position: relative;
  padding: 30px 10px 25px;
}

.recommendTitle p {
  position: absolute;
  top: 0;
  left: -20px;
  z-index: 3;
  display: inline-block;
  padding: 5px 15px 5px 30px;
  background: #09b3cc;
  transform: rotate(-4deg);
  transform-origin: right top;
}

.recommendTitle p img {
  height: 20px;
}

.recommendPage {
  overflow: hidden;
}

.recommendPage .recommendTitle h3 {
  position: relative;
  z-index: 3;
  text-align: right;
}

.recommendPage .recommendTitle h3 img {
  width: 89.75%;
}

.recommendPanph .recommendTitle p {
  top: 0;
}

.recommendPanph .recommendTitle h3 img {
  width: 85.87%;
}


/* bus running --------------*/
.recommendList {
  padding: 0 0 50px;
  background: url('../../../img/page/student/bg_building.jpg') center 80px / auto 84px repeat-x;
}

.recommendList .recommendTitle::before {
  content: '';
  top: 3px;
  left: 120%;
  z-index: 1;
  width: 50px;
  height: 50px;
  /* background: url('../../../img/page/student/img_usa_fly.png') 120% top / 100% auto no-repeat; */
}

.recommendList .recommendTitle.usaFly::before {
  animation: hovering 3s ease 0.6s 1 normal forwards running, flyingRightSp 0.6s ease 0s 1 normal none running, flyingLeftSp 0.4s ease 3.6s 1 normal forwards running;
}

.recommendList ul {
  margin: 0 auto;
  padding: 0 10px;
  background: url('../../../img/page/student/bg_kusachi.png') center center repeat;
}

.recommendList li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding: 5px 0 0 0;
  min-height: 80px;
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 0 30px 20px rgba(255, 255, 255, 0.25);
  border-radius: 50px;
}

.recommendList li:nth-child(even) {
  justify-content: flex-end;
}

.recommendList li::after {
  content: '';
  z-index: 99;
  top: 60px;
  left: -10px;
  width: 40px;
  height: 51px;
  background: url('../../../img/page/student/img_bus_jikoku.png') center / 100% auto no-repeat;
}

.recommendList li:nth-child(even)::after {
  left: inherit;
  right: 5px;
}

.recommendList .recommendListTitle {
  position: relative;
  background: url('../../../img/page/student/bg_shinme.png') 90px 35px / 13px auto no-repeat, url('../../../img/page/student/bg_shinme.png') 95% 90% / 13px auto no-repeat, url('../../../img/page/student/bg_shinme.png') 100% 35px / 13px auto no-repeat, url('../../../img/page/student/bg_kusa.png') center bottom / 100% 80% no-repeat;
}

.recommendList .recommendListTitle a {
  position: relative;
  display: block;
  padding: 15px 20px 10px 100px;
  width: 100%;
  min-height: 80px;
}

.recommendList li:nth-child(even) .recommendListTitle {
  background: url('../../../img/page/student/bg_shinme.png') 5px 40px / 13px auto no-repeat, url('../../../img/page/student/bg_shinme.png') 60% 20px / 13px auto no-repeat, url('../../../img/page/student/bg_shinme.png') 70% 35px / 13px auto no-repeat, url('../../../img/page/student/bg_kusa.png') center bottom / 100% 80% no-repeat;
}

.recommendList li:nth-child(even) .recommendListTitle a {
  padding: 15px 100px 10px 20px;
}

.recommendList li.shinrotv .recommendListTitle {
  background: url('../../../img/page/student/bg_tv.png') left 60% / 38px auto no-repeat, url('../../../img/page/student/bg_shinme.png') 5px 40px / 13px auto no-repeat, url('../../../img/page/student/bg_shinme.png') 67% 50% / 13px auto no-repeat, url('../../../img/page/student/bg_shinme.png') 72% 90% / 13px autono-repeat, url('../../../img/page/student/bg_kusa.png') center bottom / 100% 80% no-repeat;
}

.recommendList li.shinrotv .recommendListTitle a {
  padding: 15px 100px 10px 40px;
}

.recommendList li.opencampus .recommendListTitle {
  background: url('../../../img/page/student/bg_opencampus.png') right center / 35px auto no-repeat, url('../../../img/page/student/bg_shinme.png') 90px 35px / 13px auto no-repeat, url('../../../img/page/student/bg_shinme.png') 90% 100% / 13px auto no-repeat, url('../../../img/page/student/bg_kusa.png') center bottom / 100% 80% no-repeat;
}

.recommendList li.opencampus .recommendListTitle a {
  padding: 15px 35px 10px 100px;
}

.recommendList li a::before {
  content: '';
  z-index: 99;
  top: -5px;
  left: 0;
  width: 80px;
  height: 80px;
  border: solid 4px #fff;
  border-radius: 50%;
  transition: all 0.3s 0s ease;
}

.recommendList li:nth-child(even) a::before {
  left: inherit;
  right: 0;
}

.recommendList li a:hover::before {
  transform: scale(1.2, 1.2);
}

.recommendList .shindan a::before,
.recommendList .search a::before,
.recommendList .opencampus a::before,
.recommendList .newcolumn a::before,
.recommendList .newadvise a::before,
.recommendList .shinrotv a::before {
  background: url('../../../img/page/student/thmb_shindan.jpg') center / 100% auto no-repeat;
  box-shadow: 0 0 0 4px #fff, 0 3px 10px 1px rgba(0, 0, 0, 0.25);
  border: solid 3px #ffe878;
}

.recommendList .search a::before {
  background-image: url('../../../img/page/student/thmb_search.jpg');
  border-color: #ffa77f;
}

.recommendList .opencampus a::before {
  background-image: url('../../../img/page/student/thmb_opencampus.jpg');
  border-color: #7bd4bd;
}

.recommendList .newcolumn a::before {
  background-image: url('../../../img/page/student/thmb_newcolumn.jpg');
  border-color: #ffe922;
}

.recommendList .newadvise a::before {
  background-image: url('../../../img/page/student/thmb_newadvise.jpg');
  border-color: #68d06a;
}

.recommendList .shinrotv a::before {
  background-image: url('../../../img/page/student/thmb_shinrotv.jpg');
  border-color: #66bae0;
}

.recommendList .recommendListTitle h3 {
  position: relative;
  z-index: 99;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.2;
  text-decoration: underline;
}

.recommendList .recommendListTitle p {
  position: relative;
  z-index: 99;
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: bold;
}

.recommendList .recommendListTitle p span {
  color: #ff3d4d;
}

.recommendList li .load {
  position: relative;
  margin: 0 auto;
  width: 80%;
  width: calc(100% - 40px);
  height: 60px;
  transform: translate(0, -20px);
}

.recommendList li .load::before,
.recommendList li .load::after {
  content: '';
  z-index: 1;
  bottom: 0;
  left: 0;
  width: 50%;
  height: 100%;
  border: solid 15px #fdf4c7;
  border-right: none;
  border-top: none;
  border-radius: 0 0 0 60px;
}

.recommendList li .load::after {
  bottom: auto;
  left: auto;
  top: calc(100% - 15px);
  right: 0;
  border: solid 15px #fdf4c7;
  border-left: none;
  border-bottom: none;
  border-radius: 0 60px 0 0;
}

.recommendList li:nth-child(even) .load::before {
  top: auto;
  bottom: 0;
  left: auto;
  right: 0;
  border-left: 0;
  border-right: solid 15px #fdf4c7;
  border-bottom: solid 15px #fdf4c7;
  border-radius: 0 0 60px 0;
}

.recommendList li:nth-child(even) .load::after {
  bottom: auto;
  top: calc(100% - 15px);
  right: auto;
  left: 0;
  border-right: 0;
  border-left: solid 15px #fdf4c7;
  border-top: solid 15px #fdf4c7;
  border-radius: 60px 0 0 0;
}

.recommendList li:last-child .load {
  background: none;
}

.recommendList li:last-child .load::before,
.recommendList li:last-child .load::after {
  display: none;
}

.recommendList .load span {
  pointer-events: none;
  content: '';
  position: absolute;
  z-index: 3;
  left: 0;
  bottom: 10px;
  width: 82px;
  opacity: 0;
}

.recommendList .load .boon {
  position: absolute;
  right: 100%;
  bottom: 10px;
  width: 63px;
  height: 36px;
  transform: scale(0.5, 0.5);
  opacity: 0;
}

.recommendList .load .bus {
  width: 80px;
  transform: scale(0.5, 0.5) rotate(10deg);
  opacity: 0;
}

.recommendList .load.hashiru span {
  animation: moving 8s ease 0s 1 normal none running;
}

.recommendList .load.hashiru .boon {
  animation: boonboon 8s ease 0s 1 normal none running;
}

.recommendList .load.hashiru .bus {
  animation: gatagoto 8s ease 0s 1 normal none running;
}

.recommendList li:nth-child(even) .load span {
  pointer-events: none;
  content: '';
  position: absolute;
  z-index: 3;
  left: inherit;
  right: 0;
  bottom: 10px;
  width: 82px;
  opacity: 0;
}

.recommendList li:nth-child(even) .load .boon {
  position: absolute;
  right: inherit;
  left: 100%;
  bottom: 10px;
  width: 63px;
  height: 36px;
  transform: scale(0.5, 0.5);
  opacity: 0;
}

.recommendList li:nth-child(even) .load .bus {
  width: 82px;
  transform: scale(-0.5, 0.5) rotate(10deg);
  opacity: 0;
}

.recommendList li:nth-child(even) .load.hashiru span {
  animation: movingEven 8s ease 0s 1 normal none running;
}

.recommendList li:nth-child(even) .load.hashiru .boon {
  animation: boonboon 8s ease 0s 1 normal none running;
}

.recommendList li:nth-child(even) .load.hashiru .bus {
  animation: gatagotoEven 8s ease 0s 1 normal none running;
}

.recommendList li:last-child .load .bus {
  width: 82px;
  transform: scale(0.5, 0.5) rotate(0deg);
  opacity: 0;
}

.recommendList li:nth-child(even):last-child .load .bus {
  width: 82px;
  transform: scale(-0.5, 0.5) rotate(0deg);
  opacity: 0;
}

.recommendList li:last-child .load.hashiru span {
  animation: movingLast 3s ease 5s 1 normal forwards running;
}

.recommendList li:last-child .load.hashiru .bus {
  animation: gatagotoLast 3s ease 5s 1 normal forwards running;
}


.recommendList li:nth-child(even):last-child .load.hashiru span {
  animation: movingLastEven 3s ease 5s 1 normal forwards running;
}

.recommendList li:nth-child(even):last-child .load.hashiru .bus {
  animation: gatagotoLastEven 3s ease 5s 1 normal forwards running;
}

.recommendPanph {
  position: relative;
  margin: 0 10px 10px;
  padding: 0 5px 0 40px;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2);
  border: solid 3px #e6eff2;
  border-radius: 15px;
}

.recommendPanph::before {
  content: '';
  z-index: 1;
  top: 0;
  left: -10px;
  width: 39px;
  height: 100%;
  background: url('../../../img/page/student/bg_note.png') left top / 100% auto space;
}

.recommendPanph::after {
  content: '';
  z-index: 1;
  top: 0;
  left: 34px;
  width: 2px;
  height: 100%;
  background: #e6eff2;
}

.recommendPanphInner {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  padding: 0 0 45px;
  background: url('../../../img/page/student/bg_panph.png') center bottom / 100% auto no-repeat;
}

.recommendPanphInner .studentParts {
  margin: 0 auto;
}

.recommendPanphInner .studentParts .checkList {
  margin: 0 auto;
  width: 270px;
}

.thankYouLast {
  margin: 0 auto;
  padding: 30px 5px;
  background: url('../../../img/page/student/bg_hoyahoya.jpg') center / 100% no-repeat;
  border-radius: 10px;
  text-align: center;
}

.thankYouLast h3 {
  display: inline-block;
  margin: 0 auto 10px;
  padding: 0 50px;
  /* background: url('../../../img/page/student/img_usa_jougi.png') 15px bottom / 25px auto no-repeat, url('../../../img/page/student/img_usa_wai.png') right bottom / 50px auto no-repeat; */
  font-size: 5vw;
  line-height: 1.4;
  font-weight: bold;
  color: #666;
}

.thankYouLast p {
  margin-bottom: 10px;
  font-size: 3.5vw;
  line-height: 1.6;
  font-weight: bold;
  color: #666;
}

.thankYouLast p a {
  font-weight: normal;
  text-decoration: underline !important;
}


/* Sign In Page --------------*/
.signIn ul.pageLink{
  display: flex;
  max-width: 918px;
  justify-content: space-around;
  margin-bottom: 10px;
  column-gap: 1rem;
  margin-top: 30px;
} 

.signIn ul.pageLink li a{
  text-align: center;
  padding: 18px 10px;
  font-size: 16px;
  border-radius: 1.5rem;
  color: #fff;
  border: solid 2px #fff;
  line-height: 24px;
  display: block;
  width: 170px;
  height: 115px;
}

.signIn ul.pageLink li.blue a{
  background-color: #09b3cc;
  position: relative;
  filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.05)) drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2));
}

.signIn ul.pageLink li.blue a span{
  font-size: 20px;
  font-weight: bold;
}

.signIn ul.pageLink li.pink a{
  background-color: #f58a8a;
  position: relative;
  filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.05)) drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2));
  padding-top: 30px;
}

.signIn ul.pageLink li.pink a span{
  font-size: 20px;
  font-weight: bold;
}

.triangle {
  background: #ffffff;
  height: calc(tan(30deg) * 60px / 2);
  width: 30px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.triangleDiv{
  display: flex;
  justify-content: space-around;
}

.signinH2{
  font-size: 20px;
  text-align: center;
  position: relative;
  font-weight: 700;
  margin: 20px 0;
  line-height: 23px;
  margin-bottom: 30px;
}

.signinH2::before{
  content: "進路希望調査の前に";
  background-color: #09B3CC;
  top: -60px;
  left: 0;
  margin: 0 auto;
  right: 0;
  width: 185px;
  font-size: 15px;
  padding: 5px 0;
  color: #fff;
}

.signinH2.rogin::before{
  content: "準備はOK？";
  background-color: #f58a8a;
  top: -90px;
}

.signinH3.oc{
  padding-left: 45px;
  position: relative;
}

.signinH3.oc::after{
  content: '';
  top: -91%;
  left: 0.2em;
  width: 2em;
  height: 2em;
  background: url('../../../img/page/student/icn_oc.svg')  center / auto 100% no-repeat ;
  transform: translate(0, 50%);
  background-size: contain;
}
.signinH3.newshigoto{
  padding-left: 45px;
  position: relative;
}
.signinH3.newshigoto::after{
  content: '';
  top: -91%;
  left: 0.2em;
  width: 2em;
  height: 2em;
  background: url('../../../img/page/student/icn_newshigoto.svg')  center / auto 100% no-repeat ;
  transform: translate(0, 50%);
  background-size: contain;
}

.signinH3.shindan{
  padding-left: 45px;
  position: relative;
}
.signinH3.shindan::after{
  content: '';
  top: -91%;
  left: 0.2em;
  width: 2em;
  height: 2em;
  background: url('../../../img/page/student/icn_shindan.svg')  center / auto 100% no-repeat ;
  transform: translate(0, 50%);
  background-size: contain;
}

.signinH3{
  position: relative;
  padding: 0.5rem 2rem;
  border-bottom: 4px solid #428CFF;
  font-size: 18px;
  font-weight: bold;
}

.signinH3::before{
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 20%;
  height: 4px;
  content: '';
  background: #09B3CC;
}

.studentBlock.zyunnbi p{
  font-size: 16px;
  margin: 20px;
  line-height: 1.5;
  text-align: center;
}

.signinbnr{
  margin: 10px auto;
  max-width: 400px;
  height: auto;
}

.signinSection{
  margin:80px 0 ;
}

.signinSection.end{
 margin-bottom: 20px; 
}

.hukidasiimg{
  margin: 10px;
  max-width: 350px;
  height: auto;
}
.hukidasiimg img{
  width: 350px;
  height: auto;
}

.signinBtn{
  width: 160px;
  margin: 0 auto;
  margin-top: 15px;
}
.signinBtn a{
  position: relative;
  padding: 10px;
  background-color: #EE4993;
  color: #fff;
  display: block;
  width: 180px;
  font-size: 18px;
  text-align: center;
  border-radius: 50px;
  font-weight: bold;
  filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.05)) drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2));
}
.signinBtn a::after{
  content: '';
  top: 50%;
  right: 0.5em;
  width: 1em;
  height: 1em;
  background: url('../../../img/page/student/icn_arrow.svg') center / auto 100% no-repeat;
  transform: translate(0, -50%);
}

.signinDiv{
  margin-top: 90px;
}

.signinDiv p{
  text-align: center;
}

.signinDiv p.pink{
  text-align: center;
  color: #f58a8a;
  margin:  auto;
  top: 12px;
  position: relative;
}

.signinbnr img{
  filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.05)) drop-shadow(0 2px 5px rgba(0, 0, 0, 0.2));
  height: auto;
  width: 400px;
}

.signinsky img{
  position: relative;
  top: 0px;
}

.navirogo{
  width: 100px;
  margin-left: 50px;
}

/* footer --------------*/
.studentCopyLight {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
  font-size: 1rem;
  color: #666;
}


/* for sp --------------------- */
@media screen and (max-width: 768px) {
  .forPc {
    display: none !important;
  }
}


/* for pc --------------------- */
@media screen and (min-width: 768px) {
  .forSp {
    display: none !important;
  }

  .studentResarch {
    background-size: 20px 1px;
  }

  .studentResarch::before {
    height: 684px;
    background-size: 20px auto;
  }

  .studentHeader {
    border-top: 6px solid #f58a8a;
  }

  .studentHeader p {
    width: 100%;
    max-width: 950px;
    padding-left: 20px;
  }

  .studentHeader span {
    margin-top: -6px;
    padding: 10px 10px 10px 2em;
    font-size: 1.8rem;
  }

  .studentHeader::before {
    content: '';
    top: 70px;
    right: 50%;
    transform: translate(370px, 0);
  }

  /* form title --------------*/
  .studentTitle {
    margin-bottom: 30px;
    min-height: 140px;
  }

  .studentTitle p {
    margin-bottom: 15px;
    font-size: 2.4rem;
  }

  .studentTitle h1 {
    font-size: 3rem;
  }

  .sucPage .studentTitle p,
  .signIn .studentTitle p {
    margin-bottom: 5px;
    font-size: 1.4rem;
  }

  .sucPage .studentTitle h1,
  .signIn .studentTitle h1 {
    font-size: 1.5rem;
  }

  .studentBlockWrap {
    padding: 0;
  }

  .studentBlock {
    margin: 0 auto;
    padding: 50px 0;
    max-width: 910px;
    box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.1);
  }

  /* flow list --------------*/
  .studentBlock .flow {
    font-size: 1.6rem;
  }

  .studentBlock .flow li {
    font-size: 1.6rem;
    min-width: 130px;
  }

  .studentBlock .flow li.nowPlace {
    min-width: 150px;
  }

  .studentBlock .flow li::before {
    transform: translate(0, -50%) rotate(-90deg) scale(0.9, 0.9);
  }

  .studentBlock .flow li.nowPlace::before {
    top: -35px;
    width: 67px;
    height: 50px;
  }

  /* Greeting --------------*/
  .studentGreeting {
    padding: 0 5px 25px;
    font-size: 1.6rem;
    line-height: 2;
    font-weight: bold;
  }

  /* step title --------------*/
  .studentBlock .stepTitle {
    font-weight: bold;
    font-size: 2.4rem;
  }

  /* Cards --------------*/
  .studentCards {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 30px 30px 0;
    max-width: 810px;
    box-shadow: 0 1px 15px 0 rgba(0, 0, 0, 0.2);
    margin: auto;
  }

  .studentCards.signIn{
    max-width: 610px;
  }

  .studentCards+.studentParts {
    margin-top: 40px;
  }

  .studentParts+.studentParts {
    margin-top: 0;
  }

  .studentCards .studentParts {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: 30px;
    max-width: 50%;
  }

  .studentCards .studentParts.last {
    max-width: 100%;
    width: 100%;
    justify-content: center;
  }

  .studentCards .studentParts.lastLeft {
    max-width: 100%;
    width: 100%;
  }

  .studentCards.schoolBox .studentParts:last-child {
    margin-right: 310px;
  }

  .studentBlock .partsTitle {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    flex-wrap: wrap;
    min-width: 50px;
  }

  .studentBlock .schoolBox .partsTitle {
    width: 110px;
  }

  .studentBlock .selectBox {
    width: 180px;
  }

  .studentBlock .selectBox select {
    min-height: 40px;
  }

  .studentBlock .inputText input[type="text"],
  .studentBlock .inputText input[type="password"] {
    min-height: 40px;
    width: 250px;
  }

  .partsTitleAll {
    margin: 0 auto 10px;
    width: 100%;
    width: calc(100% - 160px);
  }

  .partsTitleAll label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-weight: bold;
    font-size: 1.8rem;
  }

  .studentBlock .checkList.flex {
    margin-left: 10px;
  }

  .studentBlock .checkList.flex li {
    margin-bottom: 0;
  }

  .studentBlock .errorText {
    margin-left: 50px;
    max-width: 270px;
  }

  .sucPage .studentCards {
    display: block;
    padding: 20px 15px;
    max-width: 700px;
  }

  .sucPage .studentCards .studentParts {
    display: block;
    max-width: 100%;
  }

  .sucPage .studentBlock .partsTitle {
    display: block;
    max-width: 100%;
  }

  .sucPage .studentBlock .inputText input[type="text"],
  .sucPage .studentBlock .inputText input[type="password"] {
    width: 100%;
  }

  .signIn .studentBlock {
    max-width: 400px;
  }

  .signIn .studentCards {
    display: block;
    padding: 20px 15px;
  }

  .signIn .studentCards .studentParts {
    display: block;
    max-width: 100%;
  }

  .signIn .studentBlock .partsTitle {
    display: block;
    max-width: 100%;
  }

  .signIn .studentBlock .inputText input[type="text"],
  .signIn .studentBlock .inputText input[type="password"] {
    width: 100%;
  }

  .signIn .errorText {
    margin-left: 0;
    max-width: 100%;
  }

  .confirmCards {
    margin: 0 auto;
    max-width: 610px;
  }

  .recommendSchool::before {
    width: 110vw;
    height: 110vw;
  }

  .recommendSchool .thankYou h2 {
    padding: 30px 0 20px;
    font-size: 3rem;
  }

  .recommendSchool .thankYou p {
    padding: 0 0 30px;
    font-size: 1.8rem;
  }

  .recommendSchool .schoolList::before {
    top: 90px;
    left: 100px;
    width: 106px;
    height: 106px;
  }

  .recommendSchool .schoolList::after {
    top: 70px;
    right: 90px;
    width: 144px;
    height: 144px;
  }

  .recommendSchool .schoolList h3 {
    width: 80%;
    max-width: 700px;
  }

  .studentBlock .selectTitle {
    margin: 0 auto;
    max-width: 610px;
  }

  .studentBlock .reselectButton {
    margin: 0 auto;
    max-width: 610px;
  }

  .studentBlock .floatingBox .stepTitle {
    left: 50%;
    transform: translate(-380px, 0);
  }

  .studentBlock .floatingBox .selectTitle {
    padding: 10px;
  }

  .studentCategory h4 {
    margin: 0 10px 3px;
  }

  .studentCategory .slideArea {
    padding: 10px;
  }

  .studentCategory .slideArea .checkList {
    margin: -5px 10px 15px;
  }

  .recommendTitle {
    margin: 0 auto;
    max-width: 700px;
  }

  .recommendTitle p {
    left: 30px;
    padding: 5px 30px;
  }

  .recommendPage .recommendTitle p {
    left: 60px;
    top: 23px;
  }

  .recommendPage .recommendTitle h3 {
    padding-right: 30px;
  }

  .recommendPage .recommendTitle h3 img {
    width: 65%;
  }

  .recommendList {
    padding: 0 0 100px;
  }

  .recommendList ul {
    margin: 0 auto;
    padding: 0 50px;
    max-width: 700px;
    box-shadow: 0 0 100px 10px #edfbf0;
    border-radius: 30px;
  }

  .recommendList .recommendListTitle {
    width: 100%;
  }

  .recommendList .recommendListTitle::before {
    left: -20px;
    width: 100px;
    height: 100px;
  }

  .recommendList li:nth-child(even) .recommendListTitle::before {
    right: -20px;
  }

  .recommendList li::after {
    top: 80px;
    left: -20px;
  }

  .recommendList li:nth-child(even)::after {
    left: inherit;
    right: 0;
  }

  .recommendList .recommendListTitle a {
    padding: 15px 60px 10px 140px;
  }

  .recommendList li:nth-child(even) .recommendListTitle a {
    padding: 15px 140px 10px 60px;
  }

  .recommendList li.shinrotv .recommendListTitle a {
    padding: 15px 140px 10px 60px;
  }

  .recommendList li.opencampus .recommendListTitle a {
    padding: 15px 60px 10px 140px;
  }

  .recommendList li .load {
    height: 80px;
  }

  .recommendList li .load::before {
    border-left: solid 20px #fdf4c7;
    border-bottom: solid 20px #fdf4c7;
  }

  .recommendList li .load::after {
    top: calc(100% - 20px);
    border-right: solid 20px #fdf4c7;
    border-top: solid 20px #fdf4c7;
  }

  .recommendList li:nth-child(even) .load::before {
    border-right: solid 20px #fdf4c7;
    border-bottom: solid 20px #fdf4c7;
  }

  .recommendList li:nth-child(even) .load::after {
    top: calc(100% - 20px);
    border-left: solid 20px #fdf4c7;
    border-top: solid 20px #fdf4c7;
  }

  .recommendPanph {
    margin: 0 auto;
    max-width: 600px;
  }

  .recommendPanph .recommendTitle {
    margin: 0 auto;
    width: 100%;
  }

  .recommendPanph .recommendTitle p {
    top: -10px;
  }

  .recommendPanph .recommendTitle h3 {
    text-align: center;
  }

  .recommendPanphInner {
    padding: 0 0 80px;
    background-repeat: repeat-x;
    background-size: auto 45px;
  }

  .thankYouLast {
    margin: 0 auto;
    padding: 50px 10px;
    max-width: 700px;
  }

  .thankYouLast h3 {
    padding: 0 130px;
    min-height: 80px;
    font-size: 3rem;
    /* background: url(../../../img/page/student/img_usa_jougi.png) 10% center / 40px auto no-repeat, url(../../../img/page/student/img_usa_wai.png) 95% center / 80px auto no-repeat; */
  }

  .thankYouLast p {
    font-size: 1.8rem;
    font-weight: normal;
  }

  .recommendPage {
    padding-bottom: 30px;
  }

  .recommendList .recommendTitle::before {
    left: 150%;
  }

  .recommendList .recommendTitle.usaFly::before {
    animation: hovering 3s ease 0.6s 1 normal forwards running, flyingRightPc 0.6s ease 0s 1 normal none running, flyingLeftPc 0.4s ease 3.6s 1 normal forwards running;
  }

  /* pmarkAgreement / add : 20221107 */
  .pmarkContents {
    max-height: 300px;
  }

  .partsText{
    font-size: 1.4rem;
  }

  .studentBlock{
    max-width: 910px!important;
    margin: 20px auto;
  }

  .signIn ul.pageLink{
    margin: 20px auto;
    max-width: 700px;
  }
  
  .triangleDiv{
    justify-content: space-around;
    width: 719px;
    margin: 0 auto;
  }

  .signIn ul.pageLink li a{
    width: 275px;
    height: 97px;
  }

  .signIn ul.pageLink li.pink a
  {
    padding-top: 20px;
  }

  .signinH2{
    font-size: 24px;
  }

  .signinH3{
      max-width: 810px;
      margin: 0 auto;
  }

  .navirogo{
    height: 25px;
    margin: auto;
    width: 130px;
  }

  .studentBlock.zyunnbi p{
    margin: 20px auto;
  }

  .signinbnr img{
    width: 400px;
  }

  .signinbnr{
    margin: 10px auto;
    width: fit-content;
  }

  .hukidasiimg{
    width: 350px;
    margin: 10px auto;
  }

  .signIn ul.pageLink li.pink a span{
    font-size: 23px;
  }
  .signIn ul.pageLink li.blue a span{
    font-size: 23px;
  }
}


@keyframes moving {
  0% {
    bottom: 10px;
    left: 0;
  }

  10% {
    opacity: 1;
  }

  20% {
    bottom: 8px;
    left: 15px;
  }

  50% {
    bottom: 8px;
    left: calc(100% - 100px);
  }

  80% {
    bottom: -10px;
    left: calc(100% - 60px);
    opacity: 1;
  }

  100% {
    bottom: -70px;
    left: calc(100% - 40px);
    opacity: 0;
  }
}

@keyframes boonboon {
  0% {
    transform: scale(0.5, 0.5);
    opacity: 0;
  }

  27% {
    transform: scale(0.5, 0.5);
    opacity: 0;
  }

  30% {
    transform: scale(1, 1);
    opacity: 1;
  }

  35% {
    transform: scale(0.5, 0.5);
    opacity: 0;
  }

  40% {
    transform: scale(1, 1);
    opacity: 1;
  }

  45% {
    transform: scale(1, 1);
    opacity: 0;
  }

  100% {
    transform: scale(0.5, 0.5);
    opacity: 0;
  }
}

@keyframes gatagoto {
  0% {
    transform: scale(0.5, 0.5) rotate(10deg);
    opacity: 0;
  }

  20% {
    transform: scale(1, 1) rotate(0deg);
    opacity: 1;
  }

  50% {
    transform: scale(1, 1) rotate(0deg);
  }

  80% {
    transform: scale(0.7, 0.7) rotate(50deg);
  }

  90% {
    transform: scale(0.5, 0.5) rotate(65deg);
    opacity: 1;
  }

  100% {
    transform: scale(0.5, 0.5) rotate(80deg);
    opacity: 0;
  }
}

@keyframes movingEven {
  0% {
    bottom: 10px;
    left: inherit;
    right: 0;
  }

  10% {
    opacity: 1;
  }

  20% {
    bottom: 8px;
    left: inherit;
    right: 15px;
  }

  50% {
    bottom: 8px;
    left: inherit;
    right: calc(100% - 100px);
  }

  80% {
    bottom: -10px;
    left: inherit;
    right: calc(100% - 60px);
    opacity: 1;
  }

  100% {
    bottom: -70px;
    left: inherit;
    right: calc(100% - 40px);
    opacity: 0;
  }
}

@keyframes gatagotoEven {
  0% {
    transform: scale(-0.5, 0.5) rotate(10deg);
    opacity: 0;
  }

  20% {
    transform: scale(-1, 1) rotate(0deg);
    opacity: 1;
  }

  50% {
    transform: scale(-1, 1) rotate(0deg);
  }

  80% {
    transform: scale(-0.5, 0.5) rotate(50deg);
  }

  90% {
    transform: scale(-0.5, 0.5) rotate(65deg);
    opacity: 1;
  }

  100% {
    transform: scale(-0.5, 0.5) rotate(80deg);
    opacity: 0;
  }
}

@keyframes movingLast {
  0% {
    bottom: 8px;
    left: 0;
  }

  10% {
    opacity: 1;
  }

  100% {
    bottom: 8px;
    left: 80px;
    opacity: 1;
  }
}

@keyframes gatagotoLast {
  0% {
    transform: scale(0.5, 0.5) rotate(0deg);
    opacity: 0;
  }

  10% {
    transform: scale(0.8, 0.8) rotate(0deg);
    opacity: 1;
  }

  100% {
    transform: scale(0.8, 0.8) rotate(0deg);
    opacity: 1;
  }
}

@keyframes movingLastEven {
  0% {
    bottom: 8px;
    left: inherit;
    right: 0;
  }

  10% {
    opacity: 1;
  }

  100% {
    bottom: 8px;
    left: inherit;
    right: 80px;
    opacity: 1;
  }
}

@keyframes gatagotoLastEven {
  0% {
    transform: scale(-0.5, 0.5) rotate(0deg);
    opacity: 0;
  }

  10% {
    transform: scale(-0.8, 0.8) rotate(0deg);
    opacity: 1;
  }

  100% {
    transform: scale(-0.8, 0.8) rotate(0deg);
    opacity: 1;
  }
}

@keyframes hirogaru {
  0% {
    box-shadow: 0 0 0 0 rgba(9, 179, 204, 1), 0 0 0 3px #cfe0e6 inset;
  }

  100% {
    box-shadow: 0 0 2px 10px rgba(9, 179, 204, 0), 0 0 0 0 #09b3cc inset;
  }
}

@keyframes fuwafuwaRight {
  0% {
    transform: translate(0, 0) rotate(-30deg);
  }

  50% {
    transform: translate(0, 15px) rotate(-30deg);
  }

  100% {
    transform: translate(0, 0) rotate(-30deg);
  }
}

@keyframes fuwafuwaLeft {
  0% {
    transform: translate(0, 0) rotate(30deg);
  }

  50% {
    transform: translate(0, 15px) rotate(30deg);
  }

  100% {
    transform: translate(0, 0) rotate(30deg);
  }
}

@keyframes flyingRightSp {
  0% {
    left: 120%;
    transform: skewX(-20deg);
  }

  60% {
    left: 60%;
    transform: skewX(-20deg);
  }

  80% {
    left: 60%;
    transform: skewX(0deg);
  }

  100% {
    left: 60%;
    transform: skewX(0deg);
  }
}

@keyframes flyingLeftSp {
  0% {
    left: 60%;
    transform: skewX(0deg);
  }

  1% {
    left: 60%;
    transform: skewX(-20deg);
  }

  100% {
    left: -50%;
    transform: skewX(-20deg);
  }
}

@keyframes hovering {
  0% {
    left: 60%;
    transform: translate(0, 0) skewX(0deg);
  }

  8% {
    left: 60%;
    transform: translate(0, 3px) skewX(0deg);
  }

  24% {
    left: 60%;
    transform: translate(0, -3px) skewX(0deg);
  }

  40% {
    left: 60%;
    transform: translate(0, 3px) skewX(0deg);
  }

  56% {
    left: 60%;
    transform: translate(0, -3px) skewX(0deg);
  }

  72% {
    left: 60%;
    transform: translate(0, 3px) skewX(0deg);
  }

  88% {
    left: 60%;
    transform: translate(0, -3px) skewX(0deg);
  }

  100% {
    left: 60%;
    transform: translate(0, 3px) skewX(0deg);
  }
}

@keyframes flyingRightPc {
  0% {
    left: 150%;
    transform: skewX(-20deg);
  }

  60% {
    left: 60%;
    transform: skewX(-20deg);
  }

  80% {
    left: 60%;
    transform: skewX(0deg);
  }

  100% {
    left: 60%;
    transform: skewX(0deg);
  }
}

@keyframes flyingLeftPc {
  0% {
    left: 60%;
    transform: skewX(0deg);
  }

  1% {
    left: 60%;
    transform: skewX(-20deg);
  }

  100% {
    left: -150%;
    transform: skewX(-20deg);
  }
}

@keyframes rolling {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* 202407add */
.columnLinkSection{
  width:80%;
  margin:2rem auto;
}

.columnLink {
	position: relative;
	padding:3rem 1.5rem 1.5rem 1.5rem;
	border: 1px dotted #1b2538;
	background-color: #f7e0e0;
	border-radius: 8px;
}
.columnLink::before {
	position: absolute;
	top: -1rem;
	left: 1rem;
	content: attr(title);
  font-size:1.1rem;
	padding: 1rem;
	color: #ffffff;
	background-color: #f58a8a;
	border-radius: 4px;
}

.columnLink li a{
  font-size:1.2rem;
  line-height:1.4;
  margin:0 0 0 1.5rem;
  position:relative;
  text-decoration: underline;
}

.columnLink li a::before{
  content:"▶";
  position:absolute;
  left:-1.5rem;
  top:0;
}

.preventClick{
  overflow: hidden;
}

.requestMessage{
  display: none;
}

.preventClick .requestMessage{
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  display: grid;
  place-content: center;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.75);
}

.requestMessage p{
  padding: 0 3rem;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.8;
  text-align: center;
  font-weight: bold;
}

.requestMessage .box{
  position: relative;
  margin: 0 auto;
  width: 33.33vw;
  height: 33.33vw;
  max-width:200px;
  max-height:200px;
  min-width: 180px;
  min-height: 180px;
  display: inline-block;
  border: 1px solid rgba(#fff,.24);
}

.requestMessage .spinner{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  transform-origin:center;
  width:120px;
  height:120px;
}

.requestMessage .spinner.type2{
  border-radius:50%;
  border-width:4px;
  border-style:solid;
  border-color:#fff transparent;
  animation:spinner1_1 2.2s infinite linear forwards;
}

.requestMessage .spinner.type2::before{
  content:'';
  position:absolute;
  top:4px;
  left:4px;
  right:4px;
  bottom:4px;
  border-radius:50%;
  border-width:4px;
  border-style:solid;
  border-color:#fff transparent;
  animation:spinner1_2 .8s infinite linear forwards reverse;
}

.requestMessage .spinner.type2 span{
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%, -50%);
  font-size: 12px;
  line-height: 1.2;
  color: #fff;
  font-weight: bold;
  text-align: center;
  animation: spinner_loading_text 2.2s infinite linear forwards reverse;
}

@keyframes spinner1_1{
  0%{
    transform:translate(-50%, -50%) rotate(0);
  }
  100%{
    transform:translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes spinner1_2{
  0%{
    transform:rotate(0deg);
  }
  100%{
    transform:rotate(360deg);
  }
}

@keyframes spinner_loading_text{
  0%{
    opacity:1;
    transform:translate(-50%, -50%) rotate(0deg);
  }
  50%{
    opacity:0;
    transform:translate(-50%, -50%) rotate(180deg);
  }
  100%{
    opacity:1;
    transform:translate(-50%, -50%) rotate(360deg);
  }
}

.preventClick *{
  pointer-events: none !important;
}

/* ======== Maintenance Text ================*/
.mainteText{
  display: grid;
  gap: 1rem;
  margin: 1rem auto;
  padding: 1rem;
  width: calc(100% - 3rem);
  max-width: 1000px;
  background: rgba(255, 255, 255, 0.8);
  border: solid 1px #e60033;
}

.mainteText p{
  font-size: 1.3rem;
  line-height: 1.4;
  text-align: center;
}

.mainteText .mainteTtl{
  margin: 0 auto;
  width: fit-content;
  font-weight: bold;
  font-size: 1.4rem;
}

.legacyPage .mainteText .mainteTtl img,
.mainteText .mainteTtl img{
  height: 1.4em;
  width: auto;
  margin-right: 5px;
  vertical-align: middle;
}

.mainteText .termText{
  display: grid;
  gap: 0.5rem;
}

.mainteText .termText p{
  font-weight: bold;
  color: #e60033;
}

.mainteText .termText .termHosoku{
  font-weight: normal;
  color: #333;
}

.kininaru{
  text-align: center;
  font-weight:bold;
  margin:2rem auto;
}

.jobLink {
  width: 100%;
  margin: 0 auto;
  border-radius: 16px;
}

.jobLink .jobTitle{
  display:flex;
  justify-content: center;
  max-width:350px;
  margin: 0 auto;
}

.jobLink ul.txtLinks{
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 40px 80px;
  margin: 0 auto;
  padding: 25px 10px 20px;
  background: #fff;
  border: solid 3px #e5e5e5;
  border-radius: 16px;
}

.jobLink ul.txtLinks li {
  font-weight: bold;
  position:relative;
}

.jobLink ul.txtLinks li:before{
  content:"";
  display:block;
  border-top:2px solid #010c1f;
  border-right:2px solid #010c1f;
  width: 4px;
  height: 4px;
  position: absolute;
  right: -15px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
}


.jobLink ul.txtLinks li:after{
  content:"";
  display:block;
  border:2px solid #010c1f;
  border-radius:50%;
  width: 12px;
  height: 12px;
  position:absolute;
  right:-21px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.jobLink ul.txtLinks li a span{
  font-size:1.6rem;
  position:relative;
  z-index:0;
}

.jobLink ul.txtLinks li a span:after{
  content:"";
  display: block;
  width:100%;
  height: 10px;
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  background:rgba(255, 187, 0, 0.5);
  z-index:-1;
}

.jobLink ul.txtLinks li:hover,
.jobLink ul.txtLinks li a:hover{
  opacity:0.6;
  transition:0.2s;
}


@media screen and (min-width: 769px) {
  .mainteText{
    gap: 0.5rem;
    margin: 0.5rem auto;
    padding: 1rem 1.5rem;
    width: fit-content;
  }
  
  .legacyPage .mainteText .mainteTtl img,
  .mainteText .mainteTtl img{
    height: 1.2em;
  }
  
  .mainteText .termText{
    display: grid;
    gap: 0.5rem;
  }

  .jobLink ul.txtLinks{
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 40px 80px;
    margin: 0 auto;
    padding: 25px 10px 20px;
    background: #fff;
    border: solid 3px #e5e5e5;
    border-radius: 16px;
  }

  .jobLink ul.txtLinks li {
    font-weight: bold;
    position:relative;
  }

  .jobLink ul.txtLinks li:before{
    content:"";
    display:block;
    border-top:2px solid #010c1f;
    border-right:2px solid #010c1f;
    width: 4px;
    height: 4px;
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
  }


  .jobLink ul.txtLinks li:after{
    content:"";
    display:block;
    border:2px solid #010c1f;
    border-radius:50%;
    width: 12px;
    height: 12px;
    position:absolute;
    right:-21px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }

  .jobLink ul.txtLinks li a span{
    font-size:1.6rem;
    position:relative;
    z-index:0;
  }

  .jobLink ul.txtLinks li a span:after{
    content:"";
    display: block;
    width:100%;
    height: 10px;
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    background:rgba(255, 187, 0, 0.5);
    z-index:-1;
  }

  .jobLink ul.txtLinks li:hover,
  .jobLink ul.txtLinks li a:hover{
    opacity:0.6;
    transition:0.2s;
  }
}
