@charset "UTF-8";

body {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.778;
}

h2, .h2 { font-size: 2.143em; /*30px*/ }

h3, .h3 { font-size: 1.714em; /*24px*/ }

h4, .h4 { font-size: 1.5em; /*21px*/ }

h5, .h5 { font-size: 1.357em; /*19px*/ }

h6, .h6 { font-size: 1.143em; /*16px*/ }

/*====== Common Style =====*/
.for_pc, .for_sp { display: none !important; }

/* module */
.m-fs_l { font-size: 16px !important; }
.m-fs_s { font-size: 12px !important; }

.m-mtp_s { margin-bottom: 35px !important; }
.m-mtp_m { margin-bottom: 42px !important; }
.m-mtp_l { margin-bottom: 50px !important; }

.m-mbt_s { margin-bottom: 35px !important; }
.m-mbt_m { margin-bottom: 42px !important; }
.m-mbt_l { margin-bottom: 50px !important; }

.m-sec {
    padding: 40px 0 50px;
}

.m-sec-last {
    padding: 40px 0 75px;
}

.m-inner,
.m-inner_s {
    position: relative;
    display: block;
    width: 89.6%;
    margin-left: auto;
    margin-right: auto;
}

.btn-form,
.btn-line {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
        align-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: 336px;
    width: 100%;
    width: calc(100% - 3px);
    padding: .77em .55em;
    color: #fff;
    line-height: 1;
    text-align: center;
    text-decoration: none;
}

.btn-form::before,
.btn-form::after,
.btn-line::before,
.btn-line::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 3em;
}

.btn-form::before,
.btn-line::before {
    left: 3px;
    top: 3px;
}

.btn-form::after,
.btn-line::after {
    left: 0;
    top: 0;
}

.btn-form::before {
    background: #b24500;
}

.btn-form::after {
    background: #ec6a17;
}

.btn-line::before {
    background: #005201;
}

.btn-line::after {
    background: #20ab38;
}

.btn-form__sub,
.btn-form__main,
.btn-line__sub,
.btn-line__main {
    position: relative;
    z-index: 1;
}

.btn-form__sub,
.btn-line__sub {
    padding: .2em .6em;
    margin-bottom: 8px;
    border-radius: .5em;
    font-size: .8em;
}

.btn-form__sub {
    background: #fff;
    color: #ec6a17;
}

.btn-line__sub {
    background: #fff;
    color: #20ab38;
}

.btn-form__main,
.btn-line__main {
    width: 100%;
    font-weight: 700;
    letter-spacing: normal;
}

.btn-form__main i,
.btn-line__main i {
    font-size: 1.067em;
}


/* background-color left to right */
.link {
    position: relative;
    display: inline-block;
    max-width: 100%;
    width: 360px;
    height: 60px;
    line-height: 60px;
    border: solid 1px #1f1f1f;
    font-size: 16px;
    text-align: center;
    text-decoration: none;
}

.link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 0;
    height: 100%;
    background: #1f1f1f;
    -webkit-transition: width .3s;
    transition: width .3s;
}

.link:hover {
    color: #fff;
    opacity: 1;
}

.link:hover::before {
    width: 100%;
}

.link span {
    position: relative;
}

.link i {
    position: absolute;
    right: 25px;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    font-size: .889em;
}

.m-para p + p {
    margin-top: 2em;
}

.m-map {
    position: relative;
    height: 0;
    padding-top: 70%;
}

.m-map iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.m-column2__img {
    margin-bottom: 20px;
    text-align: center;
}

.m-table {
    display: table;
    border-collapse: collapse;
    width: 100%;
}

.m-table > dl {
    display: table-row;
    border-bottom: solid 1px #eee;
}

.m-table > dl > dt,
.m-table > dl > dd {
    display: table-cell;
    padding: 10px 0;
}

.m-table > dl > dt {
    width: 108px;
}

.m-table-wrap {
    position: relative;
    overflow-x: scroll;
}

.m-table-wrap::before {
    content: "※横にスクロールできます。";
    font-size: .786em;
}

.m-table-wrap .m-table {
    min-width: 600px;
}

.m-list01 {
    
}


/*====== header =====*/

header img {
width: 100%;
}

#header {
    padding-top: 60px;
}

.area-anchor {
    padding-top: 60px;
    margin-top: -60px;
}

.site-header {
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    background: #fff;
}

.site-header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 60px;
}

.site-header__tel,
.site-header__btm {
    display: none;
}

.site-header__logo {
    margin: 0 10px;
    font-size: 10px;
}

.site-header__logo img {
    width: 150px;
}

/* toggle */
.toggle-button {
    position: fixed;
    z-index: 102;
    right: 0;
    top: 0;
    display: block;
    width: 60px;
    height: 60px;
    padding-top: 30px;
    background: #f06806;
    color: #fff;
    text-align: center;
    cursor: pointer;
}

.toggle-button::before {
    content: "メニュー";
    font-size: 11px;
    letter-spacing: normal;
    line-height: 1;
}

.toggle-button span {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    width: 30px;
    height: 2px;
    margin: -11px 0 0 -15px;
    background: #fff;
    font-size: 0;
}

.toggle-button span::before,
.toggle-button span::after {
    content: "";
    position: absolute;
    right: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    -webkit-transition: -webkit-transform .4s;
    transition: -webkit-transform .4s;
    transition: transform .4s;
    transition: transform .4s, -webkit-transform .4s;
}

.toggle-button span::before {
    top: -8px;
}

.toggle-button span::after {
    top: 8px;
}

.toggle-nav {
    position: fixed;
    z-index: 99;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding-top: 60px;
    background: #fff;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    -webkit-transition: -webkit-transform .7s;
    transition: -webkit-transform .7s;
    transition: transform .7s;
    transition: transform .7s, -webkit-transform .7s;
}

.toggle-nav__inner {
    width: 100%;
    height: 100%;
    padding: 0 0 13.33%;
    border-top: solid 1px #e9ecf2;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.toggle-nav .gnv {
    width: 87.2%;
    margin: 0 auto 22px;
    font-size: 16px;
    line-height: 1.429;
}

.toggle-nav .gnv > * {
    border-bottom: solid 1px #e9ecf2;
}

.toggle-nav .gnv a {
    position: relative;
    display: block;
    padding: 1.07em .5em 1.07em 2em;
    text-decoration: none;
}

.toggle-nav .gnv a::before {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: .6em;
    top: 1.6em;
    font-size: .753em;
}

.toggle-nav .gnv br,
.toggle-nav .gnv .switch {
    display: none;
}

.toggle-nav__cv {
    padding: 30px 5.2%;
    background: #f7f7f7;
}

.toggle-nav__tel {
    text-align: center;
}

.toggle-nav__tel a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none;
}

.toggle-nav__tel__icon {
    margin-right: 15px;
}

.toggle-nav__tel__txt {
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

.toggle-nav__tel__main,
.toggle-nav__tel__sub {
    display: block;
}

.toggle-nav__tel__main {
    padding-bottom: 3px;
    margin-bottom: 8px;
    border-bottom: solid 1px #e2e2e2;
    font-size: 28.7px;
    font-weight: 700;
}

.toggle-nav__tel__main i {
    color: #28a7e1;
    font-size: .8em;
}

.toggle-nav__tel__sub {
    font-size: 14.35px;
}

.toggle-nav .cv {
    font-size: 18.28px;
    text-align: center;
}

.toggle-nav .cv > * {
    margin-top: 18px;
}

/* toggle - menu Open */
.is-gnvOpen {
    overflow: hidden;
}

.is-gnvOpen .toggle-button span {
    background: transparent !important;
}

.is-gnvOpen .toggle-button span::before,
.is-gnvOpen .toggle-button span::after {
    top: 0;
}

.is-gnvOpen .toggle-button span::before {
    -webkit-transform: rotate(-45deg) translateY(0px);
        transform: rotate(-45deg) translateY(0px);
}

.is-gnvOpen .toggle-button span::after {
    width: 100%;
    -webkit-transform: rotate(45deg) translateY(0px);
        transform: rotate(45deg) translateY(0px);
}

.is-gnvOpen .toggle-nav {
    -webkit-transform: translateX(0);
            transform: translateX(0);
}

/* Page Header */
.page-header {
    position: relative;
    background: #f49025 url("../image/keyV/bg_stripe_orange.png");
    background-size: 5px;
    color: #fff;
}

.page-header__bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: 50% 50% no-repeat;
    background-size: cover;
    opacity: .08;
}

.page-header__txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 140px;
}


header{
width: 96%;
	margin: 10px auto 0;
}
header img {
width: 100%;
}



/* breadcrumbs */
.breadcrumbs {
    padding-top: 5px;
    padding-bottom: 10px;
    margin-bottom: 0px;
	margin-right: 15px;
    font-size: .778em;
    text-align: right;
	box-sizing: border-box;
}

.breadcrumbs li {
    display: inline-block;
    line-height: 1;
}

.breadcrumbs a {
    text-decoration: none;
}

.breadcrumbs a.home-link {
    color: #f06806;
}

.breadcrumbs .home {
    font-size: 0;
}

.breadcrumbs .icon-arrow {
    font-size: .857em;
}

.law {
	width: 96%;
	margin: 0px auto 15px;
}

.law h2 {
  text-align: center;
  font-size: 20px;
  padding: 10px;
  background: #fff;
  border-bottom: 1px solid #ccc;
}

.law dl {
display: flex;
flex-flow: column;
width: 100%;
}
.law dt {
flex-basis: 15%;
padding: 20px;
background-color: #f1f1f1;
border-bottom: 1px solid #ccc;
}
.law dd {
flex-basis: 85%;
padding: 20px;
background-color: #fff;
border-bottom: 1px solid #ccc;
}

/*====== footer =====*/


@media screen and (max-width: 519px) {

    .for_sp { display: block !important; }

}