﻿@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=Forum&display=swap');
#pc_nav li a, #footer_nav li a, .overlay .overlay-nav .en, .cms_title h3, .more .more_item {
    font-family: 'EB Garamond', serif;letter-spacing: 2px;
}
.con_txt, .intro_title, .modal_title2, .intro_title {
font-family: 'Shippori Mincho', serif;
}
#intro .con_title, #contents .con_title, #intro h2, .top_title h2, .patrima {
    font-family: 'Shippori Mincho', serif;
    font-family: 'Forum', cursive;
}
#intro .con_title, .kazari_en {
    font-family: liana,script;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0;
    font-size: 46px;
    text-align: left;
    line-height: 1;
    color:#d4a0ff;
}


#cms_3-a .cate .cate_box:last-of-type {
    border-bottom: 1px dotted;
    border-color: #88cefa;
}
#contact_tel a, #page9 a.more{
    color: #fff;
}
.BA_type1 .cate_box {
   background: #fff;
    padding: 24px;
    border-bottom: 0;
}
.top_cms_box {
    position: relative;
}

.dot_line {
    height: 8px;
    width: 100%;
    display: flex;
    margin: 0 auto;
    padding: 0;
    position: absolute;
    top: -35px;
    left: 0;
    right: 0;
    margin: auto;
    display: none;
}
.dot_line_dot1 {
    background: #000;
    height: 4px;
    width: 4px;
    margin: 2px 0;
    border-radius: 100%;
}
.dot_line_dot2 {
    height: 8px;
    width: 100%;
    background-image: radial-gradient(#000 25%,transparent 0);
    background-size: 8px 8px;
    margin: 0 2px;
}
#intro .intro_photo h2 {
    color: #a7e3ff;
}

strong.grade {
background: -webkit-linear-gradient(90deg, rgb(142 213 255 / 0%) 0%, #58c9ff 92%, #68ceff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/*.top_cms_box:before {*/
/*    content: "";*/
/*    display: block;*/
/*    position: absolute;*/
/*    width: 100%;*/
/*    height: 24px;*/
/*    left: 0;*/
/*    right: 0;*/
/*    margin: auto;*/
/*    top: -1px;*/
/*    background-image: -webkit-linear-gradient(left,#000,#000 2px,transparent 2px,transparent 4px);*/
/*    background-image: linear-gradient(to right,#000,#000 2px,transparent 2px,transparent 4px);*/
/*    background-size: 6px 1px;*/
/*    background-repeat: repeat-x;*/
/*    position: absolute;*/
/*}*/


.intro_title {
    font-size: 36px;
    margin-bottom: 10px;
}
#contents .con_title {
    font-size: 47px;
    margin-bottom: 30px;
    background-image: url(Dup/img/line.png);
    background-repeat: repeat-x;
    background-size: auto 13px;
    background-position: 50% 100%;
    display: inline-block;
    line-height: 1;
    padding-bottom: 20px;
}
.con_box_item .eng {
        font-size: 3vw;
    font-family: liana,script;
    color: #67c0f7;
}
#loading #loading_text .progressbar-text {
color: #8d8c8d!important;
}
.filter, .filter2 {
    display: none;
}
.icon-right:after {
    top: 28px;
}

.modal_title2 {
    font-size: 24px;
    background-image: url(Dup/img/line.png);
    background-repeat: repeat-x;
    background-size: auto 13px;
    background-position: 50% 100%;
    display: inline-block;
    padding-bottom: 20px;
}
.scroll_d > span {
    background-color: rgb(136 206 250);
}


.pager li a {
    background-color: rgb(255 255 255);
    box-shadow: 0.863px 4.596px 14px 0 rgb(209 209 209 / 38%);
}
footer .scr {
    color: #88cefa;
}
.info_txt {
    padding-top: 25px;
    padding-bottom: 25px;
}
#logo2 a img {
    max-width: 200px;
}
.catch {
    top: 14%;
    right: 14%;
    width: 20%;
    max-width: 220px;
    filter: drop-shadow(0px 1px 6px rgba(0,0,0,0.2));
}
.catch span {
    margin-top: 89px;
}
svg{
	max-width:194.62px;
	width:100%;
	height:auto;
	display: none;
}
#mask .st0 {
    fill: none;
    stroke: #9966c3;
    stroke-miterlimit: 10;
    stroke-width: 14px;
	 stroke-dasharray: 1500; 
    stroke-dashoffset:1500;
}
#contents_wrap {
    background-image: url(Dup/img/pearl2.png);
    background-repeat: no-repeat;
    background-size: 26% auto;
    background-position: 0 -13px;
}

.blur {
    position: relative;
}
#pc_nav li a {
    color: #fff;
}
.scr_header #pc_nav li a {
    color: #3e3e3e;
}
#pc_nav li, #footer_nav li {
     height: 1.5em;
    text-align: center;
     font-size: 16px;
     letter-spacing: 2px;
}     
#pc_nav li span, #footer_nav li span {
      transition: 0.3s;
}
#pc_nav li span:nth-child(1), #footer_nav li span:nth-child(1) {display: block;}
#pc_nav li span:nth-child(2), #footer_nav li span:nth-child(2) {
     opacity:0;
     position: relative;
top: -1.95em;
}
#pc_nav li:hover span:nth-child(1), #footer_nav li:hover span:nth-child(1) {opacity: 0;}
#pc_nav li:hover span:nth-child(2), #footer_nav li:hover span:nth-child(2) {opacity: 1;}

#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;
    padding-left: 0;
    background-image: url(Dup/img/line.png);
    background-repeat: repeat-x;
    background-size: auto 11px;
    background-position: 40% 100%;
    padding-top: 27px;
    padding-bottom: 19px;
    /* display: inline-block; */
}
.cms_title p {
    color: #212121;
}
/*.cms_title:before {*/
/*    content: "";*/
/*    display: block;*/
/*    width: 55px;*/
/*    height: 2px;*/
/*    background: #88cefa;*/
/*    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;
    color: #29baff;
}
.BA_type1 .box_title1 {
    font-weight: normal;
    color: #008fd3;
    background-image: url(Dup/img/hosi1.png);
    background-repeat: no-repeat;
    background-size: 25px;
    padding-left: 34px;
    background-position: 0 5px;
}
/* -----------HEADER ------------------*/
#header {
    padding-top: 12px;
    padding-bottom: 12px;
    background: rgba(255,255,255,0);
    transition: all 0.5s;
}
.scr_header #header {
    background: rgb(255 255 255 / 85%);
}

.logo_w {
    opacity: 1;
    position: absolute;
    left: 35px;transition-duration: 0.5s;
    max-width: 190px;
}
.scr_header .logo_w {
    opacity: 0;
}
.logo_b {
    opacity: 0;transition-duration: 0.5s;
    
    max-width: 190px;
}
.scr_header .logo_b {
    opacity: 1;
}

.menu-trigger-bar {
   background-color: #fff; 
}
.scr_header .menu-trigger-bar {
   background-color: #3e3e3e; 
}
.menu-trigger {
    top: 63%;
}
.close-trigger {
    top: 70%;
}
.menu-trigger-bar {
    height: 2px;
}
.close-trigger-bar {
    height: 2px;
}
.overlay .overlay-nav .top li {
    line-height: 1.6;
}

body {
    line-height: 2;
    font-size: 100%;
}
#main_img .scr, #page_title_img .scr {
    color: #fff;
}
.page_container {
    padding-left: 3%;
    padding-right: 3%;
}
#page_title h2 {
color: #fff;    
}
#page_title .en {
    top: -81px;
}
#page_title .jp {
    color: #5e5e5e;
}
#main_img:before {
    z-index: -1;
}
#intro .con_title {
    font-size: 64px;
    line-height: 1;
    color: #88cefa;text-align: center;
}
.intro_title {
color: #3e3e3e; 
}

#logo {
    padding-left: 25px;
}

/* ---------------------------------*/
.top_title h2 > span {
   /*padding-top: 0;*/
}
.top_title .rotate_txt span {
     /*transform: inherit; */
     /*display: inline-block;*/
}

.top_title h2 > span:before {
    background-color: #67c0f7;
    /*width: 66px;*/
    /*position: absolute;*/
    /*top: 48%;*/
    /*left: -83px!important;*/
    /*height: 4px;*/
}
.top_title h2 > span:before {
    background-color: #b2e6ff;
}
.top_title h2 {
    /*top: auto;*/
    /*bottom: 40%;*/
    color: #b2e6ff;
    /*left: 12%;*/
}
.top_title.n2 h2 > span:before {
    background-color: #88cefa;
}
.top_title.n2 h2 {
    color: #88cefa;
}
/*.top_title h2.left {*/
/*    right: 52%;*/
/*    left: auto;*/
/*}*/

#page10 .con_box ul {
    border-color: #59bfff;
}
/* --------------end ------------*/
/*.intro_title, .con_txt {*/
/*font-size: calc(1rem + 8px);*/
/*}*/
#cms_1-a .date {
    width: 116px;
    background: #59bfff;
    color: #fff;
    border: 0;
    padding: 4px;
}
.top_cms_box {
     border: 0;
     margin-bottom: 30px;
}

.more .more_item {
color: #00adff;
border-color: #1aa8ff;
margin-right: 0;
 text-transform: uppercase
}
.more .more_item:after {
    background: #87cefa;
}
.more .more_item:hover {
    color: transparent;
    border-color:#22aaff;
}
.more .more_item:before {
    background-color: #fff!important;
}
.more .more_item:hover .icon-right.after:after {
    color: #009dff;
}
.info_btn_wrap a, .overlay .overlay-nav .bottom a {
    background: #88cefa;
    color: #ffffff;
}
.info_btn_wrap a:hover, .overlay .overlay-nav .bottom a:hover {
    color: #fff;
}
.overlay .overlay-nav .bottom a:hover {
    color: #fff;
    background-color: #3ccfba;
    opacity: 1;
}
#footer_info {
    background: #fff;
}
#copyright {
    background: #dff3ff;
    font-size: 12px;
    padding-bottom: 90px;
}

.overlay .overlay-nav ul.top a:after, .overlay .overlay-nav ul.middle a:after {
    height: 1px;
}
.overlay ul.sns_links {
    margin: 20px 0;
}
.overlay .overlay-nav .top .en {
    font-size: 16px;
}
/* Bnr
-----------------------------------------*/
.Bnr{
  position: fixed;
  width: 400px;
    bottom: 13px;
    right: 22px;
    z-index: 9;
transition: all 0.3s;
}
.Bnr:hover {
opacity: 0.7;
}
.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;
  display: none;
}
.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: #23663f;
}

@media (max-width: 768px) {
.Bnr {
    width: 295px;
}
}
@media (max-width: 667px) {
.Bnr {
    width: inherit;
    right: 10px;
}
.Bnr .Bnr__img {
    bottom: 10px;
    right: 13px;
}
.Bnr__img__inner {
    width: 227px;
}
.Bnr .Bnr__img p.close {
    right: 3px;
}
}




@media screen and (min-width: 769px){

}

@media screen and (max-width: 768px){

.top_cms_box {
    padding-left: 0;
    padding-right: 0;
}
#logo img {
    max-width: 150px;
}
#loading .kvArea .img_box img {
    max-width: 170px;
}
.sns_links li {
    width: 35px;
}

}



@media screen and (min-width:667px) and ( max-width:768px) {
       #footer_info {
    padding-top: 20px;
    padding-bottom: 20px;
} 
}


@media screen and (max-width: 667px){
    body {
    font-size: 90%;
}
.top_cms_box {
    margin-bottom: 0px;
}
.catch {
    top: 20%;
    width: 30%;
    right: 12%;
}
strong.grade {
    background: -webkit-linear-gradient(90deg, rgb(142 213 255 / 0%) 0%, #29b7fb 92%, #00a0ed 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
    .top_title h2 > span:before {
    top: -13px;
}
   #logo img {
    max-width: 100px;
}
.BA_type1 .box_title1 {
    background-size: 17px;
    padding-left: 23px;
    background-position: 0 8px;
}
.kazari_en {
    margin-top: 11px;
}
.more .more_item {
    margin-right: auto;
}

#contents .con_title {
    padding-bottom: 13px;
    font-size: 27px;
    line-height: 1;
    background-size: auto 9px;
    margin-bottom: 14px;
}
#intro .con_title {
    font-size: 46px;
}
.modal-open {
    margin-top: 20px;
}

.intro_title {
    font-size: 22px;
}
#contents_wrap {
    background-size: 43% auto;
}
#top_cms_wrap {
    padding-top: 0px;
    padding-left: 4%;
    padding-right: 4%;
    background-size: 36% auto, 44% auto;
}
.cms_title h3 {
    font-size: 31px;
    padding-bottom: 2px;
}
.con_box.pd_5per {
    padding: 3%;
}
.top_title h2 {
    font-size: 47px;
    top: auto;
    bottom: -7px;
    color: #fff;
}
.top_title h2 > span:before {
    background-color: #fff;
}
.cms_6-c .box_wrap {
    padding-left: 0;
    padding-right: 0;
}
.info_txt {
    padding-right: 9%;
}
#logo2 {
    max-width: 45%;
    margin: 10px auto 27px;
}
#logo {
    padding-left: 10px;
}
.logo_w {
    left: 20px;
}
#page_title .en {
    left: 3%;
}
#page_title .en {
    font-size: 38px;
    padding-left: 18px;
}
}







@media all and (-ms-high-contrast: none) {
#cms_1-a .date {
padding: 6px 4px 1px;
}
.pager li a {
    padding-top: 16px;
}

.info_btn_wrap a, .overlay .overlay-nav .bottom a {
    padding-top: 16px;
}
}


 .qa_type5 .box_title1 .faq_no {
    color: #fff;
    background-color: #7bccff;
}

.BA_type1 .box_item, .BA_type1 .box_img1, .BA_type1 .box_img2 {position: relative;}
.BA_type1 .box_item::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50.3%;
    transform: translate(-50%,-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 17px 0 17px 40px;
    border-color: transparent transparent transparent #48c8dd;
}
.BA_type1 .box_img1 {margin-right: 5%;}
.BA_type1 .box_img2 {margin-left: 5%;}
.BA_type1 .box_img1::after, .BA_type1 .box_img2::after {
    position: absolute;
    height: 33px;
    width: 87px;
    background-color: #fff;
    color: #434343;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
}
.BA_type1 .box_img1::after {content: "before";}
.BA_type1 .box_img2::after {content: "after";}


@media screen and (max-width: 667px){
.BA_type1 .box_img1 {margin-right: 5%;margin-bottom: 50px;
    margin-right: 15px;
}
.BA_type1 .box_img2 {margin-left: 5%;}
.BA_type1 .box_img1::after, .BA_type1 .box_img2::after {height: 30px;font-size: 15px;}
.BA_type1 .box_item::after {transform: translate(-50%,-60%) rotate( 90deg);border-width: 20px 0 20px 23px;}
}
.qa_type5 .faq_no {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    top: -7px;
    left: 0;
	-webkit-background-clip: padding-box; 
	-moz-background-clip: padding; 
	background-clip: padding-box;
	border-color: #8f8f8f;
}
.qa_type5 .box_title1, .qa_type5 .box_txt1 {
    padding-left: 55px;
    line-height: 1.7;
}


.flow_type1 .cate_box{border-left:none;background-color: rgba(0,0,0,0);}
.flow_type1 .box_txt1,
.flow_type1 .box_txt2{padding-left:130px;}

.flow_type1 .box_wrap{
    position: relative;
    padding-left: 0px;
}
.flow_type1 .box_wrap:before{
    content: "";
    display: inline-block;
    height: calc(100% - 0px);
    border-left: 14px solid #fff;
    position: absolute;
    top: -5px;
    left: 77px
}
.flow_type1 .box_txt1{position:relative;}
.flow_type1 .box_txt1::before,
.flow_type1 .box_txt1::after {
	content: "";
	display: block;
	position: absolute;
	top: 18px;
}
.flow_type1 .box_txt1::before {
	width: 7px;
	height: 7px;
	margin-top: -3px;
	background: #6b90db;
	border-radius: 50%;
	left: 61.5px;
}
.flow_type1 .box_txt1::after {
	width: 50px;
	border-bottom: 1px dashed #999;
	position: absolute;
	left: 72px;
}
.flow_type1 .box_description2{
    position: relative;
    border-left: none;
    background-color: rgba(255, 255, 255, 0);
}
.flow_type1 .box_description2 span{
position: absolute;
    display: inline-block;
    width: 90px;
    top: -23px;
    left: -50px;
}
/*--------タブレット--------*/
@media screen and (max-width: 768px){
.flow_type1 .flex_order2_tb{
    width: 78%!important;
    margin-left: auto;
}

}
/*--------スマートフォン--------*/
@media screen and (max-width: 667px){
.flow_type1 .box_description2 span {
    width: 70px;
}
.flow_type1 .box_wrap{
    padding-left: 23px;
}
.flow_type1 .box_wrap:before {
    left: 22px;
}
.flow_type1 .box_txt1::before, .flow_type1 .box_txt1::after {
    top: 58px;
}
.flow_type1 .box_txt1::before {
    margin-top: -3px;
    left: -17.5px;
}
.flow_type1 .box_txt1::after {
    width: 30px;
    left: -8px;
}
.flow_type1 .box_txt1, .flow_type1 .box_txt2 {
    padding-left: 30px;
}
.flow_type1 .box_txt1{
    padding-top: 46px;
}
.flow_type1 .flex_order2_tb {
    width: 87%!important;
}
}
/*--------2023/08/03トップコンテンツ3とお知らせの間にスペースがすごく空いているため0pxに--------*/
.top_title{
	height: 0px;
}