/*
Theme Name: Lykke v25 Theme
Theme URI: https://www.lykke.okinawa
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?43i138');
    src:  url('fonts/icomoon.eot?43i138#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?43i138') format('truetype'),
    url('fonts/icomoon.woff?43i138') format('woff'),
    url('fonts/icomoon.svg?43i138#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-left2:before {
    content: "\e901";
}
.icon-arrow-up2:before {
    content: "\e902";
}
.icon-arrow-right2:before {
    content: "\e903";
}
.icon-arrow-down2:before {
    content: "\e904";
}
.icon-times-solid:before {
    content: "\e907";
}
.icon-checkmark:before {
    content: "\e912";
}
.icon-facebook:before {
    content: "\e913";
}
.icon-instagram:before {
    content: "\e914";
}
.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;
}

/* form */
.column_a {
    float: none;
    width : 100%;
    font-size: 1.5rem;
    border-top-style: solid;
    border-top-width: 1px;
    border-top-color: #CCCCCC;
    padding-top: 15px;
    padding-bottom: 0px;
    text-align: left;
}
.column_b {
    float: none;
    width : 100%;
    font-size: 1.5rem;
    border-top-style: none;
    padding-top: 15px;
    padding-bottom: 0px;
    text-align: left;
}
@media only screen and (min-width: 680px) and (max-width: 999px) { /* 680-999 */
    .column_a {
        float: left;
        width : calc(30% / 1 - 10px);
        font-size: 1.7rem;
        border-top-style: solid;
        border-top-width: 1px;
        border-top-color: #CCCCCC;
        padding-top: 15px;
        padding-bottom: 0px;
    }
    .column_b {
        float: right;
        width : calc(70% / 1);
        font-size: 1.7rem;
        border-top-style: solid;
        border-top-width: 1px;
        border-top-color: #CCCCCC;
        padding-top: 15px;
        padding-bottom: 0px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .column_a {
        float: left;
        width : calc(30% / 1 - 10px);
        font-size: 1.8rem;
        border-top-style: solid;
        border-top-width: 1px;
        border-top-color: #CCCCCC;
        padding-top: 15px;
        padding-bottom: 0px;
    }
    .column_b {
        float: right;
        width : calc(70% / 1);
        font-size: 1.8rem;
        border-top-style: solid;
        border-top-width: 1px;
        border-top-color: #CCCCCC;
        padding-top: 15px;
        padding-bottom: 0px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .column_a {
        float: left;
        width : calc(30% / 1 - 10px);
        font-size: 1.9rem;
        border-top-style: solid;
        border-top-width: 1px;
        border-top-color: #CCCCCC;
        padding-top: 15px;
        padding-bottom: 0px;
    }
    .column_b {
        float: right;
        width : calc(70% / 1);
        font-size: 1.9rem;
        border-top-style: solid;
        border-top-width: 1px;
        border-top-color: #CCCCCC;
        padding-top: 15px;
        padding-bottom: 0px;
    }
}
.mw_wp_form {
    padding-right: 15px;
    padding-left: 15px;
}
.mw_wp_form .error {
    font-size: 110%;
    color: #FFF;
    display: block;
    padding-left: 5px;
    padding-top: 5px;
    padding-bottom: 5px;
    margin-bottom: 5px;
    overflow: hidden;
    width: 100%;
    font-weight: bold;
    background-color: #ff6060;
    border-radius: 10px;
}
.required_text {
    color: #FF0000;
}
.column_b textarea {
    width: 98%;
    font-size: 1.7rem;
    border-radius: 10px;
    border-style: solid;
    border-color: #a3a3a3;
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left: 5px;
}
.column_b span.green {
    clear: both;
    display: block;
}
.column_a input,
.column_b input,
.column_b select {
    font-size: 1.7rem;
    border-radius: 5px;
    border-style: solid;
    border-color: #a3a3a3;
    border-width: 1px;
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left: 5px;
    padding: 5px;
}
.column_c {
    padding-top: 15px;
    padding-bottom: 10px;
    text-align: center;
    clear: both;
}
.column_b small {
    font-size: 12px;
    color: #999999;
}
.contact_submit_button {
    text-align: center;
    padding-top: 15px;
    padding-bottom: 5px;
}
.column_c input,
.contact_submit_button input {
    font-size: 1.8rem;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 10px;
    padding-left: 10px;

    border-radius: 10px;
    border-style: solid;
    border-color: #0941a5;
    border-width: 3px;
    filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.4));
}
.mwform-tel-field {
    width: 310px;
    display: block;
}
.mwform-tel-field input {
    width: 23%!important;
}
.required_text {
    color: #FF0000;
    font-size: 90%;
}
.form_example {
    font-size: 90%;
    color: #999999;
}
.mwform-checkbox-field {
    background-color: #CCCCCC!important;
    margin-bottom: 8px;
    display: block;
    float: left;
    padding-top: 3px;
    padding-right: 4px;
    padding-bottom: 3px;
    padding-left: 2px;
    margin-right: 10px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}


/* 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: 40px;
    padding-left: 0px;
    overflow: hidden;
}
#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,
#faq_area {
    width: auto;
    clear: both;
    padding-top: 35px;
    padding-bottom: 35px;
    margin-left: 10px;
    margin-right: 10px;
    overflow: hidden;
}
.staff_entry {
    margin-left: 0%!important;
    margin-right: 0%!important;
}
.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,
.faq 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;
}
.faq h2::before {
    content: "Q: ";
}
.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,
.faq p {
    font-size: 1.5rem;
    line-height: 2.8rem;
    padding-bottom: 15px;
    padding-right: 5px;
    padding-left: 5px;
    transition: 0.6s;
}
.faq p::before {
    content: "A: ";
}
.entry ul,
.faq ul {
    padding-top: 5px;
    padding-bottom: 15px;
    padding-left: 10px;
}
.entry li,
.faq 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,
    #faq_area {
        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,
    .faq 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,
    .faq p {
        font-size: 1.6rem;
        line-height: 3rem;
        padding-bottom: 15px;
        padding-right: 5px;
        padding-left: 5px;
    }
    .entry ul,
    .faq ul {
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 34px;
    }
    .entry li,
    .faq 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,
    #faq_area {
        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,
    .faq 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,
    .faq p {
        font-size: 1.7rem;
        line-height: 3rem;
        padding-bottom: 15px;
        padding-right: 5px;
        padding-left: 5px;
    }
    .entry ul,
    .faq ul {
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 34px;
    }
    .entry li,
    .faq 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,
    #faq_area {
        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,
    .faq 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,
    .faq p {
        font-size: 2.0rem;
        line-height: 3.4rem;
        padding-bottom: 15px;
        padding-right: 5px;
        padding-left: 5px;
    }
    .entry ul,
    .faq ul {
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 34px;
    }
    .entry li,
    .faq 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,
    #faq_area {
        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,
    .faq 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,
    .faq p {
        font-size: 2.3rem;
        line-height: 3.4rem;
        padding-bottom: 15px;
        padding-right: 5px;
        padding-left: 5px;
    }
    .entry ul,
    .faq ul {
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 34px;
    }
    .entry li,
    .faq 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;
    }
}


/* button_faq */
.button_faq {
    margin-top: 15px;
    margin-bottom: 15px;
    clear: both;
}
.button_faq a {
    font-size: 1.5rem;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background-color: #1da2af;
    display: block;
    width: 200px;
    padding-top: 8px;
    padding-bottom: 8px;
    border-radius: 10px;
}
.button_faq a:hover {
    background-color: #f60;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .button_faq a {
        font-size: 1.6rem;
        width: 210px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .button_faq a {
        font-size: 1.7rem;
        width: 240px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .button_faq a {
        font-size: 1.8rem;
        width: 260px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .button_faq a {
        font-size: 1.9rem;
        width: 280px;
    }
}


/* scroller */
#scroller {
    position: fixed;
    z-index: 999;
    right: 5px;
    bottom: 17px;
    display: block;
    transition: 0.9s;
}
#scroller a {
    font-size: 2.2rem;
    color: #fff;
    display: none;
    width: 50px;
    height: 50px;
    text-align: center;
    text-decoration: none;
    background-image: url(image/base/home_bg.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
#scroller a:hover {
    color: #F60;
}
#scroller span {
    padding-top: 11px;
    display: block;
}
.appearance a {
    display: block!important;
}


/* logo */
#logo {
    width: auto;
    height: auto;
    position: absolute;
    top: 30px;
    left: 0;
    z-index: 2;
    background-image: url(image/base/logo_bg.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: 0 0;
}
#logo img {
    width: 106px;
    height: auto;
    padding-top: 17px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 17px;
}
#logo a {
    display: block;
    width: 100%;
    height: auto;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #logo img {
        width: 125px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #logo img {
        width: 160px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #logo img {
        width: 180px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #logo img {
        width: 210px;
    }
}


/* modal_nav */
#modal_nav {
    width: 70px;
    height: auto;
    position: absolute;
    top: 34px;
    right: 10px;
    z-index: 9;
    left: auto;
    transition: 0.2s;
    background-image: url(image/base/menu_bg.svg);
    background-repeat: no-repeat;
    background-position: right 0;
    background-size: 70px auto;
}
#modal_nav ul {
    overflow: hidden;
}
#modal_nav li {
    width: 100%;
    height: 70px;
}
#modal_nav a {
    text-decoration: none;
    display: block;
    font-size: 2.3rem;
    line-height: 1.3;
    font-weight: bold;
    width: 100%;
    height: auto;
    color: #fff;
    cursor: pointer;
    text-align: center;
    translate: 0 16px;
}
#modal_nav a:hover {
    color: #f60;
}
#modal_nav a small {
    display: block;
    font-size: 40%;
}
.fixed {
    position: fixed!important;
    top: 0px!important;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #modal_nav {
        width: 84px;
        background-size: 84px auto;
    }
    #modal_nav li {
        height: 84px;
    }
    #modal_nav a {
        font-size: 2.6rem;
        translate: 0 19px;
    }
    .fixed {
        top: 10px!important;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #modal_nav {
        width: 94px;
        background-size: 94px auto;
    }
    #modal_nav li {
        height: 94px;
    }
    #modal_nav a {
        font-size: 3.0rem;
        translate: 0 22px;
    }
    .fixed {
        top: 10px!important;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #modal_nav {
        width: 102px;
        background-size: 102px auto;
    }
    #modal_nav li {
        height: 102px;
    }
    #modal_nav a {
        font-size: 3.4rem;
        translate: 0 21px;
    }
    .fixed {
        top: 20px!important;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #modal_nav {
        width: 115px;
        background-size: 115px auto;
    }
    #modal_nav li {
        height: 115px;
    }
    #modal_nav a {
        font-size: 3.9rem;
        translate: 0 24px;
    }
    .fixed {
        top: 20px!important;
    }
}


/* sl sub_theme */
#sl {
    overflow: hidden;
    position: relative;
    height: 600px;
}
#sl video {
    height: 600px;
    width: 100%;
    position: absolute;
    object-fit: cover;
    object-position: center center;
}
#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_all {
    background-image: url(image/sl/detail_all.jpg);
}
.detail_lykke {
    background-image: url(image/sl/detail_lykke.jpg);
}
.detail_lykke_til {
    background-image: url(image/sl/detail_lykke_til.jpg);
}
.detail_lykke_lab {
    background-image: url(image/sl/detail_lykke_lab.jpg);
}
.detail_anks {
    background-image: url(image/sl/detail_anks.jpg);
}
.detail_concept {
    background-image: url(image/sl/detail_concept.jpg);
}
.detail_assessment {
    background-image: url(image/sl/detail_assessment.jpg);
}
.detail_cost {
    background-image: url(image/sl/detail_cost.jpg);
}
.detail_faq {
    background-image: url(image/sl/detail_faq.jpg);
}
.detail_space {
    background-image: url(image/sl/detail_space.jpg);
}
.detail_access {
    background-image: url(image/sl/detail_access.jpg);
}
.detail_experience {
    background-image: url(image/sl/detail_experience.jpg);
}
.detail_contact {
    background-image: url(image/sl/detail_contact.jpg);
}
@supports (background-image: url('image.webp')) {
    .sub_theme_all {
        background-image: url(image/sl/detail_all.webp);
    }
    .detail_lykke {
        background-image: url(image/sl/detail_lykke.webp);
    }
    .detail_lykke_til {
        background-image: url(image/sl/detail_lykke_til.webp);
    }
    .detail_lykke_lab {
        background-image: url(image/sl/detail_lykke_lab.webp);
    }
    .detail_anks {
        background-image: url(image/sl/detail_anks.webp);
    }
    .detail_concept {
        background-image: url(image/sl/detail_concept.webp);
    }
    .detail_assessment {
        background-image: url(image/sl/detail_assessment.webp);
    }
    .detail_cost {
        background-image: url(image/sl/detail_cost.webp);
    }
    .detail_faq {
        background-image: url(image/sl/detail_faq.webp);
    }
    .detail_space {
        background-image: url(image/sl/detail_space.webp);
    }
    .detail_access {
        background-image: url(image/sl/detail_access.webp);
    }
    .detail_experience {
        background-image: url(image/sl/detail_experience.webp);
    }
    .detail_contact {
        background-image: url(image/sl/detail_contact.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_area */
#disp_area {
    width: 100%;
    overflow: hidden;
    background: linear-gradient(to bottom,  #eaeaea 0%,#ffffff 100%); 
}


/* home_nav_disp */
#home_nav_disp {
    float:none;
    padding-left: 10px;
    overflow: hidden;
    width: calc(100% - 20px);
    padding-top: 10px;
    padding-bottom: 20px;
}
#home_nav {
    text-align: center;
    float: left;
    width: 60px;
    height: 60px;
    background-image: url(image/base/home_bg.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
    margin-top: 15px;
}
#home_nav li a {
    font-size: 2.0rem;
    line-height: 1.1;
    color: #fff;
    text-decoration: none;
    display: block;
    width: 100%;
    height: auto;
    padding-top: 9px;
}
#home_nav li a:hover {
    color: #f60;
}
#home_nav li a small {
    font-size: 60%;
    display: block;
}
#disp {
    float: left;
    width: calc(100% - 110px);
    height: auto;
    padding-top: 10px;
    margin-left: 10px;
}
#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;
}
#disp ruby {
    ruby-position: over;
}
#disp rt {
    color: #35b27c;
    letter-spacing: 0.5em;
}
#disp small {
    font-size: 1.4rem;
    padding-top: 10px;
    display: block;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #home_nav_disp {
        float:none;
        width: calc(100% - 20px);
        padding-left: 10px;
    }
    #home_nav {
        width: 70px;
        height: 70px;
        margin-top: 4px;
    }
    #home_nav li a {
        font-size: 2.1rem;
        padding-top: 13px;
    }
    #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 */
    #home_nav_disp {
        float:left;
        width: 380px;
        padding-left: 10px;
    }
    #home_nav {
        width: 80px;
        height: 80px;
        margin-top: 7px;
    }
    #home_nav li a {
        font-size: 2.4rem;
        padding-top: 14px;
    }
    #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 */
    #home_nav_disp {
        float:left;
        width: 510px;
        padding-left: 10px;
    }
    #home_nav {
        width: 90px;
        height: 90px;
        margin-top: 5px;
    }
    #home_nav li a {
        font-size: 2.7rem;
        padding-top: 15px;
    }
    #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 */
    #home_nav_disp {
        float:left;
        width: 660px;
        padding-left: calc(50% - 700px);
    }
    #home_nav {
        width: 100px;
        height: 100px;
        margin-top: 6px;
    }
    #home_nav li a {
        font-size: 3rem;
        padding-top: 17px;
    }
    #disp h1 {
        font-size: 2.4rem;
    }
    #disp h2 {
        font-size: 1.7rem;
    }
    #disp small {
        font-size: 1.7rem;
    }
}


/* sub_nav */
#sub_nav {
    float: none;
    width: 360px;
    margin-left: auto;
    margin-right: auto;
    padding-right: 0px;
}
#sub_nav ul {
    overflow: hidden;
}
#sub_nav ul li {
    font-size: 1.7rem;
    line-height: 1.3;
    float: left;
    width: calc(100% / 2 - 20px);
    margin-left: 10px;
    margin-right: 10px;
}
#sub_nav li a {
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    background-image: url(image/base/tutorial_bg.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center center;
    display: block;
    width: 100%;
    height: 79px;
    padding-top: 18px;
}
#sub_nav li a:hover {
    color: #f60;
}
#sub_nav li small {
    font-size: 60%;
    line-height: 1.5;
    text-align: center;
    display: block;
    width: 100%;
    height: auto;
    padding-top: 4px;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #sub_nav {
        float: none;
        width: 360px;
        padding-right: 0px;
    }
    #sub_nav ul li {
        font-size: 1.8rem;
    }
    #sub_nav li a {
        height: 82px;
        padding-top: 16px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #sub_nav {
        float: right;
        width: 380px;
    }
    #sub_nav ul li {
        font-size: 2.0rem;
    }
    #sub_nav li a {
        height: 95px;
        padding-top: 20px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #sub_nav {
        float: right;
        width: 460px;
        padding-right: 0px;
    }
    #sub_nav ul li {
        font-size: 2.3rem;
    }
    #sub_nav li a {
        height: 118px;
        padding-top: 28px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #sub_nav {
        float: right;
        width: 495px;
        margin-right: calc(50% - 700px);
    }
    #sub_nav ul li {
        font-size: 2.5rem;
    }
    #sub_nav li a {
        height: 129px;
        padding-top: 35px;
    }
}


/* first_block - third_block */
#first_block {
    overflow: hidden;
    width: 100%;
    height: 450px;
    position: relative;
    margin-bottom: 50px;
}
.sub_page #first_block {
    height: auto!important;
}
#second_block {
    overflow: hidden;
    width: 100%;
    height: 1585px;
    position: relative;
    margin-bottom: 54px;
}
#third_block {
    overflow: hidden;
    width: 100%;
    height: 756px;
    position: relative;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #first_block {
        height: 536px;
        margin-bottom: 60px;
    }
    #second_block {
        height: 1417px;
    }
    #third_block {
        height: 917px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #first_block {
        height: 600px;
        margin-bottom: 65px;
    }
    #second_block {
        height: 1290px;
    }
    #third_block {
        height: 1170px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #first_block {
        height: 578px;
        margin-bottom: 80px;
    }
    #second_block {
        height: 1393px;
    }
    #third_block {
        height: 1042px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #first_block {
        height: 690px;
        margin-bottom: 100px;
    }
    #second_block {
        height: 1446px;
    }
    #third_block {
        height: 1243px;
    }
}


/* pannel */
.pannel {
    position: absolute;
    z-index: 1;
    padding-bottom: 20px;
}
.pannel_01 {
    width: calc(100% - 40px);
    height: auto;
    left: 20px;
    right: 20px;
    top: 220px;
}
.pannel_02 {
    width: calc(100% - 40px);
    height: auto;
    left: 20px;
    right: 20px;
    top: 0px;
}
.pannel_03 {
    width: calc(100% - 40px);
    height: auto;
    left: 20px;
    right: 20px;
    top: 205px;
}
.pannel_04 {
    width: calc(100% - 40px);
    height: auto;
    left: 20px;
    right: 20px;
    top: 554px;
}
.pannel h1 {
    font-size: 2.3rem;
    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;
    padding-bottom: 10px;
}
.pannel p {
    font-size: 1.5rem;
    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;
}
.pannel_image {
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center top;
}
.pannel_image_01 {
    width: 400px;
    height: 248px;
    left: calc(50% - 245px);
    right: auto;
    top: 65px;
    background-image: url(image/base/panel_bg_01.webp);
}
.pannel_image_03 {
    width: 400px;
    height: 270px;
    left: auto;
    right: calc(50% - 245px);
    top: 10px;
    background-image: url(image/base/panel_bg_03.webp);
}
.pannel_image_04 {
    width: 400px;
    height: 248px;
    left: calc(50% - 245px);
    right: auto;
    top: 385px;
    background-image: url(image/base/panel_bg_04.webp);
}
.group {
    width: 100%;
    height: auto;
    position: absolute;
    top: 206px;
}
.group_03_spc {
    top: 207px!important;
}
.group h2 {
    font-size: 2.0rem;
    line-height: 1.3;
    text-align: center;
    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;
}
.group h2 ruby {
    ruby-position: under;
}
.group h2 rt {
    padding-top: 10px;
}
.group_image_01 .group h2 rt {
    color: #35b27c;
}
.group_image_02 .group h2 rt {
    color: #79cdf9;
}
.group_image_03 .group h2 rt {
    color: #f4c495;
}
.group_image_04 .group h2 rt {
    color: #ece53d;
}
.group h2 small {
    font-size: 70%;
    display: block;
}
.group ul {
    width: 144px;
    overflow: hidden;
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
}
.group li {
    float: left;
    height: auto;
}
.group_list_02 {
    margin-top: -41px;
    margin-left: 51px;
}
.group a {
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    color: #333;
    text-align: center;
    display: block;
    width: 144px;
    height: auto;
    padding-top: 8px;
    padding-bottom: 8px;
    background-image: url(image/base/group_detail_bg.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}
.group a:hover {
    color: #f60;
}
.group a br {
    display: block;
}
.group_image_01 {
    width: 67%;
    height: 229px;
    left: 20px;
    top: 170px;
    background-image: url(image/base/group_image_01.webp);
}
.group_image_02 {
    width: 67%;
    height: 240px;
    left: 47px;
    top: 887px;
    background-image: url(image/base/group_image_02.webp);
}
.group_image_03 {
    width: 67%;
    height: 239px;
    right: 20px;
    top: 523px;
    background-image: url(image/base/group_image_03.webp);
}
.group_image_04 {
    width: 67%;
    height: 255px;
    right: 20px;
    top: 1241px;
    background-image: url(image/base/group_image_04.webp);
}
.group_image_bg {
    position: absolute; 
    z-index: -1;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
.group_image_bg_01 {
    width: 377px;
    height: 285px;
    top: 208px;
    left: calc(50% - 257px);
    background-image: url(image/base/group_bg_01.svg);
}
.group_image_bg_02 {
    width: 377px;
    height: 304px;
    top: 905px;
    left: calc(50% - 255px);
    background-image: url(image/base/group_bg_02.svg);
}
.group_image_bg_03 {
    width: 377px;
    height: 323px;
    top: 549px;
    right: calc(50% - 218px);
    background-image: url(image/base/group_bg_03.svg);
}
.group_image_bg_04 {
    width: 377px;
    height: 291px;
    top: 1275px;
    right: calc(50% - 248px);
    background-image: url(image/base/group_bg_04.svg);
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .pannel_01 {
        width: calc(100% - 60px);
        left: 50px;
        right: 10px;
        top: 273px;
    }
    .pannel_02 {
        width: calc(100% - 60px);
        left: 50px;
        right: 20px;
    }
    .pannel_03 {
        width: calc(100% - 60px);
        left: 10px;
        right: 50px;
        top: 718px;
    }
    .pannel_04 {
        width: calc(100% - 60px);
        left: 50px;
        right: 10px;
        top: 291px;
    }
    .pannel h1 {
        font-size: 2.5rem;
    }
    .pannel p {
        font-size: 1.8rem;
    }
    .pannel_image_01 {
        width: 494px;
        height: 305px;
        left: calc(50% - 317px);
        right: auto;
        top: 68px;
    }
    .pannel_image_03 {
        width: 494px;
        height: 332px;
        left: auto;
        right: calc(50% - 317px);
        top: 7px;
    }
    .pannel_image_04 {
        width: 494px;
        height: 305px;
        left: calc(50% - 317px);
        right: auto;
        top: 491px;
    }
    .group {
        top: 138px;
    }
    .group_03_spc {
        top: 159px!important;
    }
    .group h2 {
        font-size: 2.2rem;
    }
    .group ul {
        width: 163px;
    }
    .group_list_02 {
        margin-top: -40px;
        margin-left: 53px;
    }
    .group a {
        font-size: 1.5rem;
        width: 163px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .group_image_01 {
        width: 213px;
        height: 173px;
        left: calc(50% - 207px);
        top: 199px;
    }
    .group_image_02 {
        width: 213px;
        height: 183px;
        left: calc(50% - 207px);
        top: 857px;
    }
    .group_image_03 {
        width: 220px;
        height: 187px;
        right: calc(50% - 207px);
        top: 506px;
    }
    .group_image_04 {
        width: 213px;
        height: 192px;
        right: calc(50% - 207px);
        top: 1117px;
    }
    .group_image_bg_01 {
        width: 347px;
        height: 263px;
        top: 221px;
        left: calc(50% - 289px);
    }
    .group_image_bg_02 {
        width: 347px;
        height: 280px;
        top: 868px;
        left: calc(50% - 297px);
    }
    .group_image_bg_03 {
        width: 349px;
        height: 295px;
        top: 539px;
        right: calc(50% - 254px);
    }
    .group_image_bg_04 {
        width: 347px;
        height: 267px;
        top: 1138px;
        right: calc(50% - 298px);
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .pannel_01 {
        width: 533px;
        left: auto;
        right: calc(50% - 320px);
        top: 332px;
    }
    .pannel_02 {
        width: 492px;
        left: auto;
        right: calc(50% - 344px);
    }
    .pannel_03 {
        width: 533px;
        left: calc(50% - 320px);
        right: auto;
        top: 943px;
    }
    .pannel_04 {
        width: 533px;
        left: auto;
        right: calc(50% - 320px);
        top: 377px;
    }
    .pannel h1 {
        font-size: 3.1rem;
    }
    .pannel p {
        font-size: 2.2rem;
    }
    .pannel_image_01 {
        width: 711px;
        height: 434px;
        left: calc(50% - 513px);
        right: auto;
        top: 8px;
    }
    .pannel_image_03 {
        width: 711px;
        height: 475px;
        left: auto;
        right: calc(50% - 513px);
        top: 8px;
    }
    .pannel_image_04 {
        width: 711px;
        height: 434px;
        left: calc(50% - 513px);
        right: auto;
        top: 628px;
    }
    .group {
        top: 241px;
    }
    .group_03_spc {
        top: 252px!important;
    }
    .group h2 {
        font-size: 2.7rem;
    }
    .group ul {
        width: 187px;
    }
    .group_list_02 {
        margin-top: -28px;
        margin-left: 61px;
    }
    .group a {
        font-size: 1.7rem;
        width: 187px;
        padding-top: 12px;
        padding-bottom: 12px;
    }
    .group_image_01 {
        width: 340px;
        height: 269px;
        left: calc(50% - 370px);
        top: 197px;
    }
    .group_image_02 {
        width: 340px;
        height: 288px;
        left: calc(50% - 370px);
        top: 731px;
    }
    .group_image_03 {
        width: 333px;
        height: 292px;
        right: calc(50% - 370px);
        top: 374px;
    }
    .group_image_04 {
        width: 340px;
        height: 301px;
        right: calc(50% - 370px);
        top: 873px;
    }
    .group_image_bg_01 {
        width: 425px;
        height: 323px;
        top: 281px;
        left: calc(50% - 456px);
    }
    .group_image_bg_02 {
        width: 425px;
        height: 347px;
        top: 790px;
        left: calc(50% - 438px);
    }
    .group_image_bg_03 {
        width: 425px;
        height: 367px;
        top: 396px;
        right: calc(50% - 410px);
    }
    .group_image_bg_04 {
        width: 425px;
        height: 333px;
        top: 940px;
        right: calc(50% - 436px);
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .pannel_01 {
        width: 511px;
        left: auto;
        right: calc(50% - 481px);
        top: 170px;
    }
    .pannel_02 {
        width: 593px;
        left: auto;
        right: calc(50% - 462px);
    }
    .pannel_03 {
        width: 511px;
        left: calc(50% - 481px);
        right: auto;
        top: 194px;
    }
    .pannel_04 {
        width: 511px;
        left: auto;
        right: calc(50% - 481px);
        top: 678px;
    }
    .pannel h1 {
        font-size: 4.0rem;
    }
    .pannel p {
        font-size: 2.5rem;
    }
    .pannel_image_01 {
        width: 930px;
        height: 569px;
        left: calc(50% - 720px);
        top: 9px;
    }
    .pannel_image_03 {
        width: 858px;
        height: 577px;
        right: calc(50% - 720px);
        top: 10px;
    }
    .pannel_image_04 {
        width: 888px;
        height: 463px;
        left: calc(50% - 720px);
        top: 559px;
    }
    .group {
        top: 293px;
    }
    .group_03_spc {
        top: 313px!important;
    }
    .group h2 {
        font-size: 3.0rem;
    }
    .group ul {
        width: 220px;
    }
    .group_list_02 {
        margin-top: -10px;
        margin-left: 77px;
    }
    .group a {
        font-size: 1.8rem;
        width: 220px;
        padding-top: 14px;
        padding-bottom: 14px;
    }
    .group_image_01 {
        width: 409px;
        height: 325px;
        left: calc(50% - 480px);
        top: 180px;
    }
    .group_image_02 {
        width: 403px;
        height: 339px;
        left: calc(50% - 438px);
        top: 701px;
    }
    .group_image_03 {
        width: 404px;
        height: 341px;
        right: calc(50% - 470px);
        top: 360px;
    }
    .group_image_04 {
        width: 394px;
        height: 348px;
        right: calc(50% - 409px);
        top: 902px;
    }
    .group_image_bg_01 {
        width: 469px;
        height: 351px;
        top: 314px;
        left: calc(50% - 543px);
    }
    .group_image_bg_02 {
        width: 469px;
        height: 378px;
        top: 808px;
        left: calc(50% - 497px);
    }
    .group_image_bg_03 {
        width: 469px;
        height: 404px;
        top: 441px;
        right: calc(50% - 464px);
    }
    .group_image_bg_04 {
        width: 469px;
        height: 360px;
        top: 1030px;
        right: calc(50% - 465px);
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .pannel_01 {
        width: 630px;
        left: auto;
        right: calc(50% - 653px);
        top: 220px;
    }
    .pannel_02 {
        width: 763px;
        left: auto;
        right: calc(50% - 653px);
    }
    .pannel_03 {
        width: 630px;
        left: calc(50% - 653px);
        right: auto;
        top: 205px;
    }
    .pannel_04 {
        width: 630px;
        left: auto;
        right: calc(50% - 653px);
        top: 838px;
    }
    .pannel h1 {
        font-size: 4.7rem;
    }
    .pannel p {
        font-size: 3.0rem;
    }
    .pannel_image_01 {
        width: 1090px;
        height: 669px;
        left: calc(50% - 950px);
        top: 10px;
    }
    .pannel_image_03 {
        width: 1090px;
        height: 741px;
        right: calc(50% - 950px);
        top: 10px;
    }
    .pannel_image_04 {
        width: 1090px;
        height: 563px;
        left: calc(50% - 950px);
        top: 651px;
    }
    .group {
        top: 345px;
    }
    .group_03_spc {
        top: 364px!important;
    }
    .group h2 {
        font-size: 3.3rem;
    }
    .group ul {
        width: 230px;
    }
    .group_list_02 {
        margin-top: -4px;
        margin-left: 82px;
    }
    .group a {
        font-size: 2.0rem;
        width: 230px;
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .group_image_01 {
        width: 490px;
        height: 388px;
        left: calc(50% - 680px);
        top: 8px;
    }
    .group_image_02 {
        width: 460px;
        height: 386px;
        left: calc(50% - 582px);
        top: 593px;
    }
    .group_image_03 {
        width: 484px;
        height: 409px;
        right: calc(50% - 521px);
        top: 280px;
    }
    .group_image_04 {
        width: 433px;
        height: 389px;
        right: calc(50% - 582px);
        top: 870px;
    }
    .group_image_bg_01 {
        width: 532px;
        height: 400px;
        top: 168px;
        left: calc(50% - 714px);
    }
    .group_image_bg_02 {
        width: 532px;
        height: 430px;
        top: 725px;
        left: calc(50% - 624px);
    }
    .group_image_bg_03 {
        width: 532px;
        height: 453px;
        top: 364px;
        right: calc(50% - 498px);
    }
    .group_image_bg_04 {
        width: 532px;
        height: 412px;
        top: 1021px;
        right: calc(50% - 652px);
    }
}


/* pannel_detail */
.pannel_detail {
    margin-top: 20px;
}
.pannel_detail a {
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    text-align: center;
    display: block;
    width: 170px;
    height: auto;
    padding-top: 6px;
    padding-bottom: 6px;
    background-color: #35b27c;
    border-radius: 10px;
    margin-left: auto;
    margin-right: auto;
}
.pannel_detail a:hover {
    color: #f60;
}
.pannel_detail a span {
    margin-left: 0.2em;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .pannel_detail a {
        font-size: 1.8rem;
        width: 200px;
        padding-top: 7px;
        padding-bottom: 7px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .pannel_detail a {
        font-size: 2.1rem;
        width: 230px;
        padding-top: 8px;
        padding-bottom: 8px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .pannel_detail a {
        font-size: 2.6rem;
        width: 260px;
        padding-top: 9px;
        padding-bottom: 9px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .pannel_detail a {
        font-size: 3.0rem;
        width: 300px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
}


/* 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_list {
    overflow: hidden;
}
.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;
}
.cat_icon_a {
    color: #fff;
    background-color: #654088;
}
.cat_icon_b {
    color: #fff;
    background-color: #3a7f89;
}
.cat_icon_c {
    color: #fff;
    background-color: #f60;
}
@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 {
    float: right;
}
.button_detail a {
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    text-decoration: none;
    width: 94px;
    height: 50px;
    display: block;
    padding-top: 12px;
    background-image: url(image/base/detail_more_bg.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
}
.button_detail a:hover {
    color: #f60;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .button_detail a {
        font-size: 1.6rem;
        width: 100px;
        height: 53px;
        padding-top: 13px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .button_detail a {
        font-size: 1.9rem;
        width: 120px;
        height: 65px;
        padding-top: 17px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .button_detail a {
        font-size: 2.2rem;
        width: 139px;
        height: 74px;
        padding-top: 20px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .button_detail a {
        font-size: 2.4rem;
        width: 154px;
        height: 81px;
        padding-top: 23px;
    }
}


/* company_area */
#company_area {
    width: calc(100% - 20px);
    height: auto;
    overflow: hidden;
    margin-left: 10px;
    margin-right: 10px;
}
.company_name {
    width: 170px;
    padding-top: 100px;
    padding-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
}
.company_name img {
    width: 100%;
    height: auto;
}
.company_profile {
    font-size: 1.5rem;
    text-align: left;
    width: calc(100% - 20px);
    padding-bottom: 20px;
    margin-left: 10px;
    margin-right: 10px;
}
.management_detail {
    text-align: center;
    float: none;
    width: 100%;
    padding-top: 12px;
}
.management_detail h2,
.group_detail h2 {
    font-size: 1.8rem;
}
.group_detail h2 img {
    width: auto;
    height: 22px;
    margin-right: 10px;
}
.management_detail ul,
.group_detail ul {
    margin-top: 15px;
    margin-bottom: 35px;
    clear: both;
}
.group_detail ul {
    margin-left: 0px;
}
.management_detail li,
.group_detail li {
    font-size: 1.5rem;
}
.group_detail {
    text-align: center;
    float: none;
    width: 100%;
}
.group_detail small {
    font-size: 1.4rem;
    display: block;
    margin-left: 0;
}
.service_category_area {
    margin-top: 4px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
}
.service_category {
    font-size: 1.8rem;
    color: #fff;
    float: none;
    display: block;
    width: 240px;
    padding-top: 6px;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 6px;
    border-radius: 10px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
}
.service_category_01 {
    background-color: #0e7505;
}
.service_category_02 {
    background-color: #0070bf;
}
.service_category_03 {
    background-color: #8b4f03;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    #company_area {
        width: calc(100% - 20px);
        margin-left: 10px;
        margin-right: 10px;
    }
    .company_name {
        width: 190px;
    }
    .company_profile {
        font-size: 1.6rem;
        width: 400px;
        padding-bottom: 30px;
        margin-left: auto;
        margin-right: auto;
    }
    .management_detail {
        text-align: center;
        float: none;
        width: 100%;
        padding-top: 12px;
    }
    .group_detail {
        text-align: center;
        float: none;
        width: 100%;
    }
    .management_detail h2,
    .group_detail h2 {
        font-size: 2.0rem;
    }
    .group_detail h2 img {
        height: 27px;
    }
    .group_detail ul {
        margin-left: 0px;
    }
    .management_detail li,
    .group_detail li {
        font-size: 1.7rem;
    }
    .group_detail small {
        font-size: 1.5rem;
        margin-left: 0px;
    }
    .service_category {
        font-size: 1.5rem;
        float: none;
        width: 300px;
        margin-left: auto;
        margin-right: auto;
    }
    .service_category_area {
        margin-left: auto;
        margin-right: auto;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #company_area {
        width: calc(100% - 20px);
        margin-left: 10px;
        margin-right: 10px;
    }
    .company_name {
        width: 210px;
    }
    .company_profile {
        font-size: 1.8rem;
        width: 550px;
        padding-bottom: 30px;
        margin-left: auto;
        margin-right: auto;
    }
    .management_detail {
        text-align: left;
        float: left;
        width: 400px;
        padding-top: 252px;
    }
    .group_detail {
        text-align: left;
        float: left;
        width: calc(100% - 400px);
    }
    .management_detail h2,
    .group_detail h2 {
        font-size: 2.3rem;
    }
    .group_detail h2 img {
        height: 31px;
    }
    .group_detail ul {
        margin-left: 23px;
    }
    .management_detail li,
    .group_detail li {
        font-size: 1.9rem;
    }
    .group_detail small {
        font-size: 1.6rem;
        margin-left: 23px;
    }
    .service_category {
        font-size: 1.6rem;
        float: left;
        width: auto;
        margin-left: auto;
        margin-right: 10px;
    }
    .service_category_area {
        margin-left: 23px;
        margin-right: auto;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #company_area {
        width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }
    .company_name {
        width: 230px;
    }
    .company_profile {
        font-size: 1.9rem;
        width: 600px;
        padding-bottom: 40px;
        margin-left: auto;
        margin-right: auto;
    }
    .management_detail {
        text-align: left;
        float: left;
        width: 500px;
        padding-top: 252px;
    }
    .group_detail {
        text-align: left;
        float: left;
        width: calc(100% - 500px);
    }
    .management_detail h2,
    .group_detail h2 {
        font-size: 2.6rem;
    }
    .group_detail h2 img {
        height: 36px;
    }
    .group_detail ul {
        margin-left: 33px;
    }
    .management_detail li,
    .group_detail li {
        font-size: 2.0rem;
    }
    .group_detail small {
        font-size: 1.6rem;
        margin-left: 33px;
    }
    .service_category {
        font-size: 1.7rem;
        float: left;
        width: auto;
        margin-left: auto;
        margin-right: 10px;
    }
    .service_category_area {
        margin-left: 33px;
        margin-right: auto;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #company_area {
        width: 1400px;
        margin-left: auto;
        margin-right: auto;
    }
    .company_name {
        width: 250px;
    }
    .company_profile {
        font-size: 2.0rem;
        width: 700px;
        padding-bottom: 50px;
        margin-left: auto;
        margin-right: auto;
    }
    .management_detail {
        text-align: left;
        float: left;
        width: 600px;
        padding-top: 252px;
    }
    .group_detail {
        text-align: left;
        float: left;
        width: calc(100% - 600px);
    }
    .management_detail h2,
    .group_detail h2 {
        font-size: 2.8rem;
    }
    .group_detail h2 img {
        height: 40px;
    }
    .group_detail ul {
        margin-left: 43px;
    }
    .management_detail li,
    .group_detail li {
        font-size: 2.1rem;
    }
    .group_detail small {
        font-size: 1.7rem;
        margin-left: 43px;
    }
    .service_category {
        font-size: 1.8rem;
        float: left;
        width: auto;
        margin-left: auto;
        margin-right: 10px;
    }
    .service_category_area {
        margin-left: 43px;
        margin-right: auto;
    }
}


/* 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;
}
.modal_body {
    background-size: 105px auto;
    background-repeat: no-repeat;
}
.modal_bg_color1 {
    background-color: #fff !important;
}
.modal_bg_color2 {
    background-color: #fff !important;
}
.remodal-close {
    color: #656464 !important;
    top: 17px !important;
}
.remodal-confirm,
.remodal-cancel {
    border-radius: 10px;
    background-color: #35b27c !important;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .remodal {
        background-size: 80px auto !important;
    }
    .modal_body {
        background-size: 139px auto;
    }
    .modal_body_01 {
        background-position: left 69px;
    }
    .modal_body_02 {
        background-position: right 69px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .remodal {
        background-size: 103px auto !important;
    }
    .modal_body {
        background-size: 178px auto;
    }
    .modal_body_01 {
        background-position: left 63px;
    }
    .modal_body_02 {
        background-position: right 63px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .remodal {
        background-size: 120px auto !important;
    }
    .modal_body {
        background-size: 199px auto;
    }
    .modal_body_01 {
        background-position: left 51px;
    }
    .modal_body_02 {
        background-position: right 51px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .remodal {
        background-size: 150px auto !important;
    }
    .modal_body {
        background-size: 240px auto;
    }
    .modal_body_01 {
        background-position: left 45px;
    }
    .modal_body_02 {
        background-position: right 45px;
    }
}


/* modal-content */
.modal-content h1 {
    font-size: 2.3rem;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 10px;
}
.modal-content h2 {
    font-size: 1.8rem;
    text-align: center;
    padding-bottom: 10px;
    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-content p {
    font-size: 1.5rem;
    text-align: left;
    width: auto;
    padding-top: 15px;
    padding-bottom: 15px;
    margin-left: 10%;
    margin-right: 10%;
}
.modal-content li {
    font-size: 1.5rem;
    padding-top: 13px;
    padding-bottom: 10px;
}
.modal_nav {
    padding-top: 20px;
    padding-bottom: 20px;
}
.modal_nav_center li {
    width: calc(100% / 1 - 20px)!important;
}
.modal_nav ul {
    overflow: hidden;
    clear: both;
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 10px;
}
.modal_nav_first li {
    width: 157px;
}
.modal_nav_second li {
    width: calc(100% / 2 - 20px);
}
.modal_nav_third li {
    width: calc(100% / 2 - 20px);
}
.modal_nav_forth li {
    width: calc(100% / 2 - 20px);
}
.modal_nav ul li {
    float: left;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px;
    padding-bottom: 10px;
}
.modal_nav li a {
    font-size: 1.6rem;
    font-weight: bold;
    text-decoration: none;
    color: #000;
    text-align: center;
    display: block;
    padding-top: 5px;
    padding-bottom: 5px;
}
.modal_nav li span a {
    font-size: 90%;
    color: #fff;
    background-color: #35b27c;
    border-radius: 8px;
    margin-bottom: 10px;
    border: none;
}
.modal_nav li small {
    font-size: 70%;
    font-weight: normal;
    color: #333;
    display: block;
    padding-top: 5px;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 2px;
}
.modal_nav li a:hover {
    color: #f60;
}
.modal_nav li img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center center;
    display: block;
    margin-bottom: 10px;
    border-radius: 17px;
}
.modal_nav_third li img {
    width: 74px;
    height: auto;
    object-fit: cover;
    object-position: center center;
    border-radius: 10px;
    margin-left: auto;
    margin-right: auto;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .modal-content h1 {
        font-size: 2.5rem;
    }
    .modal-content h2 {
        font-size: 2.0rem;
    }
    .modal-content p {
        font-size: 1.7rem;
        width: 400px;
        padding-top: 18px;
        padding-bottom: 18px;
        margin-left: auto;
        margin-right: auto;
    }
    .modal_nav ul {
        padding-left: 30px;
        padding-right: 30px;
    }
    .modal-content li {
        font-size: 1.7rem;
    }
    .modal_nav_first li {
        width: 166px;
    }
    .modal_nav_second li {
        width: calc(100% / 2 - 20px);
    }
    .modal_nav_third li {
        width: calc(100% / 2 - 20px);
    }
    .modal_nav_forth li {
        width: calc(100% / 3 - 20px);
    }
    .modal_nav li a {
        font-size: 1.8rem;
    }
    .modal_nav_third li img {
        width: 86px;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .modal-content h1 {
        font-size: 2.6rem;
    }
    .modal-content h2 {
        font-size: 2.0rem;
    }
    .modal-content p {
        font-size: 1.8rem;
        width: 646px;
        padding-top: 22px;
        padding-bottom: 22px;
        margin-left: auto;
        margin-right: auto;
    }
    .modal_nav ul {
        padding-left: 50px;
        padding-right: 50px;
    }
    .modal-content li {
        font-size: 1.8rem;
    }
    .modal_nav_first li {
        width: 177px;
    }
    .modal_nav_second li {
        width: calc(100% / 4 - 20px);
    }
    .modal_nav_third li {
        width: calc(100% / 4 - 20px);
    }
    .modal_nav_forth li {
        width: calc(100% / 3 - 20px);
    }
    .modal_nav li a {
        font-size: 1.9rem;
    }
    .modal_nav_third li img {
        width: 92px;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .modal-content h1 {
        font-size: 2.7rem;
    }
    .modal-content h2 {
        font-size: 2.2rem;
    }
    .modal-content p {
        font-size: 1.9rem;
        width: 680px;
        padding-top: 25px;
        padding-bottom: 25px;
        margin-left: auto;
        margin-right: auto;
    }
    .modal_nav ul {
        padding-left: 50px;
        padding-right: 50px;
    }
    .modal-content li {
        font-size: 1.9rem;
    }
    .modal_nav_first li {
        width: 180px;
    }
    .modal_nav_second li {
        width: calc(100% / 4 - 20px);
    }
    .modal_nav_third li {
        width: calc(100% / 4 - 20px);
    }
    .modal_nav_forth li {
        width: calc(100% / 3 - 20px);
    }
    .modal_nav li a {
        font-size: 2.1rem;
    }
    .modal_nav_third li img {
        width: 104px;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .modal-content h1 {
        font-size: 2.9rem;
    }
    .modal-content h2 {
        font-size: 2.7rem;
    }
    .modal-content p {
        font-size: 2.2rem;
        width: 758px;
        padding-top: 28px;
        padding-bottom: 28px;
        margin-left: auto;
        margin-right: auto;
    }
    .modal_nav ul {
        padding-left: 60px;
        padding-right: 60px;
    }
    .modal_nav_first li {
        width: 205px;
    }
    .modal-content li {
        font-size: 2.2rem;
    }
    .modal_nav_second li {
        width: calc(100% / 4 - 20px);
    }
    .modal_nav_third li {
        width: calc(100% / 4 - 20px);
    }
    .modal_nav_forth li {
        width: calc(100% / 3 - 20px);
    }
    .modal_nav li a {
        font-size: 2.2rem;
    }
    .modal_nav_third li img {
        width: 110px;
    }
}


/* modal_nav_bg */
.modal_nav_bg_01 {
    background-image: url(image/base/group_bg_01.svg);
    background-repeat: no-repeat;
    background-position: 0 55%;
    background-size: 100% auto;
}
.modal_nav_bg_02 {
    background-image: url(image/base/group_bg_02.svg);
    background-repeat: no-repeat;
    background-position: 0 55%;
    background-size: 100% auto;
}
.modal_nav_bg_03 {
    background-image: url(image/base/group_bg_03.svg);
    background-repeat: no-repeat;
    background-position: 0 55%;
    background-size: 100% auto;
}
.modal_nav_bg_04 {
    background-image: url(image/base/group_bg_04.svg);
    background-repeat: no-repeat;
    background-position: 0 55%;
    background-size: 100% auto;
}


/* 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: 130px;
    float: right;
    overflow: hidden;
    padding-top: 15px;
    margin-left: auto;
    margin-right: 20px;
    clear: both;
}
#sns ul {
    overflow: hidden;
}
#sns ul li {
    float: left;
    width: calc(100% / 2 - 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;
}
.instagram {
    color: #B42B91;
}
@media only screen and (min-width: 700px) and (max-width: 789px) { /* 700-789 */
    #sns {
        width: 146px;
        margin-right: 20px;
    }
    #sns li a {
        font-size: 2.6rem;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    #sns {
        width: 152px;
        margin-right: 20px;
    }
    #sns li a {
        font-size: 2.9rem;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    #sns {
        width: 170px;
        margin-right: calc(50% - 500px);
    }
    #sns li a {
        font-size: 3.1rem;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    #sns {
        width: 180px;
        margin-right: calc(50% - 700px);
    }
    #sns li a {
        font-size: 3.4rem;
    }
}


/* smf-form */
.smf-form {
    padding-top: 15px;
    padding-left: 15px;
    padding-right: 10px;
}
.wp-block-snow-monkey-forms-item {
    padding-bottom: 10px;
}
.smf-item__col--label {
    font-size: 1.8rem;
    font-weight: bold;
}
.smf-item__description {
        font-size: 80%;
        font-weight: normal;
        color: #333;
}
.smf-form input,
.smf-form textarea {
    font-size: 1.8rem;
}
.smf-placeholder {
    font-size: 1.8rem;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #c1d3f9;
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 4px;
    margin-bottom: 15px;
    border-radius: 9px;
}
.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control {
    background-color: #f1f1f1;
    line-height: 1.6;
}
.smf-action .smf-button-control__control {
    font-size: 2.0rem;
    color: #fff;
    background-color: #0a9654;
    background-image: none;
    border-radius: 10px;
    border: none;
    margin-top: 20px;
    margin-bottom: 20px;
}
.smf-control-description {
    font-size: 1.4rem;
    color: #000;
}
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
    background-color: #7990e3;
}
.smf-progress-tracker__item__number {
    width: 35px;
    height: 35px;
}
.smf-label {
    float: left;
    margin-right: 10px;
}
.smf-checkboxes-control__control {
    overflow: hidden;
}
@media only screen and (min-width: 441px) and (max-width: 789px) { /* 441-789 */
    .smf-item__col--label {
        font-size: 1.9rem;
    }
    .smf-form input,
    .smf-form textarea  {
        font-size: 1.9rem;
    }
    .smf-placeholder {
        font-size: 1.9rem;
    }
    .smf-action .smf-button-control__control {
        font-size: 2.1rem;
    }
}
@media only screen and (min-width: 790px) and (max-width: 999px) { /* 790-999 */
    .smf-item__col--label {
        font-size: 2.0rem;
    }
    .smf-form input,
    .smf-form textarea  {
        font-size: 2.0rem;
    }
    .smf-placeholder {
        font-size: 2.0rem;
    }
    .smf-action .smf-button-control__control {
        font-size: 2.2rem;
    }
}
@media only screen and (min-width: 1000px) and (max-width: 1400px) { /* 1000-1400 */
    .smf-item__col--label {
        font-size: 2.1rem;
    }
    .smf-form input,
    .smf-form textarea {
        font-size: 2.1rem;
    }
    .smf-placeholder {
        font-size: 2.1rem;
    }
    .smf-action .smf-button-control__control {
        font-size: 2.3rem;
    }
}
@media only screen and (min-width: 1400px) { /* 1400over */
    .smf-item__col--label {
        font-size: 2.2rem;
    }
    .smf-form input,
    .smf-form textarea  {
        font-size: 2.2rem;
    }
    .smf-placeholder {
        font-size: 2.2rem;
    }
    .smf-action .smf-button-control__control {
        font-size: 2.4rem;
    }
}
