@charset "utf-8";

/* android対策 */
p { background-image: url(../images/pix.gif); }

/*--------------------------------------------------------
★レスポンシブ■タブレット対応
--------------------------------------------------------*/
@media screen and (max-width: 1280px) {
    /* layout */
    html{
        width: 1280px;
    }
    body {
        width: 1280px;
    }
    /* header */
    header{
        position: relative;
        display: block;
        width: 1280px;
        padding-bottom: 10px;
    }
    article{
        position: relative;
        display: block;
        width: 1280px;
    }
    #free_trial .center_text:before{
        left: -450px;
    }
    #free_trial .center_text:after{
        right: -450px;
    }
    footer{
        width: 1280px;
    }
}

/*--------------------------------------------------------
★レスポンシブ■ヘッダ部分
--------------------------------------------------------*/
@media screen and (min-width: 481px) {
    .pc_none{
        display: none!important;
    }
}
@media screen and (max-width: 480px) {
    /* header */
    header{
        position: fixed;
        max-width: 480px;
        width: 100%;
        height: auto;
        padding: 0;
        z-index: 100;
        background: #FFF;
        top: 0;
    }

    /* スマホ用メニュー */
    #rd_header{
        position: fixed;
        display: block;
        top: 0;
        width: 100%;
        height: 50px;
        margin: 0;
        z-index: 10000;
        background: #FFF;
        box-shadow:0 3px 1px rgba(0,0,0,0.2);
    }
    #rd_logo{
        position: relative;
        display: block;
        float: left;
        width: 50%;
        height: 40px;
        margin: 5px 0 5px 3%;
    }
    #rd_logo a{
        position: relative;
        display: block;
        text-indent: -9999px;
        width: 100%;
        height: 40px;
        margin: auto;
        padding: 0;
        background: url(../images/logo.svg) no-repeat center left;
        -webkit-background-size: contain;
        background-size: contain;
        z-index: 10000;
    }
    #rd_logo a:hover{
        opacity: 0.8;
    }
    #rd_gnav{
        position: absolute;
        display: block;
        float: right;
        width: 70px;
        height: 50px;
        top: 0;
        right: 0;
        text-align: center;
    }
    #rd_gnav li{
        position: relative;
        display: inline-block;
        text-decoration: none;
        width: 47.2%;
        height: 10px;
    }
    #rd_gnav li a{
        position: relative;
        display: inline-block;
        text-decoration: none;
        list-style: none;
        font-size: 7px;
        text-align: center;
        color: #363636;
        line-height: 1em;
        width: 100%;
        height: 10px;
        padding: 32px 2% 8px;
        border-radius: 3px;
        z-index: 10000;
    }
    #rd_gnav li:first-child a{
        background: url(../images/rd_contact.svg) no-repeat center 28%;
        -webkit-background-size: 25px;
        background-size: 25px;
    }
    @media only screen and (orientation:landscape) {
        #rd_header{
            position: absolute;
            background: url(../images/texture.jpg) repeat top left;
            -webkit-background-size: 500px;
            background-size: 500px;
        }
        #topcontrol{
            display: none!important;
        }
    }
    #panel-btn-icon{
        position: absolute;
        display: block;
        top: 38%;
        left: 50%;
        width: 14px;
        height: 2px;
        margin: -1px 0 0 -7px;
        background: #00689B;
        transition: .2s;
    }
    #panel-btn-icon:before, #panel-btn-icon:after{
      display: block;
      content: "";
      position: absolute;
      top: 38%;
      left: 0;
      width: 14px;
      height: 2px;
      background: #00689B!important;
      transition: .3s;
    }
    #panel-btn-icon:before{
      margin-top: -6px;
    }
    #panel-btn-icon:after{
      margin-top: 4px;
    }
    #panel-btn .close{
      background: transparent;
      background: #FFF!important;
    }
    #panel-btn .close:before, #panel-btn .close:after{
      margin-top: 0;
      background: #00689B!important;
    }
    #panel-btn .close:after{
      transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
    }
    #panel-btn .close:before{
      transform: rotate(-135deg);
      -webkit-transform: rotate(-135deg);
    }
    #panel{
        position: absolute;
        display: none;
        width: 100%;
        height: auto;
        z-index: 1000;
        top: 50px;
        margin: 0;
        padding: 0 0 155px;
        text-align: left;
    }
    #panel li{
        background: rgba(0,104,155,0.7);
    }
    #panel li a{
        position: relative;
        display: block;
        padding: 9px 5%;
        width: 90%;
        font-size: 12px;
        border-bottom: 1px dotted #B5B5B6;
        line-height: 100%;
        text-decoration: none;
        color: #FFF;
    }
    #panel li a:after{
        content: "\f054";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        position: absolute;
        top: 8px;
        right: 7%;
    }
    #panel li a:hover{
        color: #FFF;
        background: rgba(0,160,233,0.8);
    }
    .dropdown{
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
    }
    .dropdown li{
        padding: 0;
    }
    .dropdown li > ul li{
        text-indent: 1em;
        background: rgba(215,247,246,0.8);
    }
    .dropdown li > ul li a{
        color: #FFF;
        width: 94%;
        padding: 0 0 0 6%;
        background: rgba(215,247,246,0.8);
    }

}

/*--------------------------------------------------------
★レスポンシブ■スマホ表示切替ボタン
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
    li a#btnSP{
        display: none;
    }
    li a#btnPC{
        position: fixed;
        display: block;
        width: 30%;
        height: auto;
        z-index: 100;
        font-size: 12px;
        padding: 4px 2px;
        border-radius: 8px;
        background: #FFF;
        box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
        text-align: center;
        color: #fc9520;
        text-decoration: none;
        border: 2px solid #fc9520;
        bottom: 40px;
        left: 12px;
        z-index: 99999999!important;
    }
}
@media screen and (min-width: 481px) {
    #switch{
        display: none;
        height: 0;
    }
    li a#btnSP{
        display: none;
    }
    li a#btnPC{
        display: none;
    }
}

@media screen and (min-width:1021px) {
    #switch{
        display: block;
        height: auto;
    }
    li a#btnPC{
        display: none;
    }
    li a#btnSP{
        position: fixed;
        display: block!important;
        width: 300px;
        height: auto;
        z-index: 100;
        font-size: 24px;
        padding: 8px;
        text-align: center;
        border-radius: 22px;
        background: #fc9520;
        box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
        color: #fff;
        text-decoration: none;
        bottom: 30px;
        left: 30px;
        z-index: 99999999!important;
    }
}
@media screen and (min-width: 1023px) {
    #switch{
    display: none;
    height: 0;
    }
    li a#btnSP{
        display: none;
    }
    li a#btnPC{
        display: none;
    }
}


/*--------------------------------------------------------
★レスポンシブ■コンテンツ部分
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
    html{
        max-width: 480px;
        width: 100%;
        -webkit-text-size-adjust: 100%!important;
        overflow-x: hidden;
    }
    body {
        max-width: 480px;
        min-width: 320px;
        width: 100%;
        overflow-x: hidden!important;
        box-shadow: none;
        font-size: 16px;
        line-height: 22pt;
        letter-spacing: .02em;
        -webkit-text-size-adjust: 100%!important;
    }

    /* Common
    ------------------------------ */
    .sp_none{
        display: none;
    }
    article{
        width: 100%;
    }
    .fl_l,.fl_r{
        clear: both;
        float: none;
    }

    /* layout
    ------------------------------ */
    .wrapper{
        width: 92%;
        padding: 0 4%;
    }
    .tel{
        width: 250px;
        height: 34px;
        -webkit-background-size: contain;
        background-size: contain;
    }
    .btn a{
        width: 250px;
    }

    /* bxslider */
    .slider_deco{
        position: absolute;
        display: block;
        width: 100%;
        height: 0;
        padding-bottom: 56%;
    }
    .slider_deco li{
        position: absolute;
        display: block;
        width: 100%;
        left: 0;
        right: 0;
        margin: 0 auto;
        z-index: 10;
    }
    .slider_deco li:first-child{
        top: 0;
    }
    .slider_deco li:nth-child(2){
        bottom: 0;
    }
    #slider{
        position: relative;
        display: block;
        width: 100%;
        overflow-x: hidden;
        margin-top: 60px;
    }
    .bxslider li,.bx-viewport{
        height: auto!important;
    }

    /* Header
    ------------------------------ */
    /* 非表示 */
    #header_logo,#lead,#gnav,#header .fl_r{
        display: none;
    }

    /* main_contents
    ------------------------------ */
    .main_contents section{
        padding-top: 30px;
    }
    .main_contents h2{
        font-size: 5vw;
        line-height: 18pt;
        letter-spacing: .05em;
        margin-bottom: 20px;
    }
    .main_contents h2:before,
    .main_contents h2:after{
        bottom: -10px;
    }
    .main_contents h2:before{
        margin-right: 5px;
    }
    .main_contents h2:after{
        margin-left: 2px;
    }
    .main_contents h3{
        font-size: 5vw;
        -webkit-background-size: auto 10px;
        background-size: auto 10px;
        margin-bottom: 10px;
    }
    .main_contents .main_text{
        text-align: center;
    }

    /* greeting
    ------------------------------ */
    #greeting{
        padding-bottom: 110px;
    }
    #greeting h2:before,#greeting h2:after{
        width: 30px;
        height: 35px;
    }
    #greeting .fl_l,#greeting .fl_r{
        width: 100%;
        height: auto;
        margin: 0 auto;
    }
    #greeting .fl_l{
        position: relative;
        display: block;
        width: 184px;
        height: 244px;
        right: auto;
        bottom: auto;
        margin: 20px auto 30px;
    }
    #greeting .fl_r p{
        margin-top: 0;
    }
    #greeting .facebook{
        width: 100%;
        padding-bottom: 22px;
    }
    #greeting .facebook a,
    #greeting .pdf a{
        padding: 3%;
        height: auto;
        font-size: 1em;
    }
    #greeting .pdf{
        width: 100%;
    }
    #greeting .fb-page iframe{
        width: 100%!important;
        max-height: 100%;
        height: 100%!important;
    }
    #greeting h2.circle_h2{
        width: 50%;
        height: 0;
        font-size: 9vw;
        margin: 70px auto 20px;
        padding-top: 12%;
        padding-bottom: 38%;
    }
    #greeting h2.circle_h2 .large{
        font-size: 13vw;
    }
    #greeting h2.circle_h2 .middle{
        font-size: 11vw;
        padding-left: 8px;
    }
    #greeting ul{
        margin: 0 auto;
    }
    #greeting ul li{
        display: block;
        width: 90%;
        height: auto;
        margin: 0 auto 30px;
    }
    #greeting ul li:first-child,
    #greeting ul li:nth-child(2),
    #greeting ul li:nth-child(3),
    #greeting ul li:nth-child(4){
        margin-top: 0;
    }
    #greeting ul li:nth-child(4){
        margin: 0 auto;
    }
    #greeting ul li .num{
        position: absolute;
        display: block;
        width: 80px;
        height: 80px;
        color: #FFF;
        font-size: 56px;
        font-weight: 800;
        text-align: center;
        line-height: 80px;
        border-radius: 50%;
        z-index: 1;
        top: 0;
        right: 0;
    }
    #greeting ul li:first-child .num,
    #greeting ul li:nth-child(2) .num,
    #greeting ul li:nth-child(3) .num,
    #greeting ul li:nth-child(4) .num{
        right: -5%;
        top: 0;
    }
    #greeting ul li h3{
        font-size: 5vw;
        margin-bottom: 8px;
    }

    /* free_trial
    ------------------------------ */
    #free_trial{
        padding-bottom: 70px;
    }
    #free_trial:before{
        top: -1%;
    }
    #free_trial:after{
        bottom: -.5%;
    }
    #free_trial h2:before,
    #free_trial h2:after{
        position: absolute;
        width: 100px;
        height: 120px;
        top: -30px;
    }
    #free_trial h2:before{
        left: -40px;
    }
    #free_trial h2:after{
        right: -24px;
    }
    #free_trial .center_text{
        width: 100%;
        height: auto;
        margin: 0 auto 70px;
    }
    #free_trial .center_text span{
        position: relative;
        display: block;
        padding-left: 1em;
        text-indent: -1em;
    }
    #free_trial .center_text:before,
    #free_trial .center_text:after{
        position: relative;
        width: 264px;
        height: 264px;
        top: auto;
        margin: 0 auto;
    }
    #free_trial .center_text:before{
        left: auto;
        margin-bottom: 20px;
    }
    #free_trial .center_text:after{
        right: auto;
    }
    .contact_box{
        width: 100%;
        height: auto;
        margin: 0 auto;
        padding: 8% 6%;
        box-sizing: border-box;
    }
    .contact_box h3{
        font-size: 5vw;
        margin-bottom: 8px;
    }
    .contact_box p{
        line-height: 18pt;
    }
    .contact_box p:nth-child(2){
        line-height: 18pt;
        margin-bottom: 5px;
    }
    .contact_box .logo{
        width: 90%;
        height: 0;
        margin: 10px auto 10px;
        padding-bottom: 20%;
    }
    .contact_box .btn a{
        font-size: 18px;
    }

    /* staff
    ------------------------------ */
    #staff{
        padding-bottom: 70px;
    }
    #staff h2.illust_flower{
        margin-bottom: 50px;
    }
    #staff h2.illust_flower:before,#staff h2.illust_flower:after{
        width: 70px;
        height: 41px;
    }
    #staff h2.illust_flower:before{
        margin-right: 10px;
    }
    #staff h2.illust_flower:after{
        margin-left: 10px;
    }
    #staff .staff_list{
        gap: 50px 0;
        margin: 0 auto;
    }
    #staff .staff_list li{
        display: block;
        width: 100%;
        margin: 0 auto;
    }
    #staff .staff_list li h3,
    #staff .work_content li h3{
        font-size: 5vw;
    }
    #staff .staff_list li span{
        padding: 0 2%;
    }
    #staff h2.illust_sun{
        margin-top: 70px;
    }
    #staff h2.illust_sun:before{
        width: 70px;
        height: 50px;
        margin-right: 5px;
    }
    #staff h2.illust_sun:after{
        width: 30px;
        height: 20px;
        margin-left: 10px;
        bottom: -14px;
    }
    #staff .work_content{
        margin: 30px auto 12px;
    }
    #staff .work_content li{
        display: block;
        width: 100%;
        height: auto;
        margin: 0 auto 50px;
    }
    #staff .work_content li:nth-child(3n){
        margin: 0 auto 50px;
    }
    #staff .work_content li .pict{
        width: 90%;
        height: auto;
        margin: 0 auto 18px;
    }
    .clipboard{
        width: 100%;
        height: auto;
        margin: 0 auto;
        padding: 6% 8%;
        background: url(../images/sp_clipboard.png) repeat-y top center;
        -webkit-background-size: contain;
        background-size: contain;
        box-sizing: border-box;
    }
    .clipboard:before,.clipboard:after{
        content: "";
        position: absolute;
        display: block;
        width: 100%;
        height: 0;
        padding-bottom: 9%;
        background-repeat: no-repeat;
        background-position: 0 0;
        -webkit-background-size: contain;
        background-size: contain;
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    .clipboard:before{
        background-image: url(../images/sp_clipboard_top.png);
        top: -2.5%;
    }
    .clipboard:after{
        background-image: url(../images/sp_clipboard_bottom.png);
        bottom: -2.5%;
    }
    .clipboard dl dt{
        display: inline;
        clear: both;
        float: none;
        font-size: 16px;
    }
    .clipboard dl dd{
        margin-bottom: 20px;
        padding-left: 0;
    }

    /* faq
    ------------------------------ */
    #faq{
        padding-top: 50px;
        padding-bottom: 70px;
    }
    #faq h2:after{
        width: 50px;
        height: 50px;
        margin-left: 10px;
    }
    .faq_list_box{
        display: block;
        width: 100%;
    }
    .faq_list_box:first-of-type{
        margin: 0 auto 20px;
    }
    .faq_list_box:nth-of-type(2){
        margin: 0 auto;
    }
    .faq_list_box dt{
        height: auto;
        padding: 4% 8% 4% 16%;
        line-height: 20pt;
        letter-spacing: -.01em;
        margin-top: 14px;
    }
    .faq_list_box dt:before{
        position: absolute;
        display: block;
        height: 34px;
        font-size: 30px;
        line-height: 1em;
        top: 0;
        left: 4%;
        bottom: 0;
        margin: auto 0;
    }
    .faq_list_box:nth-child(2) dt:nth-child(9){
        height: auto;
        padding-top: 4%;
        padding-left: 16%;
    }
    .faq_list_box:nth-child(2) dt:nth-child(9):before{
        top: 0;
        margin-left: 0;
    }

    /* profile
    ------------------------------ */
    #profile h2:before,#profile h2:after{
        width: 34%;
        height: 15px;
        -webkit-background-size: auto 15px;
        background-size: auto 15px;
    }
    #profile h2:before{
        left: 0;
    }
    #profile h2:after{
        right: 0;
    }
    #profile ul{
        line-height: 0;
        letter-spacing: -.4em;
        margin: 0 auto 40px;
    }
    #profile ul li{
        display: block;
        width: 100%;
        line-height: 19pt;
        letter-spacing: .02em;
        margin: 0 auto 30px;
    }
    #profile ul li:nth-child(3){
        margin: 0 auto;
    }
    #profile ul li .pict{
        width: 90%;
        height: auto;
        margin: 0 auto 16px;
    }
    #profile ul li h3{
        font-size: 5vw;
        margin-bottom: 10px;
    }
    #profile ul li span{
        padding: 0;
    }
    #profile dl{
        margin: 0 auto;
        padding: 110% 0 0;
        background-position: top center;
        -webkit-background-size: 250px auto;
        background-size: 250px auto;
    }
    #profile dl dt{
        clear: both;
        float: none;
        line-height: 1em;
        margin-bottom: 8px;
        padding-left: 25px;
        background-position: center left 5px;
    }
    #profile dl dd{
        margin-bottom: 16px;
        padding: 0 25px 10px;
        line-height: 19pt;
    }

    /* access
    ------------------------------ */
    #access h2{
        margin-bottom: 40px;
    }
    #access h2:before,#access h2:after{
        width: 40px;
        height: 45px;
    }
    #access h2:before{
        top: 24px;
        margin-right: 20px;
    }
    #access h2:after{
        margin-left: 20px;
    }
    #access h3{
        margin-bottom: 20px;
        -webkit-background-size: 65% 15px;
        background-size: 65% 15px;
    }
    .ggmap{
        height: 250px;
    }
    .ggmap iframe{
        height: 100%;
    }

    /* contact
    ------------------------------ */
    #contact{
        padding-bottom: 34px;
    }
    #contact h2:before{
        width: 40px;
        height: 30px;
        margin-right: 14px;
    }
    #contact h2:after{
        width: 33px;
        height: 26px;
        margin-left: 10px;
    }
    .tel_box{
        width: 100%;
        height: auto;
        margin: 0 auto 20px;
        padding: 8% 6%;
    }
    .tel_box .fl_l h3,
    #mailformpro h3{
        font-size: 5vw;
        margin-bottom: 10px;
        text-align: center;
    }
    .tel_box .fl_l h3{
        text-align: center;
    }
    .tel_box .tel{
        margin: 0 auto;
    }
    .tel_box p.fl_r{
        font-size: 15px;
        line-height: 19pt;
        letter-spacing: .04em;
        margin-top: 10px;
        text-align: center;
        font-feature-settings: "palt";
    }
    .tel_box p.fl_r span{
        display: block;
        text-align: center;
        letter-spacing: .1em;
        margin: 0 auto 4px;
    }

    /* mailform */
    #mailformpro{
        width: 100%;
        padding: 8% 6%;
    }
    #mailformpro .main_text{
        text-align: center;
        line-height: 18pt;
        letter-spacing: .01em;
        background-position: bottom;
    }
    #mailformpro table tr{
        position: relative;
        display: block;
        margin-bottom: 18px;
    }
    #mailformpro table tr th{
        position: relative;
        display: block;
        width: 100%;
        vertical-align: top;
        padding-top: 0;
    }
    #mailformpro table tr th .must,
    #mailformpro table tr th .any{
        width: 46px;
        margin-left: 14px;
        left: auto;
        right: 0;
    }
    #mailformpro table tr:nth-child(1) th .must,
    #mailformpro table tr:nth-child(2) th .must,
    #mailformpro table tr:nth-child(3) th .must,
    #mailformpro table tr:nth-child(4) th .any{
        right: 0;
    }
    #mailformpro table tr td{
        position: relative;
        display: block;
        width: 100%;
        padding-left: 0;
    }
    #mailformpro table tr td input[type="text"],
    #mailformpro table tr td input[type="tel"],
    #mailformpro table tr td input[type="email"],
    #mailformpro table tr td textarea{
        width: 90%!important;
    }
    #mailformpro table tr td input.postal_code{
        width: 40%!important;
    }
    #mailformpro table tr td input[type="text"],
    #mailformpro table tr td input[type="tel"],
    #mailformpro table tr td input[type="email"]{
        height: 30px;
    }
    #mailformpro table tr td span{
        font-size: 20px;
        font-weight: 800;
        margin-right: 10px;
    }
    #privacy_policy{
        margin: 11px auto 17px;
    }
    #content-1{
        width: 100%;
    }
    #content-1 h3{
        text-align: left;
        line-height: 7vw;
        padding: 0 6%;
        background: none;
    }
    #content-1 p{
        padding: 0 6%;
    }
    .check_text{
        position: relative;
        display: block;
        font-size: 16px;
        font-weight: 800;
        text-align: center;
        margin-bottom: 13px!important;
    }
    .check_text label{
        letter-spacing: -.01em;
        white-space: normal!important;
        padding-left: 30px;
    }
    .check_text label input[type="checkbox"]{
        margin-left: -35px;
    }
    #mailformpro .submit{
        width: 250px;
        font-size: 18px;
        padding-top: 4px;
        cursor: pointer;
        transition: .3s;
        margin: 0 auto;
        box-sizing: border-box;
        box-shadow: 4px 4px 2px rgba(0,0,0,.15);
        overflow: hidden;
        cursor: pointer;
    }

    /* footer
    ------------------------------ */
    footer{
        width: 100%;
        height: 80px;
        -webkit-background-size: auto 80px;
        background-size: auto 80px;
    }
    #copyright{
        padding-top: 60px;
    }
    #copyright p{
        width: 100%;
        text-align: center;
        font-size: 12px;
        letter-spacing: -.05em;
        padding: 0;
    }
    #pagetop {
        bottom: 40px;
        right: 10px;
    }
    #pagetop a{
        width: 50px;
        height: 50px;
    }
}
