@charset "utf-8";

/* * * Reset * * */
body, div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, blockquote, pre, table, th, td, form, figure, fieldset, input, textarea {
    margin: 0;
    padding: 0;
}
img {
    vertical-align: baseline;
}
a img {
    border: none;
}
ol, ul {
    list-style: none;
    list-style-type: none;
}
address{
    font-style: normal;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

/* * * Setting * * */
body {
    background: #FFF;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
    /*
	font-family: "YuGothic", "Yu Gothic", "游ゴシック", "游ゴシック体", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, verdana, sans-serif;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
*/
    font-size: 3.5vw;
    color: #000;
    text-align: center;
　　text-size-adjust: 100%;
　　-webkit-text-size-adjust: 100%;/*Chrome,Safari*/
　　-ms-text-size-adjust: 100%;/*EgdeMobile*/
　　-moz-text-size-adjust: 100%;/*firefox*/
}
.PC {
    display: none;
}



/* * * general * * */
body {

}
.inner {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0;
    text-align: left;
}
img {
    max-width: 100%;
    height: auto;
}

a:hover{
    color: #E9546B;
}
em{
    font-style: normal;
    font-weight: bold;
}

/*** header***/
#header {
}
#header h1{
    background: url("../img/header_bk.jpg");
    line-height: 0;
}





#h_navi{
    background-color: #FFF33F;
}
#h_navi ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0.5em 0;
}
#h_navi li{
    padding: 0.2em 1em;
}
#h_navi li a{
    color: #000;
    text-decoration: none;
    font-family: ab-kokoro-no2,sans-serif;
    font-weight: 400;
    font-style: normal;
}
#h_navi li a::before{
    content:"▼";
    color: #E85388;
    font-family: "Noto Sans JP";
    font-size: 80%;
}
#h_navi li a:hover{
    color: #E85388;
}


/*** blocks ***/
.blocks {
    padding: 2em 1em 3em 1em;    
}

.type_flag{
    background: url("../img/flag.png") no-repeat center top;
    background-size: 140%;
}
.type_blue{
    background-color: #ebf6fb;
}
.type_pink{
    background-color: #FDEEF3;
}


.blocks h2{
    margin-bottom: 1em;
}
.blocks h2 span{
    text-align: center;
    padding: 0.5em 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background:url("../img/bg_title.png") no-repeat;
    background-size:100%;
    background-position: center center;
    font-family: ab-kokoro-no2,sans-serif;
    font-weight: 400;
    font-style: normal;
    /*font-size: 110%;*/
    font-size: clamp(0.5rem, 5vw, 3rem);
    height: 1.5em;
    color: #FFF;

}

.blocks p {
    line-height: 1.8em;
}


/*addresscard*/
#addresscard{
    border: 3px dashed #E85388;
    border-radius: 0.5em;
    background-color: #FFF;
    padding: 1em;
    margin: 1em 0;
}
#addresscard h3{
    text-align: center;
    margin-bottom: 0.5em;
}
#addresscard h3 span{
    display: inline-block;
    background: linear-gradient(transparent 40%, #ffff66 40%);
    padding: 0 0.2em;
}
#addresscard h4{
    position: relative;
    text-align: center;
}
#addresscard h4::before{
    content: "　";
    position: absolute;
    border-bottom: 3px solid #E85388;
    top:-0.7em;
    left:33%;
    width:33%;
    z-index: 1;
}
#addresscard h4 span{
    position: relative;
    display: inline;
    z-index: 2;
    background-color: #FFF;
    padding: 0 0.5em;
}





/**list_sozai**/
.list_sozai{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.list_sozai dt{
    font-weight: bold;
    width:100%;
    margin-top: 1em;
    font-size: 120%;

}

.list_sozai dt::before{
    content: "■";
    color: #E85388;
    font-size: 120%;
    padding-right: 0.3em;
}
.list_sozai dd{
    display: flex;
    justify-content: space-around;
    width: 100%;
    margin-top: 1em;
    margin-bottom: 2em;
}
.list_sozai dd ul{
    position: relative;
    width:30%;
    z-index: 2;
    padding-right: 1em;
}
.list_sozai dd li a{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.fadeInUp {
  opacity : 0;
  transform: translateX(-20px);/*横に変更*/
  transition: 1s;
}


.type_ribon dd ul:before{
    position: absolute;
    bottom: 0;
    right: 0;
    background: url("../img/ribon.png") no-repeat;
    background-size: 100% 100%;
    width:1.8em;
    height: 1.5em;
    text-align: center;
    font-weight: bold;
    color: #E85388;
    font-size: 1.5em;
    line-height: 1.5em;
    z-index: 1;


}
.type_ribon dd:nth-of-type(1) ul::before{
    content:"A";
}
.type_ribon dd:nth-of-type(2) ul::before{
    content:"B";
}
.type_ribon dd:nth-of-type(3) ul::before{
    content:"C";
}
.type_ribon dd:nth-of-type(4) ul::before{
    content:"D";
}
.type_ribon dd:nth-of-type(5) ul::before{
    content:"E";
}
.type_ribon dd:nth-of-type(6) ul::before{
    content:"F";
}
.type_ribon dd:nth-of-type(7) ul::before{
    content:"G";
}
.type_ribon dd:nth-of-type(8) ul::before{
    content:"H";
}
.type_ribon dd:nth-of-type(9) ul::before{
    content:"I";
}
.type_ribon dd:nth-of-type(10) ul::before{
    content:"J";
}
.type_ribon dd:nth-of-type(7) ul::before{
    content:"G";
}



/**oubo**/
#oubo strong{
    color: #00569D;
}

/**notes**/
#notes h3{

}
#notes h3{
    text-indent: -1em;
    padding-left: 1em;
    margin: 1em 0 0.5em 0;
}
#notes h3::first-letter{
    color: #E85388;
}


/**list_sozai**/
.list_sozai{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}




.list_sozai dt{
    font-weight: bold;
    width:100%;
    margin-top: 2em;
    font-size: clamp(1rem, 2vw, 1.5rem);/*A*/

}

.list_sozai dt::before{
    content: "■";
    color:#E85388;
    font-size: 120%;
    padding-right: 0.3em;
}
.list_sozai dd{
    display: flex;
    justify-content: space-around;
    width: 100%;
    margin-top: 1em;
    margin-bottom: 2em;
}
.list_sozai dd ul{
    position: relative;
    width:30%;
    z-index: 2;
    padding-right: 1em;
}
.list_sozai dd li a{
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.list_sozai dd li a, .new_ptn_3col li a, .type_2col li a{
    text-decoration: none;
    color: #000;
    font-weight: bold;
    display: block;
    padding: 0 0 0.5em 0;
}



.list_sozai dd li a:hover,  .new_ptn_3col li a:hover,  .type_2col li a:hover{
    color: #E9546B;
    text-decoration: underline;
}
.list_sozai dd li img, .new_ptn_3col li img, .type_2col li img{
    height: 1em;
    width:auto;
    padding-right: 0.5em;
    vertical-align: middle;
}
.list_sozai dd figure, .new_ptn_3col figure, .type_2col figure{
    line-height: 0;
    width:100%;
}

.flex-shrink{
    flex-shrink: 1;
}




.type_ribon dd ul:before{
    position: absolute;
    bottom: 0;
    right: 0;
    background: url("../img/ribon.png") no-repeat;
    background-size: 100% 100%;
    width:1.8em;
    height: 1.5em;
    text-align: center;
    font-weight: bold;
    color: #E50012;
    font-size: 1.5em;
    line-height: 1.5em;
    z-index: 1;


}
.type_ribon dd:nth-of-type(1) ul::before{
    content:"A";
}
.type_ribon dd:nth-of-type(2) ul::before{
    content:"B";
}
.type_ribon dd:nth-of-type(3) ul::before{
    content:"C";
}
.type_ribon dd:nth-of-type(4) ul::before{
    content:"D";
}
.type_ribon dd:nth-of-type(5) ul::before{
    content:"E";
}
.type_ribon dd:nth-of-type(6) ul::before{
    content:"F";
}
.type_ribon dd:nth-of-type(7) ul::before{
    content:"G";
}



/**new_ptn01**/
.new_ptn01 h3{
    font-weight: bold;
    width:100%;
    margin-top: 3em;
    font-size: clamp(1rem, 2vw, 1.5rem);/*A*/

}

.new_ptn01 h3::before{
    content: "■";
    color:#E85388;
    font-size: 110%;
    padding-right: 0.3em;
}
.new_ptn01 dt{
    font-weight: bold;
    width:100%;
    margin-top: 1em;
    font-size: 110%;
}


/*new_ptn_2col*/
.new_ptn01 .new_ptn_2col{
    display: flex;
    justify-content: space-between;
    margin-top: 1em;
}

.new_ptn_2col dt{
    display: flex;
    font-weight: normal;
    font-size: 100%;
    margin-bottom: 0.5em;
}
.new_ptn_2col dt div{
    padding-right: 0.5em;
    font-weight: bold;
    font-size: 110%;
    display: flex;
    
}
.new_ptn_2col dt li a{
    display: flex;
    align-items: center;

}
.new_ptn_2col dt li img{/*調べる*/
    height:1em;
    width: auto;
    margin-right: 0.5em;
}
.new_ptn_2col dt li a{
    text-decoration: none;
    color: #000;
    font-weight: bold;
}
.new_ptn_2col div:last-child{
    padding-left: 4vw;
    
}




/*new_ptn_3col*/
.new_ptn01 .new_ptn_3col{
    display: flex;
    justify-content: space-between;
    margin-top: 1em;
}

.new_ptn_3col dt{
    display: flex;
    font-weight: normal;
    font-size: 100%;
}
.new_ptn_3col dt div{
    padding-right: 0.5em;
    font-weight: bold;
    font-size: 110%;
}
.new_ptn_3col dd{
    width:90%;
}





/*type_2col*/
.new_ptn01 .type_2col{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.type_2col > div dl:first-child{
    padding-bottom: 1em;
    
}
.type_2col > div > dl{
    display: flex;
    align-content: space-around;

}

.type_2col dt{
    display: flex;

}
.type_2col dt div{
    padding-right: 0.5em;
    font-weight: bold;

}


.new_ptn01 .flex_wrap{
    justify-content: flex-start;
    align-items: flex-start;
}
.new_ptn01 .flex_wrap dt{
    width:6em;
}



/*panel_ill*/
#panel_ill {
    width:100%;
}
#panel_ill ul{
    width:5em;
}









#p_mark{
    margin-top: 0.5em;
}

#p_mark a{
    color: #000;
}



.txt_center{
    text-align: center;
}

/** page_top **/
#page_top {
    width: 18%;
    height: 60px;
    position: fixed;
    bottom: 0;
    right: 1%;
    /*border-radius: 50%;*/
}
#page_top a {
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    text-decoration: none;
    background: gray;
    opacity: 0.6;
}
#page_top a:hover {
    background: #08b9d4; /*3fefee*/
    opacity: inherit;
}
#page_top a::before {
    font-family: 'Font Awesome 5 Free';
    content: "\f106";
    font-weight: 900;
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}
@media screen and (max-width: 750px) and (orientation: landscape) { /*横向きの際に適用*/
    .page_top {
        width: 8%;
    }
}



/*** footer***/
#footer {
    clear: both;
    padding: 1em;
}
#footer #copy {
    font-size: 80%;
    color: #666;
    line-height: 1em;
}
#footer #copy img{
    max-width: 28%;
}


/*** class ***/
.none {
    display: none;
}
.t1em {
    margin-top: 1em;
}
.t2em {
    margin-top: 2em;
}
.t3em {
    margin-top: 3em;
}
.b1em {
    margin-bottom: 1em;
}
.b2em {
    margin-bottom: 2em;
}
.b3em {
    margin-bottom: 3em;
}

.small{
    font-size: 80%;
}

.flex_wrap {
    display: flex;
}

a.hover80:hover img {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha( opacity=80 )";
    transition: all 1.0s;
}
.fuchi{
    border: 1px solid #000;
}


/*** ul_type ***/
.ul_type00 li {
    text-indent: -1em;
    padding-left: 1em;
}

.ul_type01{
    text-indent: -1em;
    padding-left: 1em;
    margin: 1em 0;
}
.ul_type01 li::first-letter{
    color: #E85388;
}

/*tbl_type01*/
.tbl_type01{
    width:100%;
    margin-top: 1em;
}

.tbl_type01 th{
    padding-right: 1em;
    padding: 0.8em 0.5em;
    border-bottom: 2px dashed #ACACAC;/*898989*/
}
.tbl_type01 th span{
    background-color: #E85388;
    color: #FFF;
    border-radius: 0.5em;
    display: block;
    text-align: center;
    padding: 0.8em 0.5em;
    font-size: 90%;
}
.tbl_type01 td{
    border-bottom: 2px dashed #ACACAC;/*898989*/
}



/*------------------------------------------------------
	mediaQuery
*-------------------------------------------------------*/

@media screen and (min-width: 640px) {
    body{
    font-size: 150%;
    }
    .SP {
        display: none;
    }
    .PC {
        display: block;
    }
    
    /** container **/
    #container {
    }
    
    .blocks {
        padding-top: 3em;    
    }
    
    
.tbl_type01 th{
    padding-right: 2em;
}

    #addresscard{
        text-align: center;
    }
    #addresscard h4{
        margin-top: 1em;
    }
    
    
    .list_sozai dd{
        width:45%;
    }


    .type_2col {
        display: flex;
        justify-content: space-between;

    }
    .type_2col .list_sozai{
        width:45%;
    }
    .type_2col .list_sozai dd{
            width:100%;
    }



    .list_sozai dd li a{
        font-size: 100%;
    }
@media screen and (min-width: 640px) and (max-width:850px) {
    .list_sozai dd li a{
        font-size: 80%;
    }
}




    
    /** page_top **/
    .page_top {
        width: 60px;
        right: 0;
    }
}