@charset "utf-8";
@media screen and (min-width: 1001px) {
    
    #header.fixed {
        position: fixed;
        top: -100%;
        opacity: 0;
        border: none;
        padding: 0;
    }
    #header.fixed.schead {
        top: 0;
        opacity: 1;
        transition: all 0.3s;
    }
    
    #header.fixed .logo,
    #header.fixed .pcs {
        display: none;
    }
    
  .sp_only {
    display: none;
  }
}
@media screen and (max-width: 1000px) {
  .pc_only {
    display: none;
  }
    #header {
    padding-top: 9px;
}
    #navbar {
        background: none;
        padding: 0;
    }
    #navbar:before {
        display: none;
    }
  .logo {
    max-width: 200px;
    margin-left: 0;
  }
  .drawer-hamburger, .drawer-hamburger:hover {
    position: fixed;
    background: #1919da;
  }
  .drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
    background: #fff;
  }
  .drawer-hamburger:after {
    color: #fff;
    font-size: 11px;
    bottom: 3px;
    display: none;
  }
  .globalmenu {
    overflow: auto;
  }
  #navigation {
    display: block;
  }
  .h_li, .h_li a {
    color: #333;
  }
  .h_li {
    border-bottom: 1px solid #ededed;
  }
  .h_li a {
    display: block;
  }
  .li_txt a {
    display: inline-block;
  }
    .drop-menu:hover .li_txt a {
        background: none;
    }
  .h_li > a:hover, .drop-menu.active .li_txt a, .li_txt a:hover  {
    color: #fff;
  }
  .h_li > a, .li_txt a {
    padding: 10px 20px;
  }
  .li_txt:before, .li_txt:after {
    border: none;
    background: #ccc;
    top: 0;
    bottom: 0;
    left: auto;
    margin: auto;
  }
  .li_txt:before {
    width: 10px;
    height: 2px;
    right: 10px;
  }
  .li_txt:after {
    width: 2px;
    height: 10px;
    right: 14.5px;
  }
    .drop-menu:hover .li_txt:before {
        border: none;
}
  .drop-menu.active .li_txt:before {
    border: none;
    background: #fff;
  }
  .drop-menu.active .li_txt:after {
    transform: rotate(90deg);
    background: #fff;
  }
  .drop-menu.active .li_txt {
    background: #3f3fff;
  }
  .nav_drop {
    position: relative;
    left: auto;
    transform: none;
    top: auto;
    min-width: 1px;
    height: 0 !important;
    display: none !important;
    opacity: 0 !important;
  }
  .active .nav_drop {
    height: auto !important;
    display: block !important;
    opacity: 1 !important;
  }
  .drop_li, .drop_li a {
    font-size: 12px;
  }
  .drop_li a {
    color: #fff;
    padding-left: 20px;
    padding-right: 20px;
  }
    .pcs {
    position: relative;
    top: auto;
    right: auto;
    padding: 10px 20px;
}
  #page-top {
    bottom: 20px;
    right: 20px;
  }
  .sec_info .news_div {
    flex-flow: row wrap;
  }
  .sec_about {
    margin-bottom: 60px;
    background: linear-gradient(to right, #2828ff, #6666ff);
    padding: 60px 5%;
  }
  .sec_about .inwrap {
    display: block;
    max-width: 550px;
  }
  .sec_about .imgbox {
    margin-bottom: 30px;
  }
  .sec_about .imgbox, .sec_about .textbox {
    width: 100%;
    padding: 0;
  }
  .sec_about .primary, .sec_about .secondary {
    text-align: center;
  }
  .sec_info .sec_tit {
    display: flex;
    align-items: center;
    width: 100%;
  }
  .sec_info .primary {
    margin-right: 20px;
  }
  .sec_info .scnews {
    width: 100%;
  }
  .sec_contents {
    background: none;
  }
  .sec_contents .inwrap > div {
    width: calc(50% - 20px);
    margin: 0 10px 30px;
  }
  .sec_contents .inwrap > div:nth-child(3n - 1), .sec_contents .inwrap > div:nth-child(3n) {
    margin-top: auto;
  }
  .sec_info .news_div {
    padding: 10px 2%;
    padding-right: 24px;
  }
}
@media screen and (max-width: 800px) {
    .ir, .il {
    max-width: 330px;
    height: auto;
}
}
@media screen and (max-width: 680px) {
  .catchcopy .txt {
    font-size: 24px;
  }
  .sec_info {
    padding: 20px 5% 20px;
    margin-bottom: 30px;
  }
  .sec_info .primary {
    font-size: 18px;
  }
  .sec_info .secondary {
    font-size: 14px;
  }
  .sec_info .date {
    width: 100%;
    margin-bottom: 10px;
    font-size: 14px;
  }
  .sec_contents .inwrap > div {
    width: 100%;
    max-width: 550px;
    margin: 0 auto 30px;
  }
  .sec_about .primary, .sec_whats .sec_tit {
    font-size: 30px;
  }
  .sec_about .secondary {
    font-size: 18px;
  }
  .sec_contents {
    padding: 0 5%;
  }
  .bnr_div .txt a {
    width: 100%;
    max-width: 80%;
  }
  .sec_whats {
    padding: 40px 5%;
  }
  .sec_whats .sec_tit {
    margin-bottom: 10px;
  }
  .sec_whats .txt {
    font-size: 14px;
    margin-bottom: 20px;
  }
  #footer {
    padding: 40px 2% 0;
  }
  #footer .inwrap, .f_about, .flink_wrap {
    display: block;
    width: 100%;
    padding: 0;
  }
  .f_about {
    padding: 0 3%;
  }
  .f_logo {
    text-align: center;
  }
  .flink {
    padding: 0 3%;
    margin-bottom: 10px;
    border-left: none;
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    border-bottom: 1px solid #ededed;
  }
  .li_par {
    width: 100%;
  }
  .li_child {
    margin-right: 20px;
  }
  .copyright {
    text-align: center;
    padding-top: 20px;
    font-size: 10px;
  }
  .link_btn a {
    padding: 10px 35px;
  }
  .sec_tit {
    font-size: 22px;
  }
  .page_title {
    font-size: 22px;
  }
  .page_title {
    padding: 30px 20px !important;
  }
  .subpage_contents .page_link {
    justify-content: flex-start;
    margin-bottom: 0 !important;
  }
  .subpage_contents .page_link > div {
    width: calc(50% - 20px);
  }
  .page_link .p_link a {
    display: block;
  }
  .p_link, .page_link .p_link a {
    font-size: 12px;
  }
  .module_blogwrapper {
    display: block;
  }
  #contents .module_blog {
    padding: 0;
  }
  .module_side {
    width: 100%;
    max-width: 100%;
    margin: 30px auto 0 !important;
  }
  .pt_txt {
    font-size: 16px;
  }
  .subpage_contents .link_btn a {
    font-size: 14px;
    padding: 10px 45px;
  }
  .link_btn02 a {
    line-height: 1.3;
  }

}





/*------------------------------------------------------
汎用
------------------------------------------------------*/
@media screen and (max-width: 680px) {
  .section_newstopics, #wrap-container, .inner, #title, .to_bt, .cap-l-t3, .cap-m, .cap-s, .boxwrap1, .boxwrap2, .boxwrap3, .to-buttonbox, .i1, .i2, .i3, .i4, .i5, .dibox, .dl-box1, .dl-box2, .qabox, .stepbox {
    width: 100%;
  }
    body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, input, textarea, p, small, address, aside, blockquote, th, td {
        font-size: 14px;
    }
    .subpage_contents {
    padding: 0 2% 20px;
}
}





@media screen and (max-width: 680px) {
  .cap-l-t3 h2 {
    text-align: center;
    width: 100%;
    flex-basis: auto;
  }
  .cap-l-t3 p {
    margin-top: 10px;
    text-align: center;
    float: none;
    width: 100%;
    flex-basis: auto;
  }
  .cap-l-t2 h2 {
    font-size: 22px;
    margin: 10px auto;
  }
  .cap-m {
    margin: 30px auto;
  }
  .cap-m h3 {
    font-size: 18px;
  }
  .cap-s h4 {
    font-size: 16px;
  }
}

@media screen and (max-width: 1080px) {
  .imgfull img {
    max-width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 680px) {
  .ir, .il {
    width: 100%;
    height: auto;
    margin: 0 0 8px 0;
  }
  img.left, img.il, img.right, img.ir, .boxwrap3 img.il, .boxwrap3 img.ir {
    margin-left: auto;
    margin-right: auto;
      display: block;
  }
    .left, .il, .right, .ir {
    float: none;
}
}
@media screen and (max-width: 680px) {
    .subpage_contents > *:first-child {
        margin-top: 30px!important;
    }
    .boxwrap2 {
    padding: 20px;
}
    #title-wrap {
    padding: 30px 0;
}
    #title {
    padding: 20px;
    max-width: 94%;
}
    #title h2 {
    font-size: 22px;
}
    #title .title-navi {
    display: none;
}
    .pagenav ul li {
    font-size: 11px;
}
    .i1, .i2, .i3, .i4, .i5, .imgfull,
    .line-hr,
    .noline-hr,
    .dl-box1 {
    margin-bottom: 40px;
}
    .tb-box1 th, .tb-box1-2 th, .tb-box2 th, .tb-box3 th {
    padding: 8px 8px;
        width: auto;
        max-width: 300px;
}
    .tb-box1 td, .tb-box1-2 td, .tb-box2 td, .tb-box3 td {
    padding: 8px;
        width: auto;
        max-width: 300px;
}
    
    .form .tb-box1 th,
    .form .tb-box1 td {
        max-width: none;
    }
    #contactbox input.fm-txt.zipcode {
        max-width: 80px;
    }
    
    .to_bt {
    margin: 30px auto;
}
    .block-listed {
        margin-bottom: 10px;
    }
    .stepbox ul li .right h3, .stepbox ul li .ir h3 {
        font-size: 15px;
    }
    .i2 .i2div {
    width: 100%;
}
    .i2 .in-wrap div {
        margin: 0 auto 20px;
    }
    .i3 .in-wrap div.i3div {
    width: calc(50% - 2.75%);
        margin-bottom: 20px;
}
  .i4 .in-wrap div {
        margin-right: 2.75%;
    margin-bottom: 8px;
    border: none;
    padding: 0px;
    width: calc(50% - 2.75%);
  }
  .i4 .in-wrap div:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 680px) {
  .dibox {
    width: 100%;
    overflow-x: scroll;
  }
}
@media screen and (max-width: 680px) {
  .tb-box1, .tb-box1-2, .tb-box2, .tb-box3 {
    width: 500px;
      margin-left: auto;
      margin-right: auto;
  }
}
@media screen and (max-width: 680px) {
    
  .dl-box1 dl {
    display: block;
  }
  .dl-box1 dl dt, .dl-box1 dl dd {
    display: block;
    width: 100%;
  }
  .dl-box1 dl dt:after {
    border-color: #D9D8DA;
  }
  .dl-box1 dl dd:after {
    border-color: #282828;
  }
}
@media screen and (max-width: 680px) {
  .dl-box2 dl dt:after {
    border-color: #D9D8DA;
  }
  .dl-box2 dl dd:after {
    border-color: #282828;
  }
}
@media screen and (max-width: 680px) {
  .wrap-dl-c2 dl {
    width: 100%;
  }
}
@media screen and (max-width: 680px) {
  .to-buttonbox {
    display: flex;
    flex-direction: column-reverse;
  }
  .to-buttonbox .to-bt2 {
    float: none;
    margin: 0;
  }
}
@media screen and (max-width: 680px) {
  .to-pdf .pdf-2div, .to-pdf .pdf-3div {
    width: 100%;
    margin: 0;
    margin-bottom: 15px;
  }
  .to-pdf a {
    font-size: 14px;
  }
}
@media screen and (min-width: 681px) {
  .stepbox02 img {
    float: left;
    margin-right: 15px;
  }
}
@media screen and (max-width: 680px) {
  .stepbox02 {
    width: 100%;
  }
  .stepbox02 ul li {
    padding: 5% 3%;
  }
  .stepbox02 ul li .left {
    margin-bottom: 10px;
  }
  .stepbox02 ul li .left, .stepbox02 ul li .il, .stepbox02 ul li .right, .stepbox02 ul li .ir {
    display: block;
    width: 100%;
  }
  .stepbox02 ul li .right h3, .stepbox02 ul li .right .stepbox-maintxt {
    margin: 0;
  }
}
@media screen and (max-width: 680px) {
  .sub-box-wide .img.img-twins {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 680px) {
  .sub-box-wide {
    flex-direction: column;
  }
  .sub-box-wide.txt-left {
    flex-direction: column-reverse;
  }
  .sub-box-wide .img {
    width: 100%;
  }
  .sub-box-wide .img img:first-child {
    margin-right: 0;
  }
  .sub-box-wide .txt-area {
    margin-bottom: 10px;
    width: 100%;
  }
  .sub-box-wide.txt-left .txt-area, .sub-box-wide.txt-right .txt-area {
    padding: 0;
  }
}
@media screen and (max-width: 680px) {
  #contactbox .tb-box1 {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media screen and (max-width: 680px) {
  .iframe_wrap {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 50%;
  }
  .iframe_wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
    .fadeUp {
  animation-name: none!important;
  opacity: 1!important;
}
}