﻿@import url('https://fonts.googleapis.com/css2?family=Zen+Antique&display=swap');
@import url("https://use.typekit.net/urt0hhi.css");
.hannari {
    font-family: 'Zen Antique', serif;
}
#cms_3-a .cate .cate_box:last-of-type {
    border-bottom: 1px dotted;border-color: #a8d7ff;
}
.en_font {
font-family: liana,script;
font-weight: 400;
font-style: normal;
letter-spacing: 0;
}
.marker {
    background: linear-gradient(transparent 50%, rgba(201, 235, 255, 1) 0%) 0px 0px repeat scroll rgba(0, 0, 0, 0);
}
.cms_title p {
    font-family: liana,script;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 3px;
    font-size: 32px;
    position: absolute;
    top: -23px;
    left: 0;
    right: 0;
    margin: auto;
}
.back1:before, .back2:before {
    background-color: rgba(255, 255, 255, 0.28)!important;
}
.back1:after {
    content: "";
    display: block;
    background: url(Dup/img/all_bg_2.jpg) no-repeat;
    background-size: 100% auto;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    z-index: -1;
    opacity: 0.2;
}
.white {
     text-shadow: 1px 1px 1px #ffffff, -1px 1px 1px #ffffff, 1px -1px 1px #ffffff,
 -1px -1px 1px #ffffff, 1px 0px 1px #ffffff, 0px 1px 1px #ffffff, -1px 0px 1px #ffffff,
 0px -1px 1px #ffffff;
 }
header.scr_header {
    /* background-color: rgba(5, 45, 183, 0.85)!important; */
    background-color: rgb(70 144 255 / 79%)!important;
    background-image: url(Dup/img/kirakira.png);
    background-size: 310px;
}
main {
    overflow: hidden;
}
.nav_menu_more:first-of-type a .icon:before {
    content: "\f086";
}
.num {
    max-width: 145px;
}
.check li {
    background: url(Dup/img/icon_check.png);
    background-repeat: no-repeat;
    background-position: 0 5px;
    background-size: 28px;
    padding: 5px 5px 5px 38px;
    font-size: 16px;
}
/*main {*/
/*    background: url(Dup/img/frame_t.png), url(Dup/img/frame_b.png);*/
/*    background-size: 100% auto;*/
/*    background-repeat: no-repeat;*/
/*    background-position: 0 0, 0 100%;*/
   
/*}*/
#contents1 .con_img_wrap, #contents2 .con_img_wrap {
    position: relative;
}
/*#contents1 .con_img_wrap::before {*/
/*    content: "";*/
/*    background-color: #cfe9ff;*/
/*    position: absolute;*/
/*    top: 6px;*/
/*    left: 6px;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    z-index: -1;*/
/*}*/
/*#contents2 .con_img_wrap::before {*/
/*    content: "";*/
/*    background-color: #cfe9ff;*/
/*    position: absolute;*/
/*    top: 6px;*/
/*    left: 6px;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    z-index: -1;*/
/*}*/
.catch {
    /*background: rgba(255, 255, 255, 0.35);*/
    font-size: 24px;
    padding: 20px 10px;
    color: #07439c;
    margin-top: 36px;margin: 0 auto 20px;
}
.catch img {
    max-width: 816px;
    width: 85%;
}
.catch span {
    font-size: 29px;
}
#page9 a.more {
    background-color: #2e4ec3;
}
.top_cms_box, #info_contact {
    position: relative;
}
.top_cms_box:nth-child(1):before {
    background-image: url(Dup/img/kazari.png);
    content: "";
    display: block;
    position: absolute;
    top: -35px;
    right: 0px;
    width: 100%;
    height: 36px;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: 1;
}

.intro_title {
    /*background: url(Dup/img/line.png);*/
    background-size: 570px;
    background-repeat: no-repeat;
    background-position: 50% 100%;
    padding-bottom: 44px;
       
    background-size: 570px;
    background-repeat: no-repeat;
    background-position: 50% 100%;
    padding-bottom: 3px;
}
.banner a {
    background: url(Dup/img/bg_rapi.jpg);
    background-size: 504px;
    padding: 17px 5px;
    color: #fff;
    text-align: center;
    margin-top: 29px;
    font-weight: bold;
    text-shadow: 0px 1px 7px #04028d;
    border: 3px solid #0508cd;
    font-size: 15px;
}
.view {
    bottom: 26%;
    left: 0;
    right: 0;
    margin: auto;
    display: inline-block;
    border: 1px solid #fff;
    border-radius: 25px;
    color: #fff;
    padding: 7px;
    width: inherit;
    width: 100px;
    text-align: center;
    z-index: 1;
}


#contents3 .con_title {
    /*background: url(Dup/img/line2.png);*/
    background-size: 510px;
    background-repeat: no-repeat;
    background-position: 50% 100%;
    padding-bottom: 0;
}
#info_contact_wrap .con_wrap .con_title {
    background-image: url(Dup/img/line3.png);
    background-size: 104px;
    background-repeat: no-repeat;
    background-position: 50% 100%;
    padding-bottom: 62px;
}
#info_contact_wrap .con_wrap .con_box:nth-child(2) .con_title {
    background-image: url(Dup/img/line4.png);
    background-size: 104px;
    background-repeat: no-repeat;
    background-position: 50% 100%;
    padding-bottom: 62px;
}
#intro .line:before, #contents3 .line:before {
    display: none;
}
#logo2 a {
    max-width: 250px;
}
#page_title .page_title_box {
    background: url(Dup/img/page_title.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    padding: 75px 5px;
    min-width: 300px;
}

#contents2 .con_img:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0px;
    right: 12px;
    width: 87px;
    height: 88px;
    background-image: url(Dup/img/kazari_w1.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1;
}
.portrait_img:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 89px;
    height: 131px;
    background-image: url(Dup/img/kazari_w2.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1;
}


#contents1 .con_img::after, #contents2 .con_img::after {
    position: absolute;
    content: '';
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border: 1px solid #ffffff;
}

.more_btn {
    background-color: rgba(217, 212, 255, 0.34);
}
.cms_title {
    text-align: center;
    padding-top: 34px;
    padding-left: 0;
    position: relative;
}
footer {
    background-image: url(Dup/img/kazari3_w.png), url(Dup/img/kazari3_w.png), url(Dup/img/kazari3_w.png);
    background-position: 94% 84%, 90% 76%, 5% 9%;
    background-repeat: no-repeat;
    background-size: 33px, 30px, 20px;
}
.top_cms_box {
    background-image: url(Dup/img/kazari1.png), url(Dup/img/kazari2.png);
    background-size: 102px, 86px;
    background-repeat: no-repeat;
    background-position: 3.5% 87%, 95% 14%;
}

.top_cms_box:nth-child(odd) {
    background-image: url(Dup/img/kazari2.png), url(Dup/img/kazari1.png);
    background-size: 102px, 86px;
    background-repeat: no-repeat;
    background-position: 7.5% 74%, 95% 14%;
}

.line-l:before {
    display: none;
}



	#cms_2-a .cate_title, #cms_2-c .cate_title {
    position: relative;
    padding: .1em .3em .1em .5em;
    border-left: 6px solid #1c00b7;
    border-top: 0;
    display: block;
    border-bottom: 0;
}
#cms_2-a .cate_title::before, #cms_3-c .cate_title::before {
    position: absolute;
    content: '';
    left: -6px;
    bottom: 0;
    width: 6px;
    height: 50%;
    background-color: #aec2f9;
    background: url(Dup/img/page_title.png);
    background-size: 211px;
    background-position: 50% 100%;
}
	#cms_2-a .cate_title::after, #cms_2-c .cate_title::after {
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    border-bottom: 1px solid #aec2f9;
}

#cms_3-a .cate {
    background: #fbfbff;
    padding: 20px;
    /* border-radius: 6px; */
    margin-bottom: 0;
    border: dotted 1px #c8c7ff;
    margin-top: 50px;
}
/*#cms_3-a .cate_wrap {*/
/*    padding-top: 92px;*/
/*    margin-top: -90px;*/
/*}*/
@media(max-width: 667px) {
    #page2 .con_box,  #page3 .con_box,  #page4 .con_box,  #page5 .con_box,  #page6 .con_box {
        padding: 0;
    }
/* #cms_3-a .cate, #cms_2-a .cate_box {*/
/*    padding: 10px;*/
/*}   */
}

.cms_3-a .cate {
    width: 32%!important;
}
.cms_3-a a {
    position: relative;
    display: block;
}
.cms_3-a .cate .cate_img1 img {
    transition: all 0.5s;transform: scale(1) translate(-50%, -50%);
}
.cms_3-a .cate a:hover .cate_img1 img {
transform: scale(1.1) translate(-45%, -45%);
}
.cms_3-a figure:before {
    content: "";
    display: block;
    position: absolute;
    background: rgba(0, 13, 60, 0.49);
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: all 0.5s;
}
.cms_3-a .cate_title {
    position: absolute;
    z-index: 2;
    width: 100%;
    margin-top: -19px;
    padding: 0 5px;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transition: all 0.3s;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
}
.rectangle2_img {
        position: relative;
    overflow: hidden;
}
@media(max-width: 667px) {
    .cms_3-a .cate {
        margin-bottom: 0;
    }
}
















@media(max-width: 768px) {
    main > .back1:after {
    background-position: 50% 50%;
    width: 184%;
    height: 100%;
    top: 0;
    z-index: -1;
    opacity: 0.5;
}
    .catch {
    padding: 20px 10px;
    margin: 0 auto 3px;
}
.catch img {
    max-width: 816px;
    width: 56%;
}
    .view {
    bottom: 21%;
    border: 1px solid #fff;
    padding: 0px;
    width: 90px;
    font-size: 9px;
}
#intro_wrap {
    background-size: 45px, 52px, 146px;
    background-position: 0% 14%, 100% 1%, 98% 97%;
}
#contents1 .con_box {
    margin-top: -1%;
    padding-top: 20%;
    padding-bottom: 7%;
    background-size: 75px, 67px, 160px;
    background-position: 24.5% 1%, 100% 100%, 100% 0;
}
#contents2 .con_box {
    margin-top: 15%;
    margin-top: 8%;
    padding-top: 8%;
    padding-bottom: 4%;
    background-size: 63px, 0px, 101px;
    background-position: 100% 100%, 82% 0, 100% 0%;
}
#contents3 .con_box {
    background-size: 60px, 63px;
    background-position: 0.5% 97%, 98% 10%;
}
.top_cms_box {
    background-size: 59px, 57px;
    background-position: 3.5% 85%, 95% 14%;
}
.top_cms_box:nth-child(odd) {
    background-size: 57px, 65px;
    background-position: 3.5% 78%, 97% 9%;
}
}




@media(max-width: 667px) {
    #cms_3-a .cate {
    padding: 10px;
}
    .catch {
        padding: 0 10px 20px 10px;
    }
    .catch img {
    width: 99%;
}
    .top_cms_box:before {
    top: -9px;
    height: 10px;
}
    .top_cms_box:first-of-type {
    padding-top: 31px;
}
#intro_wrap {
    background-size: 0,0,120px;
    background-position: 0% 0%, 0 0, 50% 5px;
    padding-top: 89px;
}
    .num {
    max-width: 89px;
}
    .catch {
    font-size: 3.3vw;
}
.catch span {
    font-size: 22px;
}
#page_title .page_title_box {
    padding: 38px 5px;
}
    #logo2 a {
    max-width: 170px;
}
.intro_title {
    background-size: 300px;
}
#contents2 .con_box {
    margin-top: 15%;
    margin-top: 0%;
    padding-top: 5%;
    padding-bottom: 32%;
    background-size: 46px, 47px, 109px;
    background-position: 57% 100%, 0% 0%, 100% 100%;
}
#contents3 .con_title {
    background-size: 300px;padding-bottom: 28px;
}
#contents1 .con_box {
    margin-top: -4%;
    padding-top: 6%;
    padding-bottom: 19%;
    background-size: 45px, 47px, 125px;
    background-position: 100% 9%, 3% 100%, 100% 100%;
}
#contents3 .con_box {
    background-size: 60px, 44px;
    background-position: 0.5% 97%, 100% 79%;
}
.cms_3-a .cate {
    width: 100%!important;
}
#info_contact_wrap .con_wrap .con_box:nth-child(2) .con_title {
    background-size: 77px;
    padding-bottom: 51px;padding-top: 10px;
}
#info_contact_wrap .con_wrap .con_title {
     background-size: 77px;
    padding-bottom: 51px;padding-top: 10px;
}
.top_cms_box {
    background-size: 48px, 46px;
    background-position: 0.5% 80%, 95% 14%;
}
footer h2.font_26 {
    font-size: 17px;
}
footer {
    background-position: 95% 83%, 91% 78%, 5% 9%;
    background-size: 16px, 12px, 17px;
}
}













/* Bnr
-----------------------------------------*/
.Bnr{
  position: fixed;
  width: 400px;
    bottom: 13px;
    left: 22px;
    z-index: 9;

}

.sns_links li {
    width: 40px;
}
#copyright {
    padding-bottom: 90px;
}
@media (max-width: 768px) {
.Bnr {
    width: 295px;
}
}
@media (max-width: 667px) {
.Bnr {
    width: 214px;
    left: 10px;
}

}










@media all and (-ms-high-contrast: none) {
#top_pc_nav li a, #footer_nav li a {
    background-size: 17px;
    background-position: 0 24%;
}
#pc_nav li a {
     background-size: 17px;
    background-position: 0 0%;
}
#cms_3-a .cate {
    border-radius: 0;
}
}