@charset "utf-8";
/* CSS Document */

/*============================
#topPanelArea
============================*/
#topPanelArea { position: relative; z-index: 1; }
#topPanelArea .image { border-radius: 0 0 100px 100px; overflow: hidden; box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.1); }
#topPanelArea .image img { width: 100%; height: auto; }
#topPanelArea .logo.sp { display: none; }
#topPanelArea .logo.sp img {}
#topPanelArea .catch { position: absolute; width: 1240px; margin: 0 auto; padding: 0 20px; bottom: 60px; left: 50%; transform: translateX(-50%); z-index: 1; }
#topPanelArea .catch .copy { padding-bottom: 20px; color: #fff; }
#topPanelArea .catch .mainCatch { color: #fff; font-size: 4em;  }

/*============================
#aboutArea
============================*/
#aboutArea {}
#aboutArea .bgContainer { position: relative; padding-bottom: 220px; }
#aboutArea .bgContainer:before { content: ''; position: absolute; top: -100px; background-image: url("../../imageFile/top/bg_about.jpg"); width: 100%; height: 110%; background-size: contain; }
#aboutArea .bgContainer .top { padding-top: 120px; text-align: center; }
#aboutArea .bgContainer .top .subTitle {}
#aboutArea .bgContainer .top .subTitle span { color: #9f44a8; }
#aboutArea .bgContainer .top .mainTitle { margin-top: 20px; font-size: 3.125em; font-feature-settings: "palt"; }
#aboutArea .bgContainer .content { display: flex; gap: 80px; margin-top: 90px; }
#aboutArea .bgContainer .content .leftArea {}
#aboutArea .bgContainer .content .leftArea .image { position: relative; width: 560px; height: 560px; }
#aboutArea .bgContainer .content .leftArea .image img { width: 100%; height: auto; }
#aboutArea .bgContainer .content .leftArea .copy01 { position: absolute; padding: 10px 16px; top: 360px; left: -10px; background-color:rgba(255,255,255,0.7); border-radius: 20px; font-size: 1.125em; font-weight: 600; }
#aboutArea .bgContainer .content .leftArea .copy02 { position: absolute; padding: 10px 16px; bottom: 145px; right: 630px; background-color:rgba(255,255,255,0.7); border-radius: 20px; font-size: 1.125em; font-weight: 600; }
#aboutArea .bgContainer .content .rightArea { text-align: center; }
#aboutArea .bgContainer .content .rightArea .catch { position: relative; padding-top: 65px; font-size: 1.5em; font-feature-settings: 'palt'; line-height: 1.85; }
#aboutArea .bgContainer .content .rightArea .catch:before { content: ''; position: absolute; top: 0; left: 0; width: 70px; height: 55px; background-image: url("../../imageFile/global/icon_comma.svg"); background-repeat: no-repeat; }
#aboutArea .bgContainer .content .rightArea .catch:after { content: ''; position: absolute; bottom: -65px; right: 0; transform: rotate(180deg); width: 70px; height: 55px; background-image: url("../../imageFile/global/icon_comma.svg"); background-repeat: no-repeat; }
#aboutArea .bgContainer .content .rightArea .copy { margin-top: 100px; line-height: 2.35; }
#aboutArea .bgContainer .content .rightArea .summary { margin-top: 40px; font-weight: 600; font-size: 1.125em; }
#aboutArea .bgContainer .content .rightArea .button { margin-top: 50px; }
#aboutArea .bgContainer .content .rightArea .button a {}
#aboutArea .bgContainer .swiper { margin-top: 110px; }
#aboutArea .bgContainer .swiper ul { display: flex; }
#aboutArea .bgContainer .swiper ul li { border-radius: 10px; overflow: hidden; flex-shrink: 0; }
#aboutArea .bgContainer .swiper ul li img { width: 100%; height: auto; }
#aboutArea .bgContainer .swiper ul li.type01 { width: 342px; height: 257px; }
#aboutArea .bgContainer .swiper ul li.type02 { width: 245px; height: 245px; }
#aboutArea .bgContainer .swiper ul li.type03 { width: 220px; height: 310px; }
#aboutArea .bgContainer .swiper ul li:nth-child(1) { margin-top: 70px; }
#aboutArea .bgContainer .swiper ul li:nth-child(2) {}
#aboutArea .bgContainer .swiper ul li:nth-child(3) { margin-top: 70px; }
#aboutArea .bgContainer .swiper ul li:nth-child(4) { margin-top: 20px; }
#aboutArea .bgContainer .swiper ul li:nth-child(5) { margin-top: 70px; }
#aboutArea .bgContainer .swiper ul li:nth-child(6) {}
#aboutArea .bgContainer .swiper ul li:nth-child(7) { margin-top: 70px; }
#aboutArea .bgContainer .swiper ul li:nth-child(8) {}
#aboutArea .bgContainer .swiper ul li:nth-child(9) { margin-top: 30px; }
#aboutArea .bgContainer .swiper ul li:nth-child(10) { margin-top: 70px; }
#aboutArea .bgContainer .swiper ul li:nth-child(11) { margin-top: 30px; }
#aboutArea .bgContainer .swiper ul li:nth-child(12) {}

/*============================
#menuArea
============================*/
#menuArea { padding-bottom: 80px; background-color: #f8fbf8; }
#menuArea .parts { position: relative; }
#menuArea .parts:before { content: ''; position: absolute; top: -98px; left: 50%; transform: translateX(-50%); width: 100%; height: 160px; border-radius: 100px 100px 0 0; background-color: #f8fbf8; }
#menuArea .top { display: flex; gap: 70px; }
#menuArea .top .titleArea {}
#menuArea .top .titleArea .title {}
#menuArea .top .titleArea .ja { margin-top: 20px; color: #9f44a8; }
#menuArea .top .copy { font-weight: 600; line-height: 1.5; }
#menuArea .top .button.pc { display: block; margin-left: 0; }
#menuArea .top .button.pc a {}
#menuArea ul { display: flex; gap: 60px; margin-top: 70px; }
#menuArea ul li {}
#menuArea ul li .image { width: 360px; height: 270px; }
#menuArea ul li .image img { width: 100%; height: 100%; object-fit: cover; }
#menuArea ul li .content { margin-top: 20px; }
#menuArea ul li .content .name { font-size: 1.125em; font-weight: 600; }
#menuArea ul li .content .copy { margin-top: 15px; font-size: 0.875em; font-feature-settings: 'palt'; }
#menuArea .button.sp { display: none; }
#menuArea .button.sp a {}

/*============================
#accessArea
============================*/
#accessArea { margin-top: 80px; }
#accessArea iframe.sp { display: none; }
#accessArea .top { position: relative; text-align: center; }
#accessArea .top:before { content: ''; position: absolute; top: -80px; left: 50%; transform: translateX(-50%); width: 1200px; height: 1px; background-color: #ccc; }
#accessArea .top .title {}
#accessArea .top .ja { margin-top: 20px; color: #9f44a8; }
#accessArea .content { margin-top: 60px; }
#accessArea .content .address { text-align: center; }
#accessArea .content .detail { display: flex; justify-content: space-around; margin-top: 65px; }
#accessArea .content .detail .leftArea { width: 38%; }
#accessArea .content .detail .leftArea .name { text-align: center; font-size: 1.125em; font-weight: 600; }
#accessArea .content .detail .leftArea ul { margin-top: 20px; }
#accessArea .content .detail .leftArea ul li { padding-bottom: 5px; line-height: 1.5; }
#accessArea .content .detail .rightArea { width: 41%; }
#accessArea .content .detail .rightArea .name { text-align: center; font-size: 1.125em; font-weight: 600; }
#accessArea .content .detail .rightArea ul { margin-top: 20px; }
#accessArea .content .detail .rightArea ul li { padding-bottom: 5px; line-height: 1.5; }
#accessArea iframe.pc { display: block; margin-top: 60px; }

/*============================
#contactArea
============================*/
#contactArea { padding: 70px 0 100px; background-color: #f5f3e4; }
#contactArea .top { position: relative; }
#contactArea .top:before { content: ''; position: absolute; bottom: -50px; left: calc(50% - 0.5px); transform: none; width: 1px; height: 30px; background-color: #777; }
#contactArea .top .title { text-align: center; font-size: 6.25em; font-weight: 600; opacity: 0.15; }
#contactArea .top .ja { text-align: center; margin-top: 15px; font-size: 1.375em; }
#contactArea .content { display: flex; margin-top: 95px; padding: 0 115px; justify-content: space-around; }
#contactArea .content .tel { text-align: center; }
#contactArea .content .tel .number { font-size: 2em; font-weight: 600; }
#contactArea .content .tel .number a {}
#contactArea .content .tel .time { margin-top: 10px; font-size: 0.875em; letter-spacing: normal; }
#contactArea .content .button {}
#contactArea .content .button a { border: none; background-color: #46340e; color: #fff; padding: 23px 0 21px 10px; }
#contactArea .content .button a::after { display: block; content: ""; position: absolute; top: 50%; transform: translateY(-50%); right: 35px; width: 14px; height: 12px; background: url("../../imageFile/global/icon_arrow_wh.svg") no-repeat center; background-size: 14px auto; transition: 0.25s all; }
#contactArea .content .button a:hover::after { right: 30px; }
#contactArea .content .button a::before { display: block; content: ""; position: absolute; top: 50%; transform: translateY(-50%); left: 90px; width: 20px; height: 15px; background: url("../../imageFile/global/icon_mail_wh.svg") no-repeat center; background-size: contain; transition: 0.25s all; }

