html {
    min-height: 100%;
    min-width: 100%;
    -ms-text-size-adjust: none;
    font-size: calc(112.5% + 0.25vw);
}

body, div, dl, dt, dd, ul, ol, li, nav,
h1, h2, h3, h4, h5, h6,
pre, code, form, fieldset, legend,
input, button, textarea,
p, blockquote, th, td, a {
    margin: 0;
    padding: 0;
    border-width: 0;
    border-style: solid;
    border-color: transparent;
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    -o-transform-origin: left top;
    transform-origin: left top;
    background-repeat: no-repeat;
}

button.submit-btn {
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

.transition {
    -webkit-transition-property: background-image, background-position, background-color, border-color, border-radius, color, font-size, font-style, font-weight, letter-spacing, line-height, text-align, box-shadow, text-shadow, opacity;
    transition-property: background-image, background-position, background-color, border-color, border-radius, color, font-size, font-style, font-weight, letter-spacing, line-height, text-align, box-shadow, text-shadow, opacity;
}

.transition * {
    -webkit-transition: inherit;
    transition: inherit;
}

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

fieldset, img {
    border: 0;
    border-style: solid;
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    -o-transform-origin: left top;
    transform-origin: left top;
}

address, caption, cite, code, dfn, em, strong, th, var, optgroup {
    font-style: inherit;
    font-weight: inherit;
}

del, ins {
    text-decoration: none;
}

li {
    list-style: none;
}

caption, th {
    text-align: left;
}

h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: inherit;
}

input, button, textarea, select, optgroup, option {
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
    font-weight: inherit;
}

.form-grp input, .form-grp textarea {
    -webkit-appearance: none;
    -webkit-border-radius: 0;
}

body {
    font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
    text-align: left;
    font-size: 100%;
    line-height: 1.5rem;
    word-wrap: break-word;
    text-rendering: optimizeLegibility;
    -moz-font-feature-settings: 'liga';
    -ms-font-feature-settings: 'liga';
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
}

#header-area,
#nav,
#contents-area,
#footer-area {
    margin-left: 5%;
    margin-right: 5%;
    margin-bottom: 1%;
    width: 90%;
    overflow: hidden;
}

#header-area {
    margin-bottom: 0.1%;
    padding: 0.1% 0.1% 0.5%;
    line-height: 2.5rem;
}
#header-area #header-title{
    margin-left: 2%;
    width: 48%;
    float: left;
    vertical-align : bottom;
}
#header-area #header-phone{
    margin-right: 2%;
    width: 48%;
    text-align: right;
    float: left;
}
#header-area #header-phone p{
    margin-top: 0.2em;
}

#nav {
    height: 2.5em;
    overflow: hidden;
}

#nav ul { overflow: hidden;}
#nav li {
    display: block;
    width: 25%;
    float: left;
    background-color: #DFD; /* Mobile */
    background: -moz-linear-gradient(top, #DFD, #ADA); /* FireFox(Old) */
    background: -webkit-gradient(linear, left top, left bottom, from(#DFD), to(#ADA)); /* Chrome,Safari(4+) */
    background: -webkit-linear-gradient(top, #DFD, #ADA); /* Chrome(10+),Safari(5.1+) */
    background: -o-linear-gradient(top, #DFD, #ADA); /* Opera(Old) */
    background: linear-gradient(top, #DFD, #ADA); /* W3C */
    filter:  progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#DDFFDD', endColorstr='#AADDAA'); /* IE6 & IE7 */
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#DDFFDD', endColorstr='#AADDAA')"; /* IE8 */
}
#nav li a{
    display: block;
    padding: 0.25em 0;
}
#nav li a:hover{
    background-color: #ADA; /* Mobile */
    background: -moz-linear-gradient(top, #ADA, #8D8); /* FireFox(Old) */
    background: -webkit-gradient(linear, left top, left bottom, from(#ADA), to(#8D8)); /* Chrome,Safari(4+) */
    background: -webkit-linear-gradient(top, #ADA, #8D8); /* Chrome(10+),Safari(5.1+) */
    background: -o-linear-gradient(top, #ADA, #8D8); /* Opera(Old) */
    background: linear-gradient(top, #ADA, #8D8); /* W3C */
}

#contents-area {
    background-color: rgba(250,250,250, 0.5);
}


#main-contents .contents-title {
    margin-bottom: 1%;
}

#main-contents .contents,
.sub-contents,
.contents-data {
    margin: 0 2% 3% 2%;
}

#main-contents .contents h3 {
    margin-bottom: 1%;
}
#main-contents .contents h4 {
    margin-bottom: 1%;
    border-left-style: 3px solid;
    border-bottom-style: 3px solid;
    border-color: rgba(1,88,6,1.00);
    box-shadow: 2px 2px 3px #DDD;
}
#main-contents .contents table, td, th{
    margin: 1% 0;
    border: 1px rgba(1,70,5,1.00) solid;
    border-collapse: collapse;
    text-align: center;
    padding-bottom: 1em;
}

#main-contents .contents .no-border {
    border: 0px rgba(1,70,5,1.00) solid;
    text-align: left;
    vertical-align: top;
}

#main-contents .contents .no-padding {
    padding-bottom: 0em;
}

#main-contents, #footer-area {
}

#footer-area {
    float:inherit;
}

#policy {
    padding-top: 20px;
}
#policy .contents h2 {
    margin-bottom: 20px;
    padding-bottom: 0;
    border-bottom: 1px solid #aaa;
    line-height: 1.4;
    font-size: 129%;
    font-weight: bold;
    text-shadow: none;
}

#policy .contents h3 {
    margin-top: 20px;
    margin-bottom: 10px;
    padding: 7px 0;
    text-decoration: none;
    text-decoration-color: #aaa;
    line-height: 1.4;
    font-size: 115%;
    font-weight: bold;
    text-shadow: none;
}

/* Font */
@media screen and (min-device-width : 768px){
    html { font-size: 87.5%; }
}
@media screen and (min-device-width : 1024px){
    html { font-size: 100%; }
}

#header-area,
#nav,
#contents-area,
#footer-area
{
    font-size:1em;
}

#header-area #sub-title {
    font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size:0.8em;
    text-shadow: 1px 1px 2px #DDD;
}
#header-area #header-title {
    font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size:2.5em;
    text-shadow: 2px 2px 3px #DDD;
    letter-spacing: 0.25em;
}

#header-area #header-phone {
    font-family: "Lucida Console", Monaco, monospace;
    font-size:0.8em;
    text-shadow: 1px 1px 1px #DDD;
}
#header-area #header-phone .phone-number {
    font-family: "Lucida Console", Monaco, monospace;
    font-size:2em;
    color: black;
    text-shadow: 1px 1px 2px #CDC;
    font-weight: bold;
}


#nav li {
    font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    color: #444;
    font-size:1.25em;
    text-align: center;
    text-shadow: 1px 2px 3px rgb(200, 200, 200);
    font-weight: bold;
}


#main-contents h3 {
    color: rgba(0,0,0,1.00);
    text-shadow: 2px 2px 3px #DDD;
}
#main-contents h4 {
    color: rgba(100,100,200, 1.0);
    text-shadow: 2px 2px 3px #DDD;
}

.footer-links {
    font-family: Verdana, Geneva, sans-serif;
    font-size: 0.75em;
    color: #666;
    text-align: left;
}
.footer-links .link::before {
    margin-right: 1%;
    content: "\f362";
    font-family: ionicons;
}

.copyright {
    font-family: Verdana, Geneva, sans-serif;
    font-size: 0.75em;
    color: #666;
    text-align: right;
}
/* End Font */


a:link {
    color: #0000FF;
    text-decoration: underline;
}

a:visited {
    color: #800080;
    text-decoration: underline;
}

a:hover {
    color: #0000FF;
    text-decoration: underline;
}

a:active {
    color: #EE0000;
    text-decoration: underline;
}

a.nontext {
    color: black;
    text-decoration: none;
    font-style: normal;
    font-weight: normal;
}

#header-area a {
    text-decoration: none;
    color: #000;
}
#header-area a:visited {
    color: #000;
    text-decoration: none;
}

#header-area a:link {
    color: #000;
    text-decoration: none;
}


.list0 li:before {
    position: absolute;
    right: 100%;
    letter-spacing: 0;
    text-decoration: none;
    font-weight: normal;
    font-style: normal;
}

.rtl-list li:before {
    right: auto;
    left: 100%;
}

.TabbedPanelsTab {
    white-space: nowrap;
}

.MenuBar .MenuBarView,
.MenuBar .SubMenuView {
    display: block;
    list-style: none;
}

.MenuBar .SubMenu {
    display: none;
    position: absolute;
}

.NoWrap {
    white-space: nowrap;
    word-wrap: normal;
}

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

.colelem {
    display: inline;
    float: left;
    clear: both;
}

.clearfix:after {
    content: "\0020";
    visibility: hidden;
    display: block;
    height: 0;
    clear: both;
}

.row {
    padding: 2vh 0;
}
.col {
    float: left;
    box-sizing: border-box;
    width: 50%;
    padding: 0 10px;
    overflow: hidden;
}
.col div {
    margin: 0 10px;
}

.col-s {
    width: 20%;
}

.col-m {
    width: 40%;
}

.col-l {
    width: 60%;
}



*:first-child + html .clearfix {
    zoom: 1;
}

.clip_frame {
    overflow: hidden;
}

.popup_anchor {
    position: relative;
    width: 0;
    height: 0;
}

.allow_click_through * {
    pointer-events: auto;
}

.popup_element {
    z-index: 100000;
}

.svg {
    display: block;
    vertical-align: top;
}

span.wrap {
    content: '';
    clear: left;
    display: block;
}

span.actAsInlineDiv {
    display: inline-block;
}

.position_content, .excludeFromNormalFlow {
    float: left;
}

.preload_images {
    position: absolute;
    overflow: hidden;
    left: -9999px;
    top: -9999px;
    height: 1px;
    width: 1px;
}

.preload {
    height: 1px;
    width: 1px;
}

.animateStates {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

textarea {
    resize: none;
    overflow: auto;
}

.allow_click_through, .fld-prompt {
    pointer-events: none;
}

.wrapped-input {
    position: absolute;
    top: 0;
    left: 0;
    background: transparent;
    border: none;
}

.submit-btn {
    z-index: 50000;
    cursor: pointer;
}

.anchor_item {
    width: 22px;
    height: 18px;
}

.MenuBar .SubMenuVisible,
.MenuBarVertical .SubMenuVisible,
.MenuBar .SubMenu .SubMenuVisible,
.popup_element.Active,
span.actAsPara,
.actAsDiv,
a.nonblock.nontext, img.block {
    display: block;
}

.widget_invisible, .js .invi, .js .mse_pre_init {
    visibility: hidden;
}

.ose_ei {
    visibility: hidden;
    z-index: 0;
}

.no_vert_scroll {
    overflow-y: hidden;
}

.always_vert_scroll {
    overflow-y: scroll;
}

.always_horz_scroll {
    overflow-x: scroll;
}

.fullscreen {
    overflow: hidden;
    left: 0;
    top: 0;
    position: fixed;
    height: 100%;
    width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.fullwidth {
    position: absolute;
}

.borderbox {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.scroll_wrapper {
    position: absolute;
    overflow: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
}

.browser_width > * {
    position: absolute;
    left: 0;
    right: 0;
}

.grpelem, .accordion_wrapper {
    display: inline;
    float: left;
}

.pointer_cursor,
.fld-recaptcha-mode,
.fld-recaptcha-refresh,
.fld-recaptcha-help {
    cursor: pointer;
}

.horizontalSlideShow {
    -ms-touch-action: pan-y;
    touch-action: pan-y;
}

.verticalSlideShow {
    -ms-touch-action: pan-x;
    touch-action: pan-x;
}

.colelem100, .verticalspacer {
    clear: both;
}

.list0 li,
.MenuBar .MenuItemContainer,
.SlideShowContentPanel .fullscreen img,
.css_verticalspacer .verticalspacer {
    position: relative;
}

.popup_element.Inactive,
.js .disn, .js .an_invi, .hidden, .breakpoint {
    display: none;
}

.flexbox-container-vertical-center {
    display: flex; /* 子要素をflexboxで揃える */
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
    width: 100px; /* 見た目用 */
    height: 50px; /* 見た目用 */
    border: 1px solid; /* 見た目用 */
}

.flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-content: center;
}

.center {
    text-align: center;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    body {
        text-rendering: auto;
    }
}


/* widget */
div.store {
    width: 100%;
    height: 4.2vh;
    margin-bottom: 1%;
    min-height: 5vmin;
    max-height: 12vmin;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-flow: wrap;
    justify-content: center;
}
.store a {
    display: inline-block;
    height: 100%;
    margin-right: 1%;
}
.store a img{
    height: 100%;
}

.sns_share {
    margin: 2% 5%;
    text-align: center;
}

.sns_share .wdt {
    display: inline-block;
    margin-right: 1%;
    min-width: 20%;
    max-height: 25vw;
    vertical-align: top;
    overflow: hidden;
}
.sns_share .twitter {
    min-width: 5vw;
    max-width: 50vw;
}


/* Effect */
.smoke {
    background-color: rgba(250,250,255, 0.5);
}