@charset "UTF-8";
/* ＊＊＊基本設定＊＊＊ */
/* 横メディア：1000px    */
/* 縦メディア：620px     */

/* origin */
html{
    scroll-behavior: smooth;
}
body{
    margin: 0;
    font-family: "Meiryo", sans-serif;
    font-size: 16px;
    background-color: aliceblue;
    background-image: url(../image/background_patturn.jpg);
    background-attachment: fixed;
}
p,aside{
    margin-top: 0;
    margin-bottom: 1em;
    margin-left: 2em;
    margin-right: 2em;
}
img{
    vertical-align: middle;
}
ul{
    padding-inline-start: 1.5em;
    
}
figcaption{
    font-size: 0.8em;
}
h1,h2,h3{
    padding-left: 0.5em;    
}
h1{ font-size: 1.3em; }
h2{ font-size: 1.25em; }
h3{ font-size: 1.20em; }
h4{ font-size: 1.18em; }

/* general layout */
#wrapper,header,#container,footer{
    width: 1025px;
    box-sizing: border-box;
}
#wrapper{
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    min-height: 100vh;
    background-color: #ffcc99;
    background-image: url(../image/background_repeat.jpg);
}
header,footer{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#container{
    height: auto;
    padding: 0 10px;
}
footer{
    margin-top: auto;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}
@media(max-width:1025px){
    body{
        font-size: 1.6vw;
    }
    #wrapper,header,#container,footer{
        width: 100vw;
    }
    #container{
        padding: 0 2vw;
    }
    footer{
        padding-bottom: 2vw;
    }
}
@media(max-width:620px){
    body{
        font-size: 4.5vw;
    }
    #wrapper{
        display: block;
    }
    h1,.font_l{
        font-size: 1.25em;
    }
    h2,.font_s{
        font-size: 1.15em;
    }
    h3{
        font-size: 1.10em;
    }
    p, aside{
        margin-left: 1em;
        margin-right: 1em;
    }
}

/* image */
.img_contain,.img_cover{
    width: 100%;
    height: 100%;
}
.img_contain{
    object-fit: contain;
}
.img_cover{
    object-fit: cover;
}
.img_header{
    width: 20%;
    height: auto;
}
.img_footer{
    width: 7%;
    height: auto;
}
.img_openweather{
    width: 40%;
    height:auto;
}
@media(max-width: 620px){
    .img_header{
        width: 40%;
        height: auto;
    }
    .img_footer{
        width: 10%;
        height: auto;
    }
}

/* header & footer */
#top,#bottom{
    text-align: center;
}
#top{
    padding-top: 1em;
}
.header_anchor{
    text-decoration: none;
}
.header_phrase{
    color: brown;
    font-weight: 600;
}
#bottom{
    margin: 2em;
}
.footer_phrase{
    display: inline-block;
    font-size: 0.8em;
}
@media(max-width:620px){
    #top{
        padding-top: 0.5em;
        padding-bottom: 0.5em;
    }
    #bottom{
        margin: 1em;
    }
    .header_phrase{
        font-size: 0.8em;
    }
}

/* container */
.partition{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
}
.p70,.p30,.content_box{
    box-sizing: border-box;
}
.p70{
    width: 67%;
}
.p30{
    width: 27%;
}
.slide_box,.view_box,.il_box{
    width: 96%;
    margin: 10px auto;
}
.normal_box{
    width: 100%;
    margin: 0px 10px auto auto;
}
.slide_box{
    position: relative;
    height: 420px;
}
.img_slide{
    position: absolute;
    width: 100%;
    height: auto;
    opacity: 0;
    transition: 1s;
    z-index: 2;
}
.img_slide.active{
    opacity: 1;
    transition: 1s;
    z-index: 3;
}
.content_box{
    background-color: rgba(255,255,255,0.8);
    margin: 10px auto;
    border-radius: 5px;
    padding: 10px;
}
.sticky_box{
    position: sticky;
    top: 10px;
}
.pre_title{
    margin: 0.5em 0em;
    font-size: 1.4em;
    padding-left: 0.5em;
    font-weight: bold;
}
@media(max-width: 1025px){
    .content_box{
        margin: 2vw auto;
    }
    .slide_box{
        margin: 2vw auto;
        height: 41vw;
    }
    .view_box,.il_box{
        margin: 2vw auto;
    }
}
@media(max-width: 620px){
    .p70,.p30{
        width: 100%;
    }
    .slide_box{
        margin: 0 auto;
        height: 62vw;
    }
    .pre_title{
        font-size: 1.25em;
    }
}

/* container_header*/
.container_header{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.ch-all{
    margin-left: 1em;
}
.ch-left{
    width: 80%;
    margin-left: 1em;
}
.ch-right{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 10%;
    margin-right: 1em;
}
.title_header,.stand_header{
    display:flex;
    flex-direction: row;
    justify-content: flex-start;
}
.title_header{
    padding-bottom: 0.5em;
}
.new_header{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding-top: 1em;
    padding-bottom: 1em;
}
.th-left,.th-right{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.th-left,.nh-left{
    width: 15%;
    margin-left: 1em;
}
.th-right,.nh-right{
    width: 80%;
}
.nh-right{
    margin-right: 0.5em;
}
.nh-box{
    margin-left: 1em;
}
.b-space{
    margin-bottom: 0.8em;
}
.nh-date{
    border-left: double 6px orange;
    border-right: double 6px orange;
    padding: 0 0.3em;
    font-weight: bold;
    color: dimgray;
}
.container_line{
    border-bottom: solid 2px silver;
    margin-bottom: 0em;
}
.container_space{
    border-top: solid 2px silver;
    border-bottom :solid 2px silver;
    padding: 0.3em;
    margin-bottom: 0em;
}
.land{
    margin: 0 1em;
}

/* smart*/
.tablet,.smart,.smart_box,.smart_header,.smart_line,.smart_btn,.smart_text{
    display: none;
}
.jump_btn{
    display: none;
    position: fixed;
    bottom: 50px;
    right: 50px;
    z-index: 10;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    border: solid 3px green;
    border-radius: 5px;
    background-color: beige;
    font-size: 1.35em;
    font-weight: bold;
    padding-top: 0.1em;
    color: green;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}
.sub_header_control{
    margin-block-start: 0.2em;
    margin-block-end: 0.45em;
    color: dimgray;
}
@media(max-width: 1025px){
    .jump_btn{
        bottom: 5vw;
        right: 5vw;
        width: 4vw;
        height: 4vw;
        border: solid 0.3vw green
    }
    .tablet{
        display: block;
    }
}
@media(max-width: 620px){
    .jump_btn{
        width: 12vw;
        height: 12vw;
        border: solid 0.6vw green
    }
    .sub_header_control{
        margin-block-start: 0.45em;
    }
    .smart{
        display: block;
    }
    .smart_box{
        display: flex;
        flex-direction: row-reverse;
        justify-content: flex-start;
        margin: 0 1em;
    }
    .smart_header{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }
    .smart_line{
        display: block;
        border-bottom: solid 2px silver;
        margin-bottom: 0.5em;
    }
    .smart_btn{
        display: flex;
        flex-direction: column;
        justify-content: center;
        box-sizing: border-box;
        width: 8vw;
        height: 8vw;
        border: solid 0.6vw green;
        border-radius: 5px;
        background-color: beige;
        font-size: 1.25em;
        font-weight: bold;
        color: green;
        text-align: center;
        text-decoration: none;
        cursor: pointer;
    }
    .smart_btn:hover{
        background-color: mistyrose;
    }
    .smart_text{
        display: flex;
        flex-direction: column;
        justify-content: center;
        font-size: 0.8em;
        margin: 0 0.5em;
    }
}

/* box */
.gen-box,.gen-char,.ext-char,.gen-text,.ext-text,.gen-picture,.epi-box,.epi-picture,.cake-box,.ban-text,.sub-box,.index-box,.moc-mark{
    box-sizing: border-box;
}
.gen-box,.epi-box,.cake-box{
    border-bottom: solid 2px silver;
}
.gen-char,.ext-char,.gen-text,.ext-text,.weather-char{
    margin: 10px;
}
.gen-box{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}
.gen-box.link{
    text-decoration: none;
    color: black;
}
.gen-box.link:hover{
    background-color: rgba(128,128,128,0.2);
    transition: 0.3s;
}
.gen-char{
    align-self: flex-start;
    width: 20%;
}
.ext-char{
    align-self: flex-start;
    width: 25%;
}
.gen-text{
    width: 80%;
}
.ext-text{
    width: 75%;
}
.gen-title{
    font-size: 1.2em;
    font-weight: bold;
    line-height: 2;
    color: black;
}
.gen-infobox{
    display: block;
}
.gen-stext{
    display: inline-block;
    margin-right: 1em;
    padding-left: 0.5em;
    color: darkslategrey;
    font-size: 0.8em;
}
.gen-sub_text{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 75%;
}
.tpc-picture{
    margin-top: 0;
    margin-bottom: 1em;
    margin-left: auto;
    margin-right: auto;
    width: 85%;
}
.epi-box{
    margin-top: 1em;
}
.epi-lo{
    margin:0.2em 2em;
}
.epi-char{
    margin: 1em auto;
    width: 300px;
}
.epi-picture{
    margin-top: 2em;
    margin-bottom: 1em;
    margin-left: auto;
    margin-right: auto;
    width: 70%;
}
.small_text{
    font-size:0.8em; 
    margin: 0.3em;
}
.twitter_mark{
    width: 40px;
}
.cake-box{
    padding: 0.5em 0;
}
.sub-box{
    margin: 0 auto;
    width: 90%;
}
.cake{
    display: inline-block;
    border-radius: 4px;
    padding: 0.2em 0.5em;
    margin: 0.3em;
    font-size: 0.9em;
    color: black;
    text-decoration: none;
}
.focus{
    border: solid 2px palevioletred;
}
.button{
    display: block;
    border-style: solid;
    border-width: 2px;
    border-radius: 5px;
    border-color: blue;
    color: blue;
    width: 90%;
    margin: 0.5em auto;
    text-decoration: none;
    background-color: aqua;
    font-size: 1em;
    font-weight: bold;
    padding: 0.4em 0;
    cursor: pointer;
}
.button.alone{
    text-align: center;
    margin-top: 1em;
}
.button:hover{
    background-color: mistyrose;
    border-color: red;
    color: red;
    transition: 0.3s;
}
.ban-box{
    display: block;
    border: solid 2px silver;
    margin: 0.7em;
    text-decoration: none;
}
.ban-text{
    font-size: 0.7em;
    padding: 0.4em;
    background-color: white;
    color: black;
}
.index-box{
    margin-top: 1.5em;
    margin-bottom: 1em;
    margin-left: 1em;
    margin-right: 1em;
    border-radius: 5px;
    padding: 1em;
    background-color: antiquewhite;
}
.page_move-box{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 1em;
    padding-bottom: 1em;
}
.index_line-space{
    font-size: 0.32em;
}
.index_line-box,.index_back-box{
   display: none;
}
.index_line-active,.page_move-text,.index_back-active{
    display: block;
    box-sizing: border-box;
    border: solid 2px darkgreen;
    padding: 0.2em 0.5em;
    border-radius: 5px;
    background-color: aquamarine;
    color: darkgreen;
    font-weight: bold;
    text-decoration: none;
}
.index_line-active,.index_line-none{
    width: 98%;
    text-align: center;
    font-size: 0.8em;
}
.index_back-active{
    width: 90%;
    margin: 0 auto;
    text-align: center;
    font-size: 0.8em;
}
.page_move-text:hover{
    border: solid 2px crimson;
    background-color: #ffcc99;
    color: crimson;
    transition: 0.3s;
}
.index_line-none,.page_move-none{
    display: block;
    box-sizing: border-box;
    border: solid 2px silver;
    padding: 0.2em 0.5em;
    border-radius: 5px;
    background-color: gainsboro;
    color: gainsboro;
    cursor: default;
}
.page_move-line{
    border-left: solid 2px silver;
}
.page_move-part{
    align-self: center;
    width: 45%;
}
.page_move-char{
    width: 45%;
    height: auto;
}
.page_move-anchor{
    text-decoration: none;
}
.about_list{
    line-height: 2.2em;
}
.map-box{
    margin-bottom: 1em;
}
.map{
    width: 90%;
    height: 400px;
}
.topics_index_bottom{
    margin: 0.5em;
}
.moc-grid{
    display: grid;
    width: 100%;
    grid-template-columns: repeat(4, 1fr);
    border-bottom: solid 2px silver;
    margin-bottom: 0em;
}
.moc-mark{
    display: block;
    padding: 0.5em;
}
.moc-mark:hover{
    opacity: 0.8;
    transition: 0.3s;
}
.heading_bar{
    box-sizing: border-box;
    border-radius: 5px;
    text-align: center;
    margin-bottom: 0;
}
.weather-grid{
    display: grid;
    grid-template-rows: repeat(2, 1fr);
    grid-template-columns: repeat(4, 1fr);
    margin: 0 2em;
}
.weather_box{
    text-align: center;
    font-size: 0.8em;
}
@media(max-width:1025px){
    .gen-char,.ext-char,.gen-text,.ext-text,.weather-char{
        margin: 1vw;
    }
    .epi-char{
        width: 30vw;
    }
    .twitter_mark{
        width: 5vw;
    }
    .map{
        height: 40vw;
    }
}
@media(max-width:620px){
    .gen-char,.ext-char,.gen-text,.ext-text,.weather-char{
        margin: 2vw;;
    }
    .gen-char{
        width: 25%;
    }
    .ext-char{
        width: 30%;
    }
    .gen-text{
        width: 75%;
    }
    .ext-text{
        width: 70%;
    }
    .gen-picture{
        width: 100%;
    }
    .gen-title{
        font-size: 1.05em;
    }
    .epi-lo{
        margin:0 1em;
    }
    .epi-char{
        width: 50vw;
    }
    .epi-picture{
        width: 80%;
    }
    .page_move-char{
        width: 50%;
    }
    .page_move-text,.page_move-none{
        font-size: 0.9em;
    }
    .map{
        display: none;
    }
    .index_line-box{
        display: grid;
    }
    .index_back-box{
        display: block;
    }
    .index_line-box,.index_back-box{
        position: sticky;
        top: 0px;
        padding: 5px 0;
        background-image: url(../image/background_repeat.jpg);
    }
    .grid_part3{
        grid-template-columns: repeat(3,1fr);
    }
    .grid_part4{
        grid-template-columns: repeat(4,1fr);
    }
    .grid_part5{
        grid-template-columns: repeat(5,1fr);
    }
    .weather-grid{
        margin: 0;
    }
    .weather_box{
        font-size: 0.6em;
    }
}

/* form */
.form-frame{
    margin: 0 auto;
    width: 70%;
}
.form-box{
    margin-top: 1em;
    margin-bottom: 2em;
}
.form-txtline{
    display: inline-block;
    width: 100%;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom-style: solid;
    border-bottom-width: 3px;
    border-bottom-color: black;
    border-radius: 0;
    background-color: transparent;
    outline: none;
    font-size: 1em;
}
.form-txtline:focus{
    border-bottom-color: royalblue;
}
.form-txtline.alert{
    border-bottom-color: red;
}
.form-txtbox{
    display: inline-block;
    width: 100%;
    border-style: solid;
    border-width: 3px;
    border-color: black;
    outline: none;
    font-size: 1em;
}
.form-txtbox:focus{
    border-color: royalblue;
}
.form-txtbox.alert{
    border-color: red;
}
.form-alert{
    color: red;
}
.form-button{
    display: block;
    width: 60%;
    border: solid 2px skyblue;
    border-radius: 2px;
    text-align: center;
    background-color: white;
    color: black;
    margin: 0 auto;
    font-size: 1.2em;
}
.form-button:hover{
    background-color: aqua;
    transition: 0.3s;
}
.s-none{
    display: block;
}
@media(max-width: 620px){
    .form-frame{
        width: 90%;
    }
    .s-none{
        display: none;
    }
}

/* color */
.bx_gr{
    background-color: #393;
    color: #6c9;
}
.bx_rr{
    background-color: #f66;
    color: white;
}
.bg_insta{
    background-color: #cf2e92;
}
.bg_note{
    background-color: #41c9b4;
}
.bg_suzuri{
    background-color: #005bac;
}
.bg_x{
    background-color: black;
}
.bt_pk{ background-color: pink; }
.bt_pk:hover{
    background-color: mistyrose;
    transition: 0.3s;
}
.bt_sb{ background-color: skyblue; }
.bt_sb:hover{
    background-color: aqua;
    transition: 0.3s;
}
.bt_og{ background-color: #fc6;}
.bt_og:hover{
    background-color: #ff9;
    transition: 0.3s;
}
.bt_gr{ background-color: darkseagreen;}
.bt_gr:hover{
    background-color: lightgreen;
    transition: 0.3s;
}
.mk_sb{
    background-color: skyblue;
    font-weight: bold;
}
.hb_gr,.hb_pk,.hb_sb,.hb_cr,.hb_og,.hb_nv,.hb_rr,.hb_vl,.hb_st{
    border-left-style: solid;
    border-left-width: 10px;
}
.hb_gr{ border-left-color: #393; }
.hb_pk{ border-left-color: hotpink;}
.hb_sb{ border-left-color: royalblue;}
.hb_cr{ border-left-color: coral;}
.hb_og{ border-left-color: orange;}
.hb_nv{ border-left-color: navy;}
.hb_rr{ border-left-color: #f66}
.hb_vl{ border-left-color: darkviolet;}
.hb_st{ border-left-color: steelblue;}

.sb_pk,.sb_sb,.sb_og,.sb_gr{
    border-left-style: solid;
    border-left-width: 5px;
}
.sb_pk{ border-left-color: pink; }
.sb_sb{ border-left-color: skyblue; }
.sb_og{ border-left-color: orange;}
.sb_gr{ border-left-color: green;}

/* vc */
.trans_box{
    box-sizing: border-box;
    margin: 10px auto;
    padding: 10px;
}
@media(max-width:1025px){
    .trans_box{
        margin: 2vw auto;
    }
}
.vh_header,.vf_header{
    display: block;
    margin-top: 0.5em;
    text-align: center;
    background-color: #cff;
    background-image: url(../image/sub_background.jpg);
    background-size: cover;
}
.vh_header{
    border-top: solid 2px #06c;
    border-bottom: solid 2px #06c;
    border-left: double 10px #06c;
    border-right: double 10px #06c;
    color: navy;
}
.vf_header{
    border-top: solid 2px #f66;
    border-bottom: solid 2px #f66;
    border-left: double 10px #f66;
    border-right: double 10px #f66;
    color: #900;
}
.vc-main_title{
    padding-left: 0em;
    margin-block-start: 0.2em;
    margin-block-end: 0em;
    font-size: 1.2em;
}
.vc-sub_title{
    font-size: 0.8em;
}
a[href^="//ck.jp.ap.valuecommerce.com/"]{
    display: block;
    box-sizing: border-box;
    width: 90%;
    border-radius: 4px;
    padding: 0.15em 0.5em;
    margin: 0.5em auto;
    font-size: 1em;
    text-decoration: none;
    text-align: center;
}
.vh_c,.vf_c{
    border: solid 2px #cff;
    background-color:#cff;
    color: black;
}
.vh_c:hover{
    border: solid 2px blue;
    color: blue;
    transition: 0.2s;
}
.vf_c:hover{
    border: solid 2px red;
    color: red;
    transition: 0.2s;
}

/* shortcut class */
.d_n{ display: none; }
.m_0{ margin: 0;}
.ctr{ text-align: center; }
.rgt{ text-align: right; }
.mdl{ vertical-align: middle; }
.btm{ vertical-align: bottom; }
.w100{ width: 100%; height: auto;}
.w15{ width: 15%; text-align: center;}
.mg07{ margin: 0.7em;}
.mt05{ margin-top: 0.5em;}
.mb10{ margin-bottom: 1em;}
.ml05{ margin-left: 0.5em;}
.font_l{ font-size: 1.4em; }
.font_s{ font-size: 1.25em; }
.indent{ text-indent: 1em; }