@charset "utf-8";
/*==================================================

Global Default
==================================================*/
@import url('https://fonts.cdnfonts.com/css/hina-mincho');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP');
@import url('https://fonts.googleapis.com/css2?family=Gilda+Display&display=swap');

body {
    font-family:  "Noto Sans Japanese", YuGothic, 'Yu Gothic Medium', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    line-height: 1.5em;
    font-size: 16px;
    font-size: calc(12px + (16 - 12) * ((100vw - 320px) / (1920 - 320)));
    color: #333;
    counter-reset: number 0;
    background: #fff;
    margin-top: 155px;
}
body *{box-sizing: border-box; }
p, li{text-align: justify;}
h1, h2, h3, h4, h5, h6 {line-height: 1.5em;}
select{
    font-family:  "Noto Sans Japanese", YuGothic, 'Yu Gothic Medium', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
    border: none;
    width: inherit;
    height: inherit;
    background: transparent;
}
input{
    font-family:  "Noto Sans Japanese", YuGothic, 'Yu Gothic Medium', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}
.serif {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
main, section {
    position: relative;
}
a {
    color: inherit;
    transition: .5s ease;
    -webkit-tap-highlight-color: #5BB19C;
    tap-highlight-color: #5BB19C;
    cursor:pointer;
}
a:hover {
    /* color: inherit; */
    opacity: .5;
}

a:active {
    color: inherit;
}
img {
    height: auto;
}
i {
    line-height: 1;
    font-size: 20px;
}
.center {
    text-align: center;
}
.right{text-align: right;}

[class*="viewport"] {
    width: 90%;
    max-width: 1280px;
    /* padding: 0 1rem; */
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
}
.viewport-l {
    max-width: 1750px;
}
.viewport-m {
    /*max-width: 1024px;*/
    max-width: 1260px;
}
.viewport-s {
    /* max-width: 768px; */
    max-width: 1100px;
}
.section-spacing {
    padding-top: 11vmin;
    padding-bottom: 11vmin;
}

main .viewport-l a {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.pc-view {display: inline-block;}
.sp-view {display: none;}
.sp{display:none;}
.pc{display:inline-block;}

main.scroll-fixed{
    width: 100%;
    height: 100%;
    position: fixed;
}
@media all and (max-width: 1023px) {
    .sp{display:inline-block;}
    .pc{display:none;}
    .pc-view {display: none;}
    .sp-view {display: block;}
    [class*="viewport"] {
        width: calc(100% - 2rem);
    }
}


/*==================================================

parts
==================================================*/
.white-btn {
    display: inline-block;
}
.white-btn a {
    padding: 1em 3em 1em 2em;
    display: block;
    background: #fff;
    border-radius: 100px;
    border: 1px solid #83BDAF;
    font-weight: 600;
    position: relative;
}
.white-btn a::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 0.7em;
    background: url(../img/ico_arrow3.png) no-repeat;
    width: 20px;
    height: 20px;
    background-size: contain;
}
.trial-banner {/*margin-right: 5%;*/}
.trial-banner a {
    width:270px;
    height: 74px;
    background: url(../img/cp_banner.png) no-repeat;
    background-size: contain;
    padding: 10px;
    display: block;
    text-decoration: none;
}

.trial-banner ul {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: 1fr 1fr; 
    gap: 0;
    text-align: center;
}
.trial-banner ul li{font-size: 12px;}
.trial-banner .trial-grid1 {
    grid-column-start: 1;
    grid-column-end: span 2;
    grid-row: 1;
    color: #fff;
    font-weight: normal;
    text-align: center;
}
.trial-banner .trial-grid1 span{font-weight:bold;}
.trial-banner .trial-grid2 {
    grid-column: 1;
    grid-row: 2;
    background: #fff;
    font-weight: bold;
    margin: 2% 2% 0 4%;
    text-align: center;
    line-height: 1.5;
    height: 20px;
    padding: 2px 1px 0 1px;
}
.trial-banner .trial-grid3 {
    grid-column: 2;
    grid-row: 2;
    padding: 2% 0 0;
    color: #fff;
    font-weight: normal;
    text-align: center;
}
.trial-banner .trial-grid3::after{
    content: "　>>";
    display: inline;
} 
.txt_green{color: #5BB19C;}
.txt_big {font-size: 150%;}
h4 {
    border-bottom: solid 1px #83BDAF;
    position: relative;
    font-size:1.375rem;
    padding:0 0 5px 0;
    /* margin:30px auto 10px; */
    margin:0 auto 20px;
    font-weight: 600;
}
h4:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 2px #83BDAF;
    bottom: -1px;
    width: 10%;}
h5{color:#5BB19C;font-size:1.375rem;margin:0 0 20px;clear: both;font-weight: 600;}
.txt_ul {background:linear-gradient(transparent 75%, rgba(131 , 189 , 175 , 0.3) 0%) ; }
.headline-box {
    display: flex;
    margin-bottom: 2em;
}
@media all and (max-width: 1023px) {
    .white-btn a {
        padding: 1em 2.5em 0.8em 1em;
        /* white-space: nowrap; */
        width: 100%;
    }
    .white-btn{width:100%;max-width: inherit;}
    .headline-box .sp-small{font-size: 3.4vw;display: block;}
}
@media all and (max-width: 745px) {
    .headline-box{display: block;}
    .headline-box h2 {margin:0 0 1em 0;}
}

/*==================================================

パンくずリスト
==================================================*/

#breadcrumb {
    margin-top: 10px;
}
#breadcrumb ol {
	display: flex;
    overflow-x: visible;
    gap: 1%;
}
#breadcrumb ol li {
	position: relative;
	white-space: nowrap;
    display: flex;
    align-items: center;
}
#breadcrumb ol li:not(:first-child)::before {
    content: "";
    width: 5px;
    height: 5px;
    border-top: 1px solid #50AC96;
    border-right: 1px solid #50AC96;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-right: 10px;
}
@media all and (max-width: 1023px) {
    #breadcrumb {
        margin-top: 2px;
    }
    #breadcrumb ol {
		overflow-x: scroll;
        gap: 2%;
	}
    #breadcrumb ol li:not(:first-child)::before {
        margin-right: 7px;
    }
}

/*==================================================

Main Header
==================================================*/

#main-header {
    box-sizing: border-box;
    position: fixed;
    z-index: 10;
    top: 0;
    /* transition: .5s ease; */
    width: 100%;
    height: 155px;
    box-sizing: border-box;
    background: #f1f1f1;
}

#main-header.hide {
  transform: translateY(-100%);
}
.header-wrap{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.nav-wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2%;
}
.nav-cv-wrap{
    display: flex;
    align-items: center;
    gap: 1rem;
}
.nav-ico ul{
    display:flex;
    justify-content: space-between;
    align-items: center;
    transition: .5s;
    width: 100%;
    gap: 5%;
}
#main-header.hd-fixed{background: #f1f1f1;height: inherit;}

#main-header .logo {width: 19%;min-width: calc( 250px + 4%);z-index: 15; padding-left: 4%;}
.header-nav {width: 60%;height: 155px;max-width: 650px;display: flex;flex-direction: column;gap: 20%;transition: height 0.5s ease;}
.nav-ico ul li {/*margin-right: 10px;*/}
.nav-ico ul li:last-child{margin-right: 0;}
.nav-ico img {height: 35px; max-width: none;}

.nav-tel a{
    pointer-events: none;
}
.nav-tel p:nth-child(1){
    font-size: 1.5em;
    color: #5BB19C;
    display: flex;
    white-space: nowrap;
    justify-content: center;
    align-items: center;
    letter-spacing: 1px;
}

.header-nav .nav-tel {/*margin: 0 1.5em;*/flex: 1;position: relative;top: 6px;}
.nav-tel p:nth-child(2) {text-align: center; font-size: small; white-space: nowrap;}
.nav-tel i {/*margin-right: 2%;*/}
.nav-tel i img{vertical-align: baseline;max-width: none;}
.l-nav__tel--form{
	padding-top:20px;
	font-size:20px;
}
.nav-btn  {flex: 0 0 200px;}
.nav-btn a {
    display: flex;
    justify-content: center;
    font-size: 1rem;
    background: #83BDAF;
    color: #fff;
    font-weight: 600;
    padding: 1.5em 2.5em;
    text-align: center;
    white-space: nowrap;
}
.nav-btn a::after {
    content: '';
    display: inline-block;
    margin: auto 0 auto 5%;
    background: url(../img/ico_arrow.png) no-repeat;
    width: 20px;
    height: 20px;
    background-size: contain;
}


#global-nav > ul{
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 2rem;
    /*margin: 3% 4em 0 0;*/
}
#global-nav > ul li{
    font-weight: bold;
    /* padding: 10px 20px; */
    white-space: nowrap;
    position: relative;
}

#global-nav > ul li:hover a{color: #72c2b1;}
#global-nav > ul li a:hover{opacity: 1;}

#global-nav .dropdown li a{
    padding:3px 5px;display: block;
}

#global-nav .dropdown ul{
    position: absolute;
    left:0;
    top:42px;
    z-index: 5;
    background:#83BDAF;
    width:100%;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
    text-align: center;
    padding: 2% 0 4%;
}
#global-nav .dropdown ul li{color: #fff;font-weight: normal;padding: 10px 20px 3px;text-align:center;}
#global-nav .dropdown ul li:hover{color: #333;}


#global-nav .dropdown:hover > ul, #global-nav .dropdown ul li:hover > ul{
    visibility: visible;
    opacity: 1;
}

#global-nav .dropdown ul li a{border-bottom:solid 1px #e4f0ed;color: #fff;}
#global-nav .dropdown ul li:last-child a{border-bottom:none;}

#global-nav .dropdown ul li a:hover{opacity: .5;}


.side-btn {
    position: fixed;
    top: 180px;
    right: 0;
    z-index: 9;
}
.side-btn ul li + .pc-view{
    display: inline-block;
}
.side-btn ul li:first-child a {background: #575F5D;}
.side-btn ul li:nth-of-type(2) a {background: #50AC96;}
.side-btn ul li a {
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 62px;
    padding: 15px 0;
    /* font-weight: bold; */
    text-align: center;
    margin-top: 10px;
    box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.1);
}
.side-btn ul li a span{
    font-size: 1rem;
    width: 1em;
    writing-mode: vertical-rl;
    line-height: 1.2em;
    letter-spacing: 2px;
}

.side-btn ul li i {
    margin-bottom: 5px;
}

  
#global-nav-sp {display: none;}

@media only screen and (min-width: 1500px) {
    #main-header .nav-ico{margin-right: 2em;}
    .hd-fixed .header-nav > div{
        justify-content: end;
    }
    .hd-fixed .header-nav {
        width: 100%;
        display: flex;
        flex-direction: row-reverse;
        /* max-width: inherit; */
        align-items: center;
        height: 105px;
        gap: 7%;
    }
}

/*==================================================

レッスンスタジオ検索
==================================================*/


.lesson-search {
    background: #D4E4E0;
    padding: 100px 0;
    position: relative;
}

.lesson-search > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #F6F6F6;
    padding: 8% 8% 8.3% 6%;
    max-width: 1100px;
    z-index: 2;
    gap: 2rem;
}
.lesson-search-txt{
    width: 100%;
    display: flex;
    align-items: baseline;
    gap: 5%;
}
.lesson-search .viewport-l > div > p {text-align: center;}
.lesson-search .viewport-l > div > p .txt_big{font-size:180%;}
.lesson-search .lesson-search-wrap {padding: 3.5em 5em 2.25em 5em;}
.lesson-search h2 {margin: 0;}
h2 .serif{font-family:'Hina Mincho';font-weight: normal;letter-spacing: 3px;}
.lesson-search p{font-weight: 600;font-size: 1.25em;line-height: 1.25em;}
.lesson-search .txt_line {margin-bottom: 10px;font-size: 21px;}
.lesson-search .txt_line::before {transform: rotate(60deg);}
.lesson-search .txt_line::after {transform: rotate(-60deg);}
.lesson-search .txt_line::before, .lesson-search .txt_line::after {
    content: '';
    width: 1rem;
    height: 1px;
    display: inline-block;
    background: #5BB19C;
    position: relative;
    top: -4px;
}
.lesson-search-menuWrap{
    display: flex;
    gap: 15px;
    align-items: center;
}
.lesson-search-fig{
    color: #7DB2A4;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.2rem;
    height: 1.2rem;
}
.lesson-search-menu{
    border: 1px solid #7DB2A4;
    width: 22vw;
    max-width: 270px;
    height: 72px;
    border-radius: 10px;
    background: #fff;
    position: relative;
}
.lesson-search-menu::before{
    display: flex;
    align-items: center;
    position: absolute;
    height: 1.6rem;
    bottom: 30%;
    left: 10%;
    padding-left: 30%;
    font-size: 18px;
    font-weight: 600;
    pointer-events: none;
}
.lesson-search-menu:first-child::before{
    content: 'コース';
    background: url(../img/icn_course.png) no-repeat;
    background-size: contain;
    background-position: center left;
}
.lesson-search-menu:nth-child(3)::before{
    content: 'エリア';
    background: url(../img/icn_area.png) no-repeat;
    background-size: contain;
    background-position: center left;
}
.lesson-search-menu:nth-child(5)::before{
    content: '最寄駅';
    background: url(../img/icn_station.png) no-repeat;
    background-size: contain;
    background-position: center left;
}
.lesson-search-menu::after{
    content: '\f078';
    display: inline-block;
    position: absolute;
    bottom: 35%;
    right: 10%;
    font-family: "Font Awesome 5 Free";
    line-height: 1rem;
    font-size: 18px;
    font-weight: 600;
    color: #83BDAF;
    pointer-events: none;
}
.lesson-search-menu select{
    padding: 0.5rem 3rem 0.5rem 0.5rem;
    white-space: inherit;
    width: 22vw;
    max-width: 270px;
}
.lesson-search-btnWrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}
.lesson-search-btn{
    font-size: 1.125em;
    background: #5BB19C;
    font-weight: 500;
    padding: 0.8em 5.6em;
    border-radius: 100px;
    display: flex;
    align-items: center;
    position: relative;
    transition: .5s ease;
}
.lesson-search-btn input{
    color: #fff;
    background: transparent;
    border: none;
    padding: 0;
}
.lesson-search-btn::after {
    content: '';
    display: inline-block;
    margin: auto 0;
    position: absolute;
    right: 0.7em;
    background: url(../img/ico_arrow2.png) no-repeat;
    width: 1.25rem;
    height: 1.25rem;
    background-size: contain;
}
.lesson-search-btn:hover{
    opacity: .5;
}
#menu-sa.rotate::after, #menu-sc.rotate::after, #menu-ss.rotate::after{
    transform: rotate(180deg);
}
#menu-sa.none::before, #menu-sc.none::before, #menu-ss.none::before{
    /*display: none;*/
    opacity: 0;
}
.lesson-search-form{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.lesson-search-bg {
    bottom: -10px;
    left: 38px;
    right: 0;
    margin: 0 auto;
    line-height: 1;
    position: absolute;
    color: rgba(255, 255, 255, 0.2);
    /* font-weight: 800; */
    font-size: 8em;
    letter-spacing: .05em;
    z-index: 1;
    white-space: nowrap;
    overflow: hidden;
    font-family: 'Gilda Display', serif;
}
@media only screen and (max-width: 1023px) {
    .lesson-search{padding: 60px 0;}
    .lesson-search p{text-align: center;}
    .lesson-search .lesson-search-wrap{display: block;text-align: center;padding: 2rem 1rem 2.625rem;}
    .lesson-search .viewport-l > div {margin-top: 1.5em;}
    .lesson-search-menuWrap{flex-direction: column;padding-top: 1rem;}
    .lesson-search-menu{width:100%;}
    .lesson-search-menu select{width:100%;}
    .lesson-search-txt{flex-direction: column;align-items: center;gap: 2rem;}
}
@media only screen and (max-width: 745px) {
    .lesson-search .txt_line{font-size: 13px !important;}
    .lesson-search .viewport-l > div > p{font-size: 19px;}
}
@media only screen and (max-width: 550px) {
    .lesson-search-bg {font-size: 7em;bottom: -5px;}
}

/*==================================================

Main Footer
==================================================*/

.contact {background: #EBF9F6;padding: 80px 0;background-image: url('../img/bg-contact.jpg');background-size: cover;background-position: bottom right;background-repeat: no-repeat;}
.contact .headline-box {padding-bottom: 1em;justify-content: center;}
.contact-box {
    background: #575F5D;
    max-width: 1100px;
    box-sizing: border-box;
    padding: 4em;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.contact-box .contact-btn1, .contact-box .contact-btn2 {width: 35%;}
.contact-box .contact-btn1 a, .contact-box .contact-btn2 a {
    padding: 20px 30px;
    position: relative;
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
    display: block;
}
.contact-box .contact-btn1 a {background: #fff;}
.contact-box .contact-btn2 a {background: #83BDAF; color: #fff;}

.contact-box .contact-btn1 a::before ,.contact-box .contact-btn2 a::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    left: 1em;
}
.contact-box .contact-btn1 a::after ,.contact-box .contact-btn2 a::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 1em;
}

.contact-box .contact-btn1 a::before  {
    background: url(../img/ico_calendar.png) no-repeat;
    width: 29px;
    height: 26px;
    background-size: contain;
}
.contact-box .contact-btn2 a::before {
    background: url(../img/ico_mail.png) no-repeat;
    width: 29px;
    height: 20px;
    background-size: contain;
}
.contact-box .contact-btn1 a::after  {
    background: url(../img/ico_arrow3.png) no-repeat;
    width: 29px;
    height: 26px;
    background-size: contain;
}
.contact-box .contact-btn2 a::after {
    background: url(../img/ico_arrow.png) no-repeat;
    width: 29px;
    height: 20px;
    background-size: contain;
}

.contact-box .nav-tel {margin: 0;}
.contact-box .nav-tel p{color: #fff;}


.contact-box .nav-tel p:nth-child(1) {font-size: 1.8em;}
.l-footerContact__ttl{
    font-size: 4.5em;
    font-family: 'Hina Mincho';
    font-weight: normal;
    letter-spacing: 3px;
}
.l-footerContact__subttl{
    line-height: 2.5em;
    margin-right: 3.2rem;
}
.l-footerContact__txt{
    font-size: 1.4em;
    font-weight: 600;
    line-height: 1.7em;
    padding-top: 10px;
}
.l-footerWrap {
    position: relative;
    background: #fff;
    padding-bottom: 2%;
    /* display: flex;
    flex-direction: column;
    align-items: center; */
}
.l-footerWrap .logo{
    min-width: 240px;
    margin-right: 2rem;
    width: 17.6vw;
}
.l-footerWrap > div {
    display: flex;
    /* padding: 100px 0;
    max-width: 1750px;
    width: 100%; */
    padding: 100px 0 100px min(5%, 120px);
}
.l-footerWrap .footer-menu-area{
    display: flex;
    width: 100%;
    height: auto;
    padding-top: 7px;
}

.l-footerWrap .ft-l, .l-footerWrap .ft-r {
    display: flex;
}

.l-footerWrap .ft-l{
    flex-wrap: wrap;
    flex-shrink: 3;
    gap: 1.4rem;
    width: fit-content;
    margin-right: 4%
}
.l-footerWrap .ft-l .nav-ico ul{
    width: 8vw;
    height: auto;
    max-width: 100%;
}
.l-footerWrap .ft-l .nav-ico img{
    height: auto;
    min-width: 25px;
    min-height: 25px;
    max-width: 100%;
}
.l-footerWrap .ft-l .trial-banner{
    margin: 0;
}
.l-footerWrap .ft-r{
    flex-basis: 450px;
    flex-shrink: 1;
    gap: 1.4rem;
    margin-left: 4%;
}

.l-footerWrap .ft-l >div{
    /* margin-right: 30px;
    min-width: 150px;
    margin: 0 0 3% 0;
    position: static; */
}
.l-footerWrap .ft-l >div:last-child{
    /* margin-right: 3vw;
    flex: 0 0 270px; */
}

.l-footerWrap .ft-r ul li{
    margin-bottom: 10px;
    font-size: 90%;
}

.l-footerWrap .ft-r >ul{
    /* margin-right: 30px; */
    /* min-width: 150px; */
}

.l-footerWrap .ft-border{
    width: 1px;
    height: auto;
    background-color: #666666;
    margin: 0;
}

.l-footerWrap #copyright{
    font-size: 90%;
    width: 100%;
    text-align: center;
    padding: 2% 0 0 ;
    border-top: 1px solid #666666;
}

#pageTop {
    position: fixed;
    bottom: 1em;
    right: 1em;
    max-width: 50px;
    z-index: 11;
}

/*==================================================

Media Quaries, max-width: 1023px
==================================================*/
@media only screen and (max-width: 1023px) {
    .width95 {
        width: 95%;
        margin: 0;
    }
    .nav-tel a{pointer-events: auto;}
    .hd-fixed .header-nav > div {
    justify-content: space-between;
}
    #main-header {background: #f1f1f1;height: 72px;}
    #main-header>div {padding: 10px 4%;height: 72px;}
    .header-nav {width: 40px !important;margin: 1em;display: block !important;height: auto;}
    #global-nav, .header-nav .nav-ico, .header-nav .nav-tel, .header-nav .nav-btn{display:none;}
    .menu-btn{
        /*background: url(../img/ico-menu.png)no-repeat;
        background-size: contain;
        width: 40px;
        height: 44px;
        z-index: 15;
        position: relative;
        top: 2px;*/
        color: #5BB19C;
        font-size: 12px;
        line-height: 1em;
    }
    .menu-btn >span{
        position: relative;
        left: 4%;
        background-color: #5BB19C;
        width: 35px;
        height: 2px;
        display: block;
        margin-bottom: 9px;
        transition: transform 0.5s;
    }
    .menu-btn.open span:nth-of-type(1) {
        left: 10%;
        transform: translateY(15px) rotate(-45deg);
        width: 80%;
        background-color: #5BB19C;
    }
    .menu-btn.open span:nth-of-type(2) {
        opacity: 0;
    }
    .menu-btn.open span:nth-of-type(3){
        left: 10%;
        transform: translateY(-7px) rotate(45deg);
        width: 80%;
        background-color: #5BB19C;
    }

      #obfuscator {
        position: fixed;
        top: 90px;
        left: 0;
        height: 100%;
        width: 100%;
        z-index: 9;
        -webkit-transition-property: background-color;
        transition-property: background-color;
        -webkit-transition-duration: .2s;
        transition-duration: .2s;
        cursor: pointer;
        background: #fff;
        transform: translateY(-100%);
        display: none;
      }
      #global-nav-sp {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 72px;
        left: 0;
        transition: all .3s cubic-bezier(.4, 0, .2, 1);
        overflow: scroll;
        z-index: 10;
        margin: 0;
        opacity: 0;
        display: none;
      }
      body.menu-visible #menu span {
        /* background: transparent; */
      }
      body.menu-visible #obfuscator {
        transform: translateY(0);
        display: block;
      }
      body.menu-visible #global-nav-sp {
        opacity: 1;
        display: block;
      }
      #global-nav-sp > ul{overflow: auto;height: calc(100vh - 72px);padding-bottom: 180px;} 
      #global-nav-sp .nav-sp-item a{display: block;width:100%;text-align:left;padding: 4% 7%;border-bottom: 1px solid #d8d8d8;font-size: 1rem;position: relative;}
      #global-nav-sp .nav-sp-item a::after{
          content: '';
          display: inline-block;
          position: absolute;
          top: 0;
          bottom: 0;
          margin: auto 0;
          right: 3em;
          background: url(../img/ico_arrow3.png) no-repeat;
          width: 20px;
          height: 20px;
          background-size: contain;
      }
  
      #global-nav-sp .nav-ico{width: max-content;margin: 2em auto;}
      #global-nav-sp .nav-sp-flex {width:70%;margin: 0 auto;display: flex;justify-content: center;gap: 0.5em;padding:0 1rem;flex-direction: column;}
      #global-nav-sp .nav-sp-flex, #global-nav-sp .nav-btn{display: flex;flex-direction: column;justify-content: center;}
      #global-nav-sp .nav-sp-flex a{height:5em;display: flex;align-items: center;justify-content: center;border:1px solid #575F5D;}
      #global-nav-sp .nav-sp-flex .nav-btn{background: #83BDAF;font-size: 16px;}
      #global-nav-sp .nav-sp-flex .nav-tel{padding:0.7em;}
      /*#global-nav-sp .nav-tel p:nth-child(1){font-size: 1.5rem;}*/
      #global-nav-sp .nav-ico ul{gap: 30px;}
      #global-nav-sp .nav-ico ul li{width: 50px;}
      #global-nav-sp .nav-ico img{width: 100%;height: auto;}
      #global-nav-sp .nav-btn a{/*padding: 1em 1.6em 0.8em 2em;*/padding: 0;background: inherit;border: none;}
      #global-nav-sp .nav-btn a::after{margin: 0 0 0 0.3rem;}
    .search_btn{
        display: none;
    }

    body{font-size:14px;margin-top: 72px;}

    #main-header .logo{line-height: inherit;padding-left: 0;}
    #main-header .logo,.ft_l>a img{max-width: 280px;width: 68%;min-width: auto;}
    .nav-btn {flex: initial;}
    .nav-ico {margin: 0;order: -1;}
    .l-footerWrap .ft-l .logo{order:-2;margin-bottom: 1em;}
    .side-btn {
        position: fixed;
        bottom: 0;
        display: flex;
        width: 100%;
        z-index: 999;
        top: inherit;
    }
    .side-btn ul {
        display: flex;
        width: 100%;
    }
    .side-btn ul li {
        flex-grow: 1;
        display: flex;
        /*width: 33%;*/
        width: calc(100% / 2);
        align-items: center;
        justify-content: center;
        border: 1px solid #575F5D;
        cursor: pointer;
    }
    .side-btn ul li + .pc-view{
        display: none;
    }
     .side-btn ul li a {
        margin: 0;
        width: 100%;
        height: 4em;
        flex-direction: row;
        /*padding: 1em 0.7em;*/
        padding: 0.7em;
        justify-content: center;
    }
    .side-btn ul li a span {
        writing-mode: horizontal-tb;
        width: 100%;
        /*font-size: 13px;*/
        font-size: 16px;
        letter-spacing: 0;
    }    
    .side-btn ul li i{margin: 0 5px 0 0;}
    /*.side-btn ul li:nth-of-type(3) a {background: #83BDAF;}*/
    .side-btn ul li:first-child{background: #575F5D;}
    .side-btn ul li:first-child a{box-shadow: none;}
    .side-btn ul li:nth-of-type(3){background: #fff;}
    .side-btn ul li:nth-of-type(3) a {color: #333;box-shadow: none;}
    .contact{background-position: bottom center;}
    .contact-box {display: block;}
    .contact-box .contact-btn1, .contact-box .contact-btn2 {width: 100%; max-width: 500px; margin:0 auto 2em;}
    .l-footerWrap .logo {width: 90%;margin:0 auto;}
    .l-footerWrap > div {padding: 40px 10px 0;flex-direction: column;align-items: center;}
    .l-footerWrap .ft-l {width: 100%; flex-direction: column;margin:0;}
    .l-footerWrap .ft-l .nav-ico ul{width:100%;gap: 2em;}
    .l-footerWrap .ft-l .nav-ico img{width: 50px;height: 50px;}
    .l-footerWrap .ft-r {display: none;}
    .l-footerWrap .ft-l >div ,.l-footerWrap .ft-l >div:last-child {margin: 0 auto;}
    .l-footerWrap .ft-l >div:last-child {flex: auto;margin-bottom: 40px;}
    .l-footerContact__ttl{
        font-size: 3.5em;
    }
    .l-footerContact__subttl{
        line-height: 2em;
        margin: 0 0 1em 0;
    }
    .l-footerContact__txt{
        font-size: 1.3em;
        text-align: center;
    }
    .nav-btn a::after{
    right: 1em;
}
    .l-footerWrap #copyright{
    padding-bottom: 70px;
}
    .nav-btn a{padding: 1em;min-width: 160px;font-size: 100%;}
}

@media only screen and (max-width: 745px) {
    #obfuscator {top: 72px;}
    #main-header .logo, .header-nav {margin: 0;}
    .trial-text .right {flex-direction:column;}
    .trial-banner {margin: 0 auto 2em;}
    .right {text-align: center;}
}

@media only screen and (max-width: 550px) {
    .contact .headline-box {text-align: center;}
    .contact .headline-box p{
        text-align: center;
    }
    .contact-box {padding: 2em 1em;}
}