/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/

html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    margin: 0;
    color: #222;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block;
}

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden],
template {
    display: none;
}

a {
    background-color: transparent;
}

a:active,
a:hover {
    outline: 0;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b,
strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

h2 {
    font-size: 2em;
    margin: 0;
}

mark {
    background: #ff0;
    color: #fff;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0;
    vertical-align: bottom;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 0px;
}

hr {
    box-sizing: content-box;
    height: 0;
}

pre {
    overflow: auto;
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled],
html input[disabled] {
    cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input {
    line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
}

optgroup {
    font-weight: bold;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}








/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

html {
    font-size: 62.5%;
}

body,
button,
input,
select,
optgroup,
textarea {
    color: #111;
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    line-height: 1.4;
    font-size: 14px;
    font-size: 1.4rem;
    -webkit-text-size-adjust: 100%;
}

h2,
h3,
h3,
h4,
h5,
h6 {
    clear: both;
}

p {
    margin: 0 0 1.5em;
    line-height: 2.3rem;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

blockquote {
    margin: 0 1.5em;
}

address {
    margin: 0 0 1.5em;
}

pre {
    background: #111;
    font-family: "Courier 10 Pitch", Courier, monospace;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

code,
kbd,
tt,
var {
    font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
    font-size: 15px;
    font-size: 0.9375rem;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

mark,
ins {
    background: #1119c0;
    text-decoration: none;
}

big {
    font-size: 125%;
}

h1 {
    font-size: 32px;
    color: #111;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 40px;
}

h2 {
    font-size: 32px;
    color: #111;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 40px;
}
@media screen and (max-width: 767px) {
h2 {
    font-size: 26px;
    letter-spacing: 0;
}
}
h3 {
    font-size: 20px;
    font-size: 2.0rem;
}

h4 {
    font-size: 16px;
    font-size: 1.6rem;
}

.lead {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 30px;
}

h2,
h3,
h3,
h4 {
    font-weight: normal;
}


h2,
h3,
.lead,
.text-serif {
    font-family: serif;
}

.text-s {
    font-size: 13px;
    font-size: 1.3rem;
}

.text-xs {
    font-size: 10px;
    font-size: 1.0rem;
}

.text-gray {
    color: #777;
}





/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

html {
    box-sizing: border-box;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

body {
    background: #fff;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
}

blockquote,
q {
    quotes: "" "";
}

hr {
    background-color: #ccc;
    border: 0;
    height: 1px;
    margin-bottom: 1.5em;
}

ul,
ol {
    margin: 0 0 1.5em 3em;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li>ul,
li>ol {
    margin-bottom: 0;
    margin-left: 1.5em;
}

dt {
    font-weight: bold;
}

dd {
    margin: 0 1.5em 1.5em;
}

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

figure {
    margin: 0;
}

table {
    margin: 0 0 1.5em;
    width: 100%;
}







/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    border: 1px solid;
    border-color: #ccc #ccc #bbb;
    border-radius: 3px;
    background: #e6e6e6;
    color: rgba(0, 0, 0, .8);
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1;
    padding: .6em 1em .4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    border-color: #ccc #bbb #aaa;
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
    border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
    color: #666;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 3px;
    width: 100%;
    box-sizing: border-box;
}

select {
    border: 1px solid #ccc;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
    color: #111;
}

textarea {
    width: 100%;
}

.select-wrap{
position:relative;
overflow:hidden;
display:inline-block;
min-width:192px;
min-width:12em;
background-color:#ffffff;
background-image:-webkit-linear-gradient(top, #ffffff 0%, #dfe0d9 100%);
background-image:linear-gradient(top, #ffffff 0%, #dfe0d9 100%);
border:1px solid #c0c0c0;
color:#333;
}

.select-wrap select{
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
position:relative;
z-index:2;
display:block;
width:200%;
width:-webkit-calc(100% + 5em);
margin:0;
padding:11px 35px 11px 11px;
padding:.6875rem 2.1875rem .6875rem .6875rem;
background:transparent;
border:0;
outline:none;
font-size:16px;
line-height:1.5;
}


input[type="submit"] {
  font-size: inherit !important;
  border: none;
}

.form_btn-submit{
    background: url(../img/form_btn_submit.jpg);
    width: 454px;
    height: 114px;
    text-indent: -9999px;
    border: none;
}
@media screen and (max-width: 767px) {
.form_btn-submit{
    width:340px;
    height: 93px;
    padding: 0;
    background: url(../img/form_btn_submit.jpg)  no-repeat center center /cover;
}
}

/*--------------------------------------------------------------
# Button
--------------------------------------------------------------*/


/*--------------------------------------------------------------
## Media
--------------------------------------------------------------*/

.pc {
    display: block !important;
}

.sp {
    display: none !important;
}

@media screen and (max-width: 767px) {
    .pc {
        display: none !important;
    }
    .sp {
        display: block !important;
    }
}







/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/

.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

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

.t-alignright {
    text-align: right;
}

.t-aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}







/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site_header:before,
.site_header:after,
.site-content:before,
.site-content:after,
.site_footer:before,
.site_footer:after {
    content: "";
    display: table;
    table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site_header:after,
.site-content:after,
.site_footer:after {
    clear: both;
}







/*--------------------------------------------------------------
## Columns
--------------------------------------------------------------*/

.wrapper {
    width: 100%;
    margin: 0 auto;
    max-width: 1024px;
    padding: 0 22px;
    position: relative;
    padding-left: calc(22px + constant(safe-area-inset-left));
    padding-right: calc(22px + constant(safe-area-inset-right));
}

section {
    padding: 30px 0 50px;
}

.wrap-col {
    max-width: 980px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.wrap-col2 {
    max-width: 820px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.row {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    width: 100%;
}

.row:after {
    content: "";
    display: table;
    table-layout: fixed;
}

.col {
    display: inline-block;
    float: left;
    box-sizing: border-box;
    margin-bottom: 10px;
}

.row2 .col {
    width: 48%;
    margin-right: 4%;
}

.row3 .col {
    width: 31.33333%;
    margin-right: 3%;
}

.row4 .col {
    width: 23%;
    margin-right: 2.66666%;
}

.row2 .col:last-child,
.row2 .col:nth-child(2n),
.row3 .col:last-child,
.row3 .col:nth-child(3n),
.row4 .col:last-child {
    margin-right: 0;
}

@media screen and (max-width: 767px) {
    .wrapper {
        padding: 0 22px;
    }
    .row2 .col {
        width: 100%;
    }

    .row3 .col {
        width: 48%;
        margin-right: 4%;
    }
    .row3 .col:nth-child(3n) {
        margin-right: 4%;
    }
    .row3 .col:nth-child(2n) {
        margin-right: 0;
    }

    .row4 .col {
        width: 100%;
    }
}

.row-warehouse .col1 {
    float: left;
    width: 400px;
}

.row-warehouse .col2 {
    float: right;
    width: 100%;
    margin-left: -420px;
    padding-left: 420px;
    box-sizing: border-box;
    text-align: left;
}

.row-point .col {
    float: left;
    width: 400px;
}


@media screen and (max-width: 767px) {
    .row-warehouse .col1 {
        width: 100%;
        margin-bottom: 20px;
        box-sizing: border-box;
    }
    .row-warehouse .col2 {
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }

    .row-point .col {
        float: left;
        width: 400px;
    }
}

.row-voice .col {
    float: left;
    width: 50%;
}

.row-voice .col:nth-child(2x) {
    margin: 0;
}

@media screen and (max-width: 767px) {
    .row-voice .col {
        float: none;
        width: 100%;
    }
}




/*--------------------------------------------------------------
# Animation
--------------------------------------------------------------*/

body {
    animation: fadeInBody 2s ease 0s 1 normal;
    -webkit-animation: fadeInBody 2s ease 0s 1 normal;
}

@keyframes fadeInBody {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@-webkit-keyframes fadeInBody {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 30%, 0);
        transform: translate3d(0, 30%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 30%, 0);
        transform: translate3d(0, 30%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}



.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}


.ani-scaleTop {
    animation-duration: 2s;
    -webkit-animation-duration: 2s;
    animation-name: scaleTop;
    -webkit-animation-name: scaleTop;
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    -webkit-animation-timing-function: ease-in-out;
    animation-direction: alternate;
    -webkit-animation-direction: alternate;
}


@keyframes scaleTop {
    from {
        transform: scale(11, 1.1);
        -webkit-transform: scale(1.1, 1.1);
    }
    to {
        transform: scale(0.8, 0.8);
        -webkit-transform: scale(0.8, 0.8);
    }
}

@-webkit-keyframes scaleTop {
    from {
        transform: scale(1.1, 1.1);
        -webkit-transform: scale(1.1, 1.1);
    }
    to {
        transform: scale(0.8, 0.8);
        -webkit-transform: scale(0.8, 0.8);
    }
}


.scale {
    animation-duration: 2s;
    -webkit-animation-duration: 2s;
    animation-name: scale;
    -webkit-animation-name: scale;
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    -webkit-animation-timing-function: ease-in-out;
    animation-direction: alternate;
    -webkit-animation-direction: alternate;
}

@keyframes scale {
    from {
        transform: scale(1.05, 1.05);
        -webkit-transform: scale(1.05, 1.05);
    }
    to {
        transform: scale(0.95, 0.95);
        -webkit-transform: scale(0.95, 0.95);
    }
}

@-webkit-keyframes scale {
    from {
        transform: scale(1.05, 1.05);
        -webkit-transform: scale(1.05, 1.05);
    }
    to {
        transform: scale(0.95, 0.95);
        -webkit-transform: scale(0.95, 0.95);
    }
}


.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}


@media screen and (max-width: 767px) {
    .ani-scaleTop,
    .ani-scale {
        animation: none;
    }
}

/*--------------------------------------------------------------
# Body
--------------------------------------------------------------*/

body {
    background: url(../img/line_body.jpg) repeat-x top center;
}


a img:hover{
opacity: 0.7;
-webkit-transition: opacity .5s;
transition: opacity .5s;
}




/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

#header {
    padding-top: 20px;
}

.site_header {
    margin-bottom: 0;
}

.site_header p {
    margin-bottom: 0;
}

.site_header_logo {
    float: left;
    margin:3px 0 0;
}

.site_header_text {
    float: left;
    margin: 15px 0 0 15px;
    line-height: 1.9rem;
}

@media screen and (max-width: 767px) {
  .site_header .col{
    width: 48%;
    float: left;
  }  
}

.logo {
    display: block;
    width: 117px;
    height: 54px;
}

.btn_tel {
    float: left;
}

.btn_mail {
    display: block;
    float: left;
    margin: 14px 28px;
}





/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/


/*background*/

.intro {
    background: url(../img/bg_colored-top.png)no-repeat center bottom /cover;
}

.contact {
    background: url(../img/bg_contact.png) no-repeat center center /cover;
}

.warehouse,
.point,
.appli {
    background: #f7f6ef;
}

.voice {
    background: url(../img/bg_colored-btm.png)no-repeat center top /cover;
}

.main {
    background: url(../img/main_bg.jpg) no-repeat center;
    height: 500px;
}

.main_block1 {
    padding-top: 40px;
}

.main_block2 {
    padding-top: 10px;
    position: relative;
}

.main_btn {
    position: absolute;
    top: 112px;
    left: 60px;
}

@media screen and (max-width: 767px) {
.main_btn {
    display: none;
}
}

.scroll {
    margin-bottom: 40px;
    overflow: hidden;
}

.headline {
    text-align: center;
    margin: 0 0 40px;
}

.headline p {
    text-transform: uppercase;
    font-family: serif;
    color: #f33;
    font-size: 12px;
    font-weight: bold;
    margin: 0;
}

.intro {
    padding-bottom: 50px;
}

.intro_list {
    margin: 0 0 20px 0;
    padding: 0;
    text-align: center;
}

.intro_list2 {
    margin: 0;
    padding: 0;
    text-align: center;
}

.intro_list li {
    display: inline-block;
    max-width: 234px;
    padding: 0;
}

.intro_list li:nth-child(1) img {
    animation-delay: 0ms;
}

.intro_list li:nth-child(2) img {
    animation-delay: 100ms;
}

.intro_list li:nth-child(3) img {
    animation-delay: 300ms;
}

.intro_list2 li {
    display: inline-block;
    max-width: 483px;
    padding: 15px;
}

@media screen and (max-width: 767px) {
    .intro_list li {
        width: 49%;
    }
    .intro_list li img {
        width: 100%;
    }
.intro_list2 li {
    padding: 0;
}
}



.warehouse_list_item {
    margin-bottom: 40px;
}


.warehouse_list_header {
    margin-bottom: 20px;
}

.warehouse_list_header h3 {
    padding-bottom: 5px;
    border-bottom: 2px solid #666;
    margin: 0 0 10px;
}

.warehouse_list_header p {
    font-size: 22px;
    margin: 0;
}

.warehouse_list_text p {
    font-size: 17px;
    margin: 0 0 8px;
}

.warehouse_list_text p span {
    font-size: 12px;
}

.warehouse_list_star {
    color: #757575;
}

.warehouse_list_ul {
    margin-left: 0;
    padding-left: 20px;
}

.warehouse_list_ul li {
    width: 33%;
    float: left;
    font-size: 12px;
    color: #666;
    margin-bottom: 4px;
}

.point_list_item img {}

.point_list_item:last-child {
    float: none;
    width: 100%;
}

.point_list_item:last-child img {
    width: 100%;
}

.contact {
    padding: 30px 30px 0;
}
@media screen and (max-width: 767px) {
.contact {
    padding: 30px 0 0;
}
}
.contact_header h2 {
    text-align: center;
    line-height: 1;
    margin-bottom: 20px;
}

.contact_card_wrapper {
    max-width: 980px;
    margin: auto;
    display: block;
    margin-bottom: 20px;
}

.contact_card {
    position: relative;
}

.contact_card_button {
    position: absolute;
    bottom: 10px;
    width: 100%;
    text-align: center;
    padding: 0 20px;
}


.voice_block_inner {
    background: url(../img/voice_bg-l1.png);
    background-size: 100% auto;
}

.voice_block_bottom {
    background: url(../img/voice_bg-l2.png) no-repeat;
    background-size: 100% auto;
    padding-top: 8%;
}


.voice_block_text {
    padding: 15% 12% 0 5%;
}

.voice_block_r .voice_block_inner {
    background: url(../img/voice_bg-r1.png);
    background-size: 100% auto;
}


.voice_block_r .voice_block_bottom {
    background: url(../img/voice_bg-r2.png);
    background-size: 100% auto;
    padding-top: 8%;
}

.voice_block_r .voice_block_text {
    padding: 15% 5% 0 12%;
}


.voice_block_text h3 {
    font-size: 1.6rem;
    font-weight: bold;
}

.voice_block_text p {
    margin-bottom: 0;
    text-align: left;
}

@media screen and (max-width: 767px) {
    .voice .wrapper{
        padding: 0;
    }
    .voice_block_text h3{
        font-size: 15px;
    }
    .voice_block_r .voice_block_inner,
        .voice_block .voice_block_inner {
        background: url(../img/voice_bg-r1_sp.png);
        background-size: 100% auto;
    }


    .voice_block_r .voice_block_bottom ,
        .voice_block .voice_block_bottom {
        background: url(../img/voice_bg-r2_sp.png);
        background-size: 100% auto;
        padding-top: 8%;
    }

    .voice_block_r .voice_block_text,
        .voice_block .voice_block_text {
        padding: 15% 30px 0 30px;
    }
}
.gallery_box1 {
    width: 21.42%;
    float: left;
}

.gallery_box3 {
    width: 42.84%;
    height: 100%;
    float: left;
}

.gallery_box4 {
    width: 14.28%;
    float: left;
}

.gallery_box7 {
    width: 21.42%;
    float: left;
}

@media screen and (max-width: 767px) {
    .gallery_box1 {
        width: 33.33%;
    }
    .gallery_box3 {
        width: 66.66%
    }
    .gallery_box4 {
        clear: left;
        float: right;
        width: 40%;
    }
    .gallery_box7 {
        width: 60%
    }
}

.gallery_box1-1 {
    height: 50%;
}

.gallery_box1-2 {
    height: 50%;
}

.gallery_box4-1 {
    height: 33.3%;
}

.gallery_box4-2 {
    height: 33.3%;
}

.gallery_box4-3 {
    height: 33.3%;
}

.gallery_box7-1 {
    height: 50%;
}

.gallery_box7-2 {
    height: 50%;
}

.gallery_box img {
    width: 100%;
    height: 100%;
    padding: 2px;
}

.access_block {
    max-width: 687px;
    margin: auto;
}

.access_image {
    width: 40%;
    float: left;
    overflow: hidden;
}

.access_image img {
    height: 100%;
}

.access_text {
    width: 57%;
    float: right;
}

.access_text dl {
    border-top: #777 4px solid;
    margin: 0;
    padding-top: 5px;
}

.access_text dt {
    font-size: 1.6rem;
    padding: 0;
    margin: 0 0 10px;
}

.access_text dd {
    border-bottom: #777 1px solid;
    padding: 0 0 10px;
    margin: 0 0 10px;
}

.access_text dd:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border: none;
}

@media screen and (max-width: 767px) {
    .access_text {
        float: none;
        width: 100%;
    }
}

.about_body {
    max-width: 687px;
    margin: auto;
}

.about_body_text {
    float: left;
    width: 60%;
}

.about_body_text_name {
    text-align: right;
    font-weight: bold;
    color: #222;
}

.about_body_text_name span {
    font-size: 18px;
}

.about_body_image {
    float: right;
    width: 38%;
}

@media screen and (max-width: 767px) {
    .about_body_image {
        float: clear;
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }
    .about_body_text {
        float: clear;
        width: 100%;
    }
}

.form_header h2 {
    margin-bottom: 20px;
}

.form_header p {
    color: ;
}

.form_header_lead {
    font-weight: bold;
}

.form_body table,
table#mfp_confirm_table {
    width: 680px;
    margin: auto;
    margin-bottom: 20px;
}

.form_body th {
    background: #b91c22;
    color: #fff;
    width: 30%;
    padding: 20px;
    box-sizing: border-box;
    vertical-align: top;
    border-bottom: 1px solid #fff;
    white-space: nowrap;
}

.form_body td {
    background: #fff;
    width: 70%;
    height: auto;
    padding: 20px;
    box-sizing: border-box;
    vertical-align: middle;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
}



.form_body th p,
.form_body td p {
    margin: 2px;
    line-height: 1.4;
}

.form_body th .subtext {
    font-size: 10px;
    margin: 2px 0;
}

.form_body th span {
    color: #ff0;
}

.form_footer {
    width: 680px;
    margin: 0 auto 40px;
    border: 1px solid #ccc;
    padding: 10px;
    text-align: center;
}

    @media screen and (max-width: 767px) {
    .form_header {
        padding: 0 22px;
    }
    .form .wrapper {
        padding: 0;
    }
    .form_body table,
    .form_footer {
        width: 100%;
    }
    .form_body th {
        display: block;
        width: 100%;
    }
    .form_body td {
        display: block;
        width: 100%;
        border-left: 1px solid #ccc;
    }
.form_body th p,
.form_body td p {
    font-size: 16px;
}
    .form_footer{
        border-left: 0;
        border-right: 0;
    }
}

.thanks_body{
    padding: 40px;
    max-width: 700px;
    margin: auto;
    border: 1px solid #ccc;
    background: #efefef;
}

/*
.balloon {
  position: relative;
  width: 100%;
  min-height: 60px; 
  margin: 20px; 
  padding: 10px; 
  box-sizing: border-box;
}
.balloon::before {
  content: '';
  position: absolute;
  z-index: 1;
  width: 30px; height: 30px; 
}
.balloon::after {
  content: '';
  position: absolute;
  z-index: 2;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
}
.balloon>* {
  position: relative;
  z-index: 3;
}
.balloon,
.balloon::after {
  border-radius: 15px; 
}
.balloon,
.balloon::before {
  box-shadow: 0 2px 10px 0 rgba(0,0,0,0.50); 
}
.balloon,
.balloon::before,
.balloon::after {
  background: #fff; 
}
.balloon-r::before {
  right: -15px; top: 50%; 
  transform: translateY(-50%) rotate(45deg) skew(-20deg,-20deg); 
}
*/


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.site_footer {
    background-image: url();
    background-repeat: no-repeat;
    background-position: center top;
}
    @media screen and (max-width: 767px) {
.site_footer_text {
    text-align: center;
}
}
.pagetop {
    background: #4d4d4d;
    text-align: center;
    padding: 10px 0;
    margin-bottom: 30px;
}

.pagetop a {
    font-size: 12px;
    color: #fff;
}

.btn-top {
    display: block;
    margin: auto;
    width: 14px;
    height: 14px;
    border-top: 5px solid #fff;
    border-right: 5px solid #fff;
    transform: rotate(-45deg);
}

.site_footer_image {
    text-align: center;
}

.site_footer_image img {
    max-width: 153px;
}


/*modal*/

.modal_open{
    color: #036;
    text-decoration: underline;
    cursor: pointer;
}
 
.modal_box {
    position: fixed;
    z-index: 7777;
    display: none;
    width: 80%;
    max-width: 840px;
    margin: 0;
    padding: 60px 2vw 80px;
    border: 2px solid #aaa;
    background: #fff;
    box-sizing: border-box;
}
 
.modal_close {
    display: block;
    margin: auto;
    width: 62px;
    font-size: 12px;
    color: #000;
    text-align: center;
    background: #e6e6e6;
    cursor: pointer;
}
 
 
.modal_bg {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 6666;
    display: none;
    width: 100%;
    height: 120%;
    background-color: rgba(0,0,0,0.7);
}
 
.link_area {
    overflow: hidden;
    max-width: 410px;
    margin: 60px auto 0;
    text-align: center;
}
 
.link_area .modal_link {
    display: inline;
}
 
.link_area .modal_link a {
    display: inline-block;
    width: 180px;
    color: #000;
    line-height: 2.5;
    text-decoration: none;
    margin: 0 10px;
    background: #e6e6e6;
}
 
.link-area ul li.modal_link:first-child a {
    float: left;
}
 
.link-area ul li.modal_link:last-child a {
    float: right;
}
 
 
@media screen and (max-width: 769px) {
 
 
  .modal_box {
      padding: 50px 2vw 40px;
  }
 
  .modal_close {
      width: 40px;
      line-height: 40px;
      font-size: 30px;
  }
 
  .modal_close i {
      line-height: 44px;
  }
 
  .link_area {
      margin: 25px auto 0;
  }
 
  .link_area .modal_link a {
      margin: 15px auto 0;
  }
 
  .link_area ul li.modal_link:first-child a {
      float: none;
      margin-top: 0;
  }
 
  .link_area ul li.modal_link:last-child a {
      float: none;
  }
 
}