@charset "utf-8";
/* CSS Document */
* {
    margin: 0px;
    padding: 0px;
}
html, body {
    font-family: 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", Meiryo, sans-serif;
    width: 100%;
    background-color: #fff6c2;
    color: #00323a;
    font-size: 100%;
}
img {
    max-width: 100%;
    height: auto;
}
a:hover {
    opacity: 0.6;
    -moz-opacity: 0.6;
    filter: alpha(opacity=60);
}
.wrap {
    overflow: hidden;
}
.style-a {
    font-family: serif;
    font-weight: bold;
}
h1 {
    width: 100%;
    max-width: 1164px;
    margin: 0 auto 20px;
    display: block;
}
h3 {
    background: #f45520;
    padding-top: 0.1em;
    margin: 20px auto 10px;
    max-width: 1000px;
    text-align: center;
    display: block;
    color: #ffffff;
    border-radius: 1em;
    font-weight: bold;
    font-size: XX-large;
}
h4 {
    background: #00252e;
    padding: 10px 10px 5px 10px;
    margin: 20px 0px 20px 0px;
    color: #ffffff;
    border-radius: 2em;
    font-weight: bold;
    font-size: X-large;
    text-align: center;
}
h5 {
    margin: 20px 0px 0px 0px;
    padding: 10px 15px 10px 30px;
    font-weight: bold;
    font-size: large;
}
hr {
    border-top: 1px solid #1b1464;
    margin: 0px 10px 5px 10px;
}
.hr01 {
    border-top: 1px solid #1b1464;
    margin: 10px 10px 30px 10px;
}
.back1 {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-image: url("./img/top_back_pc.jpg");
    padding: 5px 0px 40px;
    margin: 0 0 80px 0;
    width: 100%;
}
@media screen and (max-width:768px) {
    .back1 {
        margin: 0 0 40px 0;
        background-image: url("./img/top_back_sp.jpg");
        min-height: 480px;
        padding: 5px 0px 10px;
    }
}
.top {
    width: 95%;
    max-width: 1164px;
    margin: 1.2em auto;
    text-align: center;
}
.back2 {
    background: #FFFFFF;
    background-repeat: repeat;
    padding: 25px 0px 20px;
    margin: 80px 0 80px 0;
    width: 100%;
    box-shadow: 0 0 8px #ffb343;
    color: #333333;
}
.back2 a {
    text-decoration: none;
}
@media screen and (max-width:768px) {
    .back2 {
        margin: 60px 0 50px 0;
        padding: 5px 0px 0px;
    }
}
.back3 {
    max-width: 920px;
    background-color: #fff;
    border-radius: 20px;
    margin: 60px 20px 80px 20px;
    padding: 10px 40px 20px 40px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 0 8px #ffb343;
}
.back3 p {
    margin: 0 0 20px 0;
}
@media screen and (max-width:768px) {
    .back3 {
        padding: 2px 10px 10px 10px;
        margin: 20px 10px 40px 10px;
    }
}
/*表示切り替え*/
.pc {
    display: block !important;
    margin: auto;
}
.pc2 {
    display: block !important;
    margin: left;
}
.sp {
    display: none !important;
}
@media only screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }
    .pc2 {
        display: none !important;
    }
    .sp {
        display: block !important;
    }
}
.br-pc {
    display: none;
}
.br-sp {
    display: inline;
}
@media screen and (min-width: 750px) {
    .br-pc {
        display: inline;
    }
    .br-sp {
        display: none;
    }
}
.y_center {
    width: 90%;
    max-width: 1164px;
    margin: 1.4em auto;
    text-align: center;
    display: block;
    font-size: large;
}
.text_b {
    margin: 0 0 45px 0;
    padding: 10px 30px 10px 30px;
    text-align: left;
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width:768px) {
    .text_b {
        padding: 0 4px 10px 10px;
    }
}
.text_bl {
    margin: 10px 0 40px 0;
    padding: 0 30px 10px 50px;
    text-align: left;
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width:768px) {
    .text_bl {
        margin: 0 0 30px 0;
        padding: 0 8px 10px 30px;
    }
}
.text_bl2 {
    list-style: none;
    margin: 10px 0 30px 0;
    font-size: smaller;
    padding-left: 1em;
}
.text_bl2 li:before {
    content: "※";
    margin-left: -1em;
}
.footer {
    width: 100%;
    max-width: 1000px;
    margin: 40px auto;
    text-align: center;
    display: block;
    font-size: small;
}
.flex_test-box {
    padding: 35px 0 35px 0;
    flex-wrap: wrap;
    display: flex;
    justify-content: center;
    text-align: left;
}
@media screen and (max-width:768px) {
    .flex_test-item {
        padding: 10px 10px 10px 20px;
        width: 95%;
    }
}
.flex_test-box {
    padding: 20px 0 25px 0;
}
.flex_test-box01 .flex_test-box02 {
    flex-wrap: wrap;
    display: flex;
    justify-content: center;
}
.flex_test-item01 {
    margin: 20px;
    width: 560px;
}
@media screen and (max-width:768px) {
    .flex_test-item01 {
        margin: 5px;
        width: 95%;
    }
}
.flex_test-item02 {
    margin: 10px;
    width: 440px;
}
.flex_test-item03 {
    margin: 10px;
    width: 480px;
}
@media screen and (max-width:768px) {
    .flex_test-item03 {
        width: 95%;
    }
}
.btn {
    margin: 60px 0px 40px 0px;
    font-size: small;
}
.btn02 {
    background: #f3552a;
    padding: 15px;
    margin: 20px 0 10px 0;
    max-width: 380px;
    text-align: center;
    display: block;
    color: #fff;
    border-radius: 5em;
    font-weight: bold;
    font-size: large;
    text-decoration: none;
}
.btn03 {
    background: #00323a;
    padding: 15px;
    margin: 20px 0 10px 0;
    max-width: 380px;
    text-align: center;
    display: block;
    color: #fff;
    border-radius: 5em;
    font-weight: bold;
    font-size: large;
    text-decoration: none;
}
.marker_y {
    background: linear-gradient(transparent 55%, #FFF57A 55%);
    font-weight: bolder;
}
.youtube {
    width: 85%;
    aspect-ratio: 16 / 9;
    margin: 40px auto 20px;
}
.youtube iframe {
    width: 85%;
    height: 85%;
}
@media screen and (max-width:768px) {
    .youtube {
        width: 100%;
    }
    .youtube iframe {
        width: 100%;
        height: 100%;
    }
}
/*アニメーション*/
.js-animation {
    opacity: 0;
    visibility: hidden;
    transform: translateY(40px);
    transition: all 1s;
}
.js-animation.is-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}