@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : base.css
Description :
===================================================================== */

/* =====================================================================
*    共通・大枠
* =================================================================== */
html {
    font-size: calc(10 / 750 * 100vw);
}

@media screen and (min-width: 768px) {
    html {
        font-size: calc(10 / 1200 * 100vw);
        overflow-x: hidden;
        overflow-y: scroll;
    }
}

@media screen and (min-width: 1200px) {
    html {
        font-size: 10px;
    }
}

.gDef-contents {
    background: url(../images/common/bg_orange.png) repeat center center;
    background-size: calc(814 / 750 * 100%) auto;
    border-top: calc(12 / 750 * 100vw) solid #f4b63f;
    color: #333;
    font-family: "M PLUS Rounded 1c", "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
    line-height: 1.5;
}

.set1 * {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.set1 img {
    width: 100%;
    height: auto;
    display: block;
}

.set1 a {
    display: block;
    text-decoration: none;
}

@media screen and (min-width: 768px) {
    .gDef-contents {
        background-size: calc(814 / 1200 * 100%) auto;
        border-width: calc(6 / 1200 * 100vw);
    }
    
    .set1 a {
        -webkit-transition: 0.3s ease;
        transition: 0.3s ease;
    }
}

@media screen and (min-width: 1200px) {
    .gDef-contents {
        background-size: 814px auto;
        border-width: 6px;
    }
}

@media screen and (max-width: 767px) {
    .pc {
        display: none !important;
    }
}

@media screen and (min-width: 768px) {
    .sp {
        display: none !important;
    }
}

.main {
    display: block;
}

.inner {
}

@media screen and (min-width: 768px) {
    .inner {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 calc(100 / 1200 * 100%);
    }
}

@media screen and (min-width: 1200px) {
    .inner {
        padding: 0 100px;
    }
}


/* =====================================================================
*    ttl
* =================================================================== */
.header_ttl {
    padding: calc(60 / 750 * 100%) 0;
    font-size: 3.6rem;
    font-weight: 800;
    line-height: 1.667;
    letter-spacing: 0.05em;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .header_ttl {
        padding: calc(65 / 1000 * 100%) 0;
        font-size: 2.8rem;
    }
}

@media screen and (min-width: 1200px) {
}


/* =====================================================================
*    wrap
* =================================================================== */
.sec_wrap {
    padding: calc(60 / 750 * 100%) calc(30 / 750 * 100%);
    background-color: #fff;
    border-radius: calc(20 / 750 * 100vw);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .sec_wrap {
        padding: calc(80 / 1000 * 100%) calc(100 / 1000 * 100%);
        border-radius: calc(20 / 1200 * 100vw);
        border-radius: 1.67vw;
    }
}

@media screen and (min-width: 1200px) {
    .sec_wrap {
        border-radius: 20px;
    }
}


/* =====================================================================
*    btn
* =================================================================== */
.btn_2col li:not(:last-child) {
    margin: 0 0 calc(50 / 690 * 100%);
}

.btn1 a,
.btn2 a,
.btn3 a {
    padding: 0.8em 0;
    background-color: #ff8500;
    border: 2px solid #ff8500;
    border-radius: calc(16 / 750 * 100vw);
    color: #fff;
    font-size: 3.2rem;
    line-height: 1.438;
    text-align: center;
}

.btn2 {
    width: calc(360 / 690 * 100%);
    margin: 0 auto;
}

.btn2 a {
    background-color: #f8f8f8;
    border-color: #d2d2d2;
    color: #333;
}

.btn3 a {
    background-color: #ffb80f;
    border-color: #ffb80f;
}

.btn3 a::before,
.btn3 a::after {
    content: "";
    display: block;
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto 0 auto calc(24 / 690 * 100%);
}

.btn3 a::after {
    background: url(../images/common/btn_arrow_orange.svg) no-repeat center center;
    background-size: calc(12 / 32 * 100%) auto;
}

@media screen and (min-width: 768px) {
    .btn_2col {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
    
    .btn_2col li:not(:last-child) {
        margin: 0;
    }
    
    .btn1,
    .btn3 {
        width: calc(460 / 800 * 100%);
    }
    
    .btn1 a,
    .btn2 a,
    .btn3 a {
        padding: 0.65em 0;
        border-radius: calc(20 / 1200 * 100vw);
        border-radius: 1.67vw;
        font-size: 2rem;
        -webkit-transform: rotate(0.05deg);
        transform: rotate(0.05deg);
    }
    
    .btn1 a:hover {
        background-color: #ffa340;
        border-color: #ffa340;
    }
    
    .btn2 {
        width: calc(220 / 800 * 100%);
        margin: 0 calc(50 / 800 * 100%) 0 0;
    }
    
    .btn2 a:hover {
        background-color: #eee;
        border-color: #d2d2d2;
    }
    
    .btn3 a::before,
    .btn3 a::after {
        width: calc(16 / 1200 * 100vw);
        height: calc(16 / 1200 * 100vw);
        margin: auto 0 auto calc(20 / 460 * 100%);
    }
    
    .btn3 a:hover {
        background-color: #ffc745;
        border-color: #ffc745;
    }
}

@media screen and (min-width: 1200px) {
    .btn1 a,
    .btn2 a,
    .btn3 a {
        border-radius: 20px;
    }
    
    .btn3 a::before,
    .btn3 a::after {
        width: 16px;
        height: 16px;
    }
}


/* =====================================================================
*    footer
* =================================================================== */
.footer {
    background-color: #fff;
}

.footer_box::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: calc(230 / 750 * 100%);
    background: url(../images/common/bg_illust1.png) no-repeat center bottom;
    background-size: calc(1600 / 750 * 100%) auto;
}

.footer small {
    display: block;
    padding: 1.25em 0;
    background-color: #ffb80f;
    color: #fff;
    font-size: 2rem;
    line-height: 1.5;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .footer {
        margin: calc(60 / 1200 * 100%) 0 0;
        background-color: #fece2d;
    }
    
    .footer_box::before {
        padding-top: calc(180 / 1200 * 100%);
        background: url(../images/common/bg_illust1.png) repeat-x center bottom;
        background-size: calc(1600 / 1200 * 100%) auto;
    }
    
    .footer small {
        padding: 3em 0;
        font-size: 1.2rem;
        line-height: 1;
    }
}

@media screen and (min-width: 1200px) {
    .footer {
        margin: 60px 0 0;
    }
    
    .footer_box::before {
        padding-top: 180px;
        background-size: 1600px auto;
    }
}
