/*
Theme Name: sarabanji v25 Theme
Theme URI: https://www.sarabanji.jp
Description: Designed by ML Design
Version: 25.08
Author: ML Design
Author URI: https://www.ml-design.jp/
Tags:
*/

@font-face {
    font-family: 'icomoon';
    src:  url('fonts/icomoon.eot?4k5ir9');
    src:  url('fonts/icomoon.eot?4k5ir9#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?4k5ir9') format('truetype'),
    url('fonts/icomoon.woff?4k5ir9') format('woff'),
    url('fonts/icomoon.svg?4k5ir9#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}
[class^="icon-"], [class*=" icon-"] {
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.icon-icon_home:before {
    content: "\e900";
}
.icon-icon_menu:before {
    content: "\e905";
}
.icon-home:before {
    content: "\e90a";
}
.icon-location:before {
    content: "\e90c";
}
.icon-phone:before {
    content: "\e906";
}
.icon-clock:before {
    content: "\e90d";
}
.icon-arrow-left:before {
    content: "\e90e";
}
.icon-arrow-up:before {
    content: "\e90f";
}
.icon-arrow-right:before {
    content: "\e910";
}
.icon-arrow-down:before {
    content: "\e911";
}
.icon-cross:before {
    content: "\e901";
}
.icon-checkmark:before {
    content: "\e912";
}
.icon-facebook:before {
    content: "\e913";
}
.icon-instagram:before {
    content: "\e914";
}
.icon-line:before {
    content: "\e902";
}
.icon-hash:before {
    content: "\e916";
}
.icon-x:before {
    content: "\e917";
}
.icon-youtube:before {
    content: "\e918";
}


*{
    margin: 0px;
    padding: 0px;
}
html{
    font-size: 62.5%; /*10px*/
}
body{
    font-family: YakuHanJPs, MyYuGothicM, "遊ゴシック Medium", "Yu Gothic Medium", 遊ゴシック体, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    padding-top: 0px;
    padding-right: 0;
    padding-bottom: 0px;
    padding-left: 0;
    margin: 0;
    -webkit-text-size-adjust: 100%;
    line-height: 1.5;
}
a:hover {
    color: #F60;
}
a {
    transition: 0.3s;
}

/* reset */
img {
    border-top-width: 0px;
    border-right-width: 0px;
    border-bottom-width: 0px;
    border-left-width: 0px;
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: none;
}
a:hover img {
    filter: alpha(opacity=80);
    opacity: 0.8;
    -moz-opacity: 0.8;
    
    /* transform */
    -webkit-transform: translate(1px,1px);
    -moz-transform: translate(1px,1px);
    -ms-transform: translate(1px,1px);
    -o-transform: translate(1px,1px);
    transform: translate(1px,1px);
}
h1, h2, h3, h4, h5, h6 {
    margin: 0px;
    padding: 0px;
}
p, pre, em {
    margin: 0px;
    padding: 0px;
}
ul, dl, ol, li, dt, dd {
    margin: 0px;
    padding: 0px;
    list-style-type: none;
}

/* text */
.alignright {
    float: right;
}
.alignleft {
    float: left;
}
img.alignleft {
    margin-right: 8px;
    margin-bottom: 8px;
}
img.alignright {
    margin-left: 8px;
    margin-bottom: 8px;
}
.aligncenter {
    text-align: center!important;
    display: block;
}
.float_right {
    float: right;
    margin-left: 10px;
}
.float_left {
    float: left;
    margin-right: 10px;
}
.clear {
    margin: 0px;
    padding: 0px;
    clear: both;
}
.post-edit-link {
    font-size: 13px;
    font-weight: bold;
    color: #FF0000;
    display: block;
    clear: both;
    text-decoration: none;
    border: 1px dashed #CCCCCC;
    text-align: center;
    padding-top: 5px;
    padding-bottom: 5px;
    background-color: #F0F0F0;
}

/* html5 */
section, hgroup, nav, header, footer, section, article, aside {
    margin: 0px;
    padding: 0px;
    display: block;
}

/* color */
.red{
    color: #FF0000;
}
.orange {
    color: #c11a1a;
}
.blue{
    color: #0000FF;
}
.green {
    color: #006600;
}




/* wp-pagenavi */
.wp-pagenavi {
    clear: both;
    margin-top: 30px;
    margin-bottom: 30px;
    overflow: hidden;
    margin-right: 10px;
    margin-left: 10px;
}
.wp-pagenavi span,
.wp-pagenavi a {
    font-size: 1.8rem!important;
    display: block;
    float: left;
    padding-right: 8px!important;
    padding-left: 8px!important;
    border: none;
    margin: 4px;
    border-radius: 5px;
}
.wp-pagenavi span {
    background-color: #7994a7;
    color: #FFFFFF;
}
.wp-pagenavi a {
    color: #FFFFFF;
    background-color: #3d4099;
}

/* block */
#wrapper {
    width: 100%;
    overflow-x: hidden;
}
#upper_block {
    margin: 0px;
    width: 100%;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    overflow: hidden;
}
#upper_block_inner {
    width: 100%;
    text-align: left;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
    overflow: hidden;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    overflow: hidden;
    position: relative;
}
#middle_block {
    margin: 0px;
    width: 100%;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    margin-top: 1px;
    margin-bottom: 1px;
    margin-left: 0;
    margin-right: 0;
}
#middle_block_inner {
    text-align: left;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 15px;
    padding-left: 0px;
    overflow: hidden;
}
#under_block {
    margin: 0px;
    padding: 0px;
    width: 100%;
    overflow: hidden;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #middle_block_inner {
        width: 100%;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #middle_block_inner {
        width: 100%;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #middle_block_inner {
        width: 1000px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #middle_block_inner {
        width: 1400px;
    }
}


/* entry */
.entry {
    width: auto;
    clear: both;
    padding-top: 35px;
    padding-bottom: 35px;
    margin-left: 10px;
    margin-right: 10px;
    overflow: hidden;
}
.entry h1 {
    font-size: 2.4rem;
    text-align: center;
    padding-top: 8px;
    padding-bottom: 8px;
    clear: both;
    margin-bottom: 22px;
    transition: 0.6s;
}
.entry h2 {
    font-size: 2.1rem;
    text-align: center;
    padding-top: 15px;
    padding-bottom: 12px;
    clear: both;
    transition: 0.6s;
    border-top-style: solid;
    border-top-width: 1px;
    border-top-color: #ccc;
}
.entry h3 {
    font-size: 1.8rem;
    color: #186d33;
    padding-top: 6px;
    padding-bottom: 15px;
    clear: both;
}
.entry h4 {
    font-size: 1.7rem;
    padding-top: 5px;
    padding-bottom: 15px;
    clear: both;
}
.entry h5 {
    font-size: 1.5rem;
    padding-top: 5px;
    padding-bottom: 15px;
    clear: both;
}
.entry p {
    font-size: 1.5rem;
    line-height: 2.8rem;
    padding-bottom: 15px;
    padding-right: 5px;
    padding-left: 5px;
    transition: 0.6s;
}
.entry ul {
    padding-top: 5px;
    padding-bottom: 15px;
    padding-left: 10px;
}
.entry li {
    font-size: 1.5rem;
    line-height: 3.0rem;
    margin-bottom: 3px;
    padding-left: 10px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #999999;
}
.entry ul li ul {
    padding-left: 20px;
}
.entry dl {
    padding-top: 5px;
    padding-bottom: 15px;
    padding-left: 14px;
    padding-right: 15px;
}
.entry dt {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 3rem;
    margin-bottom: 3px;
    margin-top: 5px;
    padding-left: 5px;
}
.entry dd {
    font-size: 1.6rem;
    padding-left: 35px;
    padding-bottom: 3px;
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #FFFFFF;
    padding-top: 2px;
}
.entry em {
    font-size: 120%;
    font-style: normal;
    font-weight: bolder;
    color: #3399CC;
}
.entry table {
    width: 100%;
    border-top-width: 1px;
    border-left-width: 1px;
    border-top-style: solid;
    border-left-style: solid;
    border-top-color: #CCCCCC;
    border-left-color: #CCCCCC;
}
.entry td,
.entry th {
    padding: 3px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #CCCCCC;
    border-right-width: 1px;
    border-right-style: solid;
    border-right-color: #CCCCCC;
    font-size: 1.5rem;
}
.entry time {
    font-size: 1.6rem;
    color: #666666;
    display: block;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 10px;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .entry {
        width: auto;
        margin-left: 10px;
        margin-right: 10px;
    }
    .entry h1 {
        font-size: 3.2rem;
        padding-top: 23px;
        padding-bottom: 18px;
        margin-bottom: 30px;
    }
    .entry h2 {
        font-size: 2.2rem;
        padding-top: 18px;
        padding-bottom: 12px;
        text-align: left;
    }
    .entry h3 {
        font-size: 1.9rem;
        padding-top: 6px;
        padding-bottom: 15px;
    }
    .entry h4 {
        font-size: 1.7rem;
        padding-top: 5px;
        padding-bottom: 15px;
    }
    .entry h5 {
        font-size: 1.5rem;
        padding-top: 5px;
        padding-bottom: 15px;
    }
    .entry p {
        font-size: 1.6rem;
        line-height: 3rem;
        padding-bottom: 15px;
        padding-right: 5px;
        padding-left: 5px;
    }
    .entry ul {
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 34px;
    }
    .entry li {
        font-size: 1.6rem;
        line-height: 3rem;
        margin-bottom: 3px;
        padding-left: 10px;
    }
    .entry ul li ul {
        padding-left: 20px;
    }
    .entry dl {
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 34px;
        padding-right: 45px;
    }
    .entry dt {
        font-size: 1.6rem;
        line-height: 3rem;
        margin-bottom: 3px;
        margin-top: 5px;
        padding-left: 5px;
    }
    .entry dd {
        font-size: 1.6rem;
        padding-left: 35px;
        padding-bottom: 3px;
        padding-top: 2px;
    }
    .entry td,
    .entry th {
        font-size: 1.5rem;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .entry {
        width: auto;
        margin-left: 10px;
        margin-right: 10px;
    }
    .entry h1 {
        font-size: 3.7rem;
        padding-top: 23px;
        padding-bottom: 18px;
        margin-bottom: 30px;
    }
    .entry h2 {
        font-size: 2.7rem;
        padding-top: 18px;
        padding-bottom: 12px;
        text-align: left;
    }
    .entry h3 {
        font-size: 2.0rem;
        padding-top: 6px;
        padding-bottom: 15px;
    }
    .entry h4 {
        font-size: 1.7rem;
        padding-top: 5px;
        padding-bottom: 15px;
    }
    .entry h5 {
        font-size: 1.5rem;
        padding-top: 5px;
        padding-bottom: 15px;
    }
    .entry p {
        font-size: 1.7rem;
        line-height: 3rem;
        padding-bottom: 15px;
        padding-right: 5px;
        padding-left: 5px;
    }
    .entry ul {
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 34px;
    }
    .entry li {
        font-size: 1.7rem;
        line-height: 3rem;
        margin-bottom: 3px;
        padding-left: 10px;
    }
    .entry ul li ul {
        padding-left: 20px;
    }
    .entry dl {
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 34px;
        padding-right: 45px;
    }
    .entry dt {
        font-size: 1.7rem;
        line-height: 3rem;
        margin-bottom: 3px;
        margin-top: 5px;
        padding-left: 5px;
    }
    .entry dd {
        font-size: 1.7rem;
        padding-left: 35px;
        padding-bottom: 3px;
        padding-top: 2px;
    }
    .entry td,
    .entry th {
        font-size: 1.6rem;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .entry {
        width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }
    .entry h1 {
        font-size: 4.4em;
        padding-top: 20px;
        padding-bottom: 15px;
        margin-bottom: 35px;
    }
    .entry h2 {
        font-size: 3.0rem;
        padding-top: 20px;
        padding-bottom: 18px;
        text-align: left;
    }
    .entry h3 {
        font-size: 2.0rem;
        padding-top: 6px;
        padding-bottom: 15px;
    }
    .entry h4 {
        font-size: 1.7rem;
        padding-top: 5px;
        padding-bottom: 15px;
    }
    .entry h5 {
        font-size: 1.5rem;
        padding-top: 5px;
        padding-bottom: 15px;
    }
    .entry p {
        font-size: 2.0rem;
        line-height: 3.4rem;
        padding-bottom: 15px;
        padding-right: 5px;
        padding-left: 5px;
    }
    .entry ul {
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 34px;
    }
    .entry li {
        font-size: 2.0rem;
        line-height: 3rem;
        margin-bottom: 3px;
        padding-left: 10px;
    }
    .entry ul li ul {
        padding-left: 20px;
    }
    .entry dl {
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 34px;
        padding-right: 45px;
    }
    .entry dt {
        font-size: 2.0rem;
        line-height: 3rem;
        margin-bottom: 3px;
        margin-top: 5px;
        padding-left: 5px;
    }
    .entry dd {
        font-size: 1.8rem;
        padding-left: 35px;
        padding-bottom: 3px;
        padding-top: 2px;
    }
    .entry td,
    .entry th {
        font-size: 1.7rem;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .entry {
        width: 1400px;
        margin-left: auto;
        margin-right: auto;
    }
    .entry h1 {
        font-size: 4.6rem;
        padding-top: 26px;
        padding-bottom: 20px;
        margin-bottom: 40px;
    }
    .entry h2 {
        font-size: 3.2rem;
        padding-top: 26px;
        padding-bottom: 20px;
        text-align: left;
    }
    .entry h3 {
        font-size: 2.0rem;
        padding-top: 6px;
        padding-bottom: 15px;
    }
    .entry h4 {
        font-size: 1.7rem;
        padding-top: 5px;
        padding-bottom: 15px;
    }
    .entry h5 {
        font-size: 1.5rem;
        padding-top: 5px;
        padding-bottom: 15px;
    }
    .entry p {
        font-size: 2.3rem;
        line-height: 3.4rem;
        padding-bottom: 15px;
        padding-right: 5px;
        padding-left: 5px;
    }
    .entry ul {
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 34px;
    }
    .entry li {
        font-size: 2.3rem;
        line-height: 3rem;
        margin-bottom: 3px;
        padding-left: 10px;
    }
    .entry ul li ul {
        padding-left: 20px;
    }
    .entry dl {
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 34px;
        padding-right: 45px;
    }
    .entry dt {
        font-size: 2.0rem;
        line-height: 3rem;
        margin-bottom: 3px;
        margin-top: 5px;
        padding-left: 5px;
    }
    .entry dd {
        font-size: 1.8rem;
        padding-left: 35px;
        padding-bottom: 3px;
        padding-top: 2px;
    }
    .entry td,
    .entry th {
        font-size: 1.8rem;
    }
}


/* top_entry */
.top_entry {
    position: absolute;
    top: 724px;
    left: 20px;
    right: 20px;
    width: auto;
    height: auto;
    z-index: 1;
    transition: 0.3s;
}
.top_entry h1 {
    font-size: 2.8rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    -webkit-text-stroke: 2px black;
}
.top_entry h1 small {
    font-size: 60%;
    letter-spacing: normal;
    display: block;
    padding-left: 5px;
    -webkit-text-stroke: 0;
}
.top_entry p {
    font-size: 1.6rem;
    padding-top: 12px;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .top_entry {
        top: 998px;
        left: 40px;
        right: 40px;
        width: auto;
    }
    .top_entry h1 {
        font-size: 3.0rem;
    }
    .top_entry p {
        font-size: 1.7rem;
        padding-top: 14px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .top_entry {
        top: 864px;
        left: 30px;
        width: 420px;
    }
    .top_entry h1 {
        font-size: 4.4rem;
    }
    .top_entry p {
        font-size: 2.0rem;
        padding-top: 16px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .top_entry {
        top: 1038px;
        left: calc(50% - 500px);
        width: 520px;
    }
    .top_entry h1 {
        font-size: 4.8rem;
    }
    .top_entry p {
        font-size: 2.2rem;
        padding-top: 18px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .top_entry {
        top: 1220px;
        left: calc(50% - 700px);
        width: 600px;
    }
    .top_entry h1 {
        font-size: 5.8rem;
    }
    .top_entry p {
        font-size: 2.5rem;
        padding-top: 20px;
    }
}


/* scroller */
#scroller {
    position: fixed;
    z-index: 999;
    right: 5px;
    bottom: 17px;
    display: block;
    transition: 0.9s;
}
#scroller a {
    font-size: 1.6rem;
    color: #fff;
    display: none;
    width: 32px;
    height: 32px;
    text-align: center;
    text-decoration: none;
    background-image: url(image/base/menu_bg.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
    translate: 0 7px;
}
#scroller span {
    display: block;
    translate: 0 11px;
}
#scroller a:hover {
    color: #F60;
}
.appearance a {
    display: block!important;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #scroller a {
        font-size: 1.8rem;
        width: 36px;
        height: 36px;
    }
    #scroller span {
        translate: 0 8px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #scroller a {
        font-size: 2.0rem;
        width: 44px;
        height: 44px;
    }
    #scroller span {
        translate: 0 10px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #scroller a {
        font-size: 2.2rem;
        width: 50px;
        height: 50px;
    }
    #scroller span {
        translate: 0 12px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #scroller a {
        font-size: 2.4rem;
        width: 54px;
        height: 54px;
    }
    #scroller span {
        translate: 0 13px;
    }
}


/* logo */
#logo {
    width: auto;
    height: auto;
    position: absolute;
    top: 366px;
    right: 0;
    z-index: 2;
    background-image: url(image/base/logo_bg.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: 0 0;
    padding-top: 13px;
    padding-left: 92px;
    padding-right: 56px;
    padding-bottom: 9px;
    transition: 0.3s;
}
#logo img {
    width: 106px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    transition: 0.3s;
}
#logo a {
    text-align: center;
    display: block;
    width: 100%;
    height: auto;
}
#logo a:hover img {
    transform: none;
    opacity: 0.6;
}
#logo small {
    width: auto;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    padding-top: 10px;
    display: block;
    text-align: center;
}
#logo small img {
    width: 50%;
    height: auto;
}
.sub_page #logo {
    top: 213px;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #logo {
        top: 586px;
        padding-top: 14px;
        padding-left: 120px;
        padding-right: 83px;
    }
    #logo img {
        width: 125px;
    }
    #logo small {
        padding-top: 14px;
    }
    #logo small img {
        width: 55%;
    }
    .sub_page #logo {
        top: 244px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #logo {
        top: 571px;
        padding-top: 17px;
        padding-left: 165px;
        padding-right: 118px;
    }
    #logo img {
        width: 160px;
    }
    #logo small {
        padding-top: 16px;
    }
    #logo small img {
        width: 60%;
    }
    .sub_page #logo {
        top: 288px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #logo {
        top: 714px;
        padding-top: 20px;
        padding-left: 180px;
        padding-right: 131px;
    }
    #logo img {
        width: 180px;
    }
    #logo small {
        padding-top: 18px;
    }
    #logo small img {
        width: 65%;
    }
    .sub_page #logo {
        top: 310px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #logo {
        top: 863px;
        padding-top: 26px;
        padding-left: 207px;
        padding-right: 152px;
    }
    #logo img {
        width: 210px;
    }
    #logo small {
        padding-top: 20px;
    }
    #logo small img {
        width: 70%;
    }
    .sub_page #logo {
        top: 373px;
    }
}


/* cautch */
#cautch {
    position: absolute;
    z-index: 1;
    top: 10px;
    left: 10px;
    width: 150px;
    height: 92px;
    background-image: url(image/base/cautch.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center center;
    transition: 0.3s;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #cautch {
        top: 15px;
        left: 15px;
        width: 170px;
        height: 109px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #cautch {
        top: 17px;
        left: 17px;
        width: 220px;
        height: 139px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #cautch {
        top: 20px;
        left: 20px;
        width: 250px;
        height: 154px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #cautch {
        top: 30px;
        left: 30px;
        width: 300px;
        height: 182px;
    }
}


/* modal_nav */
#modal_nav {
    width: 54px;
    height: auto;
    position: absolute;
    top: 377px;
    right: 10px;
    z-index: 9;
    left: auto;
    transition: 0.3s;
    background-image: url(image/base/menu_bg.svg);
    background-repeat: no-repeat;
    background-position: right 0;
    background-size: 54px auto;
}
.sub_page #modal_nav {
    top: 228px;
}
#modal_nav ul {
    overflow: hidden;
}
#modal_nav li {
    width: 100%;
    height: 54px;
}
#modal_nav a {
    text-decoration: none;
    display: block;
    font-size: 2.1rem;
    width: 100%;
    height: auto;
    color: #fff;
    cursor: pointer;
    text-align: center;
    translate: 0 14px;
}
#modal_nav a:hover {
    color: #f60;
}
#modal_nav a small {
    display: block;
    font-size: 40%;
}
.fixed {
    position: fixed!important;
    top: 5px!important;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #modal_nav {
        width: 66px;
        background-size: 66px auto;
        top: 602px;
    }
    .sub_page #modal_nav {
        top: 258px;
    }
    #modal_nav li {
        height: 66px;
    }
    #modal_nav a {
        font-size: 2.4rem;
        translate: 0 18px;
    }
    .fixed {
        top: 10px!important;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #modal_nav {
        width: 76px;
        background-size: 76px auto;
        top: 590px;
    }
    .sub_page #modal_nav {
        top: 307px;
    }
    #modal_nav li {
        height: 76px;
    }
    #modal_nav a {
        font-size: 2.8rem;
        translate: 0 20px;
    }
    .fixed {
        top: 10px!important;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #modal_nav {
        width: 86px;
        background-size: 86px auto;
        top: 742px;
    }
    .sub_page #modal_nav {
        top: 331px;
    }
    #modal_nav li {
        height: 86px;
    }
    #modal_nav a {
        font-size: 3.2rem;
        translate: 0 23px;
    }
    .fixed {
        top: 20px!important;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #modal_nav {
        width: 100px;
        background-size: 100px auto;
        top: 901px;
    }
    .sub_page #modal_nav {
        top: 408px;
    }
    #modal_nav li {
        height: 100px;
    }
    #modal_nav a {
        font-size: 3.6rem;
        translate: 0 29px;
    }
    .fixed {
        top: 20px!important;
    }
}


/* sl sub_theme */
#sl {
    overflow: hidden;
    position: relative;
    height: 400px;
    transition: 0.3s;
}
#sl video {
    height: 400px;
    width: 100%;
    position: absolute;
    object-fit: cover;
    object-position: center center;
    transition: 0.3s;
}
#sl_line_l {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    z-index: 1;
    width: 100%;
    height: auto;
}
#sl_line_s {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    z-index: 1;
    width: 100%;
    height: 600px;
}
.sub_page #sl_line_l {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    z-index: 1;
    width: 100%;
    height: auto;
}
.sub_page #sl_line_s {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    z-index: 1;
    width: 100%;
    height: 270px;
}
#sl_line_l svg,
#sl_line_s svg {
    width: 100%;
    height: 101%;
}
#sub_theme {
    overflow: hidden;
    position: relative;
    height: 270px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.detail_sarabanji {
    background-image: url(image/sl/detail_sarabanji.jpg);
}
.detail_goods {
    background-image: url(image/sl/detail_goods.jpg);
}
.detail_company {
    background-image: url(image/sl/detail_company.jpg);
}
.detail_movie {
    background-image: url(image/sl/detail_movie.jpg);
}
.detail_recruit {
    background-image: url(image/sl/detail_recruit.jpg);
}
@supports (background-image: url('image.webp')) {
    .detail_sarabanji {
        background-image: url(image/sl/detail_sarabanji.webp);
    }
    .detail_goods {
        background-image: url(image/sl/detail_goods.webp);
    }
    .detail_company {
        background-image: url(image/sl/detail_company.webp);
    }
    .detail_movie {
        background-image: url(image/sl/detail_movie.webp);
    }
    .detail_recruit {
        background-image: url(image/sl/detail_recruit.webp);
    }
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #sl {
        height: 650px;
    }
    #sl video {
        height: 650px;
    }
    #sl_line_l {
        display: none;
    }
    #sl_line_s {
        display: block;
        height: 650px;
    }
    .sub_page #sl_line_l {
        display: none;
    }
    .sub_page #sl_line_s {
        display: block;
        height: 310px;
    }
    #sub_theme {
        height: 310px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #sl {
        height: 650px;
    } 
    #sl video {
        height: 650px;
    }
    #sl_line_l {
        display: block;
        height: 650px;
    }
    #sl_line_s {
        display: none;
    }
    .sub_page #sl_line_l {
        display: block;
        height: 370px;
    }
    .sub_page #sl_line_s {
        display: none;
    }
    #sub_theme {
        height: 370px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #sl {
        height: 800px;
    }
    #sl video {
        height: 800px;
    }
    #sl_line_l {
        display: block;
        height: 800px;
    }
    #sl_line_s {
        display: none;
    }
    .sub_page #sl_line_l {
        display: block;
        height: 400px;
    }
    .sub_page #sl_line_s {
        display: none;
    }
    #sub_theme {
        height: 400px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #sl {
        height: 960px;
    } 
    #sl video {
        height: 960px;
    }
    #sl_line_l {
        display: block;
        height: 960px;
    }
    #sl_line_s {
        display: none;
    }
    .sub_page #sl_line_l {
        display: block;
        height: 490px;
    }
    .sub_page #sl_line_s {
        display: none;
    }
    #sub_theme {
        height: 490px;
    }
    
}


/* disp_sns_area */
#disp_sns_area {
    width: 100%;
    height: 360px;
    overflow: hidden;
}
#disp_line_l {
    display: none;
    position: absolute;
    z-index: -1;
    top: 960px;
    left: auto;
    right: auto;
    width: 100%;
    height: 400px;
    transition: 0.3s;
}
#disp_line_s {
    display: block;
    position: absolute;
    z-index: -1;
    top: 400px;
    left: auto;
    right: auto;
    width: 100%;
    height: 360px;
    transition: 0.3s;
}
.sub_page #disp_line_s {
    top: 270px;
}
#disp_sns {
    float:none;
    overflow: hidden;
    width: calc(100% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    padding-top: 130px;
    padding-bottom: 10px;
    transition: 0.3s;
}
#disp {
    text-align: center;

}
#disp h1 {
    font-size: 1.6rem;
    font-weight: bold;
    display: block;
}
#disp h2 {
    font-size: 1.4rem;
    font-weight: normal;
    display: block;
    padding-top: 6px;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #disp_sns_area {
        height: 380px;
    }
    #disp_sns {
        float: none;
        width: calc(100% - 20px);
        margin-left: 10px;
        margin-right: 10px;
        padding-top: 152px;
    }
    #disp_line_l {
        display: none;
    }
    #disp_line_s {
        top: 650px;
        height: 380px;
        display: block;
    }
    .sub_page #disp_line_s {
        top: 310px;
    }
    #disp h1 {
        font-size: 1.7rem;
    }
    #disp h2 {
        font-size: 1.4rem;
    }
    #disp small {
        font-size: 1.4rem;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #disp_sns_area {
        height: 310px;
    }
    #disp_sns {
        float: right;
        width: 270px;
        margin-left: auto;
        margin-right: auto;
        padding-top: 80px;
    }
    #disp_line_l {
        top: 650px;
        height: 310px;
        display: block;
    }
    #disp_line_s {
        display: none;
    }
    .sub_page #disp_line_l {
        top: 370px;
    }
    #disp h1 {
        font-size: 1.9rem;
    }
    #disp h2 {
        font-size: 1.5rem;
    }
    #disp small {
        font-size: 1.5rem;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #disp_sns_area {
        height: 330px;
    }
    #disp_sns {
        float: right;
        width: 280px;
        margin-left: auto;
        margin-right: auto;
        padding-top: 93px;
    }
    #disp_line_l {
        top: 800px;
        height: 330px;
        display: block;
    }
    #disp_line_s {
        display: none;
    }
    .sub_page #disp_line_l {
        top: 400px;
    }
    #disp h1 {
        font-size: 2.1rem;
    }
    #disp h2 {
        font-size: 1.6rem;
    }
    #disp small {
        font-size: 1.6rem;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #disp_sns_area {
        height: 370px;
    }
    #disp_sns {
        float: right;
        width: 300px;
        margin-left: auto;
        margin-right: auto;
        padding-top: 110px;
    }
    #disp_line_l {
        top: 960px;
        height: 370px;
        display: block;
    }
    #disp_line_s {
        display: none;
    }
    .sub_page #disp_line_l {
        top: 490px;
    }
    #disp h1 {
        font-size: 2.4rem;
    }
    #disp h2 {
        font-size: 1.7rem;
    }
    #disp small {
        font-size: 1.7rem;
    }
}


/* hibiscus */
.hibiscus {
    position: absolute;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
    transition: 0.3s;
}
.hibiscus_a {
    top: 429px;
    left: 3%;
    width: 32px;
    height: 31px;
    background-image: url(image/base/hibiscus_a.svg);
}
.hibiscus_b {
    top: 458px;
    left: 21%;
    width: 35px;
    height: 32px;
    background-image: url(image/base/hibiscus_b.svg);
}
.hibiscus_c {
    top: 468px;
    right: 48%;
    width: 32px;
    height: 40px;
    background-image: url(image/base/hibiscus_c.svg);
}
.hibiscus_d {
    top: 497px;
    right: 11%;
    width: 28px;
    height: 29px;
    background-image: url(image/base/hibiscus_d.svg);
}
.sub_page .hibiscus_a {
    top: 312px;
}
.sub_page .hibiscus_b {
    top: 344px;
}
.sub_page .hibiscus_c {
    top: 304px;
}
.sub_page .hibiscus_d {
    top: 340px;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .hibiscus_a {
        top: 704px;
        left: 3%;
        width: 39px;
        height: 38px;
    }
    .hibiscus_b {
        top: 722px;
        left: 32%;
        width: 46px;
        height: 42px;
    }
    .hibiscus_c {
        top: 696px;
        right: 35%;
        width: 43px;
        height: 48px;
    }
    .hibiscus_d {
        top: 749px;
        right: 11%;
        width: 36px;
        height: 37px;
    }
    .sub_page .hibiscus_a {
        top: 361px;
    }
    .sub_page .hibiscus_b {
        top: 394px;
    }
    .sub_page .hibiscus_c {
        top: 359px;
    }
    .sub_page .hibiscus_d {
        top: 408px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .hibiscus_a {
        top: 674px;
        left: 3%;
        width: 49px;
        height: 46px;
    }
    .hibiscus_b {
        top: 735px;
        left: 32%;
        width: 53px;
        height: 48px;
    }
    .hibiscus_c {
        top: 694px;
        right: 45%;
        width: 50px;
        height: 56px;
    }
    .hibiscus_d {
        top: 795px;
        right: 36%;
        width: 41px;
        height: 43px;
    }
    .sub_page .hibiscus_a {
        top: 416px;
    }
    .sub_page .hibiscus_b {
        top: 484px;
    }
    .sub_page .hibiscus_c {
        top: 405px;
    }
    .sub_page .hibiscus_d {
        top: 494px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .hibiscus_a {
        top: 822px;
        left: calc(50% - 508px);
        width: 56px;
        height: 52px;
    }
    .hibiscus_b {
        top: 869px;
        left: calc(50% - 211px);
        width: 66px;
        height: 59px;
    }
    .hibiscus_c {
        top: 848px;
        right: calc(50% - 163px);
        width: 62px;
        height: 69px;
    }
    .hibiscus_d {
        top: 958px;
        right: calc(50% - 257px);
        width: 53px;
        height: 54px;
    }
    .sub_page .hibiscus_a {
        top: 445px;
    }
    .sub_page .hibiscus_b {
        top: 506px;
    }
    .sub_page .hibiscus_c {
        top: 437px;
    }
    .sub_page .hibiscus_d {
        top: 553px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .hibiscus_a {
        top: 1001px;
        left: calc(50% - 703px);
        width: 67px;
        height: 63px;
    }
    .hibiscus_b {
        top: 1056px;
        left: calc(50% - 313px);
        width: 73px;
        height: 65px;
    }
    .hibiscus_c {
        top: 993px;
        right: calc(50% - 252px);
        width: 75px;
        height: 82px;
    }
    .hibiscus_d {
        top: 1143px;
        right: calc(50% - 344px);
        width: 57px;
        height: 59px;
    }
    .sub_page .hibiscus_a {
        top: 548px;
    }
    .sub_page .hibiscus_b {
        top: 599px;
    }
    .sub_page .hibiscus_c {
        top: 532px;
    }
    .sub_page .hibiscus_d {
        top: 673px;
    }
}


/* news_area */
#news_area {
    width: auto;
    overflow: hidden;
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 40px;
}
#news_area h1 {
    font-size: 2.0rem;
    text-align: center;
    padding-bottom: 20px;
}
#news_area p {
    font-size: 1.5rem;
    text-align: center;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 30px;
}
.news {
    float: left;
    width: calc(100% / 2 - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    position: relative;
}
.news_image {
    width: 100%;
    height: auto;
}
.news_image img {
    width: 100%;
    height: 110px;
    object-fit: cover;
    object-position: center center;
    vertical-align:top;
    overflow: hidden;
    border-radius: 10px;
    border: solid 1px #cbcaca;
}
.news time {
    font-size: 1.5rem;
    color: #333;
    display: block;
    clear: both;
    padding-top: 5px;
}
.news h2 {
    font-size: 1.8rem;
}
.news h2 a {
    font-weight: normal;
    color: #000;
    text-decoration: none;
    display: block;
}
.news h2 a:hover {
    color: #f60;
}
.cat_icon {
    font-size: 1.4rem;
    text-align: center;
    width: 80px;
    padding-top: 3px;
    padding-bottom: 3px;
    margin-bottom: 5px;
    position: absolute;
    top: 5px;
    right: 4px;
    border-radius: 8px;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #news_area {
        width: auto;
        margin-left: 25px;
        margin-right: 25px;
    }
    #news_area h1 {
        font-size: 2.6rem;
        margin-top: 15px;
        margin-bottom: 15px;
    }
    #news_area p {
        font-size: 1.6rem;
    }
    .news {
        width: calc(100% / 2 - 20px);
    }
    .news_image img {
        height: 120px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #news_area {
        width: auto;
        margin-left: 25px;
        margin-right: 25px;
    }
    #news_area h1 {
        font-size: 2.8rem;
        margin-top: 20px;
        margin-bottom: 20px;
    }
    #news_area p {
        font-size: 1.7rem;
    }
    .news {
        width: calc(100% / 4 - 20px);
    }
    .news_image img {
        height: 126px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #news_area {
        width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }
    #news_area h1 {
        font-size: 3.0rem;
        margin-top: 25px;
        margin-bottom: 25px;
    }
    #news_area p {
        font-size: 1.8rem;
    }
    .news {
        width: calc(100% / 4 - 20px);
    }
    .news_image img {
        height: 135px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #news_area {
        width: 1400px;
        margin-left: auto;
        margin-right: auto;
    }
    #news_area h1 {
        font-size: 3.2rem;
        margin-top: 30px;
        margin-bottom: 30px;
    }
    #news_area p {
        font-size: 1.9rem;
    }
    .news {
        width: calc(100% / 4 - 20px);
    }
    .news_image img {
        height: 170px;
    }
}


/* button_detail */
.button_detail {
    padding-top: 10px;
    margin-left: calc(50% - 75px);
    margin-right: auto;
    margin-bottom: 20px;
}
.button_detail a {
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    text-decoration: none;
    width: 140px;
    height: 28px;
    display: block;
    padding-top: 5px;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
}
.button_detail_cob a {
    background-image: url(image/base/detail_bg_cob.svg);
}
.button_detail_pink a {
    background-image: url(image/base/detail_bg_pink.svg);
}
.button_detail_green a {
    background-image: url(image/base/detail_bg_green.svg);
}
.button_detail_blue a {
    background-image: url(image/base/detail_bg_blue.svg);
}
.button_detail a:hover {
    color: #f60;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .button_detail {
        margin-left: calc(50% - 102px);
    }
    .button_detail a {
        font-size: 1.6rem;
        width: 200px;
        height: 35px;
        padding-top: 10px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .button_detail {
        margin-left: calc(50% - 127px);
    }
    .button_detail a {
        font-size: 1.9rem;
        width: 240px;
        height: 42px;
        padding-top: 11px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .button_detail {
        margin-left: calc(50% - 140px);
    }
    .button_detail a {
        font-size: 2.2rem;
        width: 270px;
        height: 47px;
        padding-top: 14px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .button_detail {
        margin-left: calc(50% - 145px);
    }
    .button_detail a {
        font-size: 2.4rem;
        width: 290px;
        height: 49px;
        padding-top: 15px;
    }
}


/* copy design */
#copy_design {
    height: 145px;
    text-align: center;
}
#copy {
    font-size: 1.4rem;
    padding-top: 29px;
    padding-bottom: 10px;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #copy_design {
        height: 145px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #copy_design {
        height: 145px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #copy_design {
        height: 145px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #copy_design {
        height: 145px;
    }
}


/* remodal */
.remodal  {
    background-size: 70px auto !important;
    background-position: right 150px !important;
    background-repeat: no-repeat !important;
    padding: 0px!important;
    border-radius: 0px !important;
    border-top-left-radius: 30px !important;
    border-bottom-right-radius: 30px !important;
}
.modal_body {
    background-size: 105px auto;
    background-repeat: no-repeat;
}
.remodal-overlay {
    background: rgb(0 161 154 / 88%) !important;
}
.modal_bg_color1 {
    background-color: #fff !important;
}
.remodal-close {
    display: none !important;
}
.remodal-confirm,
.remodal-cancel {
    font-size: 1.5rem!important;
    color: #000 !important;
    background-image: url(image/base/home_bg.svg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% auto;
    background-color: transparent !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    padding: 0 0 !important;
    height: 36px;
    width: 78px;
    min-width: auto !important;
    position: absolute;
    bottom: 0px;
    right: 0px;
    text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff, 2px 0px 1px #fff, 0px 2px 1px #fff, -2px 0px 1px #fff, 0px -2px 1px #fff;
}
.remodal-confirm:hover,
.remodal-cancel:hover {
    color: #f60 !important;
    background-image: url(image/base/home_bg.svg) !important;
    background-repeat: no-repeat !important;
    background-position: top center !important;
    background-size: 100% auto !important;
    background-color: transparent !important;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .remodal-confirm,
    .remodal-cancel {
        font-size: 1.6rem!important;
        height: 41px;
        width: 89px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .remodal-confirm,
    .remodal-cancel {
        font-size: 1.7rem!important;
        height: 46px;
        width: 100px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .remodal-confirm,
    .remodal-cancel {
        font-size: 1.8rem!important;
        height: 47px;
        width: 103px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .remodal-confirm,
    .remodal-cancel {
        font-size: 1.9rem!important;
        height: 57px;
        width: 127px;
    }
}


/* modal-content */
.modal_nav {
    padding-top: 20px;
    padding-bottom: 40px;
    overflow: hidden;
}
.modal_nav ul {
    overflow: hidden;
    padding-top: 20px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 0px;
}
ul.modal_nav_first {
    margin-bottom: 34px;
}
ul.modal_nav_second {
    float: left;
    width: calc(100% - 60px);
    padding-left: 30px;
    padding-right: 30px;
}
ul.modal_nav_third {
    float: left;
    width: calc(100% - 60px);
    padding-left: 30px;
    padding-right: 30px;
}
ul.modal_nav_forth {
    float: left;
    width: calc(100% - 60px);
    padding-left: 30px;
    padding-right: 30px;
    margin-bottom: 34px;
}
.modal_nav li {
    font-size: 1.5rem;
    position: relative;
    float: left;
    margin-left: 10px;
    margin-right: 10px;
    transition: 0.3s;
}
.modal_nav_first li {
    width: 78px;
    margin-bottom: 20px;
    position: absolute;
    top: 0px;
    left: -10px;
}
.modal_nav_second li {
    width: calc(100% / 1 - 20px);
}
.modal_nav_third li {
    width: calc(100% / 2 - 20px);
    float: left;
}
.modal_nav_forth li {
    width: calc(100% / 2 - 20px);
}
.modal_nav li a {
    font-size: 1.6rem;
    font-weight: bold;
    text-decoration: none;
    color: #fff;
    text-align: center;
    display: block;
    text-shadow: 2px 2px 1px #000, -2px 2px 1px #000, 2px -2px 1px #000, -2px -2px 1px #000, 2px 0px 1px #000, 0px 2px 1px #000, -2px 0px 1px #000, 0px -2px 1px #000;
}
.modal_nav .modal_nav_first li a {
    color: #000;
    padding-top: 6px;
    padding-bottom: 6px;
    background-image: url(image/base/home_bg.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: 0 0;
    text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff, 2px 0px 1px #fff, 0px 2px 1px #fff, -2px 0px 1px #fff, 0px -2px 1px #fff;
}
.modal_nav li a:hover {
    color: #f60;
}
.modal_nav em {
    font-style: normal;
    font-weight: bold;
    position: absolute;
    bottom: 10px;
    left: 0;
    right: auto;
    width: 100%;
    text-align: center;
}
.modal_nav li img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center center;
    display: block;
}
.modal_nav_third li img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center center;
    margin-left: auto;
    margin-right: auto;
}
.modal_nav_second li img {
    height: 260px;
}
.modal_nav_third li img {
    height: 166px;
}
.modal_nav_forth li img {
    height: 105px;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    ul.modal_nav_second {
        float: left;
        width: calc(100% - 60px);
        padding-left: 30px;
        padding-right: 3px;
    }
    ul.modal_nav_third {
        float: left;
        width: calc(100% - 60px);
        padding-left: 30px;
        padding-right: 30px;
    }
    ul.modal_nav_forth {
        float: left;
        width: calc(100% - 60px);
        padding-left: 30px;
        padding-right: 30px;
    }
    .modal_nav li {
        font-size: 1.7rem;
    }
    .modal_nav_first li {
        width: 89px;
    }
    .modal_nav_second li {
        width: calc(100% / 1 - 20px);
    }
    .modal_nav_third li {
        width: calc(100% / 2 - 20px);
        float: left;
    }
    .option_spc {
        margin-bottom: 0px;
    }
    .modal_nav li a {
        font-size: 1.8rem;
    }
    .modal_nav .modal_nav_first li a {
        padding-top: 7px;
        padding-bottom: 7px;
    }
    .modal_nav em {
        bottom: 13px;
    }
    .modal_nav_second li img {
        height: 421px;
    }
    .modal_nav_third li img {
        height: 258px;
    }
    .modal_nav_forth li img {
        height: 128px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    ul.modal_nav_second {
        float: left;
        width: calc(50% - 30px);
        padding-left: 30px;
        padding-right: 0px;
    }
    ul.modal_nav_third {
        float: left;
        width: calc(50% - 30px);
        padding-left: 0px;
        padding-right: 30px;
    }
    ul.modal_nav_forth {
        float: left;
        width: calc(100% - 60px);
        padding-left: 30px;
        padding-right: 30px;
    }
    .modal_nav li {
        font-size: 1.8rem;
    }
    .modal_nav_first li {
        width: 100px;
    }
    .modal_nav_second li {
        width: calc(100% / 1 - 20px);
    }
    .modal_nav_third li {
        width: calc(100% / 1 - 20px);
        float: none;
    }
    .option_spc {
        margin-bottom: 20px;
    }
    .modal_nav li a {
        font-size: 1.9rem;
    }
    .modal_nav .modal_nav_first li a {
        padding-top: 9px;
        padding-bottom: 9px;
    }
    .modal_nav em {
        bottom: 16px;
    }
    .modal_nav_second li img {
        height: 537px;
    }
    .modal_nav_third li img {
        height: 258px;
    }
    .modal_nav_forth li img {
        height: 128px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    ul.modal_nav_second {
        float: left;
        width: calc(450px - 30px);
        padding-left: 30px;
        padding-right: 0px;
    }
    ul.modal_nav_third {
        float: left;
        width: calc(100% - 450px - 30px);
        padding-left: 0px;
        padding-right: 30px;
    }
    ul.modal_nav_forth {
        float: left;
        width: calc(100% - 450px - 30px);
        padding-left: 0px;
        padding-right: 30px;
    }
    .modal_nav li {
        font-size: 2.5rem;
    }
    .modal_nav_first li {
        width: 103px;
    }
    .modal_nav_second li {
        width: calc(100% / 1 - 20px);
    }
    .modal_nav_third li {
        width: calc(100% / 2 - 20px);
        float: left;
    }
    .option_spc {
        margin-bottom: 0px;
    }
    .modal_nav li a {
        font-size: 2.1rem;
    }
    .modal_nav .modal_nav_first li a {
        padding-top: 8px;
        padding-bottom: 8px;
    }
    .modal_nav em {
        bottom: 19px;
    }
    .modal_nav_second li img {
        height: 537px;
    }
    .modal_nav_third li img {
        height: 360px;
    }
    .modal_nav_forth li img {
        height: 158px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    ul.modal_nav_second {
        float: left;
        width: calc(450px - 30px);
        padding-left: 30px;
        padding-right: 0px;
    }
    ul.modal_nav_third {
        float: left;
        width: calc(100% - 450px - 30px);
        padding-left: 0px;
        padding-right: 30px;
    }
    ul.modal_nav_forth {
        float: left;
        width: calc(100% - 450px - 30px);
        padding-left: 0px;
        padding-right: 30px;
    }
    .modal_nav li {
        font-size: 3.0rem;
    }
    .modal_nav_first li {
        width: 127px;
    }
    .modal_nav_second li {
        width: calc(100% / 1 - 20px);
    }
    .modal_nav_third li {
        width: calc(100% / 2 - 20px);
        float: left;
    }
    .modal_nav .modal_nav_first li a {
        padding-top: 7px;
        padding-bottom: 7px;
    }
    .modal_nav li a {
        font-size: 2.8rem;
    }
    .option_spc {
        margin-bottom: 0px;
    }
    .modal_nav em {
        bottom: 25px;
    }
    .modal_nav_second li img {
        height: 573px;
    }
    .modal_nav_third li img {
        height: 377px;
    }
    .modal_nav_forth li img {
        height: 177px;
    }
}


/* footer_nav */
#footer_nav {
    clear: both;
}
#footer_nav ul {
    overflow: hidden;
    padding-top: 40px;
    padding-bottom: 20px;
}
#footer_nav li {
    width: 300px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}
#footer_nav li a {
    font-size: 1.6rem;
    text-align: center;
    color: #000;
    text-decoration: none;
    display: block;
    width: 100%;
    padding-top: 5px;
    padding-bottom: 5px;
}
#footer_nav li a:hover {
    color: #f60;
}


/* sns */
#sns {
    width: 100%;
    padding-top: 15px;
    transition: 0.3s;
}
#sns ul {
    overflow: hidden;
}
#sns ul li {
    float: left;
    width: calc(100% / 4 - 10px);
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 10px;
}
#sns li a {
    font-size: 2.4rem;
    line-height: 1.3;
    display: block;
    text-align: center;
    text-decoration: none;
}
#sns li a:hover {
    color: #f60;
}
#sns em {
    display: block;
}
#sns small {
    display: block;
    font-size: 45%;
}
.facebook {
    color: #3a5bb5;
}
.youtube {
    color: #DF2E2A;
}
.x-sns {
    color: #333;
}
.instagram {
    color: #B42B91;
}
.line {
    color: #0d8117;
}
@media only screen and (min-width: 700px) and (max-width: 789px) { /* 700-789 */
    #sns li a {
        font-size: 2.6rem;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #sns li a {
        font-size: 2.9rem;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #sns li a {
        font-size: 3.1rem;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #sns li a {
        font-size: 3.4rem;
    }
}


/* mecha */
#mecha {
    width: 100%;
    margin-top: 228px;
    position: relative;
}
#mecha_preview {
    width: calc(100% - 40px);
    margin-left: 20px;
    margin-right: 20px;
    padding-top: 57px;
    position: relative;
}
.mecha_preview_bg {
    position: absolute;
    bottom: 0;
    left: auto;
    right: auto;
    z-index: -2;
    width: 100%;
    height: 485px;
}
.mecha_bg {
    width: 100%;
    height: 330px;
    position: absolute;
    top: 0;
    left: auto;
    right: auto;
    z-index: -3;
    background: linear-gradient(to bottom,  #ffffff 0%,#c5e6fd 100%);
}
.icon_rotate {
    background-image: url(image/base/icon_rotate.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
    width: 60px;
    height: 24px;
    position: absolute;
    top: 0;
    left: auto;
    right: auto;
    margin-left: calc(50% - 30px);
    margin-right: auto;
    transition: 0.3s;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #mecha {
        margin-top: 266px;
    }
    #mecha_preview {
        width: calc(100% - 40px);
        margin-left: 20px;
        margin-right: 20px;
        padding-top: 57px;
    }
    .mecha_preview_bg {
        height: 514px;
    }
    .icon_rotate {
        width: 80px;
        height: 30px;
        margin-left: calc(50% - 40px);
    }
    .mecha_bg {
        height: 430px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #mecha {
        margin-top: 236px;
    }
    #mecha_preview {
        width: calc(100% - 40px);
        margin-left: 20px;
        margin-right: 20px;
        padding-top: 61px;
    }
    .mecha_preview_bg {
        height: 683px;
    }
    .icon_rotate {
        width: 100px;
        height: 36px;
        margin-left: calc(50% - 50px);
    }
    .mecha_bg {
        height: 700px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #mecha {
        margin-top: 245px;
    }
    #mecha_preview {
        width: 800px;
        margin-left: auto;
        margin-right: auto;
        padding-top: 90px;
    }
    .mecha_preview_bg {
        height: 780px;
    }
    .icon_rotate {
        width: 110px;
        height: 41px;
        margin-left: calc(50% - 55px);
    }
    .mecha_bg {
        height: 760px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #mecha {
        margin-top: 250px;
    }
    #mecha_preview {
        width: 1000px;
        margin-left: auto;
        margin-right: auto;
        padding-top: 110px;
    }
    .mecha_preview_bg {
        height: 840px;
    }
    .icon_rotate {
        width: 120px;
        height: 43px;
        margin-left: calc(50% - 60px);
    }
    .mecha_bg {
        height: 980px;
    }
}


/* swiper */
.swiper-slide {
    height: auto;
}
.slide-img img {
    width: 340px;
    height: auto;
    margin-left: calc(50% - 170px);
    transition: 0.3s;
}
.slide_front,
.slide_rear {
    position: relative;
}
.point {
    font-size: 1.8rem;
    position: absolute;
    text-align: center;
    transition: 0.3s;
}
.point:hover {
    cursor:pointer;
}
.point em {
    color: #fff;
    font-style: normal;
    display: block;
    width: 30px;
    height: 30px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(image/base/hexagon.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
}
.point em:hover {
    color: #f60;
}
.point small {
    font-size: 40%;
    line-height: 1.3;
    display: block;
    padding-top: 3px;
    margin-left: auto;
    margin-right: auto;
    text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff, 2px 0px 1px #fff, 0px 2px 1px #fff, -2px 0px 1px #fff, 0px -2px 1px #fff;
}
.bubbleline {
    position: absolute;
    background-image: url(image/base/bubbleline.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: top left;
    display: block;
    width: 30px;
    height: 2px;
    transition: 0.3s;
}
.swiper-slide-active .bubbleline_01 {
    top: 44px;
    right: calc(50% - 43px);
    transform: rotate(130deg);
}
.swiper-slide-active .bubbleline_02 {
    top: 57px;
    left: calc(50% - 72px);
    transform: rotate(211deg);
}
.swiper-slide-active .bubbleline_03 {
    top: 111px;
    left: calc(50% - 160px);
    transform: rotate(69deg);
}
.swiper-slide-active .bubbleline_04 {
    top: 192px;
    left: calc(50% - 88px);
    transform: rotate(100deg);
}
.swiper-slide-active .bubbleline_05 {
    top: 150px;
    right: calc(50% - 156px);
    transform: rotate(244deg);
}
.swiper-slide-active .bubbleline_06 {
    top: 282px;
    right: calc(50% - 121px);
    transform: rotate(146deg);
}
.swiper-slide-active .bubbleline_07 {
    top: 96px;
    left: calc(50% - 144px);
    transform: rotate(131deg);
}
.swiper-slide-active .bubbleline_08 {
    top: 174px;
    left: calc(50% - 87px);
    transform: rotate(146deg);
}
.swiper-slide-active .bubbleline_09 {
    top: 37px;
    right: calc(50% - 52px);
    transform: rotate(167deg);
}
.swiper-slide-active .bubbleline_10 {
    top: 296px;
    right: calc(50% - 81px);
    transform: rotate(200deg);
}
.bubbleline_11 {
    top: 408px;
    left: calc(50% - 140px);
    transform: rotate(112deg);
}
.safety_cautch {
    width: 70px;
    height: 40px;
    background-image: url(image/base/safty.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% auto;
    position: absolute;
    top: -17px;
    left: calc(50% - 109px);
    transition: 0.3s;
}
.point_01 {
    top: -15px;
    right: calc(50% - 72px);
}
.point_02 {
    top: 29px;
    left: calc(50% - 106px);
}
.point_03 {
    top: 43px;
    left: calc(50% - 175px);
}
.point_04 {
    top: 213px;
    left: calc(50% - 108px);
}
.point_05 {
    top: 166px;
    right: calc(50% - 175px);
}
.point_06 {
    top: 233px;
    right: calc(50% - 161px);
}
.point_07 {
    top: 174px;
    left: calc(50% - 121px);
}
.point_08 {
    top: 107px;
    left: calc(50% - 170px);
}
.point_09 {
    top: 10px;
    right: calc(50% - 86px);
}
.point_10 {
    top: 289px;
    right: calc(50% - 115px);
}
.point_11 {
    top: 424px;
    left: calc(50% - 157px);
}
.scania_truck {
    width: 185px;
    height: 136px;
    background-image: url(image/base/scania_truck.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% auto;
    position: absolute;
    top: 254px;
    left: calc(50% - 193px);
    z-index: -1;
    transition: 0.3s;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .slide-img img {
        width: 440px;
        margin-left: calc(50% - 220px);
    }
    .point {
        font-size: 2.3rem;
    }
    .point small {
        padding-top: 5px;
    }
    .point em {
        width: 40px;
        height: 40px;
    }
    .bubbleline {
        width: 40px;
        height: 3px;
    }
    .swiper-slide-active .bubbleline_01 {
        top: 55px;
        right: calc(50% - 49px);
    }
    .swiper-slide-active .bubbleline_02 {
        top: 64px;
        left: calc(50% - 90px);
    }
    .swiper-slide-active .bubbleline_03 {
        top: 137px;
        left: calc(50% - 191px);
    }
    .swiper-slide-active .bubbleline_04 {
        top: 248px;
        left: calc(50% - 113px);
    }
    .swiper-slide-active .bubbleline_05 {
        top: 191px;
        right: calc(50% - 194px);
    }
    .swiper-slide-active .bubbleline_06 {
        top: 361px;
        right: calc(50% - 152px);
    }
    .swiper-slide-active .bubbleline_07 {
        top: 225px;
        left: calc(50% - 106px);
    }
    .swiper-slide-active .bubbleline_08 {
        top: 137px;
        left: calc(50% - 176px);
    }
    .swiper-slide-active .bubbleline_09 {
        top: 42px;
        right: calc(50% - 65px);
    }
    .swiper-slide-active .bubbleline_10 {
        top: 378px;
        right: calc(50% - 104px);
    }
    .bubbleline_11 {
        top: 531px;
        left: calc(50% - 258px);
    }
    .safety_cautch {
        width: 100px;
        height: 54px;
        top: -30px;
        left: calc(50% - 150px);
    }
    .point_01 {
        top: -15px;
        right: calc(50% - 92px);
    }
    .point_02 {
        top: 29px;
        left: calc(50% - 134px);
    }
    .point_03 {
        top: 48px;
        left: calc(50% - 213px);
    }
    .point_04 {
        top: 274px;
        left: calc(50% - 117px);
    }
    .point_05 {
        top: 214px;
        right: calc(50% - 220px);
    }
    .point_06 {
        top: 303px;
        right: calc(50% - 202px);
    }
    .point_07 {
        top: 242px;
        left: calc(50% - 134px);
    }
    .point_08 {
        top: 148px;
        left: calc(50% - 211px);
    }
    .point_09 {
        top: 8px;
        right: calc(50% - 108px);
    }
    .point_10 {
        top: 370px;
        right: calc(50% - 149px);
    }
    .point_11 {
        top: 552px;
        left: calc(50% - 278px);
    }
    .scania_truck {
        width: 314px;
        height: 228px;
        top: 283px;
        left: calc(50% - 372px);
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .slide-img img {
        width: 740px;
        margin-left: calc(50% - 370px);
    }
    .point {
        font-size: 3.4rem;
    }
    .point small {
        padding-top: 6px;
    }
    .point em {
        width: 54px;
        height: 54px;
    }
    .bubbleline {
        width: 80px;
        height: 4px;
    }
    .swiper-slide-active .bubbleline_01 {
        top: 95px;
        right: calc(50% - 91px);
    }
    .swiper-slide-active .bubbleline_02 {
        top: 115px;
        left: calc(50% - 165px);
    }
    .swiper-slide-active .bubbleline_03 {
        top: 233px;
        left: calc(50% - 353px);
    }
    .swiper-slide-active .bubbleline_04 {
        top: 414px;
        left: calc(50% - 179px);
    }
    .swiper-slide-active .bubbleline_05 {
        top: 326px;
        right: calc(50% - 374px);
    }
    .swiper-slide-active .bubbleline_06 {
        top: 618px;
        right: calc(50% - 300px);
    }
    .swiper-slide-active .bubbleline_07 {
        top: 378px;
        left: calc(50% - 177px);
    }
    .swiper-slide-active .bubbleline_08 {
        top: 220px;
        left: calc(50% - 320px);
    }
    .swiper-slide-active .bubbleline_09 {
        top: 44px;
        right: calc(50% - 98px);
    }
    .swiper-slide-active .bubbleline_10 {
        top: 632px;
        right: calc(50% - 184px);
    }
    .bubbleline_11 {
        top: 849px;
        left: calc(50% - 351px);
    }
    .safety_cautch {
        width: 140px;
        height: 75px;
        top: -25px;
        left: calc(50% - 218px);
    }
    .point_01 {
        top: -15px;
        right: calc(50% - 141px);
    }
    .point_02 {
        top: 53px;
        left: calc(50% - 223px);
    }
    .point_03 {
        top: 97px;
        left: calc(50% - 382px);
    }
    .point_04 {
        top: 461px;
        left: calc(50% - 176px);
    }
    .point_05 {
        top: 364px;
        right: calc(50% - 411px);
    }
    .point_06 {
        top: 538px;
        right: calc(50% - 365px);
    }
    .point_07 {
        top: 411px;
        left: calc(50% - 211px);
    }
    .point_08 {
        top: 239px;
        left: calc(50% - 376px);
    }
    .point_09 {
        top: -10px;
        right: calc(50% - 158px);
    }
    .point_10 {
        top: 620px;
        right: calc(50% - 246px);
    }
    .point_11 {
        top: 890px;
        left: calc(50% - 373px);
    }
    .scania_truck {
        width: 492px;
        height: 355px;
        top: 459px;
        left: calc(50% - 484px);
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .slide-img img {
        width: 800px;
        margin-left: calc(50% - 400px);
    }
    .point {
        font-size: 3.9rem;
    }
    .point small {
        padding-top: 7px;
    }
    .point em {
        width: 60px;
        height: 60px;
    }
    .bubbleline {
        width: 90px;
        height: 5px;
    }
    .swiper-slide-active .bubbleline_01 {
        top: 104px;
        right: calc(50% - 114px);
    }
    .swiper-slide-active .bubbleline_02 {
        top: 115px;
        left: calc(50% - 179px);
    }
    .swiper-slide-active .bubbleline_03 {
        top: 258px;
        left: calc(50% - 416px);
    }
    .swiper-slide-active .bubbleline_04 {
        top: 460px;
        left: calc(50% - 227px);
    }
    .swiper-slide-active .bubbleline_05 {
        top: 355px;
        right: calc(50% - 403px);
    }
    .swiper-slide-active .bubbleline_06 {
        top: 655px;
        right: calc(50% - 305px);
    }
    .swiper-slide-active .bubbleline_07 {
        top: 416px;
        left: calc(50% - 205px);
    }
    .swiper-slide-active .bubbleline_08 {
        top: 249px;
        left: calc(50% - 339px);
    }
    .swiper-slide-active .bubbleline_09 {
        top: 63px;
        right: calc(50% - 122px);
    }
    .swiper-slide-active .bubbleline_10 {
        top: 701px;
        right: calc(50% - 204px);
    }
    .bubbleline_11 {
        top: 931px;
        left: calc(50% - 470px);
    }
    .safety_cautch {
        width: 150px;
        height: 79px;
        top: -36px;
        left: calc(50% - 233px);
    }
    .point_01 {
        top: -15px;
        right: calc(50% - 172px);
    }
    .point_02 {
        top: 53px;
        left: calc(50% - 245px);
    }
    .point_03 {
        top: 101px;
        left: calc(50% - 449px);
    }
    .point_04 {
        top: 513px;
        left: calc(50% - 222px);
    }
    .point_05 {
        top: 398px;
        right: calc(50% - 445px);
    }
    .point_06 {
        top: 565px;
        right: calc(50% - 384px);
    }
    .point_07 {
        top: 451px;
        left: calc(50% - 248px);
    }
    .point_08 {
        top: 274px;
        left: calc(50% - 397px);
    }
    .point_09 {
        top: 9px;
        right: calc(50% - 192px);
    }
    .point_10 {
        top: 690px;
        right: calc(50% - 271px);
    }
    .point_11 {
        top: 977px;
        left: calc(50% - 498px);
    }
    .scania_truck {
        width: 545px;
        height: 395px;
        top: 494px;
        left: calc(50% - 600px);
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .slide-img img {
        width: 1000px;
        margin-left: calc(50% - 500px);
    }
    .point {
        font-size: 4.8rem;
    }
    .point small {
        padding-top: 8px;
    }
    .point em {
        width: 80px;
        height: 80px;
    }
    .bubbleline {
        width: 120px;
        height: 7px;
    }
    .swiper-slide-active .bubbleline_01 {
        top: 120px;
        right: calc(50% - 135px);
    }
    .swiper-slide-active .bubbleline_02 {
        top: 171px;
        left: calc(50% - 233px);
    }
    .swiper-slide-active .bubbleline_03 {
        top: 325px;
        left: calc(50% - 539px);
    }
    .swiper-slide-active .bubbleline_04 {
        top: 582px;
        left: calc(50% - 278px);
    }
    .swiper-slide-active .bubbleline_05 {
        top: 446px;
        right: calc(50% - 509px);
    }
    .swiper-slide-active .bubbleline_06 {
        top: 831px;
        right: calc(50% - 427px);
    }
    .swiper-slide-active .bubbleline_07 {
        top: 515px;
        left: calc(50% - 261px);
    }
    .swiper-slide-active .bubbleline_08 {
        top: 296px;
        left: calc(50% - 447px);
    }
    .swiper-slide-active .bubbleline_09 {
        top: 97px;
        right: calc(50% - 170px);
    }
    .swiper-slide-active .bubbleline_10 {
        top: 896px;
        right: calc(50% - 268px);
    }
    .bubbleline_11 {
        top: 1162px;
        left: calc(50% - 619px);
    }
    .safety_cautch {
        width: 170px;
        height: 88px;
        top: -38px;
        left: calc(50% - 279px);
    }
    .point_01 {
        top: 0px;
        right: calc(50% - 218px);
    }
    .point_02 {
        top: 86px;
        left: calc(50% - 315px);
    }
    .point_03 {
        top: 125px;
        left: calc(50% - 581px);
    }
    .point_04 {
        top: 652px;
        left: calc(50% - 272px);
    }
    .point_05 {
        top: 508px;
        right: calc(50% - 559px);
    }
    .point_06 {
        top: 737px;
        right: calc(50% - 521px);
    }
    .point_07 {
        top: 563px;
        left: calc(50% - 304px);
    }
    .point_08 {
        top: 312px;
        left: calc(50% - 536px);
    }
    .point_09 {
        top: 28px;
        right: calc(50% - 261px);
    }
    .point_10 {
        top: 882px;
        right: calc(50% - 357px);
    }
    .point_11 {
        top: 1223px;
        left: calc(50% - 649px);
    }
    .scania_truck {
        width: 651px;
        height: 459px;
        top: 648px;
        left: calc(50% - 700px);
    }
}


/* bubble */
.bubble {
    font-size: 1.4rem;
    line-height: 1.3;
    font-weight: normal;
    color: #fff;
    background: #333;
    display: none;
    position: absolute;
    width: 80px;
    height: auto;
    padding-top: 5px;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    border-radius: 5px;
    z-index: 9;
}
.bubble:before {
    content: "";
    position: absolute;
    top: 100%;
    left: calc(50% - 10px);
    border: 10px solid transparent;
    border-top: 15px solid #333;
}
.number:hover .bubble {
    display: inline-block;
    bottom: 45px;
    left: calc(50% - 40px - 5px);
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .bubble {
        font-size: 1.5rem;
        width: 90px;
        padding-left: 7px;
        padding-right: 7px;
    }
    .number:hover .bubble {
        bottom: 60px;
        left: calc(50% - 45px - 7px);
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .bubble {
        font-size: 1.7rem;
        width: 140px;
        padding-left: 8px;
        padding-right: 8px;
    }
    .number:hover .bubble {
        bottom: 70px;
        left: calc(50% - 70px - 8px);
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .bubble {
        font-size: 1.9rem;
        width: 160px;
        padding-left: 10px;
        padding-right: 10px;
    }
    .number:hover .bubble {
        bottom: 80px;
        left: calc(50% - 80px - 10px);
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .bubble {
        font-size: 2.1rem;
        width: 180px;
        padding-left: 12px;
        padding-right: 12px;
    }
    .number:hover .bubble {
        bottom: 100px;
        left: calc(50% - 90px - 12px);
    }
}


/* promotion_area */
#promotion_area {
    overflow: hidden;
    padding-top: 50px;
    padding-bottom: 110px;
}
.promotion {
    float: left;
    width: calc(100% / 2 - 20px);
    text-align: center;
    margin-left: 10px;
    margin-right: 10px;
    transition: 0.3s;
}
.promotion button {
    overflow: hidden;
    border-radius: 10px;
    border: solid 2px #00a19a;
    margin-left: auto;
    margin-right: auto;
    cursor: pointer;
    position: relative;
}
.promotion img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}
.promotion img:hover {
    filter: alpha(opacity=80);
    opacity: 0.8;
    -moz-opacity: 0.8;
}
.promotion span {
    font-size: 3.0rem;
    text-decoration: none;
    color: #000;
    z-index: 1;
    display: block;
    position: absolute;
    top: calc(50% - 13px);
    left: auto;
    right: auto;
    width: 100%;
    filter: drop-shadow(0px 0px 10px rgb(255 255 255 / 80%));
}
.promotion small {
    font-size: 1.4rem;
    font-weight: bold;
    display: block;
    text-align: center;
    padding-top: 3px;
    padding-bottom: 1px;
}
.promotion small br {
    display: block;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .promotion {
        width: calc(100% / 2);
        margin-left: auto;
        margin-right: auto;
    }
    .promotion img {
        width: 180px;
    }
    .promotion span {
        font-size: 3.0rem;
        top: calc(50% - 13px);
    }
    .promotion small {
        font-size: 1.5rem;
    }
    .promotion small br {
        display: none;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .promotion {
        width: calc(100% / 2);
        margin-left: auto;
        margin-right: auto;
    }
    .promotion img {
        width: 260px;
    }
    .promotion span {
        font-size: 3.4rem;
        top: calc(50% - 16px);
    }
    .promotion small {
        font-size: 1.6rem;
    }
    .promotion small br {
        display: none;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .promotion {
        width: calc(100% / 2);
        margin-left: auto;
        margin-right: auto;
    }
    .promotion img {
        width: 330px;
    }
    .promotion span {
        font-size: 3.6rem;
        top: calc(50% - 16px);
    }
    .promotion small {
        font-size: 1.6rem;
    }
    .promotion small br {
        display: none;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .promotion {
        width: calc(100% / 2);
        margin-left: auto;
        margin-right: auto;
    }
    .promotion img {
        width: 360px;
    }
    .promotion span {
        font-size: 3.9rem;
        top: calc(50% - 19px);
    }
    .promotion small {
        font-size: 1.6rem;
    }
    .promotion small br {
        display: none;
    }
}

/* information_area */
#information_area {
    width: calc(100% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    padding-top: 30px;
    padding-bottom: 50px;
}
#information_area h1 {
    font-size: 2.2rem;
    text-align: center;
}
#information_area p {
    font-size: 1.5rem;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 10px;
}
.line_sample {
    width: 100%;
    padding-top: 20px;
    padding-bottom: 20px;
}
.line_sample img {
    width: 80%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}
.line_sample ul {
    overflow: hidden;
}
.line_sample ul li {
    float: left;
    width: calc(100% / 2 - 20px);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px;
    text-align: center;
    transition: 0.3s;
}
.line_sample li a {
    display: block;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #information_area {
        width: calc(100% - 20px);
        margin-left: 10px;
        margin-right: 10px;
    }
    #information_area h1 {
        font-size: 2.6rem;
    }
    #information_area p {
        font-size: 1.7rem;
    }
    .line_sample img {
        width: 85%;
    }
    .line_sample ul li {
        width: calc(100% / 4 - 20px);
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #information_area {
        width: calc(100% - 20px);
        margin-left: 10px;
        margin-right: 10px;
    }
    #information_area h1 {
        font-size: 2.8rem;
    }
    #information_area p {
        font-size: 1.9rem;
    }
    .line_sample img {
        width: 90%;
    }
    .line_sample ul li {
        width: calc(100% / 8 - 20px);
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #information_area {
        width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }
    #information_area h1 {
        font-size: 3.0rem;
    }
    #information_area p {
        font-size: 2.1rem;
    }
    .line_sample img {
        width: 95%;
    }
    .line_sample ul li {
        width: calc(100% / 8 - 20px);
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #information_area {
        width: 1400px;
        margin-left: auto;
        margin-right: auto;
    }
    #information_area h1 {
        font-size: 4.2rem;
    }
    #information_area p {
        font-size: 2.3rem;
    }
    .line_sample img {
        width: 100%;
    }
    .line_sample ul li {
        width: calc(100% / 8 - 20px);
    }
}


/* group */
.group {
    width: calc(100% - 20px);
    margin-left: 10px;
    margin-right: 10px;
}
.group ul {
    overflow: hidden;
}
.group li {
    font-size: 1.5rem;
    font-weight: bold;
    float: left;
    width: calc(100% / 2);
    height: auto;
    padding-bottom: 20px;
    transition: 0.3s;
}
.group li a {
    color: #000;
    display: block;
    text-align: center;
    text-decoration: none;
    width: 100%;
    height: auto;
}
.group li a:hover {
    color: #f60;
}
.group li img {
    width: 100%;
    height: 100px;
    object-fit: cover;
    object-position: center center;
}
.group em {
    font-style: normal;
    display: block;
    padding-top: 15px;
}
.group p {
    font-size: 1.5rem;
    text-align: center;
    padding-top: 30px;
    padding-bottom: 30px;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .group {
        width: calc(100% - 20px);
        margin-left: 10px;
        margin-right: 10px;
    }
    .group li {
        font-size: 1.7rem;
        width: calc(100% / 2);
    }
    .group li img {
        height: 110px;
    }
    .group p {
        font-size: 1.6rem;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .group {
        width: calc(100% - 20px);
        margin-left: 10px;
        margin-right: 10px;
    }
    .group li {
        font-size: 1.8rem;
        width: calc(100% / 4);
    }
    .group li img {
        height: 130px;
    }
    .group p {
        font-size: 1.8rem;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .group {
        width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }
    .group li {
        font-size: 2.0rem;
        width: calc(100% / 4);
    }
    .group li img {
        height: 170px;
    }
    .group p {
        font-size: 1.9rem;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .group {
        width: 1400px;
        margin-left: auto;
        margin-right: auto;
    }
    .group li {
        font-size: 2.2rem;
        width: calc(100% / 4);
    }
    .group li img {
        height: 200px;
    }
    .group p {
        font-size: 2.0rem;
    }
}

