@charset "UTF-8";

/* --------------------------------------------------------------------
    common　basic
-------------------------------------------------------------------- */
@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap";

#om_hikerssummit {
    margin: 0;
    color:#31302e;
    font-family: 'Noto Sans JP','Noto Sans Japanese','源ノ角ゴシック Regular','源ノ角ゴシック',"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 14px;
    line-height: 1.5;
}
#om_hikerssummit img {
    border: none;
    max-width: 100%;
    image-rendering: -webkit-optimize-contrast;
    -webkit-backface-visibility: hidden;
}
#om_hikerssummit strong {
    font-weight: bold;
}

/* --------------------------------------------------------------------
	HEADER FIX : ANCHOR LINK
--------------------------------------------------------------------- */
html{
    scroll-padding-top: 116px;
}
@media screen and (min-width: 801px){
    html{
        scroll-padding-top: 180px;
    }
}
@media screen and (min-width: 1281px){
    html{
        scroll-padding-top: 175px;
    }
}

/* --------------------------------------------------------------------
    common　component
-------------------------------------------------------------------- */
@media screen and (min-width: 640px) {
    #om_hikerssummit .sp_only {
        display:none !important;
    }
}
@media screen and (max-width: 641px) {
    #om_hikerssummit .pc_only {
        display:none !important;
    }
}

/* padding */
#om_hikerssummit .p_01{
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 25px;
    padding-right: 25px;
}
#om_hikerssummit .py_01{
    padding-top: 25px;
    padding-bottom: 25px;
}
#om_hikerssummit .px_01{
    padding-left: 25px;
    padding-right: 25px;
}
#om_hikerssummit .pb_01{
    padding-bottom: 25px;
}
#om_hikerssummit .pt_01{
    padding-top: 25px;
}
#om_hikerssummit .pr_01{
    padding-right: 25px;
}
#om_hikerssummit .pl_01{
    padding-left: 25px;
}

#om_hikerssummit .p_02{
    padding: 20px;
}
#om_hikerssummit .py_02{
    padding-top: 20px;
    padding-bottom: 20px;
}
#om_hikerssummit .px_02{
    padding-left: 20px;
    padding-right: 20px;
}
#om_hikerssummit .pb_02{
    padding-bottom: 20px;
}
#om_hikerssummit .pt_02{
    padding-top: 20px;
}
#om_hikerssummit .pr_02{
    padding-right: 20px;
}
#om_hikerssummit .pl_02{
    padding-left: 20px;
}

#om_hikerssummit .p_03{
    padding: 15px;
}
#om_hikerssummit .py_03{
    padding-top: 15px;
    padding-bottom: 15px;
}
#om_hikerssummit .px_03{
    padding-left: 15px;
    padding-right: 15px;
}
#om_hikerssummit .pb_03{
    padding-bottom: 15px;
}
#om_hikerssummit .pt_03{
    padding-top: 15px;
}
#om_hikerssummit .pr_03{
    padding-right: 15px;
}
#om_hikerssummit .pl_03{
    padding-left: 15px;
}

#om_hikerssummit .p_04{
    padding: 7.5px;
}
#om_hikerssummit .py_04{
    padding-top: 7.5px;
    padding-bottom: 7.5px;
}
#om_hikerssummit .px_04{
    padding-left: 7.5px;
    padding-right: 7.5px;
}
#om_hikerssummit .pb_04{
    padding-bottom: 7.5px;
}
#om_hikerssummit .pt_04{
    padding-top: 7.5px;
}
#om_hikerssummit .pr_04{
    padding-right: 7.5px;
}
#om_hikerssummit .pl_04{
    padding-left: 7.5px;
}

@media screen and (min-width: 1551px) {
    #om_hikerssummit .p_01{
        padding: 65px;
    }
    #om_hikerssummit .py_01{
        padding-top: 65px;
        padding-bottom: 65px;
    }
    #om_hikerssummit .px_01{
        padding-left: 65px;
        padding-right: 65px;
    }
    #om_hikerssummit .pb_01{
        padding-bottom: 65px;
    }
    #om_hikerssummit .pt_01{
        padding-top: 65px;
    }
    #om_hikerssummit .pr_01{
        padding-right: 65px;
    }
    #om_hikerssummit .pl_01{
        padding-left: 65px;
    }
    
    #om_hikerssummit .p_02{
        padding: 45px;
    }
    #om_hikerssummit .py_02{
        padding-top: 45px;
        padding-bottom: 45px;
    }
    #om_hikerssummit .px_02{
        padding-left: 45px;
        padding-right: 45px;
    }
    #om_hikerssummit .pb_02{
        padding-bottom: 45px;
    }
    #om_hikerssummit .pt_02{
        padding-top: 45px;
    }
    #om_hikerssummit .pr_02{
        padding-right: 45px;
    }
    #om_hikerssummit .pl_02{
        padding-left: 45px;
    }
    
    #om_hikerssummit .p_03{
        padding: 25px;
    }
    #om_hikerssummit .py_03{
        padding-top: 25px;
        padding-bottom: 25px;
    }
    #om_hikerssummit .px_03{
        padding-left: 25px;
        padding-right: 25px;
    }
    #om_hikerssummit .pb_03{
        padding-bottom: 25px;
    }
    #om_hikerssummit .pt_03{
        padding-top: 25px;
    }
    #om_hikerssummit .pr_03{
        padding-right: 25px;
    }
    #om_hikerssummit .pl_03{
        padding-left: 25px;
    }
    
    #om_hikerssummit .p_04{
        padding: 15px;
    }
    #om_hikerssummit .py_04{
        padding-top: 15px;
        padding-bottom: 15px;
    }
    #om_hikerssummit .px_04{
        padding-left: 15px;
        padding-right: 15px;
    }
    #om_hikerssummit .pb_04{
        padding-bottom: 15px;
    }
    #om_hikerssummit .pt_04{
        padding-top: 15px;
    }
    #om_hikerssummit .pr_04{
        padding-right: 15px;
    }
    #om_hikerssummit .pl_04{
        padding-left: 15px;
    }
}

/* container */
.om_session{
    width: 100%;
    padding-top: 25px;
    padding-bottom: 25px;
}
@media screen and (min-width: 1024px) {
    .om_session{
        padding-top: 65px;
        padding-bottom: 65px;
    }
}
.om_container{
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

/* background */
.om_bg_black{
    background-color: #000;
}
.om_bg_white{
    background-color: #fff;
}
.om_bg_darkgrey{
    background-color: #31302e;
}
.om_bg_lightgrey{
    background-color: #e4e2df;
}
.om_bg_bleu{
    background-color: #0074aa;
}

.om_box_shadow{
    -webkit-box-shadow: 0px 0px 10px -5px rgba(0,0,0,0.61);
    -moz-box-shadow: 0px 0px 10px -5px rgba(0,0,0,0.61);
    box-shadow: 0px 0px 10px -5px rgba(0,0,0,0.61);
}

.om_border_01{
    border: solid 1px #31302e;
}

/* text */
.om_lefttext {
    text-align: left;
}
.om_righttext {
    text-align: right;
}
.om_centertext {
    text-align: center;
}
.om_boldtext{
    font-weight: bold;
}

.om_text_white{
    color: #fff;
}
.om_text_lightgrey{
    color: #787774;
}
.om_text_bleu{
    color: #0074aa;
}
.om_text_black{
    color: #000;
}

/* error message */
.om_error, .om_important {
    color:#CC0000;
    font-weight:bold;
}
.om_notice,
a.om_notice:link, a.om_notice:visited, a.om_notice:active {
    color:#993300;
}

/* headline */
.om_headline_01{
    font-size: 1.78em; /* 25px */
}
.om_headline_02{
    font-size: 1em; /* 14px */
}
.om_headline_03{
    font-size: 1.28em; /* 18px */
}
.om_headline_bordered{
    border-left: 5px solid #0074aa;
}

@media screen and (min-width: 1024px) {
    .om_headline_01{
        font-size: 2.5em; /* 35px */
    }
    .om_headline_02{
        font-size: 1.42em; /* 20px */
    }
    .om_headline_03{
        font-size: 1.42em; /* 20px */
    }
}

@media screen and (min-width: 1800px) {
    .om_headline_01{
        font-size: 3.57em; /* 45px */
    }
}

/* body fs */
.om_textline_01{
    font-size: 0.78em; /* 11px */
}
.om_textline_02{
    font-size: 0.9em; /* 12.6px */
}
.om_textline_03{
    font-size: 0.67em; /* 9.5px */
}
.om_textline_04{
    font-size: 1; /* 14px */
}
.om_textline_05{
    font-size: 1.28em; /* 18px */
}

@media screen and (min-width: 481px) {
    .om_textline_04{
        font-size: 1.14em; /* 16px */
    }
}

@media screen and (min-width: 1024px) {
    .om_textline_01, .om_textline_02{
        font-size: 1.14em; /* 16px */
    }
    .om_textline_03{
        font-size: 0.92em; /* 13px */
    }
}

/* list style */
.om_list_disc li{
    list-style: disc;
    padding-bottom: 7.5px;
}
.om_list_disc li:last-child{
    padding-bottom: 0;
}

/* text link */
.om_link_arrow{
    position: relative;
    padding-right: 30px;
    display: inline-block;
}
.om_link_arrow:after{
    content: "";
    position: absolute;
    top: 50%;
    right: 5px;
    display: block;
    width: 12px;
    height: 12px;
    margin-top: -10px;
    border-right: 2px solid #0074aa;
    border-bottom: 2px solid #0074aa;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.om_link_revert:link, .om_link_revert:visited, .om_link_revert:active {
    color:#fff;
    text-decoration: none;
}
.om_link_revert:hover, .om_link_revert:focus {
    color:#fff;
    text-decoration: underline;
    opacity: .7;
}

.om_link_blue:link, .om_link_blue:visited, .om_link_blue:active {
    text-decoration: underline;
    color: #0074aa;
    display: inline-block;
}
.om_link_blue:hover, .om_link_blue:focus {
    color: #0074aa;
    text-decoration: underline;
    opacity: .7;
}

/* button */
.om_btn, .om_btn:link, .om_btn:visited, .om_btn:active {
    display: inline-block;
    font-size: 1em; /* 14px */
    width: 100%;
    padding: 7px 18px;
    outline: none;
}
.om_btn:hover, .om_btn:focus {
    text-decoration: none;
}
@media screen and (min-width: 1024px) {
    .om_btn, .om_btn:link, .om_btn:visited, .om_btn:active {
        font-size: 1.28em; /* 18px */
        width: auto;
        padding: 14px 25px;
    }
    .om_fullwidth_btn{
        width: 100%;
    }
    .om_minwidth_btn{
        min-width: 345px;
    }
}

.om_btn_01, .om_btn_01:link, .om_btn_01:visited, .om_btn_01:active {
    color: #fff;
    background-color: #008cbd;
}
.om_btn_01:hover, .om_btn_01:focus {
    color: #fff;
}

.om_btn_02, .om_btn_02:link, .om_btn_02:visited, .om_btn_02:active {
    color: #fff;
    border: solid 1px #fff;
}
.om_btn_02:hover, .om_btn_02:focus {
    color: #fff;
    background-color: #1d1d1c;
}

.om_btn_group{
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px;
}
.om_btn_group .om_btn{
    width: auto;
    flex: 1 1 auto;
}

/* flex grid */
.om_flex_row{
    display: flex;
    flex-wrap: wrap;
}
.om_flex_row>*{
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-left: 7.5px;
    padding-right: 7.5px;
    padding-bottom: 15px;
}
.om_flex_col_sm_04{
    flex: 0 0 auto;
    width: calc(100% / 4);
}
.om_flex_col_sm_03{
    flex: 0 0 auto;
    width: calc(100% / 3);
}
.om_flex_col_sm_02{
    flex: 0 0 auto;
    width: calc(100% / 2);
}
.om_flex_col_sm_01{
    flex: 0 0 auto;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

@media screen and (max-width: 640px) {
    .om_flex_col_xs_01{
        flex: 0 0 auto;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
}

@media screen and (min-width: 801px) {
    .om_flex_col_md_04{
        flex: 0 0 auto;
        width: calc(100% / 4);
        padding-left: 7.5px;
        padding-right: 7.5px;
    }
    .om_flex_col_md_03{
        flex: 0 0 auto;
        width: calc(100% / 3);
        padding-left: 7.5px;
        padding-right: 7.5px;
    }
    .om_flex_col_md_03x2{
        flex: 0 0 auto;
        width: calc((100% / 3) * 2);
    }
    .om_flex_col_md_02{
        flex: 0 0 auto;
        width: calc(100% / 2);
    }
    .om_flex_col_md_01{
        flex: 0 0 auto;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .om_flex_col_sm_04{
        flex: 0 0 auto;
        width: calc(100% / 2);
    }
    .om_textline_05 {
        font-size: 0.8em;
      }
}

@media screen and (min-width: 1024px) {
    .om_flex_row>*{
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 30px;
    }
    .om_flex_col_03{
        flex: 0 0 auto;
        width: calc(100% / 3);
    }
    .om_flex_col_02{
        flex: 0 0 auto;
        width: calc(100% / 2);
    }
    .om_flex_col_01{
        flex: 0 0 auto;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
}

@media screen and (min-width: 1550px) {
    .om_flex_col_xl_04{
        flex: 0 0 auto;
        width: calc(100% / 4);
    }
    .om_flex_col_xl_03{
        flex: 0 0 auto;
        width: calc(100% / 3);
    }
    .om_flex_col_xl_02{
        flex: 0 0 auto;
        width: calc(100% / 2);
    }
    .om_flex_col_xl_01{
        flex: 0 0 auto;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
}

.om_justify_content_start {
    justify-content: flex-start!important;
}
.om_justify_content_center {
    justify-content: center!important;
}
.om_justify_content_end {
    justify-content: flex-end!important;
}
.om_justify_content_around {
    justify-content: space-around!important;
}
.om_justify_content_between {
    justify-content: space-between!important;
}

.om_align_items_start {
    align-items: flex-start!important;
}
.om_align_items_center {
    align-items: center!important;
}
.om_align_items_end {
    align-items: flex-end!important;
}

/* collapsibles */
.om_collapsible_btn{
    border-bottom: solid 1px #e4e2df;
    color: #31302e;
    cursor: pointer;
    padding: 15px;
    width: 100%;
    outline: none;
    position: relative;
}
.om_collapsible_btn:after {
    content: '\002B';
    color: white;
    font-weight: bold;
    position: absolute;
    right: 15px;
    top: 50%;
    line-height: 1;
    transform: translateY(-50%);
}
.om_collapsible_btn.active:after {
    content: "\2212";
}
.om_collapsible_content {
    padding: 0 15px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}