@charset "UTF-8";
/*reset*/
* {	margin: 0;padding: 0;}
h1,h2,h3,h4,h5,h6,hr,th,em,b {font-style: normal;font-weight:inherit;font-size:inherit}
h1,h2,h3,h4,h5,h6{line-height: 1.4}
ul,ol,li {list-style: none}
table {border-collapse:collapse;border-spacing: 0}
th,td{line-height:1.5;letter-spacing: normal}
img{width:100%;border: 0;vertical-align:bottom;-webkit-backface-visibility: hidden}/*背面が非表示/クロームボケ*/
a {text-decoration: none;color:inherit}
a:hover {text-decoration: none;filter: alpha(opacity=70);opacity:0.7}
hr{border:none;height: 0px;border-bottom:1px solid #666}
main {display: block} /** Render the `main` element consistently in IE.*/
.cf:after {content: "";clear: both;display: block}
.txt_l{text-align: left}
.txt_r{text-align: right}
.txt_c{text-align: center}
.hide{display: none}
.mb30{margin-bottom:30px}
.mb40{margin-bottom:40px}
.mb50{margin-bottom:50px}
.mb60{margin-bottom:60px}
.mb80{margin-bottom:80px}
.sp{display: none}
@media only screen and (max-width: 960px) {
	.pc{display: none}
	.sp{display: block}
    .mb50{margin-bottom:30px}
}
.font{font-family:YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";font-weight: 600}
html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%; /* モバイルでテキスト自動拡大アルゴリズム制御  */
    -webkit-tap-highlight-color: transparent; /* iOSのリンクの灰色のハイライトを削除*/
    -webkit-font-smoothing: antialiased;/*アンチエイリアス*/
    -moz-osx-font-smoothing: grayscale;/*アンチエイリアス*/
    overflow-x: hidden!important;
    scroll-behavior: smooth}
body {
    font-size: 1.6rem;overflow-x: hidden;
    font-family: 'Zen Kaku Gothic New',YuGothic, "Yu Gothic medium","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	color: #333;
	line-height: 2;
    letter-spacing:0.025em;
	font-feature-settings: "palt";
    box-sizing: border-box;
    position: relative;
    background: url(../img/head/bg.png)no-repeat top center;
    background-size: 100%;
    background-attachment: fixed;
    background-color: #f5f5f5}
@media only screen and (max-width:1400px) {
    html {font-size: 50%;}
    body{
        background: url(../img/head/bg_sp.png)no-repeat top center;
        background-size: 100%;
        background-attachment: fixed;
        background-color: #f5f5f5}
}
a[href^="tel:"] {
	cursor: default;
	text-decoration: none;
	color: inherit;
	pointer-events: none;}
.flex {display: flex;flex-wrap: wrap;justify-content: space-between}
.f_en{font-family: 'Montserrat', sans-serif}
/*  --------------------  opening  --------------------  */
.opening{
    position: absolute;top:-30px;left:0;z-index: 8;
    width: 100%;text-align: center;
    background-color:#fff;
    animation-name:opening;
    animation-duration: 5s;
    animation-iteration-count:1}
.openlogo_box{
    display:block;background-color:#fff;
    position: absolute;top:0;left:0;z-index: 9;
    width: 100%; height: 100%; opacity: 0;padding-left:-140px;
    box-sizing: border-box;
    animation-name:openlogo;
    animation-duration: 5s;
    }
.openlogo_box img{
    width: 280px;margin: calc(50vh - 50px) auto 0!important;}
@keyframes opening{
    0%{opacity: 1;height: 100%}
    75%{opacity: 1;height: 100%}
    99%{opacity: 0;height:100%}
    100%{opacity: 0;height: 0%}
}
@keyframes openlogo{
    0%{opacity: 0;height: 0%}
    3%{opacity: 0;height: 0%}
    50%{opacity: 1;height:auto}
    70%{opacity: 1;height:auto}
    99%{opacity: 0;height: 0%}
}

.firstView{
    height:100vh;width:100vw;
    }
/*  --------------------  wrap  --------------------  */
.wrap{display: flex;justify-content: space-between;box-sizing: border-box;position: relative}
.col_side{width: 18%;margin: 80px 0 0 3%}
.col_side_r{width: 21%;padding:0 1% 0 2%;box-sizing: border-box;position: relative}
.col_main{width:55%;max-width: 1000px;margin:80px 0 0}
.menu{width:18%;position: fixed;z-index: 99}
.mv{height: 100%}
.mv p{height: 100%}
.mv img{
    width: 100%;height: 100%;
    object-fit: cover;font-family: 'object-fit: cover;'}

.main_copy{
    width:100%;max-width:160px;margin: 0 0 0 auto;padding-top:270px;
    position: fixed;z-index: 999}
.main_copy p{
    -ms-writing-mode: tb-rl;writing-mode: vertical-rl;
    font-size:4rem;line-height: 1.6;
    mix-blend-mode: difference!important}
.scroll-down2{position: absolute;bottom:80px;right:125px;width:15px;z-index: 999}
.col_side_r.foot{margin:0;padding-top:0}

/*
.fade_1{
    animation-name: fade1;
    animation-duration:10s;}
.fade_2 {
    animation-name: fade1;
    animation-duration: 12s;}
@keyframes fade1{
    0%{opacity: 0;}
  50%{opacity: 0;}
  100%{opacity: 1;}
}
*/



@media only screen and (min-width:961px) and (max-width: 1500px) {
    .menu{width: 18%}
    .col_side{width: 18%;margin: 80px 0 0 2%;}
    .col_side_r{width: 18%;margin: 0 1%;}

}
@media only screen and (max-width: 960px) {
    .wrap{
        box-sizing: border-box;
        display:block;width:100%;margin:0 auto;padding:0 4% 0 5%}
    .menu{position:relative}
    .col_side,
    .menu{width:100%;margin:0 }
    .col_side_r{width:100%;margin:0 ;padding-top:0}
    .col_main{width:100%;margin:0 }
    /*
    .mv{height:calc(100vh - 200px);margin-top: 20px}
    .mv img{width: 100%;height: 100%;object-fit: cover;font-family: 'object-fit: cover;'}
    */
    .mv,
    .mv p{height: 100%}
    .mv img{width: 100%;height:auto;
        object-fit: contain;font-family: 'object-fit:contain;'}

    .main_copy{
        position: static;
        max-width:100%;margin: 0;padding:25px 0 20px;text-align: center}
    .main_copy p{
        mix-blend-mode:normal!important;color:#111;font-size:3.2rem;
        -ms-writing-mode:lr-tb;writing-mode:horizontal-tb;}
    .scroll-down2{
        position:static;font-size: 0;
        width:75px;height: auto; text-align:center;margin:6px auto 20px}
    
}
.sp_mv{display: none}
@media only screen and (max-width: 500px) {
    .pc_mv{display: none}
    .sp_mv{display: block}
}
/*  --------------------  col_side　左サイドメニュー  --------------------  */
.header_ttl{width: 90%;max-width: 260px}
.header_box{margin:40px 0 0 20px;}
.header_box a{margin-top: 10px;display: inline-block}
.header_txt{font-size: 1rem}
.menuList_ttl{
    font-family: 'Montserrat', sans-serif!important;
    font-size: 1.2rem;margin-top: 40px;padding-left:20px;position: relative}
.menuList_ttl:before{
    content: "";
    display: inline-block;
    position: absolute;top:10px;left:0;
    width: 10px;height: 4px;
    background: #FFFB00}
.menuList_ttl2:before{background: #FFF}
.menuList_1 a{font-size:2.4rem;line-height: 1.4;margin:9px 0 10px}
.menuList_2{margin-top:40px}
.menuList_2 a{font-size: 1.4rem;}





@media only screen and (max-width: 960px) {
    .header_ttl{
        padding-top:20px;width:132px}
    .col_side .header_box{display: none}
    .gNav_r .menuList_1 a{font-size:2.4rem;line-height: 1.4;margin:6px 0 8px}
    .gNav_r .menuList_ttl2,
    .gNav_l .js-hm_data{margin-top:20px;line-height: 1.5}
    .gNav_l .js-hm_copyright{margin-top:7px}
    .gNav_r .menuList_2{margin-top:15px;}
    .header_box .menuList_2 a{margin-top:5px} 
}



/*  ハンバーガーボタン 2 */
input[type="checkbox"]#hm_Btn {display: none;}
label[for="hm_Btn"] {
	display: block;
	position: fixed;top:60px;right:60px;
	width:120px;height:120px;
	cursor: pointer;
	z-index: 9999}
label[for="hm_Btn"]:after{
    content: " ";
    display: block;
    width: 120px;height: 120px;
    background: url(../img/head/modal-button-open.svg)no-repeat;
    background-size: 120px;transition-duration:.8s, 0s, 0s;
}
label[for="hm_Btn"]:hover:after{
    background: url(../img/head/modal-button-open_bk.svg)no-repeat;
    background-size: 120px
}
#gNav{
    position: fixed;top: 0;left: 0;z-index:-2;
		width: 100%;height: 100%;overflow: hidden;
		background-color:#FFF100;
		box-sizing: border-box;
    opacity: 0;
    transition-duration:.15s, 0s, 0s;
}
/* クリックで現れる */
input[type="checkbox"]#hm_Btn:checked ~ label:after{
    background: url(../img/head/modal-button-close.svg)no-repeat;
    transition-duration:.8s, 0s, 0s;}
input[type="checkbox"]#hm_Btn:checked ~ nav#gNav {
	height: 100%;height: 100%; z-index: 9998;
    opacity: 1;
    transition-duration:.8s, 0s, 0s;
}
input[type="checkbox"]#hm_Btn:checked ~ label:hover:after{
    background: url(../img/head/modal-button-close_bk.svg)no-repeat}

/* ハンバーガー内容　*/
.gNav_inner {
    width:90%;max-width:1000px;margin:200px auto 0;
    box-sizing: border-box;position: relative;
	display: flex;flex-wrap: wrap;
	justify-content: space-between;}
.gNav_l{width: 50%;}
.gNav_r{width:45%;position: relative}

.gNav_r .header_box{margin:0 0 0 20px}
.gNav_r a {
    position: relative;
    text-decoration: none}
.gNav_r a:hover{opacity: 1}
.gNav_r a:before {
    position: absolute;bottom:3px;left: 0;z-index: -1;
    content: ' ';
    width: 100%;height: 5px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;}
.gNav_r a:hover:before {
    object-position: 1;
    transform: scale(1, 1)}

.js-hm_logo{width: 260px}
.js-hm_data{position: absolute;bottom:0;left:20px;font-size: 1.2rem}
.js-hm_copyright{margin-top: 30px}
@media only screen and (max-width: 960px) {
    button.hmBtn{top:20px;right:20px;width:60px;height:60px}
    label[for="hm_Btn"] {top:20px;right:20px;width:60px;height:60px}
    label[for="hm_Btn"]:after{
        width:60px;height:60px;background-size:60px;
        background: url(../img/head/modal-button-open_sp.svg)no-repeat;
        background-size:60px}
    label[for="hm_Btn"]:hover:after{
        background: url(../img/head/modal-button-open_sp.svg)no-repeat;
        background-size:60px}
    input[type="checkbox"]#hm_Btn:checked ~ label:after{
        background: url(../img/head/modal-button-close_sp.svg)no-repeat}
    .gNav_inner {
        margin:35px auto 0;
        justify-content: flex-start;
        flex-direction: column-reverse}
    .gNav_l{margin-left: 20px}
    .gNav_l,
    .gNav_r{width: 100%}
    .js-hm_data{position: static;margin-top: 20px}
    
     
}


/*  -------------------- main  --------------------  */
.main {z-index: 2;
    /*animation-name: fade1;
    animation-duration: 12s*/}
.head_txt{margin-bottom: 150px;text-align: center}
.startdate{font-family: 'Montserrat', sans-serif;font-size: 6.4rem}
.section{
    position: relative;background: #fff;
    border: solid 2px #111;border-radius:15px;padding:75px 90px 70px}
.section_program{padding-bottom:100px}
.section_id{margin-top:80px;height: 20px}
.section_id#recruit{margin-top: 30px}
.section .menuList_ttl:nth-child(1){margin-top: 0}
.section h2,
.page_head h2{font-size: 4rem;margin-bottom:80px}
.section h2.mb40{margin-bottom:30px}
.section h3{
    font-size:2rem;line-height:1;font-weight:700;
    padding-left:10px;border-left: 4px solid #FFF100;margin:50px 0 20px}
.section h3:nth-child(1){margin-top: 0}
.section h4{
    line-height:1;
    padding-left:10px;border-left: 4px solid #FFF100;margin:40px 0 8px}
.body p{margin-bottom:15px}
.body p.mb0{margin-bottom:0}


.program_list li{
    position: relative;line-height: 1.5;
    background: rgba(255,250,5,0.3);padding:18px 20px 18px 35px;margin: 4px 0 }
.program_list li:before{
    position: absolute;top:29px;left:20px;
    content: " ";width:5px;height:5px;border-radius: 50%;background: #111
}
.program_list2{margin-bottom: 10px}
.program_list2 li{background:#fff;padding:8px 0 8px 16px}
.program_list2 li:before{top:16px;left:0}
.img_consultation{
    float:right;margin-left:5%;width: 35%;max-width:300px;border-radius:15px;overflow: hidden}
.bt_txt_y a{
    line-height: 1.4;position: inherit;position:relative;
    display: block;background:#FFF100;padding:31px 40px;border-radius:10px;
    transition-duration: .1s;}
.bt_txt_y a:after{
    position: absolute;top:35px;right:20px;
    content:" "; width: 15px;height: 10px;
    background: url(../img/main/arrow.svg)no-repeat;
    background-size:15px}
.bt_txt_y a:hover{background:#111;color:#fff;opacity: 1}
.bt_txt_y a:hover:after{background: url(../img/main/arrow_w.svg)no-repeat;
    background-size:15px}
.tel{font-size: 1.4rem}
.tel b{font-size: 2.4rem;font-family: 'Montserrat', sans-serif}

.h2{font-size: 1.2rem;padding-left:15px;border-left:solid 4px #FFF100;margin: 180px 0 50px}
.h2 b{display:block;font-size: 6rem;font-family: 'Montserrat', sans-serif}


.bt_txt_bk_icon a{
    line-height: 1.4;position: inherit;position:relative;margin-top:60px;
    display: block;background:#111;color:#fff;padding:31px 40px;border-radius:10px;
    transition-duration: .1s;}
.bt_txt_bk_icon a:after{
    position: absolute;top:35px;right:20px;
    content:" "; width: 15px;height: 13px;
    background: url(../img/main/icon_link.svg)no-repeat;z-index: 999;
    background-size:15px}
.bt_txt_bk_icon a:hover{opacity: 1; background:#fff100;color:#111}
.bt_txt_bk_icon a:hover:after{
    background: url(../img/main/icon_link_bk.svg)no-repeat;
    background-size:15px}
.bt_txt_bk_icon_mb100{padding-bottom:40px}
.bt_txt_bk_arrow a{
    line-height: 1.4;position: inherit;position:relative;margin-top:40px;
    display: block;background:#111;color:#fff;padding:31px 40px;border-radius:10px;
    transition-duration: .1s}
.bt_txt_bk_arrow a:after{
    position: absolute;top:35px;right:20px;
    content:" "; width: 15px;height: 13px;
    background: url(../img/main/arrow_w.svg)no-repeat;
    background-size:15px}
.bt_txt_bk_arrow a:hover{opacity: 1; background:#fff100;color:#111}
.bt_txt_bk_arrow a:hover:after{
    background: url(../img/main/arrow.svg)no-repeat;
    background-size:15px}
.come{font-size: 1.4rem;display: block}

@media only screen and (max-width: 960px) {
    .head_txt{margin-bottom:0}
    .startdate{font-size: 4rem}
    .section{padding:50px 30px}
    .section + .section{margin-top:40px}
    .section_id{margin-top:50px;height: 20px}
    .section h2{font-size:3.3rem;margin-bottom:40px}
    .section h2.mb40{margin-bottom:20px}
    .section h3{margin:40px 0 15px}
    .section h4{margin-top: 30px}
    .h2{padding-left:15px;margin:100px 0 10px}
    .h2 b{font-size:4.8rem}
    .section_id#recruit{margin-top: 0;}
    .bt_txt_y a{padding:20px }
    .bt_txt_y a:after{top:25px;right:20px}
    .bt_txt_bk_icon a{
        margin-top:30px;padding:20px;margin-bottom: 20px;border-radius:10px}
    .bt_txt_bk_icon a:after{top:22px}
    .bt_txt_bk_arrow a{margin-top:20px;padding:20px}
    .bt_txt_bk_arrow a:after{top:24px;right:20px;}
    .body.mb80{margin-bottom: 40px}
    .program_list li{padding:18px 10px 18px 35px;margin: 4px 0 }
    .program_list li:before{top:29px;left:20px}
    .img_consultation{
        float:none;margin-left:0;width:100%;max-width:100%}
}



/* アコーディオン */
.acc_list{position:relative;width:100%}
.acc_list label{
    position: absolute;bottom:-105px;left:calc(50% - 100px);
    display: block;text-align: center; 
    cursor: pointer;}
.acc_list label:after{
    content: "詳細を見る";
    position: absolute;top:0;left:0;width: 100%;height: 100%;line-height:50px;
    text-align: center;color:#fff}
.acc_list label:hover:after{color:#111}
.acc_list label span{
    display: inline-block;position: relative;
    width: 200px;height:50px;line-height: 50px;
    border:2px #111 solid;background: #111;color:#fff;border-radius:30px}
.acc_list label:hover span{background: #fff100;color:#111}
/*--- アイコン ---*/
.acc_list label span:after {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    content: "+";font-weight:700;font-size:15px; 
    display: block;width: 20px;height: 20px;line-height:18px;
    background:#fff;color:#111;border-radius:50%;
    position: absolute;top:15px; right:10px}
/*--- 非表示にしておく ---*/
.acc_list input{display: none}
.acc{
        position: relative;
	    height: 0;
	    border-top: dotted 3px #111;
	    opacity: 0;
	    overflow-y: hidden}

/*--- クリックで中身を表示 ---*/
.acc_list input:checked + label + .acc{
        height: auto;
	    margin-top:60px;padding-top:60px;
	    opacity: 1;
        transition: 0.3s}
/*--- クリックでアイコン入れ替え ---*/
.acc_list input:checked + label:after {
        content: "閉じる";color:#111}
.acc_list input:checked +  label span{background:#fff;color:#111}
.acc_list input:checked +  label span:after {
    content: "−";background:#111;color:#fff;line-height: 20px}
.acc_list input:checked +  label:hover span{background:#fff100}



/* アコーディオン　２　不使用 */
.acc_list2{padding: 30px 0 ;border-bottom: dotted 2px #111}
.acc_list2.acc_list2Top{border-top: dotted 2px #111;margin-top: 40px}
.acc_list2 label{
	    cursor: pointer;
	    display: block;
	    font-size: 24px;line-height: 1.3;
	    position: relative}
/*--- アイコン ---*/
.acc_list2 label:after {
	   content: " ";
	   display: block;height: 20px;width: 20px;
    text-align: center;padding-left:1px;box-sizing: border-box;
    background: #111;color:#fff;border-radius: 50%;
	   position: absolute;
	   top: calc(50% - 4px);right:0}
.acc2{
    padding-bottom:20px;
        position: relative;
	    height: 0;
	    margin-top: 0;
	    opacity: 0;
	    overflow-y: hidden}
/*--- 非表示にしておく ---*/
.acc_list2 input{display: none}
/*--- クリックで中身を表示 ---*/
.acc_list2 input:checked + label + .acc2{
        height: auto;
	    margin-top: 30px;
	    opacity: 1;
        transition: 0.3s}
/*--- クリックでアイコン入れ替え ---*/
.acc_list2 input:checked + label:after {
        content: "−"}
.acc2 img{margin-bottom: 30px}
.yellow_box{
    background: rgba(255,250,5,0.3);padding:20px 40px;border-radius:10px}
.yellow_box.date b{font-family: 'Montserrat', sans-serif;font-size:2.4rem}
.acc2 dl{display: flex;margin-bottom:10px}
.acc2 dt{width:100px}
.acc2 dt:before{content:"・ "}
.acc2 dd{width:calc(100% - 100px)}



/* 　アコーディオン　３　　　*/
.acc_list3{border-bottom: dotted 2px #111;}
.acc_list3 input{display: none}
.acc_list3.acc_list2Top{border-top: dotted 2px #111;margin-top:60px}
.acc_list3 label{
    padding: 30px 30px 32px 0;
	    cursor: pointer;
	    display: block;
	    font-size: 24px;line-height: 1.3;
	    position: relative}
.acc3{
        position: relative;
	    height: 0;
	    margin-top: 0;
	    opacity: 0;
	    overflow-y: hidden}
/*--- アイコン ---*/
.acc_list3 label:after {
	   content: " ";
	   display: block;height: 20px;width: 20px;
    text-align: center;padding-left:1px;box-sizing: border-box;
    background: #111;color:#fff;border-radius: 50%;
	   position: absolute;
	   top: calc(50% - 13px);right:0}
.acc_list3 label div:before{
    content: " ";display: block;height: 20px;width: 20px;
    position: absolute;top: calc(50% - 4px);right:5px;
    width: 10px;height: 2px;background: #fff;z-index:10;transform: rotate(90deg);
    transition-duration: .2s;}
.acc_list3 label div:after{
    content: " ";display: block;height: 20px;width: 20px;
    position: absolute;top: calc(50% - 4px);right:5px;
    width: 10px;height: 2px;background: #fff;z-index:10
}
/*--- クリックで中身を表示 ---*/
.acc_list3 input:checked + label + .acc3{
        height: auto;
	    margin: 20px 0 100px;
	    opacity: 1;
        transition: 0.3s}
/*--- クリックでアイコン入れ替え ---*/
.acc_list3 input:checked + label div:before{
        transform: rotate(0deg);}

.acc_list3 .menuList_ttl{
    margin-top:0!important;}
.acc_list3 .menuList_ttl:before{
    position: absolute;top:3px;left:0}

.section_img img{margin-bottom:60px}
.yellow_box{
    background: rgba(255,250,5,0.3);padding:20px 40px;border-radius:10px}
.yellow_box.date b{font-family: 'Montserrat', sans-serif;font-size:2.4rem}
.acc3 dl{display: flex;margin-bottom:10px}
.acc3 dt{width:100px}
.acc3 dt:before{content:"・ "}
.acc3 dd{width:calc(100% - 100px)}

@media only screen and (max-width: 960px) {
    .acc_list label{bottom:-80px}
    .acc_list label:after{line-height:40px}
    .acc_list label span{
        width: 200px;height:40px;line-height:40px}
    .acc_list label span:after {top:10px;padding-left:1px}
    .acc_list2{padding: 25px 0 20px}
    .acc_list2 label{font-size:19px;padding-right:20px}
    .section_img img{margin-bottom:40px}
    .acc_list3 input:checked + label + .acc3{margin:10px 0 40px}
}








.overview{margin-bottom: 40px}
.overview dl{display: flex;padding:25px 0;border-bottom: 1px solid #111}
.overview dl:first-child{padding-top: 0}
.overview dt{width:24%;font-weight:700}
.overview dd{width:76%;line-height: 1.6}
.overview_googleMap{font-size: 1.4rem;text-decoration: underline}
.map iframe{width: 100%;height: 400px}


section.contact{
    margin: 150px 0 340px;
    position: relative;margin-right: calc(((100vw - 100%) / 2) * -1);}
.contact_img{
    border-top-left-radius:12px;border-bottom-left-radius:12px}
.contact_sec{
    position:absolute;bottom:-160px;left:100px;background: #fff;
    display: flex;width:92%;padding:60px 100px;box-sizing: border-box;
    border: solid 2px #111;border-radius:15px 0 0 15px}
.page_main .contact_sec{width:95%}
.contact_sec .menuList_ttl{margin-top: 0}
.contact_box1{width: 30%}
.contact_box2{width: 70%}
.contact h2{font-size: 3.2rem}
.contact .bt_txt_y a{
    max-width:400px;height: 80px;line-height: 80px;
    padding:0 30px;box-sizing: border-box;margin-bottom: 20px}
.contact .bt_txt_y a:after{position: absolute;top:45%;right:20px}
.contact h4{
    line-height:1;font-size: 1.4rem;
    padding-left:10px;border-left: 4px solid #FFF100;margin:40px 0 4px}
@media only screen and (max-width: 1400px) {
    .contact_sec{padding:45px 60px}
    .contact .bt_txt_y a{width:90%;max-width:300px}
}
@media only screen and (max-width: 960px) {
    section.contact{
        margin-top:100px;margin-bottom: 270px}
    .yellow_box{padding:14px 20px;border-radius:10px}
    .acc2 dt{width:80px}
    .acc2 dd{width:calc(100% - 80px)}
    .overview dl{display:block;}
    .overview dt{width: 100%;margin-bottom: 6px}
    .overview dd{width: 100%}
    .map iframe{width: 100%;height:260px}
    .contact h2{font-size:2.8rem}
    .contact_sec{width:93%;padding:18px 20px;left:50px}
    .contact .bt_txt_y a{padding:0 20px;height:60px;line-height:60px}
    .contact_box1{width: 45%}
    .contact_box2{width: 55%}
    
    .contact h4{margin:25px 0 3px}
}
@media only screen and (max-width: 600px) {
    .pc680{display: none}
    section.contact{margin-top:80px;margin-bottom: 270px}
    .contact_img{height: 300px;width:auto}
    .contact_img img{height:100%;width: auto}
    .contact_sec{
        flex-direction: column;width:98.5%; 
        bottom:auto;top:260px;left:30px}
    .contact_box1,.contact_box2{width:100%}
    .contact .bt_txt_y a{margin: 10px 0}
}
/*  --------------------  footer  --------------------  */
footer{position: relative}
footer ul{max-width: 500px;margin-left: -12px;font-size: 1.4rem;margin-bottom: 50px}
footer li{display: inline-block;margin: 0 12px;margin-bottom: 10px}
footer li a{border-bottom: 1px solid #111}
.footer{position: relative;margin-bottom:200px}
.footer_logo{width:78%; max-width: 290px;margin-bottom: 30px}
.footer_data{
    font-size: 1.2rem;letter-spacing:0.02em;
    display: flex;flex-wrap: wrap;
    justify-content: space-between;
    align-items:flex-end}
.footer_data2{text-align: right;margin-top: 10px}
a.googleMap{text-decoration: underline}
.pagetop{
    position: absolute;bottom:100px;right:0;
    width: 80px;height:80px}
.pagetop a{
    width: 80px;height:80px;display: block;
    background: url(../img/foot/pagetop.svg)no-repeat;
    background-size: 80px}
.pagetop a:hover{
    background: url(../img/foot/pagetop_y.svg)no-repeat;}

@media only screen and (max-width:1400px) {
    .footer_data{display: block}
}
@media only screen and (max-width: 960px) {
    .footer{margin-bottom:100px}
    .footer_data2{text-align:left}
    .pagetop{width:48px;bottom:auto;top:-8px;right:-5px}
    .pagetop a{width: 48px;height:48px;background-size:48px}
}

/*  PAGE  DL  */
/* download_txt */
.page_head{margin-bottom: 100px}
.w800{width:80%;max-width: 800px;margin: 0 auto}
.download_txt{font-size: 1.8rem}
.horizontalBox{margin-bottom: 40px}
.horizontal_img{margin-bottom: 20px}
.pdfBt_area li{display: inline-block;font-family:'Montserrat',sans-serif;font-weight:700;line-height: 1.2}
.pdfBt_area li + li{border-left: 1px solid #111;padding-left:20px;margin-left:40px}
.pdfBt_area li a{position: relative}
.pdfBt_area li a:after{
    content: " ";
    width: 20px;height: 20px;
    position: absolute;top:0;right:-30px;
    background: url(../img/dl/icon_dl_circle.svg)no-repeat;
    background-size: 20px}
.bt_pdf a{
    font-family:'Montserrat',sans-serif;font-weight:700;
    line-height: 1.4;position: inherit;position:relative;
    display: block;border-radius:50px;border: 2px solid #111;
    width: 200px;padding:20px 30px;background: #fff;
    transition-duration: .1s;}
.bt_pdf a:after{
    position: absolute;top:22px;right:20px;
    content:" "; width: 15px;height: 15px;
    background: url(../img/dl/icon_dl_bk.svg)no-repeat;
    background-size:15px}
.bt_pdf a:hover{background:#FFF100;color:#111;opacity: 1}
.bt_pdf a:hover:after{
    background: url(../img/dl/icon_dl_bk.svg)no-repeat;
    background-size:15px}


section.contact.page_contact{
    position: relative;
    margin-right: calc(((100vw - 100%) / 2) * -1);}

@media only screen and (max-width: 960px) {
    .page_head{margin-bottom:40px}
    .page_head .menuList_ttl,
    .page_head h2{width: 80%;margin-right:auto;margin-left: auto}
    .t_txt_bk_arrow.mb40{margin-bottom: 20px}
    .pdfBt_area li{font-size:1.2rem!important}
    .pdfBt_area li + li{border-left: 1px solid #111;padding-left:10px;margin-left:30px}
    .pdfBt_area li a:after{
        position: absolute;top:-1px;right:-24px;
        background: url(../img/dl/icon_dl_circle.svg)no-repeat;
        background-size:18px}
    .bt_pdf a{padding:16px 25px}
}

/* ディレクター紹介 */
.director_list + .director_list{
    padding-top:40px;margin-top:40px;border-top: dotted 2px #111} 
.director_img{width: 31.3%;border-radius:10px}
.director_data{width: 62.5%}
.director_sub{font-size:1.2rem}
.director_name{font-size:2.4rem;margin-bottom: 30px}
.director_name span{font-size:1.2rem}
@media only screen and (max-width: 960px) {
    .director_list.flex{SP縦並び／flex-direction: column}
    .director_img{width:80%;margin:0 auto 25px}
    .director_data{width:100%}
}
