@charset "utf-8";

/*--------------------------------------
keyArea
---------------------------------------*/
.keyArea {
background: url(img/mv_bg_01.png) repeat;
}
.keyArea .inner {
position: relative;
width: 100rem;
min-height: 52rem;
margin: 0 auto;
padding: 10rem 44rem 0 0;
}
.keyArea .inner::before {
position: absolute;
left: 60rem;
top: 2rem;
width: 54.2rem;
height: 42.4rem;
background: url(img/mv_bg_02.png) no-repeat left top;
background-size: contain;
content: "";
}
.keyArea .mainTxt {
position: relative;
width: 57rem;
padding: 4.5rem 3rem 2.5rem;
background: #f0f2fa;
border-radius: 1rem;
}
.keyArea .mainTxt::before {
position: absolute;
left: calc(35% + 3rem);
top: -1rem;
transform: translateY(-50%);
width: 8.6rem;
height: 11.1rem;
background: url(img/logo.png) no-repeat left top;
background-size: contain;
content: "";
}
.keyArea .mainTit {
margin: 0 0 2rem 0;
color: #095eb4;
font-size: 3.6rem;
font-weight: 700;
line-height: 1.4;
}
.keyArea .mainTit span {
display: inline-block;
padding: 0.2rem 1.2rem 0.4rem 1.2rem;
background: #095eb4;
color: #fff;
font-size: 2.6rem;
}
.keyArea .inner p:not([class]) {
margin: 1em 5em 0 0;
}
.keyArea .inner p:not([class]) span {
border-bottom: 2px solid #ffd23c;
font-size: 1.6rem;
font-weight: 700;
}


/*--------------------------------------
addCont02
---------------------------------------*/
.addCont02 {
padding: 11rem 0;
background: #f9f9f9 url(img/add02_bg_01.png) repeat-y center top 16rem;
background-size: 100% auto;
}
.addCont02 .addInner {
width: 125rem;
}
.addCont02 .headArea {
padding: 0 0 0 13rem;
}
.addCont02-school {
width: 125rem;
margin: 0 auto 10rem auto;
padding: 5rem 12.5rem 7rem 12.5rem;
background: #fff;
border-radius: 2rem;
}
.addCont02-school:last-child {
margin: 0 auto;
}
.catch-title {
position: relative;
left: -16rem;
width: 120rem;
min-height: 14rem;
margin: 0 0 6rem 0;
padding: 3rem 3rem 3rem 32rem;
background: #095eb4;
border-radius: 2rem;
color: #fff;
font-weight: 700;
line-height: 1.4;
}
.catch-title::before {
position: absolute;
left: 22rem;
top: 36%;
transform: translateY(-50%);
width: 6.4rem;
height: 8.2rem;
padding: 5rem 0 0 0;
background: url(img/add02_bg_02.png) no-repeat left top;
background-size: contain;
box-sizing: border-box;
color: #1c2a45;
font-size: 2.2rem;
font-weight: 700;
line-height: 1.1;
text-align: center;
}
#school-1 .catch-title::before {
content: "01";
}
#school-2 .catch-title::before {
content: "02";
}
#school-3 .catch-title::before {
content: "03";
}
.catch-title .catch {
margin: 0 0 2rem 0;
font-size: 3.2rem;
}
.addCont02-school .catch-title .catch span {
color: #ffd23c !important;
}
.addCont02-school h4.title + p {
text-align: center;
margin: 3rem 0 5rem;
}
.catch-title .name {
font-size: 2.4rem;
}
.catch-title .name span {
font-size: 2rem;
}
.addCont02 .title {
margin: 8rem 4.5rem 3rem 4.5rem;
padding: 0 0 1rem 0;
border-bottom: 2px solid#628dec;
font-size: 3rem;
font-weight: 700;
line-height: 1.4;
text-align: center;
}
.addCont02 h5.ttl {
margin: 4rem 0 2rem 0;
padding: 0 0 0 1.2rem;
border-left: 6px solid #23cd82;
font-size: 2rem;
font-weight: 700;
line-height: 1.4;
}
.addCont02 .btn-web {
max-width: 42rem;
}
.block-point {
padding: 3rem;
background: #fffbef;
border-radius: 1rem;
}
.block-point .ttl {
color: #095eb4;
font-size: 2rem;
font-weight: 700;
line-height: 1.4;
text-align: center;
}
.block-point .btn-web {
margin: 3rem auto 0 auto;
width: 42rem;
}
.block-instagram {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 3rem 0 0 0;
}
.block-instagram .box {
width: calc((100% - 7rem) / 2);
margin: 0 0 4rem 0;
}
.addCont02 table {
margin: 2rem 0 0 0;
}
.addCont02 .accordion-item table {
margin: 0;
}
.addCont02 .accordion-item table th {
width: 25rem;
}
.addCont02 table th {
background: #eef1f9;
border: 1px solid #fff;
}
.addCont02 .block-subsidy table {
table-layout: auto;
}
.addCont02 .block-subsidy table th[scope="col"] {
width: 25rem;
}
.addCont02 table td {
text-align: center;
}
.addCont02 table td:not([class]) > span:not([class]) {
border-bottom: none;
color: #095eb4;
font-size: 2rem;
}
.addCont02 table td p:not([class]) {
margin: 1em 0 0 0;
text-align: left;
}
.block-map {
width: 50rem;
margin: 3rem auto 2.4rem auto;
}
.block-map iframe {
width: 100%;
height: 18rem;
border: none;
}
.block-map + table {
margin: 0;
}
.block-map + table th {
width: 25rem;
}
.block-map + table td {
text-align: left;
}

.addCont02 .slick-initialized .slick-slide img {
width: auto;
/* height: 370px; */
max-height: 40rem;
}


/*--------------------------------------
addCont03
---------------------------------------*/
.addCont03 {
padding: 8rem 0 0 0;
}

.addCont03 .frame-wrap .frame .btn-link,
.addCont04 .frame-wrap .frame .btn-link {
margin: 2rem 0 0!important;
}


/*--------------------------------------
addCont04
---------------------------------------*/
.addCont04 {
padding: 8rem 0 12rem 0;
}
.addCont04 .frame-wrap .frame {
border: 4px solid #92dfbd;
}

/* .addCont04 .accordion-btn {
background: #92dfbd;;
} */


/*--------------------------------------
addCont05
---------------------------------------*/
.addCont05 {
position: relative;
padding: 0 0 8rem 0;
}
.addCont05::before {
position: absolute;
left: 0;
top: 4rem;
width: 100vw;
height: calc(100% - 4rem);
background: #eef1f9;
content: "";
z-index: -1;
}


/*--------------------------------------
addCont06
---------------------------------------*/
.addCont06 {
padding: 10rem 0 4rem 0;
}
.addCont06 .headArea .addTxt {
margin: 0 0 6rem 0;
}
.addCont06 .box-wrap {
counter-reset: number 0;
}
.addCont06 .box-wrap .box {
margin: 0 0 6rem 0;
padding: 5rem 2.5rem 3rem 2.5rem;
}
.addCont06 .box-wrap .box::before {
position: absolute;
left: 50%;
top: -2.8rem;
transform: translateX(-50%);
width: 7.4rem;
height: 5.4rem;
background: #fff;
color: #23cd82;
font-size: 1.5rem;
font-weight: 700;
line-height: 1.1;
text-align: center;
content: "POINT";
}
.addCont06 .box-wrap .box::after {
position: absolute;
left: 50%;
top: -1.6rem;
transform: translateX(-50%);
width: 7.4rem;
height: auto;
color: #23cd82;
font-size: 4.2rem;
font-weight: 700;
line-height: 1.1;
text-align: center;
content: counter(number, decimal-leading-zero);
counter-increment: number 1;
}


/*--------------------------------------
addCont07
---------------------------------------*/
.addCont07 {
position: relative;
padding: 0 0 6rem 0;
}
.addCont07::before {
position: absolute;
left: 0;
top: 4rem;
width: 100vw;
height: calc(100% - 22rem);
background: #f9f9f9;
content: "";
z-index: -1;
}
.addCont07 .rank-wrap {
margin: 0 0 14rem 0;
}
.addCont07 .rank-wrap p:not([class]) {
margin: 1em 3rem;
}






















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


/*--------------------------------------
keyArea
---------------------------------------*/
.keyArea {
padding: 0;
background-size: 26px auto;
}
.keyArea .logo {
display: none;
/* width: 5rem;
margin: 0 auto 1.5rem auto; */
}
.keyArea .inner {
width: 100%;
min-height: auto;
padding: 1.5rem 1.5rem 3rem 1.5rem;
}
.keyArea .inner::before {
display: none;
content: none;
}
.keyArea .mainTxt {
width: 100%;
padding: 1.5rem 1.2rem 2rem 1.2rem;
margin-top: 2rem;
}
.keyArea .mainTxt::before {
display: none;
content: none;
}
.keyArea .mainTit {
margin: 0 0 1rem 0;
font-size: 2.2rem;
text-align: center;
}
.keyArea .mainTit span {
margin: 0 0 0.3rem 0;
padding: 0.2rem 1rem 0.4rem 1rem;
font-size: 1.8rem;
}
.keyArea .mainTxt .fig .sp {
width: 80%;
margin: 0 auto;
}

.keyArea .inner p:not([class]) {
margin: 1em 0 0 0;
}


/*--------------------------------------
addCont02
---------------------------------------*/
.addCont02 {
padding: 5rem 0;
background: #f9f9f9 url(img/add02_bg_01.png) repeat-y center top 2rem;
background-size: 100% auto;
}
.addCont02 .addInner {
width: 100%;
}
.addCont02 .headArea {
padding: 0;
}
.addCont02-school {
width: 100%;
margin: 0 auto 10rem auto;
padding: 5rem 12.5rem 7rem 12.5rem;
background: #fff;
border-radius: 2rem;
}
.addCont02-school {
width: 100%;
margin: 5rem auto 6rem auto;
padding: 0 1.2rem 3rem;
}
.addCont02-school h4.title + p {
text-align: left;
margin: 1rem auto;
}
.addCont02-school:last-child {
margin: 0 auto;
}
.catch-title {
left: -1.2rem;
width: calc(100% + 2.4rem);
min-height: 8rem;
margin: 0 0 2rem 0;
padding: 1.5rem 2rem 1.5rem 2rem;
border-radius: 1.5rem;
}
.catch-title::before {
top: -8%;
left: 2rem;
width: 4.2rem;
height: 6.2rem;
padding: 3.2rem 0 0 0;
font-size: 1.8rem;
}
.catch-title .catch {
margin: 0 0 1.5rem 0;
font-size: 2rem;
}
.catch-title .name {
font-size: 1.6rem;
}
.catch-title .name span {
font-size: 1.4rem;
}
.addCont02 .title {
margin: 6rem 0 3rem 0;
padding: 0 0 1rem 0;
font-size: 1.8rem;
}
.addCont02 h5.ttl {
margin: 3rem 0 2rem 0;
padding: 0 0 0 1.2rem;
font-size: 1.6rem;
}
.addCont02 .btn-web {
max-width: 90%;
}
.block-point {
padding: 2rem;
}
.block-point .ttl {
font-size: 1.6rem;
}
.block-point .btn-web,
.block-point .btn-tel {
width: 100%;
}
.block-instagram {
display: block;
}
.block-instagram .box {
width: 100%;
margin: 0 0 3rem 0;
}
.addCont02 table {
margin: 3rem 0 0 0;
}
.addCont02 .accordion-item table {
margin: 0;
}
.addCont02 .accordion-item table th {
width: 100%;
}
.addCont02 .block-subsidy table th:first-child {
max-width: 9rem !important;
word-break: break-all;
}
.addCont02 table td:not([class]) > span:not([class]) {
font-size: 1.8rem;
}
.block-map {
width: 100%;
margin: 2rem auto 1.8rem auto;
}
.block-map + table {
margin: 0;
}
.block-map + table th {
width: 100%;
}


/*--------------------------------------
addCont03
---------------------------------------*/
.addCont03 {
padding: 5rem 0 0 0;
}


/*--------------------------------------
addCont04
---------------------------------------*/
.addCont04 {
padding: 5rem 0;
}


/*--------------------------------------
addCont05
---------------------------------------*/
.addCont05 {
padding: 0 0 5rem 0;
}
.addCont05::before {
top: 1.5rem;
height: calc(100% - 1.5rem);
}


/*--------------------------------------
addCont06
---------------------------------------*/
.addCont06 {
padding: 5rem 0;
}
.addCont06 .headArea .addTxt {
margin: 0 0 5rem 0;
}


/*--------------------------------------
addCont07
---------------------------------------*/
.addCont07 {
position: relative;
padding: 0 0 2rem 0;
}
.addCont07::before {
top: 1.5rem;
height: calc(100% - 15rem);
}
.addCont07 .rank-wrap {
margin: 0 0 8rem 0;
}
.addCont07 .rank-wrap p:not([class]) {
margin: 1em 1.5rem;
}


}
