/*-------------------------------------------------

-------------------------------------------------*/
html,body {
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
	font-size: 18px;
    color: #1a202c;
    box-sizing: border-box;
}

*{ padding: 0; margin: 0;}

img{ border: none;}

.t_logo img{
    width:205px;
}

h1{
    padding:10px 0;
    text-align: center;
    line-height: 1.3;
}

h1 .sub{
    font-size:30px;    
    color:#004b80;
    text-shadow: 1px 1px 2px #85bfe7;
    margin-top:15px;
}

h1 .sub2{
    font-size:26px;    
    color:#fff;
    background-color: #00b34a;
    padding:10px 0;
    margin-top:20px;
    border-radius: 50px;
}

h1 .main{
    font-size:55px;
    color:#1a202c;
    text-shadow: 1px 1px 2px #666;
}

h2{ font-size: 28px; 
    border-left: 10px solid #0069b3;
    font-weight: bold;
    padding: 5px 15px;
    margin-top:70px;
}

h3{ font-size: 22px; 
    border-bottom: 1px solid #0069b3;
    font-weight: bold;
    padding: 5px;
    margin-top:30px;
}

ol li{
    display: list-item;
    margin-left:20px;
    margin-bottom:15px;
}

a{ text-decoration:none; color: #0069b3;}
a:hover{ color: #0087e6;}

h4{
    font-size: 16px;
    font-weight: bold; 
    width:360px;
    padding: 5px 0px;
    background-color: #251961;
    border-radius: 20px;
    text-align: center;
    color: #ffffff;
    margin:10px 0px;
}

.tokuten{
    width:100%;
    padding:20px;
    background-color: #0069b3;
    color:#fff;
    text-align: center;
    box-sizing: border-box;
}

.tokuten hr{
    height: 1px;
    border: none;
    border-top: 1px solid #fff;
    margin-top:10px;
    margin-bottom:10px;
}

.enjya_box{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

.enjya_box .left{
    width:500px;
}

.enjya_box .left img {
    width: 100%;
}

.enjya_box .right{
    width: calc(100%-500px);
    padding-left:30px;
}

.red{
    color:#b30069;
    font-weight: bold;
	font-size: 105%;
}

.blue{
    color:#0069b3;
    font-weight: bold;
}

.red_box{
    color:#b30069;
    border:2px solid #b30069;
    padding:20px;
}

/*-------------------------------------------------
GENERAL CLASSES
-------------------------------------------------*/

.margin_s{margin-top:10px !important;}
.margin_m{margin-top:30px !important;}
.margin_l{margin-top:50px !important;}
.margin_l_b{margin-bottom:90px !important}

section{ width: 960px; margin:0 auto;}

.center{text-align:center; margin:0 auto;}

.text_right{text-align:right;}

.font_b{font-weight:bold;}

.text_s{font-size:14px;}
.text_m{font-size: 20px;}
.text_l{font-size: 25px;}
.text_prof{font-size:16px;}

.gaiyou > ul{
    margin-top:40px;
}

.gaiyou > ul > li {
    display: flex;
    font-size:18px;
    margin-bottom:3px;
}

.gaiyou > ul > li > div:first-child {
    font-weight:bold;
    width:20%;
    background-color:#0069b3;
    color:#fff;
    padding-top: 15px;
    padding-bottom: 15px;
    line-height:normal;
    padding-left:10px;
    font-size:20px;
}

.gaiyou > ul > li > div:last-child {
    width:80%;
    padding-top: 15px;
    padding-bottom: 15px;
    line-height:normal;
    padding-left:20px;
}

.gaiyou .p_submit {
    background-color: #fff !important;
    text-align: center;
}

.program{
    display: flex;
    flex-wrap: wrap;
    margin-top:30px;
    margin-left:30px;
    margin-bottom:30px;
}

.program li{
    width:50%;
    font-size:22px;
    margin-bottom:15px;
    color:#004b80;
    font-weight: bold;
}

.head_line{
    overflow: hidden;
    margin: 0 auto;
    min-width: 960px;
}

.head_wrap {
    background: #0069b3;
    overflow: hidden;
    padding: 15px 20px;
}

.head_wrap img {
    width:250px;
}

.top_link{
    margin-top:10px;
    text-align: right;
}

.no_dt{
    display: none;
}

.title{
    width:100%;
    display: flex;
    justify-content: center;
    background: radial-gradient(rgb(169, 214, 255), rgb(36, 115, 194));
    background-image: url("image/backimg.png");
    background-repeat:no-repeat;
    background-position:top;
    background-size:cover;
}

.title h1{
    padding:150px 0;
    margin-right:30px;
}

.title .topimg{
    width:450px;
    height:408px;
    background-image: url("image/topimg.png");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    margin-top:70px;
}

/*-------------------------------------------------
div banner
-------------------------------------------------*/

.pdf_dl{
    font-size:22px;
    font-weight: bold;
    text-align: center;
    box-sizing: border-box;
}

.pdf_dl a{
    width:350px;
    padding:20px;
    margin:50px auto;
    border-radius: 50px;
    color:#ffffff;
    background-color:#0069b3;
    display: block;
}

.pdf_dl a span{
    display: block;
}

.pdf_dl a:hover {
    background-color:#0087e6;
    display: block;
}

/*-------------------------------------------------
FOOTER CLASSES
-------------------------------------------------*/
.primary-footer{ overflow:hidden; margin:0 auto; min-width: 960px;}
.footer-wrap{ background:#1a202c; overflow:hidden; padding-top:50px; margin-top:50px; padding-bottom:50px;  }
.footer{ width:960px; margin:0 auto;}
.footer .panel{float:left; background:none; width:300px;}
.footer .panel .title h1{ color:#ffffff;}
.footer .panel .content{padding-top:25px;}
.footer .panel .content p{ color:#435059;}
.footer .panel .content .button a{ margin-top:30px; background:#d13f31; width:70px; height:30px;}
.footer .panel .content .button a:hover{ margin-top:30px; background:#1f7872;}
.footer .panel .content ul li{ list-style:url(./images/arrow.png) inside; border-bottom:#273042 solid 1px; line-height:35px;}
.footer .panel .content ul li a{text-decoration:none; color:#435059;}
.footer .panel .content ul li a:hover{color:#d13f31;}
.footer .panel .content ul li.-no-border-bottom{border-bottom:none;}

.copyright-wrap{ background:#0069b3; overflow: hidden; padding: 20px 0px 20px 0px;}
.copyright-wrap .panel{width: 960px; margin: 0 auto; background: none;}
.copyright-wrap .panel .content p{ color: #ffffff; text-align: center; font-size: 12px;}
.copyright-wrap .panel .content p a{ text-decoration: none; color: #ffffff;}
.copyright-wrap .panel .content p a:hover{ color: #1a202c;}


/*-------------------------------------------------
SP
-------------------------------------------------*/

@media screen and (max-device-width: 1000px) {

    .title{
        display: block;
        padding:20px 0;
    }

    .title h1{
        padding:20px;
        margin-right:0;
    }

    .title .topimg{
        display: none;
    }

    .title .topimg_sp{
        width:400px;
        height:362px;
        background-image: url("image/topimg.png");
        background-repeat:no-repeat;
        background-position:center;
        background-size:contain;
        margin:0 auto;
    }

    h1 .sub2{
        width:70%;
        max-width: 650px;
        margin:20px auto;
    }

    section{
        width:93%;
    }
}

@media screen and (max-device-width: 759px) {

    html,body {
	font-size: 20px;
    }

    h1 .sub{
        font-size:36px;
    }

    h1 .sub2{
        font-size:30px;
        margin-top: 25px;
    }

    h1 .main{
        font-size:64px;
    }

    h2{
        font-size: 36px;
    }

    h3{
        font-size: 32px;
    }

    .text_s{font-size:20px; line-height: 1.5;}
    .text_m{font-size: 26px; line-height: 1.7;}
    .text_l{font-size: 32px;}
    .text_prof{font-size:22px; line-height: 1.7;}

    .margin_s{margin-top:1rem !important;}
    .margin_m{margin-top:3rem !important;}
    .margin_l{margin-top:5rem !important;}
    .margin_l_b{margin-bottom:8rem !important}
    .margin_m_sp{margin-top:3rem !important;}

    .no_sp{
        display: none;
    }

    .no_dt{
        display: block;
    }

    ol li{
        margin-left:3.5rem;
        margin-bottom:1rem;
    }

    .head_wrap .panel p a {
        font-size: 1.4rem;
    }

    .copyright-wrap .panel .content p {
        font-size: 1.4em;
    }

    .enjya_box {
        display: block;
    }

    .enjya_box .left {
        width: 100%;
        text-align: center;
    }

    .enjya_box .left img {
        width: 18rem;
    }

    .enjya_box .right {
        width: 100%;
        padding-left: 0;
    }

    .enjya_box .right p:first-child {
        text-align: center;
    }

    .full-width {
        width:100vw; 
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
    }
    .full-width img{
        max-width:100vw;
        width:100vw;
    }

    .program{
        display:block;
        padding:35px 0;
    }

    .program li{
        width:100%;
        font-size:30px;
        margin-bottom:25px;
        text-align: center;
        list-style: none;
    }

    .gaiyou ul{
        display: block;
    }
    
    .gaiyou > ul > li{
        display: block;
    }
    .gaiyou > ul > li div:first-child{
        background-color:#fff;
        color:#1a202c;
        width:100%;
        padding:0;
        font-size:28px;
        margin-top:20px;
    }

    .gaiyou > ul > li div:last-child{
        padding-left:0;
        width:100%;
        border-bottom:1px dotted #0069b3;
        font-size:26px;
    }

    .head_wrap .panel {
        width: 100%;
        padding-left:1rem;
    }

    .kaisai_block {
        width: 18rem;
        padding: 0.5rem 0;
        margin-top: 3.750rem;
        margin-right: 15px;
        font-size: 1.8rem;
        font-weight: bold;
    }

    .pdf_dl {
        font-size: 2.4rem;
    }

    .pdf_dl a {
        width: 400px;
        margin:4rem auto;
        border-radius: 100px;
    }

    .button_back{
        font-size:2.4rem;
    }
    .button_back a{
        width: 34rem;
        padding: 1.8rem;
        margin:4rem auto;
        border-radius: 30rem;
    }

    input {
        font-size:2rem;
        padding:0.3em;
        margin:1rem 0.5em;
    }

    .form_width01{
        width:20em !important;
    }

    .form_width02{
        width:10em !important;
    }

    .form_width03{
        width:5em !important;
    }

    .textarea_width01{
        width:98% !important;
        height:10rem !important;
    }
    
    .hissu {
        font-size:1.8rem;
        padding:0.1em 0.4em;
    }

    .red_box {
        padding: 1rem;
    }

}