@import url('https://fonts.googleapis.com/css2?family=Anton&display=swap');
/* font-family: 'Anton', sans-serif; */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    min-width: 0;
    min-height: 0;
    max-width: 480px;
    margin: 0 auto;
}


body {
    font-family: "Helvetica Neue",
      Arial,
      "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      Meiryo,
      sans-serif;
}

:root {
	--h2-font-size: 1.6rem;
    --color: #202124;
    --color-white: #fff;
    --color-green: #00B900;
    --color-red: #FC3C3C;
    --color-gray: #BABABA;
}

a {
    text-decoration: none;
    display: block;
    color: var(--color-white);
}

.inner {
    padding: 0 5%;
}

.cvButton {
    width: fit-content;
    padding: 12px 24px;
    margin: 32px auto;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .8px;
}
.cvButton.green {
    background-color: var(--color-green);
}
.cvButton.red {
    background-color: var(--color-red);
}



/* header start*/
header {
    height: 56px;
    display: flex;
    align-items: center;
}
.headerImg img {
    height: 24px;
}
/* header end */


/* main start*/
.hero {
    background-image: url(images/heroImg.jpg);
    width: 100%;
    height: calc(100vh - 54px);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    padding: 0 6%;
}
.hero h1 {
    font-size: 1.4rem;
    color: var(--color-white);
    padding-top: 96px;
    letter-spacing: -.6px;
}
.hero h1>span {
    font-size: 64px;
    letter-spacing: 5.8px;
    font-family: 'Anton', sans-serif;
    font-style: italic;
    margin-right: 8px;
}
.heroCVButton {
    width: fit-content;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .1rem;
    border-radius: 4px;
    margin-top: 16px;
    margin-left: 0;
    background: #FF883E;
    background: -moz-radial-gradient(center, ellipse cover, #FF883E 0%, #FDB222 100%);
    background: -webkit-radial-gradient(center, ellipse cover, #FF883E 0%,#FDB222 100%);
    background: linear-gradient(90deg, #FF883E 0%, #FDB222 100%);
    box-shadow: 0 2px 8px rgba(0,0,0,.16);
}



.greenButton {
    width: fit-content;
    background-color: var(--color-green);
    padding: 12px 24px;
    margin: 32px auto;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .8px;
}



section.irelandRyugaku img {
    width: 100%;
}



.itemContainer01 {
    padding-top: 64px;
}
.itemContainer01 h2,
.itemContainer02 h2,
.itemContainer04 h2,
.itemContainer07 h2 {
    font-size: var(--h2-font-size);
    text-align: center;
}
.schoolBox {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid var(--color-gray);
    padding-bottom: 24px;
    padding-top: 32px;
}
.schoolBox:nth-child(4) {
    border-bottom: none;
}
.schoolImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.schoolPriceDesc {
    padding-left: 10%;
}
.schoolPriceDesc h3 {
    font-size: 24px;
    line-height: 20px;
}
.schoolPriceDesc h3>span {
    font-size: 12px;
    line-height: 0;
}
.competitor {
    padding-top: 16px;
    line-height: 18px;
}
.competitor p:first-child {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: .1rem;
}
.competitor p:last-child {
    font-size: 10px;
}
.priceChange {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 16px 8px;
}
.priceChange p {
    padding-left: 8px;
    font-size: 10px;
    font-weight: 600;
}
.ourPrice p:first-child {
    font-size: 26px;
    line-height: 26px;
    font-weight: 600;
    letter-spacing: .1rem;
    color: var(--color-red);
}
.ourPrice p:last-child {
    font-size: 16px;
    font-weight: 600;
    line-height: 12px;
    bottom: 0;
    position: relative;
    padding-top: 8px;
}
.ourPrice p:last-child>span {
    font-size: 24px;
    padding-right: 4px;
}
.ourPrice p:last-child::after {
    content: "";
    width: 150px;
    height: 16px;
    background: yellow;
    position: absolute;
    left: 0;
    z-index: -1;
}



.itemContainer02 {
    padding-top: 80px;
    padding-bottom: 64px;
}
.bgArea {
    position: relative;
    background: #F2F2F2;
}
.bgArea:before,
.bgArea:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    z-index: -1;
    background-position-x: center;
}
.bgArea.up:before {
    background-image: url(images/bg-gray-item01.svg);
    top: -12%;
}
.bgArea.down:after {
    background-image: url(images/bg-gray-item02.svg);
}
.priceDetailsImg {
    width: 88%;
    padding: 32px 0;
}
.priceDetailsImg img {
    width: 100%;
    object-fit: contain;
}
.priceDetailsDesc {
    text-align: center;
    font-weight: 600;
}
.priceDetailsDesc p:first-child {
    color: #FF883E;
    font-size: 20px;
}
.priceDetailsDesc p:nth-child(2),
.priceDetailsDesc p:nth-child(3) {
    font-size: 14px;
    padding-top: 16px;
}



section.itemContainer03 {
    padding-top: 32px;
}
.logo {
    width: 240px;
    margin: 0 auto;
}
.logo img {
    width: 100%;
}
.agencyPolicy {
    padding-top: 32px;
    padding-bottom: 80px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
}
.counselingBox {
    margin: 0 10%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 20px;
    padding: 16px 8px;
    justify-items: center;
    max-width: 280px;
    margin: 0 auto;
}
.counselingBox.line {
    border: 3px solid #02b902;
}
.counselingBox.zoom {
    border: 3px solid #19B0F6;
    margin-top: 32px;
}
.iconBox {
    text-align: center;
    width: 72px;
}
.iconBox img {
    width: 100%;
}
.iconBox p {
    font-size: 14px;
    font-weight: 600;
    padding-top: 8px;
}
.counselingDesc {
    font-size: 12px;
    font-weight: 600;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.counselingDesc p {
    margin-left: 0;
}
.counselingDesc p:last-child {
    font-weight: 400;
}
.bgArea.up02:before {
    background-image: url(images/bg-gray-item01.svg);
    top: -15%;
}
.bgArea.up02.extend {
    padding-bottom: 32px;
    padding-top: 32px;
}



.itemContainer04 {
    padding-top: 64px;
    padding-bottom: 64px;
    background: #2E2E2E;
    background: -moz-radial-gradient(center, ellipse cover, #2E2E2E 0%, #B4B4B4 100%);
    background: -webkit-radial-gradient(center, ellipse cover, #2E2E2E 0%,#B4B4B4 100%);
    background: linear-gradient(180deg, #2E2E2E 0%, #B4B4B4 100%);
    color: var(--color-white);
}
.pointBox {
    padding: 40px 5% 0;
}
.pointImg img {
    width: 100%;
}
.pointTitleBox {
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    padding-top: 5%;
    padding-left: 5%;
    margin: 0 auto;
    column-gap: 16px;
}
.pointIcon {
    width: 40px;
}
.pointIcon img {
    width: 100%;
}
.pointTitle {
    font-size: 20px;
    margin: 0;
}
.pointTitle p {
    font-weight: 500;
}
.pointTitle h3 {
    font-weight: 600;
    font-size: 1.3rem;
}
p.pointDesc {
    padding-top: 4px;
    font-size: 14px;
}


.itemContainer05{
    padding-top: 64px;
    padding-bottom: 64px;
    text-align: center;
}
.itemContainer05 h2 {
    font-size: 24px;
    padding-bottom: 16px;
}
.itemContainer05 p {
    font-size: 18px;
    font-weight: 600;
    padding-top: 16px;
}
.itemContainer05 p>span {
    background: yellow;
}
.itemContainer05 h3 {
    font-size: 24px;
    color: var(--color-white);
    padding-top: 32px;
    padding-bottom: 16px;
    text-shadow: rgb(22, 155, 98) 5px 0px 0px, rgb(22, 155, 98) 4.90033px 0.993347px 0px, rgb(22, 155, 98) 4.60531px 1.94709px 0px, rgb(22, 155, 98) 4.12668px 2.82321px 0px, rgb(22, 155, 98) 3.48353px 3.58678px 0px, rgb(22, 155, 98) 2.70151px 4.20736px 0px, rgb(22, 155, 98) 1.81179px 4.6602px 0px, rgb(22, 155, 98) 0.849836px 4.92725px 0px, rgb(22, 155, 98) -0.145998px 4.99787px 0px, rgb(22, 155, 98) -1.13601px 4.86924px 0px, rgb(22, 155, 98) -2.08073px 4.54649px 0px, rgb(22, 155, 98) -2.94251px 4.04248px 0px, rgb(22, 155, 98) -3.68697px 3.37732px 0px, rgb(22, 155, 98) -4.28444px 2.57751px 0px, rgb(22, 155, 98) -4.71111px 1.67494px 0px, rgb(22, 155, 98) -4.94996px 0.7056px 0px, rgb(22, 155, 98) -4.99147px -0.291871px 0px, rgb(22, 155, 98) -4.83399px -1.27771px 0px, rgb(22, 155, 98) -4.48379px -2.2126px 0px, rgb(22, 155, 98) -3.95484px -3.05929px 0px, rgb(22, 155, 98) -3.26822px -3.78401px 0px, rgb(22, 155, 98) -2.4513px -4.35788px 0px, rgb(22, 155, 98) -1.53666px -4.75801px 0px, rgb(22, 155, 98) -0.560763px -4.96845px 0px, rgb(22, 155, 98) 0.437495px -4.98082px 0px, rgb(22, 155, 98) 1.41831px -4.79462px 0px, rgb(22, 155, 98) 2.34258px -4.41727px 0px, rgb(22, 155, 98) 3.17346px -3.86382px 0px, rgb(22, 155, 98) 3.87783px -3.15633px 0px, rgb(22, 155, 98) 4.4276px -2.32301px 0px, rgb(22, 155, 98) 4.80085px -1.39708px 0px, rgb(22, 155, 98) 4.98271px -0.415447px 0px;
}



.itemContainer06 h2 {
    font-size: 24px;
    text-align: center;
    padding-top: 32px;
    padding-bottom: 32px;
}
.supportBox {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0 auto;
    padding-top: 24px;
    padding-right: 5%;
    padding-left: 5%;
}
.supportBox:nth-child(7) {
    padding-bottom: 64px;
}
.supportNumber {
    width: 32px;
    font-size: 32px;
    text-align: center;
    margin: auto;
    font-family: 'Anton';
    color: var(--color-white);
    -webkit-text-stroke: 0.6px #000;
    letter-spacing: 1.4px;
    text-shadow: 0px 0px 2px #169B62;
    -webkit-text-shadow: 0 0 2px #169B62;
    -moz-text-shadow: 0 0 2px #169B62;
    -ms-text-shadow: 0 0 2px #169B62;
    border-bottom: 1px solid #169B62;
}
.supportTxt {
    margin-left: 0;
    padding-left: 16px;
    max-width: 265px;
}
.supportTxt h3 {
    font-size: 18px;
}
.supportTxt p {
    font-size: 12px;
    font-weight: 400;
}


.itemContainer07 {
    padding-top: 64px;
}
.itemContainer07 h2 {
    padding-bottom: 32px;
}
.stepBox {
    padding: 0 10%;
    display: grid;
    grid-template-columns: 24px 1fr;
    column-gap: 32px;
    row-gap: 12px;
    padding-top: 12px;
}
.stepBox:first-of-type {
    padding-top: 0;
}
.stepBox p {
    margin: 0;
    font-size: 12px;
}
p.stepTitle {
    font-size: 18px;
    font-weight: 600;
}



.itemContainer08 {
    padding-top: 48px;
    padding-bottom: 8px;
}
.itemContainer08 h2 {
    font-size: 24px;
    text-align: center;
}
.itemContainer08 p {
    padding: 24px 5% 48px;
    font-size: 14px;
    line-height: 22px;
}

/* main end */



/* footer start*/
footer {
    display: flex;
    justify-content: center;
    width: 300px;
    column-gap: 16px;
    padding-bottom: 16px;
}
footer a {
    color: var(--color-gray);
    font-size: 12px;
    margin: 0;
}
/* footer end */

/* mobile mini */

@media (max-width:360px){
    .itemContainer02.inner {
        padding: 0 10%;
    }
    .schoolPriceDesc {
        padding-left: 8%;
    }
    .schoolPriceDesc h3 {
        font-size: 20px;
        line-height: 18px;
    }
    .schoolPriceDesc h3>span {
        font-size: 10px;
    }
    .competitor {
        padding-top: 8px;
    }
    .competitor p:first-child {
        font-size: 16px;
    }
    .competitor p:last-child {
        font-size: 10px;
    }
    .priceChange {
        padding: 4px;
    }
    .priceChange p {
        font-size: 8px;
        padding: 0 8px;
    }
    .ourPrice p:last-child::after {
        width: 118px;
    }
    .ourPrice p:first-child {
        font-size: 20px;
        line-height: 20px;
    }
    .ourPrice p:last-child>span {
        font-size: 20px;
    }
    .ourPrice p:last-child {
        font-size: 12px;
    }
    .priceDetailsDesc br {
        display: none;
    }
    .priceDetailsDesc p:first-child {
        font-size: 16px;
    }
    .priceDetailsDesc p:nth-child(2), .priceDetailsDesc p:nth-child(3) {
        font-size: 12px;
    }
    .agencyPolicy {
        font-size: 14px;
    }
    .iconBox {
        width: 64px;
    }
    .iconBox p {
        font-size: 13px;
    }
    .counselingDesc {
        font-size: 12px;
        font-weight: 400;
    }
    .pointTitle h3 {
        font-size: 1rem;
    }
    p.pointDesc {
        font-size: 12px;
    }
    .itemContainer05 h2,
    .itemContainer06 h2,
    .itemContainer08 h2 {
        font-size: 20px;
    }
    .counselingDesc br {
        display: none;
    }
    .counselingDesc p:last-child {
        margin: 0;
        font-size: 10px;
    }
    section.itemContainer05 p {
        font-size: 14px;
    }
    .itemContainer05 h3 {
        font-size: 20px;
        text-shadow: rgb(21, 155, 98) 3px 0px 0px, rgb(21, 155, 98) 2.83487px 0.981584px 0px, rgb(21, 155, 98) 2.35766px 1.85511px 0px, rgb(21, 155, 98) 1.62091px 2.52441px 0px, rgb(21, 155, 98) 0.705713px 2.91581px 0px, rgb(21, 155, 98) -0.287171px 2.98622px 0px, rgb(21, 155, 98) -1.24844px 2.72789px 0px, rgb(21, 155, 98) -2.07227px 2.16926px 0px, rgb(21, 155, 98) -2.66798px 1.37182px 0px, rgb(21, 155, 98) -2.96998px 0.42336px 0px, rgb(21, 155, 98) -2.94502px -0.571704px 0px, rgb(21, 155, 98) -2.59586px -1.50383px 0px, rgb(21, 155, 98) -1.96093px -2.27041px 0px, rgb(21, 155, 98) -1.11013px -2.78704px 0px, rgb(21, 155, 98) -0.137119px -2.99686px 0px, rgb(21, 155, 98) 0.850987px -2.87677px 0px, rgb(21, 155, 98) 1.74541px -2.43999px 0px, rgb(21, 155, 98) 2.44769px -1.73459px 0px, rgb(21, 155, 98) 2.88051px -0.838247px 0px;
    }
    .supportNumber {
        width: 28px;
        font-size: 28px;
    }
    .supportTxt {
        max-width: 210px;
    }
    .supportTxt h3 {
        font-size: 16px;
    }
    .supportTxt p {
        font-size: 10px;
    }
    .stepBox {
        column-gap: 16px;
        row-gap: 8px;
    }
    .stepBox p:last-child {
        font-size: 10px;
    }
    .itemContainer08 p {
        font-size: 12px;
        line-height: 20px;
    }
}
