@charset "UTF-8";

.requirements-area dd{
    --x-gradient: linear-gradient(90deg, #333 0 10px, transparent 0 calc(100% - 10px), #333 calc(100% - 10px));
    --y-gradient: linear-gradient(#333 0 10px, transparent 0 calc(100% - 10px), #333 calc(100% - 10px));
    margin: 0.5rem;
    padding: 1rem;
    background-image:
        var(--x-gradient),
        var(--y-gradient),
        var(--x-gradient),
        var(--y-gradient);
    background-repeat: no-repeat;
    background-size: 100% 3px, 3px 100%, 100% 3px, 3px 100%;
    background-position: top, right, bottom, left;
}

.toc li a {
    text-decoration: none;
    color: black;
}

.requirements-area dt {
    width: 11em;
    margin: 4px auto 30px;
    padding: 10px;
    background: #124cb2;
    color: #fff;
    font-size: 1.2rem;
    text-align: center;
}

.newgrads .h-line{
   color: #124cb2;
   margin: 16px 8px;
}

.newgrads section.g h2 .h-line {
    color: #124cb2;
}

.newgrads section.g h2 {
    background: none;
    padding: 0;
    line-height: 1em;
    color: #124cb2;
    margin: 16px 8px;
}

.newgrads section.g h2::before {
    content: none;
    border-left: none;
    border-right: none;
}

.g-line .speclist dt {
    width: 11em;
    margin: 15px 10px;
    padding: 2px;
    background: #124cb2;
    color: #fff;
    font-size: 1.2rem;
    text-align: center;
}

.itirei {
    position: relative;
    padding-left: 20px;
    margin: 16px 8px;
}

.itirei::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 2px;
    transform: translateY(-50%);
    border: 8px solid transparent;
    border-left: 13px solid #124cb2;
}

table{
    width: 100%;
    border-collapse: collapse;
}

@media (min-width:1000px) {
    table{
        width: 80%;
        margin-left: 10%;
        border-collapse: collapse;
    }}
  
  table tr{
    border-bottom: solid 2px white;
}
  
  table tr:last-child{
    border-bottom: none;
}
  
  table th{
    position: relative;
    text-align: left;
    width: 20%;
    background-color: #00AEEF;
    color: white;
    text-align: center;
    padding: 10px 0;
}
  
  table th:after{
    display: block;
    content: "";
    width: 0px;
    height: 0px;
    position: absolute;
    top:calc(50% - 10px);
    right:-10px;
    border-left: 10px solid #00AEEF;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}
  
  table td{
    text-align: left;
    width: 30%;
    background-color: #F2F2F2;
    padding:10px 0 0 26px;
}

  table td::after{
    display: block;
    content: "";
    width: 0px;
    height: 0px;
    position: absolute;
    top: calc(50% - 10px);
    right: -10px;
    border-left: 10px solid #52c2d0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}

iframe {
    width: 100%;
}

.g-line h3 {
    margin: 16px 8px;
}
 
.day {
    font-weight: bold;
    text-align: center;
}

.day-box {
    margin: 20px 0;
}


@media (min-width:1000px) {
    .g-line .table-text {
        margin-left: 10%;
    }
}

.day-list {
	display: inline;
	font-weight: bold;
	background-image: linear-gradient(rgba(0,0,0,0) 70%, rgb(82, 194, 208) 0);
}

.midasi-day {
    text-align: center;
}

.g-text {
    position: relative;
    margin: 4em 0.5em;
    padding: 0.5em 1em;
    border: solid 1px #124cb2;
    border-radius: 8px;
}

.g-text .h-line {
    padding: 0 32px;
    background-color: white;
    margin-top: -25px;
    text-align: center;
    width: fit-content;
    margin: -25px auto 0;
}

.g-text h3 {
    width: 11em;
    margin: 15px 10px;
    padding: 2px;
    background: #124cb2;
    color: #fff;
    font-size: 1.2rem;
    text-align: center;
}

.kaisha a {
    color: black;
}

.g .tel-area img {
    width: 32px;
}

.g .mail-area img {
    width: 28px;
    height: 24px;
}

@media (min-width:500px) {
    .g .mail-area img {
        width: 28px;
        height: 22px;
        margin-top: 3px;
    }
}

@media (min-width:800px) {
    .g .tel-area img {
        width: 32px;
        margin-top: -2px;
    }
}

@media (min-width:500px) {
  .oubo-area {
    display: flex;
    justify-content: space-evenly;
    }
}

.oubo-area a {
    color: black;
}

.oubo-area .tel-area,
.oubo-area .mail-area{
    display: flex;
}

.oubo-list p {
    margin-left: 16px;
}

.oubo-list .oubo-about {
    color: #1e366a;
    border-top: solid #1e366a 1px;
    border-bottom: solid #1e366a 1px;
    padding: 0.5em 0 0.5em 1.5em;
    line-height: 0.5;
    padding: 0.5em 0;
    color: black;
}
  
.oubo-list .oubo-about p {
    line-height: 0.1;
    padding: 0.5em 0;
    color: black;
}

.oubo-list .oubo-about p::before{
    content:"■";
    font-size: 50%;
    margin-right: 10px;
}