@charset 'UTF-8';

/*! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */

*,
 ::after,
 ::before {
    background-repeat: no-repeat;
    box-sizing: inherit
}

::after,
 ::before {
    text-decoration: inherit;
    vertical-align: inherit
}

html {
    box-sizing: border-box;
    cursor: default;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

article,
aside,
footer,
header,
nav,
section {
    display: block
}

body {
    margin: 0
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

figcaption,
figure,
main {
    display: block
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

nav ol,
nav ul {
    list-style: none
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: inherit
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

dfn {
    font-style: italic
}

mark {
    background-color: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

::-moz-selection {
    background-color: #b3d4fc;
    color: #000;
    text-shadow: none
}

::selection {
    background-color: #b3d4fc;
    color: #000;
    text-shadow: none
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle
}

audio,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

img {
    border-style: none
}

svg {
    fill: currentColor
}

svg:not(:root) {
    overflow: hidden
}

table {
    border-collapse: collapse
}

button,
input,
optgroup,
select,
textarea {
    margin: 0
}

button,
input,
select,
textarea {
    color: inherit;
    font-size: inherit;
    line-height: inherit
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=reset],
[type=submit],
button,
html [type=button] {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

textarea {
    overflow: auto;
    resize: vertical
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details,
menu {
    display: block
}

summary {
    display: list-item
}

canvas {
    display: inline-block
}

template {
    display: none
}

[tabindex],
a,
area,
button,
input,
label,
select,
summary,
textarea {
    -ms-touch-action: manipulation;
    touch-action: manipulation
}

[hidden] {
    display: none
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-hidden=false][hidden]:not(:focus) {
    clip: rect(0, 0, 0, 0);
    display: inherit;
    position: absolute
}

[aria-disabled] {
    cursor: default
}

body,
button,
input,
select,
textarea {
    font-family: 游ゴシック体, YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif;
    color: #000
}

_:-ms-input-placeholder,
 :root body,
input,
button,
textarea,
select {
    font-family: 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif
}

a {
    text-decoration: none
}

html {
    font-size: 62.5%
}

body {
    font-size: 1.4em;
    line-height: 1.6
}

h1,
h2,
h3 {
    margin: 0
}

ul {
    margin: 0;
    padding: 0;
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    -webkit-padding-start: 0;
    list-style: none
}

dl {
    margin: 0;
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    -webkit-padding-start: 0
}

dl dd {
    margin: 0;
    -webkit-margin-start: 0
}

p {
    margin: 0
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: 0;
    padding: 0;
    appearance: none
}

img {
    max-width: 100%
}

.slick-loading .slick-list {
    background: #fff url(../img/common/ajax-loader.gif) center center no-repeat
}

@font-face {
    font-family: slick;
    font-weight: 400;
    font-style: normal
}

.slick-next,
.slick-prev {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: 0;
    background: 0 0
}

.slick-next:focus,
.slick-next:hover,
.slick-prev:focus,
.slick-prev:hover {
    color: transparent;
    outline: 0;
    background: 0 0
}

.slick-next:focus:before,
.slick-next:hover:before,
.slick-prev:focus:before,
.slick-prev:hover:before {
    opacity: 1
}

.slick-next.slick-disabled:before,
.slick-prev.slick-disabled:before {
    opacity: .25
}

.slick-next:before,
.slick-prev:before {
    font-family: slick;
    font-size: 20px;
    line-height: 1;
    opacity: .75;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-prev {
    left: -25px
}

[dir=rtl] .slick-prev {
    right: -25px;
    left: auto
}

.slick-prev:before {
    content: '←'
}

[dir=rtl] .slick-prev:before {
    content: '→'
}

.slick-next {
    right: -25px
}

[dir=rtl] .slick-next {
    right: auto;
    left: -25px
}

.slick-next:before {
    content: '→'
}

[dir=rtl] .slick-next:before {
    content: '←'
}

.slick-dotted.slick-slider {
    margin-bottom: 30px
}

.slick-dots {
    position: absolute;
    bottom: -25px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: 0;
    background: 0 0
}

.slick-dots li button:focus,
.slick-dots li button:hover {
    outline: 0
}

.slick-dots li button:focus:before,
.slick-dots li button:hover:before {
    opacity: 1
}

.slick-dots li button:before {
    font-family: slick;
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: .25;
    color: #000;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
    opacity: .75;
    color: #000
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: 0
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after,
.slick-track:before {
    display: table;
    content: ''
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

@media screen and (max-width:834px) {
    .pc {
        display: none!important
    }
}

@media screen and (min-width:835px),
print {
    .sp {
        display: none!important
    }
}

@media screen and (min-width:835px),
print {
    body,
    html {
        min-width: 1023px
    }
}

body {
    visibility: hidden;
    opacity: 0;
    overflow: auto
}

@media screen and (min-width:835px),
print {
    body {
        font-size: 1.4em
    }
}

@media screen and (max-width:834px) {
    body {
        font-size: 1.17em
    }
}

body.is-show {
    visibility: visible;
    opacity: 1;
    -webkit-transition: opacity .2s 0s ease;
    -o-transition: opacity .2s 0s ease;
    transition: opacity .2s 0s ease
}

a:hover {
    opacity: .5;
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s
}

main {
    overflow: hidden
}

main .contents {
    margin-left: auto;
    margin-right: auto;
    width: 100%
}

main .contents-wrap {
    margin-right: auto;
    margin-left: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main .contents-wrap {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media screen and (max-width:834px) {
    main .contents-wrap {
        padding-left: 11.7px;
        padding-right: 11.7px
    }
}

@media screen and (min-width:835px),
print {
    #wrapper {
        height: auto!important
    }
}

.lowerpage-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #ddd
}

.lowerpage-header2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #e2e9f9;
}

.lowerpage-header div,
.lowerpage-header2 div {
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 1060px
}

@media screen and (min-width:835px),
print {
    .lowerpage-header div,
    .lowerpage-header2 div {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media screen and (max-width:834px) {
    .lowerpage-header div,
    .lowerpage-header2 div {
        padding-left: 11.7px;
        padding-right: 11.7px
    }
}

.lowerpage-header div img {
    margin-left: 0;
    margin-right: auto;
    display: block
}

@media screen and (min-width:835px),
print {
    .lowerpage-header,
    .lowerpage-header2 {
        height: 120px
    }
}

@media screen and (max-width:834px) {
    .lowerpage-header,
    .lowerpage-header2 {
        height: 18.8vw
    }
}

.pankz {
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 1060px
}

@media screen and (min-width:835px),
print {
    .pankz {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media screen and (max-width:834px) {
    .pankz {
        padding-left: 11.7px;
        padding-right: 11.7px
    }
}

@media screen and (min-width:835px),
print {
    .pankz {
        font-size: 1.1rem
    }
}

@media screen and (max-width:834px) {
    .pankz {
        font-size: .88rem
    }
}

.pankz ul {
    margin-top: .5em;
    margin-bottom: -.5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center
}

.pankz ul li {
    padding-right: .25em;
    padding-bottom: .5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.pankz ul li a,
.pankz ul li p {
    line-height: 1
}

.pankz ul li a {
    color: inherit;
    display: block;
    text-decoration: underline
}

.pankz ul li a:hover {
    text-decoration: none
}

.pankz ul li:first-child a {
    text-indent: 1000%;
    white-space: nowrap;
    overflow: hidden;
    width: 12px;
    height: 12px;
    background: url(../img/common/icon_home.svg) 50% 50%/100% auto no-repeat
}

.pankz ul li:nth-child(n+2) {
    padding-left: .25em
}

.pankz ul li:nth-child(n+2)::before {
    margin-right: .25em;
    display: inline;
    width: 1em;
    height: 1em;
    line-height: 1;
    content: ">"
}

#contact-lower {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: url(../img/common/contact_lower_bg.jpg) 50% 50%/100% auto repeat-y
}

#contact-lower .contact-lower-body .txt1 {
    text-align: center;
    color: #fff;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    #contact-lower .contact-lower-body .txt1 {
        font-size: 1.4rem
    }
}

@media screen and (max-width:834px) {
    #contact-lower .contact-lower-body .txt1 {
        font-size: 1.17rem
    }
}

@media screen and (min-width:835px),
print {
    #contact-lower .contact-lower-body .tel {
        margin-top: 5px
    }
}

@media screen and (max-width:834px) {
    #contact-lower .contact-lower-body .tel {
        margin-top: 5.9px
    }
}

#contact-lower .contact-lower-body .tel a {
    margin-left: auto;
    margin-right: auto;
    display: block;
    max-width: 100%
}

#contact-lower .contact-lower-body .tel a img {
    display: block;
    width: 100%
}

#contact-lower .contact-lower-body .txt2 {
    text-align: center;
    color: #fff
}

@media screen and (min-width:835px),
print {
    #contact-lower .contact-lower-body .txt2 {
        margin-top: 5px
    }
}

@media screen and (max-width:834px) {
    #contact-lower .contact-lower-body .txt2 {
        margin-top: 5.9px
    }
}

@media screen and (min-width:835px),
print {
    #contact-lower .contact-lower-body .txt2 {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    #contact-lower .contact-lower-body .txt2 {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    #contact-lower .contact-lower-body .mail {
        margin-top: 10px
    }
}

@media screen and (max-width:834px) {
    #contact-lower .contact-lower-body .mail {
        margin-top: 8.8px
    }
}

#contact-lower .contact-lower-body .mail a {
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #fff
}

#contact-lower .contact-lower-body .mail a img {
    display: block;
    width: 100%
}

#contact-lower .contact-lower-body .mail a p {
    padding-left: .5em;
    color: #0051b6;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    #contact-lower .contact-lower-body .mail a p {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    #contact-lower .contact-lower-body .mail a p {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    #contact-lower {
        height: 260px
    }
    #contact-lower .contact-lower-body .tel a {
        width: 310px
    }
    #contact-lower .contact-lower-body .mail a {
        border-radius: 42px;
        width: 334px;
        height: 42px
    }
    #contact-lower .contact-lower-body .mail a img {
        width: 18px
    }
}

@media screen and (max-width:834px) {
    #contact-lower {
        height: 182.8px
    }
    #contact-lower .contact-lower-body .tel a {
        width: 254.3px
    }
    #contact-lower .contact-lower-body .mail a {
        border-radius: 34.5px;
        width: 274px;
        height: 34.5px
    }
    #contact-lower .contact-lower-body .mail a img {
        width: 14.8px
    }
}

.banner-ym ul li a,
.banner-ym ul li p {
    position: relative;
    display: block;
    max-width: 100%
}

.banner-ym ul li a::before,
.banner-ym ul li p::before {
    margin-bottom: -5%;
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 1;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    display: block;
    z-index: 1;
    width: 75%;
    height: 70%;
    background: url(../img/common/banner_ym_shadow.png) 50% 50%/100% 100% no-repeat;
    pointer-events: none;
    content: ""
}

.banner-ym ul li a img,
.banner-ym ul li p img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%
}

.banner-ym ul li a:hover::before {
    margin-bottom: 0;
    -webkit-transition: margin-bottom .2s;
    -o-transition: margin-bottom .2s;
    transition: margin-bottom .2s
}

@media screen and (min-width:835px),
print {
    .banner-ym ul {
        margin-left: -10px;
        margin-right: -10px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
    .banner-ym ul li {
        padding-left: 10px;
        padding-right: 10px
    }
    .banner-ym ul li a,
    .banner-ym ul li p {
        width: 366px
    }
}

@media screen and (max-width:834px) {
    .banner-ym ul {
        margin-left: auto;
        margin-right: auto;
        width: 73%
    }
    .banner-ym ul li:nth-child(n+2) {
        margin-top: 23.4px
    }
    .banner-ym ul li a,
    .banner-ym ul li p {
        width: 100%
    }
}

.cssbtn {
    padding-left: 1em;
    padding-right: 1em;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 100%;
    color: #fff;
    background: url(../img/common/cssbtn_bg_slant_blu.png) 100% 100%/auto 100% no-repeat, #0051b6
}

@media screen and (min-width:835px),
print {
    .cssbtn div {
        font-size: 1.1rem
    }
}

@media screen and (max-width:834px) {
    .cssbtn div {
        font-size: .88rem
    }
}

@media screen and (min-width:835px),
print {
    .cssbtn {
        border-radius: 50px;
        min-width: 240px;
        height: 50px
    }
}

@media screen and (max-width:834px) {
    .cssbtn {
        border-radius: 41px;
        min-width: 196.9px;
        height: 41px
    }
}

header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10001;
    width: 100%;
    height: auto;
    -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .1)
}

@media screen and (min-width:835px),
print {
    header {
        min-width: 1023px
    }
}

header .header-body {
    background-color: #fff
}

@media screen and (min-width:835px),
print {
    header .header-body {
        padding-top: 10px;
        padding-bottom: 10px
    }
}

@media screen and (max-width:834px) {
    header .header-body {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

header .header-wrap {
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /* -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%; */
    max-width: 1060px
}

@media screen and (min-width:835px),
print {
    header .header-wrap {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media screen and (max-width:834px) {
    header .header-wrap {
        padding-left: 11.7px;
        padding-right: 11.7px
    }
}

@media screen and (min-width:835px),
print {
    header .header-wrap {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (max-width:834px) {
    header .header-wrap {
        padding-top: 4.7px;
        padding-bottom: 4.7px;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }
}

header h1 a {
    display: block;
    max-width: 100%
}

header h1 a img {
    display: block;
    max-width: 100%
}

@media screen and (min-width:835px) and (min-width:835px),
print {
    header .phone.pc div:nth-child(n+2) {
        margin-top: 4px
    }
}

@media screen and (min-width:835px) and (max-width:834px) {
    header .phone.pc div:nth-child(n+2) {
        margin-top: 2.3px
    }
}

@media screen and (min-width:835px),
print {
    header .phone.pc div dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    header .phone.pc div dl dt {
        color: #0051b6;
        line-height: 1;
        font-weight: 700;
        font-size: 1.4rem
    }
    header .phone.pc div dl dd {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
    header .phone.pc div dl dd::before {
        margin-right: 5px;
        display: block;
        width: 6px;
        height: 14px;
        background: url(../img/common/icon_tel.svg) 50% 50%/100% auto no-repeat;
        content: ""
    }
    header .phone.pc div dl dd a {
        display: block;
        color: #0051b6;
        line-height: 1;
        font-size: 1.8rem;
        font-family: 'Ropa Sans', sans-serif
    }
}

@media screen and (max-width:834px) {
    header .phone.sp a {
        padding: 8px 10px
    }
    header .phone.sp dl dt {
        text-align: center;
        color: #0051b6;
        line-height: 1;
        font-weight: 700;
        font-size: 1.17rem
    }
    header .phone.sp dl dd {
        margin-top: 4px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        color: #0051b6;
        line-height: 1;
        font-size: 2.58rem;
        font-family: 'Ropa Sans', sans-serif
    }
    header .phone.sp dl dd::before {
        margin-right: 5px;
        display: block;
        width: 6px;
        height: 14px;
        background: url(../img/common/icon_tel.svg) 50% 50%/100% auto no-repeat;
        content: ""
    }
}

@media screen and (max-width:834px) {
    header .header-init-01 {
        padding-bottom: 14px;
        padding-right: 8px;
        width: 48.3871%;
        max-width: 210px
    }
}

header .header-init-01 .upper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

header .header-init-01 .upper h1 p {
    line-height: 1;
    font-weight: 400;
    font-size: 1rem
}

@media screen and (min-width:835px),
print {
    header .header-init-01 .upper h1 p {
        margin-bottom: 8px
    }
}

@media screen and (max-width:834px) {
    header .header-init-01 .upper h1 p {
        margin-bottom: 4.7px
    }
}

@media screen and (min-width:835px),
print {
    header .header-init-01 .upper h1 a {
        width: 210px
    }
}

@media screen and (max-width:834px) {
    header .header-init-01 .upper h1 a {
        width: 100%
    }
}

@media screen and (min-width:835px),
print {
    header .header-init-01 .upper .phone {
        margin-left: 10px
    }
}

header .header-init-01 .lower nav>ul {
    width: 100%;
    height: 100%;
    padding-left: 0
}

header .header-init-01 .lower nav>ul>li>a {
    display: block;
    color: #000;
    text-align: center
}

@media screen and (min-width:835px),
print {
    header .header-init-01 .lower nav>ul>li>a {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    header .header-init-01 .lower nav>ul>li>a {
        font-size: 1.52rem
    }
}

header .header-init-01 .lower nav>ul>li.home>a::before {
    margin-left: auto;
    margin-right: auto;
    display: block;
    background: url(../img/common/icon_home.svg) 50% 50%/100% auto no-repeat;
    content: ""
}

@media screen and (min-width:835px),
print {
    header .header-init-01 .lower nav {
        margin-top: 10px;
        margin-left: 0;
        margin-right: auto;
        padding-top: 0!important;
        width: 450px;
        max-width: 100%
    }
    header .header-init-01 .lower nav>ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    header .header-init-01 .lower nav>ul>li {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
    header .header-init-01 .lower nav>ul>li:nth-child(n+2) {
        border-left: 1px solid #000
    }
    header .header-init-01 .lower nav>ul>li.home>a::before {
        width: 14px;
        height: 14px
    }
}

@media screen and (max-width:834px) {
    header .header-init-01 .lower nav {
        margin-left: auto;
        margin-right: auto;
        position: absolute;
        right: 0;
        top: 0;
        z-index: -1;
        width: 100%;
        height: 100vh;
        background-color: #fff;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        over-scrolling: touch;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
    header .header-init-01 .lower nav>ul>li:last-child {
        padding-bottom: 120px
    }
    header .header-init-01 .lower nav>ul>li>a {
        padding: 16px 10px;
        border-bottom: 1px solid #0051b6
    }
    header .header-init-01 .lower nav>ul>li.home>a::before {
        width: 24.01px;
        height: 24.01px
    }
    header .header-init-01 .lower nav>ul>li.btn>a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        color: #fff;
        background-color: #0051b6;
        font-weight: 700;
        font-size: 1.52rem
    }
    header .header-init-01 .lower nav>ul>li.btn>a::before {
        margin-right: 5px;
        display: block;
        width: 16px;
        height: 14px;
        background: url(../img/common/icon_mail.svg) 50% 50%/100% auto no-repeat;
        content: ""
    }
}

@media screen and (max-width:834px) {
    header .header-init-02 {
        padding-top: 15px;
        margin-bottom: 0;
        padding-left: 8px;
        width: 51.6129%;
        max-width: 224px
    }
}

header .header-init-02 .upper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}
@media screen and (min-width:835px) {
    header .header-init-02 {
        margin-bottom: 10px;
    }
}
@media screen and (min-width:835px),
print {
    header .header-init-02 .upper h1 a {
        width: 224px
    }
}

@media screen and (max-width:834px) {
    header .header-init-02 .upper h1 a {
        width: 100%
    }
}

@media screen and (min-width:835px),
print {
    header .header-init-02 .upper .phone {
        margin-left: 15px
    }
}

@media screen and (min-width:835px),
print {
    header .header-init-02 .lower {
        margin-top: 8px
    }
}

@media screen and (max-width:834px) {
    header .header-init-02 .lower {
        margin-top: 4.7px
    }
}

header .header-init-02 .lower .address {
    text-align: right;
    line-height: 1;
    font-size: 1rem;
    white-space: nowrap
}

@media screen and (max-width:834px) {
    header .header-init-02 .lower {
        height: 1em;
        position: relative
    }
    header .header-init-02 .lower .address {
        position: absolute;
        bottom: 0;
        right: 0;
        -webkit-transform-origin: right;
        -ms-transform-origin: right;
        transform-origin: right;
        -webkit-transform: scale(.9);
        -ms-transform: scale(.9);
        transform: scale(.9)
    }
}

@media screen and (min-width:835px),
print {
    header .header-init-02 .txt {
        margin-top: 4px;
        text-align: right;
        font-size: 1rem
    }
}

@media screen and (min-width:835px),
print {
    header .header-init-03 {
        width: 150px
    }
    header .header-init-03 .btn a {
        border-radius: 4px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        color: #fff;
        background-color: #0051b6;
        font-weight: 700;
        font-size: 1.2rem;
        width: 100%;
        height: 36px
    }
    header .header-init-03 .btn a::before {
        margin-right: 5px;
        display: block;
        width: 16px;
        height: 14px;
        background: url(../img/common/icon_mail.svg) 50% 50%/100% auto no-repeat;
        content: ""
    }
    header .header-init-03 .txt {
        margin-top: 5px;
        color: #0051b6;
        font-weight: 700;
        font-size: 1.1rem
    }
}

@media screen and (max-width:834px) {
    header .header-init-03 {
        display: none
    }
}

@media screen and (min-width:835px),
print {
    header button {
        display: none
    }
}

@media screen and (max-width:834px) {
    header button {
        position: relative;
        display: block;
        width: 50px;
        min-width: 50px;
        height: 74px;
        background-color: #0051b6
    }
    header button>div {
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
    header button>div>p {
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        width: 40%;
        height: 2px;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-transition: background .3s 0s ease;
        -o-transition: background .3s 0s ease;
        transition: background .3s 0s ease;
        background: #fff
    }
    header button>div>p:after,
    header button>div>p:before {
        content: "";
        display: block;
        width: 100%;
        height: inherit;
        border-radius: 3px;
        background: #fff;
        position: absolute;
        -webkit-transition: all .3s 0s ease!important;
        -o-transition: all .3s 0s ease!important;
        transition: all .3s 0s ease!important
    }
}

@media screen and (max-width:834px) {
    header .header-body {
        -webkit-box-shadow: 0 1px 2px 0 transparent;
        box-shadow: 0 1px 2px 0 transparent
    }
    header nav {
        opacity: 0;
        visibility: hidden;
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%)
    }
    header nav>ul {
        margin-top: -20px;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: all .3s 0s ease;
        -o-transition: all .3s 0s ease;
        transition: all .3s 0s ease
    }
    header button>div>p:before {
        -webkit-transform: rotate(0) translateY(6px);
        -ms-transform: rotate(0) translateY(6px);
        transform: rotate(0) translateY(6px)
    }
    header button>div>p:after {
        -webkit-transform: rotate(0) translateY(-6px);
        -ms-transform: rotate(0) translateY(-6px);
        transform: rotate(0) translateY(-6px)
    }
    header.is-open .header-body {
        -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .2);
        box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .2);
        -webkit-transition: -webkit-box-shadow .3s 0s ease;
        transition: -webkit-box-shadow .3s 0s ease;
        -o-transition: box-shadow .3s 0s ease;
        transition: box-shadow .3s 0s ease;
        transition: box-shadow .3s 0s ease, -webkit-box-shadow .3s 0s ease
    }
    header.is-open nav {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
        -webkit-transition: visibility .3s 0s ease, opacity .3s 0s ease;
        -o-transition: visibility .3s 0s ease, opacity .3s 0s ease;
        transition: visibility .3s 0s ease, opacity .3s 0s ease
    }
    header.is-open nav>ul {
        margin-top: 0;
        opacity: 1;
        visibility: visible;
        height: auto
    }
    header.is-open button>div>p {
        background: 0 0
    }
    header.is-open button>div>p:before {
        -webkit-transform: rotate(45deg) translateY(0);
        -ms-transform: rotate(45deg) translateY(0);
        transform: rotate(45deg) translateY(0)
    }
    header.is-open button>div>p:after {
        -webkit-transform: rotate(-45deg) translateY(0);
        -ms-transform: rotate(-45deg) translateY(0);
        transform: rotate(-45deg) translateY(0)
    }
}

footer .footer-upper {
    overflow: hidden
}

@media screen and (min-width:835px),
print {
    footer .footer-upper {
        padding-top: 20px
    }
}

@media screen and (max-width:834px) {
    footer .footer-upper {
        padding-top: 23.4px
    }
}

@media screen and (min-width:835px),
print {
    footer .footer-upper {
        padding-bottom: 20px
    }
}

@media screen and (max-width:834px) {
    footer .footer-upper {
        padding-bottom: 23.4px
    }
}

footer .footer-upper ul li a {
    display: block
}

footer .footer-upper ul li a img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    footer .footer-upper ul {
        margin-left: -15px;
        margin-right: -15px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    footer .footer-upper ul li {
        padding-left: 15px;
        padding-right: 15px
    }
    footer .footer-upper ul li:nth-child(1) a {
        width: 234px
    }
    footer .footer-upper ul li:nth-child(2) a {
        width: 248px
    }
}

@media screen and (max-width:834px) {
    footer .footer-upper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
    footer .footer-upper ul li:nth-child(n+2) {
        margin-top: 11.7px
    }
    footer .footer-upper ul li:nth-child(1) a {
        width: 192.2px
    }
    footer .footer-upper ul li:nth-child(2) a {
        width: 203.9px
    }
}

footer .footer-lower {
    position: relative
}

@media screen and (min-width:835px),
print {
    footer .footer-lower {
        min-width: 1023px;
        color: #fff;
        background-color: #005bbb
    }
}

footer .footer-lower .footer-body {
    margin-right: auto;
    margin-left: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 1060px
}

@media screen and (min-width:835px),
print {
    footer .footer-lower .footer-body {
        padding-left: 40px
    }
}

@media screen and (max-width:834px) {
    footer .footer-lower .footer-body {
        padding-left: 0
    }
}

@media screen and (min-width:835px),
print {
    footer .footer-lower .footer-body {
        padding-right: 40px
    }
}

@media screen and (max-width:834px) {
    footer .footer-lower .footer-body {
        padding-right: 0
    }
}

@media screen and (min-width:835px),
print {
    footer .footer-lower .footer-body {
        margin-left: auto;
        margin-right: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 76px
    }
}

@media screen and (min-width:835px),
print {
    footer .footer-lower .footer-wrap {
        /* -webkit-box-flex: 1;
        -ms-flex-positive: 1; */
        flex-grow: 1;
        /* display: -webkit-box;
        display: -ms-flexbox;
        display: flex; */
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

@media screen and (max-width:834px) {
    footer .footer-lower .footer-wrap {
        padding-top: 23.4px;
        padding-bottom: 23.4px;
        color: #fff;
        background-color: #005bbb
    }
}

footer .footer-lower .copyright {
    text-align: center;
    line-height: 1;
    font-family: 'Ropa Sans', sans-serif;
    margin-top: 10px;
}

@media screen and (min-width:835px),
print {
    footer .footer-lower .copyright {
        font-size: 1.4rem
    }
}

@media screen and (max-width:834px) {
    footer .footer-lower .copyright {
        font-size: 1.17rem
    }
}

footer .footer-lower nav ul {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

footer .footer-lower nav ul li:nth-child(n+2) {
    border-left: 1px solid #fff
}

footer .footer-lower nav ul li a {
    display: block;
    text-align: center;
    color: inherit
}

@media screen and (min-width:835px),
print {
    footer .footer-lower nav ul li a {
        font-size: 1.1rem
    }
}

@media screen and (max-width:834px) {
    footer .footer-lower nav ul li a {
        font-size: .88rem
    }
}

footer .footer-lower nav ul li.txt a {
    padding: 0 1em
}

footer .footer-lower nav ul li.btn {
    border: none
}

footer .footer-lower nav ul li.btn a {
    padding: .25em 1em;
    border: 1px solid #fff
}

@media screen and (min-width:835px),
print {
    footer .footer-lower nav {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
    footer .footer-lower nav ul {
        margin-left: auto;
        margin-right: 0;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        /* max-width: 480px */
    }
    footer .footer-lower nav ul li {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
}

@media screen and (max-width:834px) {
    footer .footer-lower nav {
        margin-top: 11.7px
    }
    footer .footer-lower nav ul {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        max-width: 100%
    }
    footer .footer-lower nav ul li.btn {
        margin-top: 11.7px;
        width: 100%;
        text-align: center
    }
    footer .footer-lower nav ul li.btn a {
        display: inline-block
    }
}

footer .footer-lower a#btnPagetop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #0051b6
}

footer .footer-lower a#btnPagetop img {
    display: block
}

@media screen and (min-width:835px),
print {
    footer .footer-lower a#btnPagetop {
        margin-left: 20px;
        width: 76px;
        min-width: 76px;
        height: 100%
    }
    footer .footer-lower a#btnPagetop img {
        width: 18px
    }
}

@media screen and (max-width:834px) {
    footer .footer-lower a#btnPagetop {
        width: 100%;
        height: 44.5px
    }
    footer .footer-lower a#btnPagetop img {
        width: 18.8px
    }
}

@media screen and (min-width:835px),
print {
    main#home .contents-body {
        padding-top: 80px
    }
}

@media screen and (max-width:834px) {
    main#home .contents-body {
        padding-top: 46.9px
    }
}

@media screen and (min-width:835px),
print {
    main#home .contents-body {
        padding-bottom: 80px
    }
}

@media screen and (max-width:834px) {
    main#home .contents-body {
        padding-bottom: 46.9px
    }
}

@media screen and (min-width:835px),
print {
    main#home .contents-wrap {
        max-width: 1060px
    }
}

@media screen and (min-width:835px),
print {
    main#home .contents-main {
        margin-top: 60px
    }
}

@media screen and (max-width:834px) {
    main#home .contents-main {
        margin-top: 35.2px
    }
}

main#home #hero .slide .slide-wrap img {
    display: block
}

@media screen and (min-width:835px),
print {
    main#home #hero .slide .slide-wrap img {
        width: 1280px
    }
}

@media screen and (max-width:834px) {
    main#home #hero .slide .slide-wrap img {
        width: 100%
    }
}

main#home #hero .slick-dotted.slick-slider {
    margin-bottom: 0
}

main#home #hero .slick-dots {
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

main#home #hero .slick-dots li {
    margin-left: 4px;
    margin-right: 4px;
    width: auto;
    height: auto
}

main#home #hero .slick-dots li button {
    border: none;
    padding: 0;
    background-color: #fff
}

main#home #hero .slick-dots li button::before {
    display: none
}

main#home #hero .slick-dots li.slick-active button {
    background-color: #0051b6
}

@media screen and (min-width:835px),
print {
    main#home #hero .slick-dots {
        margin-bottom: 20px
    }
    main#home #hero .slick-dots li button {
        border-radius: 6px;
        width: 6px;
        height: 6px
    }
}

@media screen and (max-width:834px) {
    main#home #hero .slick-dots {
        margin-bottom: 14.1px
    }
    main#home #hero .slick-dots li button {
        border-radius: 5.9px;
        width: 5.9px;
        height: 5.9px
    }
}

main#home #hero button.slick-arrow {
    position: absolute;
    top: 50%;
    z-index: 1;
    background-color: #fff;
    border-radius: 36px;
    background: url(../img/page/home/hero_icon_btn_arrow.png) 50% 50%/100% 100% no-repeat;
    text-indent: 1000%;
    white-space: nowrap;
    overflow: hidden
}

main#home #hero button.slick-arrow:hover {
    opacity: .5;
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s
}

main#home #hero button.slick-arrow::before {
    display: none
}

@media screen and (min-width:1280px),
print {
    main#home #hero button.slick-arrow {
        width: 38px;
        height: 47px
    }
    main#home #hero button.slick-arrow.slick-prev {
        margin-left: -600px;
        left: 50%;
        -webkit-transform: translate(-50%, -50%) scale(-1, 1);
        -ms-transform: translate(-50%, -50%) scale(-1, 1);
        transform: translate(-50%, -50%) scale(-1, 1)
    }
    main#home #hero button.slick-arrow.slick-next {
        margin-right: -600px;
        right: 50%;
        -webkit-transform: translate(50%, -50%);
        -ms-transform: translate(50%, -50%);
        transform: translate(50%, -50%)
    }
}

@media screen and (min-width:835px) and (max-width:1279px),
print {
    main#home #hero button.slick-arrow {
        width: 38px;
        height: 47px
    }
    main#home #hero button.slick-arrow.slick-prev {
        margin-left: 20px;
        left: 0;
        -webkit-transform: translateY(-50%) scale(-1, 1);
        -ms-transform: translateY(-50%) scale(-1, 1);
        transform: translateY(-50%) scale(-1, 1)
    }
    main#home #hero button.slick-arrow.slick-next {
        margin-right: 20px;
        right: 0;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media screen and (max-width:834px) {
    main#home #hero button.slick-arrow {
        width: 5.9vw;
        height: 7.3vw
    }
    main#home #hero button.slick-arrow.slick-prev {
        margin-left: 1.9vw;
        left: 0;
        -webkit-transform: translateY(-50%) scale(-1, 1);
        -ms-transform: translateY(-50%) scale(-1, 1);
        transform: translateY(-50%) scale(-1, 1)
    }
    main#home #hero button.slick-arrow.slick-next {
        margin-right: 1.9vw;
        right: 0;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media screen and (min-width:835px),
print {
    main#home #about .contents-main {
        margin-left: auto;
        margin-right: auto;
        width: 528px
    }
}

main#home #about h3 p {
    max-width: 100%
}

main#home #about h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#home #about h3 p {
        width: 154px
    }
}

@media screen and (max-width:834px) {
    main#home #about h3 p {
        width: 127px
    }
}

main#home #about h3 p {
    margin-left: auto;
    margin-right: auto
}

main#home #about .img img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#home #about .txt {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#home #about .txt {
        margin-top: 23.4px
    }
}

main#home #about .txt dl dt p {
    max-width: 100%
}

main#home #about .txt dl dt p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#home #about .txt dl dt p {
        width: 510px
    }
}

@media screen and (max-width:834px) {
    main#home #about .txt dl dt p {
        width: 346px
    }
}

main#home #about .txt dl dt p {
    margin-left: auto;
    margin-right: auto
}

main#home #about .txt dl dd {
    text-align: center;
    line-height: 2.5
}

@media screen and (min-width:835px),
print {
    main#home #about .txt dl dd {
        margin-top: 20px
    }
}

@media screen and (max-width:834px) {
    main#home #about .txt dl dd {
        margin-top: 11.7px
    }
}

@media screen and (min-width:835px),
print {
    main#home #about .txt dl dd {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#home #about .txt dl dd {
        font-size: .94rem
    }
}

main#home #about .btn {
    text-align: center
}

@media screen and (min-width:835px),
print {
    main#home #about .btn {
        margin-top: 20px
    }
}

@media screen and (max-width:834px) {
    main#home #about .btn {
        margin-top: 11.7px
    }
}

main#home #service {
    position: relative;
    background-color: #eff5fb
}

@media screen and (min-width:835px),
print {
    main#home #service {
        padding-bottom: 120px
    }
}

@media screen and (max-width:834px) {
    main#home #service {
        padding-bottom: 70.3px
    }
}

main#home #service::before {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 0;
    -webkit-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
    transform: translateY(-40%);
    display: block;
    width: 100%;
    height: 50%;
    content: ""
}

@media screen and (min-width:835px),
print {
    main#home #service::before {
        background: url(../img/page/home/service_bg_slant_pc.png) 50% 50%/100% 100% no-repeat
    }
}

@media screen and (max-width:834px) {
    main#home #service::before {
        background: url(../img/page/home/service_bg_slant_sp.png) 50% 50%/100% 100% no-repeat
    }
}

main#home #service .contents-wrap {
    position: relative;
    z-index: 1
}

main#home #service h3 p {
    max-width: 100%
}

main#home #service h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#home #service h3 p {
        width: 184px
    }
}

@media screen and (max-width:834px) {
    main#home #service h3 p {
        width: 151px
    }
}

main#home #service h3 p {
    margin-left: auto;
    margin-right: auto
}

main#home #service .banner-ym {
    position: relative;
    z-index: 2
}

@media screen and (min-width:835px),
print {
    main#home #service .banner-ym {
        margin-top: 80px
    }
}

@media screen and (max-width:834px) {
    main#home #service .banner-ym {
        margin-top: 46.9px
    }
}

@media screen and (min-width:835px),
print {
    main#home #service .banner-ym ul {
        margin-left: -8px;
        margin-right: -8px
    }
    main#home #service .banner-ym ul li {
        padding-left: 8px;
        padding-right: 8px;
        width: 33.3%
    }
    main#home #service .banner-ym ul li a,
    main#home #service .banner-ym ul li p {
        width: 100%;
        max-width: 315px
    }
}

@media screen and (min-width:835px),
print {
    main#home #service .group:nth-child(n+2) {
        margin-top: 120px
    }
}

@media screen and (max-width:834px) {
    main#home #service .group:nth-child(n+2) {
        margin-top: 70.3px
    }
}

main#home #service .group .group-body {
    position: relative;
    z-index: 1
}

main#home #service .group .group-body .img {
    position: relative;
    z-index: 1
}

main#home #service .group .group-body .img::before {
    position: absolute;
    z-index: 0;
    display: block;
    content: ""
}

main#home #service .group .group-body .img img {
    position: relative;
    z-index: 1;
    display: block
}

main#home #service .group .group-body .txt {
    position: relative;
    z-index: 2
}

main#home #service .group .group-body .txt dl dt p {
    margin-left: 0;
    margin-right: auto
}

main#home #service .group .group-body .txt dl dd {
    text-align: justify;
    text-justify: inter-ideograph;
    line-height: 2.25
}

@media screen and (min-width:835px),
print {
    main#home #service .group .group-body .txt dl dd {
        margin-top: 20px
    }
}

@media screen and (max-width:834px) {
    main#home #service .group .group-body .txt dl dd {
        margin-top: 11.7px
    }
}

@media screen and (min-width:835px),
print {
    main#home #service .group .group-body .txt dl dd {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#home #service .group .group-body .txt dl dd {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    main#home #service .group .group-body {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    main#home #service .group .group-body .img {
        width: 470px;
        min-width: 470px
    }
    main#home #service .group .group-body .img img {
        width: 100%
    }
    main#home #service .group .group-body .img::before {
        width: 434px;
        height: 253px
    }
}

@media screen and (max-width:834px) {
    main#home #service .group .group-body .img {
        width: 100%
    }
    main#home #service .group .group-body .txt {
        padding-top: 23.4px
    }
    main#home #service .group .group-body .img {
        margin-bottom: 8%
    }
    main#home #service .group .group-body .img img {
        width: 88.33333%
    }
    main#home #service .group .group-body .img::before {
        margin-bottom: -8%;
        width: 81.66667%;
        height: 105.92593%
    }
}

main#home #service .group:nth-child(1) .group-body .img::before {
    background-color: rgba(202, 221, 243, .5)
}

main#home #service .group:nth-child(1) .group-body .txt dl dt p {
    max-width: 100%
}

main#home #service .group:nth-child(1) .group-body .txt dl dt p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#home #service .group:nth-child(1) .group-body .txt dl dt p {
        width: 238px
    }
}

@media screen and (max-width:834px) {
    main#home #service .group:nth-child(1) .group-body .txt dl dt p {
        width: 195px
    }
}

main#home #service .group:nth-child(2) .group-body .img::before {
    background: url(../img/page/home/service_contents_img_bg_dot.png) 50% 50%/4px auto repeat
}

main#home #service .group:nth-child(2) .group-body .txt dl dt p {
    max-width: 100%
}

main#home #service .group:nth-child(2) .group-body .txt dl dt p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#home #service .group:nth-child(2) .group-body .txt dl dt p {
        width: 150px
    }
}

@media screen and (max-width:834px) {
    main#home #service .group:nth-child(2) .group-body .txt dl dt p {
        width: 123px
    }
}

main#home #service .group:nth-child(3) .group-body .img::before {
    background-color: rgba(202, 221, 243, .5)
}

main#home #service .group:nth-child(3) .group-body .txt dl dt p {
    max-width: 100%
}

main#home #service .group:nth-child(3) .group-body .txt dl dt p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#home #service .group:nth-child(3) .group-body .txt dl dt p {
        width: 156px
    }
}

@media screen and (max-width:834px) {
    main#home #service .group:nth-child(3) .group-body .txt dl dt p {
        width: 128px
    }
}

@media screen and (min-width:835px),
print {
    main#home #service .group:nth-child(1) .group-body .img {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }
    main#home #service .group:nth-child(1) .group-body .txt {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        padding-right: 80px
    }
    main#home #service .group:nth-child(1) .group-body .img::before {
        margin-bottom: -40px;
        margin-left: -60px;
        bottom: 0;
        left: 0
    }
    main#home #service .group:nth-child(2) .group-body .img {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
    main#home #service .group:nth-child(2) .group-body .txt {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        padding-left: 80px
    }
    main#home #service .group:nth-child(2) .group-body .img::before {
        margin-bottom: -40px;
        margin-right: -60px;
        bottom: 0;
        right: 0
    }
    main#home #service .group:nth-child(3) .group-body .img {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }
    main#home #service .group:nth-child(3) .group-body .txt {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        padding-right: 80px
    }
    main#home #service .group:nth-child(3) .group-body .img::before {
        margin-bottom: -40px;
        margin-right: -60px;
        bottom: 0;
        right: 0
    }
}

@media screen and (max-width:834px) {
    main#home #service .group:nth-child(1) .group-body .img img {
        margin-left: auto;
        margin-right: 0
    }
    main#home #service .group:nth-child(1) .group-body .img::before {
        bottom: 0;
        left: 0
    }
    main#home #service .group:nth-child(2) .group-body .img img {
        margin-left: 0;
        margin-right: auto
    }
    main#home #service .group:nth-child(2) .group-body .img::before {
        bottom: 0;
        right: 0
    }
    main#home #service .group:nth-child(3) .group-body .img img {
        margin-left: 0;
        margin-right: auto
    }
    main#home #service .group:nth-child(3) .group-body .img::before {
        bottom: 0;
        right: 0
    }
}

@media screen and (min-width:835px),
print {
    main#company h2.lowerpage-header {
        background-image: url(../img/page/company/head_bg_pc.jpg)
    }
}

@media screen and (max-width:834px) {
    main#company h2.lowerpage-header {
        background-image: url(../img/page/company/head_bg_sp.jpg)
    }
}

@media screen and (min-width:835px),
print {
    main#company .contents-body {
        padding-top: 80px
    }
}

@media screen and (max-width:834px) {
    main#company .contents-body {
        padding-top: 46.9px
    }
}

@media screen and (min-width:835px),
print {
    main#company .contents-body {
        padding-bottom: 80px
    }
}

@media screen and (max-width:834px) {
    main#company .contents-body {
        padding-bottom: 46.9px
    }
}

@media screen and (min-width:835px),
print {
    main#company .contents-wrap {
        max-width: 1060px
    }
}

@media screen and (min-width:835px),
print {
    main#company .contents-main {
        margin-top: 60px
    }
}

@media screen and (max-width:834px) {
    main#company .contents-main {
        margin-top: 35.2px
    }
}

main#company #greeting h3 p {
    max-width: 100%
}

main#company #greeting h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#company #greeting h3 p {
        width: 228px
    }
}

@media screen and (max-width:834px) {
    main#company #greeting h3 p {
        width: 187px
    }
}

main#company #greeting h3 p {
    margin-left: auto;
    margin-right: auto
}

main#company #greeting .contents-main .img .thumb p {
    position: relative;
    z-index: 1
}

main#company #greeting .contents-main .img .thumb p::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 84%;
    background-color: #e2edf7;
    content: ""
}

main#company #greeting .contents-main .img .thumb p img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%
}

main#company #greeting .contents-main .img .prof {
    position: relative;
    z-index: 2
}

@media screen and (min-width:835px),
print {
    main#company #greeting .contents-main .img .prof {
        margin-top: 20px
    }
}

@media screen and (max-width:834px) {
    main#company #greeting .contents-main .img .prof {
        margin-top: 29.3px
    }
}

main#company #greeting .contents-main .img .prof p:nth-child(1) {
    margin-left: 0;
    margin-right: auto;
    max-width: 100%
}

main#company #greeting .contents-main .img .prof p:nth-child(1) img {
    display: block;
    width: 100%
}

main#company #greeting .contents-main .img .prof p:nth-child(2) {
    margin-top: .5em;
    text-align: justify;
    text-justify: inter-ideograph
}

@media screen and (min-width:835px),
print {
    main#company #greeting .contents-main .img .prof p:nth-child(2) {
        font-size: 1.1rem
    }
}

@media screen and (max-width:834px) {
    main#company #greeting .contents-main .img .prof p:nth-child(2) {
        font-size: .88rem
    }
}

main#company #greeting .contents-main .txt {
    position: relative;
    z-index: 2
}

@media screen and (min-width:835px),
print {
    main#company #greeting .contents-main .txt dl dt {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#company #greeting .contents-main .txt dl dt {
        font-size: 1.29rem
    }
}

main#company #greeting .contents-main .txt dl dd {
    margin-top: 1em;
    text-align: justify;
    text-justify: inter-ideograph;
    line-height: 2.5
}

@media screen and (min-width:835px),
print {
    main#company #greeting .contents-main .txt dl dd {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#company #greeting .contents-main .txt dl dd {
        font-size: .94rem
    }
}

main#company #greeting .contents-main .sub-img {
    max-width: 100%
}

main#company #greeting .contents-main .sub-img img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#company #greeting .contents-main {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
    main#company #greeting .contents-main .img {
        width: 380px;
        min-width: 380px
    }
    main#company #greeting .contents-main .img .thumb p::before {
        margin-bottom: -56px;
        margin-left: -70px
    }
    main#company #greeting .contents-main .img .prof p:nth-child(1) {
        width: 150px
    }
    main#company #greeting .contents-main .txt {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        padding-right: 40px
    }
    main#company #greeting .contents-main .txt dl {
        margin-left: 0;
        margin-right: auto;
        max-width: 490px
    }
    main#company #greeting .contents-main .txt .sub-img.pc {
        margin-left: auto;
        margin-right: 0;
        width: 216px
    }
}

@media screen and (max-width:834px) {
    main#company #greeting .contents-main .img {
        width: 100%;
        margin-top: 23.4px
    }
    main#company #greeting .contents-main .img .thumb p::before {
        margin-bottom: -17.6px;
        margin-left: -26.4px
    }
    main#company #greeting .contents-main .img .prof p:nth-child(1) {
        width: 150px
    }
    main#company #greeting .contents-main .img .sub-img.sp {
        margin-top: 23.4px;
        margin-left: auto;
        margin-right: auto;
        width: 47.3vw
    }
}

main#company #philosophy h3 p {
    max-width: 100%
}

main#company #philosophy h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#company #philosophy h3 p {
        width: 290px
    }
}

@media screen and (max-width:834px) {
    main#company #philosophy h3 p {
        width: 238px
    }
}

main#company #philosophy h3 p {
    margin-left: auto;
    margin-right: auto
}

@media screen and (min-width:835px),
print {
    main#company #philosophy {
        height: 505px;
        background: url(../img/page/company/philosophy_bg_pc.jpg) 50% 40%/cover no-repeat
    }
}

@media screen and (max-width:834px) {
    main#company #philosophy {
        height: 295.9px;
        background: url(../img/page/company/philosophy_bg_sp.jpg) 50% 40%/cover no-repeat
    }
}

main#company #philosophy .contents-main p {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%
}

main#company #philosophy .contents-main p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#company #philosophy .contents-main p:nth-child(2) {
        margin-top: 90px
    }
}

@media screen and (max-width:834px) {
    main#company #philosophy .contents-main p:nth-child(2) {
        margin-top: 29.3px
    }
}

@media screen and (min-width:835px),
print {
    main#company #philosophy .contents-main p {
        width: 338px
    }
}

@media screen and (max-width:834px) {
    main#company #philosophy .contents-main p {
        width: 338px
    }
}

main#company #fiiling h3 p {
    max-width: 100%
}

main#company #fiiling h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#company #fiiling h3 p {
        width: 282px
    }
}

@media screen and (max-width:834px) {
    main#company #fiiling h3 p {
        width: 231px
    }
}

main#company #fiiling h3 p {
    margin-left: auto;
    margin-right: auto
}

@media screen and (min-width:835px),
print {
    main#company #fiiling .contents-main {
        margin-top: 20px
    }
}

@media screen and (max-width:834px) {
    main#company #fiiling .contents-main {
        margin-top: 17.6px
    }
}

main#company #fiiling .contents-main p {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%
}

main#company #fiiling .contents-main p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#company #fiiling .contents-main p {
        width: 405px
    }
}

@media screen and (max-width:834px) {
    main#company #fiiling .contents-main p {
        width: 405px
    }
}

main#company #policy {
    position: relative;
    background-color: #eff1f9
}

@media screen and (min-width:835px),
print {
    main#company #policy {
        padding-bottom: 120px
    }
}

@media screen and (max-width:834px) {
    main#company #policy {
        padding-bottom: 70.3px
    }
}

main#company #policy::before {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 70%;
    background: url(../img/page/company/policy_bg_slant.png) 50% 50%/100% 100% no-repeat;
    content: ""
}

@media screen and (min-width:835px),
print {
    main#company #policy::before {
        -webkit-transform: translateY(-35%);
        -ms-transform: translateY(-35%);
        transform: translateY(-35%)
    }
}

@media screen and (max-width:834px) {
    main#company #policy::before {
        -webkit-transform: translateY(-45%);
        -ms-transform: translateY(-45%);
        transform: translateY(-45%)
    }
}

main#company #policy h3 p {
    max-width: 100%
}

main#company #policy h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#company #policy h3 p {
        width: 162px
    }
}

@media screen and (max-width:834px) {
    main#company #policy h3 p {
        width: 133px
    }
}

main#company #policy h3 p {
    margin-left: auto;
    margin-right: auto
}

main#company #policy .contents-wrap {
    position: relative;
    z-index: 1
}

main#company #policy .detail dl {
    background-color: #fff
}

@media screen and (min-width:835px),
print {
    main#company #policy .detail dl:nth-child(n+2) {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#company #policy .detail dl:nth-child(n+2) {
        margin-top: 23.4px
    }
}

main#company #policy .detail dl dt p {
    margin-left: auto;
    margin-right: auto
}

main#company #policy .detail dl dd {
    line-height: 2.2
}

@media screen and (min-width:835px),
print {
    main#company #policy .detail dl dd {
        margin-top: 30px
    }
}

@media screen and (max-width:834px) {
    main#company #policy .detail dl dd {
        margin-top: 17.6px
    }
}

@media screen and (min-width:835px),
print {
    main#company #policy .detail dl dd {
        font-size: 1.4rem
    }
}

@media screen and (max-width:834px) {
    main#company #policy .detail dl dd {
        font-size: 1.17rem
    }
}

main#company #policy .detail dl dd p {
    margin-left: auto;
    margin-right: auto
}

main#company #policy .detail dl.policy-quolity dt p {
    max-width: 100%
}

main#company #policy .detail dl.policy-quolity dt p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#company #policy .detail dl.policy-quolity dt p {
        width: 104px
    }
}

@media screen and (max-width:834px) {
    main#company #policy .detail dl.policy-quolity dt p {
        width: 85px
    }
}

main#company #policy .detail dl.policy-safety dt p {
    max-width: 100%
}

main#company #policy .detail dl.policy-safety dt p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#company #policy .detail dl.policy-safety dt p {
        width: 104px
    }
}

@media screen and (max-width:834px) {
    main#company #policy .detail dl.policy-safety dt p {
        width: 85px
    }
}

main#company #policy .detail dl.policy-environmental dt p {
    max-width: 100%
}

main#company #policy .detail dl.policy-environmental dt p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#company #policy .detail dl.policy-environmental dt p {
        width: 152px
    }
}

@media screen and (max-width:834px) {
    main#company #policy .detail dl.policy-environmental dt p {
        width: 125px
    }
}

@media screen and (min-width:835px),
print {
    main#company #policy .detail dl {
        padding: 40px
    }
    main#company #policy .detail dl dd {
        text-align: center
    }
    main#company #policy .detail dl dd p {
        max-width: 646px
    }
}

@media screen and (max-width:834px) {
    main#company #policy .detail dl {
        padding: 23.4px
    }
    main#company #policy .detail dl dd {
        text-align: justify;
        text-justify: inter-ideograph
    }
}

main#company #profile {
    padding-bottom: 0
}

main#company #profile h3 p {
    max-width: 100%
}

main#company #profile h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#company #profile h3 p {
        width: 424px
    }
}

@media screen and (max-width:834px) {
    main#company #profile h3 p {
        width: 348px
    }
}

main#company #profile h3 p {
    margin-left: auto;
    margin-right: auto
}

main#company #profile .table a {
    text-decoration: underline
}

main#company #profile .table a:hover {
    text-decoration: none
}

main#company #profile .table>table>tbody>tr>th {
    padding: 1em;
    white-space: nowrap;
    background-color: #eaeff1
}

@media screen and (min-width:835px),
print {
    main#company #profile .table>table>tbody>tr>th {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#company #profile .table>table>tbody>tr>th {
        font-size: .94rem
    }
}

main#company #profile .table>table>tbody>tr>td {
    padding: 1em;
    background-color: #f7f7f7
}

@media screen and (min-width:835px),
print {
    main#company #profile .table>table>tbody>tr>td {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#company #profile .table>table>tbody>tr>td {
        font-size: .94rem
    }
}

main#company #profile .table>table>tbody>tr>td>table>tbody>tr>th {
    padding-right: 1em;
    vertical-align: top;
    white-space: nowrap;
    font-weight: 400
}

main#company #profile .table>table>tbody>tr>td>table>tbody>tr>td {
    vertical-align: top
}

@media screen and (min-width:835px),
print {
    main#company #profile .table>table {
        border-collapse: separate;
        border-spacing: 1px;
        width: 100%
    }
    main#company #profile .table>table>tbody>tr>th {
        width: 250px
    }
}

@media screen and (max-width:834px) {
    main#company #profile .table>table,
    main#company #profile .table>table>tbody,
    main#company #profile .table>table>tbody>tr,
    main#company #profile .table>table>tbody>tr>td,
    main#company #profile .table>table>tbody>tr>th {
        display: block;
        width: 100%
    }
    main#company #profile .table>table>tbody>tr:nth-child(n+2) {
        margin-top: 2px
    }
}

@media screen and (min-width:835px),
print {
    main#company #profile .map {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#company #profile .map {
        margin-top: 23.4px
    }
}

main#company #profile .map div:nth-child(1) p img {
    display: block;
    width: 100%
}

main#company #profile .map div:nth-child(2) p {
    position: relative;
    height: 100%
}

main#company #profile .map div:nth-child(2) p iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

@media screen and (min-width:835px),
print {
    main#company #profile .map {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    main#company #profile .map div:nth-child(1) {
        padding-right: 10px;
        width: 50%
    }
    main#company #profile .map div:nth-child(2) {
        padding-left: 10px;
        width: 50%
    }
}

@media screen and (max-width:834px) {
    main#company #profile .map div:nth-child(2) {
        margin-top: 5.9px
    }
    main#company #profile .map div:nth-child(2) p {
        padding-top: 64.58333%
    }
}

@media screen and (min-width:835px),
print {
    main#estate h2.lowerpage-header {
        background-image: url(../img/page/estate/head_bg_pc.jpg)
    }
}

@media screen and (max-width:834px) {
    main#estate h2.lowerpage-header {
        background-image: url(../img/page/estate/head_bg_sp.jpg)
    }
}

@media screen and (min-width:835px),
print {
    main#estate .contents-body {
        padding-top: 80px
    }
}

@media screen and (max-width:834px) {
    main#estate .contents-body {
        padding-top: 46.9px
    }
}

@media screen and (min-width:835px),
print {
    main#estate .contents-body {
        padding-bottom: 120px
    }
}

@media screen and (max-width:834px) {
    main#estate .contents-body {
        padding-bottom: 70.3px
    }
}

@media screen and (min-width:835px),
print {
    main#estate .contents-wrap {
        max-width: 1060px
    }
}

@media screen and (min-width:835px),
print {
    main#estate .contents-main {
        margin-top: 60px
    }
}

@media screen and (max-width:834px) {
    main#estate .contents-main {
        margin-top: 35.2px
    }
}

@media screen and (min-width:835px),
print {
    main#estate #greeting .contents-wrap {
        max-width: 1080px
    }
}

main#estate #greeting .contents-main {
    margin-top: 0
}

main#estate #greeting h3 p {
    max-width: 100%
}

main#estate #greeting h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#estate #greeting h3 p {
        width: 228px
    }
}

@media screen and (max-width:834px) {
    main#estate #greeting h3 p {
        width: 187px
    }
}

main#estate #greeting h3 p {
    margin-left: auto;
    margin-right: auto
}

main#estate #greeting .desc .img {
    position: relative;
    z-index: 1
}

main#estate #greeting .desc .img::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    background-color: #d8e7f5;
    content: ""
}

main#estate #greeting .desc .img img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%
}

main#estate #greeting .desc .txt {
    position: relative;
    z-index: 2
}

main#estate #greeting .desc .txt dl.upper dt div:nth-child(1) {
    max-width: 100%
}

main#estate #greeting .desc .txt dl.upper dt div:nth-child(1) img {
    display: block;
    width: 100%
}

main#estate #greeting .desc .txt dl.upper dt div:nth-child(2) {
    white-space: nowrap;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#estate #greeting .desc .txt dl.upper dt div:nth-child(2) {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#estate #greeting .desc .txt dl.upper dt div:nth-child(2) {
        font-size: 1.29rem
    }
}

main#estate #greeting .desc .txt dl.upper dd {
    margin-top: 1em;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#estate #greeting .desc .txt dl.upper dd {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#estate #greeting .desc .txt dl.upper dd {
        font-size: 1.29rem
    }
}

@media screen and (min-width:835px),
print {
    main#estate #greeting .desc .txt dl.lower {
        margin-top: 50px
    }
}

@media screen and (max-width:834px) {
    main#estate #greeting .desc .txt dl.lower {
        margin-top: 23.4px
    }
}

main#estate #greeting .desc .txt dl.lower dt {
    color: #0051b6;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#estate #greeting .desc .txt dl.lower dt {
        font-size: 1.4rem
    }
}

@media screen and (max-width:834px) {
    main#estate #greeting .desc .txt dl.lower dt {
        font-size: 1.17rem
    }
}

main#estate #greeting .desc .txt dl.lower dd {
    margin-top: .5em;
    text-align: justify;
    text-justify: inter-ideograph;
    line-height: 2.2
}

@media screen and (min-width:835px),
print {
    main#estate #greeting .desc .txt dl.lower dd {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#estate #greeting .desc .txt dl.lower dd {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    main#estate #greeting .desc {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
    main#estate #greeting .desc .img {
        width: 470px;
        min-width: 470px
    }
    main#estate #greeting .desc .img::before {
        margin-bottom: -90px;
        margin-left: -60px;
        width: 380px;
        height: 240px
    }
    main#estate #greeting .desc .txt {
        padding-left: 40px
    }
    main#estate #greeting .desc .txt dl.upper dt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    main#estate #greeting .desc .txt dl.upper dt div:nth-child(1) {
        width: 262px
    }
    main#estate #greeting .desc .txt dl.upper dt div:nth-child(2) {
        margin-top: 10px;
        padding-left: .25em;
        width: auto
    }
}

@media screen and (max-width:834px) {
    main#estate #greeting .desc .img {
        width: 100%
    }
    main#estate #greeting .desc .img::before {
        margin-bottom: -17.6px;
        margin-left: -26.4px;
        width: 86%;
        padding-top: 63.15789%
    }
    main#estate #greeting .desc .txt {
        margin-top: 23.4px
    }
    main#estate #greeting .desc .txt dl.upper dt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    main#estate #greeting .desc .txt dl.upper dt div:nth-child(1) {
        width: 262px
    }
    main#estate #greeting .desc .txt dl.upper dt div:nth-child(2) {
        margin-top: 10px;
        padding-left: .25em;
        width: auto
    }
}

@media screen and (min-width:835px),
print {
    main#estate #greeting .chart {
        margin-top: 60px
    }
}

@media screen and (max-width:834px) {
    main#estate #greeting .chart {
        margin-top: 23.4px
    }
}

main#estate #greeting .chart p {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%
}

main#estate #greeting .chart p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#estate #greeting .chart p {
        width: 702px
    }
}

@media screen and (max-width:834px) {
    main#estate #greeting .chart p {
        width: 100%
    }
}

main#estate #features {
    background-color: #eff1f9
}

main#estate #features h3 p {
    max-width: 100%
}

main#estate #features h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#estate #features h3 p {
        width: 226px
    }
}

@media screen and (max-width:834px) {
    main#estate #features h3 p {
        width: 185px
    }
}

main#estate #features h3 p {
    margin-left: auto;
    margin-right: auto
}

main#estate #features .point {
    margin-left: auto;
    margin-right: auto
}

main#estate #features .point ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

main#estate #features .point ul li {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

main#estate #features .point ul li .img img {
    margin-left: auto;
    margin-right: auto;
    display: block
}

@media screen and (min-width:835px),
print {
    main#estate #features .point ul li .txt {
        margin-top: 10px
    }
}

@media screen and (max-width:834px) {
    main#estate #features .point ul li .txt {
        margin-top: 5.9px
    }
}

main#estate #features .point ul li .txt dl dt {
    color: #0051b6;
    text-align: center;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#estate #features .point ul li .txt dl dt {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#estate #features .point ul li .txt dl dt {
        font-size: 1.29rem
    }
}

main#estate #features .point ul li .txt dl dd {
    margin-top: .5em;
    line-height: 1.8
}

@media screen and (min-width:835px),
print {
    main#estate #features .point ul li .txt dl dd {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#estate #features .point ul li .txt dl dd {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    main#estate #features .point {
        max-width: 762px
    }
    main#estate #features .point ul {
        margin-bottom: -60px;
        margin-left: -20px;
        margin-right: -20px
    }
    main#estate #features .point ul li {
        padding-bottom: 60px;
        padding-left: 20px;
        padding-right: 20px
    }
    main#estate #features .point ul li .li-wrap {
        max-width: 320px
    }
    main#estate #features .point ul li .txt dl dd {
        text-align: center
    }
}

@media screen and (max-width:834px) {
    main#estate #features .point ul {
        margin-bottom: -17.6px;
        margin-left: -11.7px;
        margin-right: -11.7px
    }
    main#estate #features .point ul li {
        padding-bottom: 17.6px;
        padding-left: 11.7px;
        padding-right: 11.7px
    }
    main#estate #features .point ul li .txt dl dd {
        text-align: justify;
        text-justify: inter-ideograph
    }
    main#estate #features .point ul li .txt dl dd br {
        display: none
    }
}

@media screen and (min-width:835px),
print {
    main#estate #detail .contents-main {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#estate #detail .contents-main {
        margin-top: 23.4px
    }
}

main#estate #detail h3 div:nth-child(1) {
    max-width: 100%
}

main#estate #detail h3 div:nth-child(1) img {
    display: block;
    width: 100%
}

main#estate #detail h3 div:nth-child(2) {
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#estate #detail h3 div:nth-child(2) {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#estate #detail h3 div:nth-child(2) {
        font-size: 1.29rem
    }
}

@media screen and (min-width:835px),
print {
    main#estate #detail h3 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    main#estate #detail h3 div:nth-child(1) {
        width: 262px
    }
    main#estate #detail h3 div:nth-child(2) {
        margin-top: 10px;
        padding-left: .25em;
        width: auto
    }
}

@media screen and (max-width:834px) {
    main#estate #detail h3 div:nth-child(1) {
        margin-left: auto;
        margin-right: auto;
        width: 262px
    }
    main#estate #detail h3 div:nth-child(2) {
        margin-top: 6px;
        text-align: center
    }
}

@media screen and (min-width:835px),
print {
    main#estate #detail .banner-ym ul {
        margin-left: -15px;
        margin-right: -15px
    }
    main#estate #detail .banner-ym ul li {
        padding-left: 15px;
        padding-right: 15px
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust {
        padding-top: 0
    }
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(1) {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    main#estate #entrust .contents-wrap:nth-child(1) .txt {
        width: 572px
    }
    main#estate #entrust .contents-wrap:nth-child(1) .img {
        width: 334px
    }
}

main#estate #entrust .contents-wrap:nth-child(1) .txt {
    background: url(../img/page/estate/entrust_contents_bg.jpg) 50% 50%/cover no-repeat
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(1) .txt {
        padding-top: 80px
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(1) .txt {
        padding-top: 23.4px
    }
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(1) .txt {
        padding-bottom: 80px
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(1) .txt {
        padding-bottom: 23.4px
    }
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(1) .txt {
        padding-left: 60px
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(1) .txt {
        padding-left: 6.3vw
    }
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(1) .txt {
        padding-right: 60px
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(1) .txt {
        padding-right: 6.3vw
    }
}

main#estate #entrust .contents-wrap:nth-child(1) .txt h3 {
    color: #0051b6
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(1) .txt h3 {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(1) .txt h3 {
        font-size: 1.29rem
    }
}

main#estate #entrust .contents-wrap:nth-child(1) .txt .contents-main {
    line-height: 2
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(1) .txt .contents-main {
        margin-top: 10px
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(1) .txt .contents-main {
        margin-top: 5.9px
    }
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(1) .txt .contents-main {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(1) .txt .contents-main {
        font-size: .94rem
    }
}

main#estate #entrust .contents-wrap:nth-child(1) .img div img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(1) .img {
        position: relative
    }
    main#estate #entrust .contents-wrap:nth-child(1) .img div {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 117.36527%
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(1) .img {
        margin-top: 11.7px
    }
    main#estate #entrust .contents-wrap:nth-child(1) .img div {
        margin-left: auto;
        margin-right: auto;
        width: 80%
    }
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(2) {
        margin-top: 80px
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(2) {
        margin-top: 46.9px
    }
}

main#estate #entrust .contents-wrap:nth-child(2) .banner ul li a {
    display: block
}

main#estate #entrust .contents-wrap:nth-child(2) .banner ul li a img {
    display: block;
    width: 100%
}

main#estate #entrust .contents-wrap:nth-child(2) .banner ul li dl {
    text-align: center
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(2) .banner ul li dl {
        margin-top: 10px
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(2) .banner ul li dl {
        margin-top: 5.9px
    }
}

main#estate #entrust .contents-wrap:nth-child(2) .banner ul li dl dt {
    color: #0051b6;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(2) .banner ul li dl dt {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(2) .banner ul li dl dt {
        font-size: 1.29rem
    }
}

main#estate #entrust .contents-wrap:nth-child(2) .banner ul li dl dd {
    color: #000
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(2) .banner ul li dl dd {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(2) .banner ul li dl dd {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    main#estate #entrust .contents-wrap:nth-child(2) .banner ul {
        margin-left: -30px;
        margin-right: -30px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    main#estate #entrust .contents-wrap:nth-child(2) .banner ul li {
        padding-left: 30px;
        padding-right: 30px;
        width: 50%
    }
}

@media screen and (max-width:834px) {
    main#estate #entrust .contents-wrap:nth-child(2) .banner ul {
        margin-left: auto;
        margin-right: auto;
        width: 73%
    }
    main#estate #entrust .contents-wrap:nth-child(2) .banner ul li:nth-child(n+2) {
        margin-top: 23.4px
    }
}

@media screen and (min-width:835px),
print {
    main#architecture h2.lowerpage-header,main#agri h2.lowerpage-header {
        background-image: url(../img/page/architecture/head_bg_pc.jpg)
    }
}

@media screen and (max-width:834px) {
    main#architecture h2.lowerpage-header,main#agri h2.lowerpage-header {
        background-image: url(../img/page/architecture/head_bg_sp.jpg)
    }
}

@media screen and (min-width:835px),
print {
    main#architecture .contents-wrap,main#agri .contents-wrap {
        max-width: 1060px
    }
}

main#architecture section h3,main#agri section h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat
}

@media screen and (min-width:835px),
print {
    main#architecture section h3,main#agri section h3 {
        height: 140px
    }
}

@media screen and (max-width:834px) {
    main#architecture section h3,main#agri section h3 {
        height: 21.9vw
    }
}

@media screen and (min-width:835px),
print {
    main#architecture section .contents-wrap,main#agri section .contents-wrap {
        padding-top: 80px
    }
}

@media screen and (max-width:834px) {
    main#architecture section .contents-wrap,main#agri section .contents-wrap {
        padding-top: 46.9px
    }
}

@media screen and (min-width:835px),
print {
    main#architecture section .contents-wrap,main#agri section .contents-wrap {
        padding-bottom: 120px
    }
}

@media screen and (max-width:834px) {
    main#architecture section .contents-wrap,main#agri section .contents-wrap {
        padding-bottom: 70.3px
    }
}

@media screen and (min-width:835px),
print {
    main#architecture #intro,main#agri #intro {
        padding-top: 80px
    }
}

@media screen and (max-width:834px) {
    main#architecture #intro,main#agri #intro {
        padding-top: 46.9px
    }
}

@media screen and (min-width:835px),
print {
    main#architecture #intro,main#agri #intro {
        padding-bottom: 160px
    }
}

@media screen and (max-width:834px) {
    main#architecture #intro,main#agri #intro {
        padding-bottom: 70.3px
    }
}

main#architecture #intro .contents-main .img,main#agri #intro .contents-main .img {
    position: relative
}

main#architecture #intro .contents-main .img::before {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #ebf1f9;
    content: ""
}

main#agri #intro .contents-main .img::before {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #ebf1f9;
    content: ""
}

main#architecture #intro .contents-main .img img,main#agri #intro .contents-main .img img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%
}

main#architecture #intro .contents-main .txt,main#agri #intro .contents-main .txt {
    position: relative;
    z-index: 2
}

main#architecture #intro .contents-main .txt div:nth-child(1) {
    font-weight: 700
}

main#agri #intro .contents-main .txt div:nth-child(1) {
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#architecture #intro .contents-main .txt div:nth-child(1) {
        font-size: 1.6rem
    }

    main#agri #intro .contents-main .txt div:nth-child(1) {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#architecture #intro .contents-main .txt div:nth-child(1) {
        font-size: 1.29rem
    }

    main#agri #intro .contents-main .txt div:nth-child(1) {
        font-size: 1.29rem
    }
}

main#architecture #intro .contents-main .txt div:nth-child(2) {
    margin-top: 1em;
    line-height: 2
}

main#agri #intro .contents-main .txt div:nth-child(2) {
    margin-top: 1em;
    line-height: 2
}

@media screen and (min-width:835px),
print {
    main#architecture #intro .contents-main .txt div:nth-child(2) {
        font-size: 1.2rem
    }

    main#agri #intro .contents-main .txt div:nth-child(2) {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#architecture #intro .contents-main .txt div:nth-child(2) {
        font-size: .94rem
    }

    main#agri #intro .contents-main .txt div:nth-child(2) {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    main#architecture #intro .contents-main,main#agri #intro .contents-main {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    main#architecture #intro .contents-main .img,main#agri #intro .contents-main .img {
        width: 466px;
        min-width: 466px
    }
    main#architecture #intro .contents-main .img::before {
        margin-bottom: -50px;
        margin-left: -100px
    }
    main#agri #intro .contents-main .img::before {
        margin-bottom: -50px;
        margin-left: -100px
    }
    main#architecture #intro .contents-main .txt,main#agri #intro .contents-main .txt {
        padding-left: 20px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
}

@media screen and (max-width:834px) {
    main#architecture #intro .contents-main .img::before {
        margin-bottom: -23.4px;
        margin-left: -46.9px
    }
    main#agri #intro .contents-main .img::before {
        margin-bottom: -23.4px;
        margin-left: -46.9px
    }
    main#architecture #intro .contents-main .txt,main#agri #intro .contents-main .txt {
        margin-top: 35.2px
    }
}

main#architecture #house h3 p,main#agri #house h3 p {
    max-width: 100%
}

main#architecture #house h3 p img,main#agri #house h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#architecture #house h3 p {
        width: 154px
    }

    main#agri #house h3 p {
        width: 230px
    }
}

@media screen and (max-width:834px) {
    main#architecture #house h3 p {
        width: 126px
    }

    main#agri #house h3 p {
        width: 200px
    }
}

@media screen and (min-width:835px),
print {
    main#architecture #house h3 {
        background-image: url(../img/page/architecture/house_h_bg_pc.jpg)
    }

    main#agri #house h3 {
        background-image: url(../img/page/agri/agri_h_bg_pc.jpg)
    }
}

@media screen and (max-width:834px) {
    main#architecture #house h3 {
        background-image: url(../img/page/architecture/house_h_bg_sp.jpg)
    }

    main#agri #house h3 {
        background-image: url(../img/page/agri/agri_h_bg_sp.jpg)
    }
}

main#architecture #house .intro dl,main#agri #house .intro dl {
    text-align: center
}

main#architecture #house .intro dl dt,main#agri #house .intro dl dt {
    color: #0051b6;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#architecture #house .intro dl dt,main#agri #house .intro dl dt {
        font-size: 1.8rem
    }
}

@media screen and (max-width:834px) {
    main#architecture #house .intro dl dt,main#agri #house .intro dl dt {
        font-size: 1.29rem
    }
}

main#architecture #house .intro dl dd,main#agri #house .intro dl dd {
    margin-top: 1em;
    line-height: 2.6
}

@media screen and (min-width:835px),
print {
    main#architecture #house .intro dl dd,main#agri #house .intro dl dd {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#architecture #house .intro dl dd,main#agri #house .intro dl dd {
        font-size: .94rem
    }
}

main#architecture #house .intro dl dd p,main#agri #house .intro dl dd p {
    display: inline-block
}

@media screen and (min-width:835px),
print {
    main#architecture #house .gallery,main#agri #house .gallery {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#architecture #house .gallery,main#agri #house .gallery {
        margin-top: 23.4px
    }
}

main#architecture #house .gallery ul li img,main#agri #house .gallery ul li img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#architecture #house .gallery ul,main#agri #house .gallery ul {
        margin-bottom: -20px;
        margin-left: -10px;
        margin-right: -10px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    main#architecture #house .gallery ul li,main#agri #house .gallery ul li {
        padding-bottom: 20px;
        padding-left: 10px;
        padding-right: 10px;
        width: 33.3%
    }
}

@media screen and (max-width:834px) {
    main#architecture #house .gallery ul li:nth-child(n+2) {
        margin-top: 11.7px
    }

    main#agri #house .gallery ul li:nth-child(n+2) {
        margin-top: 11.7px
    }
}

main#architecture #house .topics,main#agri #house .topics {
    background: url(../img/page/architecture/house_topics_bg.jpg) 50% 50%/cover no-repeat
}

@media screen and (min-width:835px),
print {
    main#architecture #house .topics,main#agri #house .topics {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#architecture #house .topics,main#agri #house .topics {
        margin-top: 23.4px
    }
}

main#architecture #house .topics .txt dl dt,main#agri #house .topics .txt dl dt {
    color: #0051b6;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#architecture #house .topics .txt dl dt,main#agri #house .topics .txt dl dt {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#architecture #house .topics .txt dl dt,main#agri #house .topics .txt dl dt {
        font-size: 1.29rem
    }
}

main#architecture #house .topics .txt dl dt sup,main#agri #house .topics .txt dl dt sup {
    color: #000
}

main#architecture #house .topics .txt dl dd,main#agri #house .topics .txt dl dd {
    margin-top: .75em;
    padding-top: .75em;
    border-top: 1px dotted #000;
    line-height: 1.8
}

@media screen and (min-width:835px),
print {
    main#architecture #house .topics .txt dl dd,main#agri #house .topics .txt dl dd {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#architecture #house .topics .txt dl dd,main#agri #house .topics .txt dl dd {
        font-size: .94rem
    }
}

main#architecture #house .topics .txt dl dd p,main#agri #house .topics .txt dl dd p {
    display: inline-block
}

main#architecture #house .topics .img img,main#agri #house .topics .img img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#architecture #house .topics,main#agri #house .topics {
        padding-top: 30px;
        padding-bottom: 30px;
        padding-left: 60px;
        padding-right: 30px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    main#architecture #house .topics .txt,main#agri #house .topics .txt {
        padding-right: 30px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
    main#architecture #house .topics .img,main#agri #house .topics .img {
        width: 310px;
        min-width: 310px
    }
}

@media screen and (max-width:834px) {
    main#architecture #house .topics,main#agri #house .topics {
        padding-top: 23.4px;
        padding-bottom: 23.4px;
        padding-left: 23.4px;
        padding-right: 23.4px
    }
    main#architecture #house .topics .img,main#agri #house .topics .img {
        margin-top: 11.7px
    }
}

main#architecture #facilities h3 p,main#agri #facilities h3 p {
    max-width: 100%
}

main#architecture #facilities h3 p img,main#agri #facilities h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#architecture #facilities h3 p,main#agri #facilities h3 p {
        width: 240px
    }
}

@media screen and (max-width:834px) {
    main#architecture #facilities h3 p,main#agri #facilities h3 p {
        width: 197px
    }
}

@media screen and (min-width:835px),
print {
    main#architecture #facilities h3 {
        background-image: url(../img/page/architecture/facilities_h_bg_pc.jpg)
    }
}

@media screen and (max-width:834px) {
    main#architecture #facilities h3 {
        background-image: url(../img/page/architecture/facilities_h_bg_sp.jpg)
    }
}

main#architecture #facilities .intro dl {
    text-align: center
}

main#architecture #facilities .intro dl dt {
    color: #0051b6;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#architecture #facilities .intro dl dt {
        font-size: 1.8rem
    }
}

@media screen and (max-width:834px) {
    main#architecture #facilities .intro dl dt {
        font-size: 1.29rem
    }
}

main#architecture #facilities .intro dl dd {
    margin-top: 1em;
    line-height: 2.6
}

@media screen and (min-width:835px),
print {
    main#architecture #facilities .intro dl dd {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#architecture #facilities .intro dl dd {
        font-size: .94rem
    }
}

main#architecture #facilities .intro dl dd p {
    display: inline-block
}

@media screen and (min-width:835px),
print {
    main#result h2.lowerpage-header {
        background-image: url(../img/page/architecture/head_bg_pc.jpg)
    }
    main#result h2.lowerpage-header2 {
        margin-top: 20px;
        text-align: center;
    }
}

@media screen and (max-width:834px) {
    main#result h2.lowerpage-header {
        background-image: url(../img/page/architecture/head_bg_sp.jpg)
    }
    main#result h2.lowerpage-header2 {
        margin-top: 20px;
        text-align: center;
    }
}

@media screen and (min-width:835px),
print {
    main#result .contents-wrap {
        max-width: 1060px
    }
}

main#result section h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat
}

@media screen and (min-width:835px),
print {
    main#result section h3 {
        height: 140px
    }
}

@media screen and (max-width:834px) {
    main#result section h3 {
        height: 21.9vw
    }
}

@media screen and (min-width:835px),
print {
    main#result section .contents-wrap {
        padding-top: 80px
    }
}

@media screen and (max-width:834px) {
    main#result section .contents-wrap {
        padding-top: 46.9px
    }
}

@media screen and (min-width:835px),
print {
    main#result section .contents-wrap {
        padding-bottom: 120px
    }
}

@media screen and (max-width:834px) {
    main#result section .contents-wrap {
        padding-bottom: 70.3px
    }
}

@media screen and (min-width:835px),
print {
    main#result #intro {
        padding-top: 80px
    }
}

@media screen and (max-width:834px) {
    main#result #intro {
        padding-top: 46.9px
    }
}

@media screen and (min-width:835px),
print {
    main#result #intro {
        padding-bottom: 80px
    }
}

@media screen and (max-width:834px) {
    main#result #intro {
        padding-bottom: 70.3px
    }
}

main#result #intro .contents-main .img {
    position: relative
}

main#result #intro .contents-main .img::before {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #ebf1f9;
    content: ""
}

main#result #intro .contents-main .img img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%
}

main#result #intro .contents-main .txt {
    position: relative;
}

main#result #intro .contents-main .txt div:nth-child(1) {
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#result #intro .contents-main .txt div:nth-child(1) {
        font-size: 1.6rem;
        color: #0051b6;
    }
}

@media screen and (max-width:834px) {
    main#result #intro .contents-main .txt div:nth-child(1) {
        font-size: 1.29rem
    }
}

main#result #intro .contents-main .txt div:nth-child(2) {
    margin-top: 1em;
    line-height: 2
}

@media screen and (min-width:835px),
print {
    main#result #intro .contents-main .txt div:nth-child(2) {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#result #intro .contents-main .txt div:nth-child(2) {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    main#result #intro .contents-main {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: space-between;
    }
    main#result #intro .contents-main-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 49%;
    }
    main#result #intro .contents-main-inner .inner-box {
        width: 50%;
    }
    .contents-inner-img a:hover {
        opacity: 0.8;
    }
    .contents-inner-img a img {
        width: 100%;
        max-height: 150px;
    }
    main#result #intro .contents-main .txt {
        padding-left: 20px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
    ul.result-list li {
        display: inline-block;
        margin-top: 4px;
    }
    ul.result-list li:first-child {
        width: 55px;
    }
    .bigimg {
        background: #fff;
        left: 50%;
        padding: 40px;
        position: absolute;
        top: 50%;
        text-align: center;
        transform: translate(-50%, -50%);
        width: 60%;
    }
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
    display: none;
    z-index: 10002;
}

.bigimg img {
    width: 100%;
}

.close-btn {
    color: #fff;
    font-size: 40px;
    position: absolute;
    right: 20px;
    top: 0;
}

.close-btn a {
    color: #fff;
    text-decoration: none;
}

.mt20 {
    margin-top: 20px;
}

.mt40 {
    margin-top: 40px;
}

.text-center {
    text-align: center;
}

.top-footer-banner {
    width: 630px;
}

.b {
    font-weight: bold;
}

.b-border {
    border: 1px solid #333333;
    width: 80%;
}

.d-inline-block {
    display: inline-block;
}

.p-txt {
    font-size: 1.2rem;
}

.f-16 {
    font-size: 16px;
}

.f-18 {
    font-size: 18px;
}

@media screen and (max-width:834px) {
    main#result #intro .contents-main .img::before {
        margin-bottom: -23.4px;
        margin-left: -46.9px
    }
    main#result #intro .contents-main .txt {
        margin: 35.2px 0;
    }
    .contents-inner-img {
        width: 100%;
    }
    ul.result-list li {
        display: inline-block;
    }
    ul.result-list li:first-child {
        width: 55px;
    }
    .bigimg {
        background: #fff;
        left: 50%;
        padding: 10px;
        position: absolute;
        top: 50%;
        text-align: center;
        transform: translate(-50%, -50%);
        width: 95%;
    }
    .top-footer-banner {
        width: 55%;
    }
}

main#result #house h3 p {
    max-width: 100%
}

main#result #house h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#result #house h3 p {
        width: 154px
    }
}

@media screen and (max-width:834px) {
    main#result #house h3 p {
        width: 126px
    }
}

@media screen and (min-width:835px),
print {
    main#result #house h3 {
        background-image: url(../img/page/architecture/house_h_bg_pc.jpg)
    }
}

@media screen and (max-width:834px) {
    main#result #house h3 {
        background-image: url(../img/page/architecture/house_h_bg_sp.jpg)
    }
}

main#result #house .intro dl {
    text-align: center
}

main#result #house .intro dl dt {
    color: #0051b6;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#result #house .intro dl dt {
        font-size: 1.8rem
    }
}

@media screen and (max-width:834px) {
    main#result #house .intro dl dt {
        font-size: 1.29rem
    }
}

main#result #house .intro dl dd {
    margin-top: 1em;
    line-height: 2.6
}

@media screen and (min-width:835px),
print {
    main#result #house .intro dl dd {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#result #house .intro dl dd {
        font-size: .94rem
    }
}

main#result #house .intro dl dd p {
    display: inline-block
}

@media screen and (min-width:835px),
print {
    main#result #house .gallery {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#result #house .gallery {
        margin-top: 23.4px
    }
}

main#result #house .gallery ul li img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#result #house .gallery ul {
        margin-bottom: -20px;
        margin-left: -10px;
        margin-right: -10px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    main#result #house .gallery ul li {
        padding-bottom: 20px;
        padding-left: 10px;
        padding-right: 10px;
        width: 33.3%
    }
}

@media screen and (max-width:834px) {
    main#result #house .gallery ul li:nth-child(n+2) {
        margin-top: 11.7px
    }
}

main#result #house .topics {
    background: url(../img/page/architecture/house_topics_bg.jpg) 50% 50%/cover no-repeat
}

@media screen and (min-width:835px),
print {
    main#result #house .topics {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#result #house .topics {
        margin-top: 23.4px
    }
}

main#result #house .topics .txt dl dt {
    color: #0051b6;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#result #house .topics .txt dl dt {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#result #house .topics .txt dl dt {
        font-size: 1.29rem
    }
}

main#result #house .topics .txt dl dt sup {
    color: #000
}

main#result #house .topics .txt dl dd {
    margin-top: .75em;
    padding-top: .75em;
    border-top: 1px dotted #000;
    line-height: 1.8
}

@media screen and (min-width:835px),
print {
    main#result #house .topics .txt dl dd {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#result #house .topics .txt dl dd {
        font-size: .94rem
    }
}

main#result #house .topics .txt dl dd p {
    display: inline-block
}

main#result #house .topics .img img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#result #house .topics {
        padding-top: 30px;
        padding-bottom: 30px;
        padding-left: 60px;
        padding-right: 30px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    main#result #house .topics .txt {
        padding-right: 30px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
    main#result #house .topics .img {
        width: 310px;
        min-width: 310px
    }
}

@media screen and (max-width:834px) {
    main#result #house .topics {
        padding-top: 23.4px;
        padding-bottom: 23.4px;
        padding-left: 23.4px;
        padding-right: 23.4px
    }
    main#result #house .topics .img {
        margin-top: 11.7px
    }
}

main#result #facilities h3 p {
    max-width: 100%
}

main#result #facilities h3 p img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#result #facilities h3 p {
        width: 240px
    }
}

@media screen and (max-width:834px) {
    main#result #facilities h3 p {
        width: 197px
    }
}

@media screen and (min-width:835px),
print {
    main#result #facilities h3 {
        background-image: url(../img/page/architecture/facilities_h_bg_pc.jpg)
    }
}

@media screen and (max-width:834px) {
    main#result #facilities h3 {
        background-image: url(../img/page/architecture/facilities_h_bg_sp.jpg)
    }
}

main#result #facilities .intro dl {
    text-align: center
}

main#result #facilities .intro dl dt {
    color: #0051b6;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#result #facilities .intro dl dt {
        font-size: 1.8rem
    }
}

@media screen and (max-width:834px) {
    main#result #facilities .intro dl dt {
        font-size: 1.29rem
    }
}

main#result #facilities .intro dl dd {
    margin-top: 1em;
    line-height: 2.6
}

@media screen and (min-width:835px),
print {
    main#result #facilities .intro dl dd {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#result #facilities .intro dl dd {
        font-size: .94rem
    }
}

main#result #facilities .intro dl dd p {
    display: inline-block
}

@media screen and (min-width:835px),
print {
    main#reform h2.lowerpage-header {
        background-image: url(../img/page/reform/head_bg_pc.jpg)
    }
}

@media screen and (max-width:834px) {
    main#reform h2.lowerpage-header {
        background-image: url(../img/page/reform/head_bg_sp.jpg)
    }
}

@media screen and (min-width:835px),
print {
    main#reform .contents {
        padding-top: 80px
    }
}

@media screen and (max-width:834px) {
    main#reform .contents {
        padding-top: 46.9px
    }
}

@media screen and (min-width:835px),
print {
    main#reform .contents {
        padding-bottom: 80px
    }
}

@media screen and (max-width:834px) {
    main#reform .contents {
        padding-bottom: 23.4px
    }
}

@media screen and (min-width:835px),
print {
    main#reform .contents-wrap {
        max-width: 1060px
    }
}

main#reform #information .intro .img img {
    display: block;
    width: 100%
}

main#reform #information .intro .txt div:nth-child(1) {
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#reform #information .intro .txt div:nth-child(1) {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#reform #information .intro .txt div:nth-child(1) {
        font-size: 1.29rem
    }
}

main#reform #information .intro .txt div:nth-child(2) {
    margin-top: 1em;
    line-height: 2
}

@media screen and (min-width:835px),
print {
    main#reform #information .intro .txt div:nth-child(2) {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#reform #information .intro .txt div:nth-child(2) {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    main#reform #information .intro {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    main#reform #information .intro .img {
        width: 466px;
        min-width: 466px
    }
    main#reform #information .intro .txt {
        padding-left: 20px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
}

@media screen and (max-width:834px) {
    main#reform #information .intro .txt {
        margin-top: 11.7px
    }
}

@media screen and (min-width:835px),
print {
    main#reform #information .point {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#reform #information .point {
        margin-top: 23.4px
    }
}

main#reform #information .point ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

main#reform #information .point ul li .img img {
    margin-left: auto;
    margin-right: auto;
    display: block
}

main#reform #information .point ul li .txt {
    margin-top: .5em;
    color: #0051b6;
    text-align: center;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#reform #information .point ul li .txt {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#reform #information .point ul li .txt {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    main#reform #information .point .note {
        margin-top: 20px
    }
}

@media screen and (max-width:834px) {
    main#reform #information .point .note {
        margin-top: 11.7px
    }
}

@media screen and (min-width:835px),
print {
    main#reform #information .point .note {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#reform #information .point .note {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    main#reform #information .point ul {
        margin-bottom: -20px;
        margin-left: -10px;
        margin-right: -10px;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    main#reform #information .point ul li {
        padding-bottom: 20px;
        padding-left: 10px;
        padding-right: 10px;
        width: auto
    }
    main#reform #information .point ul li .txt {
        position: relative;
        height: 1.6em
    }
    main#reform #information .point ul li .txt div {
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        white-space: nowrap
    }
}

@media screen and (max-width:834px) {
    main#reform #information .point ul {
        margin-bottom: -17.6px;
        margin-left: auto;
        margin-right: auto;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        max-width: 320px
    }
    main#reform #information .point ul li {
        padding-bottom: 17.6px;
        padding-left: 8.8px;
        padding-right: 8.8px;
        width: 50%
    }
    main#reform #information .point ul li .txt div {
        text-align: center
    }
}

@media screen and (min-width:835px),
print {
    main#reform #information .gallery {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#reform #information .gallery {
        margin-top: 23.4px
    }
}

main#reform #information .gallery ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (min-width:835px),
print {
    main#reform #information .gallery ul {
        margin-bottom: -20px;
        margin-left: -10px;
        margin-right: -10px
    }
    main#reform #information .gallery ul li {
        padding-bottom: 20px;
        padding-left: 10px;
        padding-right: 10px;
        width: 33.3%
    }
}

@media screen and (max-width:834px) {
    main#reform #information .gallery ul {
        margin-bottom: -11.7px;
        margin-left: -5.9px;
        margin-right: -5.9px
    }
    main#reform #information .gallery ul li {
        padding-bottom: 11.7px;
        padding-left: 5.9px;
        padding-right: 5.9px;
        width: 50%
    }
}

main#form form#mailformpro {
    margin-right: auto;
    margin-left: auto;
    padding: 0;
    max-width: 740px
}

main#form form#mailformpro .mfp_element_button,
main#form form#mailformpro .mfp_element_reset,
main#form form#mailformpro .mfp_element_submit,
main#form form#mailformpro .mfp_next,
main#form form#mailformpro .mfp_prev {
    background: inherit;
    text-shadow: none;
    border-radius: 0;
    color: inherit;
    font-size: inherit
}

main#form form#mailformpro .mfp_element_button:hover,
main#form form#mailformpro .mfp_element_reset:hover,
main#form form#mailformpro .mfp_element_submit:hover,
main#form form#mailformpro .mfp_next:hover,
main#form form#mailformpro .mfp_prev:hover {
    opacity: .5;
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s
}

main#form form#mailformpro .mfp_element_button:hover,
main#form form#mailformpro .mfp_element_reset:hover,
main#form form#mailformpro .mfp_element_submit:hover,
main#form form#mailformpro .mfp_next:hover,
main#form form#mailformpro .mfp_prev:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
    background: inherit
}

main#form form#mailformpro .mfp_element_date,
main#form form#mailformpro .mfp_element_email,
main#form form#mailformpro .mfp_element_number,
main#form form#mailformpro .mfp_element_password,
main#form form#mailformpro .mfp_element_select-one,
main#form form#mailformpro .mfp_element_tel,
main#form form#mailformpro .mfp_element_text,
main#form form#mailformpro .mfp_element_textarea {
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none
}

main#form form#mailformpro .mfp_colored {
    background-color: transparent
}

main#form form#mailformpro .must {
    margin: 0;
    padding: 0;
    text-shadow: none;
    font-size: inherit;
    background-image: none;
    background-size: auto;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
    border: none;
    float: none;
    display: inline-block;
    color: #c71432;
    background-color: transparent
}

main#form form#mailformpro .mfp_ok {
    margin: 0;
    padding: 0 .25em;
    margin-left: .5em;
    background-image: none;
    background-size: auto;
    border-radius: 0;
    font-size: inherit;
    border: none
}

main#form form#mailformpro .mfp_err {
    margin: 0;
    padding: 0;
    margin-left: .5em;
    background: 0 0;
    font-size: inherit;
    width: 100%;
    margin: 0;
    margin-top: .5em;
    color: #000;
    background-color: #ff0;
    font-size: 80%;
    text-align: center;
    padding: .2em .5em
}

main#form form#mailformpro .mfp_buttons {
    padding: 0
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro .mfp_buttons {
        margin-top: 30px
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro .mfp_buttons {
        margin-top: 17.6px
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro .mfp_buttons {
        text-align: center
    }
    main#form form#mailformpro .mfp_buttons button:nth-child(n+2) {
        margin-top: 20px
    }
}

main#form form#mailformpro ol li:nth-child(n+2),
main#form form#mailformpro ul li:nth-child(n+2) {
    margin-top: .5em
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro dl {
        margin-bottom: 30px
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro dl {
        margin-bottom: 17.6px
    }
}

main#form form#mailformpro dl dd,
main#form form#mailformpro dl dt {
    padding: 0;
    border: none
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro dl dd,
    main#form form#mailformpro dl dt {
        font-size: 1.4rem
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro dl dd,
    main#form form#mailformpro dl dt {
        font-size: 1.17rem
    }
}

main#form form#mailformpro dl dt {
    padding-right: .5em;
    float: none;
    clear: none;
    text-align: left
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro dl dt {
        font-size: 1.4rem
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro dl dt {
        font-size: 1.17rem
    }
}

main#form form#mailformpro dl dt span {
    margin-left: .4em;
    margin-right: .4em;
    padding: 0 .3em;
    border-radius: .25em;
    display: inline-block;
    color: #fff;
    background-color: #c1272d;
    white-space: nowrap
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro dl dt span {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro dl dt span {
        font-size: .94rem
    }
}

main#form form#mailformpro dl dd .dd-wrap {
    width: 100%
}

main#form form#mailformpro dl dd ol {
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    main#form form#mailformpro dl dt {
        padding-top: .5em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        width: 150px
    }
    main#form form#mailformpro dl dd {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 510px
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro dl dd,
    main#form form#mailformpro dl dt {
        width: 100%
    }
    main#form form#mailformpro dl dd {
        margin-top: 4px
    }
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro dl.confirm {
        margin-top: 5px
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro dl.confirm {
        margin-top: 5.9px
    }
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro dl.yubin .dd-wrap {
        max-width: 224px
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro dl.radio dd {
        margin-top: 8px
    }
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro dl.width-full .dd-wrap {
        max-width: 100%
    }
}

main#form form#mailformpro ::-webkit-input-placeholder {
    color: #b3b3b3
}

main#form form#mailformpro :-ms-input-placeholder {
    color: #b3b3b3
}

main#form form#mailformpro ::-ms-input-placeholder {
    color: #b3b3b3
}

main#form form#mailformpro ::placeholder {
    color: #b3b3b3
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro ::-webkit-input-placeholder {
        font-size: 1.2rem
    }
    main#form form#mailformpro :-ms-input-placeholder {
        font-size: 1.2rem
    }
    main#form form#mailformpro ::-ms-input-placeholder {
        font-size: 1.2rem
    }
    main#form form#mailformpro ::placeholder {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro ::-webkit-input-placeholder {
        font-size: .94rem
    }
    main#form form#mailformpro :-ms-input-placeholder {
        font-size: .94rem
    }
    main#form form#mailformpro ::-ms-input-placeholder {
        font-size: .94rem
    }
    main#form form#mailformpro ::placeholder {
        font-size: .94rem
    }
}

main#form form#mailformpro input,
main#form form#mailformpro select,
main#form form#mailformpro textarea {
    margin: 0;
    padding: 0;
    background: 0 0;
    border: none;
    border-radius: 0;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: none;
    padding: .5em;
    color: inherit;
    background-color: #fff
}

main#form form#mailformpro input:focus,
main#form form#mailformpro select:focus,
main#form form#mailformpro textarea:focus {
    background: rgba(49, 137, 212, .1)
}

main#form form#mailformpro input.mfp_element_all,
main#form form#mailformpro select.mfp_element_all,
main#form form#mailformpro textarea.mfp_element_all {
    max-width: none!important
}

@media screen and (max-width:834px) {
    main#form form#mailformpro input,
    main#form form#mailformpro select,
    main#form form#mailformpro textarea {
        width: 100%
    }
}

main#form form#mailformpro input,
main#form form#mailformpro textarea {
    margin: 0;
    width: 100%!important;
    border: 1px solid #ccc
}

main#form form#mailformpro input:last-child {
    margin-right: 0
}

main#form form#mailformpro input[type=checkbox],
main#form form#mailformpro input[type=radio] {
    border: none;
    margin-right: .2em;
    padding: 0
}

main#form form#mailformpro input[type=radio] {
    display: none;
    display: block;
    opacity: 0;
    width: 0!important
}

main#form form#mailformpro input[type=radio]~.swRadio {
    margin-right: .25em;
    display: block;
    border-radius: 14px;
    width: 14px;
    height: 14px;
    background-color: #fff;
    border: 1px solid #ccc;
    position: relative
}

main#form form#mailformpro input[type=radio]~.swRadio::before {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: block;
    border-radius: 8px;
    width: 8px;
    height: 8px;
    background-color: transparent;
    content: ""
}

main#form form#mailformpro input[type=radio]:checked~.swRadio::before {
    background-color: #000
}

main#form form#mailformpro input[type=checkbox] {
    display: none
}

main#form form#mailformpro input[type=checkbox]~.swCheck {
    margin-top: -.05em;
    margin-right: .25em;
    display: inline-block;
    width: .75em;
    min-width: .75em;
    height: .75em;
    min-height: .75em;
    background-color: #fff
}

main#form form#mailformpro input[type=checkbox]:checked~.swCheck {
    background-color: red
}

main#form form#mailformpro textarea {
    resize: none
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro textarea {
        height: 240px!important
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro textarea {
        height: 225px!important
    }
}

main#form form#mailformpro .radio-wrap ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

main#form form#mailformpro .radio-wrap ul li {
    margin-top: 0
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro .radio-wrap {
        margin-bottom: 6px
    }
    main#form form#mailformpro .radio-wrap ul {
        margin-bottom: -10px;
        margin-left: -10px;
        margin-right: -10px
    }
    main#form form#mailformpro .radio-wrap ul li {
        padding-bottom: 10px;
        padding-left: 10px;
        padding-right: 10px;
        width: 33.3%
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro .radio-wrap {
        margin-bottom: 6px
    }
    main#form form#mailformpro .radio-wrap ul {
        margin-bottom: -10px;
        margin-left: -10px;
        margin-right: -10px
    }
    main#form form#mailformpro .radio-wrap ul li {
        padding-bottom: 10px;
        padding-left: 10px;
        padding-right: 10px;
        width: 50%
    }
}

main#form form#mailformpro .radio-wrap-toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

main#form form#mailformpro .radio-wrap-toggle .head {
    padding-right: 10px
}

main#form form#mailformpro .radio-wrap-toggle .init {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

main#form form#mailformpro .radio-wrap-toggle .init input[type=text][disabled] {
    color: #cecece;
    background: #ececec;
    cursor: not-allowed
}

main#form form#mailformpro .select-wrap {
    position: relative;
    border-radius: 0;
    border: 1px solid #ccc;
    overflow: hidden
}

main#form form#mailformpro .select-wrap::after {
    pointer-events: none;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    display: block;
    height: 110%;
    height: calc(100% + 2px);
    background: url(../img_form/select_arrow.png) 50% 50%/100% 100% no-repeat;
    content: ""
}

main#form form#mailformpro .select-wrap select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: .5em;
    width: 100%
}

main#form form#mailformpro .select-wrap select::-ms-expand {
    display: none
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro .select-wrap::after {
        width: 38px
    }
    main#form form#mailformpro .select-wrap select {
        padding-right: 52px;
        padding-right: calc(38px + 1em)
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro .select-wrap::after {
        width: 32px
    }
    main#form form#mailformpro .select-wrap select {
        padding-right: 44px;
        padding-right: calc(32px + 1em);
        height: 31px
    }
}

main#form form#mailformpro label {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
    padding: 0;
    line-height: 1
}

main#form form#mailformpro label.mfp_checked,
main#form form#mailformpro label.mfp_not_checked {
    cursor: pointer;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
    background-color: transparent;
    border: none
}

main#form form#mailformpro button[type=reset],
main#form form#mailformpro button[type=submit] {
    border: none;
    position: relative;
    color: #fff;
    background: #0051b6!important;
    font-weight: 700
}

main#form form#mailformpro button[type=reset]:hover,
main#form form#mailformpro button[type=submit]:hover {
    opacity: .5;
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro button[type=reset],
    main#form form#mailformpro button[type=submit] {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro button[type=reset],
    main#form form#mailformpro button[type=submit] {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    main#form form#mailformpro button[type=reset],
    main#form form#mailformpro button[type=submit] {
        border-radius: 42px;
        width: 130px;
        height: 42px
    }
}

@media screen and (max-width:834px) {
    main#form form#mailformpro button[type=reset],
    main#form form#mailformpro button[type=submit] {
        border-radius: 42px;
        width: 130px;
        height: 42px
    }
}

main#form div#mfp_phase_confirm h4 {
    margin: 0;
    padding: 0
}

@media screen and (min-width:835px),
print {
    main#form div#mfp_phase_confirm h4 {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#form div#mfp_phase_confirm h4 {
        margin-top: 23.4px
    }
}

@media screen and (min-width:835px),
print {
    main#form div#mfp_phase_confirm h4 {
        font-size: 1.8rem
    }
}

@media screen and (max-width:834px) {
    main#form div#mfp_phase_confirm h4 {
        font-size: 1.29rem
    }
}

@media screen and (min-width:835px),
print {
    main#form div#mfp_phase_confirm div.mfp_buttons {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#form div#mfp_phase_confirm div.mfp_buttons {
        margin-top: 23.4px
    }
}

main#form table#mfp_confirm_table {
    margin-right: auto;
    margin-left: auto;
    border-bottom: 1px solid #ccc;
    max-width: 100%;
    width: auto
}

@media screen and (min-width:835px),
print {
    main#form table#mfp_confirm_table {
        margin-top: 10px
    }
}

@media screen and (max-width:834px) {
    main#form table#mfp_confirm_table {
        margin-top: 5.9px
    }
}

main#form table#mfp_confirm_table tr.mfp_achroma,
main#form table#mfp_confirm_table tr.mfp_colored {
    background-color: transparent
}

main#form table#mfp_confirm_table tr td,
main#form table#mfp_confirm_table tr th {
    border: none;
    border-top: 1px solid #ccc
}

main#form table#mfp_confirm_table tr th {
    font-weight: 400
}

@media screen and (min-width:835px),
print {
    main#form table#mfp_confirm_table tr th {
        padding-top: 10px
    }
}

@media screen and (max-width:834px) {
    main#form table#mfp_confirm_table tr th {
        padding-top: 8.8px
    }
}

@media screen and (min-width:835px),
print {
    main#form table#mfp_confirm_table tr th {
        padding-bottom: 10px
    }
}

@media screen and (max-width:834px) {
    main#form table#mfp_confirm_table tr th {
        padding-bottom: 0
    }
}

@media screen and (min-width:835px),
print {
    main#form table#mfp_confirm_table tr td {
        padding-top: 10px
    }
}

@media screen and (max-width:834px) {
    main#form table#mfp_confirm_table tr td {
        padding-top: 2.9px
    }
}

@media screen and (min-width:835px),
print {
    main#form table#mfp_confirm_table tr td {
        padding-bottom: 10px
    }
}

@media screen and (max-width:834px) {
    main#form table#mfp_confirm_table tr td {
        padding-bottom: 8.8px
    }
}

@media screen and (min-width:835px),
print {
    main#form table#mfp_confirm_table tr th {
        padding-left: 2em;
        padding-right: .5em;
        width: auto;
        text-align: right
    }
    main#form table#mfp_confirm_table tr td {
        padding-left: .5em;
        padding-right: 2em
    }
}

@media screen and (max-width:834px) {
    main#form table#mfp_confirm_table {
        display: block;
        width: 100%
    }
    main#form table#mfp_confirm_table tbody,
    main#form table#mfp_confirm_table td,
    main#form table#mfp_confirm_table th,
    main#form table#mfp_confirm_table tr {
        display: block;
        width: 100%
    }
    main#form table#mfp_confirm_table tr th {
        padding-bottom: .2em;
        font-weight: 700
    }
    main#form table#mfp_confirm_table tr td {
        border-top: none;
        padding-top: .2em
    }
}

main#form div.mfp_buttons button#mfp_button_cancel,
main#form div.mfp_buttons button#mfp_button_send {
    margin-left: auto;
    margin-right: auto;
    display: block;
    border: none;
    position: relative;
    color: #fff;
    background: #0051b6!important;
    font-weight: 700;
    text-shadow: none
}

main#form div.mfp_buttons button#mfp_button_cancel:hover,
main#form div.mfp_buttons button#mfp_button_send:hover {
    opacity: .5;
    -webkit-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s
}

@media screen and (min-width:835px),
print {
    main#form div.mfp_buttons button#mfp_button_cancel,
    main#form div.mfp_buttons button#mfp_button_send {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#form div.mfp_buttons button#mfp_button_cancel,
    main#form div.mfp_buttons button#mfp_button_send {
        font-size: .94rem
    }
}

main#form div.mfp_buttons button#mfp_button_cancel:hover,
main#form div.mfp_buttons button#mfp_button_send:hover {
    -webkit-box-shadow: none;
    box-shadow: none
}

@media screen and (min-width:835px),
print {
    main#form div.mfp_buttons button#mfp_button_cancel,
    main#form div.mfp_buttons button#mfp_button_send {
        border-radius: 42px;
        width: 130px;
        height: 42px
    }
}

@media screen and (max-width:834px) {
    main#form div.mfp_buttons button#mfp_button_cancel,
    main#form div.mfp_buttons button#mfp_button_send {
        border-radius: 42px;
        width: 130px;
        height: 42px
    }
}

@media screen and (min-width:835px),
print {
    main#form h2.lowerpage-header {
        background-image: url(../img/page/form/head_bg_pc.jpg)
    }
}

@media screen and (max-width:834px) {
    main#form h2.lowerpage-header {
        background-image: url(../img/page/form/head_bg_sp.jpg)
    }
}

@media screen and (min-width:835px),
print {
    main#form .contents {
        padding-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#form .contents {
        padding-top: 23.4px
    }
}

@media screen and (min-width:835px),
print {
    main#form .contents {
        padding-bottom: 80px
    }
}

@media screen and (max-width:834px) {
    main#form .contents {
        padding-bottom: 46.9px
    }
}

@media screen and (min-width:835px),
print {
    main#form .contents-wrap {
        max-width: 1060px
    }
}

main#form.input #contact .introduction {
    text-align: center
}

@media screen and (min-width:835px),
print {
    main#form.input #contact .introduction {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact .introduction {
        font-size: .94rem
    }
}

main#form.input #contact .introduction p {
    display: inline-block
}

main#form.input #contact section {
    background-color: #e4ebf7
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section {
        margin-top: 23.4px
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section {
        padding-left: 40px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section {
        padding-left: 3.1vw
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section {
        padding-right: 40px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section {
        padding-right: 3.1vw
    }
}

main#form.input #contact section h3 {
    margin-left: auto;
    margin-right: auto;
    border-radius: 2em;
    padding: .5em;
    text-align: center;
    color: #0051b6;
    background-color: #fff
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section h3 {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section h3 {
        font-size: 1.29rem
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section .contents-main {
        margin-top: 20px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section .contents-main {
        margin-top: 11.7px
    }
}

main#form.input #contact section .guidance {
    text-align: center
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section .guidance {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section .guidance {
        font-size: .94rem
    }
}

main#form.input #contact section .guidance p {
    display: inline-block
}

main#form.input #contact section .guidance .emphasis {
    margin-top: 1em;
    color: #c1272d
}

main#form.input #contact section .guidance .emphasis span {
    margin-left: .2em;
    margin-right: .2em;
    padding: 0 .3em;
    border-radius: .25em;
    display: inline-block;
    color: #fff;
    background-color: #c1272d;
    white-space: nowrap
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section .guidance .emphasis span {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section .guidance .emphasis span {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section .tel {
        margin-top: 20px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section .tel {
        margin-top: 11.7px
    }
}

main#form.input #contact section .tel p {
    text-align: center;
    color: #0051b6
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section .tel p {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section .tel p {
        font-size: .94rem
    }
}

main#form.input #contact section .tel a {
    margin-left: auto;
    margin-right: auto;
    display: block;
    max-width: 80%
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section .tel a {
        margin-top: 2px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section .tel a {
        margin-top: 1.2px
    }
}

main#form.input #contact section .tel a img {
    display: block;
    width: 100%
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section#contact-tel {
        padding-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section#contact-tel {
        padding-top: 11.7px
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section#contact-tel {
        padding-bottom: 40px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section#contact-tel {
        padding-bottom: 23.4px
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section#contact-tel .guidance {
        margin-bottom: 20px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section#contact-tel .guidance {
        margin-bottom: 11.7px
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section#contact-mail {
        padding-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section#contact-mail {
        padding-top: 11.7px
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section#contact-mail {
        padding-bottom: 80px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section#contact-mail {
        padding-bottom: 23.4px
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section#contact-mail .guidance {
        margin-bottom: 40px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section#contact-mail .guidance {
        margin-bottom: 23.4px
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #contact section h3 {
        max-width: 670px
    }
    main#form.input #contact section .tel a {
        width: 310px
    }
}

@media screen and (max-width:834px) {
    main#form.input #contact section h3 {
        max-width: 100%
    }
    main#form.input #contact section .tel a {
        width: 254.3px
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #policy {
        margin-top: 80px
    }
}

@media screen and (max-width:834px) {
    main#form.input #policy {
        margin-top: 23.4px
    }
}

main#form.input #policy h3 {
    margin-bottom: .5em;
    padding-bottom: .5em;
    border-bottom: 1px solid #000
}

@media screen and (min-width:835px),
print {
    main#form.input #policy h3 {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#form.input #policy h3 {
        font-size: 1.29rem
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #policy .contents-main {
        font-size: 1.4rem
    }
}

@media screen and (max-width:834px) {
    main#form.input #policy .contents-main {
        font-size: 1.17rem
    }
}

@media screen and (min-width:835px),
print {
    main#form.input #policy .contents-main dl {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#form.input #policy .contents-main dl {
        margin-top: 23.4px
    }
}

main#form.input #policy .contents-main dl dt {
    font-weight: 700
}

main#form.input #policy .contents-main ul li {
    padding-left: 1.75em;
    text-indent: -1.75em
}

main#form.result .contents-body section {
    color: #000;
    background-color: #e4ebf7
}

@media screen and (min-width:835px),
print {
    main#form.result .contents-body section {
        padding-top: 40px
    }
    header .header-init-02 {
        margin-top: 10px;
    }
    header .header-init-03 {
        margin-top: 10px;
    }
}

@media screen and (max-width:834px) {
    main#form.result .contents-body section {
        padding-top: 11.7px
    }
}

@media screen and (min-width:835px),
print {
    main#form.result .contents-body section {
        padding-bottom: 40px
    }
}

@media screen and (max-width:834px) {
    main#form.result .contents-body section {
        padding-bottom: 23.4px
    }
}

@media screen and (min-width:835px),
print {
    main#form.result .contents-body section {
        padding-left: 40px
    }
}

@media screen and (max-width:834px) {
    main#form.result .contents-body section {
        padding-left: 3.1vw
    }
}

@media screen and (min-width:835px),
print {
    main#form.result .contents-body section {
        padding-right: 40px
    }
}

@media screen and (max-width:834px) {
    main#form.result .contents-body section {
        padding-right: 3.1vw
    }
}

main#form.result .contents-body section h3 {
    margin-left: auto;
    margin-right: auto;
    border-radius: 2em;
    padding: .5em;
    text-align: center;
    color: #0051b6;
    background-color: #fff
}

@media screen and (min-width:835px),
print {
    main#form.result .contents-body section h3 {
        font-size: 1.6rem
    }
}

@media screen and (max-width:834px) {
    main#form.result .contents-body section h3 {
        font-size: 1.29rem
    }
}

@media screen and (min-width:835px),
print {
    main#form.result .contents-body section h3 {
        max-width: 670px
    }
}

@media screen and (max-width:834px) {
    main#form.result .contents-body section h3 {
        max-width: 100%
    }
}

@media screen and (min-width:835px),
print {
    main#form.result .contents-body section .contents-main {
        margin-top: 40px
    }
}

@media screen and (max-width:834px) {
    main#form.result .contents-body section .contents-main {
        margin-top: 23.4px
    }
}

main#form.result .contents-body section .txt {
    text-align: center
}

@media screen and (min-width:835px),
print {
    main#form.result .contents-body section .txt {
        font-size: 1.4rem
    }
}

@media screen and (max-width:834px) {
    main#form.result .contents-body section .txt {
        font-size: 1.17rem
    }
}

@media screen and (min-width:835px),
print {
    main#form.result .contents-body section .btn {
        margin-top: 60px
    }
}

@media screen and (max-width:834px) {
    main#form.result .contents-body section .btn {
        margin-top: 35.2px
    }
}

main#form.result .contents-body section .btn a {
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    background: #0051b6;
    font-weight: 700
}

@media screen and (min-width:835px),
print {
    main#form.result .contents-body section .btn a {
        font-size: 1.2rem
    }
}

@media screen and (max-width:834px) {
    main#form.result .contents-body section .btn a {
        font-size: .94rem
    }
}

@media screen and (min-width:835px),
print {
    main#form.result .contents-body section .btn a {
        border-radius: 42px;
        width: 130px;
        height: 42px
    }
}

@media screen and (max-width:834px) {
    main#form.result .contents-body section .btn a {
        border-radius: 42px;
        width: 130px;
        height: 42px
    }
}
.mt40 {
    margin-top: 40px;
}
a.link-btn {
    display: flex;
    align-items: center;
    max-width: 400px;
    margin: 0 auto;
    padding: 1.3rem 2rem;
    border: 2px solid #014897;
    background: #fff;
    text-decoration: none;
    transition: 0.3s;
}
a.link-btn:hover {
    background-color: #e9f3fd;
}
a.link-btn .b__text {
    display: block;
    flex-grow: 1;
    color: #004386;
    font-weight: bold;
    text-align: center;
    position: relative;
    padding-right: 15px;
    font-size: 13px;
}
a.link-btn .b__text::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    transform: rotate(45deg);
    border-top: 3px solid #014897;
    border-right: 3px solid #014897;
    box-sizing: border-box;
    width: 14px;
    height: 14px;
    transition: 0.3s;
}

/***** 20230118追加スタイル *****/
/** ヘッダー **/
header .header-wrap02 {
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /* -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%; */
    max-width: 1060px
}
header .header-nav .lower nav>ul {
    width: 100%;
    height: 100%;
    padding-left: 0;
}
header .header-nav .lower nav>ul>li>a {
    display: block;
    color: #000;
    text-align: center;
}
header .header-nav .lower nav>ul>li.home>a::before {
    margin-left: auto;
    margin-right: auto;
    display: block;
    background: url(../img/common/icon_home.svg) 50% 50%/100% auto no-repeat;
    content: "";
}

/** 固定ページ **/
.nintei-logo{
    border: 1px solid #000;
    padding: 10px 20px;
    margin-top: 20px;
}
.nintei-logo div:first-child{
    text-align: center;
}
main#construction #civil-engineering .contents-main .img,
main#construction #dismantling .contents-main .img  {
    position: relative;
}
main#construction #civil-engineering .contents-main .img::before {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #ebf1f9;
    content: "";
}
main#construction #dismantling .contents-main .img::before{
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #ebf1f9;
    content: "";
}
main#construction #civil-engineering .contents-main .img img,
main#construction #dismantling .contents-main .img img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
}
main#construction #civil-engineering .contents-main .txt,
main#construction #dismantling .contents-main .txt {
    position: relative;
    z-index: 2;
}
main#construction #civil-engineering .contents-main .txt div:nth-child(1) ,
main#construction #dismantling .contents-main .txt div:nth-child(1) {
    font-weight: 700;
}
main#construction #civil-engineering .contents-main .txt div:nth-child(2),
main#construction #dismantling .contents-main .txt div:nth-child(2) {
    margin-top: 1em;
    line-height: 2;
}
main#construction .gallery ul li img {
    display: block;
    width: 100%;
}
@media screen and (min-width:835px),
print {
    /** ヘッダー **/
    header .header-wrap02 {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-left: 40px;
        padding-right: 40px;
        position: relative;
    }
    .header-wrap02 .header-nav{
        position: absolute;
        bottom: 0;
    }
    .header-nav .lower nav>ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    header .header-nav .lower nav {
        margin-top: 10px;
        margin-left: 0;
        margin-right: auto;
        padding-top: 0!important;
        max-width: 100%;
    }
    header .header-nav .lower nav>ul>li {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }
    header .header-nav .lower nav>ul>li>a {
        font-size: 1.2rem;
    }
    header .header-nav .lower nav>ul>li.home>a::before {
        width: 14px;
        height: 14px;
    }
    header .header-nav .lower nav>ul>li:nth-child(n+2) {
        border-left: 1px solid #000;
    }
    header .header-nav .lower nav ul li a{
        padding-left: 10px;
        padding-right: 10px
    }
    /** 固定ページ **/
    .nintei-logo{
        display: flex;
    }
    .nintei-logo div:first-child{
        width: 25%;
    }
    .nintei-logo div:nth-child(2){
        width: 75%;
    }
    main#sdgs h2.lowerpage-header {
        background-image: url(../img/page/company/head_bg_pc.jpg);
    }
    main#sdgs .contents-wrap {
        max-width: 1060px;
    }
    main#construction h2.lowerpage-header {
        background-image: url(../img/page/company/head_bg_pc.jpg);
    }
    main#construction #civil-engineering {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    main#construction #dismantling {
        padding-top: 80px;
        padding-bottom: 160px;
    }
    main#construction .contents-wrap {
        max-width: 1060px;
    }
    main#construction #civil-engineering .contents-main {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    main#construction #dismantling .contents-main {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-flow: row-reverse;
    }
    main#construction #civil-engineering .contents-main .img,
    main#construction #dismantling .contents-main .img  {
        width: 466px;
        min-width: 466px;
    }
    main#construction #civil-engineering .contents-main .img::before{
        margin-bottom: -50px;
        margin-left: -100px;
    }
    main#construction #dismantling .contents-main .img::before{
        margin-bottom: -50px;
        margin-right: -100px;
    }
    main#construction #civil-engineering .contents-main .img img,
    main#construction #dismantling .contents-main .img img {
        position: relative;
        z-index: 2;
        display: block;
        width: 100%;
    }
    main#construction #civil-engineering .contents-main .txt{
        padding-left: 20px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }
    main#construction #dismantling .contents-main .txt{
        padding-right: 20px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }
    main#construction #civil-engineering .contents-main .txt div:nth-child(1),
    main#construction #dismantling .contents-main .txt div:nth-child(1) {
        font-size: 1.6rem;
    }
    main#construction #civil-engineering .contents-main .txt div:nth-child(2),
    main#construction #dismantling .contents-main .txt div:nth-child(2) {
        font-size: 1.2rem;
    }
    main#construction .gallery {
        margin-top: 80px;
    }
    main#construction .gallery ul {
        margin-bottom: -20px;
        margin-left: -10px;
        margin-right: -10px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    main#construction .gallery ul li {
        padding-bottom: 20px;
        padding-left: 10px;
        padding-right: 10px;
        width: 33.3%;
    }
    main#construction .gallery ul li img {
        display: block;
        width: 100%;
    }
    main#sdgs h2.lowerpage-header {
        background-image: url(../img/page/company/head_bg_sp.jpg);
    }
    main#construction h2.lowerpage-header2 {
        margin-top: 20px;
        text-align: center;
    }
    main#construction h2.lowerpage-header {
        background-image: url(../img/page/company/head_bg_sp.jpg);
    }
    main#construction h2.lowerpage-header2 {
        margin-top: 20px;
        text-align: center;
    }
}
@media screen and (max-width:834px) {
    /** ヘッダー **/
    header .header-wrap {
        padding-top: 10px;
        padding-bottom: 6px;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }
    header .header-nav .lower nav {
        margin-left: auto;
        margin-right: auto;
        position: absolute;
        right: 0;
        top: 74px;
        z-index: -1;
        width: 100%;
        height: 100vh;
        background-color: #fff;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        over-scrolling: touch;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
    header .header-nav .lower nav>ul>li>a {
        padding: 16px 10px;
        border-bottom: 1px solid #0051b6;
    }
    header .header-nav .lower nav>ul>li.home>a::before {
        width: 24.01px;
        height: 24.01px;
    }
    header .header-nav .lower nav>ul>li:last-child {
        padding-bottom: 120px;
    }
    header .header-nav .lower nav>ul>li.btn>a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        color: #fff;
        background-color: #0051b6;
        font-weight: 700;
        font-size: 1.52rem;
    }
    header .header-nav .lower nav>ul>li.btn>a::before {
        margin-right: 5px;
        display: block;
        width: 16px;
        height: 14px;
        background: url(../img/common/icon_mail.svg) 50% 50%/100% auto no-repeat;
        content: "";
    }
    header .header-nav .lower nav>ul>li>a {
        font-size: 1.52rem;
    }
    /** 固定ページ **/
    .nintei-logo div:nth-child(2){
        margin-top: 20px;
    }
    .nintei-logo div p{
        text-align: center;
    }
    main#sdgs h2.lowerpage-header {
        background-image: url(../img/page/company/head_bg_sp.jpg);
    }
    main#construction h2.lowerpage-header2 {
        margin-top: 20px;
        text-align: center;
    }
    main#construction h2.lowerpage-header {
        background-image: url(../img/page/company/head_bg_sp.jpg);
    }
    main#construction h2.lowerpage-header2 {
        margin-top: 20px;
        text-align: center;
    }
    main#construction #civil-engineering,
    main#construction #dismantling {
        padding-top: 46.9px;
        padding-bottom: 70.3px;
    }
    main#construction #civil-engineering .contents-main .img::before {
        margin-bottom: -23.4px;
        margin-left: -46.9px;
    }
    main#construction #dismantling .contents-main .img::before{
        margin-bottom: -23.4px;
        margin-right: -46.9px;
    }
    main#construction #civil-engineering .contents-main .txt,
    main#construction #dismantling .contents-main .txt  {
        margin-top: 35.2px;
    }
    main#construction #civil-engineeringo .contents-main .txt div:nth-child(1),
    main#construction #dismantling .contents-main .txt div:nth-child(1) {
        font-size: 1.29rem;
    }
    main#construction #civil-engineering .contents-main .txt div:nth-child(2),
    main#construction #dismantling .contents-main .txt div:nth-child(2) {
        font-size: .94rem;
    }
    main#construction .gallery {
        margin-top: 23.4px;
    }
    main#construction .gallery ul li:nth-child(n+2) {
        margin-top: 11.7px;
    }
}
