*{
    font-family: "zen-kaku-gothic-antique", sans-serif;
    font-weight: 400;
    font-style: normal;
}

body{
    background-color:#f2f2f2;
}
a{
}

a:hover{
    color: #50859d;
}
nav{
        position: fixed;
        top: 0px;
        width: 100%;
        z-index: 10;
        background:#fff;
        float:right;
        
    }
    nav ul{
        display: none;
        list-style:none;
        margin:4vw 0;
    }
    nav li a{
        padding: 2vw;
        font-size: 4vw;
        color: #464646;
        display: block;
        text-align:left;
        text-decoration: none;
        padding-left:7vw;
    }
    .hamburger {
    position: absolute;
    top: 7vw;
    right:5vw;
    cursor: pointer;
    width: 8vw;
    height: 4vw;
    z-index: 10;
    clear:both;
}
.hamburger span {
    /*3本の線を作る*/
    transition: all .3s;
    position: absolute;
    height: 2px;
    background-color: #333;
    width:100%;
    z-index: 10;
}
.short{
    width:70% !important;
    margin-left:2.4vw;
}
.hamburger span:nth-of-type(1) {
    /*上の線の位置*/
    top: 2vw;
}
.hamburger span:nth-of-type(2) {
    /*真ん中の線の位置*/
    top: 4vw;
}
.hamburger span:nth-of-type(3) {
    /*下の線の位置*/
    top: 20px;
}
.hamburger.open span:nth-of-type(1) {
    /*openのとき、上の線を右斜めにする*/
    top: -2vw;
    transform: translateY(3vw) rotate(-33deg);
}
.hamburger.open span:nth-of-type(2) {
    /*真ん中の線を消す*/
    /*opacity: 0;*/
    top: 4vw;
    right:0vw;
    width:100% !important;
    margin-left:2.4vw;
    transform: translateY(-3vw) rotate(33deg);
}
.hamburger.open span:nth-of-type(3) {
    /*下の線を左斜めにする*/
    top: 22px;
    transform: translateY(-6px) rotate(33deg);
}

footer{
    background-color:#000;
    font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 500;
        font-style: normal;
        font-size:0.4em;
        line-height: 1.6;
        letter-spacing: 0.2em;
        color:#fff;
        text-align:center;
}


@media screen and (min-width:320px) and ( max-width:1024px) {
    /*　画面サイズが320pxから1024pxまではここを読み込む　*/
    #wrap{
        width:100%;
        background-color: #fff;
    }
    header{
        position:sticky;
        top: 0;
        height:auto;
        background-color: #fff;
        z-index: 100;
    }

    header h1{
        width:100%;
        /*float:left;*/
        margin:0;
        padding:2% 0 2% 2%;
        background-color: #fff;
    }
    header h1 img{
        width:80%;
    }
    #contents{
        clear:both;
    }
    #contents{
        width:100%;
        margin: 0 auto;
        padding:6vw;
    }
    .readBox{
        width:100%;
        height:auto;
        /*background-color:#ffC;*/
        text-align:right;
        margin:0 auto 5% auto;
    }

    .clearFloat{clear:both;}

    .keyVisual{
        width:100%;
        overflow: hidden;
        margin:10px auto;
    }

    .bigText1{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:5.5vw;
        line-height: 1.0;
        letter-spacing: 0.1em;
        padding:7vw 0 1vw 0;
        width:100%;
        text-align:center;
    }
    p.orangeText{
        color:#f15a24;
        border:none;
        font-size:4vw;
        line-height:5.2vw;
        margin:1% auto;
        width:75%;
        text-align:center;
    }

    section{
        width:100%;
        height:auto;
        margin:0 auto 0 auto;
        padding:10% 0 0 0;
        clear:both;
    }

    section h2{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 500;
        font-style: normal;
        font-size:6vw;
        line-height: 9vw;
        letter-spacing: 0.8vw;
        padding:0;
        width:100%;
        margin:0 auto;
        text-align: left;;
    }

    section p{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:4vw;
        line-height: 6.9vw;
        letter-spacing: 0.3vw;
        color:#000;
        padding: 8vw 0 0.5em 0;
        width:100%;
        margin:0 auto;
    }
    .snsIcon{
        text-align: right;
        padding-right:3%;
    }
    .snsIcon a{
        margin-left:3%;
    }
    .snsIcon a img{
        width:6.4%;
    }
    .subscriptionBox{
        width:100%;
        padding:8vw 8vw 11vw 8vw;
    }

    .subscriptionBox p{
        border: solid thin #000;
        text-align: center;
        padding:1.9vw 1.0vw;
        margin:4% auto;
        width:77%;
        font-size:5vw;
    }

    .subscriptionBox p a{
        font-family: "noto-sans-cjk-jp", sans-serif;
        font-size:1.0em;
        font-weight: 550;
        font-style: normal;
        text-align: center;
        padding-top:1em;
        margin:5%;
        width:100%;
    }
    .subscriptionBox p.orangeText{
        color:#f15a24;
        border:none;
        font-size:1.0em;
        margin:1% auto;
    }
    .backTop{
        width:18%;
        margin:0 auto;
    }

    hr{
        margin:23% auto 9% auto;
        width:15%;
        color:#000;
    }
    section{
        
    }
    section h3{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 500;
        font-style: normal;
        font-size:9vw;
        text-align: center;
        letter-spacing: 0.09em;
    }

    section h4{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:4vw;
        text-align: center;
        margin-bottom:2em;
        padding:0.4em 0 2em 0;
        color:#4d4d4d;
        letter-spacing: 0.1em;
    }
    /*アコーディオン*/
    .accordionBox{
        width:100%;
        margin:0 auto;
        padding-bottom:1em;
        border-bottom:#000 solid thin;
    }

    .accordionBox .accordion-header{    
        transition: background .3s ease;
        cursor: pointer;
        position: relative;
        padding: 4vw 0vw 0vw 0vw;
        margin:0vw 0vw -1vw 0vw;
        border-top:#000 solid thin;
    }

    .accordionBox .accordion-header:first-child{
        border-top:none;
    }

    .accordionBox .accordion-header h4{
        text-align:left;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 500;
        font-style: normal;
        font-size:5.3vw;
        line-height:8.2vw;
        letter-spacing: 0.05vw;;
        color:#000;
        transition: background .3s ease;
    cursor: pointer;
    position: relative;
    padding: 1px 20px 0em 1vw;
    margin-bottom:0.5vw;
    
    }

    .accordionCloseBtn.active{
        display:none;
    }
    .accordionCloseBtn.noactive{
        display:block;
    }
    .accordion-content {
    display: none;
    padding:0 2em 1em 2em;
    
    }
    .accordion-content:first-child {
    display: none;
    /*border-bottom:none;*/
    }

    .accordion-content p{
        text-align:left;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 200;
        font-style: normal;
        font-size:4vw;
        letter-spacing: 0.1em;
        color:#4d4d4d;
        margin-bottom:2em;
        width:100%;
    }

    .accordionOpenBtn{
        text-align: right;
        display:block;
        position:relative;
        top:-4vw; 
        right:1vw;  
    }
    .accordionCloseBtn
    {
        text-align: right;
        display:block; 
        position:relative;
        right:-1.5em;   
    }

    .accordionCloseBtn img,
    .accordionOpenBtn img{
        width:4%;   
    }

    /*/accordion*/
    .accordion-content h5{
        text-align:left;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:6vw;
        letter-spacing: 0vw;
        color:#000;
        padding:0.8em 0 1em 0;
        line-height:0.8;
    }
    .teacherPosition{
        font-weight: 300;
        font-size:3.4vw;
        color:#000;
        margin-top:2.8vw;
        display:block;
        
    }
    .teacherImg {
        width:100%;
    }
    .teacherImg img{
        width:100%;
        height:58vw;
        object-fit:cover;
    }
    .courseBox{
        margin-bottom:2em;
    }
    .iconBox{
        margin-bottom:7vw;
    }
    .iconBox img{
        width:12vw;
    }
    .courseBox h3{
        text-align:left;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 500;
        font-style: normal;
        font-size:10vw;
        letter-spacing: 1vw;
        line-height:15vw;
        color:#000;
        padding-bottom:0.5em;
    }
    .courseBox span{
        text-align:left;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:3.1vw;
        letter-spacing:0.2vw;
        color:#000;
    }

    section .courceRead{
        text-align:left;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:4.2vw;
        letter-spacing: 0.1vw;
        color:#000;
        width:100%;
    }

    /*more view*/
    .cp_box1 {
    position: relative;
    width:85%;
    margin:6vw auto;
    }
    .cp_box1 input {
    display: none;
    }
    /*開くためのボタンとテキストを隠すグラデーションの設定*/
    .cp_box1 label {
    position: absolute;
    /*display: flex;
    flex-direction: column;*/
    /*align-items: center;*/
    z-index: 1;
    font-size:4vw;
    bottom: -10px;
    padding-right:11em;
    width: 100%;
    height: 140px; /* グラデーションの高さ */
    cursor: pointer;
    text-align: right;
    /* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
    background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    }
    /* 開いた時にグラデーションを消す */
    .cp_box1 input:checked + label {
    background: inherit;
    }
    .cp_box1 input:checked + label {
    /* display: none ; 閉じるボタンを消す場合コメントアウトを外す */
    }
    .cp_box1 .cp_container {
    overflow: hidden;
    height: 200px; /* 開く前に見えている部分の高さ */
    transition: all 0.5s;
    }
    /*続きをよむボタン*/
    .cp_box1 label:after,
    .cp_box1 label::before {
    content: '';
    position: absolute;
    line-height: 2.5rem;
    }
    .cp_box1 label:after {
    z-index: 2;
    bottom: 0px;
    width: 13em;
    content: 'つづきを読む';
    color: #50859d;
    }
    .cp_box1 label::before {
    position: absolute;
    bottom: 38px;
    left: calc(50% - 3.5em);
    z-index: 3;
    }
    .cp_container p{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:4.2vw;
        text-align: left;
        margin-bottom:2em;
        padding:0.4em 0 1em 0;
        color:#4d4d4d;
        letter-spacing: 0.05em;
    }
    .container p{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:4.2vw;
        text-align: left;
        margin-bottom:2em;
        padding:0.4em 0 1em 0;
        color:#4d4d4d;
        letter-spacing: 0.05em;
    }
    /*閉じるボタン*/
    .cp_box1 input:checked + label:after {
        content: '閉じる';
    }
    .cp_box1 input:checked + label:before {
        left: calc(50% - 2.5em);
        transform: scale(1, -1);
    }
    .cp_box1 input:checked ~ .cp_container {
        height: auto;
        padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
        transition: all 0.5s;
    }
    /*end more view*/

    /*requirements css*/
    .requirements dt{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:4vw;
        text-align: left;
        color:#000;
        letter-spacing: 0vw;
        margin:0vw 0 2vw 0;
        
    }

    .requirements dd{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:4.2vw;
        text-align: left;
        margin-bottom:0vw;
        padding-bottom:8vw;
        padding-left:3vw;
        color:#000;
        letter-spacing: 0.1vw;
        line-height:7vw;/*do not touch*/

    }

    .requirements dd span{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:3.1vw;
        text-align: left;
        color:#4d4d4d;
        letter-spacing: 0em;
        line-height:5.6vw;
        display:block;
    }

    .orngTxt{
        color:#f15a24 !important;
    }

    #thumbnailBox1 p,
    #thumbnailBox2 p,
    #thumbnailBox3 p{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:3.1vw;
        text-align: center;
        color:#000;
        letter-spacing: 0em;
        line-height:5.6vw;
        margin:0 0 5vw 0;
        padding:0 0 0 0;
    }

    .movieBox1{
        position:relative;
        padding-top:75%;
        height:0;
        margin:0 0 10vw 0;
    }

    .movieBox1 iframe{
        position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    }

    .mapBox{
        position:relative;
        padding-top:75%;
        height:0;
    }

    .mapBox iframe{
        position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    }

    .inquiryImg{
        width:50%;
        text-align:center;
        padding:30px 0;
        margin:0 auto;
    }

    .linkBox{
        width:100%;
    }

    .linkBox p{
        text-align:center;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:5.1vw;
        line-height: 5vw;
        letter-spacing: 0vw;
        padding:5% 0;;
        color:#000;

    }
    .linkBox p span{
        color:#4d4d4d;
        font-size:4vw;
    }

    .smallTxt1{
        font-size:4.4vw;
    }
    
}


@media screen and (min-width: 1024px) {
     #wrap{
        width:1024px;
        background-color: #fff;
        margin:0 auto;
        padding:0;
    }

    nav{
        position: fixed;
        top: 0px;
        width: 100%;
        z-index: 10;
        background:#fff;
        float:right;
        
    }
    nav ul{
        display: none;
        list-style:none;
        margin:4vw 0;
    }
    nav li a{
        padding: 2vw;
        font-size: 4vw;
        color: #464646;
        display: block;
        text-align:left;
        text-decoration: none;
        padding-left:7vw;
    }
    .hamburger {
    position: absolute;
    top: 7vw;
    right:5vw;
    cursor: pointer;
    width: 8vw;
    height: 4vw;
    z-index: 10;
    clear:both;
}
.hamburger span {
    /*3本の線を作る*/
    transition: all .3s;
    position: absolute;
    height: 2px;
    background-color: #333;
    width:100%;
    z-index: 10;
}
.short{
    width:70% !important;
    margin-left:2.4vw;
}
.hamburger span:nth-of-type(1) {
    /*上の線の位置*/
    top: 2vw;
}
.hamburger span:nth-of-type(2) {
    /*真ん中の線の位置*/
    top: 4vw;
}
.hamburger span:nth-of-type(3) {
    /*下の線の位置*/
    top: 20px;
}
.hamburger.open span:nth-of-type(1) {
    /*openのとき、上の線を右斜めにする*/
    top: -2vw;
    transform: translateY(3vw) rotate(-33deg);
}
.hamburger.open span:nth-of-type(2) {
    /*真ん中の線を消す*/
    /*opacity: 0;*/
    top: 4vw;
    right:0vw;
    width:100% !important;
    margin-left:2.4vw;
    transform: translateY(-3vw) rotate(33deg);
}
.hamburger.open span:nth-of-type(3) {
    /*下の線を左斜めにする*/
    top: 22px;
    transform: translateY(-6px) rotate(33deg);
}

    header{
        position:sticky;
        top: 0;
        height:auto;
        background-color: #fff;
        z-index: 100;
        height:100px;
    }

    header h1{
        width:100%;
        height:50px;
        /*float:left;*/
        margin:0;
        padding:2% 0 2% 2%;
        background-color: #fff;
    }
    header h1 img{
        width:40%;
    }
    #contents{
        clear:both;
    }
    #contents{
        width:100%;
        margin: 0 auto;
        padding:0 137px;
    }
    .readBox{
        width:95%;
        height:auto;
        /*background-color:#ffC;*/
        text-align:right;
        margin:30px auto 0 auto;
    }

    .clearFloat{clear:both;}

    .keyVisual{
        width:100%;
        overflow: hidden;
        margin:10px auto;
    }

    .bigText1{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:4.4vw;
        line-height: 1.0;
        letter-spacing: 0.1vw;
        padding:7vw 0 1vw 0;
        width:100%;
        text-align:center;
    }
    p.orangeText{
        color:#f15a24;
        border:none;
        font-size:1.8em;
        margin:2% auto;
        width:75%;
        text-align:center;
    }

    section{
        width:100%;
        height:auto;
        margin:0 auto 0 auto;
        padding:10% 0 0 0;
        clear:both;
    }

    section h2{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 500;
        font-style: normal;
        font-size:2.0em;
        line-height: 1.6;
        letter-spacing: 0.0vw;
        padding:0;
        width:100%;
        margin:20px auto;
        text-align: left;;
    }

    section p{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:1.4em;
        line-height: 1.6;
        letter-spacing: 0;
        color:#000;
        padding: 0 0 0 0;
        width:100%;
        margin:45px auto;
    }
    .snsIcon{
        text-align: right;
        padding-right:3%;
    }
    .snsIcon a{
        margin-left:3%;
    }
    .snsIcon a img{
        width:6.4%;
    }
    .subscriptionBox{
        width:90%;
        padding:0 0;
        margin: 0 auto;
    }

    .subscriptionBox p{
        border: solid thin #000;
        text-align: center;
        padding:0.7em 0em;
        margin:1% auto;
        width:44%;
    }

    .subscriptionBox p a{
        font-family: "noto-sans-cjk-jp", sans-serif;
        font-size:1.0em;
        font-weight: 550;
        font-style: normal;
        text-align: center;
        padding-top:1em;
        margin:5%;
        width:100%;
    }
    .subscriptionBox p.orangeText{
        color:#f15a24;
        border:none;
        font-size:1.0em;
        margin:1% auto;
    }
    .backTop{
        width: 11%;
        margin:9% auto;
    }

    hr{
        margin:23% auto 9% auto;
        width:15%;
        color:#000;
    }
    section{
        
    }
    section h3{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 500;
        font-style: normal;
        font-size:5vw;
        text-align: center;
        letter-spacing: 0em;
    }

    section h4{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:2.7vw;
        text-align: center;
        margin-bottom:2em;
        padding:0.4em 0 2em 0;
        color:#4d4d4d;
        letter-spacing: 0.1em;
    }
    /*アコーディオン*/
    .accordionBox{
        width:100%;
        margin:0 auto;
        padding-bottom:1em;
        border-bottom:#000 solid thin;
    }

    .accordionBox .accordion-header{    
        transition: background .3s ease;
        cursor: pointer;
        position: relative;
        padding: 3vw 0vw 1vw 0vw;
        border-top:#000 solid thin;
    }

    .accordionBox .accordion-header:first-child{
        border-top:none;
    }

    .accordionBox .accordion-header h4{
        text-align:left;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 500;
        font-style: normal;
        font-size:2.9vw;
        line-height:4.5vw;
        letter-spacing: 0.1vw;;
        color:#000;
        transition: background .3s ease;
        cursor: pointer;
        position: relative;
        padding: 1px 20px 0em 1px;
        margin: 0 0 0 0;
    }

    .accordionCloseBtn.active{
        display:none;
    }
    .accordionCloseBtn.noactive{
        display:block;
    }
    .accordion-content {
    display: none;
    padding:0 2em 1em 2em;
    
    }
    .accordion-content:first-child {
    display: none;
    /*border-bottom:none;*/
    }

    .accordion-content p{
        text-align:left;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 200;
        font-style: normal;
        font-size:2.3vw;
        letter-spacing: 0em;
        color:#4d4d4d;
        margin-bottom:2em;
    }

    .accordionOpenBtn{
        text-align: right;
        display:block;    
    }
    .accordionCloseBtn
    {
        text-align: right;
        display:block; 
        position:relative;
        right:-2em;   
    }

    .accordionCloseBtn img,
    .accordionOpenBtn img{
        width:4%;   
    }

    /*/accordion*/
    .accordion-content h5{
        text-align:left;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:3vw;
        letter-spacing: 0vw;
        color:#000;
        padding:0.8em 0 1em 0;
        line-height:0.82;
    }
    .teacherPosition{
        font-weight: 300;
        font-size:1.8vw;
        color:#4d4d4d;
        display:block;
        margin-top:1.3vw;
        
    }
    .courseBox{
        margin-bottom:2em;
    }
    .iconBox{
        margin-bottom:7vw;
    }
    .iconBox img{
        width:12vw;
    }
    .courseBox h3{
        text-align:left;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 500;
        font-style: normal;
        font-size:6.5vw;
        letter-spacing: 0.5vw;
        color:#000;
        padding-bottom:0.5em;
    }
    .courseBox span{
        text-align:left;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:1.5vw;
        letter-spacing:0.2vw;
        color:#000;
    }

    section .courceRead{
        text-align:left;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:2.3vw;
        letter-spacing: 0.05vw;
        color:#000;
        width:100%;
    }

    /*more view*/
    .cp_box1 {
    position: relative;
    width:85%;
    margin:6vw auto;
    }
    .cp_box1 input {
    display: none;
    }
    /*開くためのボタンとテキストを隠すグラデーションの設定*/
    .cp_box1 label {
    position: absolute;
    /*display: flex;
    flex-direction: column;*/
    /*align-items: center;*/
    z-index: 1;
    font-size:4vw;
    bottom: -10px;
    padding-right:11em;
    width: 100%;
    height: 140px; /* グラデーションの高さ */
    cursor: pointer;
    text-align: right;
    /* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
    background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    }
    /* 開いた時にグラデーションを消す */
    .cp_box1 input:checked + label {
    background: inherit;
    }
    .cp_box1 input:checked + label {
    /* display: none ; 閉じるボタンを消す場合コメントアウトを外す */
    }
    .cp_box1 .cp_container {
    overflow: hidden;
    height: 200px; /* 開く前に見えている部分の高さ */
    transition: all 0.5s;
    }
    /*続きをよむボタン*/
    .cp_box1 label:after,
    .cp_box1 label::before {
    content: '';
    position: absolute;
    line-height: 2.5rem;
    }
    .cp_box1 label:after {
    z-index: 2;
    bottom: 0px;
    width: 13em;
    content: 'つづきを読む';
    color: #50859d;
    }
    .cp_box1 label::before {
    position: absolute;
    bottom: 38px;
    left: calc(50% - 3.5em);
    z-index: 3;
    }
    .cp_container p{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:4vw;
        text-align: left;
        margin-bottom:2em;
        padding:0.4em 0 1em 0;
        color:#4d4d4d;
        letter-spacing: 0em;
    }
    /*閉じるボタン*/
    .cp_box1 input:checked + label:after {
        content: '閉じる';
    }
    .cp_box1 input:checked + label:before {
        left: calc(50% - 2.5em);
        transform: scale(1, -1);
    }
    .cp_box1 input:checked ~ .cp_container {
        height: auto;
        padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
        transition: all 0.5s;
    }
    /*end more view*/

   #thumbnailBox1 p,
    #thumbnailBox2 p,
    #thumbnailBox3 p{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:3.1vw;
        text-align: center;
        color:#000;
        letter-spacing: 0em;
        line-height:5.6vw;
        margin:0 0 5vw 0;
        padding:0 0 0 0;
    }

    .movieBox1{
        position:relative;
        padding-top:75%;
        height:0;
        margin:0 0 10vw 0;
    }

    .movieBox1 iframe{
        position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    }

    /*requirements css*/
    .requirements dt{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:2.3vw;
        text-align: left;
        color:#000;
        letter-spacing: 0vw;
        margin:0vw 0 0vw 0;
        
    }

    .requirements dd{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:2.3vw;
        text-align: left;
        margin-bottom:0vw;
        padding-bottom:3vw;
        padding-left:3vw;
        color:#000;
        letter-spacing: 0.1vw;
        line-height:4vw;/*do not touch*/

    }

    .requirements dd span{
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:0.9em;
        text-align: left;
        color:#4d4d4d;
        letter-spacing: 0.1em;
        line-height:1.3;
        display:block;
    }

    .mapBox{
        position:relative;
        padding-top:75%;
        height:0;
    }

    .mapBox iframe{
        position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    }

    .inquiryImg{
        width:50%;
        text-align:center;
        padding:30px 0;
        margin:0 auto;
    }

    .linkBox{
        width:100%;
    }

    .linkBox p{
        text-align:center;
        font-family: "zen-kaku-gothic-antique", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size:5.1vw;
        line-height: 5vw;
        letter-spacing: 0vw;
        padding:5% 0;;
        color:#000;

    }
    .linkBox p span{
        color:#4d4d4d;
        font-size:4vw;
    }

    .inquiryBox{
        
        margin-bottom:60px;
    }

    .inquiryBox p{
        border:none;
        color:#fff;
        background-color:#51859d;

    }
}