@charset "UTF-8";

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    color: #222;
    font-size: 100%;
    font-family:"Noto Sans JP", "メイリオ", "Meiryo", sans-serif;
    font-weight:400;
    vertical-align: baseline;
    background: transparent;
    list-style-type:none;
}
div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    box-sizing: border-box;
}
body {line-height: 1;}
ul, ol {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: none;}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
input, textarea {
    font-family:"Noto Sans JP", "メイリオ", "Meiryo", sans-serif;
    font-weight:400;
    margin: 0;
    padding: 0;
}
strong {font-weight:bold;}
input, button, textarea, select {}
img {max-width: 100%;vertical-align: bottom;}


/*== 全体 ==*/
#wrap {overflow:hidden;}
body {min-width:1086px;}
.pc_non {display:none;}
p,li,th,td,dt,dd {font-size:15px;line-height: 1.6;}
.inner {width:1086px;margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px;}
.alignleft,
#main .alignleft {float:left;width: 300px;padding:0 30px 30px 0;}
.alignright,
#main .alignright {float:right;width: 300px;padding:0 0 30px 30px;}


/*-- clear --*/
.clear {clear: both;}

/* clearfix */

.cf:after{
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
.cf { display: inline-block; }
/* start commented backslash hack \*/
* html .cf { height: 1%; }
.cf { display: block; }
/* close commented backslash hack */
{
height:1%;
}
.cf
{
display:block;
}


/*== 効果 ==*/
/*-- フェード表示 --*/
.scroll-fade {
  opacity : 0;
  transform: translateY(20px);
  transition: all 1s;
}

/*== font ==*/
.page #container h1,
.page #main h2,
.page #main h3,
.page #main h4,
.menu #main ul li .menu_name {font-weight: 700;}
.page #container h1,
.page #main h2,
.page #main h3,
.page #main h4,
.page #main table th,
.page #main table td {line-height: 1.6;}

.page #main {margin: 0 auto;}
.page #main h2 {clear: both;border-top: 5px solid #1670cb;border-bottom: 1px solid #003C8A;font-size: 35px;margin: 100px 0 40px 0;padding: 15px 0;}
.page #main h3 {clear: both;border-bottom: 1px solid #1670cb;font-size: 30px;margin: 70px 0 40px 0;padding-bottom:15px;}
.page #main h4 {clear: both;position: relative;font-size: 25px;margin: 60px 0 40px 0;padding-left: 30px;}
.page #main h4::before {
    position: absolute;
    top:50%;
    margin-top:-1px;
    content: '';
    display: block;
    left: 0;
    background: #002D68;
    width: 20px;
    height: 2px;
}
.page #main figure {margin-bottom: 0;margin-top: 40px;}
.page #main p {margin-top: 20px;}
.page #main table {width: 100%;margin-top: 40px;}
.page #main table th,
.page #main table td {vertical-align: middle;border: 1px solid #ccc;padding:15px 20px;}
.page #main table th {background: #eee;}
.page #main table td {background: #fff;}
.page #main ul,
.page #main ol {margin-top: 30px;padding-left: 30px;}
.page #main ul li,
.page #main ol li {margin-top: 15px;}
.page #main ul li {list-style-type: disc;}
.menu #main ul li,
.event_list #main ul li {list-style-type: none;}
.page #main ol li {list-style-type: decimal;}

/*-- 英数字強調 --*/
#contact_area::before,
.contact_area_tel,
.flow_no span {font-family:"Roboto", "Noto Sans JP", "メイリオ", "Meiryo", sans-serif;}


/*== ボタン ==*/
input[type="submit"] {
    cursor:pointer; 
    color: #fff;
    text-align: center;
    text-decoration: none;
    background:#222;
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.btn {width: 220px;height: 60px;margin: 40px auto 0 auto;}
.btn a {
    position: relative;
    display: block;
    color: #1a1a1a;
    text-align: center;
    text-decoration: none;
    width: 100%;
    background: #fff;
    box-shadow: 2px 2px 0px rgba(0,0,0,.1);
    transition: all .5s;
    font-size: 18px;
    line-height: 60px;
    width: 100%;
    height: 60px;
    padding: 15px 20px;
    border-radius: 30px;
}
.btn a::before {
    position: absolute;
    top:50%;
    margin-top:-1.8em;
    display:block;
    font-family: 'Material Icons';
    content: '\e5cc';
    font-weight: 600;
    transition: all .5s;
    color: #fff;
    margin-top:-1.8em;
    right:30px;
}
.page #main table p {margin:0;}


/*== header ==*/
header {display: flex;justify-content: space-between;align-items: center;min-width: 1056px;height: 70px;margin: 0 auto;padding: 0 30px;}
header h1 a {position:relative;color: #222;font-size:20px;font-weight: 700;text-decoration: none;letter-spacing: 2px;padding-left:44px;}
header h1 a::before {
    position:absolute;
    top:50%;
    margin-top:-16px;
    left:0;
    content:'';
    display:block;
    width:32px;
    height:32px;
    background:url(img/common/logo.png) center center no-repeat;
    background-size:cover;
}
header nav ul {display: flex;justify-content: flex-end;align-items: center;}
header nav ul li {font-size: 14px;letter-spacing: 1px;margin-left: 30px;}
header nav ul li a {position: relative;color: #222;font-weight: 700;text-decoration: none;transition: all .5s;}

.nav_contact {}
.nav_contact a {
    position:relative;
    display:block;
    color:#fff;
    line-height:50px;
    height:50px;
    width:157px;
    padding-left:19px;
    background:#1670cb;
    border-radius:25px;
    box-sizing:border-box;
}
header .nav_contact a {border:1px solid #fff;}
footer .nav_contact a {font-weight:700;border:1px solid #222;}
.nav_contact a::before {
    position:absolute;
    display:block;
    content:'';
    top:50%;
    margin-top:-11px;
    right:10px;
    content:'';
    width:22px;
    height:22px;
    background:#2f8ae6;
    border-radius:11px;
}
.nav_contact a::after {
    position:absolute;
    top:50%;
    margin-top:-3px;
    right:20px;
    content:'';
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
}


/*-- パンくず --*/
.page #container #pan {margin: 0 0 25px 0;}
.page #container #pan p {color:#fff;font-size: 13px;margin: 0;}
.page #container #pan p a,
.page #container #pan p span,
.page #container #pan p a span {color: #fff;}


/*== お問い合わせエリア ==*/
#contact_area {
    position: relative;
    background: #227cd6;
    text-align:center;
    width:1026px;
    margin:0 auto;
    padding:70px 40px;
    z-index:2;
}
#contact_area::before {
    position:absolute;
    top:-50px;
    left:0;
    content:'CONTACT';
    color:#1670cb;
    font-size:100px;
    width:100%;
    text-align:center;
}
#contact_area h2 {
    color:#fff;
    font-size:35px;
    font-weight:700;
    text-align:center;
    letter-spacing: 1.5px;
}
.contact_area_text1 {
    text-align:center;
    margin-top:20px;
}
.contact_area_text1 span {
    position:relative;
    display:inline-block;
    color:#fff;
    font-size:25px;
    font-weight:700;
    letter-spacing: 1.25px;
}
.contact_area_text1 span::before,
.contact_area_text1 span::after {
    position:absolute;
    top:50%;
    margin-top:-1px;
    content:'';
    display:block;
    width:40px;
    height:2px;
    background:#fff;
}
.contact_area_text1 span::before {left:calc(100% + 20px);}
.contact_area_text1 span::after {right:calc(100% + 20px);}
.contact_area_text2 {
    display:inline-block;
    color:#fff;
    font-size:20px;
    font-weight:700;
    text-align:center;
    letter-spacing: 1.25px;
    margin:25px auto 0 auto;
    padding:5px 50px;
    border:1px solid #fff;
    border-radius:20px;
}
.contact_area_min {
    display:flex;
    justify-content: center;
    margin-top:30px;
}
.c_a_m-Left {
    margin-right:50px;
}
#contact_area .contact_area_tel {
    color:#fff;
    font-weight: 700;
    font-size:50px;
    letter-spacing: 2.5px;
}
.contact_area_time {
    color:#fff;
}
.contact_area_mail {
    text-align:center;
    margin-top:20px;
}
.contact_area_mail a {
    position:relative;
    display:block;
    background:#fff;
    color:#1670cb;
    font-size:20px;
    font-weight:700;
    line-height:60px;
    text-align:left;
    text-decoration:none;
    width:300px;
    height:60px;
    padding-left:74px;
    border:1px solid #227cd6;
    border-radius:30px;
    box-sizing:border-box;
}
.contact_area_mail a::before {
    position:absolute;
    display:block;
    content:'';
    top:50%;
    margin-top:-11px;
    right:20px;
    content:'';
    width:22px;
    height:22px;
    background:#2f8ae6;
    border-radius:11px;
}
.contact_area_mail a::after {
    position:absolute;
    top:50%;
    margin-top:-3px;
    right:30px;
    content:'';
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
}


/*== footer ==*/
/*-- ページトップ --*/
#top {
    position:fixed;
    z-index:1500;
    right:50px;
    bottom:30px;
}
#top a {
    position:relative;
    display:block;
    background:#fff;
    border:1px solid #227cd6;
    border-radius:50%;
    width:60px;
    height:60px;
}
#top a::before {
    position:absolute;
    top:50%;
    margin-top:-4px;
    right:50%;
    margin-right:-4px;
    content:'';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #227cd6;
    border-left: 2px solid #227cd6;
    transform: rotate(45deg);
}
footer {position:relative;padding: 60px 30px;background: #222;z-index:1;}
footer::before {
    position:absolute;
    bottom:100%;
    left:0;
    content:'';
    display:block;
    width:100%;
    height:220px;
    background:#222;
    z-index:1;
}
footer .f_inner {display: flex;justify-content: space-between;}
footer p {color:#c7c7c7;font-size:13px;}
.f_add {margin-top:20px;}
.f_lsit {margin-top:10px;}
.f_lsit li {position:relative;color:#c7c7c7;font-size:13px;margin-top:10px;padding-left:10px;}
.f_lsit li::before {
    position:absolute;
    top:10px;
    left:0;
    content:'';
    display:block;
    width:3px;
    height:3px;
    background:#c7c7c7;
    border-radius:50%;
}
footer h2 {
    position:relative;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    letter-spacing: 2px;
    padding-left:44px;
}
footer h2::before {
    position:absolute;
    top:50%;
    margin-top:-16px;
    left:0;
    content:'';
    display:block;
    width:32px;
    height:32px;
    background:url(img/common/logo.png) center center no-repeat;
    background-size:cover;
}
footer p small {color: #c7c7c7;}
footer p.copy {text-align:right;margin-top:50px;}
footer nav ul {display: flex;justify-content: center;align-items: center;}
footer nav ul li {margin: 0 15px;}
footer nav ul li a {position:relative;color: #fff;text-decoration: none;transition: all .5s;}


/*== pager ==*/
.wp-pagenavi {display:flex;justify-content:center;margin:60px 0 0 0;}
.wp-pagenavi .current,
.wp-pagenavi .page,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {text-align:center;border:none;display: block;line-height: 60px;margin-right:10px;width: 60px;height: 60px;padding: 0;border-radius: 50%;}
.wp-pagenavi .current {color: #fff;background: #1a1a1a;}
.wp-pagenavi .pages,
.wp-pagenavi .page,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {color:#666;text-decoration:none;background:none;color: #1a1a1a;background: #fff;transition: all .5s;}
.wp-pagenavi .current {color:#222;font-weight:700;background:none;}


/*-- GoogleMap --*/
.ggmap {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
margin-top: 40px;
padding-top: 30px;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/*== index ==*/
.page #container {position: relative;padding-bottom: 100px;}
.page_header {
    position:relative;
    background:#1670cb;
    padding:60px 30px 60px 30px;
}
.page_header::before {
    position:absolute;
    top:100%;
    left:0;
    content:'';
    display:block;
    width:100%;
    height:60px;
    background:#1670cb;
}
.page #container h1 {color:#fff;font-size: 35px;margin: 0;padding:0;}
.page #mv {position: relative;margin-bottom: 50px;}
.page #mv .mv_img {width: 960px;height: 600px;margin:70px auto 0 auto;}
.page #main {position:relative;width: 1082px;margin: 0 auto;padding: 10px 60px 70px 60px;background:#fff;}


/*== 実績一覧 ==*/
.works #main {width:1086px;padding:10px 30px 70px 30px;}
.works #main #contents_area ul {display: flex;flex-wrap: wrap;margin:10px 0 0 0;padding:0;}
.works #main #contents_area ul li {list-style-type: none;width: 322px;margin:50px 30px 0 0;}
.works #main #contents_area ul li:nth-child(3n) {margin-right: 0;}
.works #main #contents_area ul li h3 {padding: 0;border: none;}
.works #main #contents_area ul li a {display: block;text-decoration: none;}
.Item-Box-ImgBox-Img {
    padding-top: 200px;
    transform: scale(1);
    transition: .3s ease-in-out;
}
.works_list_img {width: 322px;}
.works #main ul li h3 {font-size: 20px;margin: 20px 0 10px 0;}
.works ul li dl,
.works_page dl {display: flex;}
.works ul li dl dt,
.works ul li dl dd,
.works_page dl dt,
.works_page dl dd {color: #222;}
.works ul li dl dt {text-align:center;width:60px;padding:6px 10px;border-bottom:2px solid #666;}
.works ul li dl dd {width:calc(100% - 60px);padding:6px 10px;border-bottom: 1px solid #AAB1B9;}
.works ul li dl dd a,
.works_page dl dd a {color: #222;text-decoration: underline!important;}
.works dl.works_price,
.works_page dl.works_price {
    border:none;
    align-items: center;
}
.works ul li dl.works_price dt {
    margin-right:20px;
    padding:1px 10px;
    background:#eee;
    border:1px solid #ddd;
    border-radius:3px;
}
.works_page dl.works_price dt {
    margin-right:20px;
    padding:10px 10px;
    background:#eee;
    border:1px solid #ddd;
    border-radius:3px;
}
.works ul li dl.works_price dd,
.works_page dl.works_price dd {color:rgb(255, 90, 30);font-size:30px;font-weight:700;padding:0;border:none;}
.works ul li dl.works_price dd span,
.works_page dl.works_price dd span {font-size:20px;font-weight:700;}

#mv_2col {
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 960px;
    margin: 70px auto;
}
#mv_2col .mv_2col_box {
    width:450px;
}
#mv_2col .mv_2col_after {order: 2;}
#mv_2col .mv_2col_before {
    order: 1;
    position:relative;
    margin-right:60px;
}
#mv_2col .mv_2col_before::before {
    position:absolute;
    top:50%;
    margin-top:-15px;
    right:-45px;
    content:'';
    display: inline-block;
    border-style: solid;
    border-width: 20px 0 20px 30px;
    border-color: transparent transparent transparent #1670CB;
}
#mv_2col .mv_2col_box .mv_2col_midashi {
    color:#fff;
    text-align:center;
    font-size:20px;
    font-weight:700;
    margin:0;
    padding:10px 30px;
}
#mv_2col .mv_2col_after .mv_2col_midashi {background:#D72E76;}
#mv_2col .mv_2col_before .mv_2col_midashi {background:#1EACA3;}
#mv_2col .mv_2col_box .mv_2col_img {
    width:450px;
    height:280px;
    margin:0;
    background-repeat: no-repeat;
    background-position:center center;
    background-size:cover;
}


.works_spec {display:flex;flex-wrap: wrap;justify-content: space-between;}
.works_page dl {width:461px;}
.works_page dl dt {text-align:center;width:100px;padding:15px 20px;border-bottom:2px solid #666;}
.works_page dl dd {width:361px;padding:15px 20px;border-bottom: 1px solid #AAB1B9;}


/*== ご依頼からの流れ ==*/
.flow #main #contents_area ul {position: relative;padding-left: 0;}
.flow #main #contents_area ul::before {
    position: absolute;
    content: '';
    display: block;
    width: 50px;
    background: #ffb300;
    top: 0;
    left: 50%;
    margin-left:-25px;
    height: 100%;
}
.flow #main #contents_area ul li {
    position: relative;
    list-style-type: none;
    margin-top: 20px;
    padding:40px 60px;
    background:#fff;
    border: 1px solid #e2e2e2;
}
.flow #main .flow_no {
    position:absolute;
    display:block;
    color:#fff;
    font-weight:700;
    text-align:center;
    top:-20px;
    left:-20px;
    overflow:hidden;
    margin:0 ;
    width:80px;
    height:80px;
    border-radius:50%;
}
.flow_no span {
    display:block;
    color:#fff;
    background:#222;
    margin-bottom:5px;
    padding:5px 0;
}
.flow_no_1 {background:#50a831;}
.flow_no_2 {background:#1670cb;}
.flow #main #contents_area ul li h3 {
    font-size:20px;
    margin: 0;
    padding: 0;
    border: none;
}


/*== form ==*/
.page #main table td input[type="text"],
.page #main table td input[type="tel"],
.page #main table td input[type="email"],
.page #main table td select,
.page #main table td textarea {
    font-size: 15px;
    width: 94%;
    margin: 5px 0;
    padding: 8px 3%;
    box-sizeng: border-box;
}
.page #main blockquote {line-height: 1.6;margin-top: 40px;padding: 30px;background: #fcfae9;border: 1px solid #ece7c3;}
.page #main .submit {
    width:300px;
    margin:60px auto 0 auto;
}
.page #main .submit input[type="submit"] {
    position: relative;
    display: block;
    color: #fff;
    text-align: center;
    text-decoration: none;
    width: 100%;
    background: #27AA5C;
    box-shadow: 2px 2px 0px rgba(0,0,0,.1);
    transition: all .5s;
    font-size: 18px;
    line-height: 60px;
    width: 100%;
    height: 60px;
    border-radius: 30px;
}

/*== sidenavi ==*/
#pc_side_fixed {
    z-index:100;
    position:fixed;
    top:50%;
    margin-top:-85px;
    right:0;
    background:#4F4543;
    width:180px;
    height:170px;
    padding:15px 10px;
    border-radius:10px 0 0 10px;
}
.pc_side_fixed-text {
    color:#fff;
    font-size:15px;
    font-weight:700;
    text-align:center;
}
.pc_side_fixed-mail a {
    position:relative;
    display:block;
    background:#D72E76;
    color:#fff;
    font-weight:700;
    text-decoration:none;
    line-height:1.4;
    border-radius:5px;
    margin-top:5px;
    padding:7px 10px 7px 50px;
}
.pc_side_fixed-mail a::before {
    position:absolute;
    top:50%;
    margin-top:-15px;
    left:10px;
    content:'';
    display:block;
    width:30px;
    height:30px;
    background:url(img/common/fix_mail_icon.svg) center center no-repeat;
    background-size:cover;
}
.pc_side_fixed-no {
    position:relative;
    color:#fff;
    font-family :font-family:"Roboto", "Noto Sans JP", "メイリオ", "Meiryo", sans-serif;
    font-weight:700;
    font-size:20px;
    font-weight:700;
    margin-top:2px;
    padding:0 0 0 25px;
}
.pc_side_fixed-no::before {
    position:absolute;
    top:50%;
    margin-top:-8px;
    left:5px;
    content:'';
    display:block;
    width:13px;
    height:19px;
    background:url(img/common/fix_tel_icon.svg) center center no-repeat;
    background-size:cover;
}
.pc_side_fixed-time {
    color:#fff;
    text-align:center;
    line-height:1.2;
    margin:0;
}


@media (hover: hover) and (pointer: fine) {
    header h1 a {transition: opacity .8s ease;}
    header h1 a:hover {opacity: .5;}
    #g-nav li.gnav a::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -5px;
        width: 100%;
        height: 1px;
        background: #222;
        transform: scaleX(0);
        transform-origin: left;
        transition: transform .25s ease;
    }
    #g-nav li.gnav a:hover::after,
    #g-nav li.gnav a:focus-visible::after,
    .f_right li.fnav a:hover::after,
    .f_right li.fnav a:focus-visible::after {transform: scaleX(1);}
    .f_right li.fnav a::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -5px;
        width: 100%;
        height: 1px;
        background: #fff;
        transform: scaleX(0);
        transform-origin: left;
        transition: transform .25s ease;;
    }
    .nav_contact a:hover {
        color:#227cd6;
        background:#fff;
        border:1px solid #227cd6;
    }
    .contact_area_mail a {transition: background-color .8s ease;}
    .contact_area_mail a:hover {
        color:#fff;
        border: 1px solid #fff;
        background:#227cd6;
    }
    #top a {transition: background-color .8s ease;}
    #top a:hover {background:#227cd6;}
    #top a:hover::before {
        border-top: 2px solid #fff;
        border-left: 2px solid #fff;
    }

    .works_list a .img_box {overflow:hidden;}
    .works_list a:hover .Item-Box-ImgBox-Img {
        transform: scale(1.3);
    }
    .pc_side_fixed-mail a {transition: .2s ease;}
    .pc_side_fixed-mail a:hover {
        color:#D72E76;
        background:#fff;
    }
    .pc_side_fixed-mail a::before {
        position:absolute;
        top:50%;
        margin-top:-15px;
        left:10px;
        content:'';
        display:block;
        width:30px;
        height:30px;
        background:url(img/common/fix_mail_icon.svg) center center no-repeat;
        background-size:cover;
    }
}


/*-- SP --*/
@media screen and (max-width: 640px) {
    /*== 全体 ==*/
    #wrap,
    #contents {overflow:hidden;}
    .pc_non {display:block;}
    .sp_non {display:none !important;}

    #main .alignleft,
    #main .alignright {width:100%;height:auto;padding:0 0 4vw 0;}

    body {min-width:100%;}
    p,li,th,td,dt,dd {font-size:3.47vw;}
    .inner {width:100%;padding:0 4vw;}

    
    /*== header ==*/
    header{min-width: 100%;height: 14vw;padding: 0;}
    header h1 {line-height: 14vw;padding: 0 0 0 4vw;}
    header h1 a {font-size: 4vw;letter-spacing: 1px;padding-left:8vw;}
    header h1 a::before {
        margin-top:-3vw;
        width:6vw;
        height:6vw;
    }
    
    .sp_nav {position: fixed;display: flex;top: 0;-left:-4vw;justify-content: space-between;width: 87vw;z-index: 50;padding: 2vw;}
    
    #g-nav.panelactive{
        position:fixed;
        z-index: 999;
        top: 0;
        width:100%;
        height: 100vh;
    }

    .circle-bg{
        position: fixed;
        z-index:20;
        /*丸の形*/
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background: #1670cb;
        transform: scale(0);
        right:-50px;
        top:-50px;
        transition: all .6s;
    }

    .circle-bg.circleactive{
        transform: scale(50);
    }

    #g-nav-list{
        display: none;
        position: fixed;
        z-index: 999; 
        width: 100%;
        height: 100vh;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    #g-nav.panelactive #g-nav-list{
         display: block;
    }

    /*ナビゲーション*/
    #g-nav ul {
        position:absolute;
        opacity: 0;
        display:block;
        z-index: 999;
        top: calc(50% - 14vw);
        left: 50%;
        transform: translate(-50%, -50%);
    }

    #g-nav.panelactive ul {
        opacity:1;
    }

    #g-nav.panelactive ul li {
    animation-name:gnaviAnime;
    animation-duration:1s;
    animation-delay:.2s;
    animation-fill-mode:forwards;
    opacity:0;
    }
    @keyframes gnaviAnime{
    0% {
    opacity: 0;
    }
    100% {
    opacity: 1;
    }
    }


    /*リストのレイアウト設定*/
    #g-nav li{
        text-align: center; 
        list-style: none;
        margin:0;
    }

    #g-nav li a{
        color: #fff;
        font-size:3.76vw;
        text-decoration: none;
        padding:4vw;
        display: block;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        font-weight: bold;
    }


    #g-nav .nav_contact {width:70vw;margin-top:10vw;}
    #g-nav .nav_contact a {
        color:#222;
        line-height:1.6;
        height:auto;
        width:auto;
        padding-left:3vw;
        background:#fff;
    }
    #g-nav .nav_contact a::before {
        margin-top:-3vw;
        right:3vw;
        width:6vw;
        height:6vw;
    }
    #g-nav .nav_contact a::after {
        margin-top:-3px;
        right:6vw;
    }


    /*========= ボタンのためのCSS ===============*/
    .openbtn{
        position:fixed;
        top: 0;
        right: 1vw;
        z-index: 9999;/*ボタンを最前面に*/
        cursor: pointer;
        width: 50px;
        height:50px;
    }
        
    /*×に変化*/    
    .openbtn span{
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 14px;
        height: 2px;
        background-color: #222;
        width: 45%;
      }

    .openbtn span:nth-of-type(1) {
        top:15px;   
    }

    .openbtn span:nth-of-type(2) {
        top:23px;
    }

    .openbtn span:nth-of-type(3) {
        top:31px;
    }

    .openbtn.active span:nth-of-type(1) {
        top: 18px;
        left: 18px;
        transform: translateY(6px) rotate(-45deg);
        width: 30%;
        background-color: #fff;
    }

    .openbtn.active span:nth-of-type(2) {
        opacity: 0;
    }

    .openbtn.active span:nth-of-type(3){
        background-color: #fff;
        top: 30px;
        left: 18px;
        transform: translateY(-6px) rotate(45deg);
        width: 30%;
    }

    /*-- パンくず --*/
    .page #container #pan {width: 100%;margin: 2vw auto 0 auto;padding: 0;}
    .page #container #pan p {font-size: 3vw;line-height: 1.6;margin: 0;}
    

    /*== ボタン ==*/
    .btn {width: 60vw;margin: 6.33vw auto 0 auto;}
    .btn a {font-size: 3.47vw;width: 100%;padding: 3vw;border-radius: 25px;box-sizing: border-box;}
    .btn a::before {margin-top:-2vw;right:4vw;}


    /*== お問い合わせエリア ==*/
    #contact_area {
        width:96vw;
        margin:0 auto;
        padding:12.33vw 4vw;
    }
    #contact_area::before {
        top:-8vw;
        font-size:16vw;
    }
    #contact_area h2 {
       font-size:5.33vw;
        letter-spacing: 0;
    }
    .contact_area_text1 {
        margin-top:4vw;
    }
    .contact_area_text1 span {
        font-size:4.33vw;
        letter-spacing: 1.25px;
    }
    .contact_area_text1 span::before,
    .contact_area_text1 span::after {
        width:6vw;
        height:2px;
    }
    .contact_area_text1 span::before {left:calc(100% + 2vw);}
    .contact_area_text1 span::after {right:calc(100% + 2vw);}
    .contact_area_text2 {
        font-size:4vw;
        letter-spacing: 0;
        margin:4vw auto 0 auto;
        padding:2vw 6vw;
        border-radius:20px;
    }
    .contact_area_min {
        display:block;
        margin-top:6.33vw;
    }
    .c_a_m-Left {
        margin-right:0;
    }
    #contact_area .contact_area_tel {
        font-size:10.33vw;
        letter-spacing: 0;
    }
    .contact_area_mail {
        text-align:center;
        width:60vw;
        margin:6.33vw auto 0 auto;
    }
    .contact_area_mail a {
        font-size:4vw;
        line-height:1.2;
        width:60vw;
        height:auto;
        padding:4vw 4vw 4vw 14vw;
        border-radius:20vw;
    }
    .contact_area_mail a::before {
        margin-top:-3vw;
        right:3vw;
        width:6vw;
        height:6vw;
        border-radius:50%;
    }
    .contact_area_mail a::after {
        margin-top:-3px;
        right:5.5vw;
    }


    /*== footer ==*/
    /*-- ページトップ --*/
    #top {
        right:4vw;
        bottom:15vw;
    }
    #top a {
        width:12vw;
        height:12vw;
    }
    #top a::before {
        margin-top:-4px;
        margin-right:-4px;
      width: 8px;
      height: 8px;
    }
    footer {text-align:center;padding: 7.33vw 4vw 21.33vw 4vw;}
    footer::before {height:20vw;}
    footer .f_inner {display: block;}
    footer p {font-size:3vw;}
    .f_add {text-align:center;margin-top:5.33vw;}
    .f_lsit {width:60vw;margin:4vw auto 0 auto;}
    .f_lsit li {display:inline-block;font-size:3vw;margin-top:2vw;padding-left:3vw;}
    .f_lsit li::before {
        top:2vw;
        width:3px;
        height:3px;
    }
    footer h2 {display:inline-block;font-size: 5.33vw;text-align:center;letter-spacing: 0;padding-left:8vw;}
    footer h2::before {
        margin-top:-3vw;
        width:6vw;
        height:6vw;
    } 
    footer p.copy {text-align:center;margin-top:4vw;}
    footer nav ul {display: block;text-align:center;margin-top:4vw}
    footer nav ul li {margin: 0 4vw;padding:4vw 0;}
    footer nav ul li a {color: #fff;text-decoration: none;transition: all .5s;}
    footer .nav_contact a {
        line-height:1.6;
        height:auto;
        width:60vw;
        margin:0 auto;
        padding: 4vw 4vw 4vw 4vw;
        border-radius:20vw;
        box-sizing:border-box;
    }
    footer .nav_contact a::before {
        margin-top:-3vw;
        right:2vw;
        width:6vw;
        height:6vw;
        border-radius:50%;
    }
    footer .nav_contact a::after {right:4.5vw;}
    #sp_f_fixed {position: fixed;display: flex;right: 0;bottom: 0;z-index: 30;width: 100vw;height: 14vw;background: #fff;}
    #sp_f_fixed p {width: 50vw;height: 14vw;}
    #sp_f_fixed a {position:relative;display: block;color: #fff;font-weight: bold;text-decoration: none;line-height: 14vw;width: 100%;height: 14vw;padding:0 0 0 16vw;}
    #sp_f_fixed a::before {
        position:absolute;
        top:4vw;
        left:8vw;
        content:'';
        display:block;
        width:6vw;
        height:6vw;
    }
    #sp_f_fixed .sp_f_fixed-tel a {background: #27AA5C;}
    #sp_f_fixed .sp_f_fixed-mail a {background: rgb(255, 180, 0);}
    #sp_f_fixed .sp_f_fixed-tel a::before {
        background:url(img/common/tel.svg) center center no-repeat;
        background-size:cover;
    }
    #sp_f_fixed .sp_f_fixed-mail a::before {
        background:url(img/common/mail.svg) center center no-repeat;
        background-size:cover;
    }


    /*== font ==*/
    .page #main h2 {
        border-top: 3px solid #1670cb;
        font-size: 5.33vw;
        margin: 12.33vw 0 4vw 0;
        padding: 3vw 0;
    }
    .page #main h3 {
        font-size: 4.66vw;
        margin: 9.33vw 0 4vw 0;
        padding-bottom:3vw;
    }
    .page #main h4 {
        font-size: 25px;
        margin: 7.33vw 0 4vw 0;
        padding-left: 6vw;
    }
    .page #main h4::before {width: 4vw;}
    .page #main figure {margin-top: 4vw;}
    .page #main p {margin-top: 4vw;}
    .page #main table {width: 100%;
        margin-top: 4vw;
        padding:0;
    }
    .page #main table th,
    .page #main table td {padding:2vw 3vw;}
    .page #main ul,
    .page #main ol {margin-top: 4vw;padding-left: 4vw;}
    .page #main ul li,
    .page #main ol li {margin-top: 3vw;}


    /*== index ==*/
    .page #container {position: relative;padding-bottom: 24.66vw;}
    .page_header {
        padding:7.33vw 4vw 7.33vw 4vw;
    }
    .page_header::before {display:none;}
    .page #container h1 {font-size: 5.33vw;margin-top:2vw;}
    .page #mv {margin:6.33vw 0 9.33vw 0;}
    .page #mv .mv_img {width: 92vw;height: 60vw;}
    .page #main {width: 92vw;padding: 0;}


    /*== 実績一覧 ==*/
    .works #main {width:100vw;padding:2vw 4vw 24.33vw 4vw;}
    .works #main #contents_area ul {display: block;margin:2vw 0 0 0;}
    .works #main #contents_area ul li {width: 92vw;margin:9.33vw 0 0 0;}
    .works .Item-Box-ImgBox-Img {
        padding-top: 60vw;
    }
    .works_list_img {width: 92vw;}
    .works #main ul li h3 {font-size: 4.33vw;margin: 3vw 0 2vw 0;}
    .works ul li dl,
    .works_page dl {padding: 2vw 0;}
    .works ul li dl dt,
    .works_page dl dt {width:16vw;padding:2vw 3vw;}
    .works ul li dl dd,
    .works_page dl dd {width:calc(100% - 16vw);padding:2vw 3vw;}
    .works ul li dl.works_price dt,
    .works_page dl.works_price dt {
        margin-right:4vw;
        padding:2vw 2vw;
    }
    .works ul li dl.works_price dd {font-size:5.66vw;}
    .works ul li dl.works_price dd span {font-size:4vw;}

    .works_spec {display:block;}
    .works_page dl {width:100%;}
    .works_page dl dt {width:16vw;padding:2vw 3vw;}
    .works_page dl dd {width:calc(100% - 16vw);padding:2vw 3vw;}

    #mv_2col {
        width: 92vw;
        margin: 12.33vw auto;
    }
    #mv_2col .mv_2col_box {width:100%;}
    #mv_2col .mv_2col_before {
        margin:0 0 12.33vw 0;
    }
    #mv_2col .mv_2col_before::before {
        top:auto;
        bottom:0;
        margin:0 -3vw -9vw ;
        right:50%;
        border-width: 6vw 4vw 0 4vw;
        border-color: #1670CB transparent transparent transparent;
    }
    #mv_2col .mv_2col_box .mv_2col_midashi {
        font-size:4vw;
        padding:2vw 4vw;
    }
   #mv_2col .mv_2col_box .mv_2col_img {
        width:100%;
        height:60vw;
    }


    /*== ご依頼からの流れ ==*/
    .flow #main #contents_area ul::before {
        width: 12vw;
        margin-left:-6vw;
    }
    .flow #main #contents_area ul li {
        margin-top: 6vw;
        padding:4vw;
    }
    .flow #main .flow_no {
        top:-4vw;
        left:-4vw;
        width:16vw;
        height:16vw;
    }
    .flow_no span {
        margin-bottom:1vw;
        padding:1vw 0;
    }
    .flow #main #contents_area ul li h3 {font-size:4.33vw;margin-left:10vw;}

    /*== form ==*/
    .page #main table td input[type="text"],
    .page #main table td input[type="tel"],
    .page #main table td input[type="email"],
    .page #main table td select,
    .page #main table td textarea {font-size: 3.74vw;}
    .page #main blockquote {margin-top:4vw;padding: 4vw;}
    .page #main .submit {
        width:60vw;
        margin:7.33vw auto 0 auto;
    }
    .page #main .submit input[type="submit"] {
        font-size: 4vw;
        line-height: 1.6;
        height: auto;
        padding:3vw 4vw;
    }


    /*== pager ==*/
    .wp-pagenavi {margin:9.33vw 0 0 0;}
    .wp-pagenavi .pages,
    .wp-pagenavi .current,
    .wp-pagenavi .page,
    .wp-pagenavi .nextpostslink,
    .wp-pagenavi .previouspostslink {display: block;line-height: 16vw;margin-right:10px;width: 16vw;height: 16vw;padding: 0;border-radius: 50%;}

}