@charset "UTF-8";
/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.04
 * Modified  :  *******
 */
.phase2 {
    display: none !important;
}

/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.07
 * Modified  :  *******
 */
/* font setting */
html {
    font-size: 10px;
    /* sets the base font to 10px for easier math */
    line-height: 1.75;
}

body {
    font-size: 1.4rem;
    /*font-family: "游ゴシック体", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
    /*font-family: "Open Sans", "Helvetica Neue" , Helvetica, Arial, Verdana, "Roboto", "Noto Sans JP", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
    font-family: "Roboto", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-family: 'Noto Sans Japanese',   sans-serif;
    color: #3a3a3a;
    font-weight: 400;
}

.condensed {
    font-family: 'Roboto Condensed', "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-family: 'Noto Sans Japanese',   sans-serif;
}

/* Roboto font-weight:400,500 */
/* Roboto+Condensed font-weight:300,400 */
.site-header {
    line-height: 1.6;
}

.contents a {
    line-height: 1.45;
}

@media screen and (max-width: 374px) { /* for < 374 */
    body {
        font-size: 1.3rem;
    }

}

@media print, (min-width: 992px) {
    /* 992< */
    body {
        font-size: 1.4rem; /*1.6rem*/
    }
}

/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.07
 * Modified  :  *******
 */
/* size Definition */
/*
sm =  ( =< 991 )
lg =  ( 992 =< 1280 )
xlg = ( < 1281 )
*/
/* base setting */
*, ::after, ::before {
    box-sizing: border-box;
}

main {
    display: block;
    /* IEではmainがinline要素と認識される */
    min-height: 60vh;
}

section {
    padding: 2.5em 0;
}

figure,
dd {
    margin: 0;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}

iframe {
    max-width: 100%;
    vertical-align: top;
}

ul, ol, dl {
    padding: 0;
    margin: 0;
}

ul {
    list-style: none;
}

[class*="list"] {
    list-style: none;
}

a {
    text-decoration: none;
    color: #272C32;
    /*transition: all .16s;*/
}

p > a, p > span > a {
    text-decoration: underline;
    color: #215CC0;
}

a:hover {
    opacity: .75;
}

a label {
    cursor: pointer;
}

.wrapper {
    /* overflow: hidden; */
}

.wrapper-brightBeige {
    background-color: #f9f3ea;
}

.container,
.heading.container {
    max-width: 1480px;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 991px) {
    /* for < 992 */
    .contents .container {
        padding: 1.5rem
    }
    .wrapper {
        overflow: hidden;
    }

}

@media print, (min-width: 992px) {
    /* for 992 < */
    .wrapper {
        min-width: 1500px;
    }
}

.container-footer {
    max-width: 1170px;
}


.in-box {
    max-width: 950px;
}

@media screen and (max-width: 991px) {
    /* for < 992 */
    main .container,
    main .heading.container,
    .site-footer .container {
        max-width: 580px;
    }
}

@media screen and (max-width: 991px) and (min-width: 580px) {
    /* for 580 < */
    main .heading.container {
        margin: auto;
    }
}

@media screen and (max-width: 991px) {
    /* END for  580 < */
}

/* END for < 992 */
/* CSS custom properties for cascading variables */
/* IEではサポートされていないので使用注意 */
:root {
    text-color: #3d3d3d;
    logo-color: #0090D5;
    primary-color: #215CA0;
    dark-gray-color: #606060;
    gray-color: #909090;
    light-gray-color: #efefef;
    light-glay-color: #f3f3f3;
    white-color: #fff;
    black-color: #202020;
    accent-color: #CD8080;
    moderate-color: #E8DFDA;
    base-color: #EDEAE8;
}

/* SAMPLE */
.sample-title {
    color: var(--key-color, #E4731C);
    /* IEではフォールバック値を設定するも無効となる ※カスタムプロパティ自体がサポートされていない為 ※フォールバックは変数を指定していない時用 */
}

/* HTML tag */
h1, h2, h3, h4, h5, h6, p {
    margin-bottom: 0;
}

p {
    margin-top: 1em;
}

hr {
    margin: 1rem 0;
    border-top: #3d3d3d solid 1px;
    opacity: .15;
}

@media print, (min-width: 992px) {
    /* for 992 < */
    section {
        padding-top: 2.5em;
        padding-bottom: 2.5em;
        padding-left: 10px;
        padding-right: 10px;
        /* background: #F5F7F4; */
    }
    button.btn-primary:hover, a:hover {
        animation: hover .5s ease-out;
    }
}

/* END for 992 < */
@keyframes hover {
    0% {
        opacity: .4;
    }
    100% {
        opacity: .75;
    }
}

@keyframes on {
    0% {
        opacity: 0;
    }
    40% {
        opacity: .3;
    }
    100% {
        opacity: 1;
    }
}

@keyframes off {
    0% {
        opacity: 0;
    }
    40% {
        opacity: .3;
    }
    100% {
        opacity: 1;
    }
}

/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.07
 * Modified  :  *******
 */
/* grid system */
.col {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

[class*="cols-"] {
    display: flex;
}

.cols-3 .col {
    width: 33.3333%;
}

.row {
    padding-top: .8rem; /*1rem*/
    padding-bottom: .8rem; /*1rem*/
}

.col-1- {
    width: 8.3333%;
}

.col-2- {
    width: 16.6666%;
}

.col-3- {
    width: 25%;
}

.col-4- {
    width: 33.3333%;
}

.col-5- {
    width: 41.6666%;
}

.col-6-, .half- {
    width: 50%;
}

.col-7- {
    width: 58.3333%;
}

.col-8- {
    width: 66.6666%;
}

.col-9- {
    width: 75%;
}

.col-10- {
    width: 83.3333%;
}

.col-11- {
    width: 91.6666%;
}

.col-12-, .full- {
    width: 100%;
}

.offset-05- {
    margin-left: 4.1666%;
}

.offset-1- {
    margin-left: 8.3333%;
}

.offset-2- {
    margin-left: 16.6666%;
}

.offset-3- {
    margin-left: 25%;
}

.offset-4- {
    margin-left: 33.3333%;
}

.offset-6- {
    margin-left: 50%;
}

[class*="flex-"] {
    display: flex;
}

.flex-between {
    justify-content: space-between;
}

.flex-around {
    justify-content: space-around;
}

.flex-wrap {
    flex-wrap: wrap;
}
.row-reverse {
    flex-direction: row-reverse;
}


.flex-grow {
    flex-grow: 1;
}
.grow-1 {
    flex-grow: 1;
}

.shrink-0,
.flex-shrink-0 {
    flex-shrink: 0;
}
.shrink-1,
.flex-shrink-1 {
    flex-shrink: 1;
}

.flex-column {
    flex-direction: column;
}

.align-start {
    align-items: flex-start;
}

.align-center {
    align-items: center;
}

.align-end {
    align-items: flex-end;
}

.flex-end {
    justify-content: flex-end;
}

.align-stretch,
.align-stretch > .item {
    align-items: stretch;
}

.justify-center {
    justify-content: center;
}

.align-self-start {
    align-self: start;
}

@media screen and (max-width: 991px) {
    /* for < 992 */
    .col-1-sm {
        width: 8.3333%;
    }

    .col-2-sm {
        width: 16.6666%;
    }

    .col-3-sm {
        width: 25%;
    }

    .col-4-sm {
        width: 33.3333%;
    }

    .col-5-sm {
        width: 41.6666%;
    }

    .col-6-sm, .half-sm {
        width: 50%;
    }

    .col-7-sm {
        width: 58.3333%;
    }

    .col-8-sm {
        width: 66.6666%;
    }

    .col-9-sm {
        width: 75%;
    }

    .col-10-sm {
        width: 83.3333%;
    }

    .col-11-sm {
        width: 91.6666%;
    }

    .col-12-sm, .full-sm {
        width: 100%;
    }

    .offset-05-sm {
        margin-left: 4.1666%;
    }

    .offset-1-sm {
        margin-left: 8.3333%;
    }

    .offset-2-sm {
        margin-left: 16.6666%;
    }

    .offset-3-sm {
        margin-left: 25%;
    }

    .offset-4-sm {
        margin-left: 33.3333%;
    }

    .offset-6-sm {
        margin-left: 50%;
    }
    .flex-sm {
        display: flex;
    }
    .justify-center-sm {
        justify-content: center;
    }
    .justify-between-sm {
        justify-content: space-between;
    }
    .flex-wrap-lg {
        display: block;
    }
    .flex-column-sm {
        flex-direction: column;
    }
    .cols-3 {
        padding-left: .5rem;
        padding-right: .5rem;
    }
    .cols-3 .col {
        padding-left: .5rem;
        padding-right: .5rem;
    }
    .sm-order-1 {
        order: 1;
    }
    .sm-order-2 {
        order: 2;
    }
    .sm-order-3 {
        order: 3;
    }
    .sm-order-4 {
        order: 4;
    }
    .col-min-9-sp {
        min-width: 75%;
    }
    
    .disp-pc {
        display: none;
    }
}

/* END for < 992 */
@media print, (min-width: 992px) {
    /* for print, 992 < */
    .flex {
        display: flex;
    }
    .flex-sm {
        display: block;
    }
    .flex-wrap-lg {
        flex-wrap: wrap;
    }
    .flex-column-lg {
        flex-direction: column;
    }
    .center-lg {
        justify-content: center;
    }
    .between-lg {
        justify-content: space-between;
    }
    .row-reverse-lg {
        flex-direction: row-reverse;
    }
    .col-1 {
        width: 8.3333%;
    }
    .col-2 {
        width: 16.6666%;
    }
    .col-3 {
        width: 25%;
    }
    .col-4 {
        width: 33.3333%;
    }
    .col-5 {
        width: 41.6666%;
    }
    .col-6, .half {
        width: 50%;
    }
    .col-7 {
        width: 58.3333%;
    }
    .col-8 {
        width: 66.6666%;
    }
    .col-9 {
        width: 75%;
    }
    .col-10 {
        width: 83.3333%;
    }
    .col-11 {
        width: 91.6666%;
    }
    .col-12, .full {
        width: 100%;
    }
    .offset-05 {
        margin-left: 4.1666%;
    }
    .offset-1 {
        margin-left: 8.3333%;
    }
    .offset-2 {
        margin-left: 16.6666%;
    }
    .offset-3 {
        margin-left: 25%;
    }
    .offset-4 {
        margin-left: 33.3333%;
    }
    .offset-6 {
        margin-left: 50%;
    }
    .pc-order-1 {
        order: 1;
    }
    .pc-order-2 {
        order: 2;
    }
    .pc-order-3 {
        order: 3;
    }
    .pc-order-4 {
        order: 4;
    }
    .btn-center {
        width: 66.6666%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* END for print, 992 < */
.gap-12 {
    margin-left: -.6rem;
    margin-right: -.6rem;
}

.gap-12 > .item,
.gap-12 > .col {
    padding-left: .6rem;
    padding-right: .6rem;
}

.gap-18 {
    margin-left: -.9rem;
    margin-right: -.9rem;
}

.gap-18 > .item,
.gap-18 > .col {
    padding-left: .9rem;
    padding-right: .9rem;
}

.gap-26 {
    margin-left: -1.3rem;
    margin-right: -1.3rem;
}

.gap-26 > .item,
.gap-26 > .col {
    padding-left: 1.3rem;
    padding-right: 1.3rem;
}

.gap-36 {
    margin-left: -1.8rem;
    margin-right: -1.8rem;
}

.gap-36 > .item,
.gap-36 > .col {
    padding-left: 1.8rem;
    padding-right: 1.8rem;
}

.gap-64 {
    margin-left: -3.2rem;
    margin-right: -3.2rem;
}

.gap-64 > .item,
.gap-64 > .col {
    padding-left: 2rem;
    padding-right: 2rem;
}

/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.07
 * Modified  :  *******
 */
/* btns */
[class^="btn-"] {
    padding: .5em 1em;
    display: inline-block;
    line-height: 1.25;
    font-size: 1.6rem;
    white-space: nowrap;
    cursor: pointer;
    border-radius: .4rem;
    color: #3d3d3d;
}

p [class^="btn-"] {
    text-decoration: none;
}

[class^="btn-"]:hover {
    cursor: pointer;
}

.btn-primary {
    background-color: #215CA0;
    border-radius: .4rem;
    color: #fff;
    padding: .8em 1.5em;
}

.btn-primary.accent {
    background-color: #15A305;
}

.arw-link,
.contents .arw-link {
    color: #215CA0;
    line-height: 1.35;
}

.arw-link::after {
    border-top: #FFF solid 2px;
    border-right: #FFF solid 2px;
    content: "";
    display: inline-block;
    height: .6em;
    transform: rotate(45deg);
    width: .6em;
    position: relative;
    right: -2em;
}

/* ??? */
.btn-print {
    padding: .6em 1.5em;
    position: relative;
    background-color: #f3f3f3;
    color: #040000;
    border: #c8c8c8 solid 1px;
    font-size: 1.5rem;
}

[class^="btn-"].large {
    font-size: 1.7rem;
}

[class^="btn-"].small {
    padding: .5em 1em;
    /*padding-right: 1em;*/
    font-weight: 300;
    border-width: 1px;
}

.btn-moderate {
    background-color: #ededed;
    color: #E7493D;
    font-size: 1.5rem;
}

@media screen and (max-width: 374px) {
    /* for < 374 */
    [class^="btn-"] {
        font-size: 1.3rem; /* 1.6rem */
    }
    [class^="btn-"].small {
        font-size: 1.2rem;
    }
    [class^="btn-"].large {
        font-size: 1.5rem; /* 1.7rem */
    }

}

/* END for < 374 */
.btn-moderate,
.btn-moderate.small {
    padding: .5rem .75em;
}

.btns [class^="btn-"] {
    display: block;
}

@media print, (min-width: 768px) {
    /* for Tablet over */
    [class^="btn-"].large {
        font-size: 2rem;
    }
}

/* END for Tablet over */
.btn-back {
    border: none;
    border-radius: 1.6em;
    color: #777;
    line-height: 1.4;
    margin-left: 1rem;
    margin-right: 1rem;
    padding: .8em 2em;
    background-color: #F2F2F2;
}

/* ??? */
.text-link {
    text-decoration: underline;
}

/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.07
 * Modified  :  *******
 */
/* site-header */
.site-header {
    position: fixed;
    top: 0;
    z-index: 1001;
    background-color: #fff;
    width: 100%;
    border-bottom: rgba(0, 0, 0, 0.06) solid 1px;
}

.header-nav {
    align-items: flex-end;
    padding: 1.6rem 1.6rem 1.2rem 2rem;
}

.header-nav .logo {
    margin: 0;
    margin-right: auto;
    padding-right: .5rem;
    line-height: 1;
}
@media screen and (max-width: 991px) {
    .header-nav .logo {
        width: 120px;
    }
}
.header-nav .sns {
    margin-bottom: 1.1rem;
    height: 31px;
    padding-left: 3px;
}
.header-nav .sns-link {
    margin-left: 10px;
}
@media screen and (max-width: 991px) {
    .header-nav .sns {
        margin-bottom: 0;
        height: auto;
        padding-left: 0;
        padding-right: 2px;
    }
    .header-nav .sns-link {
        width: 26px;
        margin-left: 9px;
    }
}
.global-nav .item {
    width: 220px;
    font-size: 1.6rem;
    text-align: center;
    height: 33px;
    display: flex;
}

.global-nav .item a {
    font-weight: 700;
    /* font-size: 1.9rem; */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    /* padding-top: 6px; */
    line-height: 1.2;
}
.global-nav .item a:hover {
    background-color: #fff;
    color: #FF5F02;
    border-radius: 4px;
}
.global-nav .item .sub-en {
    display: block;
    margin-top: 1px;
    font-weight: 400;
    font-size: 1.3rem;
    text-align: center;
    color: #999;
}

@media screen and (max-width: 991px) {
    /* for sm */
    .header-logo {
        width: 90%;
    }
    #menu-trigger {
        width: 44px;
        height: 54px;
        color: #1b4f2b;
        padding: 37px 0 0;
        letter-spacing: -.05em;
        white-space: nowrap;
        position: relative;
        font-size: 1rem;
        text-align: center;
        margin: auto .1rem auto 1rem;
    }
    #menu-trigger span:nth-child(1),
    #menu-trigger span:nth-child(2),
    #menu-trigger span:nth-child(3) {
        left: 5px;
        background-color: #1b4f2b;
        border-radius: 1.5px;
        display: block;
        height: 2px;
        width: 32px;
        position: absolute;
    }
    #menu-trigger span:nth-child(1) {
        top: 9px;
        transition: all .22s;
    }
    #menu-trigger span:nth-child(2) {
        top: 17px;
        transition: all .16s;
    }
    #menu-trigger span:nth-child(3) {
        top: 25px;
        transition: all .22s;
    }
    #menu-trigger label {
        display: block;
        width: 3.8rem;
    }
    .drawer-open #menu-trigger span:nth-child(1) {
        top: 15px;
        transform: rotate(-45deg);
    }
    .drawer-open #menu-trigger span:nth-child(2) {
        opacity: 0;
    }
    .drawer-open #menu-trigger span:nth-child(3) {
        top: 15px;
        transform: rotate(45deg);
    }
}

/* End for sm */
@media print, (min-width: 992px) {
    /* for lg*/
    .site-header {
        height: 140px;
    }
    .header-nav {
        min-width: 1500px;
        width: 1500px;
        padding: .5rem 1rem 1rem;
    }

}

/* END for lg*/
/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.07
 * Modified  :  *******
 */
/* icon */
[class*="icon-"]::before {
    background: no-repeat center;
    background-size: 3rem;
    content: "";
    display: block;
    height: 3.1rem;
    margin-left: auto;
    margin-right: auto;
    width: 3.2rem;
}

.heading [class*="icon-"] {
    padding-left: .5em;
}

.heading [class*="icon-"]::before {
    background-size: 2.7rem;
    display: inline-block;
    height: 2.8rem;
    position: relative;
    left: -.5em;
    top: .3em;
    width: 2.8rem;
}

.rank [class*="rank-"] {
    width: 3rem;
    height: 3.4rem;
    line-height: 2.7rem;
    display: inline-block;
    transform: skewX(-10deg);
    color: #FFF;
    border-radius: 6px;
    font-size: 2.5rem;
}

.rank-01 {
    background-color: #500778;
}

.rank-02 {
    background-color: #8856a3;
}

.rank-03 {
    background-color: #a27bb7;
}

.rank-04,
.rank-05 {
    background-color: #b0b0b0;
}

.btns [class*="icon-"]::before {
    display: inline-block;
    background-size: 1.7rem;
    height: 1.8rem;
    width: 1.8rem;
    position: relative;
    top: -1px;
    left: -3px;
    vertical-align: middle;
}

.icon-wrap {
    text-align: center;
}

.icon-wrap::before,
.icon-wrap .icon-item::before {
    content: none;
}

.icon-wrap a {
    position: relative;
    display: block;
}

.icon-wrap .icon-item {
    position: relative;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: 100% auto;
    vertical-align: top;
    line-height: 1;
    background-position: 50% 50%;
}

.sub-nav .icon-wrap .icon-item {
    width: 40px;
    height: 40px;
}

.drawer-nav .icon-wrap .icon-item {
    width: 30px;
    height: 30px;
    margin-left: -10px;
}

.info-panel .icon-wrap .icon-item {
    width: 60px;
    height: 60px;
}

.icon-wrap .icon-home {
    display: block;
    width: 20px;
    height: 20px;
    top: 50%;
    transform: translateY(-50%);
    margin-top: -3px;
    background-image: url(../img/icon/icon-home.svg);
}

.icon-logout {
    background-image: url(../img/icon/icon-logout.svg);
}

.icon-login {
    background-image: url(../img/icon/icon-login.svg);
}

.icon-cart {
    background-image: url(../img/icon/icon-cart.svg);
}

.btn-primary-box .icon-cart {
    background-image: url(../img/icon/icon-cart-wh.svg);
}

.icon-member {
    background-image: url(../img/icon/icon-member.svg);
}

.icon-line {
    background-image: url(../img/icon/icon-line.svg);
}

.c-volume {
    position: absolute;
    width: 20px;
    height: 20px;
    font-size: 1.2rem;
    color: #FFF;
    border-radius: 50%;
    top: -4px;
    right: -4px;
    background: #e73656;
    text-align: center;
    line-height: 20px;
}

@media print, (min-width: 992px) {
    /* for 992 < */
    [class*="icon-"]::before {
        background-size: 3.3rem;
    }
    .heading [class*="icon-"]::before {
        background-size: 3.8rem;
        height: 3.8rem;
        width: 3.8rem;
        left: -.5em;
        top: .2em;
    }
    .sub-nav .icon-wrap .icon-item {
        width: 47px;
        height: 47px;
    }
    .info-panel .icon-wrap .icon-item {
        width: 86px;
        height: 86px;
    }
}

/* END for 992 < */
[class*="icon-"]::before {
    background-repeat: no-repeat;
    background-position: center;
}

.icon-box::before {
    background-image: url(../img/icon/box.svg);
}

.icon-yen::before {
    background-image: url(../img/icon/yen.svg);
}

.icon-tel {
    color: #9b8259;
    font-weight: 500;
    display: flex;
    justify-content: center;
    margin: 1rem 0 0;
    line-height: 1.35;
}

.icon-tel a {
    color: #9b8259;
    text-decoration: none;
}

.icon-tel::before {
    background-image: url(../img/icon/tel.svg) !important;
    background-size: .75em;
    color: #9b8259;
    margin: 0;
}

.icon-hint {
    font-style: normal;
    text-align: center;
    position: relative;
    top: -.2rem;
}

.icon-hint::before {
    background-color: #858585;
    border-radius: 50%;
    color: #fff;
    content: "?";
    font-size: .9em;
    height: calc(1em + 12px);
    line-height: 1;
    margin-left: .5rem;
    padding: 0.7rem 0.6rem 0.5rem;
    width: calc(1em + 12px);
    cursor: pointer;
    display: inline-block;
}

/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.07
 * Modified  :  *******
 */
/* main */
.contents {
    padding-top: 60px;
}

.exchange {
    background-color: #f4f4f4;
}

.container + .container {
    margin-top: 2em;
}

@media screen and (max-width: 991px) {
    /* for < 992 */
    /* .contents .container {
        padding-left: 1em;
        padding-right: 1em;
    } */
}

/* END for < 992 */
@media print, (min-width: 992px) {
    /* for 992 < */
    .contents {
        padding-top: 140px;
    }
}

/* END for 992 < */
/* key-visual */
.key-visual {
    padding: 0;
}

.slider {
    overflow: visible;
}

.key-visual .block-link {
    position: relative;
}

.key-visual img {
    vertical-align: top;
}


@media screen and (max-width: 750px) {
    /* for < 750 */
}

/* END for < 750 */
@media print, (min-width: 751px) {
    /* for 751 < */
    .key-visual .slider {
        max-width: 1600px;
        margin-left: auto;
        margin-right: auto;
    }
    .key-visual .slick-list {
        overflow: visible;
    }
}

/* END for 751 < */
/* feature */
.feature .col,
.news-and-topics .col {
    display: flex;
}

.card {
    background-color: #FFF;
    margin-bottom: 1.5em;
    width: 100%;
    box-shadow: 0 0 3px rgba(0,0,0,0.1);
    border:1.5px solid #349953;
}

.exchange .card {
    background-color: #fff;
}

.caption {
    padding: 40px;
    color: #59575C;
}

.feature .caption {
    /*height: calc(100% - 188px);*/
}

.caption.has-more-link {
    display: flex;
    flex-direction: column;
}

.caption .title {
    color: #349953;
    font-weight: 400;
    text-align: center;
    font-size: 3rem;
    margin:0 0 0;
}

.contents .arw-link {
    display: block;
    width:70%;
    padding:15px 10px;
    background:#349953;
    color:#FFF;
    border-radius:5px;
    text-align:center;
    margin:20px auto 0 auto;
}

.text-center > .arw-link {
    display: inline-flex;
}

.contents .arw-link::after {
    top:0;
    color:#FFF;
}

/* news-and-topics */
.date {
    font-size: 1em;
    color: #3a3a3a;
}

.news-and-topics .caption.has-more-link {
    align-items: flex-start;
    flex-grow: 1;
}

.news-and-topics .card .title {
    font-size: 1em;
    color: #3a3a3a;
    margin-bottom: 1em;
    width: 100%;
}

.news-and-topics .btn-primary {
    align-self: center;
}

@media screen and (max-width: 991px) {
    /* for sm */
    .posts .col:last-of-type .card {
        margin-bottom: .5em;
    }
    .news-and-topics .btn-primary {
        margin-top: 1rem;
    }
}

/* END for sm */
/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.07
 * Modified  :  *******
 */
/* site-footer */
.site-footer {
    border-top: 1px solid #C1B9B4;
}

.site-footer .logo {
    position: relative;
    padding-top: 25%;
    overflow: hidden;
    height: 0;
}

.site-footer .footer-logo {
    position: absolute;
    top: 0;
}

.site-footer .logo + .name {
    display: inline-block;
    padding-top: .4rem;
}

.site-footer .btn-primary.accent {
    font-size: 1.4rem;
    margin-right: 1.5rem;
}

.site-footer .title {
    font-size:2rem;
    margin: 0;
}
.site-footer {
    background: #1B252C;
    color: #FFF;
}
.site-footer a {
    color:#FFF;
    line-height: 1.6;
}

@media print, (min-width: 992px) {
    /* for lg */
    .site-footer {
        background: #1B252C;
        color: #FFF;
    }
    .site-footer a {
        color:#FFF;
        line-height: 1.6;
        white-space: nowrap;
        font-size: 1.4rem;
    }
    .site-footer .logo + .name {
        padding-top: .8rem;
    }
    #top > div.wrapper > footer > nav > nav > dl:nth-child(1) > dt > a {
        display:block;
        /*padding-top:10px;*/
    }
}

/* END lg < */
/* footer-nav */
.footer-nav dt.arw-link,
.footer-nav > .arw-link,
.footer-nav > .arw-link.has-child {
    /* padding: .75rem 0 .75rem; */
    padding: .4rem 0;
    text-align: left;
}

.drawer-nav .arw-link {
    margin-top: 0;
}

.footer-nav ~ .arw-link::after,
.drawer-nav .arw-link::after {
    right: .3rem;
}

.footer-nav .arw-link.has-child::after {
    left: inherit;
    /*transform: rotate(135deg);*/
    margin-top: -8px;
    right: .3rem;
}

.site-footer .arw-link::after {
    display: none;
}

.footer-nav .arw-link.has-child.open::after {
    transform: rotate(-45deg);
    margin-top: -4px;
}

.footer-nav dd {
    margin-bottom: 1.6rem;
}

.footer-nav dd .arw-link {
    font-size: 1.4rem;
    font-weight: 400;
}

@media screen and (max-width: 991px) {
    /* for sm */
    .site-footer .arw-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: .75rem 1.5rem .75rem;
    }
    .drawer-nav .arw-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding-bottom: 1.5rem;
        margin-bottom: 1rem;
        border-bottom: 1px solid  #D6D6D6;
    }
    .drawer-nav .item > .arw-link {
        padding: .75rem 1.5rem .75rem;
    }
}

/* END for sm */
@media print, (min-width: 992px) {
    /* for lg */
    /*.footer-nav {*/
    /*margin-top: 1em;*/
    /*}*/
    .footer-nav dt.arw-link {
        padding-left: 2rem;
    }
    .footer-nav .item {
        margin-left: 2rem;
        margin-right: 2rem;
    }
}

/* END for lg */
/* foot-end */
.foot-end {
    padding: 0 0 2em;
    line-height: 1.4;
    font-size: 1.3rem;
}

.foot-end .copyright {
    /* margin-top: 2em; */
    color: #fff;
}

@media screen and (max-width: 991px) {
    /* for sm */
    .foot-end {
        text-align: center;
    }
    .foot-end .site-name {
        font-size: 1.3em;
        font-weight: 400;
        padding-bottom: .5em;
    }
}

/* END for sm */
@media print, (min-width: 992px) {
    /* for lg */
    .foot-end {
        font-size: 1.4rem;
        padding-bottom: 2.5em;
    }
    .foot-end .copyright {
        /* margin-top: 4em; */
        padding-left: 1.5rem;
        text-align: center;
    }
}

/* END for lg */
/* footer-nav */
.footer-nav {
    color: #333;
    line-height: 1.35;
}

@media screen and (max-width: 991px) {
    /* for < 992 */
    .footer-nav {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 2;
        -webkit-order: 2;
        order: 2;
        width: 100%;
    }
    .footer-nav dd {
        display: none;
    }
}

@media screen and (max-width: 991px) and (max-width: 374px) {
    /* for < 374 */
    .footer-nav .item > a {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 991px) {
    /* END for < 374 */
}

/* END for < 992 */
@media print, (min-width: 992px) {
    /* for 992 < */
    .footer-nav dt.arw-link::after {
        content: none;
    }
    .footer-nav .item {
        margin-bottom: 1.4rem;
    }
}

/* END for 992 < */
/* drawer-nav */
.drawer-nav {
    background-color: #349953;
    padding: 80px 1.5rem 6em;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    height: 100%;
    /* -webkit-overflow-scrolling:touch時に高さを指定する */
    transition: transform .16s;
    opacity: 0;
    z-index: 100;
}

.drawer-nav.is-close {
    transform: translateY(-100%);
}

.drawer-nav.is-open {
    opacity: 1;
    transform: translateY(0);
}

.drawer-nav .arw-link {
    color: #fff;
}

.drawer-nav .arw-link::after {
    border-color: #fff;
}

/* breadcrumbs
---------------------------------------------------- */
/* breadcrumbs */
.breadcrumbs {
    background-color: #f3f3f3;
    line-height: 1.4;
}

.breadcrumbs .container {
    /*display: flex;*/
    padding: .9em;
    white-space: nowrap;
}

.breadcrumbs .container > span {
    color: #909090;
    white-space: nowrap;
}

.breadcrumbs span > .link {
    color: #909090;
}

.breadcrumbs span + span {
    padding-left: .65em;
}

.breadcrumbs span + span::before {
    border-top: #909090 solid 1px;
    border-right: #909090 solid 1px;
    content: "";
    display: inline-block;
    height: .65em;
    width: .65em;
    transform: translateX(-0.6em) rotate(45deg);
}

@media screen and (max-width: 991px) {
    /* for < 992 */
    .breadcrumbs .container {
        overflow-x: auto;
        white-space: nowrap;
    }
}

/* END for < 992 */
@media print, (min-width: 992px) {
    /* for 992 < */
    .breadcrumbs .container {
        display: flex;
        font-size: 1.4rem;
        padding: 1em 0;
    }
    .breadcrumbs span + span {
        padding-left: .9em;
    }
    .breadcrumbs span + span::before {
        transform: translate(-0.65em, -1px) rotate(45deg);
    }
    .breadcrumbs .container > span:last-child {
        display: inline-block;
        -ms-text-overflow: ellipsis;
        text-overflow: ellipsis;
        overflow: hidden;
    }
}

/* END for 992 < */
/* /breadcrumbs */
/* heading
---------------------------------------------------- */
.heading {
    line-height: 1.35;
    margin-bottom: 2rem;
}
.heading .title {
    font-size: 2.8rem;
    font-weight: normal;
    color: #272727;
    margin-top: 0;
}
.head-block {
    padding: 1.3em 1em;
    background-color: #339252;
    margin-bottom: 0;
}

.head-block .page-title {
    font-size: 2.8rem;
    font-weight: normal;
    color: #FFF;
    margin-top: 0;
}
.head-block .page-title + .sub {
    color: #fffa90;;
}
.heading .arw-link {
    margin-left: auto;
}

.box-title {
    padding: .75em .6em .65em;
    background-color: #f4f4f4;
    border-radius: 4px;
    margin-bottom: 1rem;
    line-height: 1.35;
}

.heading.left-line {
    border-left: #0090D5 solid 5px;
    padding: .5em 1em .3em;
    /* END for 992 < */
}

.heading.left-line .title {
    margin-top: 0;
    font-size: 1.85em;
}

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

}

/* END for sm */
@media print, (min-width: 992px) {
    /* for lg */
    .heading {
        display: flex;
        align-items: baseline;
    }
    .heading .title {
        font-size: 3.8rem;
    }
    .documents .heading .title {
        font-size: 2.5rem;
    }
    .head-block {
        padding: 2.7em 1em;
    }
    .head-block .container {
        align-items: baseline;
    }
    .head-block .page-title {
        font-size: 4rem;
    }


}

/* END for lg */
/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.07
 * Modified  :  *******
 */
/* lower contents
---------------------------------------------------- */
/* common */
.breadcrumbs + section {
    padding-top: 2.5em;
    margin-bottom: 1em;
    /* END for 992 < */
}

@media screen and (max-width: 991px) {
    .breadcrumbs + section {
        /* for 992 < */
        padding-top: 0;
    }
}

@media print, (min-width: 992px) {
    .breadcrumbs + section {
        /* for 992 < */
        margin-bottom: 1.5em;
        padding-top: 0;
    }
}

/*
li,
.li {
    padding-top: .25em;
    padding-bottom: .25em;
}
*/

.frame {
    background-color: #fff;
    border: #ededed solid 4px;
    border-radius: 4px;
    padding: .5em 1.5rem 1em;
    /* END for 992 < */
}

@media print, (min-width: 992px) {
    .frame {
        /* for 992 < */
        padding: 1em 2rem;
    }
}

.box-title ~ .li {
    padding-left: .6em;
    padding-right: .6em;
}

.li .arw-link {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding-top: .4rem;
    padding-bottom: .4rem;
}

.li .arw-link::after {
    right: 3px;
}

.list-border-separate .li + .li {
    border-top: #f4f4f4 solid 3px;
    margin-top: .5em;
    padding-top: .75em;
}

/* table */
.table {
    background-color: #fff;
    border-collapse: collapse;
    display: table;
}

.table > thead {
    border-bottom: #909090 solid 1px;
}

.table > tbody > tr + tr {
    border-top: #ddd solid 1px;
}

.table th,
.table td {
    line-height: 1.5;
    padding: .95em 1.5rem;
    vertical-align: top;
    min-width:150px;
}


.page-company .table th {
    text-align:left;
}

.align-center .table th {
    text-align:center;
}

@media screen and (max-width: 991px) {
    .table th,
    .table td {
        min-width:auto;
    }
}

.table th {
    white-space: nowrap;
}

@media print, (min-width: 992px) {
    /* for 992 < */
    .table {
        font-size: 1.4rem;
    }
}

/* END for 992 < */
/* /table */
/* magnific-popup */
.mfp-iframe-scaler {
    /* END for < 992 */
}

@media screen and (max-width: 991px) {
    .mfp-iframe-scaler {
        /* for < 992 */
        padding-top: 75vh;
    }
}

.mfp-iframe-scaler iframe {
    background: #fff;
}

/* .popup-map */
.popup-map iframe {
    width: 100%;
}

.popup-map table {
    margin-top: .5rem;
    width: 100%;
    font-size: 1.5rem;
}

.popup-map table > tbody > tr > th,
.popup-map table > tbody > tr > td {
    font-weight: normal;
    text-align: left;
    padding: .3rem .7rem;
    border-left: #fff solid 4px;
}

.popup-map table > tbody > tr > th {
    background-color: #f4f4f4;
}

.popup-map table > tbody > tr > td {
    padding-top: .8rem;
}

@media screen and (max-width: 991px) {
    /* for < 992 */
}

/* END for < 992 */
@media print, (min-width: 992px) {
    /* for 992 < */
}

/* END for 992 < */
/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.07
 * Modified  :  *******
 */
/* form
---------------------------------------------------- */
@media print, (min-width: 580px) and (max-width: 991px) {
    /* for 580 < 992 */
    .form .heading.container {
        margin-left: auto;
        margin-right: auto;
    }
}

/* END for 580 < 992 */
@media print, (min-width: 992px) {
    /* for 992 < */
    .container.col-11 {
        width: calc(992px * 0.916666);
    }
    .container.col-10 {
        width: calc(992px * 0.833333);
    }
}

/* END for 992 < */
/* form */
[type="checkbox"],
[type="radio"] {
    margin: 0 .4em .5em .1em;
    top: -1px;
    display: none;
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}

[type="checkbox"],
[type="checkbox"] + label,
[type="radio"],
[type="radio"] + label {
    cursor: pointer;
}

[type="checkbox"] + label,
[type="radio"] + label {
    position: relative;
}

[type="checkbox"] + .inline-label,
[type="radio"] + .inline-label {
    padding-left: 1.4em;
}

[type="checkbox"] + .inline-label {
    display: flex;
    align-items: center;
}

[type="checkbox"] + .inline-label:not(:last-child),
[type="radio"] + .inline-label:not(:last-child) {
    padding-right: 1.5em;
}

[type="checkbox"] + .inline-label:empty,
[type="radio"] + .inline-label:empty {
    padding-right: 0;
}


[type="radio"] + label::before {
    border-radius: 50%;
}

[type="checkbox"] + .inline-label-2 {
    padding-left: 1.4em;
}

[type="checkbox"] + .inline-label-2 {
    align-items: center;
    color: white;
}

[type="checkbox"] + .inline-label-3 {
    padding-left: 1.4em;
}

[type="checkbox"] + .inline-label-3 {
    align-items: center;
}

.inline-label + .underline {
    line-height: 1.85;
}

select.form-control {
    min-width: 4em;
    border-radius: 0;
    border-color: #ccc;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../img/common/select-arw.svg) no-repeat right 3px center;
    background-size: 34px;
    padding-right: 2.5em;
}

@media screen and (max-width: 991px) {
    /* for < 992 */
    select.form-control {
        background-size: 28px;
    }
}

/* END for < 992 */
/* MacのSafari対策途中 190308
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
select::after {
  content:"";
}
select::-ms-expand {
  display: none;
}
 */
:placeholder-shown {
    color: #999;
}

::-webkit-input-placeholder {
    color: #999;
}

:-moz-placeholder {
    color: #999;
    opacity: 1;
}

::-moz-placeholder {
    color: #999;
    opacity: 1;
}

.form .form-control:-ms-input-placeholder {
    color: #999;
}

.form .table,
form table,
form .table {
    width: 100%;
}

@media screen and (max-width: 991px) {
    /* for < 992 */
    .form .form-control,
    form .form-control,
    form .form-control {
        font-size: 1.6rem;
    }
}

/* END for < 992 */
@media print, (min-width: 992px) {
    /* for 992 < */
    .form .table,
    form table,
    form .table {
        font-size: 1.6rem;
    }
}

/* END for 992 < */
.form .table .th {
    vertical-align: top;
    font-weight: 600;
    padding-bottom: 0;
}

.form .table .td,
form table td,
form .table .td {
    color: #000;
    line-height: 1.4;
    padding-bottom: 1em;
}

.th, .td {
    line-height: 1.4;
}

.form-container .required,
.table > .row > .required {
    position: relative;
    padding-right: 4em;
}

.optional::after,
.required::after {
    position: relative;
    top: -.4rem;
    display: inline-block;
    margin-left: 1em;
    padding: .5rem .7em;
    font-size: 1.5rem;
    text-align: center;
    font-weight: 400;
    border-radius: 4px;
}

.required::after {
    content: "必須";
    color: #fff;
    background-color: #f42;
}

.required:empty:after {
    margin-left: .25em;
    margin-right: .25em;
    font-size: .8em;
    line-height: 1.45;
}

.optional::after {
    content: "任意";
    color: #777;
    background-color: #F2F2F2;
}

.form-group .required,
.form-group .optional {
    display: flex;
}

.form-group .required::after,
.form-group .optional::after {
    font-size: 1.2rem;
    line-height: 1.35;
    white-space: nowrap;
    /* END for 992 < */
}

@media print, (min-width: 992px) {
    .form-group .required::after,
    .form-group .optional::after {
        /* for 992 < */
        margin-left: auto;
        top: -.1rem;
        right: 1.6rem;
        height: 25px;
    }
}

@media screen and (max-width: 991px) {
    /* for < 992 */
    .optional::after,
    .required::after {
        top: -.4rem;
        padding: .4rem .6em;
        font-size: 1.3rem;
        font-weight: 300;
    }

}

/* END for < 992 */
.form .form-control,
.form .ui-selectmenu-text {
    color: #111;
}

.form-group .hint {
    color: #777;
    display: block;
    font-size: 1.35rem;
    line-height: 1.4;
    padding: .6em .5rem 0;
}

.flex-wrap .hint {
    /* END for < 992 */
}

@media screen and (max-width: 991px) {
    .flex-wrap .hint {
        /* for < 992 */
        width: 100%;
    }
}

textarea.form-control {
    height: 9em;
    line-height: 1.35;
    vertical-align: middle;
}

.flex-form .inline {
    padding: .5em 1em .5em .5em;
    min-width: 2.5em;
}

.form-container .inner .letter-body {
    padding: .5em;
    margin: 0 -.5em 3em;
    background-color: rgba(255, 255, 255, 0.5);
}

.form-panel {
    background-color: rgba(255, 255, 255, 0.9);
    margin-left: -.5em;
    margin-right: -.5em;
    padding: .5em;
}

body:not(.home) .form-container .heading .title,
body:not(.home) .document .heading .title {
    margin-left: 0;
}

.agree {
    background-color: #f2f2f2;
    /* var(--light-glay-color); */
    margin-top: 3em;
    padding: 2em 6vw;
}

.agree .panel {
    padding: 1.5em;
}

.agree .panel > :last-child {
    margin-bottom: 1em;
}

.form-container .agree .title {
    font-size: 1.7rem;
}

.agree [type="checkbox"] {
    margin-bottom: 0;
}

.form-buttons {
    padding: 2em 0;
    margin-left: -1.25em;
    margin-right: -1.25em;
}

.form-buttons button,
.form-buttons [type="submit"],
.form-buttons [type="button"] {
    margin: 1em .5em 0;
    cursor: pointer;
}

.form .row > .title,
.heading > .title-lg {
    background-color: #ededed;
    padding: .6em;
    border-radius: 4px;
}

.heading > .title-lg {
    border: 0;
}

.form .table .th,
.form .table .td {
    padding-top: 1.5rem;
}

@media screen and (max-width: 767px) {
    /* for < 767 screen only */
    /* formparts は brakepoint 768px */
    .form .table > .row > .th,
    .form .table > .row > .td {
        display: block;
    }
}

/* END for < 767 screen only */
@media print, (min-width: 768px) {
    /* for 768 < */
    /* formparts は brakepoint 768px */
    .form .table > .row > .th {
        white-space: nowrap;
        width: 22%;
        font-size: 1.5rem;
        padding-bottom: 1rem;
    }
    .form .table > .row > .td {
        width: 78%;
    }
    .form .table .form-control,
    .form .table .flex-form {
        margin-top: -.8rem;
    }
    .form-container .inner,
    .document .inner {
        max-width: 800px;
    }
    .form-container th {
        width: 25%;
    }
    .form-container th,
    .form-container td {
        padding-left: .5em;
        padding-right: .5em;
    }
    .form-buttons button,
    .form-buttons [type="submit"],
    .form-buttons [type="button"] {
        margin: 1em 1.25em 0;
    }
}

/* END for 768 < */
@media screen and (max-width: 991px) {
    /* for < 992 */
    .form p {
        font-size: 1.5rem;
    }
}

/* END for < 992 */
/* estimate */
.estimate-name {
    border-bottom: #333 solid 1px;
    padding: 1em 2em .5em;
}

.table > tbody > tr + .by-rowspan {
    border-top: none;
}

.table .th.item,
.table .th.item ~ .td {
    vertical-align: middle;
    padding-bottom: 1.5rem;
}

.table .th.item {
    text-align: left;
}

.form .table .by-rowspan > td {
    padding-bottom: 1.5rem;
}

@media screen {
    .form .table .by-rowspan > td {
        padding-top: .5rem;
    }
}

.table .total {
    border-top: #ddd solid 1px;
}

.table .total .th,
.table .total .td {
    font-size: 1.18em;
    font-weight: 600;
}

.table .price {
    text-align: right;
}

.form .table .th,
.form .table .td {
    /*transition: padding .16s;*/
}

@media screen and (max-width: 767px) {
    /* for < 767 */
    /* formparts は brakepoint 768px */
    .h2 .th, .h2 .td {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 767px) and (max-width: 413px) {
    /* for < 413 */
    /* formparts は brakepoint 768px */
    .estimate .table .th,
    .estimate .table .td {
        padding-left: .5rem;
        padding-right: .5rem;
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 767px) {
    /* END for < 413 */
}

/* END for < 767 */
@media screen and (max-width: 767px) {
    /* for < 767 */
    .estimate .is-close + tfoot > .total {
        border-top: none;
    }
    .estimate .target {
        opacity: 1;
        /*transition: all 0;*/
    }
    .estimate .target.is-close {
        opacity: 0;
        /*transition: all .1s;*/
    }
    .estimate .table .is-close > .row > .th,
    .estimate .table .is-close > .row > .td {
        padding-top: 0;
        padding-bottom: 0;
        /*transition: all .25s;*/
    }
}

/* END for < 767 */
@media print, (min-width: 768px) {
    /* for 768 < */
    /* formparts は brakepoint 768px */
    .table .th.item {
        padding-left: 2rem;
    }
    .table .price {
        padding-right: 2rem;
    }
    .justify-center.nav-btns .link-item:last-of-type {
        text-align: center;
    }
}

/* END for 768 < */
@media screen and (max-width: 991px) {
    /* for < 992 */
    .estimate .form-container {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .estimate .h2 {
        padding-top: 0;
        margin-bottom: -.5em;
    }
    .estimate .h2 dl {
        margin-bottom: .25em;
    }
}

/* END for < 992 */
.form-label {
    display: block;
    margin-bottom: .5rem;
}

@media screen and (max-width: 991px) {
    /* for < 992 */
}

/* END for < 992 */
@media print, (min-width: 992px) {
    /* for 992 < */
}

/* END for 992 < */
.form-group {
    /* align-items: center; */
    position: relative;
    /* END for < 992 */
    /* END for 992 < */
    /* END for 992 < */
}

@media screen and (max-width: 991px) {
    .form-group {
        /* for < 992 */
        width: 100%;
    }
}

.row > .form-group {
    /* margin-bottom: 1em; */
}

@media print, (min-width: 992px) {
    .form-group {
        /* for 992 < */
        display: flex;
    }
}

.form-group dt {
    line-height: 1.4;
    /* END for < 992 */
}

@media screen and (max-width: 991px) {
    .form-group dt {
        /* for < 992 */
        padding-bottom: .5rem;
    }
}

.form .form-group dt {
    font-size: 1.1875em;
}
.popup-content .form-group dt {
    font-size: 1em;
}

@media print, (min-width: 992px) {
    .form-group {
        /* for 992 < */
    }
    .form-group .dt-control {
        align-self: flex-start;
        align-items: center;
    }
}

@media print, (min-width: 992px) {
    /* for 992 < */
    .dt-control {
        padding-top: 8px;
    }
}

/* END for 992 < */
.mfp-content .form-group dt {
    padding-bottom: .5rem;
}

input.form-control {
    border-radius: 4px;
}

.relative .cal {
    background: #ccc url(../img/icon/cal.svg) no-repeat center;
    background-size: 1.2em;
    border-top: #fff solid 4px;
    border-bottom: #fff solid 4px;
    position: absolute;
    content: "";
    width: 34px;
    top: 0;
    bottom: 0;
    right: 4px;
    z-index: 1;
    /* END for < 992 */
}

@media screen and (max-width: 991px) {
    .relative .cal {
        /* for < 992 */
        border-top: #fff solid 5px;
        border-bottom: #fff solid 5px;
        width: 28px;
    }
}

.relative .cal + .ui-datepicker-js {
    z-index: 2;
    position: relative;
    background-color: transparent;
}

/* baloon */
[class*="baloon-"] {
    border-radius: 4px;
    line-height: 1.35;
    margin-left: 1rem;
    margin-right: 1rem;
    padding: .75em 1rem;
    position: relative;
}

[class*="baloon-"].downward::before {
    border-right: transparent solid .8em;
    border-bottom: #f8f4ec solid 1.2em;
    border-left: transparent solid .8em;
    content: "";
    height: 2em;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -95%);
    width: 1.6em;
}

[class*="baloon-"] .value {
    position: relative;
    top: 1px;
}

.baloon-primary {
    background-color: #f8f4ec;
    color: #6d480c;
}

.point-announce {
    line-height: 1.35;
}

.point-announce .point {
    color: #a90048;
}

/* form-creditcard */
.popup-content .title {
    font-size: 1.375em;
    font-weight: 500;
    margin-bottom: .85em;
}

.white-popup {
    position: relative;
    background: #FFF;
    padding: 20px;
    width: auto;
    max-width: 500px;
    margin: 20px auto;
    line-height: 1.45;
}

.popup-content .title-big {
    font-size: 2.375em;
    font-weight: 800;
    color: #FFF;
    margin-bottom: .85em;
}

.red-popup {
    position: relative;
    background: linear-gradient(to right, #F32C3A, #FF5F02);
    padding: 20px;
    width: auto;
    max-width: 800px;
    margin: 20px auto;
    line-height: 1.45;
}

.popup-content .btn-primary {
    padding-left: 2em;
    padding-right: 2em;
}

@media all and (-ms-high-contrast: none) {
    .table .item .name {
        width: 270px;
    }
    select.form-control {
        background: none;
    }
}

/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.07
 * Modified  :  *******
 */
/* helper */
.block,
.block-link {
    display: block;
}

.inline,
.inline-link {
    display: inline-block;
}

.ellipsis {
    overflow: hidden;
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.arrow-down {
    position: relative;
    margin-bottom: 1.5em;
}

.row.arrow-down {
    padding-top: 0;
    padding-bottom: 0;
}

.arrow-down::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    position: absolute;
    left: 50%;
    bottom: -1.2em;
    border-top: #b0b0b0 solid 1rem;
    border-right: transparent solid 1rem;
    border-left: transparent solid 1rem;
    transform: translateX(-50%);
}

.centered,
.x-auto {
    margin-left: auto;
    margin-right: auto;
}

.y-auto {
    margin-top: auto;
    margin-bottom: auto;
}

.margin-auto {
    margin: auto;
}

.left-auto {
    margin-left: auto;
}

.right-auto {
    margin-right: auto;
}

.float-left {
    float: left;
}

.float-right {
    float: right;
}

.off {
    display: none;
    z-index: -1;
}

.fixed {
    /*position: fixed;*/
}

.border {
    border: #909090 solid 1px;
}

.borders-bottom > .item {
    padding-bottom: 1em;
    border-bottom: rgba(35, 24, 21, 0.08) solid 1px;
}

.border-bold {
    border: #ccc solid 2px;
}

.border-none,
.border-none > .item {
    border: none;
}

.list-inline > .item {
    display: inline-block;
}

.list-inline > .item + .item {
    margin-left: 1.3em;
}

.heading-under-line {
    border-bottom: #3a3a3a solid 1px;
    padding-bottom: .5em;
    margin-bottom: 1.5em;
}

/*.h3 {
  font-size: 1.17em;
  margin-top: 1em;
  margin-bottom: 1em;
}
*/
.text-right {
    text-align: right;
}

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

.text-left {
    text-align: left;
}

.indent-1 {
    text-indent: 1em;
}

.indent--1 {
    text-indent: -1em;
}

.ol-indent {
    margin-left: 1.1em;
}

.line-14 {
    line-height: 1.4;
}

.clear {
    clear: both;
}

.clearfix::after {
    clear: both;
    content: " ";
    display: block;
}

.shadow {
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
}

.shadow-drop {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

[class*="shadow"] > img {
    vertical-align: bottom;
}

.fade-in {
    /*-moz-transition: opacity 1.2s, transform .7s;*/
    /*-webkit-transition: opacity 1.2s, transform .7s;*/
    /*-ms-transition: opacity 1.2s, transform .7s;*/
    /*transition: opacity 1.2s, transform .7s;*/
}

.relative {
    position: relative;
}

.burette {
    margin-left: -.25em;
    margin-right: -.25em;
}

.cols-radius-large .col a {
    border-radius: 2rem;
    overflow: hidden;
}

.cols-circle-clip .col figure {
    border-radius: 50%;
    overflow: hidden;
}

.text-primary {
    color: #db4237;
}

.nowrap {
    white-space: nowrap;
}

.m0, .m-0 {
    margin: 0;
}

.mx-0 {
    margin-left: 0;
    margin-right: 0;
}

.my-0 {
    margin-top: 0;
    margin-bottom: 0;
}

.mt0, .mt-0 {
    margin-top: 0;
}

.mb-0 {
    margin-bottom: 0;
}
.mb-0-imp {
    margin-bottom: 0 !important;
}

.mt-05em {
    margin-top: .5em;
}

.mb-05em {
    margin-bottom: .5em;
}

.ml-05em {
    margin-left: .5em;
}

.mr-05em {
    margin-right: .5em;
}

.my-1em {
    margin-top: 1em;
    margin-bottom: 1em;
}

.my-1rem {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.mt-1em {
    margin-top: 1em;
}

.mb-1em {
    margin-bottom: 1em;
}

.ml-1em {
    margin-left: 1em;
}

.mr-1em {
    margin-right: 1em;
}

.mb-2em {
    margin-bottom: 2em;
}

.my-2em {
    margin-top: 2em;
    margin-bottom: 2em;
}

.my-2rem {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.mt-2em {
    margin-top: 2em;
}

.ml-2em {
    margin-left: 2em;
}

.mr-2em {
    margin-right: 2em;
}

.mb-3em {
    margin-bottom: 3em;
}

.mt-3em {
    margin-top: 3em;
}

.mb-4em {
    margin-bottom: 4em;
}

.mt-4em {
    margin-top: 4em;
}

.mb-05rem {
    margin-bottom: .5rem;
}

.mb-1rem {
    margin-bottom: 1rem;
}

.mt-1rem {
    margin-top: 1rem;
}

.mb-2rem {
    margin-bottom: 2rem;
}

.mt-2rem {
    margin-top: 2rem;
}

.px-0 {
    padding: 0;
}

.pt-0 {
    padding-top: 0;
}

.pl-0 {
    padding-left: 0;
}

.pr-0 {
    padding-right: 0;
}

.pb-0 {
    padding-bottom: 0;
}

.pt-05em {
    padding-top: .5em;
}

.pb-05em {
    padding-bottom: .5em;
}

.pl-05em {
    padding-left: .5em;
}

.pr-05em {
    padding-right: .5em;
}

.pt-05rem {
    padding-top: .5rem;
}

.pb-05rem {
    padding-bottom: .5rem;
}

.pl-05rem {
    padding-left: .5rem;
}

.pr-05rem {
    padding-right: .5rem;
}

.px-1rem {
    padding-left: 1rem;
    padding-right: 1rem;
}

.px-1em {
    padding-left: 1em;
    padding-right: 1em;
}

.py-1rem {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.py-1em {
    padding-top: 1em;
    padding-bottom: 1em;
}

.pt-1em {
    padding-top: 1em;
}

.pb-1em {
    padding-bottom: 1em;
}

.pt-1rem {
    padding-top: 1rem;
}

.pb-1rem {
    padding-bottom: 1rem;
}

.pl-1em {
    padding-left: 1em;
}

.pr-1em {
    padding-right: 1em;
}

.pl-1rem {
    padding-left: 1rem;
}

.pr-1rem {
    padding-right: 1rem;
}

.px-2rem {
    padding-left: 2rem;
    padding-right: 2rem;
}

.px-2em {
    padding-left: 2em;
    padding-right: 2em;
}

.py-2rem {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.py-2em {
    padding-top: 2em;
    padding-bottom: 2em;
}

.pt-2em {
    padding-top: 2em;
}

.pb-2em {
    padding-bottom: 2em;
}

.pt-2rem {
    padding-top: 2rem;
}

.pb-2rem {
    padding-bottom: 2rem;
}

.pl-2em {
    padding-left: 2em;
}

.pr-2em {
    padding-right: 2em;
}

.small {
    font-size: .9em;
}

.x-small {
    font-size: .8em;
}

.large {
    font-size: 1.1875em;
}

.x-large {
    font-size: 1.375em;
}

.xx-large {
    font-size: 1.625em;
}

.fz-14 {
    font-size: 1.4rem;
}

.fz-38 {
    font-size: 3.8rem;
}

.fz-2em {
    font-size: 2em;
}

.fz-1em {
    font-size: 1em;
}

.bold {
    font-weight: 500;
    font-style: normal;
}
.x-bold {
    font-weight: 700;
    font-style: normal;
}

.normal {
    font-weight: 300;
    font-style: normal;
}

.phase2 {
    display: none !important;
}

.fade {
    opacity: 0;
    /*transition: opacity 1s;*/
}

.fade-in {
    opacity: 1;
}

.content .border-none {
    border: none;
}

.bg-pink {
    background-color: #f4bdd7;
}

.bg-light-pink {
    background-color: #f9d7e8;
}
.bg-light-green {
    background-color: #ccd8ab;
}

.bg-light-gray {
    background-color: #ededed;
}
.bg-white {
    background-color: #FFF;
}
.color-key {
    color: #349953;
}

.red {
    color: #e7493d;
}

.orange {
    color: #FF6A00;
}

.underline {
    text-decoration: underline;
}

.no-border {
    border: none;
}

.box-border {
    border: #f2f2f2 solid 2px;
    border-radius: 6px;
    margin-top: 2em;
    margin-bottom: 2em;
    padding-top: .6em;
    padding-bottom: .6em;
}

.border-top {
    border-top: #F8F4EC solid 2px;
}

.border-bottom {
    border-bottom: #F8F4EC solid 2px;
}

.border-top-bottom {
    border-top: #F8F4EC solid 2px;
    border-bottom: #F8F4EC solid 2px;
}

.hr-text {
    margin-top: 1em;
    margin-left: 1em;
    margin-right: 1em;
    border-top: #b2b2b2 solid 1px;
}

.hr-text > span {
    display: inline-block;
    background-color: #fff;
    transform: translateY(-50%);
    padding-left: 1.5em;
    padding-right: 1.5em;
}

@media screen and (max-width: 991px) {
    /* for < 992 */
    .only-lg,
    [class*="flex"].only-lg,
    [class^="btn-"].only-lg,
    [class*="tag-"].only-lg,
    .arw-link.only-lg {
        display: none;
    }
    html.fixed,
    .fixed body {
        overflow: hidden;
        max-height: 100%;
    }
    .border-sm {
        border: #909090 solid 1px;
    }
    .no-border-sm {
        border: none;
    }
    .not-page-end-nav .page-end-nav {
        display: none !important;
    }
    .gallery.thumb-row1 {
        margin-bottom: 28vw;
    }
    .gallery.thumb-row2 {
        margin-bottom: 47vw;
    }
}

@media screen and (max-width: 991px) and (min-width: 568px) {
    /* for 568 < */
    .gallery.thumb-row1 {
        margin-bottom: 145px;
    }
    .gallery.thumb-row2 {
        margin-bottom: 240px;
    }
}

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

    .mt-0-sm {
        margin-top: 0;
    }
    .mt-05em-sm {
        margin-top: .5em;
    }
    .mb-05em-sm {
        margin-bottom: .5em;
    }
    .mt-05rem-sm {
        margin-top: .5rem;
    }
    .mb-05rem-sm {
        margin-bottom: .5rem;
    }
    .my-1rem-sm {
        margin-top: 1rem;
    margin-bottom: 1rem;
    }
    .mt-1rem-sm {
        margin-top: 1rem;
    }
    .mb-1rem-sm {
        margin-bottom: 1rem;
    }
    .my-1em-sm {
        margin-top: 1em;
        margin-bottom: 1em;
    }
    .mt-1em-sm {
        margin-top: 1em;
    }
    .mb-1em-sm {
        margin-bottom: 1em;
    }
    .ml-1em-sm {
        margin-left: 1em;
    }
    .mr-1em-sm {
        margin-right: 1em;
    }
    .mt-2em-sm {
        margin-top: 2em;
    }
    .mb-2em-sm {
        margin-bottom: 2em;
    }
    .ml-2em-sm {
        margin-left: 2em;
    }
    .mr-2em-sm {
        margin-right: 2em;
    }

    .p-0-sm {
        padding: 0;
    }
    .px-0-sm {
        padding-left: 0;
        padding-right: 0;
    }
    .py-0-sm {
        padding-top: 0;
        padding-bottom: 0;
    }
    .pt-0-sm {
        padding-top: 0;
    }
    .pb-0-sm {
        padding-bottom: 0;
    }
    .pl-0-sm {
        padding-left: 0;
    }
    .pr-0-sm {
        padding-right: 0;
    }
    .pt-05rem-sm {
        padding-top: .5rem;
    }
    .pb-05rem-sm {
        padding-bottom: .5rem;
    }
    .py-1rem-sm {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
    .pt-1rem-sm {
        padding-top: 1rem;
    }
    .pb-1rem-sm {
        padding-bottom: 1rem;
    }
    .py-1em-sm {
        padding-top: 1em;
        padding-bottom: 1em;
    }
    .pt-1em-sm {
        padding-top: 1em;
    }
    .pb-1em-sm {
        padding-bottom: 1em;
    }

    .fz-14-sm {
        font-size: 1.4rem;
    }
    .large-sm {
        font-size: 1.1875em;
    }
    .x-large-sm {
        font-size: 1.375em;
    }
    .xx-large-sm {
        font-size: 1.625em !important;
    }
    .x-small-sm {
        font-size: .8em;
    }
}

@media print, (min-width: 768px) {
    /* for 768 < */
    .estimate .only-sm,
    .estimate [class*="flex"].only-sm {
        display: none;
    }
}

@media print, (min-width: 992px) {
    /* for 992 < */
    .only-sm,
    [class*="flex"].only-sm,
    [class^="btn-"].only-sm {
        display: none;
    }
    .fz-19, .col .fz-19 {
        font-size: 1.9rem;
    }
    .text-center-lg {
        text-align: center;
    }

    .float-left-lg {
        float: left;
    }
    .float-right-lg {
        float: right;
    }

    .left-auto-lg {
        margin-left: auto;
    }
    .right-auto-lg {
        margin-right: auto;
    }

    .mt-0-lg {
        margin-top: 0;
    }
    .mb-0-lg {
        margin-bottom: 0;
    }
    .my-05em-lg {
        margin-top: .5em;
        margin-bottom: .5em;
    }
    .mt-05em-lg {
        margin-top: .5em;
    }
    .mb-05em-lg {
        margin-bottom: .5em;
    }
    .mt-1rem-lg {
        margin-top: 1rem;
    }
    .mb-1rem-lg {
        margin-bottom: 1rem;
    }
    .mb-1em-lg {
        margin-bottom: 1em;
    }
    .mt-1em-lg {
        margin-top: 1em;
    }
    .mb-2em-lg {
        margin-bottom: 2em;
    }
    .mt-2em-lg {
        margin-top: 2em;
    }
    .ml-1em-lg {
        margin-left: 1em;
    }
    .mt-2rem-lg {
        margin-top: 2rem;
    }
    .mb-2rem-lg {
        margin-bottom: 2rem;
    }
    .mt-3em-lg {
        margin-top: 3em;
    }
    .mb-3em-lg {
        margin-bottom: 3em;
    }
    .mb-4em-lg {
        margin-bottom: 4em;
    }
    .mb-5em-lg {
        margin-bottom: 5em;
    }
    .mb-6em-lg {
        margin-bottom: 6em;
    }
    .pr-15rem-lg {
        padding-right: 1.5rem;
    }
    .pb-2em-lg {
        padding-bottom: 2em;
    }

    .border-lg {
        border: #909090 solid 1px;
    }
    .no-border-lg {
        border: none;
    }
    .fz-14-lg {
        font-size: 1.4rem;
    }
    .large-lg {
        font-size: 1.1875em;
    }
    .x-large-lg {
        font-size: 1.375em;
    }
    .xx-large-lg {
        font-size: 1.625em !important;
    }
    .x-small-lg {
        font-size: .8em;
    }
}

/* END for 992 < */
.dark {
    background-color: #1B252C;
    color: #fff;
}

.dark a {
    color: #349953;
}

/*!
 * Author and Copyright
 * Author    :  prosysta Inc, (http://prosysta.co.jp/)
 * Created   :  2019.07
 * Modified  :  *******
 */
/* print
---------------------------------------------------- */
/*

主な印刷用紙のピクセル値（横/縦）
（参考）https://www.plusdesign.co.jp/blog/?p=6880
A4:　595px / 847px

@media print, (min-width:992px) {}
と、コンマ区切りでprintを加えるか、
@media screen and (max-width:767px) {}
screen限定にして対応する。

*/
@media screen {
    /* for screen */
    .print-only {
        height: 0px;
        margin: 0;
        padding: 0;
        position: absolute;
        visibility: hidden;
    }
}

@media print {
    /* for print */
    .not-print {
        display: none !important;
    }
    html {
        overflow: visible !important;
        zoom: .85 !important;
    }
    body {
        min-width: 1200px !important;
        padding-top: 0px !important;
        padding-bottom: 0px !important;
    }
    .content {
        min-width: 992px !important;
    }
    main {
        font-family: "Open Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        padding-top: 0 !important;
    }
    .print-estimate main .container {
        max-width: 992px !important;
        min-width: 992px;
    }
    .site-header {
        position: static;
    }
    .print-estimate .global-nav,
    .print-estimate .important-notice,
    .print-estimate .breadcrumbs,
    .print-estimate .site-footer,
    .print-estimate .to-pagetop,
    .wrapper > .page-end-nav,
    .print-estimate .estimate .switch {
        display: none !important;
    }
    .print-estimate .site-header {
        position: static;
        border-bottom: none;
        margin-top: 2em;
    }
    .print-estimate .site-header .sub-nav {
        display: none !important;
    }
    .print-estimate .contents {
        padding-top: 0;
        margin-top: 0;
        line-height: 1.3;
    }
    .print-estimate .breadcrumbs {
        background: transparent;
    }
    .print-estimate .breadcrumbs > .container > span:first-of-type > .link::before {
        content: attr(title);
    }
    .print-estimate .content {
        padding-bottom: 0;
    }
    .print-estimate .content ~ .content {
        margin-top: 4rem;
    }
    .print-estimate .inner-title {
        border-bottom: #ccc solid 3px;
        font-size: 2rem;
        padding-top: 0;
        padding-bottom: .6em;
    }
    .print-estimate .table > tbody > tr + tr {
        border-top: #ccc solid 1px;
    }
    　　
    .print-only.inline {
        display: inline-block;
    }
    .print-only.block {
        display: block;
    }
    .print-txt-c {
        text-align: center;
    }
    .print-none {
        display: none;
    }
    .print-mt-0 {
        margin-top: 0;
    }
    .print-mt-1em {
        margin-top: 1em;
    }
    .print-mt--1em {
        margin-top: -1em;
    }
    .print-mt-2em {
        margin-top: 2em;
    }
    .print-mt-6em {
        margin-top: 6em;
    }
    .print-px-0 {
        padding: 0;
    }
    .print-pl-0 {
        padding: 0;
    }
    /* estimate */
    html.print-estimate {
        font-size: 11px;
    }
    .print-estimate .site-header .logo {
        margin: 0;
        zoom: 1.414;
    }
    .estimate .flex.print-ctrl,
    .estimate .flex-.print-ctrl {
        display: block;
    }
    .estimate .h2.print-ctrl {
        border-bottom: none;
        font-size: 1.6rem;
        font-weight: 400;
        padding: 0;
    }
    .estimate .table.print-ctrl > .row > .th,
    .estimate .table.print-ctrl > .row > .td {
        width: auto;
        font-size: 1.6rem;
        padding: 0;
        font-weight: 400;
        display: inline-block;
        vertical-align: baseline;
    }
    .estimate .table.print-ctrl > .row > .th::after {
        content: "：";
    }
    .estimate .form-control.print-ctrl {
        color: #3a3a3a;
        padding: 0;
        border: none;
        width: auto;
    }
    .print-estimate .col-6.print-ctrl {
        width: 100%;
    }
    .print-estimate .form .row > .title.print-ctrl {
        background-color: transparent;
        padding: .5em 0;
        display: flex;
        align-items: center;
        font-weight: 500;
        border-bottom: #ccc solid 3px;
        font-size: 2rem;
        padding-top: 0;
        padding-bottom: .6em;
    }
    .print-estimate select.form-control.print-ctrl {
        border: none;
        font-weight: 500;
        margin-left: 2rem;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    .print-estimate .form .table .th,
    .print-estimate .form .table .td {
        line-height: 1.3;
        padding-top: 1.1rem;
        padding-bottom: 1rem;
    }
}

/* END for print */

/* add */

.g-recaptcha {
    margin-right:auto;
    margin-left:auto;
    text-align: center;
    width:300px;
    margin-top:20px;
  }

  .font_white{
    color: white;
  }

  .font_yellow{
    color: yellow;
  }

  .single-line-ellipsis {
width: 100%; /* 親要素の幅いっぱいに広げる */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1; /* 1行だけで三点リーダー（…）にする指定 */
  overflow: hidden;
  padding:0 1rem;
}