﻿@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Sacramento&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&display=swap');
html {
    font-size: 105%;
}
.overlay .overlay-nav .en, #intro h2, .top_title h2, .patrima, .more .more_item, .cms_title p, #intro .con_title.liana, .kazari_en, .overlay .overlay-nav .bottom li, .overlay .overlay-nav .middle .jp {
letter-spacing: 2px;
    font-family: 'Sacramento', cursive;
    font-family: 'Cinzel Decorative', cursive;
}
.con_txt, .intro_title, .modal_title2, .cms_title h3, #intro .con_title, #contents .con_title, .intro_title, #page_title .en,.link_type1 .link_top .link_title, #pc_nav li a, .cate_title, .box_txt1, .box_title, #page10 .con_box ul li a, .box_title1, .overlay .overlay-nav .top .en, .overlay .overlay-nav .en, .modal_title1 {
font-family: 'Kiwi Maru', serif;
font-weight: normal;
}
.overlay .overlay-nav .top .jp {
    font-size: 20px;
    font-family: 'Sacramento', cursive;
    line-height: 1.3;
    font-family: 'Cinzel Decorative', cursive;
}
#pc_nav li:last-child a {
    border: 1px solid;
    padding: 0px 10px;
}
.modal-box .inner{
    scrollbar-width: none; 
}
figure.shadow {
    box-shadow: none;
}
.overlay .overlay-nav .middle .jp {
    font-size: 12px;
}
.overlay {
    background-color: rgba(179, 94, 94, 0.50)!important;
}

footer .contact_bt {
    display: none;
}
/* Bnr
-----------------------------------------*/
.Bnr{
display: none;
  position: fixed;

  width: 400px;
    bottom: 13px;
    right: 22px;
    /*box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.08), 0 1px 10px 0 rgba(0, 0, 0, 0.06), 0 2px 4px -1px rgba(0, 0, 0, 0.07);*/
    z-index: 9;

}
.Bnr .Bnr__img {
    

}

.Bnr .Bnr__img__inner a {
    color: #22663f;
    display: inline-block;
    letter-spacing: 2px;
    transition: ease 0.3s;
    display: block;
    text-align: center;
}
.Bnr .Bnr__img p.close{
  position: absolute;
  right: 10px;
  top: 4px;z-index: 12;
}
.Bnr .Bnr__img p.close a{
  display: block;
  width: 20px;
  height: 25px;
  text-align: center;
}
.Bnr .Bnr__img p.close a span{
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.Bnr .Bnr__img p.close a i {
    font-size: 17px;
    z-index: 888;
    color: #6a6a6a;
}

@media (max-width: 667px) {
.Bnr {
    width: inherit;
    right: 10px;
}
.Bnr .Bnr__img {
    bottom: 10px;
    right: 13px;
}
.Bnr__img__inner {
    width: 243px;
}
.Bnr .Bnr__img p.close {
    right: 3px;
}
}












#wrap {
    position: relative;
}

#pc_nav li:first-child:before {
    content: "";
    display: block;
    left: -42px;
    top: -17px;
    height: 59px;
    background-image: url(../Dup/img/png2.png);
    background-repeat: no-repeat;
    background-position: 0% 50%;
    background-size: contain;
    position: absolute;
    width: 49px;
}
.catch:before {
    content: "";
    display: block;
    right: 21%;
    top: 4%;
    height: 37%;
    background-image: url(../Dup/img/png1.png);
    background-repeat: no-repeat;
    background-position: 0% 50%;
    background-size: contain;
    position: absolute;
    width: 13%;
    animation: 10s ease 1.6s 1 normal none running rotate;
    animation-iteration-count: infinite;
}

.logo_b {
    opacity: 1;
    position: absolute;
    left: 35px;
    border-radius: 12px;
}
.scr_header .logo_b {
    opacity: 0;
}
.logo_nomal {
    opacity: 0;
}
.scr_header .logo_nomal {
    opacity: 1;
}
/*#pc_nav li {*/
/*    position: relative;padding-left: 25px;*/
/*}*/
/*#pc_nav li:nth-child(n+2):before {*/
/*    content: "*";*/
/*    display: block;*/
/*    position: absolute;*/
/*    top: -1px;*/
/*    left: 2px;*/
/*    font-size: 18px;*/
/*    color: #fff;*/
/*}*/
.top_cms_box {
    position: relative;
}
.top_cms_box:before {
    content: "";
    display: block;
    border-bottom: 3px dashed #fff;
    position: absolute;
    top: -16px;
    left: 0;
    width: 100%;
}
.cms_title p {
    font-size: 28px;
    font-weight: bold;
}

#intro .con_title, #contents .con_title, .intro_title {
    font-size: 36px;
    margin-bottom: 10px;
    text-align: left;
}
#contents .con_title, .intro_title {
    padding-bottom: 6px;
    background-image: url(Dup/img/deco2.png);
    background-repeat: no-repeat;
    background-size: 190px auto;
    background-position: 0% 90%;
    padding-bottom: 44px;
}
#intro .con_title, .kazari_en {
    font-size: 46px;
    text-align: left;
    line-height: 1;
    color: #cdbcdb;
}
.catch {
    width: 46%;
    left: 70%;
}

#contents_wrap {
    background-image: url(Dup/img/pearl2.png);
    background-repeat: no-repeat;
    background-size: 26% auto;
    background-position: 0 -13px;
}

.blur {
    position: relative;
}
#top_cms_wrap {
    background-image: url(Dup/img/pearl.png), url(Dup/img/pearl3.png);
    background-repeat: no-repeat;
    background-size: 25% auto, 28% auto;
    background-position: 100% 0, left 0% bottom -2px;
}
#footer_nav {
    position: absolute;
    bottom: 0;
    width: 100%;
}
.cms_title {
    text-align: center;
    position: relative;
    margin-bottom: 65px;
}
.cms_title:before {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background: #9966c3;
    bottom: -10px;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    transition: all 1.2s;
    transition-delay: 0.3s;
}
.cms_title.active:before {
width: 60px;    
}
.cms_title svg {
    position: absolute;
    bottom: -13px;
    left: 0;
    right: 0;
    margin: auto;
    width: 74px;
}
.cms_title h3 {
    font-size: 44px;
    padding-bottom: 6px;
    background: url(Dup/img/deco2.png);
    background-repeat: no-repeat;
    background-size: 176px auto;
    background-position: 50% 85%;
    padding-bottom: 49px;
}

/* -----------HEADER ------------------*/
#header {
    padding-top: 17px;
    padding-bottom: 17px;
    background: rgba(255,255,255,0);
    transition: all 0.5s;
}
header.scr_header {
    border: 0;
}
.scr_header #header {
    background: rgba(255,255,255,1);
}
#header:before {
    content: "";
    display: block;
    width: 100%;
    height: 19px;
    position: absolute;
    bottom: -18.8px;
    background-image: url(Dup/img/wave.png);
    background-repeat: repeat-x;
    background-size: auto 100%;
    background-position: 16% 0;
    left: 0;
    transition: all 0.5s;
    opacity: 0;
}


.scr_header #header:before {
    opacity: 1;
}
.logo_w {
    opacity: 1;
    position: absolute;
    left: 35px;
}
.scr_header .logo_w {
    opacity: 0;
}
.logo_nomal {
    opacity: 0;
}
.scr_header .logo_nomal {
    opacity: 1;
}
#pc_nav li a {
    font-size: 18px;
    color: #fff;
    letter-spacing: 0px;
}
.scr_header #pc_nav li a {
    color: #212121;
}
.menu-trigger-bar {
   background-color: #fff; 
}
.scr_header .menu-trigger-bar {
   background-color: #212121; 
}
.scr_header #pc_nav li:nth-child(n+2):before {
    color: #212121;
}
.menu-trigger {
    top: 67%;
}
.close-trigger {
    top: 74%;
}
.menu-trigger-bar {
    height: 2px;
}
.close-trigger-bar {
    height: 2px;
}


body {
    line-height: 1.7;
}
#main_img .scr, #page_title_img .scr {
    color: #fff;
}
.intro_title {
color: #212121; 
}
#intro .con_title {
    font-size: 64px;
    line-height: 1;
}
#intro .con_title/*, #contents .con_title*/ {
    color: #d1a701;
}
#logo {
    padding-left: 25px;
}

.cate_list li a {
    background: #ffffff;
    color: #eb75d1;
    border: 2px solid #eb75d1;
    border-radius: 14px;
}
.cate_list li a:hover {
background-color:#eb75d1;
color: #fff;
}
/**/

.top_title h2 > span {
   padding-top: 0;
}
.top_title h2 > span:before {
    width: 58px;
    height: 2px;
    position: absolute;
    top: 57%;
    left: -83px;
}
.top_title .rotate_txt span {
     transform: inherit; 
     display: inline-block;
}
.top_title h2 {
    top: auto;
    bottom: -15px;
    color: #fff;
}
.top_title h2.left {
    left: 94px;
}
.top_title .left > span:before {
    left: -67px;
}
#page10 .con_box ul {
    border-color: #9966c3;
}
/* --------------end ------------*/
#cms_1-a .date {
    width: 116px;
    background: #c79926;
    border-radius: 4px;
    color: #fff;
    border: 0;
    padding: 4px;
}
.cms_1-a figure {
    border-radius: 14px;
}
.cms_3-d .border_rad10 {
    border: 2px solid #d3bb7d;
}
.top_cms_box {
    /*background: rgba(255, 255, 255, 0.22);*/
    border-color: #dac2ed;
    border: 0;
}


.more .more_item {
    color: #212121;
    border-color: #212121;
    border: 2px solid;
    border-radius: 20px;
    margin-right: 0;
    text-transform: uppercase;
    font-weight: bold;
    padding-top: 15px;
}
.more .more_item:before {
    background-color: transparent!important;
}
.more .more_item:after {
    background: #ef54e7;
}
.more .more_item:hover {
    color: transparent;
    border-color: #ef54e7;
}
.more .more_item:hover .icon-right.after:after {
    color: #ef54e7;
}
.info_btn_wrap a, .overlay .overlay-nav .bottom a {
    background: #ffffff;
    color: #e93ec3;
    border: 2px solid #eb75d1;
    border-radius: 14px;
}
.info_btn_wrap a:hover, .overlay .overlay-nav .bottom a:hover {
    color: #fff;
}
.overlay .overlay-nav .bottom a:hover {
    color: #fff;
    background-color: #cab8d9;
}
#footer_info {
    background: #ffe7fb;
    position: relative;
    padding-top: 10px;
}
#footer_info:before {
    content: "";
    display: block;
    width: 100%;
    height: 19px;
    position: absolute;
    top: -18.5px;
    background-image: url(Dup/img/wave2.png);
    background-repeat: repeat-x;
    background-size: auto 100%;
}
.pager li a span {
    line-height: 1;
    display: block;
}
#copyright {
    background: #ffe7fb;font-size: 12px;
}


.overlay .overlay-nav ul.top a:after, .overlay .overlay-nav ul.middle a:after {
    height: 1px;
}

.overlay .overlay-nav .top .en {
    font-size: 16px;
}


.arrow_box {
    position: relative;
    background: #f56cf5;
    /* border: 4px solid #c2e1f5; */
    border-radius: 18px;
    color: #fff;
    border-left: 0;
    margin-bottom: 30px;
    display: inline-block;
    padding: 13px 23px;
}
.arrow_box:after, .arrow_box:before {
	top: 100%;
	left: 7%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

.arrow_box:after {
    border-color: rgba(136, 183, 213, 0);
    border-top-color: #f56cf5;
    border-width: 17px;
    margin-left: 20px;
}

@media screen and (max-width: 768px){
    #copyright {
     padding-bottom: 134px;
    }
#contents .con_title, .intro_title {
    background-size: 145px auto;
    background-position: 0% 100%;
    padding-bottom: 26px;
}
#intro .con_title, #contents .con_title, .intro_title {
    font-size: 28px;
}
    #intro .intro_photo {
        display: none;
    }
    
    #intro .intro_right {
    width: 100%;
}
.catch {
    width: 85%;
}
.top_cms_box {
    padding-left: 0;
    padding-right: 0;
}
#wrap.top:before {
    right: 8%;
}
}
@media screen and (min-width:667px) and ( max-width:768px) {
       #footer_info {
    padding-top: 20px;
    padding-bottom: 20px;
} 
}


@media screen and (max-width: 667px){
.cms_title h3 {
    background-size: 144px auto;
    background-position: 50% 100%;
    padding-bottom: 33px;
}
.cate_list li:nth-of-type(4n) {
margin-right: 0; 
}
.catch:before {
    right: 9%;
    top: 10%;
    height: 26%;
    width: 18%;
}
.cms_title {
        padding-left: 0;
        margin-bottom: 30px;
    }
.cms_title p {
    font-size: 23px;
}
    #header:before {
    height: 11px;
    bottom: -10.8px;
    background-position: 16% 0;
}
#footer_info:before {
    height: 11px;
    top: -10.8px;
}
    .logo_b {
    left: 17px;
}
    html {
    font-size: 80%;
}
.font_2dw_tb {
    font-size: -webkit-calc(1rem - 0px);
    font-size: calc(1rem - 0px);
}
    .catch {
    font-size: 28px;
    width: 94%;
    left: 50%;
}
#wrap.top:before {
    top: -96px;
    height: 96px;
    width: 106px;
}
.kazari_en {
    margin-top: 11px;
}
.more .more_item {
    margin-right: auto;
}
#contents .con_title {
    font-size: 20px;
}
#intro .con_title {
    font-size: 46px;
}
.modal-open {
    margin-top: 20px;
}
.menu-trigger {
    top: 70%;
}
.close-trigger {
    top: 82%;
}
.intro_title {
    font-size: 22px;
}
#contents_wrap {
    background-size: 43% auto;
}
#top_cms_wrap {
    padding-left: 4%;
    padding-right: 4%;
    background-size: 36% auto, 44% auto;
}
.cms_title h3 {
    font-size: 31px;
}
.con_box.pd_5per {
    padding: 3%;
}
.top_title h2 {
    font-size: 45px;
    top: auto;
    bottom: -7px;
    color: #fff;
}
.cms_6-c .box_wrap {
    padding-left: 0;
    padding-right: 0;
}
.info_txt {
    padding-right: 9%;
}
#logo2 {
    max-width: 74%;
    margin: 10px auto 27px;
}
#logo {
    padding-left: 10px;
}
.logo_w {
    left: 20px;
}
#page_title .en {
    left: 10px;
}

    #page_title .en {
    font-size: 28px;
    top: -36px;
    padding-left: 18px;
}
}






























/* ---------------------------------------------------------------------------------------------------------------------------------------- */
.qa_type1 .cate_box {
	border: 1px solid #a272c5;
}
.qa_type1 .cate_box .arrow {
	position: absolute;
	left: 2px;
	top: 50%;
	margin-top: 0px;
	transform: translateY(-50%);
}
.qa_type1 .cate_box .open_bt{
	position: relative;
	width: 100%;
	cursor: pointer;
	padding: 20px 0
}
.qa_type1 .cate_box .open_bt .arrow::before, .qa_type1 .cate_box .open_bt .arrow::after {
	position: absolute;
	content: '';
	width: 15px;
	height: 1px;
	background-color: #a272c5;
}
.qa_type1 .cate_box .open_bt .arrow::before {
	top: 48%;
	left: 15px;
	transform: rotate(0deg);
	transition: all 0.5s;
}
.qa_type1 .cate_box .open_bt .arrow::after {
	top: 48%;
	left: 15px;
	transform: rotate(90deg);
	transition: all 0.5s;
}
.qa_type1 .cate_box .open_bt .arrow.arrow_be::before {
	transform: rotate(-135deg);
	transition: all 0.5s;
}
.qa_type1 .cate_box .open_bt .arrow.arrow_be::after {
	transform: rotate(135deg);
	transition: all 0.5s;
}
.qa_type1 .cate_box .open_bt .box_title1 {
	display: inline-block;
	position: relative;
	letter-spacing: 1px;
	cursor: pointer;
	margin-left: 87px;
}
.qa_type1 .cate_box .open_bt .box_title1::before {
	content: "Q.";
	position: absolute;
	left: -32px;
	top: 0px;
	display: inline-block;
	vertical-align: baseline;
	color: #55b1ff;
}
.qa_type1 .cate_box .box_item {
	display: none;
	padding: 0px 8px 0px;
}
.qa_type1 .cate_box .box_txt1 {
	padding: 1em;
	background-color: #fdfaff;
}

@media screen and (max-width: 768px){
.qa_type1 .cate_box .open_bt .box_title1 {
	padding-right: 20px;
}
}
@media screen and (max-width: 667px){
.qa_type1 .cate_box .open_bt {
	padding: 5px 0 7px;
}
.qa_type1 .cate_box .open_bt .box_title1 {
	margin-left: 73px;
}
.qa_type1 .cate_box .box_txt1 {
padding: 0.5em 1em;
}
.qa_type1 .cate_box .open_bt .box_title1::before {
    left: -24px;
    top: -1px;
}
}



@media all and (-ms-high-contrast: none) {
#cms_1-a .date {
padding: 6px 4px 1px;
}
.pager li a {
    padding-top: 16px;
}
.qa_type1 .cate_box .open_bt .box_title1 {
margin-top: 4px;
}
.more_item {
    padding-top: 9px!important;
}
.info_btn_wrap a, .overlay .overlay-nav .bottom a {
 padding-top: 17px;   
}
#cms_3-b .cate_title {
 padding-top: 11px!important;   
}
#cms_3-d .cate .cate_title {
    padding-top: 9px!important;
}
}













.link_type1 .link_top .link_title {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center;
	margin-bottom: 30px;
    font-weight: normal;
}
.link_type1 .link_top .link_title{
    font-size: 20px;
    margin-bottom: 20px;
}
.link_type1 .link_top a {
    padding-top: 80px;
    padding-bottom: 60px;
    border: 2px solid #d3bb7d;
    border-radius: 10px;
}
.link_type1 .link_top a:hover{
    background-color: #ededeb;
}
.link_type1 .link_top a:hover .link_img1{
    transform: translate(-50%, -50%) scale(1.1,1.1);
    opacity: 0.1;
}
@media screen and (max-width: 667px){
.link_type1 .link_top .link_title{
    font-size: 15px;
}
.link_type1 .link_top a {
    padding-top: 39px;
    padding-bottom: 32px;
}
}


@keyframes rotate {
    90% {
        -webkit-transform:rotateY(0deg);
        -moz-transform:rotateY(0deg);
        -ms-transform:rotateY(0deg);
        -o-transform:rotateY(0deg);
        transform:rotateY(0deg);
    }
    
    92.5% {
        -webkit-transform:rotateY(90deg);
        -moz-transform:rotateY(90deg);
        -ms-transform:rotateY(90deg);
        -o-transform:rotateY(90deg);
        transform:rotateY(90deg);
    }
    95% {
        -webkit-transform:rotateY(180deg);
        -moz-transform:rotateY(180deg);
        -ms-transform:rotateY(180deg);
        -o-transform:rotateY(180deg);
        transform:rotateY(180deg);
    }
    97.5% {
        -webkit-transform:rotateY(270deg);
        -moz-transform:rotateY(270deg);
        -ms-transform:rotateY(270deg);
        -o-transform:rotateY(270deg);
        transform:rotateY(270deg);
    }
    100% {
        -webkit-transform:rotateY(360deg);
        -moz-transform:rotateY(360deg);
        -ms-transform:rotateY(360deg);
        -o-transform:rotateY(360deg);
        transform:rotateY(360deg);
    }
}