@charset "utf-8";
/* CSS Document */
.sp{
    display:none;
}
.pc{
    display:block;
}
ul {
    list-style: none;
    padding: 0;
}
article.contents {
    margin: auto;
}
article.contents * {
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: 14px;
    outline: none;
}
article.contents section {
    margin-bottom: 60px;
    /* outline: none; */
}
article.contents section h3 {
    text-align: center;
    font-weight: 300;
    font-size: 30px;
    letter-spacing: 0.1em;
    margin: 50px 0 30px;
}
/*main_bnr ------------------------------ */
#bnr {
    padding-bottom: 30px;
    height: 330px;
    overflow: hidden;
}
#bnr nav {
    margin: auto;
    height: 300px;
    width: 100%;
    /* overflow: hidden; */
}
#bnr nav a {
    display: block;
    width: 100%;
    max-width: 500px;
    padding: 0 2px
}
#bnr nav a:hover {
    opacity: 0.8;
}
#bnr nav a img {
    width: 100%;
}
/*upper_block ------------------------------------------*/
#upper_block {
    width: 1024px;
    margin: 0 auto 60px;
}

#upper_block h2#arart_text{
    text-align:center;
    color:#f00;
    font-size:16px;
    position:relative;
    top:-30px;
    margin:0
}

#upper_block h3 {
    margin: 0 auto;
    font-size: 26px;
    text-align: center;
    font-weight: 600;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    line-height: 1;
    margin-bottom: 10px;
    letter-spacing: 0.02em;
    width: 444px;
    padding-left: 1px;
}
#upper_block h3::before {
    content: '';
    width: 32px;
    height: 32px;
    display: block;
    background: url(/shingaku/com/img/logo.svg) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 12px;
}
#upper_block #message {
    display: block;
    text-align: center;
    margin-bottom: 10px;
}
#upper_block .search_tl img {
    margin-right: .5em;
    vertical-align: -6px;
}
#upper_block .input_box {
    width: 480px;
    margin: auto;
}
#upper_block .input_box.open {
    width: 700px;
}
#upper_block .input_box input {
    background: #fff;
}
#upper_block .announcement a {
    display: block;
    border: 2px solid #b7c5ce;
    margin: 1.5em 1em 0;
    padding: .6em 1.2em;
    color: #222;
    font-size: 12px;
    text-decoration: none;
}
#upper_block .input_box .input_boxes li {
    width: 100%;
    display: none;
}
#upper_block .input_box .input_boxes li:first-child {
    display: inline-block;
    width: 100%;
}
#upper_block .input_box ul.input_boxes {
    display: inline-block;
    margin: 0;
    margin-right: 0;
    width: 53%;
    padding: 0;
    padding-right: 0;
}
#upper_block .input_box ul.input_boxes.added {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 0 20px;
    padding: 0;
}
#upper_block .input_box ul.input_boxes.added li {
    display: block;
    width: 24%;
    margin-right: calc(4% / 3);
    margin-bottom: 1%;
}
#upper_block .input_box ul.input_boxes.added li:nth-child(4n) {
    margin-right: 0;
}
#upper_block .input_box input {
    margin-right: 0;
    padding: 10px 0 10px 14px;
    width: 100%;
    height: 44px;
    font-size: 15px;
    vertical-align: top;
    background: #fff;
    border: 2px solid #c5c5c5;
    border-radius: 3px;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    border-right: none;
    box-sizing: border-box;
    /* line-height: 1; */
    font-family: 'Noto Sans JP',sans-serif;
}
#upper_block .input_box input[type="number"]::-webkit-outer-spin-button, #upper_block .input_box input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
    line-height:1;
}
#upper_block .input_box input[type="number"] {
    -moz-appearance: textfield;
}
#upper_block .input_box input::placeholder {
    color: #888;
}
#upper_block .input_box input:focus::placeholder {
    color: #000;
}
#upper_block form {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
#upper_block .input_box .btns {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 39%;
}
#upper_block .input_box .btns button {
    padding: 5px 10px;
    font-size: 14px;
    height: 44px;
    color: #fff;
    background: #333C48;
    border: none;
    border-radius: 4px;
    width: 60%;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
#upper_block .input_box .btns button:hover {
    opacity: 0.8;
}
#upper_block .input_box .btns button.add_btn {
    background: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    color: #000;
    font-weight: 600;
    padding: 0;
    font-size: 12px;
    background: #fff;
    outline: none;
    width: 44px;
}
#upper_block .input_box .btns button.add_btn::before {
    content: '';
    display: block;
    width: 100%;
    height: 30px;
    background: url(/shingaku/res/top/images/icon_plus.svg) no-repeat;
    background-size: contain;
    background-position: center;
}
#upper_block .input_box ul.input_boxes.added input {
    border-radius: 3px;
    border: 2px solid #c5c5c5;
}
#upper_block .input_box .btns.added {
    width: 100%;
    /* max-width: 492px; */
    margin: auto;
    display: flex;
    justify-content: center;
    position: relative;
}
#upper_block .input_box .btns.added button {
    width: 120px;
    margin: 0 5px;
    border-radius: 3px;
}
#upper_block .input_box .btns .reset_btn, #upper_block .input_box .btns .box_close {
    display: none;
}
#upper_block .input_box .btns.added .reset_btn, #upper_block .input_box .btns.added .box_close {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    border-radius: 3px;
    width: 100px;
}
#upper_block .input_box .btns.added .reset_btn {
    background: #aaa;
}
#upper_block .input_box .btns.added .box_close {
    position: absolute;
    right: 0;
    background: none;
    color: #000;
    padding: 0;
    font-size: 12px;
    justify-content: flex-end;
    margin: 0;
}
#upper_block .input_box .btns.added .box_close::after {
    content: '';
    width: 40px;
    height: 40px;
    display: block;
    background-color: #aaa;
    background-image: url(/shingaku/res/top/images/icon_close_w.svg);
    background-size: 80%;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 50%;
    margin-left: 5px
}
#upper_block .input_box .btns.added .submit_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35%;
}
#upper_block .input_box .btns.added .submit_btn::before {
    content: '';
    width: 20px;
    height: 20px;
    display: block;
    background-image: url(/shingaku/res/top/images/icon_search_w.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 50%;
    margin-right: 5px
}
/* #search_bloc --------------------------------------------*/
#search_block {
    width: 1024px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}
#search_block .search_box {
    margin: 0;
    width: 770px;
}
#search_block .search_box .tabs {
    margin: 0 auto;
    padding-left: 0;
    width: auto;
    font-size: 100%;
    /* overflow: hidden; */
    display: flex;
    justify-content: center;
}
#search_block .search_box .tabs li {
    display: block;
    margin: 0 0.5%;
    padding: 8px 0 6px;
    width: 23%;
    color: #fff;
    text-align: center;
    background: #1EA0EB;
    border: 3px solid #1EA0EB;
    border-radius: 7px 7px 0 0;
    box-sizing: border-box;
    list-style: none;
    cursor: pointer;
    font-size: 18px;
    letter-spacing: 0.2em;
}
#search_block .search_box .tabs li:first-child {
    /* margin-left: 3%; */
}
#search_block .search_box .tabs li.active {
    color: #1EA0EB;
    background: #E8F5FD;
    border-bottom: #E8F5FD;
    position: relative;
    z-index: 2;
}
#search_block .search_box .tabs li.active::after{
   content:'';
   display:block;
   position:absolute;
   bottom: -7px;
   left: 0px;
   width: calc(100% - 0px);
   height: 10px;
   background: #e8f5fd;
}



#search_block .search_box .tabs li:not(.active):hover {
    opacity: 0.8;
}
#search_block .tab_body {
    margin-top: 0;
    padding: 34px 20px 5px 35px;
    background: #E8F5FD;
    border: 3px solid #1EA0EB;
    border-radius: 9px;
    position: relative;
}
#search_block .search_body {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    height: 245px;
}
#search_block .search_body#search_s, #search_block .search_body#search_i {
    display: none;
}
#search_block .search_body h4, #search_block .btn a {
    margin-top: 0;
    margin-bottom: 010px;
    padding-bottom: 0;
    font-size: 18px;
    font-weight: 400;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    color: #000;
}
#search_block .search_body h4::before, #search_block .btn a::before {
    content: '';
    width: 20px;
    height: 20px;
    display: block;
    background: url(../images/icon_search.svg) no-repeat;
    background-size: contain;
    margin-right: 5px;
}
#search_block .name_box {
    width: 48%;
    margin-bottom: 8%;
    order: 1;
}
#search_block .name_box .input_box {
    text-align: center;
}
#search_block .name_box .input_box form {
    display: flex;
    justify-content: flex-start;
}
#search_block .name_box input {
    width: 80%;
    background: #fff;
    border: 2px solid #c5c5c5;
    border-radius: 3px;
    box-sizing: border-box;
    padding: 0.5em;
    margin-right: 0;
    border-right: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    -webkit-appearance: none;
}
#search_block .name_box input::placeholder {
    color: #999;
}
#search_block .name_box input:focus::placeholder {
    color: #000;
}
#search_block .name_box button {
    width: 20%;
    background: #333c48;
    color: #fff;
    border: none;
    border-radius: 3px;
    box-sizing: border-box;
    padding: 0.5em;
    margin-right: 10px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
#search_block .name_box button:hover {
    opacity: 0.8;
}
#search_block .name_box .btn {
    margin: 2em auto 0;
    padding-top: 2em;
    border-top: 2px solid #333c48;
}
#search_block .btn a {
    color: #000;
}
#search_block .name_box .btn a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
}
#search_block .name_box .btn a img {
    margin-right: 1em;
    vertical-align: middle;
}
#search_block .name_box > p {
    text-align: center;
    font-size: 4.5vw;
    font-weight: bold;
    margin-top: 2vw;
    line-height: 1.4;
}
#search_block .name_box > p span {
    color: red;
}
#search_block .area_box {
    order: 3;
    width: 46%;
}
#search_block .area_body {
    position: relative;
    background-size: contain;
}
#search_block .area_body img {
    width: 100%;
}
#search_block .area_body li {
    position: absolute;
    list-style: none;
    color: #fff;
    line-height: 1.2;
}
#search_block .area_body li.on, #search_block .area_body li:hover {
    color: #ffe050;
}
#search_block .area_body .label01 {
    top: 25px;
    right: 30px;
}
#search_block .area_body .label02 {
    top: 90px;
    right: 30px;
}
#search_block .area_body .label03 {
    top: 160px;
    right: 20px;
}
#search_block .area_body .label04 {
    top: 118px;
    right: 90px;
}
#search_block .area_body .label05 {
    top: 176px;
    right: 90px;
}
#search_block .area_body .label06 {
    top: 145px;
    left: 162px;
}
#search_block .area_body .label07 {
    top: 123px;
    left: 84px;
}
#search_block .area_body .label08 {
    top: 176px;
    left: 88px;
}
#search_block .area_body .label09 {
    top: 145px;
    left: 15px;
}
#search_block .area_map {
    margin: -30px auto 20px;
    width: 330px;
    height: 220px;
}
#search_block .area_map ul {
    position: relative;
    margin: 0 auto;
    padding-left: 0;
}
#search_block .area_map ul li {
    position: absolute;
    font-size: 100%;
    line-height: 1.2;
    list-style: none;
    box-sizing: border-box;
    border: 1px solid #e8f5fd;
    width: 18.75%;
    height: 24%;
    overflow: hidden;
}
#search_block .area_map ul li a {
    position: relative;
    display: block;
    height: 100%;
    color: #fff;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
    background: #93A9BA;
}
#search_block .area_map ul li a:hover {
    background: #005BAC;
}
#search_block .area_map ul li a span {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    height: 1em;
}
#search_block .area_map .all {
    padding-top: 220px;
    width: 100%;
    height: 0;
}
#search_block .area_map .all .item01 {
    top: 0;
    right: 0;
    width: 30%;
    height: 28%;
    border-radius: 5px;
}
#search_block .area_map .all .item02 {
    top: 30%;
    right: 0;
    width: 30%;
    height: 30%;
    width: 30%;
    height: 68px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
#search_block .area_map .all .item02 a span {
    padding-right: 1.2em;
    text-align: right;
}

#search_block .area_map .all .item03 {
    top: 50%;
    right: 18.75%;
    top: 110px;
    right: 63px;
    width: 60px;
    height: 51px;
    border: none;
}
#search_block .area_map .all .item04 {
    top: 61%;
    right: 0;
    height: 37%;
    width: 62px;
    border-bottom-right-radius: 5px;
}
#search_block .area_map .all .item04 > a > span{
    text-align:right;
    padding-right: 1.2em;
}
#search_block .area_map .all .item05 {
    top: auto;
    right: 18.75%;
    bottom: 5px;
}
#search_block .area_map .all .item06 {
    top: 50%;
    right: 37.5%;
    width: 18.5%;
    height: 48%;
    top: 109px;
    right: 124px;
    width: 61px;
    height: 106px;
    border-bottom-left-radius: 5px;
}
#search_block .area_map .all .item06 a span {
    padding-left: 0;
}
#search_block .area_map .all .item07 {
    width: 23.6%;
    top: 50%;
    left: 20.5%;
    height: 24%;
    top: 109px;
    left: 67px;
    width: 78px;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 7px;
}
#search_block .area_map .all .item08 {
    top: 75.5%;
    left: 20.5%;
    width: 22%;
    height: 22.5%;
    top: 166px;
    left: 67px;
    height: 49px;
    border-radius: 5px;
}
#search_block .area_map .all .item09 {
    top: 50%;
    left: 0;
    height: 48%;
    top: 109px;
    height: 106px;
    border-radius: 5px;
}
#search_block .area_map .all .item03 a span, #search_block .area_map .all .item09 a span {
    height: 2.4em;
}
#search_block .area_map .all .item10 {
    background: #e8f5fd;
    top: 73%;
    left: 20.0%;
    width: 24%;
    height: 25%;
}
#search_block .area_map .all .item11 {
    background: #e8f5fd;
    top: 49.6%;
    right: 18.5%;
    width: 18.5%;
    height: 24.5%;
    top: 108px;
    right: 61px;
    width: 62px;
    height: 52px;
}
#search_block .area_map .map_box {
    display: none;
    position: relative;
    padding-bottom: 100%;
    margin-top: 40px;
}
#search_block .area_map .map_box .btn_box {
    /* margin-bottom: 1em; */
    position: absolute;
    width: 100%;
    display: flex;
    justify-content: center;
    top: 0;
}
#search_block .area_map .map_box .return_btn {
    display: block;
    padding: 0 1.4em;
    height: 44px;
    color: #fff;
    font-size: 14px;
    line-height: 44px;
    text-decoration: none;
    background: #343c48;
    border: none;
    border-radius: 3px;
    margin: 0 2%;
}
#search_block .area_map .map_box .return_btn:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
}
#search_block .area_map .map_box .pref_btn {
    margin: 0 2%;
}
#search_block .area_map .map_box .pref_btn a {
    display: block;
    padding: 0 1em;
    height: 44px;
    color: #fff;
    font-size: 14px;
    line-height: 44px;
    text-decoration: none;
    background: #343c48;
    border: none;
    border-radius: 3px;
}
#search_block .area_map .map_box .pref_btn a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
}
#search_block .area_map #area01 .area, #search_block .area_map #area01s .area, #search_block .area_map #area01i .area, #search_block .area_map #area02 .area, #search_block .area_map #area02s .area, #search_block .area_map #area02i .area {
    padding-top: 40%;
    /* margin-top: 20%; */
    position: absolute;
    top: 20%;
}
#search_block .area_map #area03 .area, #search_block .area_map #area03s .area, #search_block .area_map #area03i .area {
    padding-top: 40%;
}
#search_block .area_map #area04 .area, #search_block .area_map #area04s .area, #search_block .area_map #area04i .area {
    padding-top: 50%;
}
#search_block .area_map #area05 .area, #search_block .area_map #area05s .area, #search_block .area_map #area05i .area {
    padding-top: 45%;
}
#search_block .area_map #area06 .area, #search_block .area_map #area06s .area, #search_block .area_map #area06i .area {
    padding-top: 42%;
}
#search_block .area_map #area07 .area, #search_block .area_map #area07s .area, #search_block .area_map #area07i .area {
    padding-top: 47%;
}
#search_block .area_map .area {
    width: 100%;
    height: 0;
    position: absolute;
    top: 16%;
}
#search_block .area_map .area .pref02 {
    top: 0;
    left: 15%;
    width: 70%;
    height: 25%;
}
#search_block .area_map .area .pref03 {
    top: 25%;
    left: 50%;
    width: 35%;
    height: 25%;
}
#search_block .area_map .area .pref04 {
    top: 50%;
    left: 50%;
    width: 35%;
    height: 25%;
}
#search_block .area_map .area .pref05 {
    top: 25%;
    left: 15%;
    width: 35%;
    height: 25%;
}
#search_block .area_map .area .pref06 {
    top: 50%;
    left: 15%;
    width: 35%;
    height: 25%;
}
#search_block .area_map .area .pref07 {
    top: 75%;
    left: 15%;
    width: 70%;
    height: 25%;
}
#search_block .area_map .area .pref08 {
    top: 0;
    left: 65%;
    width: 30%;
    height: 37.5%;
}
#search_block .area_map .area .pref09 {
    top: 0;
    left: 35%;
    width: 30%;
    height: 25%;
}
#search_block .area_map .area .pref10 {
    top: 0;
    left: 5%;
    width: 30%;
    height: 25%;
}
#search_block .area_map .area .pref11 {
    top: 25%;
    left: 30%;
    width: 35%;
    height: 25%;
}
#search_block .area_map .area .pref12 {
    top: 37.5%;
    left: 65%;
    width: 30%;
    height: 50%;
}
#search_block .area_map .area .pref13 {
    top: 50%;
    left: 30%;
    width: 35%;
    height: 25%;
}
#search_block .area_map .area .pref14 {
    top: 75%;
    left: 5%;
    width: 40%;
    height: 25%;
}
#search_block .area_map .area .pref19 {
    top: 25%;
    left: 5%;
    width: 25%;
    height: 50%;
}
#search_block .area_map .area .pref21 {
    top: 0;
    left: 35%;
    width: 30%;
    height: 50%;
}
#search_block .area_map .area .pref22 {
    top: 50%;
    left: 65%;
    width: 30%;
    height: 30%;
}
#search_block .area_map .area .pref23 {
    top: 50%;
    left: 35%;
    width: 30%;
    height: 30%;
}
#search_block .area_map .area .pref24 {
    top: 30%;
    left: 5%;
    width: 30%;
    height: 70%;
}
#search_block .area_map .area .pref15 {
    top: 0;
    left: 75%;
    width: 25%;
    height: 30%;
}
#search_block .area_map .area .pref16 {
    top: 0;
    left: 50%;
    width: 25%;
    height: 30%;
}
#search_block .area_map .area .pref17 {
    top: 0;
    left: 25%;
    width: 25%;
    height: 30%;
}
#search_block .area_map .area .pref18 {
    top: 0;
    left: 0%;
    width: 25%;
    height: 30%;
}
#search_block .area_map .area .pref20 {
    top: 30%;
    left: 55%;
    width: 40%;
    height: 50%;
}
#search_block .area_map .area .pref25 {
    top: 0;
    left: 65%;
    width: 30%;
    height: 35%;
}
#search_block .area_map .area .pref26 {
    top: 0;
    left: 35%;
    width: 30%;
    height: 35%;
}
#search_block .area_map .area .pref27 {
    top: 35%;
    left: 20%;
    width: 30%;
    height: 30%;
}
#search_block .area_map .area .pref28 {
    top: 0;
    left: 5%;
    width: 30%;
    height: 35%;
}
#search_block .area_map .area .pref29 {
    top: 35%;
    left: 50%;
    width: 30%;
    height: 30%;
}
#search_block .area_map .area .pref30 {
    top: 65%;
    left: 20%;
    width: 60%;
    height: 35%;
}
#search_block .area_map .area .pref31 {
    top: 0;
    left: 65%;
    width: 30%;
}
#search_block .area_map .area .pref32 {
    top: 0;
    left: 35%;
    width: 30%;
}
#search_block .area_map .area .pref33 {
    top: 24%;
    left: 65%;
    width: 30%;
}
#search_block .area_map .area .pref34 {
    top: 24%;
    left: 35%;
    width: 30%;
}
#search_block .area_map .area .pref35 {
    top: 0;
    left: 5%;
    width: 30%;
    height: 48%;
}
#search_block .area_map .area .pref36 {
    bottom: 24%;
    left: 65%;
    width: 30%;
}
#search_block .area_map .area .pref37 {
    bottom: 0%;
    left: 65%;
    width: 30%;
}
#search_block .area_map .area .pref38 {
    bottom: 24%;
    left: 35%;
    width: 30%;
}
#search_block .area_map .area .pref39 {
    bottom: 0%;
    left: 35%;
    width: 30%;
}
#search_block .area_map .area .pref40 {
    top: 0;
    left: 50%;
    width: 25%;
    height: 30%;
}
#search_block .area_map .area .pref41 {
    top: 0;
    left: 25%;
    width: 25%;
    height: 30%;
}
#search_block .area_map .area .pref42 {
    top: 0;
    left: 0;
    width: 25%;
    height: 30%;
}
#search_block .area_map .area .pref43 {
    top: 30%;
    left: 40%;
    width: 30%;
    height: 30%;
}
#search_block .area_map .area .pref44 {
    top: 0;
    left: 75%;
    width: 25%;
    height: 30%;
}
#search_block .area_map .area .pref45 {
    top: 30%;
    left: 70%;
    width: 30%;
    height: 30%;
}
#search_block .area_map .area .pref46 {
    top: 60%;
    left: 40%;
    width: 60%;
    height: 30%;
}
#search_block .area_map .area .pref47 {
    top: 70%;
    left: 0;
    width: 21.42857%;
    height: 30%;
}
#search_block div.btn {
    order: 2;
    width: 48%;
}
#search_block nav.btm_link {
    display: flex;
    flex-wrap: wrap;
    padding-right: 0;
    margin-top: 5px;
    padding-left: 14px;
    position: relative;
}
#search_block nav.btm_link::before {
    content: '';
    width: 20px;
    height: 20px;
    display: block;
    background: url(../images/icon_search.svg) no-repeat;
    background-size: contain;
    margin-right: 5px;
    position: absolute;
    top: 0;
    left: 0;
}
#search_block nav.btm_link a {
    color: #000;
    font-size: 13px;
    margin: 0 10px 4px;
}
#search_block div.pr_box h3 {
    margin: 0 0 0;
    text-align: left;
    font-weight: 600;
    font-size: 27px;
    letter-spacing: 0;
    line-height: 1;
    padding-bottom: 7px;
    border-bottom: solid 1px #ccc;
    margin-bottom: 0;
    color: #333;
}
#search_block div.pr_box iframe {
    margin-bottom: 10px;
    width: 210px;
    height: 300px;
}
.pr_box a.extrabnr {
    display: block;
    width: 210px;
}
.pr_box a.extrabnr:hover {
    opacity: 0.8;
}
.pr_box a.extrabnr img {
    width: 100%;
}
.pr_box a.studenthall {
    display: block;
    width: 210px;
    font-size: 11px;
    margin-top: 0;
}
.Browshistory {
    width: 1024px;
    margin: 50px auto 70px;
    display: none;
}
.Browshistory h5 {
    font-size: 16px;
    width: 100%;
    /* border-bottom: solid 1px #666; */
    margin: 0 0 10px 0px;
}
.Browshistory ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    /* margin-right: 2%; */
}
.Browshistory ul li.pamph_box {
    list-style: none;
    position: relative;
    width: 84px;
    height: 160px;
    margin: 0;
    margin-right: calc(184px / 9)
}
.Browshistory ul li.pamph_box:last-child {
    margin-right: 0
}
.Browshistory ul li.pamph_box a {
    text-decoration: none;
    display: block;
}
.Browshistory ul li a:hover {
    opacity: 0.7;
}
.Browshistory ul li.pamph_box img {
    border: solid 1px #ccc;
    max-height: 110px;
    max-width: 100%;
    width: 100%;
    height: 110px;
    margin: auto;
    display: block;
}
.Browshistory ul li.pamph_box p.school_name {
    position: relative;
    text-align: left;
    font-size: 12px;
    line-height: 1.4em;
    text-overflow: ellipsis;
    padding-left: 15px;
    text-indent: -15px;
    margin: 5px 0 0;
    width: 100%;
}
.school_name:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    position: absolute;
    top: 2px;
    left: 0;
}
.Browshistory ul li.pamph_box p.school_name span {
    position: relative;
    display: block;
    /* width: 5em; */
    height: 32px;
    overflow: hidden;
    text-indent: 0;
    margin: 0;
    color: #333;
    font-size: 11px;
}
.school_name.kbn1:before {
    background: url(../../../p/img/share/kbn02.png) center center no-repeat;
    background-size: contain;
}
.school_name.kbn2:before {
    background: url(../../../p/img/share/kbn03.png) center center no-repeat;
    background-size: contain;
}
.school_name.kbn3:before {
    background: url(../../../p/img/share/kbn01.png) center center no-repeat;
    background-size: contain;
}
.school_name.kbn21:before {
    background: url(../../../p/img/share/kbn21.png) center center no-repeat;
    background-size: contain;
}
.school_name.kbn22:before {
    background: url(../../../p/img/share/kbn22.png) center center no-repeat;
    background-size: contain;
}
.school_name.kbn23:before {
    background: url(../../../p/img/share/kbn23.png) center center no-repeat;
    background-size: contain;
}
.school_name.kbn24:before {
    background: url(../../../p/img/share/kbn24.png) center center no-repeat;
    background-size: contain;
}
.school_name.kbn25:before {
    background: url(../../../p/img/share/kbn25.png) center center no-repeat;
    background-size: contain;
}
.school_name.kbn27:before {
    background: url(../../../p/img/share/kbn27.png) center center no-repeat;
    background-size: contain;
}
.Browshistory ul li.pamph_box p.school_name span:before, .Browshistory ul li.pamph_box p.school_name span:after {
    background: #fff;
    position: absolute;
}
.Browshistory ul li.pamph_box p.school_name span:before {
    /* content: "…"; */
    width: 1.2em;
    font-size: 0.8em;
    bottom: 0;
    right: 0;
}
.Browshistory ul li.pamph_box p.school_name span:after {
    /* content: ""; */
    width: 100%;
    height: 100%;
}
/*#add_block------------------------------------------------------*/
#add_block {}
#add_block #bnr_mdl {
    width: 100%;
    display: none;
    height: 420px
}
#add_block #loading {
    width: 32px;
    height: 32px;
    display: block;
    margin: 120px auto 160px;
}
/*#rec_block------------------------------------------------------*/
#rec_block {
    overflow: hidden;
    width: 100%;
    padding-bottom: 0;
    height: 516px;
}
#rec_bnr {
    width: 100%;
    display: none;
    position: relative;
}
#rec_bnr > li, #rec_bnr .slick-track > li {
    width: 300px !important;
    /* padding: 2px!important; */
}
#rec_bnr > li a, #rec_bnr .slick-track > li a {
    display: block;
    padding: 2px;
}
#rec_bnr > li a, #rec_bnr .slick-track > li a:hover {
    opacity: 0.8;
}
#rec_bnr > li a img, #rec_bnr .slick-track > li a img {
    width: 100%;
}
#rec_block button.more_btn {
    display: none;
}
#rec_bnr span.custom_PA, #rec_bnr span.custom_NA {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70px;
    height: 70px;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 50%;
    position: absolute;
    top: calc(50% - 30px);
    z-index: 2;
}
#rec_bnr span.custom_PA:hover, #rec_bnr span.custom_NA:hover {
    opacity: 0.8;
}
#rec_bnr span.custom_PA {
    left: 10px;
}
#rec_bnr span.custom_NA {
    right: 10px;
}
#rec_bnr span.custom_PA::before, #rec_bnr span.custom_NA::before {
    content: '';
    width: 25px;
    height: 25px;
    display: block;
    border-bottom: solid 2px #fff;
    border-left: solid 2px #fff;
    transform: rotate(45deg);
    position: relative;
    right: -6px;
}
#rec_bnr span.custom_NA::before {
    left: -6px;
    transform: rotate(-135deg);
}
/*#news_block------------------------------------------------------*/
#news_block {
    width: 1024px;
    margin: 0 auto 80px;
}
#news_block h4 {
    margin: 0 0 20px;
    font-weight: 600;
    text-align: justify;
    line-height: 1.6
}
#news_block h4.alert {
    color: red;
    text-align: center;
}
#news_block h4.rapid_shipping span.kikan {
    color: red;
}
#news_block .oshirase {
    font-weight: 500;
}
#news_block a {
    font-weight: 400;
    color: #333;
}
#news_block a:hover {
    color: #00BCD4;
}
#news_block dl {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 1em;
    width: 100%;
    border-bottom: 1px solid #e5e5e5;
}
#news_block dt {
    padding: 0;
    margin: 0;
    width: 120px;
    font-weight: 400;
    color: #333;
}
#news_block dd {
    padding: 0;
    margin: 0;
    width: calc(100% - 120px);
    box-sizing: border-box;
    color: #333;
}
#news_block dd.toggle_title {
    text-decoration: underline;
    font-weight: 400;
    font-size: 14px;
    cursor: pointer;
}
#news_block dd.toggle_title::after {
    content: '';
    width: 14px;
    height: 14px;
    display: inline-block;
    background: url(/shingaku/res/top/images/icon_news_toggle.svg) no-repeat;
    background-size: contain;
    margin-left: 5px;
    vertical-align: -2px;
}
#news_block dd.toggle_title.open::after {
    transform: rotate(180deg);
}
#news_block dd.toggle_content {
    display: none;
    box-sizing: border-box;
    margin-left: 120px;
    padding-top: 10px;
    width: calc(100% - 140px);
    font-size: 13px;
    line-height: 1.5;
    text-align: justify;
}
/*#support_block------------------------------------------------------*/
#support_block {
    width: 100%;
    margin: 0 auto 0;
    display: flex;
    justify-content: center;
    background: #e8f5fd;
    padding-bottom: 40px;
}
#support_block > div {
    width: 500px;
}
#support_block #catalog_box {
    order: 1;
}
#support_block #catalog_box p {
    margin: 0 0 40px;
    display: block;
    text-align: justify;
    text-align: center;
}
#support_block #catalog_box nav {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    margin-top: 20px;
}
#support_block #catalog_box nav a {
    display: block;
    width: 32%;
    padding: 0;
    margin: 0 2%;
    text-decoration: none;
}
#support_block #catalog_box nav a:hover {
    opacity: 0.8;
}
#support_block #catalog_box nav a figure {
    margin: 0;
    display: block;
    padding: 0;
    position: relative;
}
#support_block #catalog_box nav a figure::before {
    content: '';
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(/shingaku/res/top/images/icon_dp.svg) no-repeat;
    background-size: contain;
    position: absolute;
    top: -20px;
    right: -10px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    white-space: pre;
    text-align: center;
}
#support_block #catalog_box nav a figure.allgrade::before {
    content: '全学年';
}
#support_block #catalog_box nav a figure.grade3o::before {
    content: '高3・\A高卒';
}
#support_block #catalog_box nav a figure.grade12::before {
    content: '高1・\A高2';
}
#support_block #catalog_box nav a figure.grade3::before {
    content: '高3';
}
#support_block #catalog_box nav a figure.grade2::before {
    content: '高2';
}
#support_block #catalog_box nav a figure.grade1::before {
    content: '高1';
}
#support_block #catalog_box nav a figure img {
    width: auto;
    max-width: 100%;
    height: 160px;
    display: block;
    margin: auto;
    border: solid 1px #ddd;
}
#support_block #catalog_box nav a figure figcaption {







    font-size: 12px;
    color: #000;
    text-decoration: none;
    margin-top: 10px;
    text-align: center;
}
#support_block #support_box {
    order: 2;
}
#support_block #support_box h4 {
    margin: 0 auto .6em;
    color: #000;
    font-size: 16px;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
}
#support_block #support_box h4::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 13.9px 8px 0 8px;
    border-color: #000000 transparent transparent transparent;
    display: block;
    margin-right: 5px;
    position: relative;
    top: 1px;
}
#support_block #support_box nav {
    background: #e8f5fd;
    padding: 0 60px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#support_block #support_box nav a {
    background: #fff;
    border: solid 1px #03A9F4;
    padding: 15px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: #03A9F4;
    font-size: 16px;
    font-weight: 400;
    margin: 6px 0;
}
#support_block #support_box nav a:hover {
    opacity: 0.8;
}
#support_block #support_box nav a.link_faq {
    padding: 13px 15px;
}
#support_block #support_box nav a.link_faq div {
    color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    line-height: 1;
}
#support_block #support_box nav a.link_faq div strong {
    font-size: 30px;
    display: inline-block;
    margin: 0 5px;
}
#support_block #support_box nav a.link_faq div strong.txt_q {
    color: #00a0e6;
}
#support_block #support_box nav a.link_faq div strong.txt_a {
    color: #d46b8e;
}
/*premium banar ---------------------------------*/
.ad_box {
    display: none;
}
@media screen and (max-width: 1024px) {
    /*main_bnr ------------------------------ */
    #bnr nav a {
        display: block;
        width: 90vw;
    }
}
@media screen and (max-width: 640px) {
    .sp{
        display:block;
    }
    .pc{
        display:none;
    }
    article.contents * {
        font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    }
    /*main_bnr ------------------------------ */
    article.contents section {
        margin-bottom: 8vw;
    }
    article.contents section h3 {
        font-size: 6vw;
        margin: 3vw 0;
    }
    #bnr {
        padding-bottom: 6vw;
        height: unset;
    }
    #bnr nav {
        margin: auto;
        height: 56vw;
        width: 100%;
    }
    #bnr nav a {
        display: block;
        width: 90vw;
    }
    #upper_block {
        width: 100%;
        padding: 0 2vw;
    }
    #upper_block h2#arart_text{
        text-align:center;
        color:#f00;
        font-size:4vw;
        position:relative;
        top:-4vw;
        margin:0
    }

    #upper_block h3 {
        font-size: 5.1vw;
        width: unset;
        justify-content: center;
    }
    #upper_block h3::before {
        width: 8vw;
        height: 8vw;
        margin-right: 2vw;
    }
    #upper_block .input_box, #upper_block .input_box.open {
        width: 100%;
    }
    #upper_block .input_box ul.input_boxes.added li {
        display: block;
        width: 49%;
        margin-right: 2%;
        margin-bottom: 2%;
    }
    #upper_block .input_box ul.input_boxes.added li:nth-child(even) {
        margin-right: 0;
    }
    #upper_block .input_box input {
        height: 12vw;
        font-size: 4vw;
        width: 100%;
        -webkit-appearance: none;
    }
    #upper_block .input_box input::placeholder {
        font-size: 4vw;
        -webkit-appearance: none;
    }
    #upper_block .input_box .btns button {
        height: 12vw;
    }
    #upper_block .input_box .btns button.sunmit_btn {
        width: 20vw;
    }
    #upper_block .input_box .btns button.add_btn {
        font-size: 3.4vw;
    }
    #upper_block .input_box .btns button.add_btn::before {
        height: 7vw;
        margin-bottom: 0.5vw;
    }
    #upper_block .input_box .btns.added {
        justify-content: flex-start;
    }
    #upper_block .input_box .btns.added .reset_btn {
        margin-left: 0;
        width: 35%;
    }
    /*#search_block-----------------------------------------------------------*/
    #search_block {
        width: 100%;
        margin: 0 auto 10vw;
    }
    #search_block .search_body {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        height: auto;
    }
    #search_block .search_box {
        width: 100%;
    }
    #search_block .tab_body {
        margin-top: -3px;
        padding: 7vw 4vw 8vw;
        border-left: none;
        border-right: none;
        border-bottom: none;
        border-radius: 0;
    }
    #search_block .search_box .tabs {
        justify-content: center;
    }
    #search_block .search_box .tabs li {
        margin-right: 2%;
        padding: 2vw 0 1vw;
        padding-bottom: calc(2vw - 3px);
        width: 30%;
        font-size: 4vw;
    }
    #search_block .search_box .tabs li:nth-child(2){
        letter-spacing:0;
    }
    #search_block .name_box button {
        margin-right: 0;
    }
    #search_block .name_box, #search_block .area_box, #search_block div.btn {
        width: 100%;
    }
    #search_block .area_box {
        order: 3;
    }
    #search_block div.btn {
        order: 2;
        margin-bottom: 8vw;
    }
    #search_block nav.btm_link, #search_block .pr_box {
        display: none;
    }
    #search_block .area_map .map_box {
        display: none;
        position: relative;
        padding-bottom: 60%;
        margin-top: 10vw;
    }
    #search_block .area_map .area {
        top: 30%;
    }
    #search_block .area_map #area01 .area, #search_block .area_map #area01s .area, #search_block .area_map #area01i .area, #search_block .area_map #area02 .area, #search_block .area_map #area02s .area, #search_block .area_map #area02i .area {
        top: 30%;
    }
    #search_block .area_map {
        margin: -30px auto 20px;
        width: 100%;
        height: auto;
    }
    #search_block .area_map .all {
        padding-top: 62vw;
        width: 100%;
        height: 0;
    }
    #search_block .area_map ul li {
        border: none;
    }
    #search_block .area_map .all .item01 {
        top: 0;
        right: 0;
        width: 27vw;
        height: calc(18vw - 2px);
        border-radius: 5px;
    }
    #search_block .area_map .all .item02 {
        top: 20vw;
        right: 0;
        width: 27vw;
        height: calc(20vw - 2px);
    }
    #search_block .area_map .all .item02 a span {
        padding-left: 0.8em;
    }
    #search_block .area_map .all .item03 {
        top: 30vw;
        right: 17vw;
        border: none;
        width: calc(17vw - 2px);
        height: calc(16vw - 2px);
        /* border: solid 1px #e8f5fd; */
        /* display: none; */
    }
    #search_block .area_map .all .item04 {
        top: calc(40vw + 0px);
        /* bottom: 0; */
        right: 0;
        height: calc(22vw - 0px);
        width: calc(17vw - 2px);
    }
    #search_block .area_map .all .item05 {
        top: 46vw;
        right: 17vw;
        bottom: 0;
        height: 16vw;
        width: calc(17vw - 2px);
    }
    #search_block .area_map .all .item06 {
        top: 30vw;
        right: 34vw;
        width: calc(17vw - 2px);
        height: 32vw;
    }
    #search_block .area_map .all .item06 a span {
        padding-left: 0;
    }
    #search_block .area_map .all .item07 {
        width: 21vw;
        top: 30vw;
        left: unset;
        right: 51vw;

        height: calc(16vw - 2px);
    }
    #search_block .area_map .all .item08 {
        top: unset;
        bottom: 0;
        left: unset;
        right: 53vw;
        width: 19vw;
        height: 14vw;
    }
    #search_block .area_map .all .item09 {
        top: 30vw;
        left: unset;
        right: calc(74vw + 2px);
        height: 32vw;
        width: calc(18vw - 2px);
    }
    #search_block .area_map .all .item03 a span, #search_block .area_map .all .item09 a span {
        height: 2.4em;
    }
    #search_block .area_map .all .item10 {
        background: #e8f5fd;
        top: 46vw;
        left: unset;
        right: 51vw;
        width: 23vw;
        height: 16vw;
    }
    #search_block .area_map .all .item11 {
        background: #e8f5fd;
        top: calc(30vw - 2px);
        right: calc(17vw - 2px);
        border: none;
        width: calc(17vw + 2px);
        height: calc(16vw + 2px);
        /* border: solid 2px #e8f5fd; */
    }
    /*#add_block------------------------------------------------------*/
    #add_block {}
    #add_block #bnr_mdl {
        width: 100%;
        display: block;
        margin-bottom: 4vw;
        height: auto;
    }
    #add_block #bnr_mdl iframe {
        width: 100vw;
        height: 20vw;
    }
    .Browshistory {
        width: 100%;
        padding: 6vw 3vw 0;
        overflow: hidden;
        margin: 0;
    }
    .Browshistory h5 {
        font-size: 4vw;
        width: 100%;
        border-bottom: none;
        margin: 0 0 2vw;
    }
    .Browshistory ul {
        display: block;
        width: 86vw;
        margin: auto;
        position: relative;
    }
    .Browshistory ul span.custom_PA {
        position: absolute;
        width: 10vw;
        height: 10vw;
        left: -8vw;
        top: calc(50% - 5vw);
        background: none;
        z-index: 10;
    }
    .Browshistory ul span.custom_PA::before {
        margin-top: 10px;
        display: block;
        width: 5vw;
        height: 5vw;
        border-top: 5px solid #343c48;
        border-left: 5px solid #343c48;
        content: "";
        transform: rotate(-45deg);
        position: relative;
        left: 5vw;
    }
    .Browshistory ul span.custom_NA {
        position: absolute;
        width: 10vw;
        height: 10vw;
        right: -8vw;
        top: calc(50% - 5vw);
        background: none;
        z-index: 10
    }
    .Browshistory ul span.custom_NA::before {
        margin-top: 10px;
        display: block;
        width: 5vw;
        height: 5vw;
        border-top: 5px solid #343c48;
        border-left: 5px solid #343c48;
        content: "";
        transform: rotate(135deg);
    }
    .Browshistory ul li.pamph_box {
        width: calc(76vw / 3);
        padding: 0;
        height: auto;
        margin: 0 2vw;
    }
    .Browshistory ul li.pamph_box a {
        text-decoration: none;
        display: block;
        flex-wrap: wrap;
        justify-content: center;
    }
    .Browshistory ul li.pamph_box a img {
        max-width: unset;
        max-height: unset;
        max-height: 30vw;
        max-width: 100%;
        height: 100%;
        width: auto;
        margin: auto;
    }
    #rec_block {
        width: 100%;
        padding-bottom: 0;
        margin-bottom: 16vw;
        height: unset;
    }
    #rec_bnr {
        width: 100%;
        height: auto;
        overflow: auto;
    }
    #rec_bnr li {
        width: 100% !important;
        display: flex;
        flex-wrap: wrap;
    }
    #rec_bnr li a {
        width: 50%;
        padding: 1px;
    }
    #rec_bnr > li a, #rec_bnr .slick-track > li a:hover {
        opacity: 1;
    }
    #rec_bnr a img {
        width: 100%;
    }
    #rec_bnr li:nth-child(n + 5) {
        display: none
    }
    #rec_block button.more_btn {
        display: block;
        width: 70%;
        margin: auto;
        background: #fff;
        border: solid 1px #ccc;
        padding: 1vw;
        border-radius: 10vw;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 4vw;
    }
    #rec_block button.more_btn span {
        font-size: 4vw;
    }
    /*#news_block------------------------------------------------------*/
    #news_block {
        width: 100%;
        margin: 0 auto 10vw;
        padding: 0 5vw;
    }
    #news_block h4 {
        font-size: 3.4vw;
        margin: 0;
        padding: 3vw 0;
        border-bottom: solid 1px #e5e5e5;
        text-align: justify;
    }
    #news_block h4.alert {
        text-align: justify;
        font-size: 3vw;
    }
    #news_block dt {
        padding: 0;
        margin: 0 0 1vw;
        width: 100%;
        font-size: 3vw;
    }
    #news_block dd {
        padding: 0;
        margin: 0;
        width: 100%;
        font-size: 3vw;
    }
    #news_block dd a {
        font-size: 3vw;
    }
    #news_block dd.toggle_title {
        font-size: 3vw;
        cursor: pointer;
        padding-left: 0;
        position: relative;
    }
    #news_block dd.toggle_content {
        display: none;
        box-sizing: border-box;
        margin-left: 0;
        padding-top: 10px;
        width: 100%;
        font-size: 3vw;
        line-height: 1.5;
        text-align: justify;
    }
    /*#support_block------------------------------------------------------*/
    #support_block {
        width: 100%;
        margin: 0 auto 0;
        flex-wrap: wrap;
        padding-top: 4vw;
    }
    #support_block > div {
        width: 100%;
        margin-bottom: 10vw;
    }
    #support_block #catalog_box {
        order: 2;
        padding: 0;
    }
    #support_block #catalog_box p {
        margin: 0 0 12vw;
        padding: 0 3vw;
        font-size: 2.8vw;
        line-height: 1.6;

    }
    #support_block #catalog_box nav {
        margin-top: 0;
    }
    #support_block #catalog_box nav a figure::before {
        content: '';
        width: 13vw;
        height: 13vw;
        top: -6vw;
        right: -2vw;
        font-size: 2.8vw;
    }
    #support_block #catalog_box nav a figure img {
        height: 36vw;
    }
    #support_block #catalog_box nav a figure figcaption {
        font-size: 3vw;
        margin-top: 2vw;
        text-align: left;
    }
    #support_block #support_box {
        order: 1;
        margin-bottom: 8vw;
    }
    #support_block #support_box h4 {
        font-size: 4vw;
        margin-bottom: 0;
    }
    #support_block #support_box h4::before {
        border-width: 3.5vw 2vw 0 2vw;
    }
    #support_block #support_box nav {
        padding: 0 10vw;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    #support_block #support_box nav a {
        padding: 3vw;
        width: 100%;
        font-size: 4vw;
        font-weight: 400;
        margin: 1.5vw 0;
    }
    #support_block #support_box nav a:hover {
        opacity: 1;
    }
    #support_block #support_box nav a.link_faq {
        padding: 3vw;
    }
    #support_block #support_box nav a.link_faq div {
        font-size: 4vw;
    }
    #support_block #support_box nav a.link_faq div strong {
        font-size: 6vw;
        margin: 0 5px;
    }
    /*premium banar ---------------------------------*/
    .ad_box {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background: #f2f2f2;
        width: 100%;
        height: 15.7vw;
        z-index: 10;
    }
    .ad_box .ad_close {
        position: absolute;
        top: -3vw;
        right: 0;
        margin: 0;
        width: 6vw;
        height: 6vw;
        background: #000;
        border-radius: 50%;
    }
    .ad_box .ad_close::before, .ad_box .ad_close::after {
        content: '';
        background: #fff;
        width: 4vw;
        height: 0.6vw;
        display: block;
        position: absolute;
        top: calc(50% - 0.4vw);
        left: calc(50% - 2vw);
    }
    .ad_box .ad_close::before {
        transform: rotate(45deg);
    }
    .ad_box .ad_close::after {
        transform: rotate(-45deg);
    }
    .ad_box .ad_close span {
        display: block;
        width: 1.2em;
        height: 1.2em;
        color: #fff;
        text-align: center;
        background: #000;
        border-radius: 1em
    }
    .ad_box iframe {
        margin: 0 auto;
        width: 100%;
        height: 15.7vw;
        overflow: hidden;
    }
    /*toppage only*/
    footer {
        padding-bottom: 16vw;
    }
    .pagetop {
        bottom: 25vw;

    }
} /*@media screen and (max-width: 640px) */