body {
 font-size: 18px;
 line-height: 1.8em;
 letter-spacing: 0.1em;
 font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
a img, a {
 -webkit-transition: all 0.5s ease 0s;
 transition: all 0.5s ease 0s;
}
a:hover img { opacity: 0.7; }
a:hover { opacity: 0.7; }
.pc { display: inline-block; }
.sp { display: none; }

h1, h2, h3 {
 color: #141414;
 font-weight: bold;
}
h3 {
 font-size: 35px;
 margin-bottom: 20px;
}
h3 span { font-size: 30px; }

.drawer-menu-contents { display: none; }
.drawer-menu-contents {
 position: fixed;
 z-index: 100;
 text-align: center;
 display: none;
 padding-bottom: 40px;
 width: 100%;
 height: 10000px;
 top: 0px;
 left: 0px;
}
.menu {
 z-index: 1000;
 -webkit-transition: opacity 500ms;
 transition: opacity 500ms;
}
.menu:hover { opacity: 0.6; }
.drawer-menu.on {
 height: 100%;
}
.drawer-menu-contents {
 background: #123D83;
 display: none;
 z-index: 100;
}
.drawer-menu-contents ul { margin-top: 80px; }
.drawer-menu-contents ul li {
 margin-bottom: 25px;
 font-size: 18px;
 font-weight: bold;
}
.drawer-menu-contents ul li a { color: #fff; }
.inner {
 width: 1100px;
 margin: 0 auto;
}
.global-header .logo {
 position: absolute;
 z-index: 2;
 left: 30px;
 top: 30px;
}
.menu {
 position: fixed;
 right: 30px;
 top: 30px;
 z-index: 1000;
}
.main-vis .inner {
 position: relative;
 margin-top: 20px;
 width: 1260px;
 background: #fccd5d;
 border-radius: 20px;
 text-align: center;
 padding-top: 70px;
 text-align: center;
}
.main-vis .img-wrap {
 display: table;
 width: 1082px;
 margin: 0 auto;
}
.main-vis-img {
  max-width: 1500px;
  margin: 0 auto;
}

.main-vis .img-wrap .icon {
 display: table-cell;
 vertical-align: middle;
}
.main-vis .img-wrap .img {
 display: table-cell;
 vertical-align: middle;
}

.main-img-wrap.pc{
  display: block;
}
.main-img-wrap.sp{
  display: none;
}
.price-line {
 margin-bottom: 100px;
 background: #e20101;
 text-align: center;
 padding: 10px 0px;
}
.campaign-block .inner {
 border-radius: 20px;
 padding-bottom: 80px;
}

h2 {
 font-size: 42px;
 margin: 0 auto 40px;
 font-weight: bold;
 text-align: center;
}
h2 .en {
 color: #123D83;
 display: block;
 font-size: 14px;
}
.small {
 font-size: 12px;
 line-height: 1.4em;
}
.attention {
 font-size: 14px;
 line-height: 1.6;
}

/********** outline-block **********/
.campaign-block {
 background: #F5FBFF;
 padding: 80px 0 10px;
}
.campaign-block .inner {
 background: #FFF;
 text-align: center;
 padding: 20px 0 60px;
}
.campaign-block .inner .plan { margin-bottom: 40px; }
.campaign-block .option { margin-bottom: 20px; }
.regist-box {
 text-align: left;
 width: 1000px;
 margin: 20px auto 40px;
}
.regist-box dt {
 color: #FF9326;
 font-weight: bold;
}
.regist-box p {
 font-size: 12px;
 font-weight: bold;
 padding-top: 20px;
 line-height: 1.5em;
}
.concept-block { margin-bottom: 80px; }
.concept-block h2 {
 z-index: 2;
 position: relative;
 width: 654px;
 height: 165px;
}
.concept-box {
 border: 5px solid #123D83;
 padding: 100px 53px 50px;
 border-radius: 25px;
 margin-top: -100px;
}
.concept-box .inyou {
 font-size: 10px;
 padding-top: 10px;
 line-height: 1.3em;
 margin-bottom: 40px;
}
.concept-box dt {
 font-size: 20px;
 font-weight: bold;
 margin-bottom: 10px;
}
.data-detail { margin-top: 20px; }
.data-detail table {
 width: 1000px;
 margin: 0 auto;
 border: 1px solid #727272;
 border-bottom: 0;
}
table tr {
 border-bottom: 1px solid #727272;
}
table tr th {
 font-weight: bold;
 background-color: #b8b8b8;
 font-size: 16px;
}
.data-detail caption {
 text-align: left;
 font-size: 18px;
 font-weight: bold;
 margin-bottom: 10px;
}
table tr td {
 background-color: #fff;
 font-size: 14px;
 line-height: 1.6em;
}
table tr td .stx { font-size: 11px; }
table tr td .red { color: #f00; }
table th, table td {
 text-align: left;
 padding: 0.5em 1em;
}
.campaign-block h3 {
 font-size: 28px;
 font-weight: bold;
 display: inline-block;
 margin: 0 auto 30px;
}
.campaign-block .copy-box {
 text-align: center;
 margin-bottom: 40px;
}
.copy-box .copy { margin-bottom: 10px; }
.extension {
	margin-bottom: 0.3rem;
	font-size: clamp(1.15rem, 0.571rem + 0.74vw, 1.6rem);
	font-weight: bold;
}
.extension::before {
	content: "＼";
	margin-right: 0.8rem;
}
.extension::after {
	content: "／";
	margin-left: 0.3rem;
}
.interval {
 color: #fff;
 border-radius: 100px;
 padding: 6px 15px;
 background: #123d83;
}
.contact-box {
 width: 1100px;
 text-align: center;
 background: #fff;
 margin: 60px auto 120px;
 border: 5px solid #123D83;
 border-radius: 15px;
 padding: 0 0 30px;
}
.contact-box dl { margin-top: -20px; }
.contact-box dt {
 background: #123d83;
 font-size: 25px;
 display: inline-block;
 color: #fff;
 padding: 5px 20px;
 font-weight: bold;
 margin-bottom: 20px;
 border-radius: 100px;
}
.contact-box ul {
 margin-top: 10px;
 display: flex;
 align-items: center;
 justify-content: center;
}
.contact-box ul li:first-child { margin-right: 10px; }
.product-btn:hover { opacity: 0.5; }
.contact-btn { margin-bottom: 20px; }
.price-box {
 font-weight: bold;
 padding-bottom: 10px;
}
.price-box .price {
 color: #12383;
 font-size: 32px;
}
.price-box .price .small {
 font-size: 16px;
 color: #141414;
}
.product-list {
 margin-top: 30px;
 margin-bottom: 20px;
}
.product-list li {
 border: 1px solid #efefef;
 border-radius: 5px;
 padding: 30px;
 margin-bottom: 10px;
 position: relative;
}
.product-list li:after {
 content: "";
 width: 39px;
 height: 39px;
 background: url("../img/plus-icon.png") 0 0 no-repeat;
 background-size: contain;
 position: absolute;
 left: 50%;
 z-index: 2;
 bottom: -19.5px;
 margin-left: -19.5px;
}
.product-list li .attention { padding-bottom: 10px; }
.product-list li:last-child:after { display: none; }
.product-list li .left-img-block { display: table; }
.product-list li .left-img-block .img {
 display: table-cell;
 vertical-align: middle;
 padding-right: 15px;
}
.product-list li .left-img-block .list-ttl {
 display: table-cell;
 vertical-align: middle;
}
.recommend { display: table; }
.recommend dt {
 display: table-cell;
 vertical-align: middle;
 padding-right: 10px;
}
.recommend dd {
 display: table-cell;
 vertical-align: middle;
 font-weight: bold;
}
.list-ttl {
 font-weight: bold;
 font-size: 24px;
}
.list-ttl .small {
 font-weight: normal;
 display: inline-block;
 font-size: 14px;
 line-height: 1.4em;
}
.bg-bottom { margin-bottom: -200px; }
.item-box {
 margin-top: 100px;
 margin-bottom: 100px;
 display: flex;
}
.item-box .img {
 position: relative;
 padding-left: 30px;
 width: 515px;
 vertical-align: middle;
}
.item-box .img .star {
 position: absolute;
 right: -40px;
 top: -40px;
}
.item-box .text-box {
 text-align: left;
 vertical-align: middle;
}
.item-box .sub-ttl { margin-bottom: 10px; }
.item-box .text-box .text { margin-bottom: 10px; }
.item-box .text-box .text .copy { font-size: 18px; }
.item-box .text-box .text .item-list {
 font-size: 21px;
 font-weight: bold;
 line-height: 1.8em;
}
.item-box .text-box .text span:first-child {
 display: block;
 margin-bottom: 20px;
}
.item-box .text-box .text span:last-child { font-size: 21px; }
.item-box .text-box .attention { margin-bottom: 20px; }
.voice-block { padding-top: 150px; }
.voice-block .pink-box {
 background: #feffe3;
 height: auto;
 padding: 50px 0 20px;
 font-size: 18px;
 margin-bottom: 90px;
}
.voice-block .inner {
 background: #FFF;
 border-radius: 15px;
 padding: 50px 35px;
}
.voice-block .pink-box ul li {
 text-align: left;
 border-bottom: 2px dotted #CCC;
 padding-bottom: 20px;
 margin-bottom: 20px;
}
.voice-block .pink-box dl dt {
 font-size: 21px;
 margin-bottom: 20px;
 font-weight: bold;
}
.voice-block .pink-box dl dt .num { color: #123d83; }
.voice-block .pink-box dl dt .name {
 display: inline-block;
 margin-left: 10px;
 font-weight: normal;
 font-size: 15px;
 color: #000;
 background: #f3f3f3;
 padding: 3px 10px;
}
.pink-box { position: relative; }
.pink-box label {
 position: absolute;
 z-index: 1;
 bottom: 0px;
 left: 0px;
 width: 100%;
 height: 100px;
 cursor: pointer;
 text-align: center;
 opacity: 1;
 background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 99%);
}
.pink-box input:checked + label {
 background: inherit;
 /* 髢九＞縺滓凾縺ｫ繧ｰ繝ｩ繝��繧ｷ繝ｧ繝ｳ繧呈ｶ医☆ */
}
.pink-box label:after {
 line-height: 2.5rem;
 position: absolute;
 z-index: 2;
 bottom: 25px;
 left: 50%;
 width: 13rem;
 content: 'もっと見る';
 transform: translate(-50%, 0);
 letter-spacing: 0.05em;
 color: #123D83;
 font-size: 21px;
 width: 264px;
 padding: 15px 0px;
 box-sizing: border-box;
 border-radius: 40px;
 background-color: #FFF;
 border: 2px solid #123D83;
}
.pink-box input { display: none; }
.pink-box .cp_container {
 overflow: hidden;
 height: 255px;
 transition: all 0.5s;
}
.pink-box .cp_container li { margin-bottom: 30px; }
.pink-box input:checked + label:after {
 content: '閉じる';
 background-color: #123d83;
 color: #FFF;
}
.pink-box input:checked ~ .cp_container {
 height: auto;
 padding-bottom: 80px;
 transition: all 0.5s;
}
.qa-block { margin-bottom: 100px; }
.qa-block .inner { width: 800px; }
.qa-block .inner ul li {
 border-bottom: 2px dotted #666;
 text-align: left;
 padding-bottom: 25px;
 margin-bottom: 40px;
}
.qa-block .inner ul li dl dt {
 font-size: 24px;
 margin-bottom: 20px;
 font-weight: bold;
 cursor: pointer;
}
.qa-block .inner ul li dl dt .q { color: #123d83; }
.qa-block .qa-box dl dd { display: none; }
dl.accordion.active dt { color: #123d83; }
dl.accordion dd a { text-decoration: underline; }
.dli-plus {
 display: inline-block;
 vertical-align: middle;
 color: #333;
 line-height: 1;
 float: right;
 margin-top: 10px;
 width: 1em;
 height: 0.1em;
 background: currentColor;
 border-radius: 0.1em;
 position: relative;
}
.dli-plus::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: inherit;
 border-radius: inherit;
 transform: rotate(90deg);
}
dl.accordion.active .dli-plus {
 display: inline-block;
 vertical-align: middle;
 color: #123D83;
 line-height: 1;
 width: 1em;
 height: 0.1em;
 background: currentColor;
 border-radius: 0.1em;
}
dl.accordion.active .dli-plus:before { display: none; }
.qa-block .inner ul li dl dd { display: none; }
.flow-block {
 text-align: center;
 margin-bottom: 120px;
}
.flow-block ul {
 display: flex;
 flex-wrap: wrap;
}
.flow-block ul li {
 width: 50%;
 display: table;
 padding-right: 20px;
 margin-bottom: 30px;
}
.flowtl span {
 font-size: 12px;
 background: #123D83;
 color: #FFF;
 padding: 3px 10px;
 margin-bottom: 5px;
 display: inline-block;
 border-radius: 100px;
}
.flowtl {
 font-size: 20px;
 font-weight: bold;
 margin-bottom: 10px;
}
p .stx { font-size: 12px; }
.flow-block ul li picture {
 display: table-cell;
 width: 144px;
}
.flow-block ul li div {
 display: table-cell;
 padding-left: 10px;
 text-align: left;
 font-size: 14px;
 line-height: 1.4em;
}
.global-footer {
 padding: 100px 0px 30px;
 text-align: center;
 font-size: 12px;
}
.global-footer .inner { align-items: center; }
.global-footer .foot-logo { padding-right: 30px; }
.global-footer .contact-btn a {
 background: #FFF;
 border-radius: 4px;
 font-size: 21px;
 margin-right: 20px;
 display: block;
 line-height: 100px;
 width: 400px;
 height: 100px;
 padding-left: 40px;
 position: relative;
}
.global-footer .contact-btn a:before {
 content: "";
 background: url("../img/haru24.png") 0 0 no-repeat;
 background-size: contain;
 width: 46px;
 height: 34px;
 display: block;
 position: absolute;
 top: 33px;
 left: 90px;
}
.global-footer .access-btn a {
 background: #999999;
 color: #FFF;
 border-radius: 4px;
 font-size: 21px;
 display: block;
 line-height: 100px;
 width: 400px;
 height: 100px;
 padding-left: 40px;
 position: relative;
}
.global-footer .access-btn a:before {
 content: "";
 background: url("../img/haru23.png") 0 0 no-repeat;
 background-size: contain;
 width: 32px;
 height: 47px;
 display: block;
 position: absolute;
 top: 26.5px;
 left: 70px;
}


/* --------------------------------------------------------
* c-gallery
* -------------------------------------------------------*/
.c-gallery {
 width: 950px;
 margin: 0 auto;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 text-align: center;
}
.c-gallery__item {
 margin: 1% 0.5%;
 width: 24%;
}
.c-gallery__img { width: 100%; }
.c-gallery__img img {
 width: 100%;
 height: auto;
}
.js-galleryTrigger { cursor: pointer; }
.c-galleryPopup {
 display: none;
 position: fixed;
 width: 100%;
 height: 100%;
 z-index: 2000;
 top: 0;
 left: 0;
}
.c-galleryPopup__bg {
 z-index: -1;
 width: 100%;
 height: 100%;
 position: absolute;
 background-color: rgba(0, 0, 0, 0.5);
 top: 0;
 left: 0;
}
.c-galleryPopup__outer {
 width: 100%;
 height: 100%;
 overflow: auto;
 text-align: center;
}
.c-galleryPopup__inner {
 display: inline-block;
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
}
.c-galleryPopup__init {
 width: auto;
 max-height: 715px;
 max-width: 90vw;
}
.c-gallery__item { opacity: 1; }
.c-gallery__item.is-hidden {
 opacity: 0;
 height: 0;
 margin: 0;
 z-index: -1;
}
.swiper-slide {
 background: #FFF;
 display: block;
}
.swiper-container.slider2 {
 padding-bottom: 10px;
 max-width: 640px;
 margin: 0 auto 60px;
}
.swiper-pagination-bullet { display: none !important; }

dt .level { font-weight: bold; }
.kami2nd {
 display: flex;
 justify-content: space-around;
}
.kami2nd > div { width: 42%; }
.about-block dl dt {
 display: inline-block;
 border: 2px solid #123D83;
 font-weight: bold;
 color: #123D83;
 padding: 5px 10px;
 border-radius: 10px;
 font-size: 18px;
 margin: 20px 0 10px;
}
.about-block {
 margin-top: 120px;
 margin-bottom: 80px;
}
.shoumei-btn {
 text-align: center;
 margin: 40px 0 100px;
}
.kami2nd {
 display: flex;
 justify-content: space-between;
}
.kami2nd > div { width: 42%; }
.list-btn {
 text-align: center;
 position: relative;
 z-index: 2;
 width: 264px;
 margin: 0 auto 120px;
 line-height: 2.5rem;
 z-index: 2;
 letter-spacing: 0.05em;
 color: #123D83;
 font-size: 21px;
 padding: 15px 0px;
 box-sizing: border-box;
 border-radius: 40px;
 background-color: #FFF;
 border: 2px solid #123D83;
}
.list-btn.is-btn-hidden { display: none; }
.list-btn button {
 border: none;
 cursor: pointer;
 outline: none;
 padding: 0;
}
.c-galleryPopup__close {
 pointer-events: all;
 display: block;
 position: absolute;
 right: 20px;
 top: 20px;
 width: 50px;
 height: 50px;
 background-position: center;
 background-repeat: no-repeat;
 background-image: url(../img/memorial/gallery/close@2x.png);
 background-size: contain;
}
.access-block {
 background: #F5FBFF;
 margin-bottom: 20px;
 padding: 120px 0 80px;
}
.access-block ul {
 display: flex;
 width: 900px;
 align-items: top;
 flex-wrap: wrap;
 margin: 0 auto;
}
.access-block ul li {
 width: 425px;
 margin-bottom: 30px;
}
.address { font-size: 16px; }
.access-block ul li .img { margin-bottom: 20px; }
.access-block ul li .shop-ttl {
 font-weight: bold;
 font-size: 22px;
 margin-bottom: 10px;
}
.access-block ul li:nth-child(2n) { margin-left: 50px; }


@media (max-width: 750px) {
 body {
  font-size: 13px;
  line-height: 1.8em;
  letter-spacing: 0.1em;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
 }
 .bg-top {
  position: relative;
  z-index: -1;
 }
 .wrapper { overflow-x: hidden; }
 .fix-btn { display: none; }
 .pc { display: none; }
 .sp { display: inline-block; }
	
 .drawer-menu-contents {
  position: fixed;
  z-index: 100;
  text-align: center;
  display: none;
  padding-bottom: 40px;
  width: 100%;
  height: 10000px;
  top: 0px;
  left: 0px;
 }
 .menu {
  z-index: 1000;
  -webkit-transition: opacity 500ms;
  transition: opacity 500ms;
 }
 .menu:hover { opacity: 0.6; }
 .drawer-menu.on { height: 100%; }
 .global-header .drawer-menu .menu {
  position: fixed;
  top: 10px;
  right: 10px;
  width: 37px;
  height: 37px;
  /*background: url("../img/menu-btn.png") no-repeat 0 0;*/
  background-size: contain;
  text-indent: 100%;
  white-space: nowrap;
 }
 .global-header .drawer-menu .menu a {
  width: 37px;
  height: 37px;
  margin-left: -37px;
 }
 .drawer-menu-contents {
  background: #123D83;
  display: none;
  z-index: 100;
 }
 .drawer-menu-contents ul { margin-top: 50px; }
 .drawer-menu-contents ul li {
  margin-bottom: 15px;
  font-size: 14px;
 }
 .drawer-menu-contents ul li a { color: #fff; }
	
 h2, h3 {
  color: #141414;
  font-weight: bold;
 }
 h2 {
  font-size: 24px;
  margin-bottom: 25px;
 }
 h3 {
  font-size: 18px;
  margin-bottom: 20px;
 }
 h3 span { font-size: 15px; }
 .inner {
  margin: 0 auto;
  width: 100%;
  padding: 0 4%;
  box-sizing: border-box;
  position: relative;
  text-align: center;
 }
 .global-header .logo {
  position: absolute;
  left: 10px;
  top: 10px;
 }
 .global-header .logo img {
  width: 90px;
 }
 .global-header .insta {
  position: absolute;
  right: 50px;
  top: 10px;
 }
 .global-header .insta img {
  width: 21.5px;
  height: auto;
 }
 .global-header ul {
  display: none;
 }
 .global-header li {
  display: inline-block;
  font-size: 16px;
 }
 .global-header li a {
  text-decoration: none;
  color: #FFF;
 }
 .main-vis .inner {
  width: 100%;
  padding-top: 30px;
 }
 /*
 .main-vis {
  margin: 0px 10px 10px;
  border-radius: 8px;
  padding-top: 30px;
 }
  */
  .main-vis {
    margin: 0px;
    border-radius: 8px;
    padding-top: 0px;
   }
 .main-vis .img-wrap {
  width: 100%;
  display: block;
  text-align: center;
 }
 .main-vis .img-wrap .icon {
  display: block;
 }
 .main-vis .img-wrap .img {
  display: block;
  margin-top: -30px;
 }
 .main-vis img {
  /*width: 319.5px;*/
  width: 100%;
  height: auto;
 }
 .main-img-wrap.pc{
  display: none;
}
.main-img-wrap.sp{
  display: block;
}

 .price-line {
  margin-bottom: 50px;
  margin-top: 0px;
 }

	
 /***** outline-block *****/
 .campaign-block { padding: 40px 0 10px; }
 .regist-box {
  text-align: left;
  width: 100%;
  margin: 10px auto 20px;
 }
 .campaign-block .inner { padding: 20px 4% 40px; }
 .contact-box {
  width: 92%;
  margin: 0 auto;
  text-align: center;
  background: #FFF;
  margin: 30px auto 60px;
  border: 5px solid #123D83;
  border-radius: 15px;
  padding: 0 20px 15px;
 }
 .contact-box dt { font-size: 16px; }
 .contact-box ul { display: block; }
 .contact-box ul li { margin: 0 0 10px; }
 .contact-box ul li:first-child { margin-right: 0px; }
 .high-attention {
  text-align: right;
  font-size: 11px;
  padding: 10px;
 }
 .plan01, .plan02 {
  width: 100%;
  margin: 0 auto;
  padding-top: 50px;
 }
 .plan01 { margin-bottom: 60px; }
 h3 {
  font-size: 20px;
  display: block;
  align-items: none;
  position: relative;
 }
 h3 .time {
  font-size: 12px;
  padding: 3px 8px;
  margin-left: 0px;
  margin-top: 10px;
  font-weight: normal;
  background: #F3F3F3;
 }
 .plan01 h3:before {
  content: "";
  position: absolute;
  top: -45px;
  left: 50%;
  margin-left: -14.5px;
  display: inline-block;
  width: 29px;
  height: 35px;
  margin-right: 0px;
  background: url("../img/01.png") 0 0 no-repeat;
  background-size: contain;
 }
 .plan02 h3:before {
  content: "";
  position: absolute;
  top: -45px;
  left: 50%;
  margin-left: -14.5px;
  display: inline-block;
  width: 29px;
  height: 35px;
  margin-right: 0px;
  background: url("../img/02.png") 0 0 no-repeat;
  background-size: contain;
 }
 .plan02 { margin-bottom: 60px; }
 .koukou-box {
  text-align: center;
  margin-bottom: 40px;
 }
 .koukou-box dt { margin-bottom: 20px; }
 .contact-btn, .product-btn { text-align: center; }
 .product-btn {
  line-height: 2.5rem;
  z-index: 2;
  letter-spacing: 0.05em;
  color: #FFF;
  font-size: 14px;
  width: 180px;
  margin: 20px auto 0;
  box-sizing: border-box;
  border-radius: 40px;
  background-color: #000;
  border: 2px solid #000;
 }
 .product-btn a {
  display: block;
  padding: 7px 0px;
 }
 .product-btn:hover { opacity: 0.5; }
 .contact-btn { margin-bottom: 20px; }
 .product-list {
  margin-top: 30px;
  margin-bottom: 20px;
 }
 .product-list li {
  border: 1px solid #efefef;
  border-radius: 5px;
  padding: 20px;
  margin-bottom: 10px;
  position: relative;
 }
 .product-list li:after {
  content: "";
  width: 20px;
  height: 20px;
  background: url("../img/plus-icon.png") 0 0 no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  z-index: 2;
  bottom: -15px;
  margin-left: -10px;
 }
 .product-list li .attention { padding-bottom: 10px; }
 .product-list li:last-child:after { display: none; }
 .product-list li .left-img-block { display: table; }
 .product-list li .left-img-block .img {
  display: table-cell;
  vertical-align: middle;
  padding-right: 15px;
 }
 .product-list li .left-img-block .list-ttl {
  display: table-cell;
  vertical-align: middle;
 }
 .recommend { display: table; }
 .recommend dt {
  display: table-cell;
  vertical-align: top;
  padding-right: 10px;
 }
 .recommend dd {
  text-align: left;
  display: table-cell;
  font-weight: normal;
  vertical-align: top;
 }
 .list-ttl {
  font-weight: bold;
  font-size: 18px;
  text-align: left;
  padding-bottom: 10px;
 }
 .center .list-ttl { text-align: center; }
 .list-ttl .small {
  font-weight: normal;
  display: inline-block;
  font-size: 12px;
  line-height: 1.4em;
 }
 .bg-bottom { margin-bottom: -100px; }
 .price-box .price {
  display: block;
  padding-top: 10px;
 }
 .data-box {
  margin-bottom: 60px;
  display: flex;
  flex-direction: column-reverse;
 }
 .data-box .img {
  display: block;
  padding-right: 0px;
  margin-bottom: 10px;
  width: 100%;
  vertical-align: middle;
 }
 .data-box .img img { width: 80%; }
 .data-box .text-box {
  display: block;
  text-align: left;
  vertical-align: middle;
 }
 .data-box .icon-wrap { margin-bottom: 20px; }
 .data-box .icon-wrap img:first-child { width: 258px; }
 .data-box .icon-wrap img:last-child { width: 197px; }
 .data-box .sub-ttl { margin-bottom: 10px; }
 .data-box .sub-ttl img { width: 151.5px; }
 .data-box .text-box .text { margin-bottom: 10px; }
 .data-box .text-box .attention { margin-bottom: 25px; }
 .campaign-box1 { margin-bottom: 0px; }
 .campaign-box h2 {
  color: #323256;
  font-size: 25px;
  font-weight: bold;
  margin-bottom: 10px;
 }
 .campaign-box2 .img {
  width: 100%;
  overflow-x: scroll;
 }
 .campaign-box2 .img img {
  width: 850px;
  max-width: initial;
 }
 .campaign-box1:after {
  content: "";
  width: 29.5px;
  height: 29px;
  display: inline-block;
  background: url("../img/plus.png") 0 0 no-repeat;
  margin: 20px auto 20px;
  background-size: contain;
 }
 .campaign-box2 .copy { margin-top: 0px; }
 .icon-wrap img { padding-bottom: 15px; }
 .gallery-box { margin-bottom: 30px; }
 .gallery-box h3 { margin-bottom: 40px; }
 .gallery-box h3 img { width: 77.5px; }
 .gallery-box ul { margin-bottom: 25px; }
 .gallery-box ul li {
  width: 32%;
  padding: 1%;
  display: inline-block;
 }
 .c-gallery { width: 100%; }
 .add-btn {
  width: 132px;
  display: inline-block;
 }
 .item-box {
  margin-top: 50px;
  margin-bottom: 60px;
  display: block;
 }
 .item-box .sub-ttl { width: 148px; }
 .item-box .img {
  position: relative;
  display: block;
  padding-left: 0px;
  width: 100%;
  vertical-align: middle;
 }
 .item-box .img img {
  width: 80%;
  margin-left: 10%;
 }
 .item-box .img img.star { width: 32.5px; }
 .item-box .img .star {
  position: absolute;
  right: -10px;
  top: -10px;
 }
 .item-box .text-box {
  display: block;
  text-align: left;
  vertical-align: middle;
 }
 .item-box .sub-ttl { margin-bottom: 10px; }
 .item-box .text-box .text { margin-bottom: 10px; }
 .item-box .text-box .text .copy { font-size: 12px; }
 .item-box .text-box .text .item-list {
  font-size: 12px;
  font-weight: bold;
 }
 .item-box .text-box .text span:first-child {
  display: block;
  margin-bottom: 10px;
 }
 .item-box .text-box .text span:last-child { font-size: 12px; }
 .item-box .text-box .attention { margin-bottom: 20px; }
 .pink-box label:after {
  width: 132px;
  font-size: 12px;
  padding: 5px 0px;
 }
 .voice-block .pink-box {
  background: #efefef;
  padding: 20px 0 25px;
  font-size: 10px;
  margin-bottom: 60px;
 }
 .concept-block h2 {
  z-index: 2;
  position: relative;
  width: 278.5px;
  height: 101px;
  background: #FFF;
 }
 .concept-box {
  border: 3px solid #123D83;
  padding: 100px 20px 35px;
  border-radius: 12px;
  text-align: left;
  margin-top: -90px;
 }
 .concept-box .inyou {
  font-size: 10px;
  padding-top: 10px;
  line-height: 1.3em;
  margin-bottom: 40px;
 }
 .concept-box dt {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
 }
 .data-detail table {
  width: 100%;
  margin: 0 auto;
  border: 1px solid #727272;
  border-bottom: 0;
 }
 table tr { border-bottom: 1px solid #727272; }
 table tr th {
  font-weight: bold;
  background-color: #b8b8b8;
  font-size: 14px;
 }
 .data-detail caption {
  text-align: left;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
 }
 table tr td {
  background-color: #fff;
  font-size: 12px;
  line-height: 1.6em;
 }
 table tr td .stx { font-size: 11px; }
 table tr td .red { color: #f00; }
 table th, table td {
  text-align: left;
  padding: 0.5em 0.5em;
 }
 .about-block { margin-top: 60px; }
 .about-block dl dt {
  font-size: 13px;
  padding: 5px;
 }
 .kami2nd > div { width: 48%; }
 .flow-block { margin-bottom: 80px; }
 .access-block {
  padding-top: 60px;
  padding-bottom: 60px;
 }
 .swiper-container.slider2 { margin-bottom: 30px; }
 .voice-block .pink-box ul li { text-align: left; }
 .voice-block .pink-box dl dt {
  font-size: 12px;
  margin-bottom: 10px;
  font-weight: bold;
 }
 .voice-block .pink-box dl dt .name {
  padding-top: 5px;
  display: block;
  font-weight: normal;
  font-size: 10px;
 }
 .voice-block .pink-box dl dt .num { color: #123d83; }
 .qa-block { margin-bottom: 100px; }
 .qa-block .inner { width: 100%; }
 .qa-block .inner ul li {
  border-bottom: 2px dotted #666;
  text-align: left;
  padding-bottom: 5px;
  margin-bottom: 20px;
 }
 .qa-block .inner ul li dl dt {
  font-size: 13px;
  margin-bottom: 10px;
  font-weight: bold;
 }
 .qa-block .inner ul li dl dd { display: none; }
 .access-block ul { width: 100%; }
 .access-block ul li:nth-child(2n) {
  margin-left: 0;
 }
 .access-block ul li {
  width: 100%;
  margin-bottom: 20px;
 }
 .access-block dl { display: table; }
 .access-block dt {
  display: table-cell;
  width: 35%;
 }
 .access-block dd {
  padding-left: 10px;
  text-align: left;
  display: table-cell;
 }
 .global-footer {
  display: none;
  background: #123D83;
  padding: 30px 0px;
 }
 .global-footer .inner {
  display: block;
  align-items: center;
 }
 .global-footer .foot-logo {
  padding-right: 0px;
  margin-bottom: 20px;
 }
 .global-footer .foot-logo img { width: 198px; }
 .global-footer .contact-btn a {
  background: #fff;
  border-radius: 4px;
  font-size: 12px;
  margin-right: 0px;
  margin-bottom: 10px;
  display: block;
  line-height: 50px;
  width: 100%;
  height: 50px;
 }
 .global-footer .access-btn a {
  background: #999;
  color: #FFF;
  border-radius: 4px;
  font-size: 12px;
  display: block;
  line-height: 50px;
  width: 100%;
  height: 50px;
 }
 .c-gallery__item {
  width: 31%;
  margin-left: 1.5%;
  margin-bottom: 5px;
 }
 .c-galleryPopup__init { max-height: 80vh; }
 .c-galleryPopup__close {
  width: 30px;
  height: 30px;
  top: 10px;
  right: 10px;
 }
 .list-btn img { width: 132px; }
 .sp-fix {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1000;
 }
 .sp-fix img { width: 100%; }
 .sp-fix .contact-btn-sp {
  width: 77%;
  display: inline-block;
 }
 .sp-fix .studio-btn-sp {
  width: 23%;
  display: inline-block;
 }
 .flow-block {
  text-align: center;
  margin-bottom: 60px;
 }
 .flow-block ul {
  display: flex;
  flex-wrap: wrap;
 }
 .flow-block ul li {
  width: 100%;
  display: table;
  padding-right: 0px;
  margin-bottom: 20px;
 }
 .flowtl span {
  font-size: 10px;
  background: #123D83;
  color: #FFF;
  padding: 2px 6px;
  margin-bottom: 5px;
  display: inline-block;
  border-radius: 100px;
 }
 .flowtl {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
 }
 p .stx { font-size: 12px; }
 .flow-block ul li picture {
  display: table-cell;
  width: 100px;
 }
 .flow-block ul li div {
  display: table-cell;
  padding-left: 10px;
  text-align: left;
  font-size: 14px;
  line-height: 1.4em;
 }
 .global-footer {
  padding: 100px 0px 30px;
  text-align: center;
  font-size: 12px;
 }
}


/**** LINE popup ****/
.top-btn {
 position: fixed;
 z-index: 20002;
 top: 379px;
 right: -5px;
 transition: all .3s;
 visibility: visible;
}
.fix-contact-btn {
 position: fixed;
 z-index: 20002;
 top: 178px;
 right: -5px;
 transition: all .3s;
 visibility: visible;
}
.open { cursor: pointer; }
.open img { display: inline-block; }
#pop-up { display: none; }
.overlay { display: none; }
#pop-up:checked + .overlay {
 display: block;
 z-index: 9999;
 background-color: #000;
 position: fixed;
 width: 100%;
 height: 100vh;
 top: 0;
 left: 0;
}
.window {
 width: 40%;
 max-width: auto;
 height: auto;
 border-radius: 6px;
 display: flex;
 justify-content: center;
 align-items: center;
 position: fixed;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
}
.window ul { text-align: center; }
.window ul li {
 text-align: left;
 display: inline-block;
 margin: 0 20px 30px;
 width: 200px;
}
.window ul li dl { margin-bottom: 30px; }
.window ul li dl dt {
 font-size: 16px;
 font-weight: bold;
 color: #FFF;
 margin-bottom: 10px;
}
.text {
 font-size: 18px;
 margin: 0;
}
.close {
 cursor: pointer;
 position: absolute;
 top: -50px;
 right: -150px;
 opacity: 1;
 color: #FFF;
 font-size: 100px;
}
.form-contents h3 { margin-top: 30px; }


@media only screen and (max-width: 767px) {
 .window { width: 100%; }
 .window ul li dl dt {
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  margin-bottom: 5px;
 }
 .window ul li {
  text-align: center;
  width: 100%;
  display: inline-block;
  margin: 0 0px 10px;
 }
 .window ul li dl { margin-bottom: 15px; }
 .window ul li img { height: 50px; }
 .top-btn {
  right: -3px;
  top: 309px;
  bottom: initial;
 }
 .fix-contact-btn {
  right: -3px;
  bottom: initial;
 }
 .fix-contact-btn img { width: 42px; }
 .top-btn .open img { width: 42px; }
 .close {
  cursor: pointer;
  position: absolute;
  top: initial;
  bottom: -30px;
  margin-right: -31px;
  right: 50%;
  opacity: 1;
  color: #FFF;
  font-size: 60px;
 }
 .form-menu, .form-time01, .form-time02 {
  border: 1px solid #8e8e8e;
  border-radius: 4px;
 }
 .tel { font-size: 18px; }
 .access-block ul li .shop-ttl {
  font-weight: bold;
  font-size: 15px;
  margin-bottom: 10px;
 }
 .list-btn {
  font-size: 14px;
  width: 180px;
  padding: 7px 0px;
 }
 .list-btn a { display: block; }
 .global-footer {
  display: block;
  background: #123d83;
  color: #fff;
  font-size: 10px;
  padding: 10px 0px;
 }
 .bg-bottom { display: none; }
 .voice-block { padding-top: 70px; }
 .center-img-block .small { text-align: left; }
}





