
.cm-lead {
text-align: center;
}
@media screen and (max-width: 960px) {
.cm-lead {
text-align: left;
}
.cm-lead br {
display: none;
}
}



.cm-label {
text-align: center;
}

.cm-label .en {
font-size: 90px;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
line-height: 90px;
letter-spacing: 0.04em;
}
.cm-label .ja {
font-size: 15px;
line-height: 1.5;
}
@media screen and (max-width: 960px) {
.cm-label .en {
font-size: 36px;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
line-height: 36px;
}
.cm-label .ja {
font-size: 13px;
line-height: 1.3;
}
}


/*--------------------------------------------------------------------------
header
---------------------------------------------------------------------------*/
.fix-header {
width: 100%;
position: fixed;
height: 80px;
z-index: 9999;
background: #fff;
opacity: 0;
transform: translateY(20px);
pointer-events: none;
transition: opacity 0.4s ease, transform 0.4s ease;
}
.fix-header.is-show {
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}
.fix-header .logo {
width: 220px;
padding-left: 20px;
}
.fix-header ul.menu-list {
width: calc(100% - 370px);
padding-right: 15px;
text-align: right;
}
.fix-header ul.menu-list li {
display: inline-block;
}
.fix-header ul.menu-list li a {
font-size: 13px;
padding-right: 15px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.fix-header ul.menu-list li a:hover {
color: #b8a679;
}

.fix-header ul.menu-list li:last-child a {
display: none;
}
.fix-header .btn {
width: 150px;
height: 100%;
background: #b8a679;
}
.fix-header .btn a {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 13px;
font-weight: 600;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;

}
.fix-header .btn a:hover {
background: #666;
}

@media screen and (max-width: 1200px){
.fix-header ul.menu-list li a {
font-size: 12px;
padding-right: 10px;
}
.fix-header .btn a {
font-size: 12px;
}
}
@media screen and (max-width: 1000px){
.fix-header ul.menu-list li a {
font-size: 11px;
padding-right: 10px;
}
.fix-header .btn a {
font-size: 11px;
}
.fix-header .logo {
width: 200px;
}
.fix-header ul.menu-list {
width: calc(100% - 320px);
padding-right: 15px;
}
.fix-header .btn {
width: 120px;
}
}


@media screen and (max-width: 960px){
.fix-header {
height: auto;
opacity: 1!important;
position: relative;
transform: initial;
}

.fix-header .logo {
width: 100%;
padding: 10px 0;
}
.fix-header .logo img {
width: 150px;
display: block;
margin: 0 auto;
}
.fix-header ul.menu-list {
display: none;
}
.fix-header .btn {
display: none;
}
}


/*--------------------------------------------------------------------------
lead
---------------------------------------------------------------------------*/
.lead-wrap {
display: grid;
grid-template-columns: 1fr 640px 1fr;
align-items: start;
gap: 40px;
align-items: stretch; 
}
.lead-wrap .inner {
width: 100%;
text-align: center;
}
.lead-wrap .vis1 {
height: 100%;
position: relative;
}
.lead-wrap .vis1 .box {
position: absolute;
width: 90%;
max-width: 600px;
display: block;
margin: 0 auto;
aspect-ratio: 1/1;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
left: 0;
right: 0;
}
.lead-wrap .vis1 .box img.adjust01  {
width: 60%;
position: absolute;
top: 0;
left: 0;
z-index: 10;
}
.lead-wrap .vis1 .box img.adjust02 {
width: 60%;
position: absolute;
bottom: -20%;
right: 0;
}
.lead-wrap .vis2 {
height: 100%;
margin-top: 10%;
position: relative;
}
.lead-wrap .vis2 .box {
position: absolute;
width: 90%;
max-width: 600px;
display: block;
margin: 0 auto;
aspect-ratio: 1/1;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
left: 0;
right: 0;
}
.lead-wrap .vis2 .box img.adjust01 {
width: 90%;
display: block;
position: absolute;
top: 0;
left: 0
}
.lead-wrap .vis2 .box img.adjust02 {
width: 45%;
display: block;
position: absolute;
bottom: 10%;
right: 0;
}

@media screen and (max-width: 1200px){

.lead-wrap{
grid-template-columns: 1fr 1fr;
grid-template-areas:
"inner inner"
"vis1  vis2";
}

/* ★これが最重要：grid-area を“確実に”当てる */
.lead-wrap > .inner{ grid-area: inner; }
.lead-wrap > .vis1{ grid-area: vis1; }
.lead-wrap > .vis2{ grid-area: vis2; }

/* 高さ100%を外す（自然な高さに） */
.lead-wrap > .vis1,
.lead-wrap > .vis2{
height: 500px;
}
.lead-wrap .vis1 .box {
width: 100%;
}
.lead-wrap .vis1 .box img.adjust01  {
width: auto;
height: 60%;
position: absolute;
top: 0;
left: 0;
z-index: 10;
}
.lead-wrap .vis1 .box img.adjust02 {
width: auto;
height: 60%;
position: absolute;
bottom: 0;
right: 10%;
}
.lead-wrap .vis2 .box {
width: 90%;
margin-top: 20%;
}
/* vis2 の absolute レイアウトもSPでは自然な流れにする */
.lead-wrap > .vis2{
position: relative;
}
}


@media screen and (max-width: 960px){

.lead-wrap .inner {
width: 86.6666%;
margin: 0 auto;
text-align: center;
}

/* 高さ100%を外す（自然な高さに） */
.lead-wrap > .vis1,
.lead-wrap > .vis2{
height: 500px;
}
.lead-wrap .vis1 .box {
top: 40%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.lead-wrap .vis2 .box {
width: 100%;
margin-top: 15%;
top: 40%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
}

@media screen and (max-width: 768px){
.lead-wrap > .vis1,
.lead-wrap > .vis2{
height: 300px;
}
.lead-wrap .vis1 .box img.adjust01  {
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 10;
}
.lead-wrap .vis1 .box img.adjust02 {
display: none;
}
.lead-wrap .vis2 .box img.adjust02 {
width: 60%;
bottom: 0;
}
}


.lead-wrap .catch span {
font-size: 18px;
font-weight: 700;
line-height: 18px;
}
.lead-wrap .catch h1 {
margin-top: 5px;
font-size: 40px;
font-weight: 700;
line-height: 40px;
letter-spacing: 0;
}
.lead-wrap .catch h1 br {
display: none;
}
.lead-wrap .message {
font-size: 18px;
font-weight: 700;
}
.lead-wrap .message p {
margin-top: 20px;
font-size: 20px;
font-weight: 700;
line-height: 2.4;
position: relative;
z-index: 10;
}

@media screen and (max-width: 768px) {
.lead-wrap .catch h1 {
font-size: 32px;
line-height: 32px;
line-height: 1.3;
}
.lead-wrap .catch h1 br {
display: block;
}
.lead-wrap .message {
text-align: left;
}
.lead-wrap .message p {
margin-top: 20px;
font-size: 16px;
font-weight: 700;
line-height: 2.2;
}
}
/*--------------------------------------------------------------------------
package
---------------------------------------------------------------------------*/
.package .catch {
font-size: 32px;
font-weight: 700;
letter-spacing: 0;
line-height: 1.4;
text-align: center;
position: relative;
}
.package .catch .inner {
display: inline-block;
margin: 0 auto;
letter-spacing: 0.04em;
}
.package .catch img {
margin-top: 10px;
display: block;
}
.package ul.point-list {
width: 90%;
max-width: 1440px;
margin: 0 auto;
align-items: flex-start;
}
.package ul.point-list li {
width: 22%;
}

@media screen and (max-width: 960px) {
.package {
margin-top: 0!important;
}
}

@media screen and (max-width: 768px) {
.package .catch {
font-size: 22px;
font-weight: 700;
letter-spacing: 0;
line-height: 1.4;
text-align: center;
}
.package ul.point-list {
width: 90%;
margin: 0 auto;
}
.package ul.point-list li {
width: 48%;
margin-bottom: 30px;
}
}
/*--------------------------------------------------------------------------
set
---------------------------------------------------------------------------*/
.set {
border: solid 1px #333;
}

.set .label {
padding: 10px 0;
background: #b8a679;
color: #fff;
font-size: 28px;
text-align: center;
font-weight: 700;
}


.set .set-list {
position: relative;
}

.set .set-list::after {
content: "＋";
display: block;
width: 60px;
height: 60px;
margin: 0 auto;
border-radius: 100px;
font-size: 12px;
text-align: center;
font-weight: 700;
line-height: 60px;
color: #fff;
background: #b8a679;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
left: 0;
right: 0;
}

.set .set-list .box {
width: 48%;
width: 50%;
padding: 50px 0;
text-align: center;
}
.set .set-list .box:first-child {
border-right: dotted 1px #d3d3d3;
}
.set .set-list .plus {
display: none;
}
.set .set-list p {
margin-top: 5px;
font-size: 24px;
line-height: 24px;
}
.set .set-list b {
display: block;
margin-top: 10px;
font-size: 32px;
font-weight: 700;
line-height: 32px;
}

@media screen and (max-width: 960px) {
.set .label {
padding: 10px 0;
background: #b8a679;
color: #fff;
font-size: 18px;
text-align: center;
}
.set .set-list::after {
display: none;
}
.set .set-list .box {
width: 100%;
padding: 20px 0;
text-align: center;
}
.set .set-list .box:last-child {
padding: 20px 0 30px;
}

.set .set-list .plus {
width: 100%;
display: block;
text-align: center;
position: relative;
}
.set .set-list .plus::after {
content: "";
width: 100%;
height: 1px;
display: block;
background: #d3d3d3;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
z-index: -1;
}
.set .set-list .box p {
margin-top: 7px;
font-size: 18px;
line-height: 18px;
}
.set .set-list .box b {
display: block;
margin-top: 7px;
font-size: 24px;
font-weight: 700;
line-height: 24px;
}
.set .set-list .plus span {
width: 40px;
height: 40px;
display: block;
margin: 0 auto;
border-radius: 100px;
font-size: 12px;
text-align: center;
font-weight: 700;
line-height: 40px;
color: #fff;
background: #b8a679;
}

}

/*--------------------------------------------------------------------------
simulation
---------------------------------------------------------------------------*/
.simulation {
background: #f7f8f5;
position: relative;
} 
.simulation table  {
width: 100%;
border-collapse: separate; /* ←collapseをやめる */
border-spacing: 0;
table-layout: fixed;
border: 1px solid #333;   
} 
.simulation table td {
padding: 20px;
text-align: center;
border-right: 1px solid #333;
border-bottom: 1px solid #333;
font-size: 16px;
background: #fff;
vertical-align: middle;
} 
/* 右端は右線なし */
.simulation table td:last-child {
border-right: 0;
}
/* 最下段は下線なし（tr指定でもOK） */
.simulation table tr:last-child td {
border-bottom: 0;
}
.simulation table td.index {
font-weight: 700;
} 
.simulation table td.label {
background: #b8a679;
color: #fff;
font-size: 20px;
font-weight: 700;
line-height: 1.5;
} 
.simulation table td .price p {
display: inline;
font-size: 80px;
font-family: "EB Garamond", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
line-height: 80px;
letter-spacing: 0;
} 
.simulation table td .price small {
display: inline;
font-size: 20px;
font-weight: 700;
line-height: 20px;
} 
.simulation table td .hosoku {
display: inline-block;
position: relative;
} 
.simulation table td .hosoku p {
line-height: 1.5;
z-index: 10;
position: relative;
} 
.simulation table td .hosoku::after {
content: "";
display: block;
width: 100%;
height: 10px;
background: #ffff00;
position: absolute;
bottom: 0;
left: 0;
z-index: 1;
} 

@media screen and (max-width: 960px) {
.simulation .lead {
text-align: left;
} 
.simulation .lead br {
display: none;
} 
.simulation table td {
padding: 20px 15px;
font-size: 13px;
} 
.simulation table td.index {
} 
.simulation table td.label {
font-size: 15px;
letter-spacing: 0;
line-height: 1.5;
} 
.simulation table td .price p {
display: inline;
font-size: 32px;
line-height: 32px;
} 
.simulation table td .price small {
display: inline;
font-size: 15px;
line-height: 15px;
} 
.simulation table td .hosoku p {
margin-top: 3px;
font-size: 12px;
line-height: 1.4;
} 
.simulation table td .hosoku::after {
content: "";
display: block;
width: 100%;
height: 70%;
background: #ffff00;
position: absolute;
bottom: 0;
left: 0;
z-index: 1;
} 
}

.simulation .note {
font-size: 12px;
text-align: center;
} 
@media screen and (max-width: 768px) {
.simulation .note {
font-size: 11px;
} 
}


/*--------------------------------------------------------------------------
plan
---------------------------------------------------------------------------*/
.plan .label {
text-align: center;
}
.plan .label h2 {
font-size: 32px;
font-family: "EB Garamond", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
line-height: 32px;
}
.plan .label h2.ja {
margin-bottom: 10px;
font-size: 24px;
font-family: "Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
line-height: 24px;
}

.plan .label .price {
max-width: 400px;
margin: 0 auto;
}

.plan ul.plan-list {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 20px;
padding: 0;
margin: 0;
list-style: none;
}
.plan ul.plan-list li {
min-width: 0;
text-align: center;
position: relative;
}
.plan ul.plan-list li::after {
content: "";
display: block;
width: 70%;
aspect-ratio: 1 / 1;
margin: 0 auto;
background: #f7f8f5;
border-radius: 50%;
position: absolute;
top: 50%;
left: 0;
right: 0;
transform: translateY(-50%);
z-index: -2;
}
.plan ul.plan-list li .cover {
width: 70%;
margin: 0 auto;
}
.plan ul.plan-list li .cover img {
max-width: 100%;
height: auto;
display: block;
}

.plan ul.plan-list li .txt {
line-height: 1.5;
}
.plan ul.plan-list li .txt p {
font-size: 14px;
font-weight: 700;
position: relative;
}

.plan ul.plan-list li.recommend .txt p {
display: inline;
line-height: 1.5;
background: linear-gradient(transparent 70%, #ffff00 70%);
}
.plan ul.plan-list li .txt small {
display: block;
margin-top: 4px;
font-size: 11px;
line-height: 1.5;
}
@media screen and (max-width: 1200px) {
.plan ul.plan-list {
grid-template-columns: repeat(5, 1fr);
}
}
@media screen and (max-width: 768px) {
.plan .label h2.ja {
margin-top: 20px;
}
.plan ul.plan-list {
grid-template-columns: repeat(3, 1fr);
}
.plan ul.plan-list li::after {
content: "";
display: block;
width: 80%;
aspect-ratio: 1 / 1;
margin: 0 auto;
background: #f7f8f5;
border-radius: 50%;
position: absolute;
top: 50%;
left: 0;
right: 0;
transform: translateY(-50%);
z-index: -2;
}
.plan ul.plan-list li .txt p {
font-size: 12px;
font-weight: 700;
letter-spacing: 0;
}
.plan ul.plan-list li .txt small {
display: block;
margin-top: 3px;
font-size: 10px;
line-height: 1.5;
}
.plan ul.plan-list li .txt small br {
display: none;
}
}

.plan .line {
width: 100%;
height: 1px;
position: relative;
}
.plan .line::before {
content: "＋";
display: block;
width: 60px;
height: 60px;
margin: 0 auto;
font-size: 12px;
text-align: center;
font-weight: 700;
line-height: 60px;
background: #333;
border-radius: 100px;
color: #fff;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
left: 0;
right: 0;
z-index: 10;
}
.plan .line::after {
content: "";
display: block;
width: 100%;
height: 1px;
display: block;
margin: 0 auto;
background: #333;
position: absolute;
top: 50%;
left: 0;
right: 0;
}
@media screen and (max-width: 768px) {
.plan .line {
margin-top: 20px;
}
}


.plan .txt-style {
text-align: center;
}
.plan .txt-style .txt {
display: inline-block;
margin: 0 auto;
font-size: 16px;
line-height: 16px;
}
.plan .txt-style .txt img {
width: auto;
margin-top: 10px;
display: block;
}
.plan .menu .card {
width: 45%;
border: solid 1px #333;
display: flex;
}
.plan .menu .plus {
width: 10%;
position: relative;
}
.plan .menu .plus::after {
content: "OR";
display: block;
width: 60px;
height: 60px;
margin: 0 auto;
background: #333;
border-radius: 100px;
color: #fff;
line-height: 60px;
text-align: center;
}


.plan .menu .card .cover {
width: 180px;
}
.plan .menu .card .txt {
width: calc(100% - 180px);
padding: 0 30px;
align-self: center;
}
.plan .menu .card .txt p {
font-size: 24px;
font-weight: 700;
line-height: 1.3;
}
.plan .menu .card .txt small {
display: block;
margin-top: 5px;
font-size: 12px;
line-height: 1.5;
}
@media screen and (max-width: 960px) {
.plan .menu .card {
width: 100%;
}
.plan .menu .card .cover {
width: 120px;
}
.plan .menu .card .txt {
width: calc(100% - 120px);
padding: 0 20px;
align-self: center;
}
.plan .menu .plus {
width: 100%;
margin: 10px 0;
position: relative;
}
.plan .menu .plus::after {
content: "OR";
display: block;
width: 40px;
height: 40px;
margin: 0 auto;
background: #333;
border-radius: 100px;
color: #fff;
line-height: 40px;
text-align: center;
}
.plan .menu .card .txt p {
font-size: 15px;
font-weight: 700;
line-height: 1.5;
}
.plan .menu .card .txt small {
display: block;
margin-top: 5px;
font-size: 11px;
line-height: 1.5;
}
}


/*--------------------------------------------------------------------------
party
---------------------------------------------------------------------------*/
.party .vis {
width: 100%;
height: 500px;
overflow: hidden;
}

.party .vis .box {
width: 100%;
height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
color: #FFF;
clip-path: inset(0);
}

.party .vis .box::before {
content: "";
width: 100%;
height: 100vh;
background-image: url("../img/party/bg.jpg");
background-position: center center;
background-size: cover;
position: fixed;
top: 0;
left: 0;
z-index: -2;
}

@media screen and (max-width: 960px) {
.party .vis {
width: 100%;
height: 250px;
overflow: hidden;
}
.party .vis .box::before {
content: "";
width: 100%;
height: 100vh;
background-image: url("../img/party/bg-sp.jpg");
background-size: cover;
position: fixed;
top: 0;
left: 0;
z-index: -2;
}
}

.party .txt-which {
text-align: center;
}
.party .txt-which .txt {
display: inline-block;
margin: 0 auto;
}
.party .txt-which .txt p {
font-size: 28px;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
line-height: 28px;
}
.party .txt-which img {
width: auto;
display: block;
margin-top: 10px;
}

.party .menu {
position: relative;
}
.party .menu::after {
content: "";
display: block;
width: 100%;
height: 1px;
background: #333;
position: absolute;
top: 50%;
left: 0;
right: 0;
z-index: -1;
}

.party .menu ul.menu-list {
width: 90%;
max-width: 800px;
margin: 0 auto;
}
.party .menu ul.menu-list li {
width: 49%;
padding: 20px 0;
text-align: center;
background: #fff;
box-shadow: 0 0 0 1px #333 inset;
cursor: pointer;
}
.party .menu ul.menu-list li.active {
background: #b8a679;
color: #fff;
box-shadow: 0 0 0 1px #b8a679 inset;
position: relative;
}
.party .menu ul.menu-list li.active::after {
content: "";
position: absolute;
bottom: -19px;
right: 30%;
width: 20px;
height: 20px;
background: #b8a679;
clip-path: polygon(100% 0, 100% 100%, 0 0);
}
.party .menu ul.menu-list li.active:last-child::after {
content: "";
position: absolute;
bottom: -19px;
left: 30%;
right: initial;
width: 20px;
height: 20px;
background: #b8a679;
clip-path: polygon(0 0, 100% 0, 0 100%);
}

.party .menu ul.menu-list li span {
display: block;
font-size: 16px;
letter-spacing: 0;
line-height: 1.5;
}
.party .menu ul.menu-list li p {
font-size: 24px;
letter-spacing: 0;
font-weight: 700;
line-height: 1.5;
}

@media screen and (max-width: 960px) {
.party .txt-which .txt p {
font-size: 16px;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
line-height: 16px;
}
.party .menu ul.menu-list li {
padding: 15px 0;
}
.party .menu ul.menu-list li.active::after {
content: "";
position: absolute;
bottom: -14px;
right: 30%;
width: 15px;
height: 15px;
background: #b8a679;
clip-path: polygon(100% 0, 100% 100%, 0 0);
}
.party .menu ul.menu-list li.active:last-child::after {
content: "";
position: absolute;
bottom: -14px;
left: 30%;
right: initial;
width: 15px;
height: 15px;
background: #b8a679;
clip-path: polygon(0 0, 100% 0, 0 100%);
}

.party .menu ul.menu-list li span {
display: block;
font-size: 12px;
letter-spacing: 0;
line-height: 1.5;
}
.party .menu ul.menu-list li p {
font-size: 15px;
letter-spacing: 0;
font-weight: 700;
line-height: 1.5;
}
}

.party .intro .txt {
width: 45%;
padding-right: 5%;
}
.party .intro .cover {
width: 55%;
}
.party .intro .txt h2 {
font-size: 24px;
font-weight: 700;
line-height: 1.5;
}

@media screen and (max-width: 960px) {
.party .intro {
}
.party .intro .txt {
width: 100%;
margin: 20px 0 10px;
padding-right: 0;
}
.party .intro .cover {
width: 100%;
order: -1;
}
.party .intro .txt h2 {
font-size: 18px;
}
}

.party .chef {
width: 86.6666%;
max-width: 560px;
margin: 0 auto;
position: relative;
}
.party .chef .dec {
width: 50%;
position: absolute;
top: -50px;
left: -80px;
}
.party .chef .cover {
width: 250px;
}
.party .chef .txt {
width: calc(100% - 250px);
padding-left: 5%;
}

@media screen and (max-width: 960px) {
.party .chef {
}
.party .chef .cover {
width: 150px;
}
.party .chef .txt {
width: calc(100% - 150px);
padding-left: 5%;
}
.party .chef .txt br {
display: none;
}
.party .chef .dec {
width: 40%;
position: absolute;
top: -45px;
left: -20px;
}
}

.party .possible {
width: calc(100% - 40px);
margin: 0 auto;
background: #f7f8f5;
border-radius: 3px;
}
.party .possible .label {
display: flex;
justify-content: center;
}
.party .possible .label .check {
width: 30px;
display: flex;
align-items: center;
}
.party .possible .label .txt {
padding-left: 10px;
font-size: 24px;
font-weight: 700;
}
.party .possible ul.possible-list {
width: 90%;
max-width: 800px;
margin: 0 auto;
}
.party .possible ul.possible-list li {
width: 31%;
text-align: center;
}
.party .possible ul.possible-list li .cover img {
border-radius: 100%;
}
.party .possible ul.possible-list li .txt {
margin-top: 20px;
font-weight: 700;
line-height: 1.5;
}


@media screen and (max-width: 960px) {
.party .possible {
width: 100%;
border-radius: 0;
}
.party .possible .label .check {
width: 20px;
}
.party .possible .label .txt {
padding-left: 10px;
font-size: 18px;
}
.party .possible ul.possible-list {
align-items: flex-start;
}
.party .possible ul.possible-list li .txt {
font-size: 12px;
letter-spacing: 0;
}
}

@media screen and (max-width: 768px) {
.party .possible ul.possible-list li {
width: 30%;
}
.party .possible ul.possible-list li .txt {
margin-top: 5px;
}
}

/*--------------------------------------------------------------------------
venue
---------------------------------------------------------------------------*/
.venue .cm-label {
width: 92%;
margin: 0 auto;
text-align: left;
}
.venue ul.venue-list {
align-items: flex-start;
}
.venue ul.venue-list li {
width: 33.3333%;
}
.venue ul.venue-list li .txt {
padding: 20px 30px;
}
.venue ul.venue-list li .txt b {
display: block;
font-size: 24px;
font-weight: 700;
text-align: center;
}
.venue ul.venue-list li .txt p {
margin-top: 5px;
}
.venue ul.venue-list li .txt ul.btn li {
display: none;
}
.venue ul.venue-list li .txt ul.btn li:first-child {
max-width: 200px;
display: block;
margin: 20px auto 0;
padding: 12px 0;
background: #b8a679;
border-radius: 100px;
color: #fff;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
text-align: center;
line-height: 1.5;
border-top: none;
cursor: pointer;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.venue ul.venue-list li .txt ul.btn li:first-child:hover {
background: #666;
}


.venue ul.venue-list li .txt ul.btn li:first-child img {
display: none;
}

@media screen and (max-width: 1200px) {
.venue ul.venue-list li .txt ul.btn li:first-child {
width: 80%;
font-size: 13px;
}

}


@media screen and (max-width: 960px) {
.venue .cm-label {
text-align: center;
}
.venue ul.venue-list {
border-bottom: solid 1px #333;
}
.venue ul.venue-list li {
width: 100%;
display: flex;
border-top: solid 1px #333;
}
.venue ul.venue-list li .cover {
width: 170px;
}
.venue ul.venue-list li .cover img {
aspect-ratio: 3/4;
object-fit: cover;
}

.venue ul.venue-list li .txt {
width: calc(100% - 170px);
padding: 0 20px;
align-self: center;
text-align: left;
}
.venue ul.venue-list li .txt b {
display: block;
font-size: 16px;
font-weight: 700;
text-align: left;
}
.venue ul.venue-list li .txt p {
margin-top: 5px;
font-size: 12px;
line-height: 1.6;
}
.venue ul.venue-list li .txt ul.btn li:first-child {
width: 90%;
max-width: 120px;
display: block;
margin: 10px 0 0;
padding: 5px 0;
background: #b8a679;
border-radius: 100px;
color: #fff;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
text-align: center;
line-height: 1.5;
}
}


/*--------------------------------------------------------------------------
attire
---------------------------------------------------------------------------*/
.attire .lead-txt {
text-align: center;
}
.attire .lead-txt .txt {
display: inline-block;
font-size: 20px;
font-weight: 700;
line-height: 1.6;
}
.attire .lead-txt .txt img {
width: auto;
margin-top: 10px;
display: block;
}
.attire .card-box .card {
width: 48%;
padding: 30px;
border: solid 1px #333;
position: relative;
background: #fff;
}
.attire .card-box .card::after {
content: "";
width: 100%;
height: 100%;
position: absolute;
top: 15px;
left: 15px;
background: #333;
z-index: -1;
}

.attire .card-box .card .title {
text-align: center;
}
.attire .card-box .card .title b {
display: block;
font-size: 36px;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
line-height: 36px;
}
.attire .card-box .card .title span {
display: block;
margin-top: 7px;
font-size: 12px;
line-height: 12px;
}
.attire .attire-gallery {
overflow: hidden;
position: relative;
}
.attire .attire-gallery img {
border-radius: 5px;
}
.attire .attire-gallery .swiper-slide {
opacity: 0.1;
}
.attire .attire-gallery .swiper-slide.swiper-slide-active {
opacity: 1;
}
.attire .attire-gallery .controll {
width: 250px;
height: 60px;
margin: 0 auto;
font-style: normal;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
position: relative;
z-index: 1;
}
.attire .attire-gallery .controll .swiper-pagination-fraction {
position: relative!important;
bottom: 0!important;
padding-top: 0!important;
}
.attire .attire-gallery .controll .swiper-pagination-fraction span {
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
}
.attire .attire-gallery .controll .swiper-button-prev {
margin-top: 0!important;
background-image: url("../img/attire/arrow.svg");
background-size: cover;
width: 60px;
height: 60px;
position: absolute;
top: 0;
left: 0;
}
.attire .attire-gallery .controll .swiper-button-next {
margin-top: 0!important;
background-image: url("../img/attire/arrow.svg");
background-size: cover;
width: 60px;
height: 60px;
position: absolute;
top: 0;
right: 0;
-webkit-transform: scale(-1, 1);
transform: scale(-1, 1);
}
.attire .attire-gallery .controll .swiper-button-prev:after, .attire .attire-gallery .controll .swiper-button-next:after {
display: none;
}
.swiper-pagination-fraction {
line-height: 50px;
pointer-events: none;
}

@media screen and (max-width: 768px) {
.attire .lead-txt .txt {
font-size: 18px;
}
.attire .card-box {
width: 90%;
margin: 0 auto;
}
.attire .card-box .card {
width: 100%;
padding: 30px;
border: solid 1px #333;
position: relative;
background: #fff;
}
.attire .card-box .card:first-child {
content: "";
margin-bottom: 50px;
}
.attire .card-box .card .title b {
font-size: 28px;
line-height: 28px;
}

.attire .attire-gallery::before {
display: none;
}
.attire .attire-gallery::after {
display: none;
}
.attire .attire-gallery .controll {
width: 180px;
height: 40px;
margin: 0 auto;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
position: relative;
z-index: 1;
font-size: 13px;
}
.attire .attire-gallery .controll .swiper-button-prev {
margin-top: 0!important;
background-image: url("../img/attire/arrow.svg");
background-size: cover;
width: 40px;
height: 40px;
position: absolute;
top: 0;
left: 0;
}
.attire .attire-gallery .controll .swiper-button-next {
margin-top: 0!important;
background-image: url("../img/attire/arrow.svg");
background-size: cover;
width: 40px;
height: 40px;
position: absolute;
top: 0;
right: 0;
-webkit-transform: scale(-1, 1);
transform: scale(-1, 1);
}
}

.attire .txt-accessory {
text-align: center;
}
.attire .txt-accessory .txt {
display: inline-block;
font-size: 20px;
font-weight: 700;
line-height: 1.5;
}
@media screen and (max-width: 768px) {
.attire .txt-accessory .txt {
display: inline-block;
font-size: 15px;
font-weight: 700;
line-height: 1.5;
}
.attire .txt-accessory img {
margin-top: 5px;
display: block;
}
}


/*--------------------------------------------------------------------------
point
---------------------------------------------------------------------------*/
.point {
background: #f7f8f5;
}
.point ul.point-list {
align-items: flex-start;
}
.point ul.point-list li {
width: 23%;
position: relative;
}
.point ul.point-list li .num {
position: absolute;
top: 0;
left: -10px;
font-size: 20px;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
letter-spacing: 0;
}
.point ul.point-list li .txt {
margin-top: 15px;
}
.point ul.point-list li .txt h3 {
font-size: 15px;
font-weight: 700;
line-height: 1.6;
}
.point ul.point-list li .txt p {
margin-top: 6px;
font-size: 13px;
}
.point ul.point-list li .txt ul.btn {
}
.point ul.point-list li .txt ul.btn li {
display: none;
}
.point ul.point-list li .txt ul.btn li:first-child {
width: auto;
display: inline-block;
margin: 10px auto 0;
padding: 5px 20px;
background: #b8a679;
border-radius: 100px;
color: #fff;
font-size: 13px;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
line-height: 1.5;
cursor: pointer;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.point ul.point-list li .txt ul.btn li:first-child:hover {
background: #666;
}
.point ul.point-list li .txt ul.btn li:first-child img {
display: none;
}
@media screen and (max-width: 960px) {

.point .inner {
max-width: 1200px;
margin: 0 auto;
overflow-x: scroll;
}
.point ul.point-list {
width: 1200px;
padding: 0 7%;
}
.point ul.point-list li .txt p {
margin-top: 4px;
font-size: 13px;
line-height: 1.7;
}
}


/*--------------------------------------------------------------------------
voice
---------------------------------------------------------------------------*/
.voice .inner {
align-items:flex-start;
}

.voice .cover {
width: 30%;
padding: 0 3%;
align-items: flex-start;
}
.voice .message {
width: 70%;
}
.voice .message h2 {
font-size: 28px;
position: relative;
font-weight: 700;
}
.voice .message h2::after {
content: "";
display: block;
width: 40px;
height: 40px;
position: absolute;
top: -10px;
left: -20px;
background: #ded1b0;
border-radius: 100px;
z-index: -1;
}

.voice .message .message-card {
padding-right: 5%;
overflow: hidden;
}
.voice .message .message-card .swiper-wrapper {
}
.voice .message .message-card .swiper-slide {
align-items: stretch;
width: 31%;
margin-bottom: 15px;
padding: 30px;
border: solid 1px #333;
position: relative;
background: #fff;
}

.voice .message .message-card .swiper-slide::after {
content: "";
width: 100%;
height: 100%;
display: block;
background: #333;
position: absolute;
top: 15px;
left: 15px;
z-index: -1;
}
.voice .message .message-card .swiper-slide .title {
display: block;
margin-bottom: 10px;
padding-bottom: 10px;
border-bottom: solid 1px #333;
font-size: 20px;
font-weight: 700;
line-height: 1.5;
position: relative;
}
.voice .message .message-card .swiper-slide .cont {
margin-top: 15px;
}

@media screen and (max-width: 960px) {
.voice .message h2 {
font-size: 18px;
}
.voice .message h2::after {
display: none;
}
.voice .cover {
width: 100%;
position: relative;
}
.voice .cover img {
width: 200px;
position: absolute;
top: -70px;
left: 90px;
}
.voice .message {
width: 100%;
padding-left: 5%;
}
.voice .message .message-card .swiper-slide .title {
display: block;
margin-bottom: 10px;
padding-bottom: 10px;
border-bottom: solid 1px #333;
font-size: 15px;
font-weight: 700;
line-height: 1.5;
position: relative;
}
}


/*--------------------------------------------------------------------------
faq
---------------------------------------------------------------------------*/
.faq .inner {
width: 86.6666%;
max-width: 960px;
margin: 0 auto;
}
.faq .faq-accordion_area {
border-bottom: solid 1px #333;
}
.faq .faq-accordion_area .faq-accordion_one .ac_header {
border-top: solid 1px #333;
padding: 30px 0;
position: relative;
z-index: 1;
cursor: pointer;
transition: .2s;
}

.faq .faq-accordion_area .faq-accordion_one .ac_header .i_box {
position: absolute;
top: 50%;
right: 20px;
width: 20px;
height: 20px;
margin-top: -10px;
}

.faq .faq-accordion_area .faq-accordion_one .ac_header .i_box:before,.faq .faq-accordion_area .faq-accordion_one .ac_header .i_box:after {
position: absolute;
content: "";
margin: auto;
box-sizing: border-box;
vertical-align: middle;
}

.faq .faq-accordion_area .faq-accordion_one .ac_header .i_box:before {
border-top: 1px solid #333;
width: 20px;
height: 0;
top: 0;
bottom: 0;
right: 0;
}

.faq .faq-accordion_area .faq-accordion_one .ac_header .i_box:after {
border-left: 1px solid #333;
width: 0;
height: 20px;
top: 0;
bottom: 0;
right: 9px;
transition: .3s;
}

.faq .faq-accordion_area .faq-accordion_one .ac_header.open .i_box:after {
height: 0;
}

.faq .faq-accordion_area .faq-accordion_one .ac_inner {
display: none;
padding: 0 0 30px;
box-sizing: border-box;
}

@media screen and (max-width: 768px) {
.faq .faq-accordion_area .faq-accordion_one .ac_header {
padding: 20px 0;
}

.faq .faq-accordion_area .faq-accordion_one .ac_header .i_box {
right: .8rem;
width: 15px;
height: 15px;
margin-top: -7px;
}

.faq .faq-accordion_area .faq-accordion_one .ac_header .i_box:before {
width: 15px;
}

.faq .faq-accordion_area .faq-accordion_one .ac_header .i_box:after {
height: 15px;
right: 7px;
}

.faq .faq-accordion_area .faq-accordion_one .ac_inner {
padding: 0 0 20px;
}
}

.p-faq__headinner {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
position: relative;
}

.p-faq__q-txt {
width: calc(100% - 80px);
padding-left: 40px;
font-size: 15px;
font-weight: 400;
line-height: 1.6;
}

.p-faq__q-txt::before {
content: "Q";
font-size: 28px;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
line-height: 28px;
position: absolute;
top: 0;
left: 0;
}

.p-faq__bodyinner {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
position: relative;
}

.p-faq__a-txt {
width: calc(100% - 80px);
padding-left: 40px;
}

.p-faq__a-txt::before {
content: "A";
font-size: 28px;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
line-height: 28px;
position: absolute;
top: 0;
left: 0;
}

@media screen and (max-width: 1200px) {
.p-faq__q-txt {
font-size:1.4rem;
}
}

@media screen and (max-width: 960px) {
.p-faq__q-txt {
width:calc(100% - 30px);
padding-left: 30px;
font-size: 13px;
}

.p-faq__q-txt::before {
content: "Q";
font-size: 18px;
line-height: 18px;
position: absolute;
top: 0;
left: 0;
}

.p-faq__a-txt {
width: calc(100% - 30px);
padding-left: 30px;
font-size: 13px;
}

.p-faq__a-txt::before {
content: "A";
font-size: 18px;
line-height: 18px;
position: absolute;
top: 0;
left: 0;
}
}

/*--------------------------------------------------------------------------
about
---------------------------------------------------------------------------*/
.about .label {
width: 90%;
max-width: 400px;
margin: 0 auto;
}
.about .inner {
width: 86.6666%;
max-width: 800px;
margin: 0 auto;
padding: 50px;
border: solid 1px #333;
background: #fff;
position: relative;
cursor: pointer;
}
.about .inner:hover .cover {
opacity: 0.5;
}
.about .inner:hover .btn {
background: #666;
}
.about .inner::after {
content: "";
width: 100%;
height: 100%;
display: block;
background: #333;
position: absolute;
top: 15px;
left: 15px;
z-index: -1;
}

.about .cover {
width: 360px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.about .txt {
width: calc(100% - 360px);
padding-left: 5%;
}
.about .txt h2 {
font-size: 24px;
font-weight: 700;
line-height: 1.5;
}
.about .txt .btn {
display: inline-block;
padding: 10px 20px;
background: #b8a679;
border-radius: 100px;
color: #fff;
font-size: 13px;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
line-height: 1.5;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}



@media screen and (max-width: 768px) {
.about .label {
width: 90%;
max-width: 250px;
margin: 0 auto;
}
.about .inner {
padding: 40px 30px;
}
.about .cover {
width: 100%;
}
.about .cover img {
max-width: 300px;
display: block;
margin: 0 auto;
}
.about .txt {
width: 100%;
margin-top: 20px;
padding-left: 0;
}
.about .txt h2 {
font-size: 18px;
}
.about .txt p br {
display: none;
}
.about .txt .btn {
text-align: center;
}
.about .txt .btn {
display: inline-block;
margin: 0 auto;
padding: 5px 20px;
background: #b8a679;
border-radius: 100px;
color: #fff;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
line-height: 1.5;
}
}



.remodal.remodal-about {
width: 100%;
background-image: url("../img/about/bg.jpg");
background-size: cover;
vertical-align: middle;
position: relative;
}
.remodal.remodal-about .label {
font-size: 24px;
font-weight: 600;
line-height: 24px;
}
.remodal.remodal-about .label .dec {
width: 200px;
display: block;
margin: 0 auto;
}
.remodal.remodal-about p {
width: 86.6666%;
max-width: 700px;
margin: 0 auto;
line-height: 2.4;
}
.remodal .close {
padding: 10px 20px;
font-size: 15px;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
line-height: 1.5;
border: solid 1px #333;
border-radius: 100px;
line-height: 15px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
.remodal.remodal-about {
padding: 30px 0;
}
.remodal.remodal-about .label {
font-size: 20px;
line-height: 20px;
}
.remodal.remodal-about .label .dec {
width: 150px;
display: block;
margin: 0 auto;
}
.remodal.remodal-about p {
text-align: left;
line-height: 2;
}
.remodal.remodal-about p br {
display: none;
}
}

/*--------------------------------------------------------------------------
access
---------------------------------------------------------------------------*/
.access {
background: #f7f8f5;
}
.access .map {
width: calc(100% - 650px);
border: solid 10px #fff;
}
.access .map iframe {
width: 100%;
height: auto;
aspect-ratio: 1 / 1;
}
.access .info {
width: 650px;
padding-left: 5%;
}
.access .info h2 {
font-size: 24px;
font-weight: bold;
}
.access .info ul.info-list {
}
.access .info ul.info-list li {
display: flex;
padding: 15px 0;
border-top: 1px dashed #333; 
}
.access .info ul.info-list li .label {
width: 100px;
}
.access .info ul.info-list li .cont {
width: calc(100% - 100px);
}
@media screen and (max-width: 1200px) {
.access .map {
width: calc(100% - 550px);
}
.access .info {
width: 550px;
padding-left: 5%;
}
}
@media screen and (max-width: 960px) {
.access .map {
width: 300px;
margin: 0 auto;
border: solid 10px #fff;
}
.access .map iframe {
height: auto;
margin: 0 auto;
aspect-ratio: 1 / 1;
}
.access .info {
width: 100%;
margin-top: 30px;
padding-left: 0;
}
.access .info h2 {
font-size: 18px;
}
}


.access .facility {
}
.access .facility ul.facility-list {
margin: 0 auto;
}
.access .facility ul.facility-list li {
width: 16.5%;
padding: 15px 0;
text-align: center;
background: #fff;
}
.access .facility ul.facility-list li:last-child {
box-shadow: none;
}

.access .facility ul.facility-list li .cover {
width: 60px;
display: block;
margin: 0 auto;
}
.access .facility ul.facility-list li p {
font-size: 13px;
line-height: 1.5;
}

@media screen and (max-width: 960px) {
.access .facility ul.facility-list li {
width: 33%;
margin-bottom: 2px;
padding: 10px 0;
text-align: center;
background: #fff;
}
.access .facility ul.facility-list li p {
font-size: 11px;
}
}
@media screen and (max-width: 768px) {
.access .facility ul.facility-list li p {
font-size: 10px;
}
}


/*--------------------------------------------------------------------------
contact
---------------------------------------------------------------------------*/
.contact {
width: 100%;
background-image: url("../img/contact/bg.jpg");
background-size: cover;
vertical-align: middle;
position: relative;
}
.contact::after {
content: "";
display: block;
width: 100%;
height: 100%;
background: #333;
opacity: 0.7;
position: absolute;
top: 0;
left: 0;
}
.contact .cm-label {
color: #fff;
position: relative;
z-index: 10;
}
.contact .cm-lead {
color: #fff;
position: relative;
z-index: 10;
}
.contact ul.btn-list {
width: 86.6666%;
max-width: 560px;
margin: 0 auto;
position: relative;
z-index: 10;
}

.contact ul.btn-list li {
position: relative;
}
.contact ul.btn-list li:first-child {
margin-bottom: 15px;
}
.contact ul.btn-list li a {
display: block;
width: 100%;
height: 90px;
display: flex;
font-size: 18px;
font-weight: 700;
text-align: center;
color: #fff;
border: solid 1px #b8a679;
background: #b8a679;
border-radius: 2px;
justify-content: center;
align-items: center;
letter-spacing: 0.1em;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.contact ul.btn-list li:first-child a:hover {
background: #fff;
border: solid 1px #fff;
color: #333;
}
.contact ul.btn-list li:first-child a span:before {
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.contact ul.btn-list li:first-child a:hover span:before {
color: #333;
}


.contact ul.btn-list li:last-child a {
background: transparent;
border: solid 1px #fff;
font-size: 28px;
font-family: "Alexandria", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
line-height: 1.5;

}
.contact ul.btn-list li a span::before {
font-size: 32px;
color: #fff;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
left: 30px;
}

.contact .link-box {
text-align: center;
}

.contact .link-box .link {
display: inline-block;
margin: 0 auto;
text-align: center;
position: relative;
z-index: 10;
}
.contact .link-box .link a {
display: flex;
color: #fff;
justify-content: center;
align-items: center;
border-bottom: solid 1px #fff;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.contact .link-box .link a:hover {
color: #b8a679;
border-bottom: solid 1px #b8a679;
}

.contact .link-box .link a span::before{
font-size: 24px;
color: #fff;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.contact .link-box .link a:hover span::before{
color: #b8a679;
}




@media screen and (max-width: 960px) {
.contact ul.btn-list li a {
height: 70px;
font-size: 16px;
}
.contact ul.btn-list li:first-child {
margin-bottom: 10px;
}
.contact ul.btn-list li a span::before {
font-size: 32px;
color: #fff;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
left: 20px;
}
}
@media screen and (max-width: 768px) {
.contact {
width: 100%;
background-image: url("../img/contact/bg-sp.jpg");
background-size: cover;
background-position: bottom;
vertical-align: middle;
position: relative;
}
}



/*--------------------------------------------------------------------------
fix-contact
---------------------------------------------------------------------------*/
.fix-contact { 
display: none;
}

@media screen and (max-width: 960px) {
.fix-contact {
width: 100%;
display: block;
position: fixed;
bottom: 0;
z-index: 9999;
opacity: 0;
transform: translateY(20px);
pointer-events: none;
transition: opacity 0.4s ease, transform 0.4s ease;
}
.fix-contact.is-show {
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}
.fix-contact ul.cta-list {
background: #fff;
height: 60px;
text-align: center;
border-top: solid 1px #333;
justify-content: center;
}
.fix-contact ul.cta-list li {
width: 20%;
height: 100%;
position: relative;
}
.fix-contact ul.cta-list li::after {
content: "";
width: 1px;
height: 70%;
display: block;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
right: 0;
background: #333;
}
.fix-contact ul.cta-list li:nth-child(4)::after {
display: none;
}
.fix-contact ul.cta-list li:nth-child(5)::after {
display: none;
}
.fix-contact ul.cta-list li a {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
font-size: 11px;
line-height: 1.5;
font-weight: 600;
letter-spacing: 0;
}
.fix-contact ul.cta-list li:last-child a {
background: #b8a679;
color: #fff;
}


.fix-contact ul.cta-list li a.tel {
font-size: 11px;
font-family: 'Noto Sans JP';
font-weight: 600;
letter-spacing: 0;
pointer-events: initial;
}
.fix-contact ul.cta-list li a.tel .pc {
display: none;
}
.fix-contact ul.cta-list li a.tel .sp {
display: block;
}
.fix-contact ul.cta-list li a.tel span::before{
display: none;
}
}


/*--------------------------------------------------------------------------
footer
---------------------------------------------------------------------------*/
footer {
text-align: center;
padding-bottom: 90px;
}
footer .sns {
width: 40px;
margin: 0 auto;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
footer .sns:hover {
opacity: 0.5;
}
footer .under {
border-top: solid 1px #d3d3d3;
}

footer .logo {
width: 240px;
margin: 0 auto;
}
footer .logo a {
display: block;
width: 100%;
height: 100%;
}
footer .copy {
color: #a8a8a8;
font-size: 10px;
}

@media screen and (max-width: 768px) {
footer {
padding-bottom: 60px;
}
footer .logo {
width: 200px;
margin: 0 auto;
}
}

