@charset "utf-8";

.eng{
  font-family:'Noto Serif', serif;
  font-weight:700;
  text-transform:uppercase;
  transform:scale(0.8,1);
  letter-spacing:0.1em;
  display:inline-block;
}

header{
  width:100%; height:68px;
  background:#FFF;
  border-bottom:1px solid #000;
  position:relative;
}
header #logo{
  width:172px;
  position:absolute;
  top:15px; left:20px;
}
header ul.sns-list{
  position:absolute;
  top:20px; right:20px;
  display:flex;
}
header ul.sns-list li{
  width:28px;
  margin-left:28px;
}

#renewal{
  background:#fff8ba;
  font-size:30px; line-height:1; font-weight:500;
  letter-spacing:5px;
  padding:30px 0;
}

#billboard{
  background-color:#bee2e7;
  background-image:url(../../img/billboard_bg.png);
  background-position:center top;
  background-repeat:repeat-x;
  padding:30px 0 180px 0;
  position:relative;
}
#billboard::before{
  content:"";
  width:100%; height:480px;
  background:url(../../img/bg_yellow.png) no-repeat center bottom;
  position:absolute;
  bottom:0; left:0;
}
#billboard::after{
  content:"";
  width:78px; height:95px;
  background:url(../../img/illust03.svg) no-repeat center bottom;
  position:absolute;
  bottom:60px; left:50%;
  margin-left:-26px;
}
ul.main-copy{
  width:940px;
  margin:0 auto 80px auto;
  position:relative;
}
ul.main-copy li.copy01{
  width:580px;
  margin-left:60px;
}
ul.main-copy li.copy02{
  margin:-20px 0 0px 0;
}
ul.main-copy li.copy03{
  width:500px;
  margin:30px auto 0 auto;
  padding-bottom:75px; /* 2020.10.23 追加 */
}
ul.main-copy::before{
  content:"";
  width:234px; height:160px;
  background:url(../../img/illust01.svg) no-repeat center center;
  position:absolute;
  bottom:-70px; left:-20px;
}
ul.main-copy::after{
  content:"";
  width:167px; height:210px;
  background:url(../../img/illust02.svg) no-repeat center center;
  position:absolute;
  bottom:-60px; right:20px;
}

#billboard ul.photo-list li{
  position:absolute;
  width:calc(300px * 0.8); height:calc(200px * 0.8);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  border:6px solid #FFF;
  box-shadow:2px 2px 5px #999;
}
#billboard ul.photo-list li:nth-child(1){
  background-image:url(../../img/image01.jpg);
  top:-30px; left:50%; z-index:2;
  margin-left:220px;
  transform:rotate(2deg);
}
#billboard ul.photo-list li:nth-child(2){
  background-image:url(../../img/image02.jpg);
  top:0px; left:50%;
  margin-left:440px;
  transform:rotate(-2deg);
}

#billboard section{
  margin:-30px auto 100px auto;
}
#billboard section h2{
  margin-bottom:30px !important;
}
#billboard ul.news-list{
  width:806px;
  margin:0 auto;
  text-align:left;
}
#billboard ul.news-list li{
  border-top:1px solid #000;
}
#billboard ul.news-list li:last-child{
  border-bottom:1px solid #000;
}
#billboard ul.news-list li a{
  display:block;
  color:#000;
  padding:20px 40px 20px 140px;
  position:relative;
}
#billboard ul.news-list li a .entry-date{
  font-size:14px;
  position:absolute;
  top:23px; left:40px;
}

.main-description{
  box-sizing:border-box;
  width:806px;
  background:#FFF;
  border:1px solid #000;
  margin:0 auto;
  padding:0 45px;
  position:relative;
  z-index:2;
}
.main-description h2{
  position:relative;
  margin:-20px auto 15px auto;
}
.main-description h2 div{
  display:inline-block;
  font-size:26px; line-height:1.4; font-weight:700;
  background:#fff8ba;
  border:1px solid #000;
  padding:0 10px;
  margin:0 auto 8px auto;
}
.main-description p{
  text-align:left;
  line-height:2;
  margin-bottom:25px;
}

section{
  width:1000px;
  margin:0 auto;
}
section h2{
  margin:0 auto 60px auto;
}
section h2 .eng{
  font-size:38px; line-height:1;
}
section h2 .jp{
  display:block;
  font-size:16px; line-height:1; font-weight:500;
}

#details,
#point{
  background:#fff8ba;
  border-top:1px solid #000;
  padding:60px 0 100px 0;
}
#details h3{
  font-size:24px; line-height:1.6;
  letter-spacing:0.1em;
  margin:0 auto 20px auto;
}
ul.details-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}
ul.details-list li{
  box-sizing:border-box;
  width:490px;
  margin-bottom:20px;
  padding-left:160px;
  border:1px solid #000;
  background:#FFF;
  line-height:3;
  text-align:left;
  position:relative;
}
ul.details-list li .label{
  box-sizing:border-box;
  width:140px;
  font-weight:500;
  padding-left:1.5em;
  background:#bee2e7;
  position:absolute;
  top:0; left:0;
}
ul.details-list li:last-child{
  width:100%;
  padding-left:180px;
}
ul.details-list li:last-child .label{
  width:160px;
}
ul.details-list li sup{
  font-size:12px;
  position:relative; top:2px; left:5px;
}
#details .caption{
  font-size:14px; line-height:1.6;
  margin:0 auto 40px auto;
}
.button{
  box-sizing:border-box;
  width:360px;
  margin:0 auto;
  border:1px solid #000;
}
.button a{
  display:block;
  text-decoration:none;
  background:#00aeb8;
  font-size:18px; line-height:1; font-weight:700;
  color:#000;
  margin:10px;
  padding:20px 0;
  transition:0.2s ease-in;
}
.button a:hover{
  margin:0;
  padding:30px 10px;
  transition:0.1s ease-in;
}
.button a::after{
  display:inline-block;
  content:"＞";
  font-size:12px; line-height:18px;
  color:#00aeb8;
  transform:scale(0.5,1);
  width:36px; height:18px;
  background:#000;
  border-radius:100%;
  position:relative; top:-2px;
  margin-right:-18px;
}

.point01,
.point02{
  box-sizing:border-box;
  width:806px;
  background:#bee2e7;
  border:1px solid #000;
  margin:0 auto;
  position:relative;
  z-index:2;
}
.point01{
  margin-top:80px;
  padding:0 50px 150px 50px;
}
.point02{
  padding:0 50px 15px 50px;
}
.point01 h2,
.point02 h2{
  position:relative;
  margin:-20px auto 15px auto;
}
.point01 h2 div,
.point02 h2 div{
  display:inline-block;
  font-size:26px; line-height:1.4; font-weight:700;
  background:#fff8ba;
  border:1px solid #000;
  padding:0 10px;
  margin:0 auto 8px auto;
}
.point01 p,
.point02 p{
  text-align:left;
  line-height:2;
  margin-bottom:25px;
}
ul.point-list{
  width:1000px;
  display:flex;
  justify-content:space-between;
  position:relative;
  z-index:2;
  margin:-120px auto 100px auto;

}
ul.point-list li{
  box-sizing:border-box;
  width:314px;
  border:1px solid #000;
  background:#FFF;
  padding:60px 30px 30px 30px;
  position:relative;
}
ul.point-list li .number{
  width:44px;
  position:absolute;
  top:-30px; left:50%;
  margin-left:-22px;
}
ul.point-list li h3{
  font-size:24px; line-height:1;
  margin:0 auto 20px auto;
}
ul.point-list li p{
  font-size:15px; line-height:28px;
  text-align:left;
  margin-bottom:48px;
}
ul.point-list li:last-child p{
  margin-bottom:20px;
}

.point03{
  margin:100px auto 0 auto;
}
.point03 section h2{
  margin:0 auto 15px auto;
}
ul.feature-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  margin:30px auto 10px auto;
}
ul.feature-list li{
  box-sizing:border-box;
  width:490px;
  margin-bottom:20px;
  border:1px solid #000;
  background:#FFF;
  text-align:left;
  position:relative;
}
ul.feature-list li h3{
  box-sizing:border-box;
  line-height:3;
  font-weight:500;
  text-align:center;
  background:#bee2e7;
}
ul.feature-list li p{
  padding:15px 25px;
}
.point03-outline{
  box-sizing:border-box;
  width:860px;
  margin:60px auto 0 auto;
  padding:25px 35px;
  background:#FFF;
  border:1px solid #000;
  text-align:left;
  display:flex;
  justify-content:space-between;
}
.point03-outline h3{
  width:80px;
}
.point03-outline ol.decimal-list{
  width:700px;
}
.point03-outline ol.decimal-list li{
  list-style:decimal outside;
  margin:0 0 20px 22px;
}
.point03-outline ol.decimal-list li:last-child{margin-bottom:0;}
.point03-outline ol.decimal-list li strong{
  font-size:18px;
}
.point03-outline ol.decimal-list li ul.disc-list li{
  list-style:disc outside;
  margin:0 0 0 22px;
}

ul.practice-flow{
  width:800px;
  margin:30px auto 50px auto;
}
ul.practice-flow li{
  box-sizing:border-box;
  background:#FFF;
  border:1px solid #000;
  display:flex;
  justify-content:space-between;
  margin:0 auto 40px auto;
  position:relative;
}
ul.practice-flow li::after{
  content:"";
  border-top:10px solid #bee2e7;
  border-left:40px solid transparent;
  border-right:40px solid transparent;
  position:absolute;
  bottom:-25px; left:50%;
  margin-left:-40px;
}
ul.practice-flow li:last-child{
  margin-bottom:0;
}
ul.practice-flow li:last-child::after{
  display:none;
}
ul.practice-flow li strong{
  box-sizing:border-box;
  width:140px;
  font-size:18px; line-height:1;
  background:#bee2e7;
  padding:20px 0;
}
ul.practice-flow li p{
  box-sizing:border-box;
  width:640px;
  text-align:left;
  padding:10px 20px 10px 0;
}
.intern-place{
  width:800px;
  text-align:left;
  margin:0 auto;
}
.intern-place ul.disc-list li{
  list-style:disc outside;
  margin:5px 0 5px 22px;
}
.intern-place ul.disc-list li .label{
  font-weight:bold;
  display:block;
}

#achivement{
  background:#fff8ba;
  border-top:1px solid #000;
  padding:60px 0 40px 0;
  position:relative;
}
#achivement::before{
  content:"";
  width:100%; height:400px;
  background:url(../../img/bg_blue.png) no-repeat center top;
  position:absolute;
  bottom:0; left:0;
}
#achivement section{
  width:100%;
}
#achivement h3{
  width:1000px;
  position:relative;
  z-index:2;
  margin:0px auto 15px auto;
}
#achivement h3 div{
  display:inline-block;
  font-size:26px; line-height:1.4; font-weight:700;
  background:#bee2e7;
  border:1px solid #000;
  padding:0 10px;
  margin:0 auto 8px auto;
}
ul.achivement-image{
  display:flex;
  margin-top:-40px;
}
ul.achivement-image li{
  width:25%;
}
ul.achivement-result{
  width:860px;
  display:flex;
  justify-content:space-between;
  margin:-40px auto 0 auto;
  position:relative; z-index:2;
}
ul.achivement-result li{
  width:48%;
}

#entrance-exam,
#open-campus,
#application{
  background:#bee2e7;
  padding:0 0 50px 0;
}
ul.entrance-image{
  width:1112px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  margin:0 auto 100px auto;
}
ul.entrance-image li:nth-child(1){width:275px;}
ul.entrance-image li:nth-child(2){width:434px;}
ul.entrance-image li:nth-child(3){width:304px;}
#entrance-exam h2{
  width:154px;
  margin:0 auto 20px auto;
}
.policy-box{
  box-sizing:border-box;
  width:806px;
  margin:20px auto;
  padding:30px;
  background:rgba(255,255,255,0.3);
}
.policy-box h3{
  font-weight:500;
  color:#fff;
  background:#00aeb8;
  padding:5px;
}
ul.policy-list li{
  text-align:left;
  border-bottom:1px solid #CCC;
  padding:15px 30px;
  position:relative;
}
ul.policy-list li::before{
  display:inline-block;
  content:"●";
  font-size:12px;
  color:#00aeb8;
  margin-right:0.6em;
}

#entrance-exam section.exam-box{
  box-sizing:border-box;
  width:1112px;
  background:#fff8ba;
  background:rgba(255,255,255,0.3);
  padding:30px 40px;
  margin:40px auto 60px auto;
}
#entrance-exam section.exam-box h3{
  font-size:32px; line-height:1.6; font-weight:700;
  color:#00aeb8;
  margin:0 auto 20px auto;
  font-size:22px; line-height:1.6; font-weight:700;
  color:#FFF;
  background:#00aeb8;
  padding:5px 0;
}
#entrance-exam section.exam-box ul.button-list{
  display:flex;
  justify-content:center;
  margin:30px auto 40px auto;
}
#entrance-exam section.exam-box ul.button-list li{
  width:300px;
  margin:0 10px;
}
#entrance-exam section.exam-box ul.button-list li a{
  display:block;
  text-decoration:none;
  border:1px solid #000;
  color:#000;
  background:rgba(255,255,255,0.6);
  text-align:center;
  padding:15px 0;
  transition:0.3s;
}
#entrance-exam section.exam-box ul.button-list li a:hover{
  background:rgba(255,255,255,1);
  transition:0.3s;
}
table.exam-table{
  width:100%;
  margin:30px auto 10px auto;
  border-collapse:collapse;
}
table.exam-table th,
table.exam-table td{
  font-size:15px; line-height:1.6; font-weight:normal;
  border:1px solid #000;
  padding:10px 5px;
  background:rgba(255,255,255,0.8);
}
table.exam-table th{
  font-size:14px; line-height:1.6; font-weight:bold;
  background:rgba(255,255,255,0.4);
  border-bottom:3px double #000;
  padding:10px 10px;
}
table.exam-table td .tategaki{
  -webkit-writing-mode:vertical-rl;
  -ms-writing-mode:tb-rl;
  writing-mode:vertical-rl;
}

.past-exam{
  width:880px;
  margin:30px auto 40px;
}
.past-exam h4{
  margin-bottom:10px;
  position:relative;
}
.past-exam h4::before{
  content:"";
  width:100%;
  border-top:1px solid #333;
  position:absolute;
  top:50%; left:0;
}
.past-exam h4 span{
  display:inline-block;
  padding:0 1em;
  background:#D2EBEF;
  position:relative;
}
.past-exam .flex{
  margin:15px 0;
  font-size:15px; line-height:1.6;
}
.past-exam .flex p{
  margin-right:1.5em;
}
.past-exam .flex ul li{
  list-style:disc outside;
  text-align:left;
  margin:0 0 0 20px;
}

#open-campus section{
  box-sizing:border-box;
  width:1112px;
  background:#fff8ba;
  padding:40px;
  margin:0 auto 60px auto;
}
#open-campus section p{
  line-height:2;
  margin-bottom:50px;
}
#oc-title{
  display:flex;
  justify-content:center;
  align-items:center;
  color:#00aeb8;
  margin:0 auto 30px auto;
}
#oc-title .reserve{
  width:105px; height:105px;
  background:#00aeb8;
  border-radius:100%;
  font-size:23px; line-height:105px; font-weight:700;
  color:#fff8ba;
}
#oc-title h2{
  font-size:42px; line-height:1.4;
  padding:0.5em 0.4em;
  margin:0 30px !important;
  border-top:1px dashed #00aeb8;
  border-bottom:1px dashed #00aeb8;
  margin-bottom:0 !important;
}
#oc-title h2 span{
  display:block;
  font-size:24px;
}
#oc-title .and{
  width:30px;
}
#oc-title .hold{
  font-size:30px; line-height:1.8; font-weight:700;
}
.oc-box{
  border-top:1px solid #CCC;
  display:flex;
  justify-content:center;
  padding:40px 0;
}
.oc-thumbnail{
  width:180px;
  margin-right:50px;
}
.oc-text{
  width:720px;
  text-align:left;
}
.oc-text h3{
  font-size:36px; line-height:1;
  color:#00aeb8;
  margin-bottom:30px;
}
.oc-text h3 .small{
  font-size:22px;
  color:#000;
  margin-left:1em;
}
.oc-text h4{
  font-size:18px; line-height:1;
  margin-bottom:15px;
}
.oc-text .schedule{
  font-size:28px; line-height:1; font-weight:700;
  margin-bottom:20px;
}
.oc-text .schedule span.end{
  display:inline-block;
  font-size:18px; line-height:28px;
  color:#FFF;
  background:#DD0000;
  padding:0 1.5em;
  position:relative; top:-3px;
  margin-left:15px;
}
.oc-text p{
  margin-bottom:20px !important;
}
.oc-text p:last-of-type{
  margin-bottom:0px !important;
}

#application h2{
  width:610px;
  margin:0 auto 20px auto;
}

#junior-college p{
  line-height:2.2; font-weight:500;
  margin:30px auto 40px auto;
}
#junior-college p span{
  background:linear-gradient(
    #FFF 60%, #fff8ba 60%
  );
}

.outline-box{
  box-sizing:border-box;
  background:rgba(255,255,255,0.8);
  margin:0 auto 40px auto;
  padding:40px 60px;
  text-align:left;
}
.outline-box h2{
  font-size:18px; line-height:1.6;
  margin:60px 0 20px 0;
  padding-bottom:10px;
  border-bottom:1px solid #000;
}
.outline-box h2:first-of-type{margin-top:0;}
.outline-box p{margin-bottom:20px;}

.outline-box ol li{
  list-style:decimal outside;
  margin:0 0 10px 25px;
}
.outline-box ul li{
  list-style:disc outside;
  margin:0 0 0 25px;
}

.outline-box table{
  width:100%;
  margin:0 auto 10px auto;
  border-collapse:collapse;
  table-layout:fixed;
}
.outline-box table th,
.outline-box table td{
  padding:10px 20px;
  border:1px solid #999;
}
.outline-box table th{
  background:#F0F0F0;
  text-align:center;
  font-weight:normal;
}
.outline-box table td{
  text-align:right;
}
.outline-box table tr td:first-child{
  text-align:left;
}
.outline-box table tr:last-child{
  border-top:3px double #999;
}

section.outline{
  margin-top:80px;
}
section.outline h3{
  font-size:20px !important; line-height:1.6 !important;
}


footer{
  background:url(../../img/footer_bg.png);
  padding:60px 0;
}
footer #logo{
  width:228px;
  margin:0 auto 30px auto;
  font-size:14px; line-height:2;
}
footer ul.sns-list{
  display:flex;
  justify-content:center;
  margin:0 auto 30px auto;
}
footer ul.sns-list li{
  width:30px;
  margin:0 10px;
}
footer p{
  font-size:14px; line-height:2;
}

.banner-telemail{
  width:360px;
  margin:30px auto 0 auto;
  margin:0 auto;
}

table.application-form{
  width:806px;
  margin:50px auto 50px auto;
  border-collapse:separate;
  border-spacing:10px;
}
table.application-form th{
  background:rgba(255,255,255,0.6);
  font-size:15px; line-height:1.6; font-weight:400;
  white-space:nowrap;
  text-align:left; vertical-align:top;
  padding:15px 20px;
}
table.application-form th .hissu{
  display:inline-block;
  font-size:12px; line-height:1.6;
  color:#000 !important;
  background:#fff8ba;
  padding:0 1em;
  margin-left:0.5em;
}
table.application-form td{
  padding:0;
  text-align:left;
}
table.application-form td input.half{
  display:inline-block;
  width:40%;
}
table.application-form td span.caution{
  font-weight:500;
  color:#555;
}
table.application-form td span.wpcf7-checkbox > span.wpcf7-list-item{
  display:block;
  width:100%;
}
table.application-form td span.wpcf7-radio > span.wpcf7-list-item{
  display:inline-block;
  width:30%;
}
table.application-form td div{
  display:block;
  margin-bottom:10px;
}
table.application-form td.bikou{
  padding:30px 0;
}
table.application-form td.bikou p{
  font-size:15px; line-height:1.6;
  margin-bottom:5px;
}
table.application-form td.bikou p.agree{
  text-align:center;
  margin-bottom:10px;
}
table.application-form td #privacy-box{
  padding:20px 30px;
  background:rgba(255,255,255,0.6);
  font-size:15px; line-height:1.6;
  margin:0 auto 30px auto;
}

table.application-form td .submit{
  box-sizing:border-box;
  display:block;
  width:360px;
  margin:0 auto;
  border:1px solid #000;
  position:relative;
}
table.application-form td .submit img{display:none;}
table.application-form td input[type="submit"]{
  box-sizing:border-box;
  display:block;
  width:calc(100% - 20px);
  text-decoration:none;
  background:#00aeb8;
  font-size:18px; line-height:1; font-weight:700;
  color:#000;
  margin:10px;
  padding:20px 0;
  transition:0.2s ease-in;
  cursor:pointer;
}
table.application-form td input[type="submit"]:hover{
  width:100%;
  margin:0;
  padding:30px 0px;
  transition:0.1s ease-in;
}
table.application-form td .submit::after{
  content:"＞";
  font-size:12px; line-height:18px;
  text-align:center;
  color:#00aeb8;
  transform:scale(0.5,1);
  width:36px; height:18px;
  background:#000;
  border-radius:100%;
  position:absolute; top:50%; left:50%;
  transform:translateY(-50%) scale(0.5,1);
  margin-left:1.5em;
}

#application-complete{
  background:#fff8ba;
  padding:0px 0 100px 0;
}
#application-complete h2{
  width:610px;
  margin:0 auto 20px auto;
}
#application-complete section{
  width:610px;
  margin:0 auto;
  text-align:left;
}
#application-complete section p{
  margin-bottom:25px;
}
