/*common.css*/
* {
    margin: 0;
    padding: 0;
}

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

/*utility class*/
.pad-top {
    padding-top: 60px;
}

.text-center {
    text-align: center;
}

.abslt {
    position: absolute;
}

.btn_ct1 {
    width: 240px;
    height: 80px;
    position: relative;
}

.btn_ct2 {
    width: 240px;
    height: 35px;
    position: relative;
}

.tel_po {
    right: 25px;
    bottom: 20px;
    position: absolute;
}

.rubi_po {
    right: 25px;
    top: 8px;
    position: absolute;
}

.glyph_po {
    left: 16px;
    top: 8px;
    position: absolute;
}

.mail_po {
    left: 55px;
    top: 6px;
    position: absolute;
}

.btn_ct1 p,
btn_ct2 p {
    margin: 0;
    line-height: 100%;
}

.fo10 {
    font-size: 10px;
}

.fo11 {
    font-size: 11px;
}

.fo12 {
    font-size: 12px;
}

.fo16 {
    font-size: 16px;
}

.fo18 {
    font-size: 18px;
}

.fo20 {
    font-size: 20px;
}

.fo25 {
    font-size: 25px;
}

.fo28 {
    font-size: 28px;
}

.fo29 {
    font-size: 29px;
}

.fo30 {
    font-size: 30px;
}

.fo36 {
    font-size: 36px;
}

.gre01 {
    color: #366;
}

.gre02 {
    color: #363;
}

.gre03 {
    color: #360;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mt70 {
    margin-top: 70px;
}

.mb5 {
    margin-bottom: 5px;
}

.mb0 {
    margin-bottom: 0;
    font-size: 0.7rem;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb80 {
    margin-bottom: 80px;
}

.mb100 {
    margin-bottom: 100px;
}

.mb150 {
    margin-bottom: 150px;
}

.mb200 {
    margin-bottom: 200px;
}

.ml10 {
    margin-left: 10px;
}

.mr10 {
    margin-right: 10px;
}

.mr50 {
    margin-right: 50px;
}

.pd0 {
    padding: 0;
}

.pb0 {
    padding: 0;
}

.pt0 {
    padding-top: 0;
}

.pt10 {
    padding-top: 10px;
}

.pt20 {
    padding-top: 20px;
}

.pt30 {
    padding-top: 30px;
}

.pb20 {
    padding-bottom: 20px;
}

.pl10 {
    padding-left: 10px;
}

.pl20p {
    padding-left: 20%;
}

.m0auto {
    margin: 0 auto;
}

.align-center {
    text-align: center;
}

.align-right {
    text-align: right;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

.opa08 {
    opacity: 0.8;
}

a:hover img {
    opacity: 0.8;
}

a {
    color: #396;
}

a:hover {
    color: #393;
}

a:hover,
a:active,
a:visited {
    text-decoration: none;
}

p {
    line-height: 1.7;
    margin: 0;
    padding: 0;
}

h2,
h3 {
    line-height: 1.4;
}

img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.img-responsive100 {
    width: 100%;
}

@media screen and (min-width: 769px) {
    .mt15 {
        margin-top: 15px;
    }
}

@media (max-width: 768px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}

/*header*/

header {
    background: linear-gradient(to bottom, #c5ac5e, #fffce9, #c5ac5e);
}

header ul {
    display: flex;
    width: 1000px;
    margin: 0 auto;
    padding: 0 0;
    list-style: none;
    align-items: center;
    justify-content: center;
}

header ul li {
    align-self: center;
    font-size: 15px;
}

.hd_logo {
    margin: 20px 10px 10px 0;
    width: 230px;
}

li.hd_logo img {
    width: 100%;
}

.hd_contact {
    margin: 0 45px 0 20px;
}

/* nav */
#global_nav {
    display: flex;
    width: 1000px;
    height: 45px;
    list-style: none;
    margin: 10px auto 10px;
    align-items: flex-end;
    justify-content: center;
}

#global_nav li {
    box-sizing: border-box;
    border-right: 1px solid #000;
    flex-basis: 120px;
}

#global_nav li:first-child {
    border-left: 1px solid #000;
}

nav ul li a {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
}

@media (max-width: 768px) {

    /* Toggle Button */
    #nav-toggle {
        display: none;
        position: absolute;
        right: 15px;
        top: -5px;
        width: 34px;
        cursor: pointer;
        z-index: 101;
    }

    #nav-toggle div {
        position: relative;
    }

    #nav-toggle span {
        display: block;
        position: absolute;
        height: 4px;
        width: 100%;
        background: #93d065;
        left: 0;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
    }

    #nav-toggle span:nth-child(1) {
        top: 0;
    }

    #nav-toggle span:nth-child(2) {
        top: 11px;
    }

    #nav-toggle span:nth-child(3) {
        top: 22px;
    }

    header ul {
        width: 100%;
        justify-content: flex-start;
        margin-left: 15px;
        height: 44px;
    }

    .hd_logo {
        margin: 0 10px 0 0;
        width: 80px;
    }

    .hd_logo h1 {
        margin: 0;
    }

    .hd_logo img {
        max-width: 120px;
    }

    header ul p {
        font-size: 10px;
    }

    #global_nav {
        background: rgba(255, 255, 255, 0.8);
        width: 100%;
        height: auto;
        margin: 0;
        position: fixed;
        right: 0;
    }

    #global_nav li:first-child {
        border-left: none;
    }

    #global_nav li {
        border-right: none;
        border-bottom: 1px solid #000;
        padding: 10px 0 0;
    }

    #top_head {
        top: 0;
        position: fixed;
        margin-top: 0;
        width: 100%;
        z-index: 999;
    }

    /* Fixed reset */
    #top_head .fixed {
        padding-top: 0;
        background: transparent;
    }

    #mobile-head {
        background: #fff;
        width: 100%;
        height: 56px;
        z-index: 999;
        position: relative;
    }

    #top_head .fixed .logo,
    #top_head .logo {
        position: absolute;
        left: 13px;
        top: 13px;
        color: #333;
        font-size: 26px;
    }

    #top_head #global-nav li a,
    #top_head.fixed #global-nav li a {
        width: 100%;
        display: block;
    }

    #nav-toggle {
        display: block;
    }

    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }

    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }

    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
}

.wrapper {
    width: 1000px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .wrapper {
        width: 100%;
    }
}

.main-visual {
    margin: 20px auto;
}

.main-visual img {
    width: 100%;
}

@media (max-width: 768px) {
    main {
        margin-top: 44px;
    }
}

/* FOOTER */
footer {
    width: 1000px;
    margin: 0 auto 30px;
}

.footer_box {
    border: 3px solid #efefef;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 905px;
    margin: 30px auto;
    padding: 15px;
}

.footer_map {
    text-align: center;
}

.footer_map a {
    color: #000;
    text-decoration: underline;
}

.footer_nav {
    list-style: none;
    display: flex;
    justify-content: space-between;
}

.footer_nav li a {
    color: #000;
}

.footer_nav li {
    text-align: center;
    flex-grow: 1;
}

.footer_nav li+li {
    border-left: 2px solid #c8c8c8;
}

.footer_logo {
    width: 200px;
}

.footer_logo img {
    width: 100%;
}

#page_top {
    width: 50px;
    height: 50px;
    position: fixed;
    right: 1.1%;
    bottom: 85px;
    background: #3a8c08;
    opacity: 0.6;
    line-height: 1;
}

#page_top a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}

#page_top a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f106';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}

@media (max-width: 768px) {
    footer {
        width: 100%;
    }

    .footer_box {
        display: block;
        width: 90%;
    }

    .footer_logo {
        width: 200px;
        text-align: center;
        margin: 0 auto 20px;
    }

    .footer_access {
        margin-bottom: 20px;
        font-size: 12px;
    }

    .footer_nav {
        display: block;
        width: 90%;
        margin: 0 auto;
        text-align: center;
    }

    .footer_nav li {
        display: inline-block;
        padding: 0 5px;
        margin-bottom: 10px;
        font-size: 10px;
    }
}


/* CONTENTS*/
.inner {
    width: 1000px;
    margin: auto;
}

.flex {
    display: flex;
}

@media screen and (max-width: 768px) {
    .flex {
        flex-wrap: wrap;
    }
}

#flt_banner {
    width: 220px;
    position: fixed;
    right: 1%;
    bottom: 150px;
    z-index: 9999;
    transition: all, .3s, ease, .3s;
    display: block;
}

#flt_banner img {
    width: 100%;
}

@media only screen and (max-width: 480px) {
    #flt_banner {
        width: 120px;
    }
}

/*****sec01*****/
.sec01 {
    padding: 40px 0 0;
}

@media screen and (max-width: 768px) {
    .sec01 {
        padding: 10px 0 40px;
    }
}

.sec01 .flex {
    align-items: center;
    justify-content: space-around;
}

@media screen and (max-width: 768px) {
    .sec01 .flex {
        display: block;
    }

    .sec01.wrapper {
        width: 95%;
        margin: auto;
    }
}

.sec01 h2 {
    font-size: 34px;
    position: relative;
}

@media screen and (max-width: 768px) {
    .sec01 h2 {
        font-size: 24px;
        width: 100%;
        text-align: center;
        margin: 5px auto 35px auto;
    }
}

.sec01 h2:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    bottom: -20px;
    background-repeat: no-repeat;
    width: 140px;
    height: 2px;
    background-color: #3a8c08;
    background-size: contain;
}

@media screen and (max-width: 768px) {
    .sec01 h2:after {
        bottom: -12px;
    }

}

.sec01 .txt-box {
    font-size: 16px;
    width: 580px;
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .sec01 .txt-box {
        width: 100%;
    }
}

/*****sec02*****/
.bg01 {
    background-color: #ccebda;
    margin: 0 calc(50% - 50vw);
}

.course {
    padding: 10px 5% 40px;
}

.course h2 {
    font-size: 26px;
    margin-bottom: 20px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .course h2 {
        font-size: 24px;
    }
}

.course .flex {
    justify-content: space-between;
}

.course .box {
    width: 47%;
    background-color: #fff;
    border-radius: 5px;
    padding: 5px 25px 10px 25px;
}

@media screen and (max-width: 768px) {
    .course .box {
        width: 100%;
    }

    .course .box:nth-of-type(even) {
        margin-top: 20px;
    }
}

.course img {
    width: 100%;
    margin: 15px auto;
}

.course dl dt {
    text-align: center;
    font-size: 21px;
}

dt {
    font-weight: normal;
}

.course:nth-child(2) {
    margin-top: 70px;
}

.con_box dt img {
    width: 263px;
}

/*****information*****/
.info {
    background: #e8e7e8;
    padding: 1px 15px 1px;
    width: 720px;
    margin: 50px auto;
}

.info dl {
    height: 330px;
    overflow-y: scroll;
    background: #fff;
    padding: 0 13px 19px;
}

.info dl dt {
    clear: left;
}

.info dl dt,
.info dl dd {
    float: left;
    border-bottom: 1px solid #000;
    font-weight: normal;
    font-size: 12px;
    padding-top: 10px;
}

.info dl dd {
    padding-left: 1em;
}

@media screen and (max-width:768px) {
    .info {
        padding: 15px 20px;
        width: 100%;
        margin: 40px auto 40px;
    }
}

/*****sec03*****/
.event-wrap {
    width: 720px;
    background-color: #e8e7e8;
    padding: 20px 20px 20px 20px;
    margin: 70px auto 80px;
}

@media screen and (max-width: 768px) {
    .event-wrap {
        width: 100%;
        margin: 40px auto 50px;
    }
}

.event-wrap .inner {
    width: 680px;
    background-color: #fff;
    position: relative;
}

@media screen and (max-width: 768px) {
    .event-wrap .inner {
        width: 100%;
    }
}

.event-heading {
    position: relative;
    left: -33px;
    top: -24px;
    display: inline-block;
    background-color: #165da1;
    color: #fff;
    padding: 18px 31px 15px;
    margin: 18px 0px -10px 33px;
    font-size: 22px;
    height: 64px;
}

.event-heading:after {
    content: "";
    position: absolute;
    right: -38px;
    bottom: -49px;
    background-repeat: no-repeat;
    background-size: contain;
    border-top: 63px solid #165da1;
    border-right: 38px solid transparent;
    border-bottom: 50px solid transparent;
    border-left: 50px solid transparent;
}

@media screen and (max-width: 768px) {
    .event-heading:after {
        content: "";
        position: absolute;
        right: -38px;
        bottom: -49px;
        background-repeat: no-repeat;
        background-size: contain;
        border-top: 63px solid #165da1;
        border-right: 38px solid transparent;
        border-bottom: 50px solid transparent;
        border-left: 50px solid transparent;
    }
}

.event-box.flex {
    margin: 0 20px;
    padding: 20px 0;
    border-bottom: 1px dashed #ddd;
    flex-wrap: wrap;
}

.event-box.flex:last-child {
    border: none;
}


@media screen and (max-width: 768px) {
    .event-img {
        width: 100%;
    }
}

.event-img img {
    width: 150px;
}

@media screen and (max-width: 768px) {
    .event-img img {
        width: 100%;
    }
}

.event-details {
    margin-left: 20px;
    width: 450px;
    position: relative;
}

@media screen and (max-width: 768px) {
    .event-details {
        margin-left: 0;
        margin-top: 20px;
        width: 100%;
    }
}

.event-tag {
    padding: 5px 12px;
    display: inline-block;
    color: #fff;
}

.indoor {
    background-color: #5fa2b8;
}

.outdoor {
    background-color: #6bb689;
}


@media screen and (max-width: 768px) {
    .event-description {
        margin-bottom: 15px;
    }
}

.event-type {
    color: #315d96;
    font-weight: bolder;
    float: left;
}

.event-entry_box {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

@media screen and (max-width: 768px) {
    .event-entry_box {
        justify-content: center;
        margin: 20px 0 0;
    }
}

.event-entry {
    display: block;
    color: #fff;
    background: #ee8988;
    /* Old browsers */
    background: -moz-linear-gradient(top, #f5b6b6 0%, #d94e52 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #f5b6b6 0%, #d94e52 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #f5b6b6 0%, #d94e52 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5b6b6', endColorstr='#d94e52', GradientType=0);
    /* IE6-9 */
    border-radius: 5px;
    width: 200px;
    text-align: center;
}

.event-entry:hover {
    opacity: 0.8;
}

@media screen and (max-width: 768px) {
    .event-entry {
        float: right;
        position: static;
    }
}

.event-entry a {
    color: #fff;
    display: block;
    padding: 14px 15px;
    font-size: 13px;
}

@media screen and (max-width: 768px) {
    .event-entry a {
        padding: 12px 12px;
        font-size: 10px;
    }
}

/*****sec04*****/
.event-example {
    margin-bottom: 70px;
}

@media screen and (max-width: 768px) {
    .event-example {
        margin-bottom: 40px;
    }
}

.heading-border {
    text-align: center;
    position: relative;
}

@media screen and (max-width: 768px) {
    .heading-border {
        font-size: 24px;
    }
}

.heading-border:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    bottom: -20px;
    background-repeat: no-repeat;
    width: 120px;
    height: 2px;
    background-color: #3a8c08;
    background-size: contain;
}

@media screen and (max-width: 768px) {
    .heading-border:after {
        content: "";
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        bottom: -12px;
        background-repeat: no-repeat;
        width: 120px;
        height: 2px;
        background-color: #3a8c08;
        background-size: contain;
    }
}

.example-wrap.flex {
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 70px 0 30px;
}

@media screen and (max-width: 768px) {
    .example-wrap {
        width: 100%;
    }

    .example-wrap.flex {
        margin: 60px 0 20px;
    }
}

.example-box {
    width: 482px;
    height: 329px;
    position: relative;
    background-position: top left;
    background-repeat: no-repeat;
    background-size: contain;
}

.example-box:first-child {
    background-image: url(../../img/newtop/sec4-1.jpg);
}

.example-box:nth-child(2) {
    background-image: url(../../img/newtop/sec4-2.jpg);
}

.example-box:nth-child(3) {
    background-image: url(../../img/newtop/sec4-3.jpg);
}

.example-box:nth-child(4) {
    background-image: url(../../img/newtop/sec4-4.jpg);
}

.example-box:nth-child(5) {
    background-image: url(../../img/newtop/sec4-5.jpg);
}

.example-box:nth-child(6) {
    background-image: url(../../img/newtop/sec4-6.jpg);
}

@media screen and (max-width: 768px) {
    .example-box {
        width: 100%;
        height: auto;
        position: relative;
        max-width: 100%;
        margin-bottom: 15px;
    }

    /* 黄金比 - 高さを幅の61.8%に固定 */
    .example-box:before {
        content: "";
        display: block;
        padding-top: 61.8%;
    }
}

.example-description {
    position: absolute;
    left: 0;
    bottom: 0;
}

.example-description dt {
    font-size: 22px;
    color: #dc5370;
    margin-bottom: 10px;
    text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.9),
        0px 0px 2px rgba(255, 255, 255, 0.9),
        0px 0px 2px rgba(255, 255, 255, 0.9),
        0px 0px 4px rgba(255, 255, 255, 0.9),
        0px 0px 4px rgba(255, 255, 255, 0.9);
}

.example-description dd {
    text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.9),
        0px 0px 2px rgba(255, 255, 255, 0.9),
        0px 0px 2px rgba(255, 255, 255, 0.9),
        0px 0px 4px rgba(255, 255, 255, 0.9),
        0px 0px 4px rgba(255, 255, 255, 0.9);
}

@media screen and (max-width: 768px) {
    .example-description {
        left: 15px;
        bottom: -10px;
    }
}

.example-txt {
    color: #dc5370;
    font-size: 20px;
    text-align: center;
}

/*****sec06*****/
.features {
    margin: 70px auto;
}

@media screen and (max-width: 768px) {
    .features {
        margin: 40px auto 50px;
    }
}

.mar-t {
    margin-top: 20px;
}

.left-border {
    font-size: 26px;
    color: #63a757;
    border-left: 6px solid #63a757;
    padding-left: 15px;
    padding: 3px 0 3px 15px;
    margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
    .left-border {
        font-size: 20px;
        padding: 0 0 3px 10px;
        margin: auto auto auto 15px;
    }
}

.feature-box {
    width: 94%;
    margin: 20px auto 20px;
}

.feature-box:first-of-type {
    margin-top: 20px;
}

.feature-box:nth-of-type(2) {
    margin-top: 0;
}

@media screen and (max-width: 768px) {
    .feature-box {
        margin-bottom: 30px;
    }

    .feature-box:nth-of-type(2) {
        margin-top: 0;
    }
}

.feature-box .img-box {
    text-align: center;
}

@media screen and (max-width: 768px) {
    .feature-box .img-box {
        width: 95%;
        margin: auto;
        margin-top: 15px;
    }
}

.feature-box .txt {
    line-height: 1.7;
    margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
    .feature-box .txt {
        padding: 15px;
        margin-bottom: 0;
    }
}

.feature-box .txt-left {
    margin-left: 40px;
    line-height: 1.7;
}

@media screen and (max-width: 768px) {
    .feature-box .txt-left {
        padding: 15px;
        margin-left: 0;
    }
}

.feature-box .txt-right {
    margin-right: 40px;
    margin-left: 0;
}

@media screen and (max-width: 768px) {
    .feature-box .txt-right {
        margin-right: 0;
        padding: 15px;
    }
}

.feature-box h4 {
    font-size: 24px;
    position: relative;
    margin-bottom: 30px;
    line-height: 1.3;
    letter-spacing: 0;
}

.feature-box h4:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #ebf7f0;
    background-repeat: no-repeat;
    width: 100%;
    height: 34px;
    background-size: 100%;
    z-index: -1;
}

.feature-box h4 span {
    font-size: 30px;
    font-weight: bold;
    color: #66b88b;
    padding: 0 15px 0;
}

@media screen and (max-width: 768px) {
    .feature-box h4 {
        margin-bottom: 5px;
        padding-left: 3.5em;
        text-indent: -3.5em;
        background-color: #ebf7f0;
        padding-bottom: 0.5em;
    }

    .feature-box h4.sptyousei span {
        font-size: 30px;
        font-weight: bold;
        padding: 0 15px 0;
        position: relative;
        top: 10px;
    }
}

.photobox {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.oaitesagasi_box {
    margin: 30px auto;
}

.seikontoha {
    font-size: 14px;
    background: #f8f8f8;
    padding: 20px;
    margin: 10px auto 40px;
    width: 85%;
}

.photobox .photobox_txt {
    width: 63%;
}

.photobox .photobox_img {
    width: 35%;
    padding: 0 0 0 2%;
}

.photobox .photobox_txt2 {
    width: 48%;
}

.photobox .photobox_img2 {
    width: 50%;
    padding: 0 0 0 2%;
}

.photobox .photobox_img img {
    width: 100%;
}

@media screen and (max-width:768px) {
    .photobox .photobox_txt {
        width: 100%;
    }

    .photobox .photobox_img {
        width: 100%;
        padding: 0 0 0 0;
    }

    .photobox .photobox_txt2 {
        width: 100%;
    }

    .photobox .photobox_img2 {
        width: 100%;
        padding: 10% 0 0 2%;
    }

    .feature-box .oaitesagasi_box img {
        width: 100%;
    }

    .feature-box .photobox .photobox_img2 img {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .network-wrap {
        width: 95%;
        margin: 0 auto;
    }
}

.network-box.flex {
    justify-content: space-between;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .network-box.flex {
        flex-wrap: nowrap;
        margin-bottom: 20px;
    }
}

.logo-img {
    text-align: center;
    width: 200px;
}

@media screen and (max-width: 768px) {
    .logo-img {
        width: 60%;
        margin-right: 20px;
    }
}

.network-note {
    margin: 20px 0 30px;
}

@media screen and (max-width: 768px) {
    .network-note {
        margin: 0;
    }
}

.certification.flex {
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.certification.flex div {
    margin-bottom: 20px;
    flex-direction: column;
}

@media screen and (max-width: 768px) {
    .certification.flex {
        width: 95%;
        margin: auto;
    }

    .certification.flex div {
        margin: 2% 0;
    }
}

.certification img {
    margin-left: 0;
}

.cms-box.flex {
    align-items: center;
    font-size: 18px;
}

@media screen and (max-width: 768px) {
    .cms-box.flex {
        width: 100%;
        justify-content: center;
    }
}

.cms-box p {
    font-size: 13px;
    font-weight: bold;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .cms-box p {
        padding: 20px 20px 10px 20px;
    }
}

.cms-box img {
    margin-right: 20px;
    width: 150px;
}

@media screen and (max-width: 768px) {
    .cms-box img {
        margin-right: 0;
        width: 48%;
    }
}

.note {
    font-size: 12px;
    margin: 20px auto;
    width: 700px;
    padding: 20px 30px;
    background-color: #f8f8f8;
}

.note.association {
    font-size: 14px;
    width: 687px;
}

@media screen and (max-width: 768px) {
    .note {
        width: 95%;
        margin: auto;
    }

    .note.association {
        width: 95%;
        margin: auto auto 15px auto;
    }
}

.space-wrap {
    width: 687px;
    margin: 20px auto 50px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .space-wrap {
        width: 95%;
        margin: auto;
    }
}

.space-wrap p {
    font-size: 14px;
    font-weight: bold;
    border-bottom: 1px solid #333;
    margin-bottom: 15px;
    padding-bottom: 10px;
}

.space-wrap .flex {
    justify-content: space-between;
}

.space-wrap .item {
    width: 50%;
}

@media screen and (max-width: 768px) {
    .daihyo {
        width: 60%;
    }

    #global-nav img {
        width: auto;
    }

    footer img {
        width: auto;
    }

    .space-wrap .item {
        width: 48%;
    }
}

/*sp menu*/
@media screen and (max-width:768px) {
    header {
        width: 100%;
        position: relative;
        z-index: 11;
    }

    #toggle_button {
        display: none;
    }

    #toggle_button img {
        width: 100%;
    }

    #toggle_button {
        display: block;
        width: 44px;
        margin: 15px 15px 15px 0;
    }

    #global_nav {
        position: absolute;
        top: -444px;
        left: 0;
        right: 0;
        z-index: 10;
        transition: all 0.5s;
        display: flex;
        list-style: none;
        flex-direction: column;
    }

    #global_nav.clicked {
        top: 44px;
    }

    #global_nav ul {
        display: block;
    }

    #global_nav li {
        width: 100%;
        border-bottom: 1px solid #000;
        flex-basis: 60px;
    }

    #global_nav ul li a {
        text-align: left;
        padding: 15px;
        font-size: 14px;
    }

    #global_nav ul li a::after {
        display: none;
    }
}

.heading {
    text-align: center;
}

.heading ul {
    margin-top: 20px;
}

.heading li {
    font-size: 22px;
    padding: 20px 0 0;
}

@media screen and (max-width: 768px) {
    .heading ul {
        margin-top: 0px;
    }

    .heading li {
        font-size: 18px;
        padding: 10px 0 0;
    }
}

.event_member {
    width: 100%;
}

.event_member a {
    margin: 0 auto;
    display: block;
    width: 283px;
}

.event_member a:hover {
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    .event_member a {
        margin-bottom: 60px;
    }

    .space-wrap .flex .item img {
        width: 100%;
    }
}

span {
    font-size: 25px;
}

.logo-box img {
    width: 200px;
}

.logo-img img {
    width: 170px;
}

.test-space {
    display: flex;
    flex-direction: column;
}

.test-box {
    margin: 10px auto 0px;
}

.img-ibj img {
    width: 150px;
}

.img-ibj-logo img {
    width: 200px;
    margin: 0 0 0 auto;
}

.ibj-box {
    display: flex;
    align-items: center;
    justify-content: space-around;
}

@media screen and (max-width: 768px) {
    .ibj-box {
        flex-direction: column;
    }
}

.com-img {
    border: 1px solid;
    border-radius: 10px;
}

.com-img img {
    width: 100%;
}

.name {
    text-align: right;
    font-size: 16px;
}

.note-img {
    width: 100%;
}

.note-img img {
    width: 100px;
    margin-right: 10%;
}

.sub_text {
    color: hsl(0deg 0% 0% / 60%);
    font-size: 12px;
}


/*==================================================
スライダーのためのcss
===================================*/
.slider {
    position: relative;
    z-index: 1;
    /*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
    height: 579px;
    /*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}

/*　背景画像設定　*/

.slider-item01 {
    background: url(../../img/newtop/top_04.jpg);
}

.slider-item02 {
    background: url(../../img/newtop/top_05.jpg);
}

.slider-item03 {
    background: url(../../img/newtop/top_06.jpg);
}

.slider-item {
    width: 100%;
    /*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height: 100vh;
    /*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;
    /*背景画像をリピートしない*/
    background-position: center;
    /*背景画像の位置を中央に*/
    background-size: cover;
    /*背景画像が.slider-item全体を覆い表示*/
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
    position: absolute;
    /*絶対配置にする*/
    z-index: 3;
    top: 42%;
    cursor: pointer;
    /*マウスカーソルを指マークに*/
    outline: none;
    /*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #ccc;
    /*矢印の色*/
    border-right: 2px solid #ccc;
    /*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {
    /*戻る矢印の位置と形状*/
    left: 2.5%;
    transform: rotate(-135deg);
}

.slick-next {
    /*次へ矢印の位置と形状*/
    right: 2.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
    position: relative;
    z-index: 3;
    text-align: center;
    margin: -50px 0 0 0;
}

.slick-dots li {
    display: inline-block;
    margin: 0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width: 8px;
    /*ドットボタンのサイズ*/
    height: 8px;
    /*ドットボタンのサイズ*/
    display: block;
    border-radius: 50%;
    background: #ccc;
    /*ドットボタンの色*/
}

.slick-dots .slick-active button {
    background: #333;
    /*ドットボタンの現在地表示の色*/
}

.slick-initialized .slick-slide {
    display: block;
    height: 594px;
}

.img-box img {
    width: 250px;
}

.plice__table {
    border: 1px solid #000;
    max-width: 900px;
    margin: 20px auto;
    padding: 20px 30px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.plice__tr {
    display: flex;
    justify-content: space-between;
}

.plice__left {
    font-size: 22px;
}

.plice__right {
    font-size: 22px;
    text-align: left;
    width: 310px;
}

.plice__left.plice__heading {
    color: #74b569;
    font-size: 24px;
    font-weight: bold;
}

.plice__left.plice__heading span {
    font-size: 15px;
}

.plice__border {
    border-bottom: 1px solid black;
}

@media screen and (max-width: 768px) {
    .plice__tr {
        flex-direction: column;
    }

    .plice__right {
        text-align: right;
    }

}

/* レスポンシブ対応のための完全修正 */
.slider,
.slick-list,
.slick-track,
.slick-slide,
.slider-item {
    height: 80vh !important;
    min-height: 300px;
}

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

    .slider,
    .slick-list,
    .slick-track,
    .slick-slide,
    .slider-item {
        height: 230px !important;
        min-height: 200px;
    }

    .slick-initialized .slick-slide {
        height: 230px !important;
    }
}

/* slickによる強制高さ指定の解除 */
.slick-initialized .slick-slide {
    height: 230px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

/* 背景画像を美しく表示 */
.slider-item {
    background-size: cover;
    background-position: center;
}