/* Minification failed. Returning unminified contents.
(337,1): run-time error CSS1019: Unexpected token, found '@import'
(337,9): run-time error CSS1019: Unexpected token, found 'url("https://fonts.googleapis.com/css?family=Roboto:700&display=swap")'
(1690,1): run-time error CSS1019: Unexpected token, found '@import'
(1690,9): run-time error CSS1019: Unexpected token, found 'url("https://fonts.googleapis.com/css?family=Roboto:700&display=swap")'
(1691,1): run-time error CSS1019: Unexpected token, found '@import'
(1691,9): run-time error CSS1019: Unexpected token, found 'url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:600&display=swap")'
(1699,1): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(1700,10): run-time error CSS1035: Expected colon, found '{'
(1713,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(1714,10): run-time error CSS1035: Expected colon, found '{'
 */
/*!
 * ress.css • v1.1.1
 * MIT License
 * github.com/filipelinhares/ress
 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
  box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

*,
::before,
::after {
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

/* Remove margin, padding of all elements and set background-no-repeat as default */
* {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements */
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */

/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */

input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"]
[role="button"] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type="number"] {
  width: auto; /* Firefox 36+ */
}

[type="search"] {
  -webkit-appearance: textfield; /* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; /* Safari 8 */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"], /* Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

[type="search"] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Acessibility
   # ================================================================= */

/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */

/* Specify text selection background color and omit drop shadow */

::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

@import url("https://fonts.googleapis.com/css?family=Roboto:700&display=swap");

.clearfix:after {
    content: "";
    clear: both;
    display: block
}

html {
    font-size: 62.5%;
    line-height: 1;
    color: #222;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility
}

body {
    font-family: -apple-system, BlinkMacSystemFont, YakuHanJP, "Helvetica Neue",YuGothic, " ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial," メイリオ", Meiryo, sans-serif;
    font-size: 1.5rem;
    overflow: hidden
}

.ime-act {
    ime-mode: active;
}

.ime-ina {
    ime-mode: inactive;
}

.ime-dis {
    ime-mode: disabled;
}


* a {
    color: inherit;
    text-decoration: none
}

header {
    position: fixed;
    z-index: 1001;
    width: 100%;
    color: #fff;
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
    padding: 28px 36px
}

    header #ttl_site {
        width: 350px;
        height: 33px;
        -webkit-transition: all .4s ease;
        transition: all .4s ease;
        text-indent: -9999px
    }

        header #ttl_site a {
            display: block;
            width: 100%;
            height: 100%;
            background-image: url(../images/common/ttl_site_white.svg);
            background-size: contain
        }

    header #box_header {
        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;
        max-width: 1266px;
        min-width: 100%;
        margin: 0 auto
    }

    header #nav_global {
        width: 660px;
        font-family: YakuHanJP, 'Noto Sans Medium', sans-serif
    }

        header #nav_global ul {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
            -ms-flex-pack: justify;
            justify-content: space-between;
            width: 100%;
            list-style: none;
            margin: 0 0 6px
        }

        header #nav_global a {
            position: relative;
            display: block;
            width: 100%
        }

            header #nav_global a:after {
                position: absolute;
                content: "";
                left: -100%;
                bottom: -4px;
                display: block;
                width: 100%;
                height: 1px;
                -webkit-transition: all .2s ease;
                transition: all .2s ease;
                background-color: #fff;
                opacity: 0
            }

            header #nav_global a:hover:after {
                left: 0;
                opacity: 1
            }

        header #nav_global dt {
            display: none
        }

    header.is_scroll {
        color: inherit;
        background-color: #fff;
        -webkit-box-shadow: 0px 1px 1px 0px rgba(50,50,50,0.1);
        box-shadow: 0px 1px 1px 0px rgba(50,50,50,0.1);
        padding: 20px 50px 18px
    }

        header.is_scroll #ttl_site {
            width: 210px;
            height: 44px;
            background-image: url(../images/common/ttl_site.png);
            background-size: contain;
        }

        header.is_scroll #nav_global ul {
            margin: 0 0 3px
        }

        header.is_scroll #nav_global a:hover:after {
            background-color: #222
        }

#box_contact {
    width: 100%;
    color: #fff;
    text-align: center;
    background-image: url(../images/common/back_footer.jpg);
    background-position: center center;
    background-size: cover;
    background-color: #475764;
    padding: 50px 0
}

    #box_contact h2 {
        font-family: YakuHanJP, 'Noto Sans Bold', sans-serif;
        font-size: 2.1rem;
        text-shadow: 0px 0px 2px #111;
        margin: 0 0 40px
    }

    #box_contact dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: auto;
        font-family: 'Roboto', sans-serif;
        font-size: 2.3rem;
        text-shadow: 0px 0px 2px #111;
        margin: 0 50px 0 0
    }

        #box_contact dl dd {
            font-size: 3.5rem;
            margin: 0 0 0 10px
        }

    #box_contact #btn_contact {
        width: 270px;
        font-family: YakuHanJP, 'Noto Sans Medium', sans-serif;
        border: 2px solid #fff
    }

        #box_contact #btn_contact a {
            position: relative;
            z-index: 2;
            display: block;
            width: 100%;
            text-align: center;
            overflow: hidden;
            padding: 15px 0
        }

            #box_contact #btn_contact a:after {
                position: absolute;
                z-index: 1;
                bottom: -100%;
                content: "";
                display: block;
                width: 100%;
                height: 100%;
                -webkit-transition: all .2s ease;
                transition: all .2s ease;
                background-color: #fff
            }

            #box_contact #btn_contact a:hover {
                color: #222
            }

                #box_contact #btn_contact a:hover:after {
                    bottom: 0
                }

        #box_contact #btn_contact span {
            position: relative;
            z-index: 2
        }

    #box_contact .box_cmn_width {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        border-top: 1px solid #fff;
        border-bottom: 1px solid #fff;
        padding: 15px 0
    }

footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 1266px;
    min-width: 1080px;
    padding: 36px 18px 55px;
    margin: 0 auto
}

    footer #nav_footer {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }

        footer #nav_footer ul {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            list-style: none
        }

        footer #nav_footer li {
            margin: 0 0 0 30px
        }

            footer #nav_footer li:before {
                font-family: FontAwesome;
                content: "\f105";
                margin: 0 8px 0 0
            }

        footer #nav_footer a:hover {
            color: #0075c1;
            text-decoration: underline
        }

    footer #box_footer {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        line-height: 1.5
    }

        footer #box_footer #ttl_site_footer {
            width: 283px;
            height: 59px;
            text-indent: -9999px;
            margin: 0 0 12px
        }

            footer #box_footer #ttl_site_footer a {
                display: block;
                width: 100%;
                height: 100%;
                background-size: cover;
                background-image: url(../images/common/ttl_site.png)
            }

    footer #txt_copyright {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        width: 100%;
        color: #555;
        font-size: 1.1rem;
        text-align: right;
        margin: -1em 0 0
    }

.box_cmn_width {
    width: 1080px;
    margin: 0 auto
}

.link_anchor {
    position: absolute;
    width: auto;
    margin: -100px 0 100px
}

@media screen and (max-width: 1100px) {
    header {
        position: fixed;
        z-index: 1001;
        max-width: 100%;
        min-width: 100%;
        height: 60px;
        color: #fff;
        -webkit-transition: all .4s ease;
        transition: all .4s ease;
        padding: 0
    }

        header #ttl_site {
            width: calc(350px / 1.5);
            height: calc(33px / 1.5);
            -webkit-transition: all .4s ease;
            transition: all .4s ease;
            text-indent: -9999px;
            margin: 12px 8px 12px 20px;
        }

            header #ttl_site a {
                display: block;
                width: 100%;
                height: 100%;
                background-image: url(../images/common/ttl_site_white.svg);
                background-size: contain
            }

        header #box_header {
            display: block;
            width: 100%
        }

        header #nav_global {
            width: 100%
        }

            header #nav_global ul {
                display: block;
                width: 100%;
                font-size: 1.8rem;
                margin: 0
            }

            header #nav_global li {
                border-bottom: 1px solid #ccc
            }

            header #nav_global a {
                display: block;
                width: 100%;
                color: #0e283c;
                padding: 18px 20px
            }

                header #nav_global a:after {
                    content: none
                }

                header #nav_global a:hover {
                    border-bottom: none
                }

            header #nav_global dt {
                position: fixed;
                z-index: 1001;
                top: 22px;
                right: 20px;
                display: block;
                width: calc(22px * 1);
                height: calc(18px * 1);
                text-indent: -9999px;
                background-image: url(../images/common/btn_navcon_white.svg)
            }

                header #nav_global dt.state_open {
                    opacity: .4
                }

            header #nav_global dd {
                position: fixed;
                z-index: 1000;
                top: 60px;
                display: none;
                width: 100%;
                height: 100vh;
                background-color: rgba(255,255,255,0.9)
            }

        header.is_scroll {
            color: inherit;
            background-color: #fff;
            padding: 0
        }

            header.is_scroll #ttl_site {
                width: 180px;
                height: 38px;
            }

                header.is_scroll #ttl_site a {
                    background-image: url(../images/common/ttl_site.png)
                }

            header.is_scroll #nav_global ul {
                margin: 0
            }

            header.is_scroll #nav_global a:hover {
                border-bottom: none
            }

            header.is_scroll #nav_global dt {
                background-image: url(../images/common/btn_navcon.svg)
            }
}

@media screen and (max-width: 768px) {
    img {
        max-width: 100%;
        height: auto
    }

    #box_contact {
        background-image: url(../images/common/back_footer_sp.png);
        padding: 40px 0
    }

        #box_contact h2 {
            font-size: 2rem;
            margin: 0 0 30px
        }

        #box_contact dl {
            -webkit-box-pack: justify;
            -ms-flex-pack: justify;
            justify-content: space-between;
            font-size: 7vw;
            margin: 0 0 18px
        }

            #box_contact dl dd {
                font-size: 8.4vw;
                margin: 0
            }

        #box_contact #btn_contact {
            width: 100%;
            font-family: YakuHanJP, 'Noto Sans Medium', sans-serif;
            border: 2px solid #fff
        }

            #box_contact #btn_contact a {
                position: relative;
                display: block;
                width: 100%;
                padding: 12px 0
            }

                #box_contact #btn_contact a:after {
                    content: none
                }

                #box_contact #btn_contact a:before {
                    position: absolute;
                    right: 15px;
                    font-family: FontAwesome;
                    content: "\f105"
                }

        #box_contact .box_cmn_width {
            display: block;
            width: 88%;
            padding: 22px 30px
        }

    footer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        max-width: 100%;
        min-width: 100%;
        font-size: 1.3rem;
        padding: 36px 0;
        margin: 0 auto
    }

        footer #nav_footer {
            width: 100%;
            -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
            order: 2;
            margin: 0 0 15px
        }

            footer #nav_footer ul {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: center;
                -ms-flex-pack: center;
                justify-content: center;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                list-style: none
            }

            footer #nav_footer li {
                margin: 0 1em 1em
            }

                footer #nav_footer li:before {
                    content: none
                }

        footer #box_footer {
            -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
            order: 1;
            width: 100%;
            line-height: 1.5;
            text-align: center;
            border-bottom: 1px solid #ccc;
            padding: 0 0 30px;
            margin: 0 0 30px
        }

            footer #box_footer #ttl_site_footer {
                width: 206px;
                height: 43px;
                margin: 0 auto 12px
            }
                footer #box_footer #ttl_site_footer a {
                    background-size: contain;
                }

        footer #txt_copyright {
            -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
            order: 3;
            text-align: center;
            margin: 0
        }

    .box_cmn_width {
        width: 90%;
        margin: 0 auto
    }
}

.vi {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    margin: -1px
}

#mihon {
    position: absolute;
    top: -35px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    line-height: 1;
    width: 1366px;
    margin: auto;
    display: block
}

    #mihon img {
        width: 100%;
        height: auto;
        opacity: .5
    }

form input[type=text], form input[type=number], form input[type=tel], form input[type=email], form textarea {
    border: 1px solid #ddd;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    font-size: 1.8rem;
    /*background-color: #fff;*/
    padding: 6px 12px
}

    form input[type=text]:focus, form input[type=number]:focus, form input[type=tel]:focus, form input[type=email]:focus, form textarea:focus {
        background-color: #fffbd9
    }

form textarea {
    width: 100%;
    height: 10em
}

form input[type="number"]::-webkit-outer-spin-button, form input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

#list_submit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: auto;
    list-style: none;
    margin: 50px 0 0
}

    #list_submit li {
        margin: 0 10px
    }

.table_form {
    width: 100%;
    margin: 0 0 50px
}

    .table_form th, .table_form td {
        text-align: left;
        padding: 20px
    }

    .table_form th {
        width: 30%;
        vertical-align: middle;
        background-color: #eaf3fb
    }

    .table_form td {
        width: auto
    }

    .table_form tr {
        border-top: 1px dotted #ddd
    }

        .table_form tr:last-child {
            border-bottom: 1px solid #ddd
        }

    .table_form .item_required:after {
        float: right;
        display: inline-block;
        content: "必須";
        width: auto;
        color: #fff;
        background-color: #2365a3;
        padding: 0 20px
    }

    .table_form .v_align_top {
        vertical-align: top
    }

    .table_form span {
        margin: 0 0 0 1em
    }

table {
    border-collapse: collapse;
    border-spacing: 0
}

h1, h2, h3, h4, h5, h6 {
    font-size: 1em;
    font-style: normal;
    font-weight: normal
}

p {
    margin: 0;
    padding: 0
}

hr {
    border: none;
    border-bottom: 1px solid #ccc;
    height: 0
}

address {
    font-style: normal
}

#page_nation {
    width: 100%;
    text-align: center;
    font-size: 1.8rem;
    margin: 40px 0 0
}

    #page_nation .wp-pagenavi {
        display: inline-block;
        width: auto;
        height: auto;
        text-align: center;
        color: #522d27;
        font-weight: normal;
        line-height: 1
    }

        #page_nation .wp-pagenavi .extend, #page_nation .wp-pagenavi a, #page_nation .wp-pagenavi .pages, #page_nation .wp-pagenavi span {
            display: inline-block;
            width: auto;
            color: #111;
            background-color: #fff;
            border: 1px solid #ddd;
            padding: 10px 12px;
            margin: 0 3px
        }

        #page_nation .wp-pagenavi a {
            color: #0075c1;
            text-decoration: none
        }

            #page_nation .wp-pagenavi a:hover {
                opacity: 1;
                background-color: #0075c1;
                color: #fff
            }

            #page_nation .wp-pagenavi a:visited {
                color: #111
            }

        #page_nation .wp-pagenavi .first {
            display: none
        }

        #page_nation .wp-pagenavi .pages {
            color: #646464;
            background-color: transparent
        }

        #page_nation .wp-pagenavi .current {
            font-weight: bold;
            background-color: #0075c1;
            color: #fff
        }

#under {
    font-weight: bold;
    text-align: center;
    line-height: 1;
    padding: 10em 0;
    margin: 0
}

    #under:before {
        display: block;
        font-size: 3rem;
        color: #f39c12;
        content: "\f071";
        font-weight: normal;
        font-family: FontAwesome;
        padding: 0 0 .3em
    }

.vi {
    height: 0px;
    overflow: hidden;
    position: absolute;
    text-indent: -9999px;
    margin: 0px;
    padding: 0px
}

iframe {
    border: none
}

.flex_box_2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.float_left {
    float: left;
    margin-right: 20px
}

.float_right {
    float: right;
    margin-left: 20px
}

.clear {
    clear: both
}

.ttl_cmn_02 {
    font-family: YakuHanJP, 'Noto Sans Bold', sans-serif;
    font-size: 2.4rem;
    border-left: 3px solid #0075c1;
    line-height: 1.3;
    padding: 0 0 0 10px
}

.ttl_cmn_03 {
    font-family: YakuHanJP, 'Noto Sans Bold', sans-serif;
    font-size: 1.9rem;
    line-height: 1.3;
    background-image: url(../images/common/back_border.png);
    background-position: 0 100%;
    padding: 0 0 14px
}

.ttl_cmn_04 {
    font-family: YakuHanJP, 'Noto Sans Bold', sans-serif;
    font-size: 3.4rem;
    line-height: 1
}

.ttl_cmn_05 {
    font-family: 'Noto Sans Regular', sans-serif;
    font-size: 3.8rem;
    line-height: 1
}

#box_article .btn_cmn_01 {
    position: relative;
    font-family: YakuHanJP, 'Noto Sans Bold', sans-serif;
    text-decoration: none;
    line-height: 1;
    color: #2365a3;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    border: 2px solid #2365a3;
    padding: 12px 65px
}

    #box_article .btn_cmn_01:after {
        position: absolute;
        top: calc(50% - .5em);
        right: 10px;
        font-family: FontAwesome;
        font-size: 2rem;
        content: "\f105"
    }

    #box_article .btn_cmn_01:hover {
        color: #fff;
        background-color: #2365a3
    }

#box_article .btn_cmn_02 {
    position: relative;
    display: inline-block;
    width: auto;
    color: #fff;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    font-family: YakuHanJP, 'Noto Sans Medium', sans-serif;
    text-decoration: none;
    background-color: #2365a3;
    padding: 4px 55px
}

    #box_article .btn_cmn_02:after {
        position: absolute;
        top: calc(50% - .82em);
        right: 10px;
        font-family: FontAwesome;
        font-size: 2rem;
        content: "\f105";
        -webkit-transition: all .1s ease;
        transition: all .1s ease
    }

    #box_article .btn_cmn_02:hover {
        color: #fff
    }

        #box_article .btn_cmn_02:hover:after {
            right: 8px
        }

.submit_cmn_01, .submit_cmn_02, .submit_clear {
    font-family: YakuHanJP, 'Noto Sans Bold', sans-serif;
    line-height: 1;
    color: #2365a3;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    background-color: #fff;
    background-image: url(../images/common/icon_arrow.svg);
    background-position: 94% center;
    border: 2px solid #2365a3;
    padding: 12px 65px
}
.black {
    color: #333;
    border: 2px solid #333;
}
.btn-medium {
    padding: 12px 50px;
}

    .submit_cmn_01:hover, .submit_cmn_02:hover, .submit_clear:hover {
        color: #fff;
        background-color: #2365a3;
        background-image: url(../images/common/icon_arrow_white.svg);
        cursor: pointer
    }
    .submit_clear.black:hover {
        background-color: #333;
    }

.submit_cmn_02 {
    background-position: 6% center;
    background-image: url(../images/common/icon_arrow_left.svg)
}

    .submit_cmn_02:hover {
        background-image: url(../images/common/icon_arrow_left_white.svg)
    }

.table_cmn_01 {
    width: 100%
}

    .table_cmn_01 th, .table_cmn_01 td {
        vertical-align: top;
        text-align: left
    }

.table_cmn_02 {
    width: 100%;
    border-top: 1px solid #d4d4d4
}

    .table_cmn_02 th, .table_cmn_02 td {
        vertical-align: top;
        text-align: left;
        border-bottom: 1px solid #d4d4d4;
        padding: 20px 15px
    }

.list_cmn_01 {
    padding-left: 20px
}

.list_cmn_02 {
    list-style: none
}

.list_cmn_03 {
    list-style: none
}

    .list_cmn_03 li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: 5px 0
    }

.list_caution {
    list-style: none;
    text-indent: -1em;
    padding: 0 0 0 1em;
    margin-left: 0 !important
}

    .list_caution li:before {
        content: "※";
        font-family: sans-serif
    }

body .align_left {
    text-align: left
}

body .align_right {
    text-align: right
}

body .align_center {
    text-align: center
}

body .font_small {
    font-size: .9em
}

body .icon_arrow:before {
    font-family: FontAwesome;
    content: "\f0da";
    color: #0075c1;
    margin: 0 4px 0 0
}

#box_article .mar00, #box_article_2 .mar00 {
    margin-bottom: 0px
}

#box_article .mar05, #box_article_2 .mar05 {
    margin-bottom: 5px
}

#box_article .mar10, #box_article_2 .mar10 {
    margin-bottom: 10px
}

#box_article .mar15, #box_article_2 .mar15 {
    margin-bottom: 15px
}

#box_article .mar20, #box_article_2 .mar20 {
    margin-bottom: 20px
}

#box_article .mar25, #box_article_2 .mar25 {
    margin-bottom: 25px
}

#box_article .mar30, #box_article_2 .mar30 {
    margin-bottom: 30px
}

#box_article .mar40, #box_article_2 .mar40 {
    margin-bottom: 40px
}

#box_article .mar50, #box_article_2 .mar50 {
    margin-bottom: 50px
}

#box_article .mar60, #box_article_2 .mar60 {
    margin-bottom: 60px
}

#box_article .mar70, #box_article_2 .mar70 {
    margin-bottom: 70px
}

#box_article .mar80, #box_article_2 .mar80 {
    margin-bottom: 80px
}

#box_article .mar100, #box_article_2 .mar100 {
    margin-bottom: 100px
}

#box_article .width05, #box_article_2 .width05 {
    width: 5%
}

#box_article .width10, #box_article_2 .width10 {
    width: 10%
}

#box_article .width15, #box_article_2 .width15 {
    width: 15%
}

#box_article .width20, #box_article_2 .width20 {
    width: 20%
}

#box_article .width25, #box_article_2 .width25 {
    width: 25%
}

#box_article .width30, #box_article_2 .width30 {
    width: 30%
}

#box_article .width40, #box_article_2 .width40 {
    width: 40%
}

#box_article .width50, #box_article_2 .width50 {
    width: 50%
}

#box_article .width60, #box_article_2 .width60 {
    width: 60%
}

#box_article .width70, #box_article_2 .width70 {
    width: 70%
}

#box_article .width80, #box_article_2 .width80 {
    width: 80%
}

#box_article .width90, #box_article_2 .width90 {
    width: 90%
}

#box_article .width100, #box_article_2 .width100 {
    width: 100%
}

@media screen and (max-width: 768px) {
    hr.mar50 {
        margin: 30px 0 40px !important
    }

    #list_submit {
        display: block;
        width: auto;
        margin: -20px 0 0
    }

        #list_submit li {
            width: 100%;
            text-align: center;
            margin: 0 0 10px
        }

    #box_article .mar25, #box_article_2 .mar25 {
        margin-bottom: 20px
    }

    #box_article .mar20, #box_article_2 .mar20 {
        margin-bottom: 18px
    }

    #box_article .mar30, #box_article_2 .mar30 {
        margin-bottom: 20px
    }

    #box_article .mar40, #box_article_2 .mar40 {
        margin-bottom: 22px
    }

    #box_article .mar50, #box_article_2 .mar50 {
        margin-bottom: 25px
    }

    #box_article .mar70, #box_article_2 .mar70 {
        margin-bottom: 35px
    }

    #box_article .mar80, #box_article_2 .mar80 {
        margin-bottom: 38px
    }

    #box_article .width05, #box_article .width10, #box_article .width15, #box_article .width20, #box_article .width25, #box_article .width30, #box_article .width40, #box_article .width50, #box_article .width60, #box_article .width70, #box_article .width80, #box_article .width90, #box_article .width100, #box_article_2 .width05, #box_article_2 .width10, #box_article_2 .width15, #box_article_2 .width20, #box_article_2 .width25, #box_article_2 .width30, #box_article_2 .width40, #box_article_2 .width50, #box_article_2 .width60, #box_article_2 .width70, #box_article_2 .width80, #box_article_2 .width90, #box_article_2 .width100 {
        width: auto
    }

    .float_right, .float_left {
        float: none;
        text-align: center;
        margin: 0
    }

    #page_nation {
        margin: 1.5em 0
    }

        #page_nation .wp-pagenavi .pages, #page_nation .wp-pagenavi .last, #page_nation .wp-pagenavi .extend {
            display: none
        }

    .ttl_cmn_02 {
        font-size: 1.9rem
    }

    .ttl_cmn_03 {
        font-size: 1.8rem
    }

    .ttl_cmn_04 {
        width: 100%;
        text-align: center;
        font-size: 2.5rem
    }

    .ttl_cmn_05 {
        width: 100%;
        text-align: center;
        font-size: 2.3rem
    }

    .table_cmn_01 {
        display: block;
        width: 100%
    }

        .table_cmn_01 tr, .table_cmn_01 th, .table_cmn_01 td {
            display: block;
            width: 100%;
            padding: 0
        }

        .table_cmn_01 td {
            margin: 0 0 10px
        }

    .table_cmn_02 {
        width: 100%
    }

        .table_cmn_02 th, .table_cmn_02 td {
            padding: 5px 10px
        }

        .table_cmn_02 th {
            white-space: nowrap
        }

        .table_cmn_02.sp_scroll {
            display: block;
            overflow-x: scroll;
            white-space: nowrap;
            -webkit-overflow-scrolling: touch
        }

    .table_form {
        display: block;
        width: 100%;
        margin: 0
    }

        .table_form th, .table_form td {
            display: block;
            width: 100%;
            text-align: left;
            padding: 0
        }

        .table_form th {
            width: 100%;
            padding: 8px 15px
        }

        .table_form td {
            width: 100%;
            text-align: center;
            margin: 10px 0 25px
        }

        .table_form tr {
            display: block;
            border-top: none
        }

            .table_form tr:last-child {
                border-bottom: none
            }

        .table_form span {
            display: block;
            width: 100%;
            margin: 8px 0 0
        }

        .table_form input {
            width: 100% !important
        }

        .table_form .width_sp_1 {
            width: 25% !important
        }

        .table_form .width_sp_2 {
            width: 20% !important
        }

    .list_cmn_03 li {
        display: block;
        margin: 0 0 10px
    }

    .list_cmn_03 .btn_cmn_02 {
        margin: 5px 0 0
    }

    .list_caution {
        list-style: none;
        text-indent: -1em;
        padding: 0 0 0 1em;
        margin-left: 0 !important
    }

        .list_caution li:before {
            content: "※";
            font-family: sans-serif
        }
    /* 
    * utility クラス 
    */

    /* width */
    .width80per-sp {
    width: 80% !important;
    }
    /* margin */
    .mgn-0-auto-sp {
    margin: 0 auto !important;
    }
}

@import url("https://fonts.googleapis.com/css?family=Roboto:700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:600&display=swap");

.clearfix:after {
    content: "";
    clear: both;
    display: block
}

@-webkit-keyframes fadein {
    from {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform: translateY(20px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes fadein {
    from {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform: translateY(20px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

#ttl_page {
    width: 100%;
    color: #fff;
    text-align: center;
    background-color: #bbb;
    background-position: center bottom;
    line-height: 1;
    padding: 56px 0 0
}

    #ttl_page h1 {
        font-family: 'Roboto', sans-serif;
        font-size: 5.2rem;
        letter-spacing: .05em;
        -webkit-animation: fadein .5s ease 0s 1 normal;
        animation: fadein .5s ease 0s 1 normal;
        padding: 110px 0 108px
    }

        #ttl_page h1 span {
            display: block;
            width: 100%;
            font-family: YakuHanJP, 'Noto Sans Regular', sans-serif;
            font-size: 2.8rem;
            margin: 10px 0 0
        }

    #ttl_page.ttl_contact {
        background-image: url(../images/contact/ttl_back.jpg);
        background-size: cover;
        background-color: #1e2a3b;
        padding-top: 42px;
    }
main {
    background-color: #f0f0f0;
    padding: 0 0 70px
}

#box_article, #box_article_2 {
    width: 1080px;
    line-height: 1.7;
    background-color: #fff;
    -webkit-animation: fadein .8s ease 0s 1 normal;
    animation: fadein .8s ease 0s 1 normal;
    padding: 70px 70px calc(70px - 1.2em);
    margin: 68px auto 0
}

    #box_article p, #box_article ul, #box_article ol, #box_article figure, #box_article dk, #box_article table, #box_article_2 p, #box_article_2 ul, #box_article_2 ol, #box_article_2 figure, #box_article_2 dk, #box_article_2 table {
        margin-bottom: 1.2em
    }

    #box_article a, #box_article_2 a {
        color: #2365a3;
        text-decoration: underline
    }

        #box_article a:hover, #box_article_2 a:hover {
            color: #a32323
        }

        #box_article a[href^=tel], #box_article_2 a[href^=tel] {
            pointer-events: none;
            text-decoration: none;
            color: inherit
        }

#box_article_2 {
    background-color: transparent;
    padding: 0
}

    #box_article_2 p {
        line-height: 2.1
    }

.delighter {
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    opacity: 0
}

    .delighter.started {
        opacity: 1
    }

.box_work_1 .detail_work.delighter, .box_work_2 .detail_work.delighter {
    -webkit-transform: translateY(15%);
    transform: translateY(15%)
}

    .box_work_1 .detail_work.delighter.started, .box_work_2 .detail_work.delighter.started {
        -webkit-transform: translateY(0%);
        transform: translateY(0%)
    }

.box_work_1 .ttl_cmn_05.delighter, .box_work_2 .ttl_cmn_05.delighter {
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    -webkit-transition-delay: .2s;
    transition-delay: .2s;
    -webkit-transform: translateX(-5%);
    transform: translateX(-5%)
}

    .box_work_1 .ttl_cmn_05.delighter.started, .box_work_2 .ttl_cmn_05.delighter.started {
        -webkit-transform: translateX(0%);
        transform: translateX(0%)
    }

.box_work_1 .txt_work.delighter, .box_work_2 .txt_work.delighter {
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    -webkit-transition-delay: .5s;
    transition-delay: .5s
}

.box_work_1 figure.delighter, .box_work_2 figure.delighter {
    -webkit-transition: all 1s ease;
    transition: all 1s ease
}

.bnr_mynavi {
    width: auto;
    text-align: center;
    font-family: YakuHanJP, 'Noto Sans Medium', sans-serif
}

.box_work_1, .box_work_2 {
    position: relative;
    width: 100%
}

    .box_work_1:after, .box_work_2:after {
        content: "";
        clear: both;
        display: block
    }

    .box_work_1 .detail_work, .box_work_2 .detail_work {
        position: absolute;
        z-index: 2;
        top: 26px;
        width: 560px;
        background-color: rgba(255,255,255,0.9);
        font-family: YakuHanJP, 'Noto Sans Medium', sans-serif;
        padding: 50px 50px calc(50px - 1.2em)
    }

    .box_work_1 figure, .box_work_2 figure {
        float: right;
        width: auto;
        margin: 10px 0 0
    }

    .box_work_2 .detail_work {
        right: 0
    }

    .box_work_2 figure {
        float: left
    }

.box_caution {
    width: auto;
    border: 3px solid #0075c1;
    padding: 1.2em 24px 0;
    margin: 0 0 30px
}

#list_news {
    width: 100%;
    list-style: none;
    line-height: 1.4
}

    #list_news dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
        -ms-flex-align: baseline;
        align-items: baseline;
        border-bottom: 1px solid #ddd;
        margin: 0 0 15px
    }

    #list_news dt {
        width: 125px;
        color: #666
    }

    #list_news dd {
        width: calc(100% - 125px)
    }

    #list_news a {
        display: block;
        width: 100%;
        padding: 0 0 15px
    }

        #list_news a:hover {
            color: #0075c1;
            text-decoration: underline
        }

#box_news .ttl_news {
    font-size: 2.3rem;
    font-weight: bold;
    border-bottom: 1px solid #ddd;
    padding: 0 0 14px;
    margin: 0 0 24px
}

    #box_news .ttl_news span {
        display: block;
        width: 100%;
        font-size: 1.5rem;
        font-weight: normal;
        color: #666
    }

#box_news ul, #box_news ol {
    margin-left: 22px
}

#box_news img {
    max-width: 100%;
    height: auto
}

.ttl_quality {
    font-family: YakuHanJP, 'Noto Sans Bold', sans-serif;
    font-size: 3.4rem;
    letter-spacing: 2px;
    margin: 0 0 25px
}

.copy_quality {
    font-family: 'Noto Serif JP', serif;
    font-size: 3rem;
    color: #2365a3;
    letter-spacing: 2px;
    margin: 0 0 20px !important
}

.txt_quality {
    font-size: 1.8rem;
    line-height: 1.9;
    margin: 0 0 50px !important
}

.list_works {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%
}

.detail_works {
    width: 48%;
    margin: 0 0 70px
}

    .detail_works .img_works {
        width: 100%;
        line-height: 0;
        text-align: center;
        background-color: #eee;
        margin: 0 0 15px
    }

    .detail_works img {
        width: 100%;
        height: auto
    }

.list_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: auto;
    list-style: none
}

    .list_link li {
        width: 33%;
        margin: 0 0 10px
    }

#nav_page {
    width: auto;
    margin: -40px 0 60px
}

    #nav_page ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%;
        list-style: none;
        line-height: 1;
        border-bottom: 1px solid #d4d4d4;
        font-size: 1.4rem
    }

    #nav_page li {
        width: calc(100% / 7);
        border-right: 1px solid #d4d4d4;
        margin: 0 0 25px
    }

        #nav_page li:last-child {
            border-right: none
        }

    #nav_page a {
        display: block;
        width: 100%;
        text-decoration: none;
        text-align: center;
        color: inherit;
        padding: 14px 0 10px
    }

        #nav_page a:after {
            font-family: FontAwesome;
            content: "\f107";
            display: block;
            width: 100%;
            -webkit-transition: all .2s ease;
            transition: all .2s ease;
            font-weight: bold;
            margin: 7px 0 0
        }

        #nav_page a:hover:after {
            -webkit-transform: translateY(5px);
            transform: translateY(5px)
        }

.link_anchor {
    position: absolute;
    width: auto;
    margin: -90px 0 90px
}

.dl_tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: auto
}

    .dl_tel dt {
        width: 5em
    }

    .dl_tel dd {
        width: calc(100% - 5em)
    }

@media screen and (max-width: 768px) {
    img {
        max-width: 100%;
        height: auto
    }

    #ttl_page h1 {
        font-size: 2.5rem;
        padding: 25px 0
    }

        #ttl_page h1 span {
            width: 100%;
            font-size: 1.4rem;
            margin: 6px 0 0
        }

    #ttl_page.ttl_contact {
        padding: 56px 0 0;
    }

    main {
        padding: 0 0 35px
    }

    #box_article, #box_article_2 {
        width: 90%;
        line-height: 1.7;
        padding: 24px 24px 20px;
        margin: 35px auto 0
    }

        #box_article a[href^=tel], #box_article_2 a[href^=tel] {
            pointer-events: auto;
            text-decoration: underline;
            color: #2365a3
        }

    #box_article_2 {
        background-color: transparent;
        padding: 0
    }

        #box_article_2 p {
            line-height: 1.8
        }

    .bnr_mynavi {
        width: 80%;
        margin: 0 auto
    }

    .box_work_1 .detail_work, .box_work_2 .detail_work {
        position: static;
        width: 100%;
        background-color: #fff;
        padding: 25px 25px calc(25px - 1.2em)
    }

    .box_work_1 figure, .box_work_2 figure {
        float: none;
        width: 100%;
        margin: 0 0 10px !important
    }

    .box_work_2 .detail_work {
        right: 0
    }

    .box_work_2 figure {
        float: none
    }

    .box_caution {
        width: auto;
        border: 3px solid #0075c1;
        padding: 1.2em 24px 0;
        margin: 0 0 30px
    }

    #list_news {
        width: 100%
    }

        #list_news dl {
            display: block;
            -webkit-box-align: baseline;
            -ms-flex-align: baseline;
            align-items: baseline;
            border-bottom: 1px solid #ddd;
            margin: 0 0 10px
        }

        #list_news dt {
            width: auto;
            margin: 0 0 5px
        }

        #list_news dd {
            width: auto
        }

        #list_news a {
            display: block;
            width: 100%;
            padding: 0 0 10px
        }

            #list_news a:hover {
                color: #0075c1;
                text-decoration: underline
            }

    #box_news .ttl_news {
        font-size: 1.8rem;
        line-height: 1.2;
        padding: 0 0 10px;
        margin: 0 0 1.2em
    }

        #box_news .ttl_news span {
            margin: 0 0 10px
        }

    #box_news p.align_center {
        margin: 40px 0 30px
    }

    .ttl_quality {
        font-size: 2rem;
        margin: 0 0 15px
    }

    .copy_quality {
        font-size: 2rem;
        text-align: left
    }

        .copy_quality br {
            display: none
        }

    .txt_quality {
        font-size: 1.7rem;
        text-align: left;
        margin: 0 0 25px !important
    }

        .txt_quality br {
            display: none
        }

    #img_quality {
        width: 70%;
        margin: 0 auto
    }

    .list_works {
        display: block
    }

    .detail_works {
        width: 100%;
        margin: 0 0 35px
    }

        .detail_works .img_works {
            margin: 0 0 10px
        }

    .list_link {
        display: block;
        width: 100%;
        list-style: disc;
        margin-left: 22px
    }

        .list_link li {
            width: 100%;
            margin: 0
        }

    #nav_page {
        display: none
    }

    .link_anchor {
        position: absolute;
        width: auto;
        margin: -90px 0 90px
    }
}

