/* *************************************
 *基本
 ***************************************/
@import url('https://fonts.googleapis.com/css2?family=Lora:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@600&display=swap');
body{line-height:1.6rem;letter-spacing:.1rem;font-size:14px;font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
.containerBox, .nav {max-width:1024px;margin:auto;}
.container .containerBox {padding:3rem 0;}
h2 {font-size:2.5rem;line-height:2.5rem;}
h3 {font-size:1.5rem;line-height:2.5rem;}
h4 {font-size: 1.4rem;line-height: 2.5rem;}
.deco {writing-mode: vertical-rl;color:#2A3F6E;font-family: "Lora", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;letter-spacing:.5rem;}
.pcNone {display:none;}
@media screen and (max-width: 1024px){
    body {font-size:35px;line-height:4rem;}
    h2 {font-size:4rem;line-height:4.5rem;}
    h3 {font-size:3rem;line-height:5rem;}
    h4 {font-size: 2.5rem;line-height: 4rem;}
    .deco {font-size:2rem;}
    .pcNone {display:inline;}
    .spNone {display:none;}
}
@media screen and (min-width: 1025px){
    a:hover{filter:alpha(opacity=80);-moz-opacity: 0.8;opacity: 0.8;}
}
/* *************************************
 *header 
 ***************************************/
header {background: #2a3f6e;}
/* ///////////////////// navgation ///////////////////// */
#hamburger {background: #2a3f6e;max-width: 1025px;margin: auto;text-align:center;padding:1rem;}
#hamburger .btn-gNav{position: absolute;top: 20px;right: 20px;width: 30px;height: 24px;z-index: 3;box-sizing: border-box;cursor: pointer;-webkit-transition: all 200ms;transition: all 200ms;}
#hamburger .btn-gNav span{position: absolute;width: 50px;height: 4px;background: #fff;border-radius: 10px;-webkit-transition: all 200ms;transition: all 200ms;}
#hamburger .btn-gNav span:nth-child(1) {top:0;}
#hamburger .btn-gNav span:nth-child(2) {top:10px;}
#hamburger .btn-gNav span:nth-child(3) {top:20px;}
#hamburger .btn-gNav.open span:nth-child(1){background: #fff;top: 6px;-webkit-transform: rotate(-45deg);-moz-transform:rotate(-45deg);transform:rotate(-45deg);}
#hamburger .btn-gNav.open span:nth-child(2),#hamburger .btn-gNav.open span:nth-child(3){top: 6px;background :#fff;-webkit-transform: rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);}
#hamburger .mainLogo{display: inline-block;padding: 1rem 0 1rem 1rem;}
#hamburger .mainLogo img {width:100%;}
#gNav{position: fixed;top: 0;right: -100%;width: 100%;background: #2a3f6e;box-sizing: border-box;z-index: 2;padding:1rem 0;transition: .2s;}
#gNav.open{right: 0px;opacity:0.9;}
#gNav .gNav-menu{width: 100%:;display: flex;flex-direction: column;text-align: center;padding-left: 0;}
#gNav .gNav-menu li {display: block;padding : 4rem 0;}
#gNav .gNav-menu li a{color: #fff;text-decoration: none;}

@media screen and (max-width: 1024px){
    #hamburger {position: fixed;width: 100%;z-index: 1000;height:162px;}
    .mainImage {padding-top:162px;}
    #hamburger .logo,  #hamburger .logoMenu {height:50px;margin:40px 0;}
    #hamburger .logo.open {display:none;}
    #hamburger .btn-gNav {width: 100px;height:100px;top: 65px;right: 30px;}
}
@media screen and (min-width: 1025px){
    .btn-gNav {display: none;}
    #hamburger {display: flex;align-items: center;height:100px;}
    #hamburger .logoMenu {display:none;}
    #gNav{position: relative;top: 0;right: 0;height: 100px;padding-top:0;background: none;}
    #gNav .gNav-menu{display: flex;align-items: center;flex-direction: row;position: absolute;top: 0;right: 0;padding-left: 50px;margin:0;height:100px;}
    #gNav .gNav-menu li {padding : 0 1.5rem;}
    .topicPath{width:100%;}
}
/* *************************************
 *mainImage
 ***************************************/
.mainImage {margin:auto;text-align:center;}
.mainImage img{object-fit: cover;height: 500px;width: 100%;}
@media screen and (max-width: 1024px){
.mainImage img{height: 1000px;}
}
/* *************************************
 *title
 ***************************************/
h2.mainTitle {font-weight:bold;color:#2a3f6e;margin:auto;text-align:center;letter-spacing: .3rem;padding-top:8rem;font-family: "Lora", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;}
h2.mainTitle span {font-size:1rem;color:#888;display:block;}
@media screen and (max-width: 1024px){
    h2.mainTitle span {font-size:2rem;}
}
/* *************************************
 *containerIntroBox プロローグ
 ***************************************/
.containerIntroBox h2 span.sub {display: block;font-size:1.1rem;letter-spacing: .3rem;text-align:center;color:#603813;margin-bottom: 1.5rem;line-height:1.8rem;font-weight:bold;}
.containerIntroBox h2 span.main {display: block;color:#2A3F6E;margin-bottom: 1.5rem;text-align:center;font-weight:bold;font-family: 'Noto Serif JP', serif;line-height:3.6rem;}
.containerIntroBox p {color:#000;text-align:center;}
@media screen and (max-width: 1024px){
    .containerIntroBox h2 span.sub {font-size:2rem;line-height:3.3rem;}
    .containerIntroBox h2 span.main{padding:2rem 0;line-height:5rem;}
    .containerIntroBox p {padding-bottom:3rem;width:90%;margin:0 auto;text-align:left;}
}
 /* *************************************
 *containerIntroBox プロローグ　春2023追加
 ***************************************/
.newitem {display:flex;justify-content: center;margin: 3rem 0;}
.newitem img {padding:0 .5rem;}
.rakuchinImg img {position: absolute;width:100%;}
.rakuchinTitle {margin-bottom:2rem;}
.rakuchinTitle small{font-size:0.9rem;display:block;}
@media screen and (max-width: 1024px){
.rakuchinImg img {position:relative;width:100%;}
.rakuchinTitle small{font-size:1.5rem;}
}

/* *************************************
 *containerPointBox こんな方におすすめ
 ***************************************/
.containerPointBox {background:#ECF1F5;max-width: 1150px;margin: 0 auto 5rem;border-radius: 10px;}
.containerPointBox h3 {color:#2A3F6E;font-weight:bold;text-align:center;padding-bottom:3rem;font-family: 'Noto Serif JP', serif;}
.containerPointBox h3 img {vertical-align: text-bottom;padding-right:.5rem;}
.containerPointBox ul {display:flex;justify-content: space-between;align-items: center;flex-wrap: wrap;}
.containerPointBox ul li {text-align:center;background:#fff;border:3px solid #D8E2EC;padding:2rem;border-radius: 50%;width: 200px;height: 200px;display:flex;align-items:center;justify-content: center;}
.containerPointBox ul li p {}
.containerPointBox ul li span {color:#A36A19;font-weight:bold;}
@media screen and (max-width: 1024px){
    .containerPointBox{width: 90%;}
    .containerPointBox h3 img {width: 70px;vertical-align:0;}
    .containerPointBox ul  {display:block;}
    .containerPointBox ul li {margin:0 auto 1rem;width:500px;height:500px;}
}
 /* *************************************
 *containerFunctionBox 機能説明
 ***************************************/
.containerFunctionBox {background:#2a3f6e;color:#fff;}
.containerFunctionBox h3 {color:#e7d921;font-size:2rem;padding-top:3rem;text-align:center;padding-bottom:2rem;font-family: 'Noto Serif JP', serif;}
.containerFunctionBox h3 small{color:#fff;}
.containerFunctionBox p {text-align:center;padding-bottom:5rem;}
.containerFunctionBox .servicePoint {width: 800px;margin: auto;}
.containerFunctionBox .servicePoint dl {display:flex;align-items: center;margin: auto;margin-bottom:3rem;}
.containerFunctionBox .servicePoint dl dt {margin-right:2rem;}
.containerFunctionBox .servicePoint dl dt img {border-radius: 100%;}
.containerFunctionBox .servicePoint dl .title {font-weight:bold;padding-bottom:1rem;font-size:1.1rem;font-family: 'Noto Serif JP', serif;}
.containerFunctionBox .servicePoint dl dd ul {list-style: disc;padding-left: 1rem;}
.containerFunctionBox .servicePoint dl dd .text {margin-top:1rem;}
 @media screen and (max-width: 1024px){
     .containerFunctionBox h3 {font-size: 4rem;}
     .containerFunctionBox .servicePoint dl {display:block;margin-bottom:10rem;text-align: center;}
    .containerFunctionBox .servicePoint{width: 90%;display:block;}
    .containerFunctionBox .servicePoint dl dt img {width:80%;display:block;margin:2rem auto;}
    .containerFunctionBox .servicePoint dl .title {display:block;font-size:2.5rem;margin-top:5rem;}
    .containerFunctionBox .servicePoint dl dd ul {list-style:none;list-style: none;border-bottom: 1px solid #fff;border-top: 1px solid #fff;padding: 2rem 0;margin: 2rem 0;}
}
 /* *************************************
 *containerColorBox カラーバリエーション
  ***************************************/
 .containerColorBox {background: linear-gradient(to bottom, #2a3f6e 0%, #2a3f6e 50%, #ffffff 50%, #ffffff 100%);}
 .containerColorBox h3 {text-align:center;padding-bottom:2rem;color:#fff;font-family: 'Noto Serif JP', serif;}
  .containerColorBox .color {display:flex;text-align:center;flex-wrap: wrap;justify-content: center;}
 .containerColorBox .color li p {color:#2A3F6E;font-weight:bold;padding-top:.5rem;}
 @media screen and (max-width: 1024px){
    .containerColorBox {background:#fff;}
    .containerColorBox h3 {color:#000;}
    .containerColorBox .color li {width:250px;margin-bottom:1rem;}
    .containerColorBox .color li img{width:100%;}
}

  /* *************************************
 *containerServiceBox 製品情報
  ***************************************/
.containerServiceBox h3 {color:#2A3F6E;text-align:center;font-weight: bold;padding:2rem 0;font-family: "Lora", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;}
.containerServiceBox .serviceBox {display:flex;align-items: center;padding-bottom:5rem;}
.containerServiceBox .serviceBox .img {width: 150vw;display:flex;}
.containerServiceBox .serviceBoxNext .img {order: 2;}
.containerServiceBox .serviceBoxNext .txt {order: 1;}
.containerServiceBox .serviceBox .img img {object-fit: cover;object-position: 50% 0;width: 100%;height: 100%;padding: 0 1rem 0 0;}
.containerServiceBox .serviceBoxNext .img img{padding: 0 0 0 1rem;}
.containerServiceBox .serviceBox .txt {padding:0 5rem;}
.containerServiceBox .serviceBox .txt h4 {padding-bottom:2rem;}
.containerServiceBox .serviceBox .txt .serviceLogo {padding-top:2rem;display: block;margin: auto;}
@media screen and (max-width: 1024px){
     .containerServiceBox .serviceBox {display:block;}
     .containerServiceBox .serviceBox .img {width:100%;}
     .containerServiceBox .serviceBox .txt {padding:3rem;}
     .containerServiceBox .serviceBox .txt h4 {text-align:center;}
     .containerServiceBox .serviceBox .txt .serviceLogo {width: 100%;}
}
   /* *************************************
 *containerPriceBox 価格
  ***************************************/
.containerPriceBox {background:url('img/priceBack.jpg')no-repeat;background-size: cover;height: 980px;margin-top: 100px;}
.containerPriceBox.last {margin-top:0;padding:100px 0;}
.containerPriceBox .containerBox {position: relative;padding: 0;}
.containerPriceBox .img { width: 40vw;height: 820px;position: absolute;right:0;top: -100px;z-index: 1;margin-left: 40vw;margin-right: 0;}
.containerPriceBox .img  img  {object-fit: cover;object-position: 50% 0;width: 100%;height: 100%;border-radius:0 0 10px 10px;}
.containerPriceBox.last .img  img  {border-radius:10px;}
.containerPriceBox .img .notice {position: absolute;right: 1rem;bottom: 1rem;font-size:0.8rem;}
.containerPriceBox .img .deco {position: absolute;right: -2rem;top: 120px;} 
.containerPriceBox .img .deco.second {top: 35px;} 
.containerPriceBox .txt {margin-left: 0;position: absolute;top: 300px;padding: 60px 5vw 60px;background:#fff;z-index:2;border-radius:10px;}
.containerPriceBox .txt h3 p.sub{color:#603813;font-weight:bold;}
.containerPriceBox .txt h3 p.main {color:#6481AE;font-size:4rem;font-weight:bold;padding:1rem 0;letter-spacing:.2rem;font-family: 'Source Serif Pro', serif;}
.containerPriceBox .txt h3 p.main span {color:#603813;font-size:1.5rem;font-weight:bold;}
.containerPriceBox .txt h3 p.sub {font-size: 1rem;line-height: 1.5rem;}
.containerPriceBox .txt .point {margin:2rem 0;}
.containerPriceBox .txt .point p {color:#2A3F6E;font-weight:bold;font-size:1.1rem;}
.containerPriceBox .txt .point .pointBox {background:#F0F1F7;padding:1rem;margin:1rem 0 2rem;}
.containerPriceBox .txt .point .pointBox dl {display:flex;}
.containerPriceBox .txt .point .pointBox dl dt {color:#597AB1;font-weight:bold;width:6rem;}
@media screen and (max-width: 1024px){
    .containerPriceBox {height:auto;padding:3rem 0;}
    .containerPriceBox .img {position: initial;width:85%;height: auto;margin:auto;background: #fff;text-align: center;border-radius:10px 10px 0 0;}
    .containerPriceBox .img  img {object-fit: none;width:auto;height: auto;}
    .containerPriceBox .txt {position: initial;width:85%;margin:auto;border-radius:0 0 10px 10px;text-align: center;}
    .containerPriceBox .txt .point .pointBox dl {justify-content: center;}
    .containerPriceBox .txt .point .pointBox dl dt {width: auto;padding-right:1rem;}
    .containerPriceBox .txt .point p {font-size:2rem;}
    .containerPriceBox .img .notice{bottom: 0;right: 8%;}
    .containerPriceBox .img .deco {top: 0;right: -4rem;}
    .containerPriceBox .txt h3 p.main {font-size:8rem;}
    .containerPriceBox .txt h3 p.main span {font-size:3rem;}
    .containerPriceBox .txt h3 p.sub {font-size: 1.5rem;line-height: 2.5rem;}
}
 /* *************************************
 *containerStoreBox 店舗一覧
 ***************************************/
.containerStoreBox  {background:#ECF1F5;padding-bottom:1rem;}
.containerStoreBox .containerStore {margin:0 auto 100px;position: relative;background:#fff;width:90%;max-width:1024px;}
.containerStoreBox .subTitle {text-align:center;padding: 2rem 0;font-size:1.1rem;line-height:1.8rem;}
.containerStoreBox .subTitle span {font-weight:bold;color:#7E9EBE;}
.containerStoreBox .containerStore h3 {background:#2A3F6E;color:#fff;padding:.5rem;text-align:center;letter-spacing:.3rem;font-family: 'Noto Serif JP', serif;}
.containerStoreBox .containerStore dl.InnerBox {display:flex;align-items: center;justify-content: center;padding:2rem 0;}
.containerStoreBox .containerStore dl.InnerBox dd {padding-left:1rem;}
.containerStoreBox .containerStore dl.InnerBox dd p.time {color:#7E9EBE;font-weight:bold;margin-top:1rem;}
.containerStoreBox .containerStore.next:after {position: absolute;content:"";top:-74.5px;left: calc(50% - 25px);border-top: 50px solid #2A3F6E;border-right: 50px solid transparent;border-bottom: 50px solid transparent;border-left: 50px solid transparent;}
.containerStoreBox .storeListBox {display:flex;justify-content: center;}
.containerStoreBox .storeListBox .store-list {display: flex;flex-flow: column;align-items: center;position:relative;margin-bottom: 3%;}
.containerStoreBox .storeListBox .store-list:nth-child(1) {margin-right:2rem;}
.containerStoreBox .storeListBox .store-list:nth-child(2) {margin-left:2rem;}
.containerStoreBox .storeListBox .store-list .store-listTitle {color:#7E9FBF;margin-bottom:1rem;font-family: "Lora", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;}
.containerStoreBox .storeListBox .store-list ul li {display:flex;justify-content: space-between;position: relative;font-weight: bold;margin-bottom:1.5rem;}
.containerStoreBox .storeListBox .store-list ul li  div span {display:block;font-size:1.1rem;}
.containerStoreBox .storeListBox .store-list ul li  div:nth-child(1) {min-width:200px;}
.containerStoreBox .storeListBox .store-list ul li  div a.tel {display:block;padding-left: 30px;letter-spacing: 0;}
.containerStoreBox .storeListBox .store-list ul li  div:nth-child(2) a {display:block;color:#2A3F6E;border:1px solid #2A3F6E;border-radius:8px;padding: 0 1rem;font-weight:bold;}
.containerStoreBox .storeListBox .store-list .tel:before{position: absolute;content: '';background-image: url('img/icon-tel.png');background-size: cover;background-repeat: no-repeat;width: 25px;height: 25px;left: 0;bottom: 3px;}
@media screen and (max-width: 1024px){
    .containerStoreBox .subTitle {font-size:2.5rem;line-height:4rem;}
    .containerStoreBox .storeListBox {display:block;}
    .containerStoreBox .storeListBox .store-list .store-listTitle {margin-top:4rem;}
    .containerStoreBox .storeListBox .store-list:nth-child(1) {margin-right:0;}
    .containerStoreBox .storeListBox .store-list:nth-child(2) {margin-left:0;padding-bottom:5rem;}
    .containerStoreBox .storeListBox .store-list ul li div:nth-child(1) {min-width: 400px;}
    .containerStoreBox .storeListBox .store-list ul li  div span {font-size:2.5rem;}
    .containerStoreBox .storeListBox .store-list .tel:before {bottom: 15px;width: 40px;height: 40px;}
    .containerStoreBox .storeListBox .store-list ul li div a.tel {padding-left: 50px;}
    .containerStoreBox .containerStore h3 {padding:1rem;}
    .containerStoreBox .containerStore dl.InnerBox {display:block;text-align: center;}
    .containerStoreBox .containerStore dl.InnerBox dt img {width: 300px;padding-bottom: 2rem;}
}
 /* *************************************
 *footer
 ***************************************/
footer {background:#ECF1F5;}
footer .containerBox {padding-bottom:2rem;color:#2A3F6E;font-weight:bold;}
footer .containerBox a {text-decoration:underline;}
footer .copy {background:#2a3f6e;color:#fff;text-align:center;padding:1rem 0;}
 
 /* ///////////////////// ご購入の流れ ///////////////////// */
.storelist-button{position:fixed;right:0;bottom:0;transition:1s;opacity:1;z-index:10;}
@media screen and (max-width: 1024px){
    footer {text-align:center;}
    .storelist-button img{width: 200px;}
}
 /* *************************************
 *animation アニメーション
 ***************************************/
.animationY.offs .effect, .animationY.offs.effect {
  opacity: 0;
  transform: translate(0, 50px);
  -webkit-transform: translate(0, 50px);
}
.animationXL.offs.effect {
  opacity: 0;
  transform: translate(-50px, 0);
  -webkit-transform: translate(-50px, 0);
}
.animationY.ons .effect, .animationY.ons.effect, .animationXL.ons.effect {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: all 1s ease;
  transition: all 1s ease；;
}
/*遅延の設定*/
.animationY.ons .delay-1 {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}
.animationY.ons .delay-2 {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}
.animationY.ons .delay-3 {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}
.animationY.ons .delay-4 {
  -webkit-transition-delay: 0.7s;
  transition-delay: 0.7s;
}
.animationY.ons .delay-5 {
  -webkit-transition-delay: 0.9s;
  transition-delay: 0.9s;
}
.animationY.ons .delay-6 {
  -webkit-transition-delay: 1.1s;
  transition-delay: 1.1s;
}
.animationY.ons .delay-7 {
  -webkit-transition-delay: 1.3s;
  transition-delay: 1.3s;
}
.animationY.ons .delay-8 {
  -webkit-transition-delay: 1.5s;
  transition-delay: 1.5s;
}