@charset "UTF-8";
@import "./font.css";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
*{
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    min-width: 0;
    min-height: 0;
}
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
html {
    font-size: 62.5%;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}
nav ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align: baseline;
    background:transparent;
    text-decoration: none;
    cursor: pointer;
}
body{
    font-size: 1.5rem;
    line-height: 2;
    color: #000000;
    font-family: 'Noto Sans JP', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    font-weight: 500;
    word-break: break-word;
    background: #fff;
    overflow-x: hidden;
}
body.modal-open {
    overflow: hidden;
}
.ZenOldMincho{
    font-family: "Zen Old Mincho", serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}
.AdobeHandwriting{
    font-family: "AdobeHandwriting-Ernie", serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}

/*remove highlight color touch on mobile*/
input,textarea,button,select,div,a,span {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
a, input, div, select, textarea, img, button {
    outline: none;
}
a:focus, a:visited, input:focus, select:focus, textarea:focus, button:focus {
    outline: none !important;
    box-shadow: none;
}
ol, ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
li{
    list-style: none;
}
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
button {
    font-family: inherit;
    cursor: pointer;
}
img {
    width /***/: auto;
    height: auto;
    border: none;
    vertical-align: bottom;
    max-width: 100%;
    image-rendering: -webkit-optimize-contrast;
}
a {
    text-decoration: none;
    cursor: pointer;
}
.hover:hover{
    transition: all .3s;
    opacity: 0.7;
    filter:alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
.container {
    margin: 0 auto;
    max-width: 1090px;
    position: relative;
    z-index: 10;
    padding-left: 20px;
    padding-right: 20px;
}
.anchor-link{
    position: relative;
    top: -80px;
    display: block;
    line-height: 0;
}
.wrapper{
    position: relative;
    z-index: 1;
}
.text-left{
    text-align: left;
}
.text-center{
    text-align: center;
}
.text-right{
    text-align: right;
}
.hdn{
    display: none;
}
.no-cursor{
    cursor: auto !important;
}
b, strong{
    font-weight: 700;
}

.cl1{
    color: #837BB3;
}

.cl2{
    color: #9F7CCE;
}

.cl3{
    color: #C591D7;
}

.cl4{
    color: #E89CA5;
}

.cl5{
    color: #E69A96;
}

.cl6 {
    color: #EDC25A !important;
}

.img-link {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 10;
}
@media(max-width: 750px){
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    .anchor-link{
        top: -55px;
    }
}
/*
==============================================================
========================== Animation =========================
==============================================================
*/
@-webkit-keyframes aniHeaderMenu {
    0% {-webkit-transform: translate3d(0, -80%, 0);transform: translate3d(0, -80%, 0);}
    100% {-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}
}
@keyframes aniHeaderMenu {
    0% {-webkit-transform: translate3d(0, -80%, 0);transform: translate3d(0, -80%, 0);}
    100% {-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}
}
@-webkit-keyframes backgroundIMG{
    0% {opacity: 0;}
    20% {opacity: 0.2;}
    40% {opacity: 0.4;}
    60% {opacity: 0.6;}
    80% {opacity: 0.8;}
    100% {opacity: 1; }
}
@keyframes backgroundIMG {
    0% {opacity: 0;}
    20% {opacity: 0.2;}
    40% {opacity: 0.4;}
    60% {opacity: 0.6;}
    80% {opacity: 0.8;}
    100% {opacity: 1;}
}
@-webkit-keyframes aniFade {
    0% {opacity: 0.5;}
    100% {opacity: 1;}
}
@keyframes aniFade {
  0% {opacity: 0.5;}
  100% {opacity: 1;}
}
@-webkit-keyframes fadezoom {
    0% {transform: scale(1);}
    100% {transform: scale(1.1);}
}
@keyframes fadezoom {
    0% {transform: scale(1);}
    100% {transform: scale(1.1);}
}
.fade-in {
    opacity: 0;
    filter: blur(4px) brightness(105%);
    transition: opacity 2s ease, filter 2s ease;
}
.fade-in.is-view {
    opacity: 1;
    filter: blur(0) brightness(100%);
}
.fade-up {
    opacity: 0;
    transform: translateY(60px);
    -webkit-transform: translateY(60px);
    filter: blur(4px) brightness(105%);
    transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;
}
.fade-up.is-view {
    opacity: 1;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    filter: blur(0) brightness(100%);
}
.fade-down {
    opacity: 0;
    transform: translateY(-40px);
    -webkit-transform: translateY(-40px);
    filter: blur(5px) brightness(105%);
    transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;
}
.fade-down.is-view {
    opacity: 1;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    filter: blur(0) brightness(100%);
}
.fade-left {
    opacity: 0;
    transform: translateX(-40px);
    -webkit-transform: translateX(-40px);
    filter: blur(5px) brightness(105%);
    transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;
}
.fade-left.is-view {
    opacity: 1;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    filter: blur(0) brightness(100%);
}
.fade-right {
    opacity: 0;
    transform: translateX(40px);
    -webkit-transform: translateX(40px);
    filter: blur(5px) brightness(105%);
    transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;
}
.fade-right.is-view {
    opacity: 1;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    filter: blur(0) brightness(100%);
}
.zoom-in {
    opacity: 0;
    overflow: hidden;
    transform: scale(0.7, 0.7);
    -webkit-transform: scale(0.7, 0.7);
    transition: opacity 1.5s ease, transform 1.5s ease;
}
.zoom-in.is-view {
    opacity: 1;
    transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
}
.zoom-out {
    opacity: 0;
    overflow: hidden;
    transform: scale(1.2, 1.2);
    -webkit-transform: scale(1.2, 1.2);
    transition: opacity 1.5s ease, transform 1.5s ease;
}
.zoom-out.is-view {
    opacity: 1;
    transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
}
.roll-left {
    position: relative;
    overflow: hidden;
}
.roll-left img {
    opacity: 0;
    transition: opacity 1.5s ease .5s;
}
.roll-left:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    background: #f0ebe4;
}
.roll-left.is-view img {
    opacity: 1;
}
.roll-left.is-view:after {
    animation: rollLeft 1.5s ease;
}
@keyframes rollLeft {
    0% {
        left: 0;
        right: 100%;
    }
    50% {
        left: 0;
        right: 0;
    }
    100% {
        left: 100%;
        right: 0;
    }
}
@-webkit-keyframes rollLeft {
    0% {
        left: 0;
        right: 100%;
    }
    50% {
        left: 0;
        right: 0;
    }
    100% {
        left: 100%;
        right: 0;
    }
}
.roll-right {
    position: relative;
    overflow: hidden;
}
.roll-right img {
    opacity: 0;
    transition: opacity 1.5s ease .5s;
}
.roll-right:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    background: #3a6531;
}
.roll-right.is-view img {
    opacity: 1;
}
.roll-right.is-view:after {
    animation: rollRight 1.5s ease;
}
@keyframes rollRight {
    0% {
        right: 0;
        left: 100%;
    }
    50% {
        right: 0;
        left: 0;
    }
    100% {
        right: 100%;
        left: 0;
    }
}
@-webkit-keyframes rollRight {
    0% {
        right: 0;
        left: 100%;
    }
    50% {
        right: 0;
        left: 0;
    }
    100% {
        right: 100%;
        left: 0;
    }
}
@media (min-width: 768px) {
    .delay1 {
        transition-delay: .4s;
    }
    .delay2 {
        transition-delay: .6s;
    }
    .delay3 {
        transition-delay: .8s;
    }
    .delay4 {
        transition-delay: 1.2s;
    }
}
/*
==============================================================
========================= End Animation ======================
==============================================================
*/
/*
==============================================================
============================ Common ==========================
==============================================================
*/
#pagetop {
    position: fixed;
    z-index: 1000000;
    bottom: 30px;
    right: 20px;
    display: none;
}
#pagetop img {
    width: 50px;
}
.lb-sp{
    display: none;
}
.lb-pc{
    display: block;
}
.title {
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    line-height: 2;
    text-align: center;
}
.title h2 {
    font-size: 3.6rem;
    line-height: 1;
    font-weight: 400;
    font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    letter-spacing: 0.04em;
}
.btn {
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.2;
    min-width: 280px;
    background: #837BB3;
    border-radius: 50vh;
    color: #fff;
    display: inline-block;
    text-align: center;
    padding: 22px 35px;
    position: relative;
    transition: .2s;
    border: none;
}
.btn::before,
.btn::after {
    content: "";
    position: absolute;
    right: 15px;
    top: 50%;
}
.btn::before {
    width: 13px;
    height: 1px;
    background: #fff;
}
.btn::after {
    width: 6px;
    height: 1px;
    background: #fff;
    transform: rotate(35deg);
    margin-top: -2px;
}
.btn.bg1{
    background: #E883A5;
    border-color: #E883A5;
}
.btn.btn-gradient{
    background: linear-gradient(to right, #694281, #837BB3);
}

.btn-purple {
    background: #9F7CCE;
}
.btn-light-purple {
    background: #C591D7;
}
.btn-pink {
    background: #E89CA5;
}
.btn img{
    width: 34px;
    position: absolute;
    left: 20px;
    top: 50%;
    margin-top: -17px;
}
@media (hover: hover) {
    .btn:hover {
        background: #511A7F;
    }
    .btn.btn-gradient:hover{
        background: linear-gradient(to right, #837BB3, #694281);
    }
}
@media(max-width:750px){
    .title {
        font-size: 1.1rem;
        font-weight: 500;
    }
    .title h2 {
        font-size: 2.6rem;
    }
    .lb-sp{
        display: block;
    }
    .btn {
        min-width: 260px;
        font-size: 1.6rem;
        padding: 16px 15px;
    }
    .lb-pc{
        display: none;
    }
    .btn::before,
    .btn::after {
       right: 10px;
    }
    #pagetop {
        bottom: 70px;
    }
}
.title-box{
    display: inline-block;
    width: 100%;
    text-align: center;
}
.title-box .title{
    font-size: 4.6rem;
    line-height: 1.24;
    letter-spacing: 0.1em;
    font-weight: 400;
}
.title-box .sub{
    letter-spacing: 0.14em;
}
.view-detail{
    display: inline-block;
    width: 100%;
    text-align: right;
}
.view-detail a{
    display: inline-block;
    color: initial;
    font-size: 1.7rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
    background: url('../img/btn-next.png') no-repeat;
    background-size: 67px 39px;
    background-position: center right;
    padding: 12px 82px 12px 0;
}
/*
==============================================================
========================== End common ========================
==============================================================
*/
/*
==============================================================
======================= hamburger menu =======================
==============================================================
*/
.hamburger-menu {
    position: absolute;
    right: 2.66vw;
    top: 50%;
    width:6.66vw;
    height: 4vw;
    margin-top: -1.866vw;
    cursor: pointer;
    z-index: 1000001;
    display: none;
}
.hamburger-menu .bar,
.hamburger-menu .bar:after,
.hamburger-menu .bar:before {
    width: 100%;
    height: 2px;
    border-radius: 50vh;
}
.hamburger-menu .bar {
    position: relative;
    transform: translateY(1.6vw);
    background:#4D4D4D;
    transition: all 0ms 300ms;
    display: block;
}
.hamburger-menu .bar.active {
    background: none; 
}
.hamburger-menu .bar:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 1.6vw;
    background: #4D4D4D;
    transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.hamburger-menu .bar:after {
    content: "";
    position: absolute;
    left: 0;
    top: 1.6vw;
    background:#4D4D4D;
    transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.hamburger-menu.active .bar{
    background: none !important;
}
.hamburger-menu.active .bar::before,
.hamburger-menu.active .bar::after{
    top: 0;
    bottom: 0;
}
.hamburger-menu.active .bar:before {
    transform: rotate(-45deg);
    transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);;
}
.hamburger-menu.active .bar:after {
    transform: rotate(45deg);
    transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);;
}
@media(max-width: 860px){
    .hamburger-menu{
        display: block;
    }
}
/*
==============================================================
====================== End hamburger menu ====================
==============================================================
*/
/*
==============================================================
============================ Header ==========================
==============================================================
*/
header{
    position: sticky;
    left: 0;
    right: 0;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.8);
    line-height: 1;
    max-height: 13.33vw;
}
header .container {
    max-width: 100%;
}
header .inner{
    display: flex;
    align-items: center;
    position: relative;
}
header .logo{
    position: absolute;
    left: 0;
    top: -4px;
    left: -7px;
}
header .logo a{
    display: flex;
}
header .logo img{
    width: 170px;
}
header nav {
    padding-left: 170px;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
header ul a{
    text-align: center;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: .08em;
    display: inline-block;
    color: initial;
}
header nav .nav-links {
    flex: 1;
    display: flex;
    flex-direction: column-reverse;
    text-align: right;
}
header nav .nav-links li {
    display: inline-block;
    position: relative;
    line-height: 1;
}
header nav .nav-links li.parent>a:after{
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    border-top: 1px solid #231815;
    border-right: 1px solid #231815;
    transform: rotate(45deg);
    top: 50%;
    margin-top: -12px;
    right: 0px;
    transition: 0.3s;
}
header nav .nav-links li.parent:hover>a:after{
    transform: rotate(135deg);
}
header nav .nav-links li .submenu {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: rgba(255, 255, 255, 0.9);
    width: 170px;
    transition: .3s;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
    border-radius: 9px;
    padding: 12px 0;
}
header nav .nav-links li:hover .submenu {
    display: block;
}
header nav .nav-links li .submenu li {
    display: block;
}
header nav .nav-links li .submenu a {
    text-align: left;
    display: block;
    padding: 10px 20px;
    position: relative;
}
header nav .nav-links li .submenu li:last-child a::after {
    display: none;
}
header nav .nav-links ul {
    display: inline-block;
}
header nav .nav-links li a{
    display: inline-block;
    padding: 0px 14px 17px;
    position: relative;
    transition: .3s;
    line-height: 1;
    font-weight: 500;
}
header nav .nav-links .nav-top a {
    padding: 7px 14px;
}
header nav .nav-links .nav-top a {
    color: #837BB3;
    font-weight: 700;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    padding-bottom: 25px;
}
header nav .contact{
    background: #837BB3;
    text-align: center;
    display: inline-block;
    padding: 20px 26px 15px;
    margin-left: 20px;
}
header nav .contact a{
    display: inline-block;
}
header nav .contact img{
    width: 46px;
}
header nav .contact span{
    color: #fff;
    font-size: 1.3rem;
    line-height: 1.6;
    letter-spacing: 0.02em;
    display: block;
    padding-top: 4px;
}
.fixed-nav header{
    z-index: 1000;
    padding: 0;
    background: rgb(255, 255, 255, .9);
    -webkit-box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.1);
}
@media(hover:hover){
    header nav .nav-links li a:hover{
        opacity: .6;
    }
}
@media(hover:none){
    header nav .nav-links li a{
        transition: none;
    }
    header nav .nav-links li a:active{
        opacity: .6;
    }
}
@media(max-width:1180px) {
    header nav .nav-links li a {
        font-size: 1.25rem;
        padding: 5px 8px 10px;
    }
    header nav .nav-links .nav-top a {
        font-size: 1.2rem;
    }
    header nav .nav-links li .submenu a {
        font-size: 1.2rem;
    }
    header nav .nav-links li .submenu {
        width: 150px;
    }
}
@media(max-width:860px){
    .wrapper{
        padding-top: 50px;
    }
    header{
        position: fixed;
    }
    header nav {
        position: fixed;
        right: 0;
        left: 100%;
        top: 50px;
        bottom: 0;
        background: #fff;
        width: 100%;
        transition: 0.5s;
        z-index: 1000;
        padding: 0;

        align-items: unset;
        flex-wrap: wrap;
        /* display: none; */
    }
    header nav .nav-links .nav-top a,
    header nav .nav-links li a {
        display: block;
        text-align: left;
        position: relative;
    }
    header nav .nav-links .nav-top a::after,
    header nav .nav-links li a::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top: 2px solid #4D4D4D;
        border-right: 2px solid #4D4D4D;
        transform: rotate(45deg);
        top: 50%;
        margin-top: -1vw;
        right: 6vw;
    }
    header.open-menu nav{
        left: 0;
        z-index: 10000;
        overflow: auto;
        height: calc(100vh - 50px);
        padding-bottom: 25px;
    }
    .fixed-nav header{
        position: fixed;
        background: rgb(255, 255, 255);
        -webkit-transform: unset;
                transform: unset;
        -webkit-animation: unset;
                animation: unset;
        -webkit-box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.1);
                box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.1);
    }
    header nav .nav-links li .submenu{
        padding-top: 0;
        padding-bottom: 0;
    }
    header nav .nav-links li:hover .submenu {
        display: none;
    }
    header nav .nav-links {
        flex-direction: unset;
        justify-content: unset;
    }
    header .inner {
        padding: 25px 0;
    }
    header .logo img {
       width: 147px;
    }
    header .container{
        padding: 0 5px 0 0;
    }
    header nav .nav-links {
        text-align: left;
        padding-top: 3vw;
        flex: auto;
        left: 100%;
        top: 50px;
        right: 0;
        bottom: 0;
        overflow: auto;
        width: 100%;
        display: block;
        transition: 0.5s;
    }
    header.open-menu nav .nav-links {
        display: block;
        left: 0;
    }
    header nav .nav-links .nav-top li:last-child a::before {
        display: none;
    }
    header nav .nav-links ul {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    header nav .nav-links .nav-top a {
        font-size: 1.5rem;
        padding: 20px 4vw;
    }
    header nav .nav-links li a {
        font-size: 1.6rem;
        padding: 20px 4vw;
        position: relative;
    }
    header nav .nav-links li a::before {
        content: "";
        position: absolute;
        left: 4vw;
        right: 4vw;
        height: 1px;
        background: #4D4D4D;
        bottom: 0;
    }
    header nav .nav-links li .submenu a::after {
        display: block !important
    }
    header nav .nav-links .parent .ic-sp{
        position: absolute;
        right: 5vw;
        top: 50%;
        margin-top: -28px;
        display: block;
        width: 56px;
        height: 56px;
        z-index: 10000;
    }
    header nav .nav-links .parent a::after {
        display: none
    }
    header nav .nav-links .parent .ic-sp::after {
        content: "";
        position: absolute;
        width: 14px;
        height: 2px;
        top: 50%;
        margin-top: -1px;
        right: 12px;
        background: #4D4D4D;
        margin-right: -6px;
        transition: .3s
    }
    header nav .nav-links .parent .ic-sp::before {
        content: "";
        position: absolute;
        width: 2px;
        height: 14px;
        top: 50%;
        transform: unset;
        margin-top: -7px;
        right: 12px;
        background: #4D4D4D;
        transition: .3s
    }
    header nav .nav-links .parent.active .ic-sp::before {
        display: none
    }
    header nav .nav-links li .submenu {
        width: 100%;
        position: unset;
        box-shadow: none;
    }
    header nav .nav-links li .submenu a {
        font-size: 1.6rem;
        padding: 20px 4vw;
    }
    header nav .nav-links li .submenu a::after {
        display: unset;
        width: 10px;
        height: 10px;
        border-top: 2px solid #4D4D4D;
        border-right: 2px solid #4D4D4D;
        transform: rotate(45deg);
        top: 50%;
        margin-top: -1vw;
        right: 6vw;
        background: unset;
        left: unset;
    }
    header nav .contact{
        width: 100%;
        background: none;
        display: inline-block;
        padding: 0 20px;
    }
    header nav .contact a {
        display: inline-block;
        background: #837BB3;
        width: 280px;
        border-radius: 50vh;
        padding: 10px 20px;
    }
    header nav .contact a span{
        font-size: 1.5rem;
        padding-top: 0;
        padding-bottom: 3px;
        display: inline-block;
    }
    header nav .contact img{
        width: 30px;
    }
}
@media(max-width:540px){
    header .logo img{
        width: 120px;
    }
    header nav .nav-links .parent .ic-sp {
        right: 4vw;
    }
}
/*
==============================================================
========================= End header =========================
==============================================================
*/
/*
==============================================================
============================= Footer =========================
==============================================================
*/
footer {
    background: #9C95C2;
}
.footer-nav .inner{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 20px 0;
    gap: 10px;
}
.footer-nav a{
    display: inline-block;
    color: #fff;
    font-size: 1.4rem;
    line-height: 2.07;
    letter-spacing: 0.08em;
    position: relative;
}
.footer-nav ul li ul{
    padding-left: 2px;
}
.footer-nav ul li ul a{
    padding-left: 8px;
}
.footer-nav ul li ul a::before{
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -2px;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background: #fff;
}
footer .copy-right{
    background: #fff;
}
footer .copy-right .inner{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 27px 0;
}
footer .copy-right .inner a{
    line-height: 1.5;
    color: #837BB3;
    font-weight: 700;
    letter-spacing: 0.02em;
}
footer .copy-right .inner ul{
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
}
footer .copy-right .inner li:last-child{
    padding-right: 0;
}
footer .copy-right .cr{
    font-size: 1.2rem;
    line-height: 2.41;
    letter-spacing: 0.08em;
    text-align: right;
}
@media(max-width: 860px){
    footer .copy-right .inner ul{
        width: 100%;
        justify-content: center;
    }
    footer .copy-right .cr{
        width: 100%;
        text-align: center;
    }
}
@media(max-width: 750px){
    .footer-nav .inner{
        gap: 0;
        margin: 0 -5px;
        padding-bottom: 5px;
    }
    .footer-nav .inner>ul{
        width: 50%;
        padding: 0 10px;
        margin-bottom: 15px;
    }
    footer .copy-right .inner{
        padding: 15px 0;
    }
    footer .copy-right .inner ul{
        gap: 40px;
    }
    footer .copy-right .cr{
        line-height: 1.8;
        padding-top: 10px;
    }
    footer .copy-right{
        padding-bottom: 60px;
    }
}
/*
==============================================================
=========================== End Footer =======================
==============================================================
*/
/*
==============================================================
============================= Home ===========================
==============================================================
*/
/* main-visual =============================================== */
.home .main-visual {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 52px 4.86% 60px;
}
.home .main-visual .mv-bg {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 25.7%;
    z-index: 1;
    display: flex;
}
.home .main-visual .mv-bg picture{
    display: flex;
    width: 100%;
}
.home .main-visual .mv-bg img{
    width: 100%;
    height: 100%;
}
.home .main-visual .mv-slider{
    position: relative;
    display: inline-block;
    width: 100%;
    z-index: 2;
}
.home .main-visual .mv-slider ul.slider-items{
    display: inline-block;
    width: 100%;
    position: relative;
    padding-left: 26.38%;
}
.home .main-visual .mv-slider ul.slider-items li{
    display: none;
}
.home .main-visual .mv-slider ul.slider-items li:first-child{
    display: block;
}
.home .main-visual .mv-desc {
    position: absolute;
    left: 14.58%;
    top: 34%;
    width: 30.69%;
    z-index: 3;
}

.home .main-visual .mv-slider ul.slick-dots {
    position: absolute;
    right: 0;
    bottom: -18px;
    display: flex !important;
    align-items: center;
    justify-content: end;
    z-index: 11;
}
.home .main-visual .mv-slider ul.slick-dots li{
    background: none;
    border: none;
    text-indent: -999999px;
    width: 8px !important;
    height: 8px !important;
    background: #B1B1B1;
    border-radius: 50%;
    padding: 0 !important;
    margin: 0 6px;
    display: block !important;
}
.home .main-visual .mv-slider ul.slick-dots li:last-child{
    margin-right: 0;
}
.home .main-visual .mv-slider ul.slick-dots li.slick-active{
    background: #837BB3;
}
.home .main-visual .desc-sp{
    display: none;
    position: relative;
    z-index: 10;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.71;
    letter-spacing: 0.13em;
}
@media(max-width: 767px) {
    .home .main-visual{
        padding: 20px 20px 15px;
    }
    .home .main-visual .mv-slider ul.slider-items{
        padding-left: 16%;
    }
    .home .main-visual .mv-bg{
        top: 14px;
    }
    .home .main-visual .mv-desc{
        left: 4%;
        top: 21%;
        width: 27.7%;
    }
    .home .main-visual .desc-sp{
        display: block;
    }
}
@media(max-width: 540px) {
    .home .main-visual{
        padding-right: 0;
        padding-top: 50px;
    }
    .home .main-visual .mv-slider ul.slider-items{
        padding-left: 55px;
    }
    .home .main-visual .mv-bg{
        top: 3px;
        right: 70px;
    }
    .home .main-visual .mv-desc{
        left: 22px;
        top: 24.5%;
    }
    .home .main-visual .desc-sp{
        font-size: 1.4rem;
    }
    .home .main-visual .mv-slider ul.slick-dots{
        right: 10px;
    }
}
/* end main-visual =========================================== */

/* Begin campaing ============================================== */
.home .campaing{
    padding: 40px 0;
}
.home .campaing-inner {
    display: flex;
    justify-content: center;
    gap: 200px;
}
.home .campaing-inner h2{
    display: inline-block;
    font-size: 3.8rem;
    line-height: 1.76;
    letter-spacing: 0.1em;
    margin-top: 38px;
    font-weight: 400;
}
.home .campaing-inner h2 span{
    position: relative;
    display: inline-block;
}
.home .campaing-inner h2 span:after{
    content: '';
    position: absolute;
    right: -114px;
    top: 65%;
    width: 54px;
    height: 1px;
    background: #000;
}
.home .campaing-inner .img{
    width: 196px;
}
.home .campaing-inner .img a{
    display: inline-block;
}
.home .campaing-inner .img img{
    width: 100%;
}
@media(max-width: 750px) {
    .home .campaing-inner {
        gap: 120px;
    }
    .home .campaing-inner h2 span:after{
        right: -84px;
    }
}
@media(max-width: 640px) {
    .home .campaing{
        padding: 20px 0 45px;
    }
    .home .campaing-inner {
        display: inline-block;
        width: 100%;
        text-align: center;
    }
    .home .campaing-inner h2{
        margin-top: 0;
        padding-bottom: 15px;
        font-size: 3.4rem;
    }
    .home .campaing-inner h2 span{
        padding-bottom: 20px;
    }
    .home .campaing-inner h2 span:after{
        right: unset;
        top: unset;
        left: 50%;
        bottom: 0;
        width: 1px;
        height: 21px;
    }
    .home .campaing-inner .img{
        width: 100%;
        text-align: center;
    }
    .home .campaing-inner .img img{
        max-width: 196px;
    }
}
/* end campaing ============================================== */
/* ==============================================
   Concept Section
==============================================
*/
.home .concept{
    display: inline-block;
    width: 100%;
    position: relative;
}
.home .concept:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 100px;
    background: url(../img/concept/bg-concept.png) no-repeat;
    background-size: cover !important;
    background-position: center;
}
/* --- Container / intro block --- */
.home .concept .container {
    padding-top: 85px;
}

.home .concept .concept-block {
    width: 100%;
    background-color: #FFFFFF;
    border-radius: 70px 0 70px 0;
}

.home .concept .intro-box {
    display: flex;
    justify-content: center;
    gap: 35px;             
    padding: 50px 75px;
}

.home .concept .intro-content {
    width: 49.625%;    
    padding-top: 60px; 
}

.home .concept .intro-desc {
    padding-top: 6.05%; 
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.14em;
}

.home .concept .intro-heading {
    width: 100%;      
}

.home .concept .intro-image {
    width: 43.25%; 
}

.home .concept .concept-ic-01,
.home .concept .concept-ic-02 {
    position: absolute;
    z-index: 2;
}

.home .concept .concept-ic-01 img,
.home .concept .concept-ic-02 img {
    display: block;
    width: 100%;
}

.home .concept .concept-ic-01 {
    top: -105px;
    right: -9%;
    width: 161px;
}

.home .concept .concept-ic-02 {
    top: 9%;
    right: -11%;
    width: 59px;
}

/* --- Vertical "CONCEPT" label --- */
.home .concept .concept-text {
    position: absolute;
    top: 85px;
    right: -35px;
}

.home .concept .concept-text p {
    color: #e8d087;
    writing-mode: vertical-rl;
    font-size: 5rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1em;
}

/* --- Slider --- */
.home .concept .concept-slider {
    position: relative;
    z-index: 3;
    display: flex;
    padding-top: 47px;
}

.home .concept .concept-slick .slick-track {
    display: flex;
}

.home .concept .concept-slick .slick-slide {
    margin-top: 0;
    margin-right: 25px;
}

.home .concept .concept-slick .slick-slide.is-even {
  margin-top: 30px;
}

.home .concept .concept-slick .slick-item img {
    display: block;
    width: 280px;
    object-fit: cover;
    box-shadow: 0 0 2px rgb(114, 105, 20, .2);
    backface-visibility: hidden; 
}

@media (max-width: 1385px) {
    .home .concept .concept-ic-01,
    .home .concept .concept-ic-02 {
        display: none;
    }
}

@media (max-width: 1100px) {
    .home .concept .concept-text p {
        writing-mode: unset;
    }
    .home .concept .concept-text {
        top: 33px;
        left: 70px;
        right: unset;
    }
}

@media (max-width: 1090px) {
    .home .concept .container {
        max-width: 100%;
        padding-top: 95px;
    }
}

@media (max-width: 750px) {
    .home .concept:before{
        background: url(../img/concept/bg-concept-sp.png) no-repeat;
        background-size: 100% 100% !important;
        background-position: left center;
    }
    .home .concept .container{
        padding: 63px 32px 0 32px;
    }
    .home .concept .concept-text p{
        font-size: 3.9rem;
    }
    .home .concept .concept-block {
        border-radius: 40px 0 40px 0;
        box-shadow: 0 0 4px rgb(114, 98, 21, .15);
    }
    .home .concept .intro-box {
        flex-wrap: wrap;
        padding: 40px 25px;
        gap: 20px;
    }

    .home .concept .intro-content {
        width: 100%;
        padding-top: 0;
    }

    .home .concept .intro-desc {
        width: 100%;
        font-size: 1.4rem;
    }

    .home .concept .intro-image {
        width: 100%;
        padding-left: 25px;
        padding-right: 25px;
        padding-bottom: 4px;
    }

    .home .concept .concept-text {
        left: 32px;
        top: 14px;
    }
    .home .concept .concept-ic-01,
    .home .concept .concept-ic-02 {
        display: block;
    }
    .home .concept .concept-ic-01{
        width: 62px;
        top: -27px;
        right: 15px;
    }
    .home .concept .concept-ic-02{
        width: 22px;
        top: 35px;
        right: 10px;
    }
}
/* contact =================================================== */
.contact {
    padding: 70px 0;
    background: url(../img/contact/bg-contact.jpg) no-repeat;
    background-size: cover !important;
    background-position: center;
    position: relative;
}
.contact .tit{
    width: 100%;
    display: inline-block;
    text-align: left;
}
.contact .tit h2 {
    font-size: 6.5rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #E89CA5;
    line-height: 1;
    padding-bottom: 17px;
}
.contact .tit p{
    font-size: 1.8rem;
    line-height: 1.72;
    letter-spacing: 0.18em;
    font-weight: 700;
}
.contact ul {
    display: flex;
    flex-wrap: wrap;
    padding-top: 15px;
    margin: 0 -15px;
}
.contact ul li {
    width: 50%;
    padding: 15px;
}
.contact ul li .content {
    background: #fff;
    border-radius: 10px;
    position: relative;
    padding: 10px;
    box-shadow: 0 0 3px rgb(0, 0, 0, .15);
    transition: .3s;
}
.contact ul li .content:hover {
    opacity: .7;
}
.contact ul li .content a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.contact ul li .content .inner {
    border: 2px solid #E89CA5;
    padding: 42px 0 52px 0;
}
.contact ul li .content .inner .img {
    position: absolute;
    right: 50px;
    bottom: 7px;
}
.contact ul li .content.box1 .inner .img img {
    width: 124px;
}
.contact ul li .content.box2 .inner .img img {
    width: 128px;
}
.contact ul li .content.box2 .inner .img {
    right: 42px;
    bottom: 0;
}
.contact ul li .content .inner h3 {
    font-size: 2.2rem;
    line-height: 1.4;
    letter-spacing: 0.18rem;
}
.contact ul li .content .inner .txt {
    max-width: 280px;
    text-align: center;
    position: relative;
}
.contact ul li .content .inner .txt::before,
.contact ul li .content .inner .txt::after {
    content: "";
    position: absolute;
    right: 50%;
    bottom: -18px;
    z-index: 1;
    margin-right: -10px;
    background: #000;
}
.contact ul li .content .inner .txt::before {
    width: 22px;
    height: 2px;
}
.contact ul li .content .inner .txt::after {
    width: 10px;
    height: 2px;
    transform: rotate(35deg);
    margin-bottom: 3px;
}
.contact .btn-box {
    text-align: center;
    padding: 35px 20px 0px;
}
@media(max-width:750px){
    .contact{
        padding: 60px 0 65px;
        background-size: contain !important;
        background: url(../img/contact/bg-contact-sp.jpg) no-repeat;
        background-size: cover !important;
    }
    .contact .container{
        padding-left: 10px;
        padding-right: 10px;
    }
    .contact .tit{
        padding-left: 15px;
        padding-right: 15px;
    }
    .contact .tit h2{
        font-size: 4rem;
    }
    .contact .tit p{
        font-size: 1.6rem;
    }
    .contact ul{
        margin: 0;
    }
    .contact ul li{
        width: 100%;
        padding: 8px 0;
    }
    .contact ul li .content .inner .txt{
        max-width: 180px;
    }
    .contact ul li .content .inner .img,
    .contact ul li .content.box2 .inner .img{
        right: 20px;
    }
    .contact .btn-box{
        padding-top: 35px;
    }
}
/* end contact =============================================== */


/* Begin reason ============================================== */
.home .reason {
    padding-top: 65px;
}

.home .reason .txt-box {
    text-align: center;
    padding-top: 45px;
}

.home .reason .reason-title {
    display: flex;
    justify-content: center;
}

.home .reason .reason-title h2 {
    font-weight: 400;
    font-size: 3.6rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
}

.home .reason ul {
    padding: 55px 20px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.home .reason ul li {
    width: 25.71%;
    text-align: center;
}

.home .reason ul li {
    text-align: center;
}

.home .reason ul li .reason-inner {
   position: relative;
}

.home .reason ul li .reason-number {
   position: absolute;
   top: -12%;
   left: 5.5%;

    font-size: 6.6rem;
    font-weight: 400;
    transform: rotate(3deg);
    line-height: 1.5;
    letter-spacing: 0.1em;
}

.home .reason ul li .reason-img {
    width: 100%;
    object-fit: cover;
    display: block;
}

.home .reason ul li .reason-desc {
    padding-top: 20px;
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0.18em;
}

@media(max-width: 750px) {
    .home .reason{
        padding-top: 45px;
        padding-bottom: 30px;
    }
    .home .reason .reason-title h2{
        font-size: 3rem;
    }
    .home .reason ul {
        gap: 0px;
        justify-content: center;
    }
    .home .reason ul li {
        width: 100%;
        display: flex;
        justify-content: center;
        margin-bottom: 50px;
    }
    .home .reason ul li:last-child{
        margin-bottom: 0;
    }
    .home .reason ul li .reason-inner{
        max-width: 300px;
    }
    .home .reason ul li .reason-img{
        width: 80%;
        margin: 0 auto;
    }
}
/* End reason ============================================== */

/* Begin furisode-collection ============================================== */
.home .furisode-collection  {
    position: relative;
    overflow: hidden;
    margin-top: 20px ;
    padding-bottom: 100px;
}

.home .furisode-collection .bg-furisode-collection-01 {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
}

.home .furisode-collection .bg-furisode-collection-02 {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

.home .furisode-collection .top-content  {
    padding-top: 190px;
    position: relative;
    z-index: 10;
}

.home .furisode-collection .top-content .container .top-content-title {
    font-size: 4.6rem;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.home .furisode-collection .top-content .container .top-content-box {
    display: flex; 
    gap: 10px;   
    padding-top: 55px;
}

.home .furisode-collection .top-content .container .top-content-box .top-desc {
    width: 40%;
}

.home .furisode-collection .top-content .container .top-content-box .top-desc p {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.18em;
}

.home .furisode-collection .top-content .container .top-content-box .top-desc .desc-highlight {
    font-size: 2.2rem;
    line-height: 1.4;
    letter-spacing: 0.18em;
    color: #E89CA5;
    padding-bottom: 20px;
}

.home .furisode-collection .top-content .container .top-content-box .top-image {
    position: relative;
    z-index: 3;
    width: 60%;
}

.home .furisode-collection .top-content .container .top-content-box .top-image {
    position: relative;
    width: 60%;
}

.home .furisode-collection .top-content .container .top-content-box .img{
    position: relative;
    z-index: 2;
}

.home .furisode-collection .top-content .container .top-content-box .top-image .top-image-bg {
    position: absolute;
    width: 234.8782px;
    top: -27%;
    right: -16%;
    z-index: 1;
}
.home .furisode-collection .tit{
    position: relative;
    z-index: 10;
    font-size: 9.5rem;
    letter-spacing: 0.1em;
    color: #E89CA5;
    line-height: 1;
    top: 35px;
    opacity: 0.5;
}

/* Begin collection-slider ============================================== */
.home .furisode-collection .collection-slider {
    position: relative;
    padding-bottom: 40px;
    z-index: 11;
}

.home .furisode-collection .slider {
  position: relative;
  z-index: 5;
}

.home .furisode-collection .slick-list {
  overflow: visible;
}

.home .furisode-collection .slick-item {
  transition: transform 0.3s ease, opacity 0.3s ease, box-shadow 0.4s ease;
  transform: scale(0.82);
  position: relative;
  z-index: 1;
}

.home .furisode-collection .slick-slide.slick-current {
  transform: scale(1);
  z-index: 10;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.home .furisode-collection .slick-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* ===== Nút prev/next ===== */
.home .common-slider .slider .slick-prev,
.home .common-slider .slider .slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 55px;
    height: 80px;
    background: rgba(0, 0, 0, 0.45);
    z-index: 20;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
    /* Ẩn text "Previous"/"Next" mặc định của slick */
    font-size: 0;
    line-height: 0;
    color: transparent;
    padding: 0;
    overflow: hidden;
}

.common-slider .slider .slick-prev {
    border-radius: 0 8px 8px 0;
    
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    border-left: none;
}

.common-slider .slider .slick-next {
    border-radius: 8px 0 0 8px;

    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    border-right: none;
}

.home .common-slider .slider .slick-prev {
    left: 0;
}

.home .common-slider .slider .slick-next {
    right: 0;
}
/* Vẽ mũi tên bằng border */
.home .common-slider .slider .slick-prev:before,
.home .common-slider .slider .slick-next:before {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    font-size: 0;
}

.home .common-slider .slider .slick-prev:before {
    transform: rotate(-135deg);
    margin-left: 4px;
}

.home .common-slider .slider .slick-next:before {
    transform: rotate(45deg);
    margin-right: -2px;
}

.home .furisode-collection .collection-slider .bg-title{
    position: absolute;
    top: 5%;
    z-index: 3;
    width: 54%;
}

.home .furisode-collection .collection-slider .bg-collection-slider {
    position: absolute;
    top: 5%;
    z-index: 3;
    width: 54%;
}

.home .furisode-collection .collection-slider .bg-ic-collection-slider {
    position: absolute;
    bottom: -1%;
    left: 14%;
    z-index: 3;
    width: 270px;
}

.home .furisode-collection .collection-slider .btn-collection {
    z-index: 5;
    text-align: center;
    padding-top: 40px ;
}

.home .furisode-collection .collection-slider .btn-collection a {
    z-index: 5;
    padding: 20px;
}


/* Begin personal ============================================== */
.home .furisode-collection .personal {
    position: relative;
    padding: 145px 0;
    text-align: center;
    width: 100%;
}

.home .furisode-collection .personal .container {
   padding-left: 110px;
   padding-right: 110px;
}

.home .furisode-collection .personal .container .personal-card {
    position: relative;
    border-radius: 30px;
    background-image: url("../img/furisode-collection/bg-card-persional.png");
    background-size: cover;
    padding: 70px 0;
    margin: 0 auto;
}

.home .furisode-collection .personal .container .personal-card .personal-bg-01,
.home .furisode-collection .personal .container .personal-card .personal-bg-02,
.home .furisode-collection .personal .container .personal-card .personal-bg-03,
.home .furisode-collection .personal .container .personal-card .personal-bg-04 {
    opacity: 0;
    transform: scale(0.72);
    transform-origin: center center;
    transition: transform 0.9s ease, opacity 0.9s ease;
}

.home .furisode-collection .personal .container .personal-card.is-visible .personal-bg-01,
.home .furisode-collection .personal .container .personal-card.is-visible .personal-bg-02,
.home .furisode-collection .personal .container .personal-card.is-visible .personal-bg-03,
.home .furisode-collection .personal .container .personal-card.is-visible .personal-bg-04 {
    opacity: 1;
    transform: scale(1);
}

.home .furisode-collection .personal .container .personal-card .personal-bg-02 {
    transition-delay: 0.15s;
}

.home .furisode-collection .personal .container .personal-card .personal-bg-03 {
    transition-delay: 0.3s;
}

.home .furisode-collection .personal .container .personal-card .personal-bg-04 {
    transition-delay: 0.45s;
}

.home .furisode-collection .personal .container .personal-card .personal-title {
    font-size: 3.2rem;
    line-height: 0.96;
    letter-spacing: 0.2em;
    font-weight: 700;
    color: #E883A5;
}

.home .furisode-collection .personal .container .personal-card .personal-desc {
    padding-top: 18px;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.14em;
    font-weight: 500;
}

.home .furisode-collection .personal .container .personal-card .personal-btn {
    padding-top: 20px;
}

.home .furisode-collection .personal .container .personal-card .personal-btn a {
    padding: 17px;
}

.home .furisode-collection .personal .container .personal-card .personal-bg-01,
.home .furisode-collection .personal .container .personal-card .personal-bg-02 {
    position: absolute;
}

.home .furisode-collection .personal .container .personal-card .personal-bg-01 {
    top: -28%;
    left: -10%;
    width: 182px;
}

.home .furisode-collection .personal .container .personal-card .personal-bg-02 {
    top: 10%;
    right: -1%;
    width: 184px;
}
.home .furisode-collection .personal .personal-color{
    position: absolute;
    top: -50px;
    right: -60px;
    width: 130px;
    height: 130px;
    animation: personalColorSpin 12s linear infinite;
    transform-origin: center;
    will-change: transform;
}
.home .furisode-collection .personal .personal-color img{
    width: 100%;
    height: 100%;
}
@keyframes personalColorSpin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
@media (prefers-reduced-motion: reduce) {
    .home .furisode-collection .personal .personal-color{
        animation: none;
    }
}
.home .furisode-collection .personal .personal-bg-03,
.home .furisode-collection .personal .personal-bg-04 {
    position: absolute;
    z-index: 3;
}

.home .furisode-collection .personal .personal-bg-03 {
    top: 10%;
    left: -29%;
    width: 160px;
}

.home .furisode-collection .personal .personal-bg-04 {
    top: -28%;
    right: -29%;
    width: 172px;
}
.home .furisode-collection .personal .personal-img-sp{
    display: none;
}
@media(max-width: 960px) {
    .home .furisode-collection .container{
        padding-left: 25px;
        padding-right: 25px;
    }
    .home .furisode-collection .tit{
        font-size: 6rem;
        top: 10px;
    }
    .home .furisode-collection .top-content .container .top-content-box .top-desc{
        width: 60%;
    }
    .home .furisode-collection .top-content .container .top-content-box .top-image{
        width: 40%;
    }
    .home .furisode-collection .personal .container .personal-card .personal-bg-01{
        left: -78px;
        top: -44%;
        width: 160px;
    }
    .home .furisode-collection .personal .personal-bg-03{
        left: -140px;
        z-index: 100;
        width: 142px;
    }
    .home .furisode-collection .personal .personal-bg-04{
        right: -135px;
        width: 152px;
    }
    .home .furisode-collection .personal .container .personal-card .personal-bg-02{
        top: 23%;
        right: -46px;
        width: 162px;
    }
}
@media(max-width: 750px) {
    .home .furisode-collection{
        padding-bottom: 30px;
    }
    .home .furisode-collection .top-content .container .top-content-title{
        font-size: 3rem;
        text-align: center;
    }
    .home .furisode-collection .top-content{
        padding-top: 70px;
    }
    .home .furisode-collection .top-content .container .top-content-box .top-image .top-image-bg{
        width: 118px;
        right: -20px;
        top: unset;
        bottom: -48px;
    }
    .home .furisode-collection .collection-slider{
        padding-bottom: 65px;
    }
    .home .furisode-collection .top-content .container .top-content-box{
        flex-wrap: wrap;
    }
    .home .furisode-collection .top-content .container .top-content-box .top-desc p{
        font-size: 1.4rem;
    }
    .home .furisode-collection .top-content .container .top-content-box{
        padding-top: 20px;
    }
    .home .furisode-collection .bg-furisode-collection-01{
        top: 0px;
    }
    .home .furisode-collection .bg-furisode-collection-02{
        display: none;
    }
    .home .furisode-collection .top-content .container .top-content-box .top-desc{
        width: 100%;
    }
    .home .furisode-collection .top-content .container .top-content-box .top-image{
        width: 100%;
    }
    .home .furisode-collection .personal .container .personal-card .personal-bg-01{
        display: none;
    }
    .home .furisode-collection .personal .personal-bg-03{
        display: none;
    }
    .home .furisode-collection .personal .personal-bg-04{
        display: none;
    }
    .home .furisode-collection .personal .container .personal-card .personal-bg-02{
        display: none;
    }
    .home .furisode-collection .top-content .container .top-content-box .top-desc .desc-highlight{
        font-size: 1.8rem;
        padding-bottom: 10px;
        letter-spacing: 0.1em;
    }
    .home .furisode-collection .tit{
        font-size: 3.6rem;
        top: 0;
        padding-top: 60px;
    }
    .home .furisode-collection .personal{
        padding-top: 0px;
        padding-bottom: 90px;
    }
    .home .furisode-collection .personal .container{
        padding: 0 25px;
    }
    .home .furisode-collection .collection-slider .bg-ic-collection-slider{
        width: 130px;
        left: 12px;
        bottom: 50px;
    }
    .home .furisode-collection .personal .container .personal-card{
        padding: 70px 20px 0 20px;
        box-shadow: 0 0 6px rgb(197, 145, 215, .15);
        background-size: 220% !important;
    }
    .home .furisode-collection .personal .container .personal-card .personal-btn{
        padding-top: 15px;
    }
    .home .furisode-collection .personal .container .personal-card .personal-btn a{
        min-width: 280px;
    }
    
    .home .furisode-collection .personal .container .personal-card .personal-title{
        font-size: 2rem;
    }
    .home .furisode-collection .personal .personal-color{
        width: 106px;
        height: 106px;
        top: -53px;
        right: -15px;
    }
    .home .furisode-collection .personal .personal-img-sp{
        display: block;
        margin-left: -32px;
        margin-right: -32px;
        transform: translateY(36px);
    }
}
@media(max-width: 360px){
    .home .furisode-collection .personal .container .personal-card .personal-btn a{
        min-width: 220px;
    }
}
/* End personal ============================================== */

/* Begin plan ============================================== */
.home .plan {
    position: relative;
}

.home .bg-plan-img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 90%;
    height: 325px;
    object-fit: cover;

}

.home .plan .title-plan {
    text-align: center;
    position: relative;
}

.home .plan .container .title-plan h2 {
    font-size: 4.6rem;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.home .plan .container .title-plan p {
    font-size: 2.2rem;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0.18em;
    padding-top: 20px;
}

.home .plan .container .title-plan .ic-plan1 {
    position: absolute;
    top: -120px;
    left: -52px;
    width: 138px;
}
.home .plan .container .title-plan .ic-plan2 {
    position: absolute;
    bottom: -110px;
    right: -40px;
    width: 82px;
}

.home .plan::before {
    content: "";
    position: absolute;
    height: 200px;
    background: #FFFFFF;
    left: 0;
    right: 0;
    top: -109px;
    z-index: 2;
    clip-path: ellipse(57% 100% at 50% 102%);
}

.home .plan ul {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -27px 0;
}

.home .plan ul li {
    position: relative;
    padding: 27px;
    width: 33.33%;
    opacity: 0;
    transform: translateY(36px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    will-change: opacity, transform;
}

.home .plan ul li.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.home .plan ul .plan-item-2 {
    transition-delay: 0.18s;
}

.home .plan ul .plan-item-3 {
    transition-delay: 0.36s;
}
.home .plan ul li .plan-inner {
    padding: 30px 15px 20px;
    background: #fff;
    text-align: center;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    position: relative;
}
.home .plan ul li .plan-inner a{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
.home .plan ul li .plan-number {
    display: inline-block;
    font-size: 6.6rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    transform: rotate(3deg);
    position: absolute;
    top: 0;
    left: 20px;
    font-style: italic;
}

.home .plan ul .plan-item-1 .plan-number { 
    color: #9F7CCE;
}
.home .plan ul .plan-item-2 .plan-number {
    color: #C591D7;
}
.home .plan ul .plan-item-3 .plan-number {
    color: #E89CA5;
}
.home .plan ul .plan-item-2 {
    margin-top: 20px;
}
.home .plan ul .plan-item-3 {
    margin-top: 40px;
}

.home .plan ul li .plan-item-2 .ic-plan-img {
    width: 100%;
    padding-bottom: 20px;
}

.home .plan ul li .plan-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home .plan ul li .plan-title {
    font-size: 2.4rem;
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: 10px;
    letter-spacing: 0.18em;
    padding-top: 5px;
}

.home .plan ul .plan-item-1 .plan-title { color: #9F7CCE; }
.home .plan ul .plan-item-2 .plan-title { color: #C591D7; }
.home .plan ul .plan-item-3 .plan-title { color: #E89CA5; }

.home .plan ul li .plan-desc {
    font-size: 1.4rem;
    line-height: 1.75;
    letter-spacing: 0.14em;
    font-weight: 500;
}

.home .plan ul li .plan-arrow {
    padding: 25px 0 0;
    display: flex;
    justify-content: flex-end;
}

.home .plan ul li .plan-arrow img {
    display: block;
    width: 22px;
}

@media (max-width: 1200px) {
    .home .plan .container .title-plan .ic-plan1{
        left: -10px;
    }
    .home .plan .container .title-plan .ic-plan2{
        right: -10px;
    }
}
@media (max-width: 1024px) {
    .home .plan ul {
        margin: 0 -15px 0;
    }

    .home .plan ul li {
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media (max-width: 860px) {
    .home .plan .container .title-plan .ic-plan2{
        bottom: -90px;
    }
    .home .plan ul {
        margin: 0 -10px 0;
    }

    .home .plan ul li {
        padding-left: 10px;
        padding-right: 10px;
    }
    .home .plan ul li .plan-title{
        font-size: 2.2rem;
    }
}

@media (max-width: 820px) {
   .home .plan ul li .plan-item-2,
   .home .plan ul li .plan-item-3
    {
        padding-top: 0;
    }
}
@media(max-width: 750px){
    .home .plan{
        padding-bottom: 50px;
    }
    .home .plan::before{
        top: -50px;
        height: 50px;
    }
    .home .plan .container .title-plan .ic-plan1{
        width: 60px;
        top: -62px;
        left: 10px;
    }
    .home .plan .container .title-plan .ic-plan2{
        width: 41px;
        right: 8px;
        bottom: -10px;
    }
    .home .plan .container .title-plan h2{
        font-size: 3rem;
    }
    .home .plan .container .title-plan p{
        font-size: 1.8rem;
        font-weight: 700;
        padding-top: 10px;
        padding-bottom: 14px;
    }
    .home .plan ul{
        margin: 0;
        margin-top: 20px;
        padding: 0 30px;
    }
    .home .plan ul li{
        width: 100%;
        padding: 0;
    }
    .home .plan ul .plan-item-2,
    .home .plan ul .plan-item-3{
        margin-top: 20px;
    }
    .home .plan ul li .plan-title{
        padding-top: 5px;
    }
    .home .plan ul li .plan-number{
        top: -5px;
        left: 17px;
    }
    .home .plan ul li .plan-title{
        font-size: 2.4rem;
    }
    .home .bg-plan-img{
        width: calc(100% - 22px);
        height: 84%;
    }
}

/* Begin photo-studio ============================================== */

.home .photo-studio {
    position: relative;
    padding-top: 107px;
}

.home .photo-studio .photo-studio-title {
    text-align: center;
}
.home .photo-studio .photo-studio-title .title-inner{
    position: relative;
    display: inline-block;
}
.home .photo-studio .photo-studio-title h2 {
    font-size: 4.6rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
    font-weight: 400;
}

.home .photo-studio .photo-studio-title p {
    padding-top: 20px;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.14em;
    font-weight: 500;
}

.home .photo-studio .ic-photo-studio-img-01,
.home .photo-studio .ic-photo-studio-img-02 {
    position: absolute;
    width: 106px;
}

.home .photo-studio .ic-photo-studio-img-01 {
    bottom: -18px;
    left: -150px;
}
.home .photo-studio .ic-photo-studio-img-02 {
    bottom: -18px;
    right: -150px;
}


.home .photo-studio .photo-studio-slider {
    padding-top: 40px;
}

/* End photo-studio ============================================== */

/* ============ Slider (dùng riêng cho photo-studio) ============ */
.home .photo-studio-slider {
  position: relative;
}

.home .photo-studio-slider .slider {
  margin: 0;
}

.home .photo-studio-slider .slick-list {
  overflow: hidden;
}

.home .photo-studio-slider .slick-track {
  display: flex;
}

.home .photo-studio-slider .slick-item {
  transition: transform 0.3s ease, opacity 0.3s ease, box-shadow 0.4s ease;
  transform: scale(0.9);
  margin: 0;
}

.home .photo-studio-slider .slick-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.home .photo-studio-slider .slick-slide.slick-current {
  transform: scale(1);
  z-index: 10;
}

.home .photo-studio-slider .photo-studio-slider-btn {
    text-align: center;
    padding-top: 30px;
    padding-bottom: 70px;
}

.home .photo-studio-slider .photo-studio-slider-btn a {
    padding: 20px 75px ;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.1em;
}
@media(max-width: 960px){
    .home .photo-studio .ic-photo-studio-img-01{
        left: -90px;
        bottom: 30px;
    }
    .home .photo-studio .ic-photo-studio-img-02{
        right: -90px;
        bottom: 30px;
    }
}
@media(max-width: 750px){
    .home .photo-studio{
        padding: 50px 0;
    }
    .home .photo-studio .photo-studio-title .title-inner{
        width: 100%;
    }
    .home .photo-studio .ic-photo-studio-img-01,
    .home .photo-studio .ic-photo-studio-img-02{
        width: 56px;
        bottom: unset;
        top: -20px;
    }
    .home .photo-studio .ic-photo-studio-img-01{
        left: 10px;
    }
    .home .photo-studio .ic-photo-studio-img-02{
        right: 10px;
    }
    .home .photo-studio .photo-studio-title h2{
        font-size: 3rem;
    }
    .home .photo-studio .photo-studio-title p{
        padding-top: 15px;
    }
    .home .photo-studio-slider .photo-studio-slider-btn{
        padding-bottom: 0;
    }
    .home .photo-studio .photo-studio-slider{
        padding-top: 20px;
    }
    .home .common-slider .slider .slick-prev,
    .home .common-slider .slider .slick-next{
        width: 50px;
        height: 72px;
    }
}
/*
============================================================
=================== News and blog ==========================
============================================================
*/
.home .news-blog{
    background: url(../img/news/bg-news.jpg) no-repeat;
    background-size: cover !important;
    background-position: center;
    position: relative;
    padding: 84px 0 0 0;
}
.home .news-blog .intro{
    background: #FEFBF1;
    margin-left: calc((100vw - 1240px)/2);
    border-radius: 50vh 0 0 50vh;
    display: flex;
    padding: 55px 0 35px 140px;
    align-items: center;
    overflow: hidden;
}
.home .news-blog .intro .content{
    width: 425px;
    letter-spacing: 0.14em;
}
.home .news-blog .intro .content h3{
    font-size: 4.6rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
    padding-bottom: 10px;
    font-weight: 400;
}
.home .news-blog .intro .btn-box{
    padding: 22px 0 0 16px;
}
.home .news-blog .intro .btn-box.sp{
    display: none;
}
.home .news-blog .intro .slider{
    flex: 1;
    min-width: 0;
    overflow: hidden;
    padding-bottom: 50px;
}
.home .news-blog .intro ul{
    display: flex;
    margin: 0 -10px;
}
.home .news-blog .intro ul li{
    padding: 0 10px;
    min-width: 300px;
}
.home .news-blog .intro .slider ul.slick-slider{
    display: block;
    margin: 0;
    overflow: visible;
}
.home .news-blog .intro .slider .slick-list{
    overflow: visible;
    margin-right: -170px;
}
.home .news-blog .intro .slider .slick-track{
    display: flex;
}
.home .news-blog .intro .slider .slick-slide{
    height: inherit;
}
.home .news-blog .intro .slider .slick-slide > div{
    height: 100%;
}
.home .news-blog .intro .slider ul.slick-slider li{
    width: 320px;
    min-width: 0;
}
.home .news-blog .intro .slider .slick-prev,
.home .news-blog .intro .slider .slick-next{
    position: absolute;
    bottom: -50px;
    width: 63px;
    height: 33px;
    border: 0;
    padding: 0;
    cursor: pointer;
    z-index: 5;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    font-size: 0;
    line-height: 0;
    color: transparent;
    overflow: hidden;
}
.home .news-blog .intro .slider .slick-prev{
    left: 12px;
    background-image: url('../img/btn-prev.png');
}
.home .news-blog .intro .slider .slick-next{
    left: 206px;
    background-image: url('../img/btn-next.png');
}
.home .news-blog .intro .slider .slick-prev:before,
.home .news-blog .intro .slider .slick-next:before{
    display: none;
}
.home .news-blog .intro .slider .slick-dots{
    position: absolute;
    left: 96px;
    bottom: -38px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
}
.home .news-blog .intro .slider .slick-dots li{
    width: auto !important;
    min-width: 0 !important;
}
.home .news-blog .intro .slider .slick-dots li{
    background: none;
    border: none;
    text-indent: -999999px;
    width: 8px !important;
    height: 8px !important;
    background: #BCBCBC;
    border-radius: 50%;
    padding: 0 !important;
    margin: 0 5px;
    display: block !important;
}
.home .news-blog .intro .slider .slick-dots li:last-child{
    margin-right: 0;
}
.home .news-blog .intro .slider .slick-dots li.slick-active{
    background: #F2D180;
}
.home .news-blog .intro .slider .slick-dots li button{
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0;
}
.home .news-blog .intro ul .inner{
    display: inline-block;
    height: 100%;
    position: relative;
    background: #fff;
    box-shadow: 0 0 3px rgb(0, 0, 0, .1);
    border-radius: 10px;
    padding: 22px 25px 30px 25px;
    font-weight: 500;
}
.home .news-blog .intro ul li .num{
    font-family: "Zen Old Mincho", serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    font-size: 6.6rem;
    color: #F2D180;
    position: absolute;
    left: 14px;
    top: 8px;
    line-height: 1;
    font-style: italic;
}
.home .news-blog .intro ul li .icon{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 18px 0 14px 0;
}
.home .news-blog .intro ul li .icon p{
    width: 120px;
    height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FBF4D7;
    border-radius: 100%;
}
.home .news-blog .intro ul li .icon p img{
    width: 56px;
}
.home .news-blog .intro ul .inner h3{
    text-align: center;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.18em;
    padding-bottom: 10px;
}
.home .news-blog .title-box{
    margin-top: 62px;
    margin-bottom: 27px;
}
.home .news-blog .title-box .title{
    font-weight: 400;
}
.home .news-blog .articles{
    padding-bottom: 56px;
}
.home .news-blog .articles ul{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}
.home .news-blog .articles ul li{
    width: 50%;
    margin-bottom: 20px;
    margin-top: 10px;
    padding: 0 15px;
}
.home .news-blog .articles ul .inner{
    display: flex;
    align-items: center;
    height: 100%;
    background: #fff;
    box-shadow: 0px 0px 3px rgb(0, 0, 0, .1);
    position: relative;
}
.home .news-blog .articles ul .inner a{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
.home .news-blog .articles ul li .img{
    width: 35.2%;
    height: 100%;
}
.home .news-blog .articles ul li .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.home .news-blog .articles ul li .content{
    flex: 1;
    padding: 10px 25px;
}
.home .news-blog .articles ul li h3{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.6;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.home .news-blog .articles ul li .date{
    font-size: 1.4rem;
    line-height: 2.14;
}
.home .news-blog .articles ul li .tags{
    font-size: 1.4rem;
    line-height: 2.14;
    letter-spacing: 0.08em;
}
.home .news-blog .articles ul li .tags .txt{
    background: #D7D7D7;
    border-radius: 50vh;
    padding: 2px 10px;
}
.home .news-blog .blog{
    background: #FEFCF2;
    padding: 16px 0 25px;
}
.home .news-blog .blog .items{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.home .news-blog .blog .items .title-box{
    width: 28.5%;
    text-align: left;
}
.home .news-blog .blog .items .title-box h2{
    text-align: left;
}
.home .news-blog .blog .items ul{
    flex: 1;
}
.home .news-blog .blog .items ul li{
    display: flex;
    align-items: center;
    border-bottom: 1px solid #989898;
    padding: 24px 35px;
    position: relative;
}
.home .news-blog .blog .items ul li a{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
.home .news-blog .blog .items ul li .img{
    width: 90px;
}
.home .news-blog .blog .items ul li .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.home .news-blog .blog .items ul li .content{
    flex: 1;
    padding-left: 25px;
}
.home .news-blog .blog .items ul li .txt-box{
    display: flex;
    gap: 25px;
}
.home .news-blog .blog .items ul li h3{
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.56;
    letter-spacing: 0.02em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.home .news-blog .items ul li .date{
    font-size: 1.4rem;
    line-height: 2.14;
}
.home .news-blog .items ul li .tags{
    font-size: 1.4rem;
    line-height: 2.14;
    letter-spacing: 0.08em;
}
.home .news-blog .items ul li .tags .txt{
    background: #D7D7D7;
    border-radius: 50vh;
    padding: 2px 10px;
}
.home .news-blog .blog .view-detail{
    padding-top: 12px;
}
@media(max-width: 1240px){
    .home .news-blog .intro{
        max-width: 100%;
        margin-left: 40px;
    }
    .home .news-blog .intro .slider .slick-list{
        margin-right: -120px;
    }
}
@media(max-width: 960px){
    .home .news-blog .intro{
        padding-left: 100px;
    }
    .home .news-blog .intro .content{
        width: 350px;
    }
}
@media(max-width: 860px){
    .home .news-blog{
        padding-top: 130px;
    }
    .home .news-blog .intro{
        position: relative;
        overflow: unset;
        padding-top: 0;
    }
    .home .news-blog .intro::before {
        content: "";
        position: absolute;
        height: 80px;
        background: #FEFBF1;
        left: 0;
        right: 0;
        top: -80px;
        z-index: 1;
        clip-path: ellipse(57% 100% at 50% 102%);
    }
    .home .news-blog .intro{
        padding-left: 30px;
        margin-left: 0;
        border-radius: 0;
        flex-wrap: wrap;
    }
    .home .news-blog .intro .content{
        width: 100%;
        text-align: center;
        padding-bottom: 40px;
    }
    .home .news-blog .intro .content h3 .lb-pc{
        display: none;
    }
    .home .news-blog .intro .slider{
        flex: auto;
    }
    .home .news-blog .intro .slider .slick-list{
        margin-right: 0;
    }
    .home .news-blog .intro .slider .slick-prev,
    .home .news-blog .intro .slider .slick-next{
        bottom: -48px;
    }
    .home .news-blog .intro .slider .slick-next{
        left: 190px;
    }
    .home .news-blog .intro .slider .slick-dots{
        left: 83px;
        bottom: -39px;
    }
    .home .news-blog .intro .btn-box{
        padding-left: 0;
    }
}
@media(max-width: 750px){
    .home .news-blog {
        background: url(../img/news/bg-news-sp.jpg) no-repeat;
        background-size: 100% !important;
        padding-top: 70px;
        padding-bottom: 75px;
    }
    .home .news-blog .intro{
        padding-left: 0;
        padding-top: 10px;
    }
    .home .news-blog .intro::before{
        height: 30px;
        top: -30px;
    }
    .home .news-blog .intro .content{
        padding: 0 20px 32px 20px;
    }
    .home .news-blog .intro .content .txt{
        font-size: 1.4rem;
    }
    .home .news-blog .intro .btn-box{
        display: none;
    }
    .home .news-blog .intro .content h3{
        font-size: 3rem;
    }
    .home .news-blog .intro .slider{
        margin-left: 35px;
    }
    .home .news-blog .intro .slider ul.slick-slider{
        margin-left: -8px;
        margin-right: -8px;
    }
    .home .news-blog .intro .slider ul.slick-slider li{
        width: 310px;
        padding: 0 8px;
    }
    .home .news-blog .intro .slider .slick-dots{
        margin-left: -15px;
    }
    .home .news-blog .intro .slider .slick-prev{
        left: 50%;
        margin-left: -135px;
    }
    .home .news-blog .intro .slider .slick-next{
        left: 50%;
        margin-left: 45px;
    }
    .home .news-blog .intro .slider .slick-dots{
        left: 50%;
        transform: translateX(-50%);
        bottom: -39px;
    }
    .home .news-blog .title-box{
        margin-top: 30px;
        margin-bottom: 17px;
    }
    .home .news-blog .articles{
        padding-bottom: 30px;
    }
    .home .news-blog .articles ul{
        margin: 0 -5px;
    }
    .home .news-blog .articles ul li{
        margin-top: 0;
        padding: 0 5px;
        margin-bottom: 10px;
    }
    .home .news-blog .articles ul .inner{
        flex-wrap: wrap;
        height: auto;
        padding: 10px 8px 15px 8px;
    }
    .home .news-blog .articles ul li .img{
        width: 100%;
        height: auto;
    }
    .home .news-blog .articles ul li .img img{
        height: auto;
        object-fit: unset;
    }
    .home .news-blog .articles ul li .content{
        padding: 0;
        flex: auto;
    }
    .home .news-blog .articles ul li h3{
        font-size: 1.5rem;
        padding-top: 5px;
    }
    .home .news-blog .intro .btn-box.sp{
        display: inline-block;
        width: 100%;
        text-align: center;
        padding: 30px 10px 10px 10px;
    }
    .home .news-blog .title-box .title{
        font-size: 3.4rem;
    }
    .home .news-blog .title-box .sub{
        font-size: 1.4rem;
    }
    .home .news-blog .articles ul li .tags{
        display: flex;
        flex-wrap: wrap;
        line-height: 1;
        gap: 4px;
        padding-top: 3px;
    }
    .home .news-blog .articles ul li .tags .txt{
        display: inline-block;
        padding: 4px 5px;
    }
    .home .news-blog .blog .container{
        padding-left: 10px;
        padding-right: 10px;
    }
    .home .news-blog .blog{
        padding: 0 0 35px;
    }
    .home .news-blog .blog .items .title-box{
        width: 100%;
    }
    .home .news-blog .blog .items ul{
        flex: auto;
    }
    .home .news-blog .blog .items .title-box,
    .home .news-blog .blog .items .title-box h2{
        text-align: center;
    }
    .home .news-blog .blog .items ul li{
        padding: 20px 10px 20px 10px;
        flex-wrap: wrap;
        align-items: unset;
    }
    .home .news-blog .blog .items ul li .content{
        padding-left: 15px;
        padding-top: 0px;
    }
    .home .news-blog .blog .items ul li .txt-box{
        flex-wrap: wrap;
        gap: 0;
    }
    .home .news-blog .blog .items ul li .date{
        width: 100%;
    }
    .home .news-blog .blog ul li .tags{
        display: flex;
        flex-wrap: wrap;
        line-height: 1;
        gap: 4px;
        padding-top: 3px;
    }
    .home .news-blog .blog ul li .tags .txt{
        display: inline-block;
        padding: 4px 5px;
    }
}
/*
============================================================
=================== End News and blog ======================
============================================================
*/
/*
============================================================
======================= kimono =============================
============================================================
*/

.kimono {
    position: relative;
    padding: 65px 0 170px;
}
.kimono .inner{ 
    margin-left: calc((100vw - 860px)/2);
    background: #f5f2fa;
    padding: 60px 0 60px 60px;
    position: relative;
}
.kimono .title-box{
    text-align: left;
    width: auto;
    padding-left: 100px;
    position: relative;
    z-index: 20;
}
.kimono .title-box .tit-inner{
    text-align: center;
}
.kimono .title-box .tit-inner .title{
    font-weight: 400;
}
.kimono .bg{
    position: absolute;
    left: 0;
    bottom: 80px;
    width: 70%;
    height: 64%;
    object-fit: cover;
    z-index: -1;
}
.kimono .img{
    position: absolute;
    top: 5px;
    right: 0;
    bottom: 5px;
}
.kimono .img img{
    height: 100%;
}
.kimono .item-box{
    display: inline-block;
    width: 100%;
}
.kimono .items{
    position: relative;
    z-index: 10;
    padding-top: 50px;
    display: inline-block;
}
.kimono .items ul{
    display: flex;
    gap: 65px;
    position: relative;
    z-index: 3;
}
.kimono .items ul li{
    width: 330px;
}
.kimono .items ul li img{
    width: 100%;
}
.kimono .items ul li:last-child{
    margin-top: 30px;
}
.kimono .ic.pc{
    position: absolute;
    top: -28px;
    right: -135px;
    width: 250px;
    z-index: 2;
}
.kimono .ic.sp{
    display: none;
    position: absolute;
    z-index: 2;
}
@media(max-width: 1024px){
    .kimono .inner{
        margin-left: 40px;
    }
    .kimono .ic.pc{
        width: 200px;
        right: -30px;
        top: -5px;
    }
}

@media(max-width: 960px){
    .kimono .bg{
        width: 80%;
        height: 60%;
    }
    .kimono .ic.pc{
        display: none;
    }
    .kimono .title-box{
        padding-left: 0;
    }
    .kimono .items{
        padding-right: 120px;
    }
    .kimono .items ul{
        gap: 30px;
    }
    .kimono .items ul li{
        width: auto;
    }
    .kimono .ic.sp{
        display: block;
        top: -20px;
        left: 20px;
        width: 160px;
    }
}
@media(max-width: 750px){
    .kimono {
        padding: 65px 0 27px;
        margin-bottom: 50px;
    }
    .kimono .bg{
        bottom: 0;
    }
    .kimono .inner{
        margin-left: 20px;
        padding: 40px 0 0 0;
    }
    .kimono .title-box{
        text-align: center;
        width: 100%;
        padding: 0 15px;
    }
    .kimono .title-box .tit-inner .title{
        font-size: 3rem;
    }
    .kimono .title-box .tit-inner .txt{
        font-size: 1.4rem;
    }
    .kimono .img{
        top: unset;
    }
    .kimono .img img{
        height: 290px;
    }
    .kimono .ic.sp{
        width: 108px;
        top: -10px;
        left: 15px;
    }
    .kimono .items{
        padding: 15px 36px 45px 20px;
    }
    .kimono .items ul{
        flex-wrap: wrap;
        gap: 0;
    }
    .kimono .items ul li{
        width: 100%;
        margin-bottom: 25px;
    }
    .kimono .items ul li:last-child{
        margin-top: 0;
        margin-bottom: 0;
    }
}
/*
============================================================
===================== End kimono ===========================
============================================================
*/
/*
============================================================
======================= location =============================
============================================================
*/
.location{
    background: #F1EBF8;
    position: relative;
    margin-top: 60px;
    padding-bottom: 70px;
}
.location:before{
    content: '';;
    position: absolute;
    left: 0;
    right: 0;
    top: -70px;
    background: #fff;
    height: 70px;
}
.location .title{
    display: inline-block;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid #837BB3;
    padding: 60px 0 25px;
}
.location .title img{
    width: 146px;
}
.location .bg-location{
    position: absolute;
    bottom: 83px;
    right: 0;
    width: 53%;
    z-index: 1;
}
.location .bg-location img{
    width: 100%;
}
.location .bg-location.sp{
    display: none;
}
.location .info{
    padding-left: 18px;
    letter-spacing: 0.08em;
    font-weight: 500;
    padding-top: 25px;
    line-height: 1.66;
    position: relative;
    z-index: 2;
}
.location .info .lg{
    font-size: 1.8rem;
}
.location .info .phone{
    display: inline-block;
    color: #837BB3;
    font-size: 2.2rem;
    padding-left: 22px;
    background: url('../img/ic-phone.png') no-repeat;
    background-size: 15px 15px;;
    background-position: 0 7px;
    font-weight: 700;
    line-height: 1.13;
    margin-top: 8px;
}
.location .info .map{
    width: 328px;
    height: 180px;
    margin-top: 18px;
}
.location .info .map iframe{
    width: 100%;
    height: 100%;
}
.location .info .socials{
    display: flex;
    padding-top: 18px;
}
.location .info .socials a{
    display: inline-block;
    width: 52px;
}
.location .info .socials a img{
    width: 100%;
}
@media(max-width: 960px){
    .location .bg-location{
        width: 70%;
    }
}
@media(max-width: 750px){
    .location{
        padding-bottom: 25px;
        margin-top: 65px;
    }
    .location .container{
        padding-left: 20px;
        padding-right: 20px;
    }
    .location:before{
        height: 45px;
        top: -45px;
    }
    .location .bg-location.pc{
        display: none;
    }
    .location .bg-location.sp{
        display: block;
        position: unset;
        width: 100%;
        padding-left: 22px;
        padding-top: 10px;
    }
    .location .title{
        padding: 35px 0 12px;
    }
    .location .info{
        padding-left: 0;
        padding-top: 20px;
        font-size: 1.5rem;
        letter-spacing: 0;
    }
    .location .title img{
        width: 100px;
    }
    .location .info .map{
        width: 100%;
        height: 200px;
    }
    .location .info .socials{
        position: absolute;
        left: 0;
        right: 0;
        bottom: -70px;
    }
}
/*
============================================================
===================== End location ===========================
============================================================
*/
/*
============================================================
===================== Page banner ==========================
============================================================
*/
.page-banner{
    position: relative;
    padding: 45px 0 165px;
}
.page-banner::before,
.page-banner::after{
    content: '';
    position: absolute;
    z-index: -1;
}
.page-banner::before{
    top: 0;
    left: 0;
    right: 28.68%;
    bottom: 45%;
    background: rgb(249, 215, 225, .35);
}

.page-banner::after {
    top: 35%;
    left: 48%;
    right: 0;
    bottom: 0;
    background: url('../img/reason-page/reason/bg-reason-02.png') no-repeat;
    background-size: cover; 
}

.page-banner .content {
    position: relative;
    padding-top: 45px;
}

.page-banner .content .banner-title{
    position:absolute;
    left: -90px; 
    color: #E79BA4;
    writing-mode: vertical-rl;
    font-size: 9rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1em;
}

@media(max-width: 1024px){
    .page-banner .content {
        padding-top: 10px;
    }
    .page-banner .content .banner-title{
        position: unset;
        writing-mode: unset;
        font-size: 4.2rem;
        text-align: center;
        padding-bottom: 15px;
    }

    .page-banner::before{
        right: 0;
    }
}

@media(max-width: 750px){
    .page-banner .content .banner-title{
        font-size: 1.6rem;
        top: 10px;
    }
    .page-banner {
        padding: 20px 0;
    }
    .page-banner .title-box .title{ 
        font-size: 3.2rem;
    }
    
}
/*
============================================================
===================== End Page banner ======================
============================================================
*/
/*
============================================================
===================== Begin Page banner one =================
============================================================
*/
.page-banner-one {
    position: relative;
    padding-top: 25px;
}
.page-banner-one::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 50px;
    left: 0;
    background: rgb(131, 123, 179, 0.1);
}
.page-banner-one .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.page-banner-one .inner .info {
    padding-top: 80px;
    width: 42.6%;
}
.page-banner-one .inner .title-box,
.page-banner-one .inner .title-box .title {
    text-align: left;
}
.page-banner-one .inner .title-box .title {
    font-size: 4.6rem;
    line-height: 1.23;
    letter-spacing: 0.1em;
    font-weight: 400;
}
.page-banner-one .inner .title-box .sub {
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-weight: 400;
    color: #837BB3;
}
.page-banner-one .inner .img {
    flex: 44.4%;
}
.page-banner-one .inner .breadcrumb {
    width: 42.6%;
    margin-top: -40px;
}

@media(max-width: 750px){
    .page-banner-one {
        padding-bottom: 10px;
    }
    .page-banner-one::before {
        bottom: 0
    }
    .page-banner-one .inner .title-box,
    .page-banner-one .inner .title-box .title {
        text-align: center;
        font-size: 3rem;
    }
    .page-banner-one .inner .title-box .sub {
        font-size: 1.6rem;
    }
    .page-banner-one .inner .info {
        width: 100%;
        padding-top: 0;
    }
    .page-banner-one .inner .img {
        padding-top: 10px;
    }
    .page-banner-one .inner .breadcrumb {
        width: 100%;
        margin-top: 5px;
    }
}
/*
============================================================
===================== End Page banner one ======================
============================================================
*/


/*
============================================================
===================== Breadcrumb ===========================
============================================================
*/
.breadcrumb {
    padding-top: 5px;
}
.breadcrumb ol{
    display: flex;
    flex-wrap: wrap;
}
.breadcrumb ol li{
    padding-right: 15px;
    font-size: 1.4rem;
    font-weight: 400;
}
.breadcrumb ol li:last-child{
    padding-right: 0;
}
.breadcrumb ol a{
    color: initial;
    display: inline-block;
    position: relative;
}
.breadcrumb ol span{
    display: inline-block;
}
.breadcrumb ol a:after {
    content: ">";
    position: absolute;
    top: 0;
    right: -12px;
}
/*
============================================================
===================== End Breadcrumb =======================
============================================================
*/
/*
============================================================
===================== Begin-reason-page-reason ===========================
============================================================
*/

.reason-page .reason {
    width: 100%;
}
.reason-page .container{
    max-width: 990px;
}
.reason-page .intro {
    padding: 77px 0 200px;
}
.reason-page .intro .container {
    max-width: 1236px;
}
.reason-page .intro .content{
    position: relative;
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    padding: 0 130px;
}
.reason-page .intro .content::before,
.reason-page .intro .content::after{
    content: "";
    position: absolute;
}
.reason-page .intro .content::before {
    top: -100px;
    left: 0;
    width: 161px;
    height: 173px;
    background: url('../img/reason-page/reason/ic-reason-01.png') no-repeat;
    background-size: auto 100%;
}
.reason-page .intro .content::after {
    right: 0;
    bottom: -100px;
    width: 179px;
    height: 86px;
    background: url('../img/reason-page/reason/ic-content-01.png') no-repeat;
    background-size: cover;
    z-index: 1;
}
.reason-page .intro .content .title-box{
    position: relative;
    width: 40%;
    text-align: left;
    padding: 70px 20px 0 0;
}
.reason-page .intro .content .title{
    font-size: 3.2rem;
    line-height: 1.78;
    letter-spacing: 0.1em;
    font-weight: 400;
    text-align: left;
}
.reason-page .intro .content .desc{
    flex: 1;
    font-size: 1.5rem;
    line-height: 1.9;
}
.reason-page .intro .imgs {
    position: relative;
    padding-top: 50px;
}
.reason-page .intro .imgs .ic-02{
    position: absolute;
    width: 14.5%;
    right: 10px;
    top: 40px;
}
.reason-page .intro .imgs ul {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.reason-page .intro .imgs ul li img {
    width: 100%;
}
.reason-page .intro .imgs ul .col1  {
    width: 35.11%;
}
.reason-page .intro .imgs ul .col2  {
    width: 26%;
    margin-top: 11.2%;
}
.reason-page .intro .imgs ul .col3  {
    width: 21.8%;
    margin-left: 14px;
}
@media(max-width: 960px) {
    .reason-page .intro .content{
        padding: 0 70px;
    }
    .reason-page .intro .content::after {
        z-index: -1;
        bottom: -15px;
        width: 115px;
        height: 56px;
    }
}

@media(max-width: 750px) {
    .reason-page .intro {
        padding: 20px 0 120px;
    }
    .reason-page .intro .content .title-box {
        padding: 0;
    }
    .reason-page .intro .content {
        justify-content: center;
    }
    .reason-page .intro .content::before {
        top: -40px;
        left: 0;
        width: 70px;
        height: 75px;
    }
    .reason-page .intro .content .title-box {
        width: 100%;
    }
    .reason-page .intro .content .title-box .title {
        font-size: 2.8rem;
        text-align: center;
    }
    .reason-page .intro .content .desc {
        font-size: 1.4rem;
        padding-top: 0;
        flex: auto;
        text-align: left;
    }
    .reason-page .intro .imgs {
        padding-top: 20px;
        display: flex;
        justify-content: center;
     }
    .reason-page .intro .imgs ul {
        justify-content: center;
        max-width: 520px;
    }
    .reason-page .intro .imgs ul li {
        width: 100%;
    }
    .reason-page .intro .imgs ul .col1 {
        width: 280px;
        margin-top: 0;
        margin-right: 20%;
    }
    .reason-page .intro .imgs ul .col2 {
        width: 220px;
        margin-top: -50px;   
        margin-left: auto; 
        margin-right: 10px;
    }
    .reason-page .intro .imgs ul .col3 {
        width: 300px;
        margin-left: 0;
    }
    .reason-page .intro .content {
        gap: 20px;
        padding: 25px 0;
    }
    .reason-page .intro .imgs .ic-02 {
        width: 150px;
        top: 0;
        z-index: -1;
    }
}
@media(max-width: 576px){
    .reason-page .intro .reason-heading .intro-box .tit {
        font-size: 3.2rem;
    }
}
/*
============================================================
===================== End-reason-page-reason ===========================
============================================================
*/

/*
============================================================
===================== Begin-why-choose-us ===========================
============================================================
*/

.reason-page .why-choose-us {
    width: 100%;
    padding-bottom: 120px;
    background: url(../img/reason-page/why-choose-us/bg-why-choose-us-01-main.png);
    background-position: center;
    position: relative;
    z-index: -1;
}

.reason-page .why-choose-us::before {
   content: "";
    position: absolute;
    height: 200px;
    background: url(../img/reason-page/why-choose-us/bg-why-choose-us-01-main.png);
    background-position: center;
    left: 0;
    right: 0;
    top: -109px;
    z-index: -1;
    clip-path: ellipse(57% 100% at 50% 102%);
}

.reason-page .why-choose-us .title-box {
    position: relative;
}

.reason-page .why-choose-us .title-box::before {
    content: "";
    position: absolute;
    width: 234px;
    height: 234px;
    background: url(../img/reason-page/why-choose-us/ic-why-choose-us-01.png);
    background-size: cover;
    z-index: -1;
    top: -60%;
    right: 8%;
    z-index: -1;
}
.reason-page .why-choose-us .ic img {
    position: absolute;
    top: -120px;
    right: -70px;
    width: 234px;
}
.reason-page .why-choose-us .title-box .title {
    font-size: 3.58rem;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 400;
}
.reason-page .why-choose-us .title-box .sub {
    font-size: 7.65rem;
    line-height: 1;
    letter-spacing: 0.01em;
    font-weight: 400;
}
.reason-page .why-choose-us .title-box .sub .xl {
    font-size: 14.8rem;
    letter-spacing: 0.01em;
    font-weight: 400;
}
.reason-page .why-choose-us ul {
    padding-top: 90px;
    display: flex;
    flex-direction: column;
    gap: 70px;
    width: 100%;
}
.reason-page .why-choose-us ul li {
    position: relative;
}
.reason-page .why-choose-us ul li .inner {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    max-width: 1210px;
    padding: 0 20px;
    margin: 0 auto;
    gap: 40px;
}
.reason-page .why-choose-us ul li .img {
    position: relative;
    padding-top: 20px;
    width: 40.6%;
}
.reason-page .why-choose-us ul li .img img {
    width: 100%
}

.reason-page .why-choose-us ul li .content {
    padding: 60px 130px 0 0;
    flex: 1;
}

.reason-page .why-choose-us ul li .content .tit {
    font-size: 3.2rem;
    line-height: 1.56;
    letter-spacing: 0.01em;
    font-weight: 600;
    color: #837BB3;
}

.reason-page .why-choose-us ul li .content .desc {
    font-size: 1.6rem;
    line-height: 1.9;
    /* font-weight: 400; */
}

.reason-page .why-choose-us ul li::before,
.reason-page .why-choose-us ul li::after {
    content: "";
    position: absolute;
}
.reason-page .why-choose-us ul li::before{
    top: 0;
    left: max(100px, calc((100vw - 1240px) / 2 + 147px));   
    right: 0;
    bottom: 85px;
    background-color: #FFFFFF;
    border-radius: 40px 0 0 40px;
    z-index: -1;                 
}
.reason-page .why-choose-us ul li::after{
    top: 1px;
    left: max(100px, calc((100vw - 1240px) / 2 + 147px));   
    right: 0;
    bottom: 75px;
    background: url('../img/reason-page/why-choose-us/bg-why-choose-us-01.jpg') no-repeat;
    background-size: cover;
    border-radius: 40px 0 0 40px;
    z-index: -2;                 
}

.reason-page .why-choose-us ul li:nth-child(even) .content {
    padding-right: 0;
    padding-left: 110px;
}
.reason-page .why-choose-us ul li:nth-child(even) .inner {
    flex-direction: row-reverse;
}
.reason-page .why-choose-us ul li:nth-child(odd) .img::before {
    position: absolute;
    content: "";
    width: 79%;
    height: 79%;
    background: url(../img/reason-page/why-choose-us/bg-why-choose-us-01.png);
    background-size: cover;
    z-index: -1;
    left: -65px;
    bottom: -50px;
}
.reason-page .why-choose-us ul li:nth-child(even) .inner::before {
    position: absolute;
    content: "";
    width: 168px;
    height: 185px;
    background: url(../img/reason-page/why-choose-us/bg-why-choose-us-02.png);
    background-size: cover;
    z-index: -1;
    right: 10px;
    top: -73px;
}
.reason-page .why-choose-us ul li:nth-child(even) .inner {
    flex-direction: row-reverse;
}
.reason-page .why-choose-us ul li:nth-child(even)::before,
.reason-page .why-choose-us ul li:nth-child(even)::after {
    left: 0;
    right: max(100px, calc((100vw - 1240px) / 2 + 147px));   
    border-radius: 0 40px 40px 0;
}
@media(max-width: 1150px) {
    .reason-page .why-choose-us ul li .content {
        padding: 40px 20px 0 0;
    }
}
@media(max-width: 960px) {
    .reason-page .why-choose-us ul li .content {
        padding: 10px 20px;
    }
    .reason-page .why-choose-us ul li:nth-child(even) .content {
        padding: 10px;    
    }
    .reason-page .why-choose-us ul li .inner {
        gap: 10px;
    }
    .reason-page .why-choose-us ul li::before{
        bottom: 10px;
    }
    .reason-page .why-choose-us ul li::after {
        bottom: 0;
    }
}
@media(max-width: 750px) {
    .reason-page .why-choose-us {
        padding-bottom: 45px;
    }
    .reason-page .why-choose-us::before {
        top: -70px;
        height: 70px;
    }
    .reason-page .why-choose-us .title-box .title {
        font-size: 3rem;
    }
    .reason-page .why-choose-us .title-box .sub {
        font-size: 3.2rem;
    }
    .reason-page .why-choose-us .title-box .sub .xl {
        font-size: 4rem;
    }
     .reason-page .why-choose-us ul {
        padding-top: 20px;
        gap: 30px;
    }
    .reason-page .why-choose-us ul li .inner {
        padding: 20px 30px;
        text-align: center;
    }
    .reason-page .why-choose-us ul li .img {
        width: 100%;
    }
    .reason-page .why-choose-us ul li .content .tit {
        font-size: 2rem;
    }
    .reason-page .why-choose-us ul li .content .desc {
        font-size: 1.4rem;
        text-align: left;
    }
    .reason-page .why-choose-us ul li .img img {
        max-width: 80%;
    }
    .reason-page .why-choose-us ul li::before {
        top: 0;
        left: 30px;
        right: 30px;
        bottom: 0;
        background-color: #FFFFFF;
        border-radius: 20px;
        z-index: -1;
    }
    .reason-page .why-choose-us ul li:nth-child(even)::before,
    .reason-page .why-choose-us ul li:nth-child(even)::after {
        left: 30px;
        right: 30px;
        border-radius: 20px
    }
    .reason-page .why-choose-us ul li::after {
        top: 0;
        left: 30px;
        right: 30px;
        bottom: -10px;
        background-color: #FFFFFF;
        border-radius: 20px;
        z-index: -2;
    }
    .reason-page .why-choose-us ul li .img {
        padding-top: 0;
    }
    .reason-page .why-choose-us ul li:nth-child(odd) .img::before {
        display: none;
    }
    .reason-page .why-choose-us ul li:nth-child(even) .inner::before {
        width: 140px;
        height: 157px;
        right: 0;
        top: -50px;
        z-index: -3;
    }
    .reason-page .why-choose-us .title-box::before {
        width: 80px;
        height: 80px;
        top: -90px;
    }
}
/*
============================================================
===================== End-why-choose-us ===========================
============================================================
*/

/*
============================================================
===================== Begin-realated-content ===========================
============================================================
*/

.realated-content {
    position: relative;
    padding: 90px 0 30px ;
    margin-bottom: 60px;
}

.realated-content-bg {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 90%;
    height: 289px;
    object-fit: cover;
}

.realated-content .title-box .sub {
    padding-top: 15px;
    color: #9F7CCE;
    font-size: 2.2rem;
    line-height: 1.45;
    letter-spacing: 0.1em;
    font-weight: 500;
}

.realated-content ul {
    padding-top: 25px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
    justify-content: center
}

.realated-content ul li {
    width: 50%;
    padding: 15px;
}

.realated-content ul li .content-box {
    background: #fff;
    border-radius: 10px;
    position: relative;
    padding: 10px 20px;
    box-shadow: 0 0 3px rgb(0, 0, 0, .15);
    transition: .3s;
}
.realated-content ul li .content-box:hover {
    opacity: 0.7;
}
.realated-content ul li .content-box .inner {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.realated-content ul li .content-box .inner::before,
.realated-content ul li .content-box .inner::after {
    content: "";
    position: absolute;
    background-color: #9F7CCE;
}
.realated-content ul li .content-box .inner::before {
    width: 32px;
    height: 2px;
    right: 10px;
    bottom: 10px;
}
.realated-content ul li .content-box .inner::after {
    width: 15px;
    height: 2px;
    right: 10px;
    bottom: 10px;
    transform: rotate(35deg);
    transform-origin: right center;
}

.realated-content ul li .content-box .inner .img img {
    width: 120px;
}

.realated-content ul li .content-box .inner .txt {
    flex: 1;
    align-self: center;
    font-size: 2.4rem;
    line-height: 1.3;
    letter-spacing: 0.18em;
    font-weight: 700;
    color: #9F7CCE;
}
.realated-content a {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
}
@media(max-width: 750px) {
    .realated-content {
        padding: 30px 0 20px;
        margin-bottom: 30px;
    }
    .realated-content .title-box .title {
        font-size: 3rem;
    }
    .realated-content .title-box .sub {
        font-size: 1.6rem;
    }
    .realated-content ul {
        padding-top: 20px;
        display: flex;
        flex-wrap: wrap;
        margin: 0 4%;
    }
    .realated-content ul li {
        width: 100%;
        padding: 8px 0;
    }
    .realated-content ul li .content-box .inner {
        gap: 20px;
    }
    .realated-content ul li .content-box .inner .txt {
        font-size: 1.8rem;
    }
    .realated-content-bg {
        width: 80%;
        height: 80%;
        object-fit: cover;
    }
}
/*
============================================================
===================== End-realated-content =================
============================================================
*/


/*
============================================================
===================== begin-furisode-shoot =================
============================================================
*/
 .furisode-shoot {
    padding-top: 90px
}
.pre-photo-page .container {
    max-width: 990px;
}
.pre-photo-page .page-banner::before {
    background: #FBF4D7;
}
.pre-photo-page .page-banner::after {
    background: url('../img/pre-photo-page/furisode-shoot/bg-pre-photo-01.png') no-repeat;
    background-size: cover;
}
.pre-photo-page .page-banner .content .banner-title {
    color: #F2D180; 
    bottom: -60px;
}
.pre-photo-page .furisode-shoot .title-box {
    position: relative;
}
.pre-photo-page .furisode-shoot .title-box .title{
    font-size: 3.2rem;
    line-height: 1.78;
    letter-spacing: 0.01em;
    font-weight: 400;
}
.pre-photo-page .furisode-shoot .title-box.ic-positon::after {
    content: "";
    position: absolute;
    width: 161px;
    height: 174px;
    background: url('../img/pre-photo-page/furisode-shoot/ic-pre-photo-01.png') no-repeat;
    background-size: cover;
    right: 0;
    bottom: -121px;
    z-index: -1;
}
.pre-photo-page .furisode-shoot .intro{
   padding: 0 50px; 
}
.pre-photo-page .furisode-shoot .intro .intro-heading .img {
    padding-top: 45px;
    text-align: center;
}
.pre-photo-page .furisode-shoot .intro .intro-heading .img img{
    width: 579px;
}
.pre-photo-page .furisode-shoot .intro .intro-heading .desc{
    padding-top: 50px;
    font-size: 1.6rem;
    line-height: 2;
    /* font-weight: 400; */
}
.pre-photo-page .furisode-shoot .intro .imgs ul{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
    justify-content: center
}
.pre-photo-page .furisode-shoot .intro .imgs ul li{
    width: 50%;
    padding: 0 10px;
    margin-top: 30px;
}
.pre-photo-page .furisode-shoot .intro .shoot-reasons{
    position: relative;
    margin-top: 55px;
    padding: 15px 17px;
}
.pre-photo-page .furisode-shoot .intro .shoot-reasons::before{
    content: "";
    position: absolute;
    background: url('../img/pre-photo-page/furisode-shoot/bg-pre-photo-02.png') no-repeat;
    background-size: cover;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}
.pre-photo-page .furisode-shoot .intro .shoot-reasons .inner{
    padding: 20px 30px;
    background: #fff;
}
.pre-photo-page .furisode-shoot .intro .shoot-reasons .inner .title-box .title{
    font-size: 2.6rem;
    line-height: 2.1;
    letter-spacing: 0.1em;
    font-weight: 400;
}
.pre-photo-page .furisode-shoot .intro .shoot-reasons ul{
    padding-top: 20px;
}
.pre-photo-page .furisode-shoot .intro .shoot-reasons ul li{
    display: flex;
    align-items: center;
    gap: 13px; 
    font-size: 1.6rem;
    line-height: 2.6;
    letter-spacing: 0.01em;
    font-weight: 700;
}
.pre-photo-page .furisode-shoot .intro .shoot-reasons ul li::before{
    content: "";
    flex-shrink: 0; 
    width: 28.5px;
    height: 28.5px;
    background: url('../img/pre-photo-page/furisode-shoot/ic-pre-photo-02.png') no-repeat center / contain;
}
.pre-photo-page .furisode-shoot .intro .accordion {
    padding-top: 50px;
    overflow: hidden;
}
.pre-photo-page .furisode-shoot .intro .accordion .btn-accordion {
    position: relative;
    display: block;
    width: 100%;
    padding: 14px 40px;
    background: #837BB3;
    color: #fff;
    font-size: 2.6rem;
    letter-spacing: 0.01em;
    font-weight: 600;
    text-align: center;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.3s ease;
}
.pre-photo-page .furisode-shoot .intro .accordion .btn-accordion:hover {
    background: #8B7DB5;
}
.pre-photo-page .furisode-shoot .intro .accordion .btn-accordion::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #fff;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
}
.pre-photo-page .furisode-shoot .intro .accordion.active .btn-accordion::after {
    transform: translateY(-50%) rotate(180deg);
}
.pre-photo-page .furisode-shoot .intro .accordion .inner {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.4s ease;
    transform: translateY(-7px);
}
.pre-photo-page .furisode-shoot .intro .accordion .content .title-headding {
    font-size: 2rem;
    line-height: 1.8;
    color: #837BB3;
    font-weight: 700;
}
.pre-photo-page .furisode-shoot .intro .accordion .content {
    padding: 50px 35px;
    border: 5px solid #837BB3;
    border-top: none;
    font-size: 1.6rem;
    line-height: 1.9;
    font-weight: 400;
}
.pre-photo-page .furisode-shoot .intro .accordion .content .sub {
    color: #837BB3;
    font-size: 1.8rem;
    line-height: 2;
    font-weight: 700;
}
@media(max-width: 750px) {
    .pre-photo-page .furisode-shoot .title-box .title{
        font-size: 2.8rem;
    }
    .pre-photo-page .furisode-shoot {
        padding-top: 45px;
    }
    .pre-photo-page .furisode-shoot .intro {
        padding: 0;
    }
    .pre-photo-page .furisode-shoot .intro .imgs ul li {
        align-items: center;
        width: 80%;
        padding: 0;
    }
    .pre-photo-page .furisode-shoot .intro .shoot-reasons {
        margin-top: 35px;
        padding: 5px;
    }
    .pre-photo-page .furisode-shoot .intro .shoot-reasons .inner {
        padding: 10px;
    }
    .pre-photo-page .furisode-shoot .intro .shoot-reasons .inner .title-box .title{
        font-size: 2rem;
    }
    .pre-photo-page .furisode-shoot .intro .shoot-reasons ul li {
        font-size: 1.4rem;
        line-height: 2;
        margin: 0 auto 10px auto;
    }
    .pre-photo-page .furisode-shoot .intro .shoot-reasons ul li::before {
        position: relative;
        top: 10px;
        align-self: start;
        width: 25.5px;
        height: 25.5px;
    }
    .pre-photo-page .furisode-shoot .intro .accordion .content {
        font-size: 1.4rem;
        padding: 20px;
    }
    .pre-photo-page .furisode-shoot .title-box.ic-positon::after {
        width: 70px;
        height: 75px;
        right: 0;
        top: -40px;
    }
    .pre-photo-page .furisode-shoot .intro .intro-heading .img{
        padding-top: 20px;
    }
    .pre-photo-page .furisode-shoot .intro .intro-heading .desc {
        font-size: 1.4rem;
        padding-top: 20px;
    }
    .pre-photo-page .furisode-shoot .intro .intro-heading .img img {
        width: 80%
    }
    .pre-photo-page .furisode-shoot .intro .accordion .content .title-headding {
        font-size: 1.6rem;
    }
    .pre-photo-page .furisode-shoot .intro .accordion .btn-accordion::after {
        border-left: 7px solid transparent;
        border-right: 7px solid transparent;
        border-top: 7px solid #fff;
    }
    .pre-photo-page .furisode-shoot .intro .accordion {
        padding-top: 35px;
    }
    .pre-photo-page .furisode-shoot .intro .accordion .btn-accordion {
        font-size: 1.8rem;
    }

}

@media (max-width: 460px) {
    .pre-photo-page .furisode-shoot .title-box.ic-positon::after {
        left: 0;
        top: -67px;
    }
}
/*
============================================================
===================== End-furisode-shoot ===================
============================================================
*/
/*
============================================================
===================== begin-family-shoot ===================
============================================================
*/
.pre-photo-page .family-shoot {
    position: relative;
    margin-top: 110px;
    padding-bottom: 120px;
}
.pre-photo-page .family-shoot::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 100%;
    z-index: -1;
    background: url('../img/pre-photo-page/family-shoot/bg-family-shoot.png') no-repeat center center;
    background-size: cover;
}
.pre-photo-page .family-shoot .container{
    max-width: 990px;
}
.pre-photo-page .family-shoot .title-box{
    position: relative;
    padding-top: 60px;
}
.pre-photo-page .family-shoot .title-box::before{
    content: "";
    position: absolute;
    width: 139px;
    height: 151px;
    background: url('../img/pre-photo-page/family-shoot/ic-family-shoot-01.png') no-repeat center / cover;
    top: -40px;
    left: 0;
}
.pre-photo-page .family-shoot .title-box .title{
    display: inline-block;
    background-color: #fff;
    padding: 0 10px;
    font-size: 3.7rem;
    line-height: 1.54;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #837BB3;
}
.pre-photo-page .family-shoot .title-box .sub{
    padding-top: 35px;
    font-size: 2rem;
    line-height: 1.75;
    letter-spacing: 0.1em;
    font-weight: 700;
}
.pre-photo-page .family-shoot .items {
    padding-top: 65px;
}
.pre-photo-page .family-shoot .items ul  {
    display: flex;
    flex-direction: column;
    gap: 97px;
}
.pre-photo-page .family-shoot .items ul li .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}
.pre-photo-page .family-shoot .items ul li:nth-child(even) .inner {
    flex-direction: row-reverse;
}
.pre-photo-page .family-shoot .items ul li:nth-child(even) .inner .img {
    position: relative;
}
.pre-photo-page .family-shoot .items ul li:nth-child(even) .inner .img::before {
    content: '';
    position: absolute;
    width: 83px;
    height: 90px;
    background: url('../img/pre-photo-page/family-shoot/ic-family-shoot-02.png') no-repeat center / cover;
    bottom: -40px;
    right: -40px;
}
.pre-photo-page .family-shoot .items ul li .inner .img {
    width: 41.7%;
}
.pre-photo-page .family-shoot .items ul li .inner .desc {
    flex: 1;
    align-self: center;
    font-size: 1.6rem;
    line-height: 1.9;
    /* font-weight: 400; */
    letter-spacing: 0.01em;
}

@media(max-width: 750px){
    .pre-photo-page .family-shoot {
        position: relative;
        margin-top: 45px;
        padding-bottom: 30px;
    }
    .pre-photo-page .family-shoot .title-box {
        padding-top: 35px;
    }
    .pre-photo-page .family-shoot .title-box .title {
        font-size: 2.8rem;
    }
    .pre-photo-page .family-shoot .title-box .sub {
        padding-top: 20px;
        font-size: 1.8rem;
    }
    .pre-photo-page .family-shoot .items ul,
    .pre-photo-page .family-shoot .items ul li .inner {
        gap: 20px;
    }
    .pre-photo-page .family-shoot .items ul li .inner .img {
        text-align: center;
        width: 80%;
    }
    .pre-photo-page .family-shoot .items ul li .inner .desc {
        font-size: 1.4rem;
        flex: auto;
    }
    .pre-photo-page .family-shoot .title-box::before {
        width: 70px;
        height: 75px;
        top: -30px;
        left: 0;
    }
    .pre-photo-page .family-shoot .items {
        padding-top: 20px;
    }
   
}
/*
============================================================
===================== begin-family-shoot ===================
============================================================
*/


/*
============================================================
===================== begin-studio-shoot ===================
============================================================
*/
.pre-photo-page .studio-shoot {
    width: 100%;
    padding: 100px 0 120px;
}
.pre-photo-page .studio-shoot .container{
    max-width: 990px;
}
.pre-photo-page .studio-shoot .ic {
    width: 77px;
    position: absolute;
    left: -60px;
    bottom: -70px;
}
.pre-photo-page .studio-shoot .title-box.ic-positon {
    position: relative;
}
.pre-photo-page .studio-shoot .title-box.ic-positon::before {
    content: '';
    position: absolute;
    width: 139px;
    height: 150px;
    background: url('../img/pre-photo-page/studio-shoot/ic-studio-shoot-01.png') no-repeat center / cover;
    top: 90px;
    right: 0;
}

.pre-photo-page .studio-shoot .title-box .title{
    font-size: 2.98rem;
    line-height: 1.9;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #E89CA5;
}

.pre-photo-page .studio-shoot .title-box .sub{
    font-size: 3.8rem;
    line-height: 1.5;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #E89CA5;
}

.pre-photo-page .studio-shoot .content {
    text-align: center;
    padding-top: 40px;
}

.pre-photo-page .studio-shoot .content .desc{
    font-size: 1.6rem;
    line-height: 1.9;
    letter-spacing: 0.01em;
    /* font-weight: 400; */
}

.pre-photo-page .studio-shoot .content .desc .lg{
    font-size: 2rem;
    line-height: 1.75;
    letter-spacing: 0.01em;
    font-weight: 700;
}

.pre-photo-page .studio-shoot .content ul {
    padding-top: 50px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -11px;
}

.pre-photo-page .studio-shoot .content ul li {
    align-self: center;
    width: 20%;
    padding: 0 11px;
}

.pre-photo-page .studio-shoot .content ul li.lg {
    width: 40%;
}

.pre-photo-page .studio-shoot .content ul li.offset {
    margin-bottom: 10%;
}
@media(max-width: 750px){
    .pre-photo-page .studio-shoot {
        padding: 30px 0 60px;
    }
    .pre-photo-page .studio-shoot .title-box .title{
        font-size: 2rem;
    }
    .pre-photo-page .studio-shoot .title-box .sub{
        font-size: 2.8rem;
    }
    .pre-photo-page .studio-shoot .content  {
        padding-top: 10px;
    }
    .pre-photo-page .studio-shoot .content ul {
        padding-top: 20px;
        justify-content: center;
        gap: 10px;
    }
    .pre-photo-page .studio-shoot .content ul li,
    .pre-photo-page .studio-shoot .content ul li.lg {
        width: calc(50% - 10px);
        padding: 0;
    }
    .pre-photo-page .studio-shoot .content ul li.offset {
        margin-bottom: 0;
    }
    .pre-photo-page .studio-shoot .content ul li:nth-child(even) {
        transform: translateY(50px);
    }
    .pre-photo-page .studio-shoot .content .desc{
        font-size: 1.4rem;
    }
    .pre-photo-page .studio-shoot .content .desc .lg{
        font-size: 1.8rem;
    }
    .pre-photo-page .studio-shoot .ic {
        width: 60px;
        position: absolute;
        left: 10px;
        bottom: -75px;
    }
    .pre-photo-page .studio-shoot .title-box.ic-positon::before {
        width: 70px;
        height: 75px;
        top: -70px;
        right: 0;
    }
}
/*
============================================================
===================== end-studio-shoot ===================
============================================================
*/
/*
============================================================
===================== End-pre-photo-page-realated ==========
============================================================
*/
.pre-photo-page .realated-content-bg {
    height: 138px;
}
@media(max-width: 750px) {
    .pre-photo-page .realated-content-bg {
        height: 300px ;
    }
}
/*
============================================================
===================== End-pre-photo-page-realated ==========
============================================================
*/


/*
============================================================
===================== Begin-furisode-plan-container ==========
============================================================
*/
.furisode-plan .container {
    max-width: 990px;
}
/*
============================================================
===================== End-furisode-plan-container ==========
============================================================
*/

/*
============================================================
===================== Begin-plan-intro ==========
============================================================
*/
.furisode-plan .plan-intro {
    position: relative;
    padding: 100px 0
}

.furisode-plan .plan-intro .bg img {
    position: absolute;
}

.furisode-plan .plan-intro .bg .ic-02 {
    width: 161px;
    top: 0;
    right: -14%;
}

.furisode-plan .plan-intro .bg .ic-03 {
    width: 179px;
    bottom: 35%;
    left: -155px;
    z-index: -1;
}

.furisode-plan .plan-intro .bg .ic-04 {
    width: 104px;
    right: -79px;
    bottom: -29px;
    z-index: -1;
}

.furisode-plan .plan-intro .title-box .title {
    position: relative;
    font-size: 3.6rem;
    line-height: 1.1;
    letter-spacing: 0.01em;
    /* font-weight: 400; */
}
.furisode-plan .plan-intro .title-box .title.ic-position::before {
    position: absolute;
    content: "";
    width: 54.5px;
    height: 60px;
    background: url('../img/furiside_plan/ic-furisode_plan-01.png') no-repeat;
    background-size: cover;
    top: -54px;
    left: 22%;
}
.furisode-plan .plan-intro .content .desc {
    padding-top: 30px;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.9;
    /* font-weight: 400; */
}

.furisode-plan .plan-intro .content ul {
    position: relative;
    padding: 50px 50px 0;
    display: flex;
    flex-direction: column;
    gap: 57px;
    flex-wrap: wrap;
}
.furisode-plan .plan-intro .content ul li {
    display: flex;
    justify-content: center;
}
.furisode-plan .plan-intro .content ul li .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px;
    background-color: #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    padding: 40px 35px;
}
.furisode-plan .plan-intro .content ul li .inner .content .txt-title .title {
    text-align: left;
    font-size: 4.24rem;
    line-height: 1.58;
    font-weight: 400;
    font-style: italic;
}
.furisode-plan .plan-intro .content ul li .inner .content .txt-title .title .sm {
    font-size: 1.96rem;
    line-height: 1.2;
    transform: rotate(-10deg);
    display: inline-block;
}
.furisode-plan .plan-intro .content ul li .inner .content .txt-title .sub {
    padding-top: 10px;
    font-size: 2.4rem;
    line-height: 1.3;
    letter-spacing: 0.18em;
    font-weight: 700;
}
.furisode-plan .plan-intro .content ul li .inner .content .txt-desc {
    padding-top: 10px;
    font-size: 1.6rem;
    line-height: 1.9;
    /* font-weight: 400; */
}
.furisode-plan .plan-intro .content ul li .inner .img {
    width: 35.5%;
}
.furisode-plan .plan-intro .content ul li .inner .content {
    flex: 1;
}
.furisode-plan .plan-intro .content ul li .inner .txt-box {
    padding-top: 20px;
    text-align: center;
}

@media(max-width: 960px) {
    .furisode-plan .plan-intro .bg .ic-02 {
        width: 80px;
        top: 0;
        right: 0;
    }
    .furisode-plan .plan-intro .bg .ic-03 {
        bottom: 31%;
        width: 120px;
        left: 0;
    }
    .furisode-plan .plan-intro .bg .ic-04 {
        width: 60px;
        right: 0;
        bottom: -3%;
    }
}

@media(max-width: 750px) {
    .furisode-plan .plan-intro {
        padding: 50px 0 30px;
    }
    .furisode-plan .plan-intro .title-box .title {
        font-size: 2.8rem;
    }
    .furisode-plan .plan-intro .content .desc {
        text-align: left;
        font-size: 1.4rem;
        padding-top: 10px;
    }
    .furisode-plan .plan-intro .title-box .title.ic-position::before {
        top: -60px;
        left: 0;
    }
    .furisode-plan .plan-intro .content ul li .inner {
        max-width: 330px;
        padding: 40px 20px;
        gap: 5px;
    }
    
    .furisode-plan .plan-intro .content ul {
        padding: 20px 0 0;
        gap: 20px;
    }
    .furisode-plan .plan-intro .content ul li .inner .img {
        width: 70%;
    }
    .furisode-plan .plan-intro .content ul li .inner .content {
        flex: auto;
    }
    
    .furisode-plan .plan-intro .content ul li .inner .content .txt-title .title,
    .furisode-plan .plan-intro .content ul li .inner .content .txt-title .sub {
        text-align: center;
    }
    .furisode-plan .plan-intro .content ul li .inner .content .txt-title .title {
        font-size: 3.5rem;
    }
    .furisode-plan .plan-intro .content ul li .inner .content .txt-title .sub {
        padding-top: 0;
    }
    .furisode-plan .plan-intro .content ul li .inner .content .txt-desc {
        font-size: 1.4rem;
    }
}
/*
============================================================
===================== End-plan-intro =========
============================================================
*/


/*
============================================================
===================== begin-purchase-intro =========
============================================================
*/
.purchase-plan .purchase-intro {
    position: relative;
    padding: 100px 0 50px
}
.purchase-plan .purchase-intro .ic {
    width: 161px;
    position: absolute;
    left: 18%;
    top: 20px;
}
.purchase-plan .purchase-intro .container {
    max-width: 723px;
}
.purchase-plan .purchase-intro .title-box .title {
    position: relative;
    font-size: 3.58rem;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 400;
}
.purchase-plan .purchase-intro .title-box .sub {
    padding-top: 25px;
    font-size: 3rem;
    line-height: 1;
    font-weight: 400;
    letter-spacing: normal;
}
.purchase-plan .purchase-intro .title-box .sub .lg {
    font-size: 6rem;
}
.purchase-plan .purchase-intro .content .desc {
    text-align: center;
    padding-top: 30px;
    font-size: 1.6rem;
    line-height: 1.9;
}
.purchase-plan .purchase-intro .content .img {
    padding: 45px 20px 0;
}
.purchase-plan .purchase-intro .content .recommend-list {
    padding-top: 45px;
}
.purchase-plan .purchase-intro .content .recommend-list .inner {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.purchase-plan .purchase-intro .content .recommend-list .inner .tit {
    width: 25%;
}
.purchase-plan .purchase-intro .content .recommend-list .inner .tit img {
    width: 100%;
}
.purchase-plan .purchase-intro .content .recommend-list .inner .items {
    flex: 1;
}
.purchase-plan .purchase-intro .content .recommend-list .inner .items ul {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.purchase-plan .purchase-intro .content .recommend-list .inner .items ul li {
    display: flex;
    align-items: center;
    gap: 13px;
    font-size: 1.7rem;
    line-height: 2.3;
    letter-spacing: 0.01em;
    font-weight: 500;
}
.purchase-plan .purchase-intro .content .recommend-list .inner .items ul li::before{
    content: "";
    width: 28.5px;
    height: 25px;
    background: url('../img/pre-photo-page/furisode-shoot/ic-pre-photo-02.png') no-repeat center / contain;
}

@media(max-width: 750px) {
    .purchase-plan .purchase-intro .title-box .title {
        font-size: 2.8rem;
    }
    .purchase-plan .purchase-intro .title-box .sub {
        padding-top: 10px;
        font-size: 2.2rem;
        line-height: 1.3;
    }
    .purchase-plan .purchase-intro .title-box .sub .lg {
        font-size: 3rem;
    }
    .purchase-plan .purchase-intro .ic {
        width: 60px;
        left: 15px;
        top: -10px;
    }
    .purchase-plan .purchase-intro {
        padding: 50px 0 20px
    }
    .purchase-plan .purchase-intro .content .img {
        padding: 20px 10px 0;
    }
    .purchase-plan .purchase-intro .content .desc {
        padding-top: 15px;
        font-size: 1.4rem;
    }
    .purchase-plan .purchase-intro .content .recommend-list {
        padding-top: 35px;
    }
    .purchase-plan .purchase-intro .content .recommend-list .inner {
        gap: 20px;
        justify-content: center;
    }
    .purchase-plan .purchase-intro .content .recommend-list .inner .tit {
        display: flex;
        justify-content: center;
        width: 60%;
    }
    .purchase-plan .purchase-intro .content .recommend-list .inner .tit img {
        width: 80%;
    }
    .purchase-plan .purchase-intro .content .recommend-list .inner .items {
        display: flex;
        justify-content: center;
        flex: auto;
    }
    .purchase-plan .purchase-intro .content .recommend-list .inner .items ul li {
        font-size: 1.4rem;
    }

    .purchase-plan .purchase-intro .content .recommend-list .inner .items ul li::before{
        position: relative;
        top: 5px;
        width: 23.5px;
        height: 20px;
    }
}
/*
============================================================
===================== End-purchase-intro =========
============================================================
*/


/*
============================================================
===================== Begin-benefit-list =========
============================================================
*/
.purchase-plan .benefit-list {
    position: relative;
    margin-top: 180px;
    padding-bottom: 200px;
    background: #FFF4F6;
}
.purchase-plan .benefit-list::before {
    content: "";
    position: absolute;
    height: 200px;
    background: #FFF4F6;
    left: 0;
    right: 0;
    top: -109px;
    z-index: -1;
    clip-path: ellipse(57% 100% at 50% 102%);
}
.purchase-plan .benefit-list .container {
    max-width: 990px;
}
.purchase-plan .benefit-list .title-box  {
    position: relative;
}
.purchase-plan .benefit-list .title-box::before {
    content: "";
    position: absolute;
    width: 114px;
    height: 111px;
    background: url('../img/purchase_plan/ic-benefit-list-02.png') center / contain no-repeat;
    top: -114px;
    right: 35px;
}
.purchase-plan .benefit-list .title-box .title {
    position: relative;
    font-size: 3.58rem;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 400;
}
.purchase-plan .benefit-list .title-box .sub {
    font-size: 7.65rem;
    line-height: 1.6;
    letter-spacing: 0.01em;
    font-weight: 400;
}
.purchase-plan .benefit-list .title-box .sub .lg {
    font-size: 10rem;
    line-height: 1;
    letter-spacing: 0.01em;
    font-weight: 400;
    font-style: italic;
}
.purchase-plan .benefit-list .items ul {
    padding-top: 90px;
    display: flex;
    flex-direction: column;
    gap: 60px;
}
.purchase-plan .benefit-list .items ul li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-right: 50px;
} 
.purchase-plan .benefit-list .items ul li:nth-child(odd) {
    padding-left: 70px;
}
.purchase-plan .benefit-list .items ul li:nth-child(even) {
    flex-direction: row-reverse;
    padding-left: 0; 
    gap: 20px;
}
.purchase-plan .benefit-list .items ul li .img {
    position: relative;
    width: 40%;
}
.purchase-plan .benefit-list .items ul li .img::before {
    content: '';
    position: absolute;
    width: 100%;
    aspect-ratio: 1 / 1; 
    background: url('../img/purchase_plan/bg-benefit-purchase-plan-01.png') no-repeat center / cover;
    z-index: -1;
}
.purchase-plan .benefit-list .items ul li:nth-child(odd) .img::before {
    bottom: -45px;
    left: -70px;
}
.purchase-plan .benefit-list .items ul li:nth-child(even) .img::before {
    bottom: -40px;
    right: -50px;
}
.purchase-plan .benefit-list .items ul li .content {
    flex: 1;
}
.purchase-plan .benefit-list .items ul li .content .title {
    text-align: left;
    font-size: 2.4rem;
    line-height: 1.75;
    letter-spacing: 0.096em;
    font-weight: 700;
}
.purchase-plan .benefit-list .items ul li .content .desc {
    font-size: 1.6rem;
    line-height: 1.9;
    /* font-weight: 400; */
}
@media(max-width: 750px) {
    .purchase-plan .benefit-list {
        margin-top: 100px;
        padding-bottom: 35px;
        background: #FFF4F6;
    }
    .purchase-plan .benefit-list::before {
        height: 70px;
        top: -70px;
    }
    .purchase-plan .benefit-list .title-box .title {
        font-size: 3rem;
    }
    .purchase-plan .benefit-list .title-box .sub {
        font-size: 4.2rem;
    }
     .purchase-plan .benefit-list .title-box .sub .lg {
        font-size: 6.2rem;
    }
    .purchase-plan .benefit-list .items ul {
        padding-top: 30px;
        justify-content: center;
        margin: 0 auto;
        max-width: 450px;
    }
    .purchase-plan .benefit-list .items ul li {
        padding-right: 0;
    } 
    .purchase-plan .benefit-list .items ul li:nth-child(odd) {
        padding-left: 0;
    }
    .purchase-plan .benefit-list .items ul li {
        justify-content: center;
        gap: 30px;
    }
    .purchase-plan .benefit-list .items ul li .img {
        width: 70%;
    }
    .purchase-plan .benefit-list .items ul li .img::before {
        width: 90%;
    }
     .purchase-plan .benefit-list .items ul li .content {
        flex: auto;
    }
    .purchase-plan .benefit-list .items ul li .content .desc {
        font-size: 1.4rem;
        line-height: 1.9;
        font-weight: 400;
    }
    .purchase-plan .benefit-list .items ul li:nth-child(odd) .img::before {
        bottom: -20px;
        left: -20px;
    }
    .purchase-plan .benefit-list .items ul li:nth-child(even) .img::before {
        bottom: -20px;
        right: -20px;
    }

    .purchase-plan .benefit-list .title-box::before {
        width: 70px;
        height: 60px;
        top: -80px;
    }

    
}
/*
============================================================
===================== End-benefit-list =========
============================================================
*/


/*
============================================================
===================== Begin-Complete-package =========
============================================================
*/
.purchase-plan .complete-package {
    padding: 120px 0;
    position: relative;    
}

.purchase-plan .complete-package .container {
    max-width: 990px;    
}

.purchase-plan .complete-package .title-box {
    position: relative;
}
.purchase-plan .complete-package .title-box.ic-position::before {
    content: "";
    position: absolute;
    width: 96px;
    height: 93px;
    background: url('../img/complete-package/ic-complete-package-01.png') center / contain no-repeat;
    top: -80px;
    left: 0;
}
.purchase-plan .complete-package .title-box .title {
    font-size: 7.65rem;
    line-height: 1.6;
    letter-spacing: 0.01em;
    font-weight: 400;
    color: #EDC25A;
}
.purchase-plan .complete-package .title-box .sub {
    font-size: 1.6rem;
    line-height: 1.9;
    /* font-weight: 400; */
}
.purchase-plan .complete-package .content .items ul {
    padding-top: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px;
    row-gap: 10px;
}
.purchase-plan .complete-package .content .items ul li {
    position: relative;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #EDC25A;
    padding: 2px 10px;
    color: #fff;
    font-size: 2.2rem;
    line-height: 1;
    letter-spacing: 0.01em;
}
.purchase-plan .complete-package .content .items ul li:not(:last-child)::after {
    content: '+';
    position: absolute;
    right: -28px;
    color: initial;
}
.purchase-plan .complete-package .content .full-set {
    position: relative;
    background: url('../img/complete-package/bg-complete-package-01.png') repeat center / cover;
    margin-top: 40px;
}
.purchase-plan .corner {
    width: 36px;
    position: absolute;
}
.purchase-plan .corner.corner-tl {
    top: -10px;
    left: -15px;
}
.purchase-plan .corner.corner-tr {
    top: -10px;
    right: -15px;
}
.purchase-plan .corner.corner-bl {
    bottom: -10px;
    left: -15px;
}
.purchase-plan .corner.corner-br {
    bottom: -10px;
    right: -15px;
}
.purchase-plan .complete-package .content .full-set .top-note {
    padding-top: 20px;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
    font-weight: 500;
}
.purchase-plan .complete-package .content .full-set .txt-in {
    display: flex;
    font-size: 1.6rem;
    line-height: 1.25;
    letter-spacing: 0.04em;
    font-weight: 500;
    padding-left: 15px;
    line-height: 1.8;
}
.purchase-plan .complete-package .content .full-set .txt-in .tl {
    padding-right: 40px;
}
.purchase-plan .complete-package .content .full-set ul li .title {
    text-align: left;
    font-size: 1.6rem;
    line-height: 1.25;
    letter-spacing: 0.04em;
    font-weight: 500;
}
.purchase-plan .complete-package .content .full-set .top-list {
    padding: 30px 70px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 70px;
}
.purchase-plan .complete-package .content .full-set .inner {
    position: relative;
    padding: 35px 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.purchase-plan .complete-package .content .full-set .inner .main-img {
    margin-top: 50px;
    width: 33.33%;
}
.purchase-plan .complete-package .content .full-set .inner ul  {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 33.33%;
    z-index: 2;
}
.purchase-plan .complete-package .content .full-set .inner ul li {
    text-align: center;
}
.purchase-plan .complete-package .content .full-set .inner ul li .img {
    display: block;
    width: 119px;
    height: 119px;
    margin: 0 auto;
    object-fit: cover;
    border-radius: 50%;
    background-color: #F6EABB;
}
.purchase-plan .complete-package .content .full-set .inner ul li .title  {
    padding-top: 10px;
    min-height: 55px;
    text-align: center;
}
.purchase-plan .complete-package .description  {
    padding-top: 35px;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
}
.purchase-plan .anshin-pack .title-box .title {
    position: relative;
    display: inline-block;
}
.purchase-plan .anshin-pack {
    padding-top: 30px;
}
.purchase-plan .anshin-pack .title-box .title {
    position: relative;
    width: 81px;
}
.purchase-plan .anshin-pack .title-box .title::before {
    content: "";
    position: absolute;
    width: 95px;
    height: 47px;
    background: url('../img/complete-package/img-title-anshin-pack.png') center / cover no-repeat;
    top: 10px;
    left: -85px;
}
.purchase-plan .anshin-pack .service-box {
    margin-top: 45px;
    position: relative;
    width: 100%;
    border: 2px solid #E75387;
    border-radius: 20px;
    padding: 80px 20px 30px;
}
.purchase-plan .anshin-pack .service-box .service-title {
    width: 58%;
    margin: 0 auto;
    position: relative;
    top: -9px;
}
.purchase-plan .anshin-pack .service-title img {
    display: block;
    width: 100%;
}
.purchase-plan .anshin-pack .service-box .inner  {
    display: flex;
    flex-wrap: wrap;
}
.purchase-plan .anshin-pack .service-box .inner ul {
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    padding: 20px 12.5px;
}
.purchase-plan .anshin-pack .service-box .inner ul.pre-wedding {
    position: relative;
    background: #FFF4F6;
    border-radius: 20px;
}
.purchase-plan .anshin-pack .service-box .inner ul.pre-wedding::before {
    content: "";
    position: absolute;
    width: 185px;
    height: 73px;
    background: url('../img/complete-package/img-title-pre-wedding.png') center / cover no-repeat;
    top: -54px;
    left: 47%;
    transform: translateX(-50%);
}
.purchase-plan .anshin-pack .service-box ul li {
    text-align: center;
    width: 50%;
    padding: 0 6px;
}
.purchase-plan .anshin-pack .service-box ul li .img {
    max-width: 80%;
    min-height: 201px;
    margin: 0 auto;
}
.purchase-plan .anshin-pack .service-box ul li .content .tit {
    padding-top: 10px;
    font-size: 1.9rem;
    line-height: 1;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: #E75387;
}
.purchase-plan .anshin-pack .service-box ul li .content .desc {
    padding-top: 10px;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.01em;
}
@media(max-width: 750px) {
    .purchase-plan .complete-package {
        padding: 35px 0;
    }
    .purchase-plan .complete-package .title-box::before { 
        width: 53px;
        height: 50px;
        top: -40px;
    }
    .purchase-plan .complete-package .title-box.ic-position::before {
        width: 63px;
    }
    .purchase-plan .complete-package .title-box .title {
        font-size: 3rem;
    }
    .purchase-plan .complete-package .content .items ul {
        max-width: 394px;
        margin: 0 auto;
        gap: 25px;
        row-gap: 10px;
    }
    .purchase-plan .complete-package .content .items ul li {
        font-size: 1.6rem;
    }
    .purchase-plan .complete-package .content .items ul li {
        width: 90px;
        height: 90px;
    }
    .purchase-plan .corner {
        width: 25px;
    }
    .purchase-plan .corner.corner-tl {
        top: -10px;
        left: -6px;
    }
    .purchase-plan .corner.corner-bl {
        bottom: -10px;
        left: -6px;
    }
    .purchase-plan .corner.corner-tr {
        top: -10px;
        right: -6px;
    }
    .purchase-plan .corner.corner-br {
        bottom: -10px;
        right: -6px;
    }
    .purchase-plan .anshin-pack .service-box .service-title {
        min-width: 240px;
        top: -5px;
    }
    .purchase-plan .anshin-pack .service-box .inner ul {
        justify-content: center;
        width: 100%;
        gap: 20px;
    }
    .purchase-plan .anshin-pack .service-box .inner ul li {
        width: 100%;
        max-width: 350px;
    }
    .purchase-plan .anshin-pack .title-box .title {
        position: relative;
        width: 65px;
    }
    .purchase-plan .anshin-pack .title-box .title::before {
        top: -10px;
        left: -80px;
        width: 81px;
        height: 39px;
    }
    .purchase-plan .complete-package .content .items ul li:not(:last-child)::after {
        right: -21px;
    }
    .purchase-plan .complete-package .content .full-set .top-note {
        font-size: 1.4rem;
    }
    .purchase-plan .complete-package .content .full-set .txt-in {
        font-size: 1.4rem;
        padding-left: 0;
    }
    .purchase-plan .complete-package .content .full-set .txt-in .tl {
        padding-right: 20px;
    }
    .purchase-plan .complete-package .content .full-set .inner {
        position: relative;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0;
    }
    .purchase-plan .complete-package .content .full-set .inner ul {
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        width: 32%;
        gap: 0;
    }
    .purchase-plan .complete-package .content .full-set .inner ul li {
        width: 100%;
    }
    .purchase-plan .complete-package .content .full-set .inner .main-img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 60%;
        margin-top: 0;
        z-index: 1;
    }
    .purchase-plan .anshin-pack .service-box {
        padding: 55px 20px 30px;
        border-radius: 10px;
    }

    .purchase-plan .anshin-pack .service-box .inner ul.pre-wedding::before {
        left: 50%;
        transform: translateX(-50%);
        top: -45px;
    }
}
@media(max-width: 450px) {
    .purchase-plan .complete-package .content .full-set .inner ul {
        gap: 0;
    }
    .purchase-plan .complete-package .content .full-set .top-list {
        padding: 30px 20px 0;
        gap: 0;
        flex-direction: column;
    }
    .purchase-plan .complete-package .content .full-set .inner ul li .img {
        width: 60px;
        height: 60px;
    }
    .purchase-plan .complete-package .content .full-set ul li .title {
        font-size: 1.3rem;
    }
}
/*
============================================================
===================== End-Complete-package =========
============================================================
*/


/*
============================================================
===================== Begin-referral-campaign =========
============================================================
*/
.purchase-plan .referral-campaign {
    position: relative;
    padding: 40px 0 50px;
    background: rgba(131, 123, 179, 0.1);
}
.purchase-plan .referral-campaign .container {
    max-width: 990px;
}

.purchase-plan .referral-campaign .ic img {
    position: absolute;
    width: 107px;
    bottom: -70px;
    left: -100px;
}

.purchase-plan .referral-campaign .inner {
    padding: 0 135px;
}
.purchase-plan .referral-campaign .inner .title-box {
    position: relative;
}
.purchase-plan .referral-campaign .inner .title-box::before,
.purchase-plan .referral-campaign .inner .title-box::after {
    content: '';
    position: absolute;
}
.purchase-plan .referral-campaign .inner .title-box::before {
    width: 88px;
    height: 72px;
    background: url('../img/referral-campaign/ic-referral-campaign-05.png') no-repeat center / cover;
    bottom: -20px;
    left: -30px;
}
.purchase-plan .referral-campaign .inner .title-box::after {
    width: 11px;
    height: 11px;
    background: url('../img/referral-campaign/ic-referral-campaign-06.png') no-repeat center / cover;
    bottom: 5px;
    right: 50px;
}
.purchase-plan .referral-campaign .inner .title-box .title {
    max-width: 614px;
    margin: 0 auto;
}
.purchase-plan .referral-campaign .inner .title-box .title span {
    display: none;
}
.purchase-plan .referral-campaign .inner .title-box .sub {
    font-size: 2rem;
    line-height: 2.25;
    letter-spacing: 0.01em;
    /* font-weight: 100; */
}
.purchase-plan .referral-campaign .inner .title-box .sub-highlight {
    font-size: 3rem;
    line-height: 1.5;
    letter-spacing: 0.01em;
    font-weight: 500;
    color: #E75387;
}
.purchase-plan .referral-campaign .inner .intro {
    padding-top: 20px;
}
.purchase-plan .referral-campaign .inner .intro .intro-headding {
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.75;
    letter-spacing: 0.01em;
    /* font-weight: 100; */
}
.purchase-plan .referral-campaign .inner .intro .intro-content {
    margin-top: 30px;
    padding: 30px;
    display: flex;
    flex-wrap: wrap;
    border-radius: 32px;
    background: #fff;
    position: relative;
}
.purchase-plan .referral-campaign .inner .intro .bg img {
    position: absolute;
}
.purchase-plan .referral-campaign .inner .intro .bg .ic-lt {
    width: 39px;
    top: -10px;
    left: -15px;
}
.purchase-plan .referral-campaign .inner .intro .bg .ic-ct {
    width: 18px;
    top: 50%;
    left: -50px;
}
.purchase-plan .referral-campaign .inner .intro .bg .ic-lb {
    width: 20px;
    bottom: 10px;
    left: -25px;
}
.purchase-plan .referral-campaign .inner .intro .bg .ic-tr {
    width: 19px;
    top: 15px;
    right: -30px;
}
.purchase-plan .referral-campaign .inner .intro .bg .ic-br {
    width: 35.8px;
    bottom: -13px;
    right: 80px
}

.purchase-plan .referral-campaign .inner .intro .bg .img-bg {
    width: 235px;
    height: 363px;
    bottom: -235px;
    right: -160px;
}

.purchase-plan .referral-campaign .inner .intro .intro-content .title {
    width: 24.2%;
    align-self: center;
    font-size: 2.4rem;
    line-height: 1.74;
    /* font-weight: 100; */
    position: relative;
    display: inline-block;
}
.purchase-plan .referral-campaign .inner .intro .intro-content .title::after,
.purchase-plan .referral-campaign .inner .intro .intro-content .title::before {
    content: '';
    position: absolute;
    width: 115px;
    height: 60.5px;
}
.purchase-plan .referral-campaign .inner .intro .intro-content .title::before {
    background: url('../img/referral-campaign/bg-referral-campaign-01.png') no-repeat center / cover;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
}
.purchase-plan .referral-campaign .inner .intro .intro-content .title::after {
    background: url('../img/referral-campaign/bg-referral-campaign-02.png') no-repeat center / cover;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
}
.purchase-plan .referral-campaign .inner .intro .intro-content .desc {
    flex: 1;
}
.purchase-plan .referral-campaign .inner .intro .intro-content .desc ul li {
    display: flex;
    gap: 10px;
    font-size: 2rem;
    line-height: 1.75;
    letter-spacing: 0.01em;
    /* font-weight: 100; */
}
.purchase-plan .referral-campaign .inner .intro .intro-content .desc ul li .highlight {
    background: #FFF27D;
}
.purchase-plan .referral-campaign .inner .intro .intro-content .desc ul li.sub {
    font-size: 1.6rem;
    line-height: 3.45;
}
.purchase-plan .referral-campaign .inner .intro .intro-content .desc ul li.ic::before{
    content: "";
    width: 13px;
    height: 13px;
    flex-shrink: 0; 
    position: relative;
    top: 13px;
}
.purchase-plan .referral-campaign .inner .intro .intro-content .desc ul li:not(.ic) {
    padding-left: 23px;
}

.ic-01::before { background: url(../img/referral-campaign/ic-pre-photo-03.png) no-repeat center / contain; }
.ic-02::before   { background: url(../img/referral-campaign/ic-pre-photo-04.png) no-repeat center / contain; }

.purchase-plan .referral-campaign .inner .intro .note {
    padding-top: 30px;
    font-size: 1.2rem;
    line-height: 1.8;
    /* font-weight: 400; */
}

.purchase-plan .referral-campaign .inner .intro .txt-box {
    text-align: center;
    padding-top: 30px
}
@media(max-width: 960px) {
    .purchase-plan .referral-campaign .inner {
        padding: 0 70px;
    }
    .purchase-plan .referral-campaign .inner .intro .bg .img-bg {
        bottom: -235px;
        right: -90px;
    }
}

@media(max-width: 750px) {
    .purchase-plan .referral-campaign {
        padding: 20px 0 35px;
    }
    .purchase-plan .referral-campaign .inner .title-box .title span {
        padding-bottom: 20px;
        display: block;
        padding-top: 30px;
        font-size: 3.5rem;
        line-height: 1;
        letter-spacing: 0.1em;
        color: #837BB3;
    }
    .purchase-plan .referral-campaign .inner .title-box .title img {
        display: none;
    }
    .purchase-plan .referral-campaign .inner .title-box .sub {
        font-size: 1.8rem;
        line-height: 2;
    }
    .purchase-plan .referral-campaign .inner .title-box .sub-highlight {
        font-size: 2.6rem;
    }

    .purchase-plan .referral-campaign .inner {
        padding: 0 10px;
    }

    .purchase-plan .referral-campaign .inner .title-box::before {
        width: 60px;
        height: 50px;
        bottom: 0;
        top: 40px;
        left: -20px;
    }
    .purchase-plan .referral-campaign .inner .title-box::after {
        top: 80px;
        bottom: 0;
        right: 0;
    }
    .purchase-plan .referral-campaign .inner .intro .intro-content {
        gap: 40px;
        padding: 60px 10px 235px;
        max-width: 450px;
        margin: 30px auto 15px;
    }
    .purchase-plan .referral-campaign .inner .intro .intro-content .title {
        width: 100%;
        text-align: center;
        font-size: 2rem;
    }
    .purchase-plan .referral-campaign .inner .intro .intro-content .desc {
        flex: auto;
        display: flex;
        justify-content: center;
    }
    .purchase-plan .referral-campaign .inner .intro .bg .img-bg  {
        position: absolute;
        width: 250px;
        height: 220px;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .purchase-plan .referral-campaign .inner .intro .bg .ic-ct {
        left: 25px;  
        top: unset;
        bottom: 150px;  
    }
    .purchase-plan .referral-campaign .inner .intro .bg .ic-tr {
        width: 19px;
        top: 15px;
        right: -10px;
    }
    .purchase-plan .referral-campaign .inner .intro .bg .ic-br {
        width: 46px;
        bottom: 150px;
        right: 20px;
    }
    .purchase-plan .referral-campaign .inner .intro .bg .ic-lb {
        bottom: 40px;
        left: 20px;
    }
    .purchase-plan .referral-campaign .inner .intro .intro-content .desc ul li {
        font-size: 1.6rem;
    }
    .purchase-plan .referral-campaign .inner .intro .intro-content .bg {
        display: inline-block;
        margin: 0 auto;
    }

    .purchase-plan .referral-campaign .ic img {
        width: 65px;
        bottom: -40px;
        left: 0;
    }
}

/*
============================================================    
===================== End-referral-campaign ================
============================================================
*/
/*
============================================================    
===================== Begin-purchase-plan-realated =========
============================================================
*/
.purchase-plan .realated-content-bg {
    height: 142px;
}

.purchase-plan .realated-content ul li .content-box .inner::before,
.purchase-plan .realated-content ul li .content-box .inner::after {
    background-color: #EDC25A;
}

@media(max-width: 750px) {
    .purchase-plan .realated-content-bg {
        height: 300px;
    }
}
/*
============================================================    
===================== End-purchase-plan-realated =========
============================================================
*/




/*
============================================================    
===================== Container-step-flow-page =========
============================================================
*/
.flow-page .container {
    max-width: 990px;
}
/*
============================================================    
===================== Container-step-flow-page =========
============================================================
*/

/*
============================================================    
===================== Begin-step-flow =========
============================================================
*/


.flow-page .step-flow {
    padding-top: 50px;
}
.flow-page .step-flow ul {
    padding-top: 20px;
    display: flex;
    margin: 0 -5px;
}
.flow-page .step-flow ul li  {
    width: 24%;
    padding: 0 5px;
}
.flow-page .step-flow ul li .inner {
    position: relative;
    padding: 20px 0 40px 0;
    background: rgba(251, 244, 215, 0.45);
    border-radius: 50% 50% 0 0;
    text-align: center;
}
.flow-page .step-flow ul li .inner a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.flow-page .step-flow ul li .inner::after {
    content: "";
    position: absolute;
    width: 23px;
    height: 23px;
    background: url('../img/flow/ic-flow-01.png') no-repeat center / cover;
    bottom: 7px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.flow-page .step-flow ul li .inner .title {
    color: #ECC15A;
    font-size: 1.8rem;
    line-height: 1.75;
    font-weight: 600;
}
.flow-page .step-flow ul li .inner .title .lg {
    font-size: 2.5rem;
}
.flow-page .step-flow ul li .inner .img {
    width: 60px;
    height: 60px;
    margin: 0 auto;
}
.flow-page .step-flow ul li .inner .img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.flow-page .step-flow ul li .inner .desc {
    font-size: 1.6rem;
    line-height: 1.72;
    font-weight: 600;
    letter-spacing: 0.18em;
}
@media(max-width: 750px) {
    .flow-page .step-flow .intro {
        padding-left: 0;
    }
    .flow-page .step-flow ul {
        flex-wrap: wrap;
        justify-content: center;
    }
    .flow-page .step-flow ul li {
        padding-top: 10px;
        width: 33.33%;
    }
    .flow-page .step-flow ul li .inner {
        border-radius: 25vh 25vh 0 0;
        padding: 20px 0 30px 0;
    }
    .flow-page .step-flow ul li .inner .title {
        font-size: 1.11rem;
        line-height: 1.75;
    }
    .flow-page .step-flow ul li .inner .title .lg {
        font-size: 1.54rem;
    }
    .flow-page .step-flow ul li .inner .desc {
        font-size: 1.11rem;
    }
    .flow-page .step-flow ul li .inner::after {
        width: 18px;
        height: 18px;
    }
    .flow-page .step-flow ul li .inner .img {
        max-width: 50px;
        max-height: 50px;
    }
}
/*
============================================================    
===================== Begin-step-flow =========
============================================================
*/


/*
============================================================    
===================== Begin-process-step =========
============================================================
*/
.flow-page .process-step {
    padding-top: 80px;
}


.flow-page .page-banner .content .banner-title {
    color: #F2D180;
}

.flow-page .page-banner::before{
    top: 0;
    left: 0;
    right: 28.68%;
    bottom: 45%;
    background: #FBF4D7;
}

.flow-page .page-banner::after {
    top: 35%;
    left: 48%;
    right: 0;
    bottom: 0;
    background: url('../img/flow/bg-flow-banner.png') no-repeat;
    background-size: cover; 
}

.flow-page .process-step .process-box {
    position: relative;
    max-width: 990px;
    padding: 0 20px;
    margin: 0 auto;
}
.flow-page .process-step ul {
    display: flex;
    flex-direction: column;
}
.flow-page .process-step ul li {
    padding: 65px 0 65px 0;
}
.flow-page .process-step ul li:nth-child(even) {
    position: relative;
}
.flow-page .process-step ul li:nth-child(4n + 2) .process-box::before {
    position: absolute;
    content: "";
    width: 161px;
    height: 173px;
    background: url('../img/flow/ic-flow-02.png') no-repeat center / cover;
    top: -170px;
    right: -15%;
}
.flow-page .process-step ul li:nth-child(4n) .process-box::before {
    position: absolute;
    content: "";
    width: 179px;
    height: 86px;
    background: url('../img/flow/ic-flow-03.png') no-repeat center / cover;
    top: -11.8%;
    left: -16%
}
.flow-page .process-step ul li:nth-child(even) .inner {
    flex-direction: row-reverse;
}
.flow-page .process-step ul li:nth-child(even) {
    background: url('../img/flow/bg-step-common.png') no-repeat center / cover;
}
.flow-page .process-step .inner {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.flow-page .process-step .inner .img {
    width: 48.7%;
}
.flow-page .process-step .inner .content {
    flex: 1;
}
.flow-page .process-step .inner .content .heading-box .heading {
    display: flex;
    align-items: center;
    gap: 10px;
}
.flow-page .process-step .inner .content .heading-box .heading .badge {
    width: 106px;
}
.flow-page .process-step .inner .content .heading-box .heading .title {
    text-align: left;
    flex: 1;
    font-size: 3.2rem;
    line-height: 1.7;
    letter-spacing: 0.01em;
}
.flow-page .process-step .inner .content .heading-box .sub {
    padding-top: 5px;
    font-size: 2.2rem;
    line-height: 1.75;
    font-weight: 700;
}
.flow-page .process-step .inner .content .desc {
    padding-top: 5px;
    font-size: 1.6rem;
    line-height: 1.9 ;
    /* font-weight: 400; */
}
.flow-page .process-step .notice-box {
    padding: 50px 50px 20px;
}
.flow-page .process-step .notice-box .content {
    padding: 10px;
    background: #FBDFE4;
}
.flow-page .process-step .notice-box .notice-inner {
    padding: 25px;
    background: #fff;
}
.flow-page .process-step .notice-box .notice-inner .item:not(:first-child) {
    padding-top: 30px;
}

.flow-page .process-step .notice-box .notice-inner .item .title {
    text-align: left;
    font-size: 1.8rem;
    line-height: 1.7;
    font-weight: 700;
    color: #E89CA5;
}
.flow-page .process-step .notice-box .notice-inner .item .desc {
    font-size: 1.5rem;
    line-height: 2;
    /* font-weight: 400; */
}
.flow-page .process-step .txt-box {
    padding-top: 20px;
    text-align: center;
}
@media(max-width: 1240px){
    .flow-page .process-step ul li:nth-child(4n + 2) .process-box::before {
        width: 115px;
        height: 125px;
        top: -120px;
        right: 1%;
    }
}
@media(max-width: 750px) {
    .flow-page .process-step {
        padding-top: 0;
    }
    .flow-page .process-step ul li {
        padding: 35px 0 35px 0;
    }
    .flow-page .process-step .inner {
        display: flex;
        justify-content: center;
    }
    .flow-page .process-step .inner .img {
        display: flex;
        width: 100%;
        justify-content: center;
    }
    .flow-page .process-step .inner .img img {
        max-width: 460px;
        margin: 0 auto;
    }
    .flow-page .process-step .inner .content {
        flex: 1;
    }
    .flow-page .process-step .inner .content .heading-box .heading .title {
        font-size: 3rem;
    }
    .flow-page .process-step .inner .content .heading-box .heading .badge {
        width: 80px;
    }
    .flow-page .process-step .inner .content .heading-box .sub {
        font-size: 1.8rem;
    }
    .flow-page .process-step .inner .content .desc,
    .flow-page .process-step .notice-box .notice-inner .item .desc {
        font-size: 1.4rem;
    }

    .flow-page .process-step ul li:nth-child(4n + 2) .process-box::before {
        width: 65px;
        height: 70px;
        top: -70px;
        right: 1%;
    }
    
    .flow-page .process-step ul li:nth-child(4n) .process-box::before {
        width: 100px;
        height: 50px;
        top: -70px;
        left: 3%;
    }
    .flow-page .process-step .notice-box {
        padding: 10px 0;
    }
    .flow-page .process-step .notice-box .notice-inner {
        padding: 15px;
    }
    .flow-page .process-step .notice-box .notice-inner .item:not(:first-child) {
        padding-top: 20px;
    }

    .flow-page .process-step ul li:nth-child(even) {
        background: url('../img/flow/bg-step-common-02.png') repeat center / contain;
    }
}
/*
============================================================    
===================== End-process-step =========
============================================================
*/

/*
============================================================    
===================== Begin-after-care =========
============================================================
*/
.flow-page .after-care {
    position: relative;
    padding: 83px 0 165px;
}
.flow-page .after-care::before,
.flow-page .after-care::after{
    content: '';
    position: absolute;
    z-index: -1;
}
.flow-page .after-care::before{
    top: 0;
    left: 23.75%;
    right: 0;
    bottom: 11%;
    background: rgb(251, 244, 215);
}
.flow-page .after-care::after {
    top: 20%;
    left: 0;
    right: 34.7%;
    bottom: 0;
    background: url('../img/flow/bg-after-care-01.png') no-repeat;
    background-size: cover; 
    mix-blend-mode: multiply;
}
.flow-page .after-care .after-care-box {
    position: relative;
    background: #fff;
    border-radius: 70px 0 70px 0;    
}
.flow-page .after-care .after-care-box .after-care-title {
    position:absolute;
    right: -60px; 
    color: #F2D180;
    writing-mode: vertical-rl;
    font-size: 5rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1em;
}


.flow-page .after-care .inner {
    position: relative;
    padding: 50px 75px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
.flow-page .after-care .inner:before {
    position: absolute;
    content: '';
    width: 54px;
    height: 59px;
    background: url('../img/flow/ic-after-care.png') no-repeat center / cover;
    top: -20px;
    right: -15%;
}

.flow-page .after-care .inner .content {
    flex: 1;
    align-self: center;
}
.flow-page .after-care .inner .content .title-box {
    text-align: left;    
}
.flow-page .after-care .inner .content .title-box .title {
    text-align: left;    
    font-size: 2.9rem;
    line-height: 2;
    letter-spacing: 0.01em;
    font-weight: 400;
}
.flow-page .after-care .inner .content .title-box .sub {
    text-align: left;    
    font-size: 1.8rem;
    line-height: 1.75;
    font-weight: 400;
}
.flow-page .after-care .inner .content .desc {
    padding-top: 5px;
    text-align: left;    
    font-size: 1.6rem;
    font-weight: 400;
}
.flow-page .after-care .inner .img {
    width: 43%;
}


@media(max-width: 1150px) {
    .flow-page .after-care .inner:before {
        position: absolute;
        content: '';
        width: 54px;
        height: 59px;
        background: url('../img/flow/ic-after-care.png') no-repeat center / cover;
        top: -140px;
        right: 0;
    }
}

@media(max-width: 1024px) {
    .flow-page .after-care .after-care-box .after-care-title {
        padding: 20px 0;
        position: unset;
        text-align: center;
        writing-mode: unset;
    }
}
@media(max-width: 750px) {
    .flow-page .after-care {
        padding: 35px 0 100px;
    }
    .flow-page .after-care .after-care-box {
        border-radius: 20px 0 20px 0;
    }
    .flow-page .after-care .inner {
        gap: 20px;
        padding: 20px;
    }
    .flow-page .after-care .inner .img {
        width: 100%;
        display: flex;
        justify-content: center;
    }
     .flow-page .after-care .inner .img img {
        max-width: 200px;
    }
    .flow-page .after-care .inner .content .title-box .title {
        font-size: 2.4rem;
        line-height: 1.5;
    }
    .flow-page .after-care .inner .content .title-box .sub {
        font-size: 1.6rem;
    }
    .flow-page .after-care .inner .content .desc {
        font-size: 1.4rem;
    }
    .flow-page .after-care::before{
        left: 0;
    }
    .flow-page .after-care .after-care-box .after-care-title {
        font-size: 3rem;
    }
}
/*
============================================================    
===================== End-after-care =========
============================================================
*/

.home .concept .concept-slick .slick-item.pos-down {
    margin-top: 30px;
}

.sub-page .sub-banner {
    position: relative;
}
.sub-page .sub-banner .title {
    background: #f5f1fa;
    font-size: 3.5rem;
    padding: 58px 20px;
    /* font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; */
}
.sub-page .sub-banner .title p {
    font-size: 2rem;
    color: #857bb7;
}
.sub-page .sub-banner .container {
    max-width: 840px;
}
.sub-page .sub-banner .intro {
    margin-top: -35px;
    position: relative;
    text-align: center;
    font-size: 1.4rem;
    line-height: 2;
}
.sub-page .sub-banner .intro::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 45px;
    background: #B7A096;
    top: 35px;
}
.sub-page .sub-banner .intro  img {
    border-radius: 8px;
}
.sub-page .sub-banner .intro h3 {
    font-size: 1.7rem;
    color: #B7796A;
    padding-top: 35px;
    font-weight: 300;
}
@media(max-width:750px){
    .sub-page .sub-banner .title h2 {
        font-size: 2.2rem;
    }
    .sub-page .sub-banner .title {
        font-size: 1.4rem;
        padding: 26px 15px;
    }
    .sub-page .sub-banner .intro {
        margin-top: 7px;
        font-size: 1.2rem;
    }
    .sub-page .sub-banner .intro::before {
        height: 48px;
        top: -7px;
    }
    .sub-page .sub-banner .intro h3 {
        padding-top: 25px;
        padding-bottom: 5px;
        letter-spacing: 0.02em;
    }
}
/*
============================================================
================ アクセス・会社案内　2026.09.04 ================
============================================================
*/
.access-page .breadcrumb .container,
.access-page .access-map .container,
.access-page .company-info .container {
    max-width: 800px;
}
.access-page .title-box .title {
    font-size: 3rem;
}
.access-page .access-map {
    padding: 70px 0 60px;
}
.access-page .access-map .parking {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    margin-top: 40px;
}
.access-page .access-map .parking .txt {
    flex: 1;
}
.access-page .access-map .parking .txt .tit {
    color: #837BB3;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    padding-bottom: 8px;
}
.access-page .access-map .parking .txt p {
    font-size: 1.5rem;
    line-height: 1.85;
}
.access-page .access-map .parking .img {
    width: 380px;
    flex-shrink: 0;
}
.access-page .access-map .parking .img img {
    width: 100%;
    border-radius: 6px;
}
.access-page .access-map .map {
    max-width: 600px;
    margin: 40px auto 0;
    overflow: hidden;
}
.access-page .access-map .map iframe {
    width: 100%;
    height: 360px;
    display: block;
}
.access-page .company-info {
    padding: 10px 0 80px;
}
.access-page .company-info table {
    width: 100%;
    margin-top: 30px;
    border-collapse: collapse;
}
.access-page .company-info table tr {
    border-bottom: 1px dashed #4d4d4d;
}
.access-page .company-info table th {
    width: 220px;
    text-align: left;
    color: #837BB3;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding: 15px 20px;
    vertical-align: top;
}
.access-page .company-info table td {
    font-size: 1.6rem;
    padding: 15px 0;
}
.access-page .company-info table td a {
    color: #000;
}
.access-page .company-info table td a:hover {
    opacity: .7;
}
@media(max-width: 750px) {
    .access-page .access-map {
        padding: 40px 0 40px;
    }
    .access-page .access-map .parking {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
        margin-top: 25px;
    }
    .access-page .access-map .parking .img {
        width: 100%;
    }
    .access-page .access-map .title-box .title,
    .access-page .company-info .title-box .title {
        font-size: 2.4rem;
    }
    .access-page .access-map .parking .txt .tit {
        font-size: 1.6rem;
    }
    .access-page .access-map .parking .txt p {
        font-size: 1.3rem;
    }
    .access-page .access-map .map {
        margin-top: 25px;
    }
    .access-page .access-map .map iframe {
        height: 260px;
    }
    .access-page .company-info {
        padding: 0 0 50px;
    }
    .access-page .company-info table {
        margin-top: 15px;
    }
    .access-page .company-info table tr {
        display: block;
        padding: 15px 0;
    }
    .access-page .company-info table th,
    .access-page .company-info table td {
        display: block;
        width: 100%;
        padding: 0;
        font-size: 1.4rem;
    }
    .access-page .company-info table th {
        padding-bottom: 6px;
    }
}
/*
============================================================
============== End-アクセス・会社案内 =======================
============================================================
*/
/*
============================================================
========= よくあるご質問・来店予約・プライバシーポリシー　2026.09.04 =========
============================================================
*/
.qa-page .content-box {
    padding-top: 50px;
    padding-bottom: 90px;
    /* font-size: 1.4rem; */
    line-height: 2;
    letter-spacing: 0.06em;
}
.qa-page .content-box .container {
    max-width: 840px;
}
.qa-page .content-box .lead {
    text-align: center;
    padding-bottom: 20px;
}
.qa-page .content-box h3 {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.5;
    padding-top: 30px;
    padding-bottom: 20px;
    color: #837BB3;
}
.qa-list li {
    padding: 10px 0;
    position: relative;
    z-index: 1;
}
.qa-list li .inner {
    background: #F5F2FA;
    border-radius: 8px 8px 0 0;
    letter-spacing: 0.06em;
}
.qa-list li .inner .q {
    box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 5px 0px;
    border-radius: 8px;
    padding: 22px 55px 22px 24px;
    line-height: 1.5;
    font-weight: 500;
    background: #fff;
    cursor: pointer;
    position: relative;
    z-index: 1;
}
.qa-list li .inner .q .ic {
    position: absolute;
    right: 12px;
    top: 50%;
    width: 26px;
    height: 26px;
    background: #837BB3;
    border-radius: 50%;
    z-index: -1;
    margin-top: -13px;
    transition: .3s;
}
.qa-list li .inner .q .ic::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    border-left: 1px solid #fff;
    border-top: 1px solid #fff;
    left: 50%;
    top: 50%;
    transform: rotate(225deg);
    margin-left: -4px;
    margin-top: -5px;
}
.qa-list li .inner.active .q .ic {
    transform: rotate(180deg);
}
.qa-list li .inner .a {
    font-size: 1.5rem;
    line-height: 2;
    padding: 10px 24px 15px;
    display: none;
}
@media(max-width: 750px) {
    .qa-page .content-box {
        font-size: 1.4rem;
        padding: 30px 10px 65px;
    }
    .qa-page .content-box h3 {
        font-size: 2rem;
        padding-bottom: 5px;
        padding-top: 25px;
    }
    .qa-list li .inner .a {
        font-size: 1.4rem;
        padding: 18px 18px 10px;
    }
    .qa-list li .inner .q {
        padding: 12px 55px 12px 18px;
    }
    .qa-list li {
        padding: 7px 0;
    }
}
/*
============================================================
========================= End q&a =========================
============================================================
*/
.reservation-page .intro {
    text-align: center;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.06em;
    padding-top: 45px;
    padding-bottom: 100px;
}
.reservation-page .intro .container {
    max-width: 840px;
}
.reservation-page .intro .phone-box {
    box-shadow: rgba(67, 71, 85, 0.27) 0px 0px 5px;
    border-radius: 10px;
    max-width: 588px;
    margin: 25px auto 0;
    padding: 28px 15px 25px;
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    font-weight: 500;
    position: relative;
    background: #fff;
}
.reservation-page .intro .phone-box::before,
.reservation-page .intro .phone-box::after {
    content: '';
    position: absolute;
    width: 126px;
    height: 126px;
    background: url(../img/contact/phone-box-bg.png) no-repeat;
    background-size: 100% !important;
    z-index: -1;
}
.reservation-page .intro .phone-box::before {
    left: -70px;
    bottom: -30px;
}
.reservation-page .intro .phone-box::after {
    right: -70px;
    top: -30px;
}
.reservation-page .intro .phone-box h3,
.reservation-page .intro .mail h3 {
    color: #837BB3;
    font-size: 2rem;
    line-height: 1.25;
    font-weight: 500;
}
.reservation-page .intro .phone-box .ic {
    width: 17px;
    position: relative;
    top: -2px;
    margin-right: 2px;
}
.reservation-page .intro .phone-box .no a {
    font-size: 3.6rem;
    line-height: 1.3;
    font-weight: 500;
    color: #4D4D4D;
    display: block;
}
.reservation-page .intro .mail {
    padding-top: 60px;
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    font-weight: 500;
}
.reservation-page .intro .mail .ic {
    width: 21px;
    position: relative;
    top: -3px;
    margin-right: 2px;
}
.reservation-page .intro .mail h3 {
    padding-bottom: 5px;
}
.reservation-page .inquiry {
    text-align: center;
    border-radius: 15px;
    padding: 45px 75px 62px 75px;
    box-shadow: rgba(67, 71, 85, 0.27) 0px 0px 0.5em, rgba(90, 125, 188, 0.05) 0px 0.25em 1em;
    margin-top: 22px;
}
.reservation-page .inquiry .form-group {
    letter-spacing: 0.06em;
    font-weight: 500;
    padding: 20px 0;
    text-align: left;
    font-size: 1.4rem;
    line-height: 2;
}
.reservation-page .inquiry .form-group .label {
    width: 100%;
    display: block;
    padding: 0 0 10px;
    text-wrap: nowrap;
    font-weight: 700;
    color: #837BB3;
    font-size: 1.6rem;
    line-height: 1.75;
}
.reservation-page .inquiry .form-group .label-required {
    padding: 1px 3px 2px;
    margin-left: 5px;
    background-color: #924642;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1;
    display: inline-block;
    letter-spacing: .06em;
    font-weight: 400;
}
.reservation-page .inquiry .form-group .input,
.reservation-page .inquiry .form-group .custom-select {
    width: 100%;
    height: 50px;
    border-radius: 6px;
    border: 1px solid #4D4D4D;
    padding: 4px 15px 0;
    font-size: 1.6rem;
    font-weight: 500;
}
.reservation-page .inquiry .radio {
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: 8px;
    line-height: 1;
    padding-bottom: 18px;
    font-size: 1.6rem;
}
.reservation-page .inquiry .radio input {
    display: none;
}
.reservation-page .inquiry .radiomark {
    width: 20px;
    height: 20px;
    border: 1px solid #4D4D4D;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
}
.reservation-page .inquiry .radiomark::after {
    content: "";
    position: absolute;
    display: none;
    width: 12px;
    height: 12px;
    background: #837BB3;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.reservation-page .inquiry .radio input:checked + .radiomark::after {
    display: block;
}
.reservation-page .inquiry .radio input:checked + .radiomark {
    border-color: #837BB3;
}
.reservation-page .inquiry .select-wrapper {
    position: relative;
}
.reservation-page .inquiry .custom-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    position: relative;
}
.reservation-page .inquiry .custom-select:invalid {
    color: #C3C3C3;
}
.reservation-page .inquiry .select-wrapper::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -8px;
    width: 12px;
    height: 12px;
    border-bottom: 1px solid #4D4D4D;
    border-right: 1px solid #4D4D4D;
    transform: rotate(45deg);
    pointer-events: none;
}
.reservation-page .inquiry .code {
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    max-width: 285px;
    font-weight: 500;
    padding-bottom: 14px;
}
.reservation-page .inquiry .code .input {
    margin-left: 10px;
}
.reservation-page .inquiry .name-row {
    display: flex;
    gap: 15px;
}
.reservation-page .inquiry .name-row .input {
    width: auto;
    flex: 1;
}
.reservation-page .inquiry .datetime-row {
    display: flex;
    align-items: center;
    gap: 15px;
}
.reservation-page .inquiry .datetime-row .input.date {
    width: auto;
    flex: 1;
}
.reservation-page .inquiry .datetime-row .select-wrapper.time {
    width: 130px;
    flex-shrink: 0;
}
.reservation-page .inquiry .datetime-row .select-wrapper.time .custom-select {
    width: 100%;
}
.reservation-page .inquiry .form-group .textarea {
    height: 162px;
    width: 100%;
    border-radius: 6px;
    border: 1px solid #4D4D4D;
    padding: 20px 15px 20px;
    font-size: 1.6rem;
    font-weight: 500;
}
.reservation-page .inquiry .form-group .input::placeholder,
.reservation-page .inquiry .form-group .textarea::placeholder {
    color: #C3C3C3;
}
.reservation-page .inquiry form {
    padding-bottom: 30px;
}
@media(max-width: 750px) {
    .reservation-page .intro {
        padding-top: 35px;
        padding-bottom: 70px;
    }
    .reservation-page .intro .container {
        padding: 0 28px;
    }
    .reservation-page .intro .phone-box {
        border-radius: 8px;
        font-size: 1.3rem;
        line-height: 1.7;
        max-width: 288px;
    }
    .reservation-page .intro .phone-box h3,
    .reservation-page .intro .mail h3 {
        font-size: 1.8rem;
    }
    .reservation-page .intro .phone-box .ic {
        width: 15px;
    }
    .reservation-page .intro .phone-box .no a {
        font-size: 3.2rem;
        padding: 5px 0;
    }
    .reservation-page .intro .mail {
        padding-top: 55px;
    }
    .reservation-page .intro .phone-box::before,
    .reservation-page .intro .phone-box::after {
        width: 75px;
        height: 75px;
    }
    .reservation-page .intro .phone-box::before {
        left: -28px;
        bottom: -22px;
    }
    .reservation-page .intro .phone-box::after {
        right: -28px;
        top: -22px;
    }
    .reservation-page .inquiry {
        border-radius: 8px;
        padding: 15px 15px 50px 15px;
        margin-top: 22px;
    }
    .reservation-page .inquiry .form-group {
        font-size: 1.3rem;
        line-height: 1.5;
        padding-bottom: 5px;
        padding-top: 12px;
    }
    .reservation-page .inquiry .form-group .label,
    .reservation-page .inquiry .form-group .input,
    .reservation-page .inquiry .form-group .custom-select {
        font-size: 1.5rem;
    }
    .reservation-page .inquiry .form-group .label {
        padding-bottom: 5px;
    }
    .reservation-page .inquiry .form-group .input,
    .reservation-page .inquiry .form-group .custom-select {
        padding: 3px 10px 0;
        height: 45px;
        border-radius: 4px;
    }
    .reservation-page .inquiry .form-group p {
        margin-top: 5px;
    }
    .reservation-page .inquiry .radio {
        font-size: 1.5rem;
    }
    .reservation-page .inquiry .select-wrapper::after {
        right: 12px;
        margin-top: -8px;
        width: 10px;
        height: 10px;
    }
    .reservation-page .inquiry .name-row,
    .reservation-page .inquiry .datetime-row {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    .reservation-page .inquiry .name-row .input {
        flex: none;
        width: 100%;
    }
    .reservation-page .inquiry .datetime-row .input.date {
        flex: none;
        width: 100%;
    }
    .reservation-page .inquiry .datetime-row .select-wrapper.time {
        width: 100%;
    }
    .reservation-page .inquiry .code {
        font-size: 1.5rem;
        max-width: unset;
        padding-bottom: 10px;
    }
    .reservation-page .inquiry .form-group .textarea {
        font-size: 1.5rem;
        padding: 10px;
    }
}
/*
============================================================
====================== End reservation =====================
============================================================
*/
.privacy-page .content-box {
    padding-top: 40px;
    padding-bottom: 125px;
    font-size: 1.4rem;
    line-height: 2;
    font-weight: 500;
}
.privacy-page .content-box .container {
    max-width: 840px;
}
.privacy-page .content-box h3 {
    font-size: 1.6rem;
    color: #837BB3;
    padding-top: 30px;
    font-weight: 700;
}
.privacy-page .content-box a {
    color: #4D4D4D;
    transition: .3s;
}
.privacy-page .content-box a:hover {
    color: #837BB3;
}
@media(max-width: 750px) {
    .privacy-page .content-box {
        padding-top: 35px;
        padding-bottom: 55px;
    }
    .privacy-page .content-box .container {
        padding: 0 28px;
    }
}
/*
============================================================
==================== End privacy policy ====================
============================================================
*/
/*
============================================================
================ 振袖コレクション　2026.09.04 ================
============================================================
*/
.furisode-collection-page .gallery {
    padding: 70px 0 40px;
}
.furisode-collection-page .gallery .container {
    max-width: 1000px;
}
.furisode-collection-page .gallery .intro {
    text-align: center;
    padding-bottom: 45px;
}
.furisode-collection-page .gallery .intro h2 {
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.5;
    padding-bottom: 20px;
}
.furisode-collection-page .gallery .intro p {
    font-size: 1.5rem;
    line-height: 2;
}
.furisode-collection-page .gallery .list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.furisode-collection-page .gallery .list .item:nth-child(n+41) {
    display: none;
}
.furisode-collection-page .gallery .list.show-all .item {
    display: block;
}
.furisode-collection-page .gallery .btn-box {
    text-align: center;
    padding-top: 40px;
}
.furisode-collection-page .gallery .list .item .img {
    position: relative;
    aspect-ratio: 3 / 4;
    /* border-radius: 10px; */
    overflow: hidden;
    /* box-shadow: 0 0 10px rgba(0, 0, 0, .1); */
    cursor: pointer;
}
.furisode-collection-page .gallery .list .item .img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.furisode-collection-page .gallery .list .item .info {
    padding-top: 5px;
}
.furisode-collection-page .gallery .list .item .info .text {
    text-align: left;
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    font-weight: 500;
    color: #333;
    padding-bottom: 7px;
    line-height: 1.3;
}
.furisode-collection-page .gallery .list .item .info .tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 5px;
}
.furisode-collection-page .gallery .list .item .info .tags li {
    font-size: 1.35rem;
    letter-spacing: 0.02em;
    padding: 4px 10px;
    border-radius: 50vh;
    line-height: 1.2;
    background: #8d8d8d;
    color: #fff;
    /* font-family: "NotoSansCJKjp-Medium"; */
}
.furisode-collection-page .choices {
    max-width: 500px;
    margin: 0 auto 35px;
    border: 1px solid #E3E3E1;
}
.furisode-collection-page .choices .btn-show_acc {
    background: #E3E3E1;
    color: #000;
    font-size: 1.5rem;
    padding: 12px 15px;
    display: block;
    font-weight: 500;
    line-height: 1;
    position: relative;
    text-align: center;
}
.furisode-collection-page .choices .btn-show_acc::before,
.furisode-collection-page .choices .btn-show_acc::after {
    content: '';
    position: absolute;
    background: #000;
    right: 16px;
    top: 50%;
}
.furisode-collection-page .choices .btn-show_acc::before {
    width: 11px;
    height: 1px;
}
.furisode-collection-page .choices .btn-show_acc::after {
    width: 1px;
    height: 11px;
    margin-top: -5px;
    margin-right: 5px;
}
.furisode-collection-page .choices.active > .btn-show_acc::after,
.furisode-collection-page .choices .item.active .btn-show_acc::after {
    display: none;
}
.furisode-collection-page .choices .items {
    display: none;
}
.furisode-collection-page .choices .item .btn-show_acc {
    background: #EEE6F7;
}
.furisode-collection-page .choices .item .type_links {
    display: none;
}
.furisode-collection-page .choices .type_links ul {
    max-width: 330px;
    margin: 0 auto;
    padding: 25px 18px 8px;
}
.furisode-collection-page .choices .type_links ul li {
    padding: 0 0 12px;
}
.furisode-collection-page .choices .type_links ul li a {
    display: block;
    text-align: center;
    border-radius: 50vh;
    padding: 14px 30px;
    position: relative;
    transition: .3s;
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    font-weight: 500;
    color: #4D4D4D;
}
.furisode-collection-page .choices .type_links ul li a:hover {
    opacity: .7;
}
.furisode-collection-page .choices .type_links ul li a::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    border-top: 1px solid #4D4D4D;
    border-right: 1px solid #4D4D4D;
    transform: rotate(45deg);
    right: 20px;
    top: 50%;
    margin-top: -4px;
}
.furisode-collection-page .choices .type_links ul li.type1 a {
    background: linear-gradient(to right, #FFF6F6 0%, #FFE8E8 100%);
}
.furisode-collection-page .choices .type_links ul li.type2 a {
    background: linear-gradient(to right, #F5F9FF 0%, #E7F0FF 100%);
}
.furisode-collection-page .choices .type_links ul li.type3 a {
    background: linear-gradient(to right, #F3F8F1 0%, #E0EDDC 100%);
}
.furisode-collection-page .choices .type_links ul li.type4 a {
    background: linear-gradient(to right, #FFFBF6 0%, #FEF5E9 100%);
}
.furisode-collection-page .choices .type_links ul li.type5 a {
    background: linear-gradient(to right, #F2F2FA 0%, #DEDFF3 100%);
}
.furisode-collection-page .choices .type_links ul li.type6 a {
    background: linear-gradient(to right, #f1ecdd 0%, #ddd0aa 100%);
}
.furisode-collection-page .choices .type_links ul li.active a {
    box-shadow: 0 0 0 2px #837BB3 inset;
    font-weight: 700;
}
.furisode-collection-page .choices .item .i_colors {
    display: none;
}
.furisode-collection-page .choices .item .i_colors .inner {
    padding: 18px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 472px;
    margin: 0 auto;
    gap: 20px;
}
.furisode-collection-page .choices .item .i_colors ul {
    flex: 0 0 calc(33.33% - 40px / 3);
}
.furisode-collection-page .choices .item .i_colors ul li {
    font-size: 1.4rem;
    font-weight: 500;
    color: #000000;
    line-height: 1;
    border: 1px solid #D0D0D0;
    border-radius: 50vh;
    margin-bottom: 10px;
    position: relative;
    transition: .3s;
}
.furisode-collection-page .choices .item .i_colors ul li a {
    padding: 7px 30px;
    color: #000;
    display: block;
}
.furisode-collection-page .choices .item .i_colors ul li:hover {
    opacity: .7;
}
.furisode-collection-page .choices .item .i_colors ul li.active {
    border-color: #837BB3;
    background: #F5F1FA;
    font-weight: 700;
}
.furisode-collection-page .choices .item .i_colors ul li::before {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    left: 10px;
    top: 50%;
    margin-top: -8px;
}
.furisode-collection-page .ic_c1::before {
    background: #fff;
    border: 1px solid #D0D0D0;
}
.furisode-collection-page .ic_c2::before {
    background: #EB6EA5;
    border: 1px solid #EB6EA5;
}
.furisode-collection-page .ic_c3::before {
    background: #DC3000;
    border: 1px solid #DC3000;
}
.furisode-collection-page .ic_c4::before {
    background: #DC7300;
    border: 1px solid #DC7300;
}
.furisode-collection-page .ic_c5::before {
    background: #F5C600;
    border: 1px solid #F5C600;
}
.furisode-collection-page .ic_c6::before {
    background: #68B100;
    border: 1px solid #68B100;
}
.furisode-collection-page .ic_c7::before {
    background: #55A2DD;
    border: 1px solid #55A2DD;
}
.furisode-collection-page .ic_c8::before {
    background: #9474D1;
    border: 1px solid #9474D1;
}
.furisode-collection-page .ic_c9::before {
    background: #6B2F00;
    border: 1px solid #6B2F00;
}
.furisode-collection-page .ic_c10::before {
    background: #000000;
    border: 1px solid #000000;
}
.furisode-collection-page .gallery .list.filtered .item {
    display: none;
}
.furisode-collection-page .gallery .list.filtered .item.match {
    display: block;
}
.furisode-collection-page .gallery .filter-status {
    display: none;
    text-align: center;
    padding-top: 30px;
    font-size: 1.4rem;
}
.furisode-collection-page .gallery .filter-status.active {
    display: block;
}
.furisode-collection-page .gallery .filter-status a {
    color: #837BB3;
    text-decoration: underline;
    margin-left: 10px;
}
@media(max-width: 960px) {
    .furisode-collection-page .gallery .list {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media(max-width: 750px) {
    .furisode-collection-page .gallery {
        padding: 40px 0 25px;
    }
    .furisode-collection-page .gallery .intro {
        padding-bottom: 25px;
    }
    .furisode-collection-page .gallery .intro h2 {
        font-size: 2.2rem;
    }
    .furisode-collection-page .gallery .intro p {
        font-size: 1.3rem;
    }
    .furisode-collection-page .choices {
        max-width: 320px;
    }
    .furisode-collection-page .choices .item .i_colors .inner {
        gap: 0 18px;
        padding: 15px 18px 10px;
    }
    .furisode-collection-page .choices .item .i_colors ul {
        flex: 0 0 calc(50% - 18px / 2);
    }
    .furisode-collection-page .choices .item .i_colors ul li {
        margin-bottom: 8px;
    }
    .furisode-collection-page .gallery .list {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    .furisode-collection-page .gallery .list .item .info .text {
        font-size: 1.3rem;
    }
    .furisode-collection-page .gallery .list .item .info .tags li {
        font-size: 1.05rem;
        padding: 4px 12px;
    }
}
/*
============================================================
============ 共通ライトボックス（ギャラリー用） ===============
============================================================
*/
.lightbox {
    display: none;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .85);
}
.lightbox.active {
    display: block;
}
.lightbox-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 88%;
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.lightbox-media {
    position: relative;
    max-width: 100%;
}
.lightbox-inner img {
    display: block;
    max-width: 100%;
    max-height: 74vh;
    width: auto;
    height: auto;
    margin: 0 auto;
    box-shadow: 0 0 30px rgba(0, 0, 0, .4);
}
.lightbox-caption {
    margin-top: 10px;
    max-width: 100%;
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: 0.08em;
    line-height: 1.6;
    text-align: left;
}
.lightbox-close,
.lightbox-prev,
.lightbox-next {
    background: rgba(255, 255, 255, 0);
    border: none;
    cursor: pointer;
    z-index: 1001;
    transition: .3s;
}
.lightbox-prev,
.lightbox-next {
    position: fixed;
}
.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover {
    background: rgba(255, 255, 255, .3);
}
.lightbox-close {
    position: absolute;
    bottom: -44px;
    right: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    /* background: rgba(0, 0, 0, .6); */
}
.lightbox-close:hover {
    background: rgba(0, 0, 0, .8);
}
.lightbox-close::before,
.lightbox-close::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 2px;
    background: #fff;
}
.lightbox-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.lightbox-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.lightbox-prev,
.lightbox-next {
    top: 50%;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    margin-top: -26px;
}
.lightbox-prev {
    left: 24px;
}
.lightbox-next {
    right: 24px;
}
.lightbox-prev::before,
.lightbox-next::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
.lightbox-prev::before {
    transform: translate(-30%, -50%) rotate(-135deg);
}
.lightbox-next::before {
    transform: translate(-70%, -50%) rotate(45deg);
}
@media(max-width: 750px) {
    .lightbox-close {
        bottom: -36px;
        right: 0;
        width: 36px;
        height: 36px;
    }
    .lightbox-prev,
    .lightbox-next {
        width: 35px;
        height: 35px;
        margin-top: -21px;
    }
    .lightbox-prev::before,
    .lightbox-next::before {
        width: 25px;
        height: 25px;
    }
    .lightbox-prev {
        left: 5px;
    }
    .lightbox-next {
        right: 5px;
    }
    .lightbox-inner {
        max-width: 77%;
        width: 100%;
        min-width: 240px;
        max-height: 88vh;
        overflow-y: auto;
    }
    .lightbox-inner img {
        max-height: 60vh;
        min-width: 240px;
    }
    .lightbox-caption {
        margin-top: 12px;
        font-size: 1.2rem;
    }
}
/*
============================================================
========== End 共通ライトボックス（ギャラリー用） ================
============================================================
*/
/*
============================================================
============== End-振袖コレクション ==========================
============================================================
*/
/*
============================================================
================= 振袖写真館　2026.09.05 ====================
============================================================
*/
.photo-gallery-page .gallery {
    padding: 60px 0 40px;
}
.photo-gallery-page .gallery .container {
    max-width: 1120px;
}
.photo-gallery-page .gallery .list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 24px;
}
.photo-gallery-page .gallery .list .item:nth-child(n+41) {
    display: none;
}
.photo-gallery-page .gallery .list.show-all .item {
    display: block;
}
.photo-gallery-page .gallery .list .item {
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
    overflow: hidden;
    background: #fff;
}
.photo-gallery-page .gallery .list .item .img {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    cursor: pointer;
}
.photo-gallery-page .gallery .list .item .img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.photo-gallery-page .gallery .list .item .info {
    padding: 12px 14px 16px;
}
.photo-gallery-page .gallery .list .item .info .text {
    text-align: left;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.7;
    color: #857bb7;
}
.photo-gallery-page .gallery .list .item .info .title,
.photo-gallery-page .gallery .list .item .info .description {
    display: none;
}
.photo-gallery-page .gallery .btn-box {
    text-align: center;
    padding-top: 40px;
}
@media(max-width: 960px) {
    .photo-gallery-page .gallery .list {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media(max-width: 750px) {
    .photo-gallery-page .gallery {
        padding: 35px 0 30px;
    }
    .photo-gallery-page .gallery .list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 15px;
    }
    .photo-gallery-page .gallery .list .item .info .text {
        font-size: 1.25rem;
    }
    .photo-gallery-page .gallery .btn-box {
        padding-top: 25px;
    }
}
.photo-gallery-page.lightbox .lightbox-inner {
    align-items: center;
}
.photo-gallery-page.lightbox .lightbox-caption {
    text-align: left;
    margin-top: 8px;
}
.photo-gallery-page.lightbox .lightbox-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin-top: 16px;
}
.photo-gallery-page.lightbox .lightbox-title {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
}
.photo-gallery-page.lightbox .lightbox-close {
    position: relative;
    bottom: auto;
    right: auto;
    flex-shrink: 0;
}
@media(max-width: 750px) {
    .photo-gallery-page.lightbox .lightbox-title {
        font-size: 1.5rem;
    }
}
/*
============================================================
================= End-振袖写真館 =============================
============================================================
*/
/*
============================================================
================ ママ振りプラン　2026.09.07 ================
============================================================
*/
.mamafuri-plan .arrange-code .sub-title {
    font-size: 3.4rem;
    text-align: center;
    color: #EDC25A;
    line-height: 1.3;
}
.mamafuri-plan .complete-package.arrange-code .content .full-set .inner {
    display: block;
    padding: 65px 60px;
}
.mamafuri-plan .complete-package.arrange-code .content .full-set .coordinate-point ul {
    display: block;
    width: 100%;
}
.mamafuri-plan .arrange-code .before-after {
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
}
.mamafuri-plan .arrange-code .before-after img {
    max-width: 100%;
}
.mamafuri-plan .arrange-code .coordinate-point {
    margin: 45px auto 0;
    max-width: 650px;
}
.mamafuri-plan .arrange-code .coordinate-point .tit {
    text-align: center;
    color: #D47A59;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    margin-bottom: 25px;
}
.mamafuri-plan .complete-package.arrange-code .content .full-set .coordinate-point ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 25px 0;
    width: auto;
}
.mamafuri-plan .arrange-code .coordinate-point ul li:not(:last-child) {
    border-bottom: 1px solid #e27451;
}
.mamafuri-plan .arrange-code .coordinate-point ul li .txt {
    flex: 1;
    text-align: left;
}
.mamafuri-plan .arrange-code .coordinate-point ul li .tag {
    display: inline-block;
    background-color: #D47A59;
    color: #fff;
    font-size: 1.3rem;
    line-height: 1.6;
    white-space: nowrap;
    padding: 2px 12px;
    margin-bottom: 10px;
}
.mamafuri-plan .arrange-code .coordinate-point ul li .heading {
    color: #D47A59;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 8px;
}
.mamafuri-plan .arrange-code .coordinate-point ul li .desc {
    font-size: 1.5rem;
    line-height: 1.7;
    text-align: left;
}
.mamafuri-plan .arrange-code .coordinate-point ul li .photo {
    width: 200px;
    flex-shrink: 0;
}
.mamafuri-plan .arrange-code .coordinate-point ul li .photo img {
    display: block;
    width: 100%;
    height: 140px;
    object-fit: cover;
}
@media(max-width: 750px) {
    .mamafuri-plan .arrange-code .coordinate-point .tit {
        font-size: 2rem;
        margin-bottom: 0;
    }
    .mamafuri-plan .arrange-code .sub-title {
        font-size: 1.8rem;
    }
    .mamafuri-plan .complete-package.arrange-code .content .full-set .inner {
        padding: 30px 20px;
    }
    .mamafuri-plan .arrange-code .coordinate-point {
        margin-top: 30px;
    }
    .mamafuri-plan .complete-package.arrange-code .content .full-set .coordinate-point ul li {
        gap: 15px;
        padding: 18px 0;
    }
    .mamafuri-plan .arrange-code .coordinate-point ul li .tag {
        font-size: 1.1rem;
    }
    .mamafuri-plan .arrange-code .coordinate-point ul li .heading {
        font-size: 1.6rem;
    }
    .mamafuri-plan .arrange-code .coordinate-point ul li .desc {
        font-size: 1.3rem;
        line-height: 1.6;
    }
    .mamafuri-plan .arrange-code .coordinate-point ul li .photo {
        width: 110px;
    }
    .mamafuri-plan .arrange-code .coordinate-point ul li .photo img {
        height: 90px;
    }
}
@media(max-width: 450px) {
    .mamafuri-plan .complete-package.arrange-code .content .full-set .coordinate-point ul li {
        flex-wrap: wrap;
    }
    .mamafuri-plan .arrange-code .coordinate-point ul li .txt {
        flex: 0 0 100%;
        order: 2;
    }
    .mamafuri-plan .arrange-code .coordinate-point ul li .photo {
        width: 100%;
        order: 1;
    }
    .mamafuri-plan .arrange-code .coordinate-point ul li .photo img {
        height: 160px;
    }
}
.mamafuri-plan .arrange-code .custom-order {
    max-width: 650px;
    margin: 50px auto 0;
    background-color: #fff;
    padding: 40px 50px 45px;
}
.mamafuri-plan .arrange-code .custom-order .tit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    color: #e27451;
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.mamafuri-plan .arrange-code .custom-order .tit::before,
.mamafuri-plan .arrange-code .custom-order .tit::after {
    content: '';
    display: block;
    width: 30px;
    height: 46px;
    background: url('../img/mamafuri_plan/icon01.png') center / contain no-repeat;
}
.mamafuri-plan .arrange-code .custom-order .tit::after {
    background-image: url('../img/mamafuri_plan/icon02.png');
}
.mamafuri-plan .arrange-code .custom-order .desc {
    text-align: center;
    color: #e27451;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.8;
    margin-top: 15px;
}
.mamafuri-plan .complete-package.arrange-code .content .full-set .custom-order ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    max-width: 620px;
    margin: 30px auto 0;
    gap: 30px 25px;
}
.mamafuri-plan .complete-package.arrange-code .content .full-set .custom-order ul li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 0 110px;
    width: 110px;
    text-align: center;
}
.mamafuri-plan .arrange-code .custom-order ul li img {
    width: 120px;
    height: 120px;
    object-fit: contain;
}
.mamafuri-plan .arrange-code .custom-order ul li .tag {
    display: inline-block;
    min-width: 90px;
    background-color: #e27451;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.6;
    white-space: nowrap;
    padding: 3px 14px;
    border-radius: 20px;
    margin-top: 10px;
}
.mamafuri-plan .arrange-code .custom-order ul li span:not(.tag) {
    position: absolute;
    right: -40px;
    bottom: -5px;
    color: #e27451;
    font-size: 1.6rem;
    font-weight: 700;
    white-space: nowrap;
}
@media(max-width: 750px) {
    .mamafuri-plan .arrange-code {
        padding-bottom: 60px;
    }
    .mamafuri-plan .arrange-code .custom-order {
        margin-top: 30px;
        padding: 30px 20px 35px;
    }
    .mamafuri-plan .arrange-code .custom-order .tit {
        font-size: 2rem;
        gap: 10px;
    }
    .mamafuri-plan .arrange-code .custom-order .tit::before,
    .mamafuri-plan .arrange-code .custom-order .tit::after {
        width: 20px;
        height: 30px;
    }
    .mamafuri-plan .arrange-code .custom-order .desc {
        font-size: 1.3rem;
    }
    .mamafuri-plan .complete-package.arrange-code .content .full-set .custom-order ul {
        max-width: 360px;
        width: 100%;
        gap: 25px 15px;
        margin-top: 20px;
    }
    .mamafuri-plan .complete-package.arrange-code .content .full-set .custom-order ul li {
        flex: 0 0 calc(50% - 7.5px);
        width: calc(50% - 7.5px);
    }
    .mamafuri-plan .arrange-code .custom-order ul li img {
        width: 100px;
        height: 100px;
    }
    .mamafuri-plan .arrange-code .custom-order ul li .tag {
        font-size: 1.3rem;
        padding: 2px 10px;
    }
    .mamafuri-plan .arrange-code .custom-order ul li span:not(.tag) {
        right: -30px;
        font-size: 1.3rem;
    }
}
.mamafuri-plan .mamafuri-qa {
    padding: 90px 0;
}
.mamafuri-plan .mamafuri-qa .container {
    max-width: 840px;
}
.mamafuri-plan .mamafuri-qa .title-box .title {
    color: #D47A59;
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}
.mamafuri-plan .mamafuri-qa .notice-box {
    padding: 80px 0 20px;
}
.mamafuri-plan .mamafuri-qa .notice-box .content {
    padding: 10px;
    background: #FBDFE4;
}
.mamafuri-plan .mamafuri-qa .notice-box .notice-inner {
    padding: 25px;
    background: #fff;
}
.mamafuri-plan .mamafuri-qa .notice-box .notice-inner .item:not(:first-child) {
    padding-top: 30px;
}
.mamafuri-plan .mamafuri-qa .notice-box .notice-inner .item .title {
    text-align: left;
    font-size: 1.8rem;
    line-height: 1.7;
    font-weight: 700;
    color: #E89CA5;
}
.mamafuri-plan .mamafuri-qa .notice-box .notice-inner .item .desc {
    font-size: 1.5rem;
    line-height: 2;
}
@media(max-width: 750px) {
    .mamafuri-plan .mamafuri-qa {
        padding: 50px 0;
    }
    .mamafuri-plan .mamafuri-qa .title-box .title {
        font-size: 1.8rem;
        margin-bottom: 25px;
    }
    .mamafuri-plan .mamafuri-qa .notice-box {
        padding: 10px 0;
    }
    .mamafuri-plan .mamafuri-qa .notice-box .notice-inner {
        padding: 15px;
    }
    .mamafuri-plan .mamafuri-qa .notice-box .notice-inner .item:not(:first-child) {
        padding-top: 20px;
    }
    .mamafuri-plan .mamafuri-qa .notice-box .notice-inner .item .desc {
        font-size: 1.4rem;
    }
}

/*
============================================================
============== End-ママ振りプラン ==========================
============================================================
*/

/*
============================================================
===================== begin-着付け教室 =========
============================================================
*/
.kitsuke-page .kitsuke-intro {
    position: relative;
    padding: 100px 0 60px;
}
.kitsuke-page .kitsuke-intro .ic {
    position: absolute;
    left: 7%;
    top: 20px;
    width: 250px;
}
.kitsuke-page .kitsuke-intro .container {
    max-width: 750px;
}
.kitsuke-page .kitsuke-intro .title-box {
    position: relative;
}
.kitsuke-page .kitsuke-intro .title-box .title {
    font-size: 3.4rem;
    line-height: 1.55;
    letter-spacing: 0.06em;
    font-weight: 400;
}
.kitsuke-page .kitsuke-intro .desc {
    position: relative;
    text-align: center;
    padding-top: 30px;
    font-size: 1.6rem;
    line-height: 1.9;
}
.kitsuke-page .kitsuke-intro .photo {
    position: relative;
    padding: 45px 20px 0;
}
.kitsuke-page .kitsuke-intro .photo img {
    width: 100%;
    display: block;
}
.kitsuke-page .kitsuke-intro .flower {
    position: absolute;
    right: 12%;
    bottom: 30px;
    width: 110px;
}
@media(max-width: 750px) {
    .kitsuke-page .kitsuke-intro {
        padding: 50px 0 0;
    }
    .kitsuke-page .kitsuke-intro .ic {
        width: 98px;
        left: 10px;
        top: -10px;
    }
    .kitsuke-page .kitsuke-intro .title-box .title {
        font-size: 2.2rem;
        line-height: 1.5;
    }
    .kitsuke-page .kitsuke-intro .desc {
        padding-top: 20px;
        font-size: 1.4rem;
        text-align: left;
    }
    .kitsuke-page .kitsuke-intro .photo {
        width: 100%;
    }
    .kitsuke-page .kitsuke-intro .flower {
        width: 60px;
        right: 0;
        bottom: -5%;
    }
}

.kitsuke-page .kitsuke-video {
    padding: 70px 0;
}
.kitsuke-page .kitsuke-video .inner {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    max-width: 950px;
    margin: 0 auto;
}
.kitsuke-page .kitsuke-video .heading {
    flex: 1;
}
.kitsuke-page .kitsuke-video .heading h3 {
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.kitsuke-page .kitsuke-video .heading p {
    font-size: 1.5rem;
    line-height: 1.9;
}
.kitsuke-page .kitsuke-video .video-card {
    flex: 1;
    max-width: 480px;
    aspect-ratio: 16/9;
}
.kitsuke-page .kitsuke-video .video-card a {
    display: block;
}
.kitsuke-page .kitsuke-video .video-card .thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    overflow: hidden;
    background: linear-gradient(135deg, #C8BFE7 0%, #E8B8C4 100%);
}
.kitsuke-page .kitsuke-video .video-card .channel {
    position: absolute;
    left: 12px;
    top: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.kitsuke-page .kitsuke-video .video-card .channel .avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #E27451;
    flex-shrink: 0;
}
.kitsuke-page .kitsuke-video .video-card .channel .name {
    font-size: 1.2rem;
    line-height: 1.4;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,.4);
}
.kitsuke-page .kitsuke-video .video-card .channel .name small {
    font-size: 1rem;
    opacity: .9;
}
.kitsuke-page .kitsuke-video .video-card .play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 42px;
    border-radius: 8px;
    background: #FF0000;
    display: flex;
    align-items: center;
    justify-content: center;
}
.kitsuke-page .kitsuke-video .video-card .play i {
    width: 0;
    height: 0;
    margin-left: 4px;
    border-style: solid;
    border-width: 9px 0 9px 15px;
    border-color: transparent transparent transparent #fff;
}
.kitsuke-page .kitsuke-video .video-card .watch {
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 50vh;
    background: rgba(0,0,0,.6);
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
}
.kitsuke-page .kitsuke-video .video-card .watch .ic-play {
    width: 16px;
    height: 12px;
    background: #fff;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23.5 6.2c-.3-1.2-1.2-2.1-2.4-2.4C19 3.2 12 3.2 12 3.2s-7 0-9.1.6C1.7 4.1.8 5 .5 6.2 0 8.3 0 12 0 12s0 3.7.5 5.8c.3 1.2 1.2 2.1 2.4 2.4 2.1.6 9.1.6 9.1.6s7 0 9.1-.6c1.2-.3 2.1-1.2 2.4-2.4.5-2.1.5-5.8.5-5.8s0-3.7-.5-5.8zM9.6 15.6V8.4l6.4 3.6-6.4 3.6z"/></svg>') center / contain no-repeat;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23.5 6.2c-.3-1.2-1.2-2.1-2.4-2.4C19 3.2 12 3.2 12 3.2s-7 0-9.1.6C1.7 4.1.8 5 .5 6.2 0 8.3 0 12 0 12s0 3.7.5 5.8c.3 1.2 1.2 2.1 2.4 2.4 2.1.6 9.1.6 9.1.6s7 0 9.1-.6c1.2-.3 2.1-1.2 2.4-2.4.5-2.1.5-5.8.5-5.8s0-3.7-.5-5.8zM9.6 15.6V8.4l6.4 3.6-6.4 3.6z"/></svg>') center / contain no-repeat;
}
@media(max-width: 750px) {
    .kitsuke-page .kitsuke-video {
        padding: 40px 0;
    }
    .kitsuke-page .kitsuke-video .inner {
        flex-direction: column;
        gap: 25px;
    }
    .kitsuke-page .kitsuke-video .heading h3 {
        font-size: 1.9rem;
    }
    .kitsuke-page .kitsuke-video .heading p {
        font-size: 1.4rem;
    }
    .kitsuke-page .kitsuke-video .video-card {
        max-width: 100%;
        width: 100%;
    }
}

.kitsuke-page .kitsuke-detail {
    padding: 60px 0;
}
.kitsuke-page .kitsuke-detail .title-box .title {
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}
.kitsuke-page .kitsuke-detail .detail-table {
    max-width: 800px;
    margin: 40px auto 0;
}
.kitsuke-page .kitsuke-detail .detail-table .row {
    display: flex;
    gap: 30px;
    padding: 15px 0;
    border-bottom: 1px dashed #4d4d4d;
}
.kitsuke-page .kitsuke-detail .detail-table dt {
    flex-shrink: 0;
    width: 22%;
    font-weight: 700;
    color: #837BB3;
    letter-spacing: 0.05em;
}
.kitsuke-page .kitsuke-detail .detail-table dd {
    font-size: 1.5rem;
    line-height: 1.8;
}
.kitsuke-page .kitsuke-detail .detail-table dd a {
    color: #00719f;
    text-decoration: underline;
}
.kitsuke-page .kitsuke-detail .detail-table dd span {
    font-size: 1.4rem;
}
@media(max-width: 750px) {
    .kitsuke-page .kitsuke-detail {
        padding: 40px 0 0;
    }
    .kitsuke-page .kitsuke-detail .title-box .title {
        font-size: 2.2rem;
    }
    .kitsuke-page .kitsuke-detail .detail-table {
        margin-top: 10px;
    }
    .kitsuke-page .kitsuke-detail .detail-table .row {
        flex-direction: column;
        gap: 8px;
        padding: 16px 0;
    }
    .kitsuke-page .kitsuke-detail .detail-table dt {
        width: 100%;
    }
    .kitsuke-page .kitsuke-detail .detail-table dd {
        font-size: 1.4rem;
    }
}

.kitsuke-page .kitsuke-photos {
    padding: 0 0 100px;
    text-align: center;
}
.kitsuke-page .kitsuke-photos .photos {
    position: relative;
    max-width: 770px;
    margin: 0 auto;
}
.kitsuke-page .kitsuke-photos .photos img:first-child {
    width: 100%;
    display: block;
}
.kitsuke-page .kitsuke-photos .photos .deco {
    position: absolute;
    right: 12%;
    bottom: -35px;
    width: 90px;
}
.kitsuke-page .kitsuke-photos .desc {
    padding-top: 60px;
    font-size: 1.5rem;
    line-height: 1.9;
}
.kitsuke-page .kitsuke-photos .highlight {
    padding-top: 10px;
    font-size: 2.6rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.kitsuke-page .kitsuke-photos .txt-box {
    padding-top: 30px;
}
@media(max-width: 750px) {
    .kitsuke-page .kitsuke-photos {
        padding: 40px 0 60px;
    }
    .kitsuke-page .kitsuke-photos .photos .deco {
        width: 55px;
        right: 5%;
        bottom: -20px;
    }
    .kitsuke-page .kitsuke-photos .desc {
        padding-top: 40px;
        font-size: 1.4rem;
        text-align: left;
    }
    .kitsuke-page .kitsuke-photos .highlight {
        font-size: 1.9rem;
    }
}
/*
============================================================
===================== End-着付け教室 =========
============================================================
*/

/*
============================================================
===================== begin-おでかけ =========
============================================================
*/
.odekake-page .odekake-intro {
    position: relative;
    padding: 100px 0 40px;
    /* overflow: hidden; */
}
.odekake-page .odekake-intro .ic {
    position: absolute;
    left: 2%;
    top: 10px;
    width: 220px;
}
.odekake-page .odekake-intro .container {
    max-width: 690px;
}
.odekake-page .odekake-intro .title-box {
    position: relative;
}
.odekake-page .odekake-intro .title-box .title {
    font-size: 3.4rem;
    font-weight: 400;
    letter-spacing: 0.08em;
}
.odekake-page .odekake-intro .desc {
    position: relative;
    max-width: 620px;
    margin: 0 auto;
    text-align: center;
    padding-top: 20px;
    font-size: 1.6rem;
    line-height: 1.9;
}
.odekake-page .odekake-intro .photos {
    position: relative;
    margin-top: 45px;
}
.odekake-page .odekake-intro .photos .main img {
    width: 100%;
    display: block;
}
.odekake-page .odekake-intro .photos .row {
    position: relative;
    display: flex;
    gap: 20px;
    margin-top: 20px;
}
.odekake-page .odekake-intro .photos .row img {
    width: calc(50% - 10px);
    display: block;
    object-fit: cover;
}
.odekake-page .odekake-intro .flower {
    position: absolute;
    right: 12%;
    bottom: 20%;
    /* transform: translateY(-50%); */
    width: 110px;
}
.odekake-page .odekake-intro .caption {
    padding-top: 35px;
    font-size: 1.5rem;
    line-height: 1.9;
}
@media(max-width: 750px) {
    .odekake-page .odekake-intro {
        padding: 60px 0 30px;
    }
    .odekake-page .odekake-intro .ic {
        width: 110px;
        left: 10px;
        top: -10px;
    }
    .odekake-page .odekake-intro .title-box .title {
        font-size: 2.2rem;
    }
    .odekake-page .odekake-intro .desc {
        padding-top: 15px;
        font-size: 1.4rem;
        text-align: left;
    }
    .odekake-page .odekake-intro .photos {
        margin-top: 30px;
    }
    .odekake-page .odekake-intro .photos .row {
        gap: 10px;
        margin-top: 10px;
    }
    .odekake-page .odekake-intro .photos .row img {
        width: 50%;
    }
    .odekake-page .odekake-intro .flower {
        right: -10px;
        top: auto;
        bottom: -25px;
        transform: none;
        width: 60px;
    }
    .odekake-page .odekake-intro .caption {
        padding-top: 25px;
        font-size: 1.4rem;
        text-align: left;
    }
}

.odekake-page .odekake-detail {
    padding: 70px 0 100px;
    text-align: center;
}
.odekake-page .odekake-detail .title-box .title {
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}
.odekake-page .odekake-detail .lead {
    padding-top: 20px;
    font-size: 1.5rem;
    font-weight: 700;
}
.odekake-page .odekake-detail .lead a {
    color: #00719f;
    text-decoration: underline;
}
.odekake-page .odekake-detail .highlight {
    padding-top: 40px;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.6;
}
.odekake-page .odekake-detail .txt-box {
    padding-top: 30px;
}
@media(max-width: 750px) {
    .odekake-page .odekake-detail {
        padding: 20px 0 60px;
    }
    .odekake-page .odekake-detail .title-box .title {
        font-size: 2.2rem;
    }
    .odekake-page .odekake-detail .lead {
        font-size: 1.4rem;
    }
    .odekake-page .odekake-detail .highlight {
        padding-top: 35px;
        font-size: 1.8rem;
    }
}
/*
============================================================
===================== End-おでかけ =========
============================================================
*/

/*
============================================================
===================== begin-Blog一覧 =========
============================================================
*/
.blog-page .page-banner-simple {
    background: rgb(131, 123, 179, 0.1);
    padding: 55px 0 45px;
    text-align: center;
}
.blog-page .page-banner-simple .title-box .title {
    font-size: 4.6rem;
    font-weight: 400;
    letter-spacing: 0.06em;
}
.blog-page .page-banner-simple .title-box .sub {
    padding-top: 8px;
    font-size: 1.8rem;
    letter-spacing: 0.14em;
    color: #837BB3;
}
.blog-page .blog-breadcrumb {
    padding: 22px 0 0;
}

.blog-page .blog-list-section {
    padding: 45px 0 100px;
}
.blog-page .blog-list-section .layout {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 50px;
}
.blog-page .blog-list-section .main {
    width: 725px;
    flex-shrink: 0;
    min-width: 0;
}
.blog-page .blog-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 17px 17px;
}
.blog-page .blog-cards .card {
    display: block;
    height: 100%;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, .16);
    padding: 8% 8% 7%;
    color: initial;
    transition: .25s;
}
.blog-page .blog-cards .thumb {
    aspect-ratio: 1 / 1;
    overflow: hidden;
}
.blog-page .blog-cards .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.blog-page .blog-cards .body {
    padding-top: 20px;
}
.blog-page .blog-cards .title {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6;
    color: #000;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.blog-page .blog-cards .date {
    padding-top: 16px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #000;
}
.blog-page .blog-cards .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding-top: 14px;
}
.blog-page .blog-cards .tags span {
    background: #d7d7d7;
    border-radius: 50vh;
    padding: 5px 16px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #000;
    line-height: 1.3;
}
@media (hover: hover) {
    .blog-page .blog-cards .card:hover {
        box-shadow: 0 10px 28px rgba(0, 0, 0, .14);
        transform: translateY(-4px);
    }
}

.blog-page .pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding-top: 50px;
}
.blog-page .pagination ul {
    display: flex;
    align-items: center;
    gap: 25px;
    font-size: 1.6rem;
}
.blog-page .pagination li a,
.blog-page .pagination li.dots {
    font-size: 1.6rem;
    font-weight: 700;
    color: #333;
}
.blog-page .pagination li.active a {
    color: #837BB3;
}
.blog-page .pagination .arrow {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #857BB7;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.blog-page .pagination .arrow i {
    width: 9px;
    height: 9px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    display: block;
}
.blog-page .pagination .arrow.prev i {
    transform: rotate(-135deg);
    margin-right: -3px;
}
.blog-page .pagination .arrow.next i {
    transform: rotate(45deg);
    margin-left: -3px;
}
@media (hover: hover) {
    .blog-page .pagination .arrow:hover {
        opacity: .7;
    }
}

.blog-page .sidebar {
    width: 210px;
    flex-shrink: 0;
}
.blog-page .sidebar .box {
    margin-bottom: 40px;
}
.blog-page .sidebar .box-title {
    background: #857BB7;
    color: #fff;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 5px;
    letter-spacing: 0.05em;
    line-height: 1.5;
}
.blog-page .sidebar ul li a {
    display: block;
    color: initial;
}
.blog-page .sidebar > .box > ul > li {
    border-bottom: 1px dashed #ccc;
    padding: 10px 0 7px;
}
.blog-page .sidebar .meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 1.2rem;
}
.blog-page .sidebar .meta .tag {
    background: #d7d7d7;
    border-radius: 50vh;
    padding: 7px 14px;
    font-size: 1.2rem;
    line-height: 1.2;
}
.blog-page .sidebar .box > ul > li .title {
    padding-top: 8px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: left;
    letter-spacing: -.02em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.blog-page .sidebar .category-list li {
    padding: 10px 0;
    font-size: 1.5rem;
    font-weight: 500;
}

@media(max-width: 900px) {
    .blog-page .blog-list-section .layout {
        flex-direction: column;
    }
    .blog-page .blog-list-section .main {
        width: 100%;
    }
    .blog-page .sidebar {
        width: 100%;
    }
}
@media(max-width: 750px) {
    .blog-page .page-banner-simple {
        padding: 35px 0 25px;
    }
    .blog-page .page-banner-simple .title-box .title {
        font-size: 3rem;
    }
    .blog-page .page-banner-simple .title-box .sub {
        font-size: 1.4rem;
    }
    .blog-page .blog-list-section {
        padding: 30px 0 60px;
    }
    .blog-page .blog-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 12px;
    }
    .blog-page .blog-cards .card {
        padding: 8%;
    }
    .blog-page .blog-cards .body {
        padding-top: 14px;
    }
    .blog-page .blog-cards .title {
        font-size: 1.3rem;
    }
    .blog-page .blog-cards .date {
        padding-top: 10px;
        font-size: 1.2rem;
    }
    .blog-page .blog-cards .tags span {
        font-size: 1.1rem;
        padding: 2px 8px;
    }
    .blog-page .pagination {
        gap: 12px;
        padding-top: 30px;
    }
    .blog-page .pagination ul {
        gap: 10px;
    }
    .blog-page .pagination .arrow {
        width: 34px;
        height: 34px;
    }
    .blog-page .sidebar .box {
        margin-bottom: 25px;
    }
}
/*
============================================================
===================== End-Blog一覧 =========
============================================================
*/

/*
============================================================
===================== Begin-Blog詳細 =========
============================================================
*/
.blog-page .blog-detail-section {
    padding: 45px 0 100px;
}
.blog-page .blog-detail-section .layout {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 50px;
}
.blog-page .blog-detail-section .main {
    width: 725px;
    flex-shrink: 0;
    min-width: 0;
}

.blog-detail-page .article-head .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.blog-detail-page .article-head .tags span {
    background: #857BB7;
    color: #fff;
    border-radius: 50vh;
    padding: 5px 16px;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.3;
}
.blog-detail-page .article-head .title {
    padding-top: 16px;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.02em;
    text-align: left;
}
.blog-detail-page .article-head .date {
    padding-top: 12px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #666;
}
.blog-detail-page .eyecatch {
    margin-top: 25px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 4px;
}
.blog-detail-page .eyecatch img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.blog-detail-page .article-body {
    padding-top: 35px;
    font-size: 1.6rem;
    line-height: 2.125;
    letter-spacing: 0.06em;
}
.blog-detail-page .article-body > p {
    margin-bottom: 30px;
}
.blog-detail-page .article-body img {
    max-width: 100%;
    width: 100%;
    display: block;
    margin-bottom: 30px;
    border-radius: 4px;
}
.blog-detail-page .article-body h2 {
    color: #837BB3;
    font-size: 2.6rem;
    line-height: 1.5;
    font-weight: 500;
    padding-top: 10px;
    padding-left: 14px;
    margin-bottom: 25px;
    position: relative;
}
.blog-detail-page .article-body h2::before {
    content: '';
    position: absolute;
    width: 5px;
    height: 26px;
    background: #857BB7;
    left: 0;
    top: 50%;
    margin-top: -13px;
}
.blog-detail-page .article-body h3 {
    color: #837BB3;
    font-size: 2.2rem;
    line-height: 1.5;
    font-weight: 500;
    padding-bottom: 8px;
    margin-bottom: 20px;
    border-bottom: 1px dotted #857BB7;
}
.blog-detail-page .article-body h4 {
    color: #837BB3;
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 15px;
}
.blog-detail-page .article-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding-top: 45px;
}
.blog-detail-page .article-nav .prev,
.blog-detail-page .article-nav .next {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #333;
}
.blog-detail-page .article-nav .next {
    flex-direction: row-reverse;
}
.blog-detail-page .article-nav i {
    width: 8px;
    height: 8px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    display: block;
}
.blog-detail-page .article-nav .prev i {
    transform: rotate(-135deg);
}
.blog-detail-page .article-nav .next i {
    transform: rotate(45deg);
}
.blog-detail-page .article-nav .back {
    background: #857BB7;
    color: #fff;
    border-radius: 50vh;
    padding: 10px 28px;
    font-size: 1.4rem;
    font-weight: 500;
}

@media(max-width: 900px) {
    .blog-page .blog-detail-section .layout {
        flex-direction: column;
    }
    .blog-page .blog-detail-section .main {
        width: 100%;
    }
}
@media(max-width: 750px) {
    .blog-page .blog-detail-section {
        padding: 30px 0 60px;
    }
    .blog-detail-page .article-head .title {
        font-size: 1.8rem;
        padding-top: 12px;
    }
    .blog-detail-page .eyecatch {
        margin-top: 18px;
        aspect-ratio: 4 / 3;
    }
    .blog-detail-page .article-body {
        padding-top: 25px;
        font-size: 1.4rem;
        line-height: 2;
    }
    .blog-detail-page .article-body h2 {
        font-size: 1.8rem;
        padding-top: 5px;
        padding-left: 10px;
        margin-bottom: 18px;
    }
    .blog-detail-page .article-body h2::before {
        height: 18px;
        margin-top: -9px;
    }
    .blog-detail-page .article-body h3 {
        font-size: 1.6rem;
        margin-bottom: 15px;
    }
    .blog-detail-page .article-body h4 {
        font-size: 1.5rem;
        margin-bottom: 12px;
    }
    .blog-detail-page .article-nav {
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
    }
}
/*
============================================================
===================== End-Blog詳細 =========
============================================================
*/

/*
============================================================
===================== Begin-btn-sidebar ===================
============================================================
*/
.btn-sidebar{
    position: fixed;
    top: 50%;
    margin-top: -160px;
    right: 0;
    text-align: right;
    z-index: 100;
    min-width: 55px;
    line-height: 0;
    display: none;
}
.btn-sidebar li:first-child {
    margin-top: 0;
}
.btn-sidebar a{
    font-family: 'Noto Sans JP', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    background: #e782a4;
    border-radius: 15px 0 0 15px;
    color: #fff;
    font-size: 1.7rem;
    text-align: center;
    padding: 20px 10px 30px;
    line-height: 1.75;
    font-weight: 500;
    transition: .3s;
    align-items: center;
    display: inline-flex;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: 0.08em;
    border-right: none;
    position: relative;
    justify-content: center;
    align-items: center;
    gap: 5px;
}
.btn-sidebar a .ic-email{
    width: 23px;
    height: 15px;
    flex-shrink: 0;
    background: url('../img/ic-email-tr.png') no-repeat center / contain;
}
.btn-sidebar a  .ic-wallet {
    width: 22px;
    height: 24px;
    flex-shrink: 0;
    background: url('../img/ic-wallet.png') no-repeat center / contain;
}

.btn-sidebar .btn-sidebar-bg-1 {
    background: #e89ca5;
}
.btn-sidebar ul {
    display: flex;
    flex-direction: column-reverse;
}

@media(max-width: 750px){
    .btn-sidebar {
        top: unset;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        min-width: unset;
        margin:0;
    }
    .btn-sidebar ul {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row-reverse;
        width: 100%;
    }
    .btn-sidebar a {
        border-radius: 0;
        font-size: 1.5rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0;
        width: 100%;
        height: 100%;
        -ms-writing-mode: unset;
        -webkit-writing-mode: unset;
        writing-mode: unset;
        line-height: 1;
        padding: 15px 5px;
        background: #e89ca5;
    }
    .btn-sidebar .btn-sidebar-bg-1 {
        background: #e782a4;
    }
    .btn-sidebar span {
        margin: 0 !important;
        position: static;
        display: inline-block;
    }
    .btn-sidebar li {
        margin-top: 0;
        width: 50%;
    }
    .btn-sidebar a::after{
        left: unset;
        right: 0px;
        bottom: 10px;
    }
    .btn-sidebar li:last-child{
        margin-bottom: 0;
    }

    .btn-sidebar a  .ic-wallet {
        width: 18px;
        height: 20px;
    }
   
}
/*
============================================================
===================== End-btn-sidebar =====================
============================================================
*/

/* Begin home-personal-color ============================================== */
.home .furisode-collection .personal-qa {
    padding-top: 50px;
    position: relative;
    z-index: 11;
    margin-top: 55px;
    margin-bottom: 0;
    width: 100%;
    background: unset;
}
.home .furisode-collection .personal-qa::before {
    content: unset;
}

.home .furisode-collection .personal-qa .question-box .inner {
    padding: 55px 20px 63px;
}

.home .furisode-collection .personal-qa .personal-color {
    position: absolute;
    top: -16px;
    right: -60px;
    width: 100px;
    height: 100px;
    animation: personalColorSpin 12s linear infinite;
    transform-origin: center;
    will-change: transform;
}
.home .furisode-collection .personal-qa .personal-bg {
    position: absolute;
    z-index: 2 ;
}
.home .furisode-collection .personal-qa .personal-img-sp{
    display: none;
}
.home .furisode-collection .personal-qa .personal-bg-01 {
    top: -16%;
    left: -10%;
    width: 143px;
}
.home .furisode-collection .personal-qa .personal-bg-02 {
    top: 7%;
    right: -9%;
    width: 141px;
}
.home .furisode-collection .personal-qa .personal-bg-03 {
    top: 13%;
    left: -31%;
    width: 121px;
}
.home .furisode-collection .personal-qa .personal-bg-04 {
    top: -17%;
    right: -30%;
    width: 130px;
}
.personal-popup {
    position: fixed;
    left: 30px;
    right: 30px;
    top: 60px;
    bottom: 60px;
    z-index: 1000;
    overflow-y: auto;
    display: none;
}
.personal-popup::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
}
.personal-popup .inner-box {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(850px, 100%);
    max-height: calc(100vh - 150px);
    overflow-y: auto;
    transform: translate(-50%, -50%);
    max-width: 850px;
    margin: 0 auto;
    z-index: 1;
    background: #fff;
    border: 1px solid #df809c;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}
.personal-popup .inner {
    display: flex;
    flex-wrap: wrap;
    padding: 50px 80px 50px 50px;
    gap: 55px;
}
.personal-popup .inner .img {
    width: 30%;
    z-index: 2;
}
.personal-popup .inner .img .img-wrap {
    display: inline-block;
    position: relative;
}
.personal-popup .inner .img .img-wrap img {
    position: relative;
    z-index: 2;
}
.personal-popup .inner .img .img-wrap::before {
    position: absolute;
    content: "";
    top: -35px;
    left: -35px;
    width: 59px;
    height: 65px;
    background: url(../img/personal-color/ic-result-summary-01.png) no-repeat center / cover;
    z-index: 1;
}
.personal-popup .inner .img .img-wrap::after {
    position: absolute;
    content: "";
    right: -58px;
    bottom: -23px;
    width: 113px;
    height: 113px;
    background: url(../img/personal-color/ic-result-summary-02.png) no-repeat center / cover;
    z-index: 1;
}
.personal-popup .inner .content {
    flex: 1;
}
.personal-popup .inner .content .heading .sub {
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0.096em;
    font-weight: 400;
}
.personal-popup .inner .content .heading .title {
    padding-top: 13px;
    text-align: left;
    font-size: 2.9rem;
    line-height: 1;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #df809c;
}
.personal-popup .inner .content .detail .desc {
    padding-top: 10px;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.096em;
    font-weight: 400;
}
.personal-popup .inner .content .txt-box {
    padding-top: 20px;
    text-align: center;
}
.personal-popup .inner .content .txt-box .btn.lg {
    font-size: 1.6rem;
}
.personal-popup .inner .content .txt-box .btn.sm {
    font-size: 1.5rem;
}
.personal-popup .txt-box .btn.reload {
    margin-top: 10px;
    background: #fff;
    color: #e0809d;
    min-width: 235px;
    padding: 15px;
    border: 1px solid #e0809d;
}
.personal-popup .title-box .title {
    display: inline-block;
    position: relative;
    font-size: 2.8rem;
    line-height: 2;
    letter-spacing: 0.01em;
    font-weight: 400;
}
.personal-popup .title-box .title::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -30px;
    width: 18px;
    height: 33px;
    background: url(../img/personal-color/ic-title-l.png) no-repeat center / cover;
    background-size: 18px 33px;
}
.personal-popup .title-box .title::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -30px;
    width: 18px;
    height: 33px;
    background: url(../img/personal-color/ic-title-r.png) no-repeat center / cover;
    background-size: 18px 33px;
}
.personal-popup .txt-box {
    padding-top: 17px;
    text-align: center;
}
.personal-popup .txt-box .btn {
    font-size: 1.7rem;
    line-height: 1.23;
    letter-spacing: 0.08em;
    font-weight: 400;
    color: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background: #e1809e;
    padding: 20px 35px;
}
.personal-popup .txt-box .btn .ic-email {
    width: 23px;
    height: 15px;
    flex-shrink: 0;
    background: url('../img/ic-email-tr.png') no-repeat center / contain;
}
.personal-popup .txt-box .btn .ic-reload {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background: url('../img/ic-reload.png') no-repeat center / contain;
}
.personal-popup .btn-close {
    position: sticky;
    top: 14px;
    margin-left: auto;
    margin-right: 12px;
    width: 40px ;
    height: 40px;
    border-radius: 50%;
    background: #cecece;
    z-index: 2;
}
.personal-popup .btn-close:hover {
    cursor: pointer;
}
.personal-popup .btn-close::before,
.personal-popup .btn-close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 1px;
    background: #222;
}
.personal-popup .btn-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.personal-popup .btn-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
@media (max-width: 960px) {
    .home .furisode-collection .personal-qa .personal-bg-01 {
        left: 4%;
        width: 130px;
        top: 51px;
    }
    .home .furisode-collection .personal-qa .personal-bg-04 {
        right: -9%;
        width: 130px;
        top: 51px;
    }
    .home .furisode-collection .personal-qa .personal-bg-02 {
        right: 5%;
        width: 130px;
        top: 100px;
    }
    .home .furisode-collection .personal-qa .personal-bg-03 {
        left: -9%;
        width: 120px;
        top: 100px;
    }
}
@media (max-width: 750px) {

    .home .furisode-collection .personal-qa {
        margin-top: 0;
        padding-bottom: 100px;
    }

     .home .furisode-collection .personal-qa .personal-color {
        width: 106px;
        height: 106px;
        top: -53px;
        right: 0;
    }
    .home .furisode-collection .personal-qa .personal-bg {
        position: unset;
    }
    .personal-qa .question-box .inner .bg {
        text-align: center;
        display: flex;
        justify-content: center;
        gap: 0;
        margin: 0 -32px;
        transform: translateY(20px);
        align-items: flex-start;
    }
    .home .furisode-collection .personal-qa .question-box .inner {
        padding: 55px 15px 0;
    }
    .personal-qa .question-box .inner .bg .personal-bg {
        width: 25%;
        height: auto;
        flex-shrink: 0;
    }
     .personal-qa .question-box .inner .bg .personal-bg:nth-child(odd) {
        transform: translateY(20px);
    }

    .personal-popup .inner {
        display: flex;
        flex-wrap: wrap;
        padding: 20px;
        gap: 20px;
    }
    .personal-popup .inner .img {
        width: 100%;
        text-align: center;
    }
    .personal-popup .inner .img img {
        max-width: 220px;
    }
    .personal-popup .inner .content {
        flex: 1;
    }
    .personal-popup .inner .img .img-wrap::after {
        right: -35px;
        bottom: -23px;
        width: 80px;
        height: 81px;
    }

    .personal-popup .inner .content .heading .title {
        font-size: 2.4rem;
        line-height: 1.5;
    }

    .personal-popup .inner .content .heading .sub {
        font-size: 1.4rem;
        text-align: center;
    }

    .personal-popup .inner .content .detail .desc {
        font-size: 1.4rem;
        line-height: 1.8;
    }
}

/*
============================================================    
===================== Begin-Personal-Color =================
============================================================
*/

/* ===================== Begin-personal-color-page-banner =================== */
.personal-color .page-banner .title-box .sub {
    font-size: 2rem;
    line-height: 1.55;
    letter-spacing: 0.1em;
    font-weight: 400;
}
.personal-color .page-banner .container {
    max-width: 990px;
}
.personal-color .page-banner .content .banner-title {
    position: absolute;
    left: -8px;
    right: 0;
    bottom: 40px;
    color: #E79BA4;
    writing-mode: unset;
    font-size: clamp(3.48rem, 6.1667vw, 8.88rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em;
    white-space: nowrap;
}
.personal-color .page-banner::before {
    background: linear-gradient(to right,
            rgba(249, 215, 225, 0.69) 0%,
            rgba(249, 215, 225, 0.35) 100%
            );
}
.personal-color .page-banner .content .inner {
    max-width: 880px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    padding: 50px 0 95px;
}
.personal-color .page-banner .content .inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('../img/personal-color/bg-personal-color-01.png') no-repeat;
    background-size: 100% 100%;
    z-index: -1;
}
.personal-color .page-banner .content .inner ul {
    display: flex;
}
.personal-color .page-banner .content .inner ul li {
    width: 25%;
}
@media (max-width: 750px) {
    .personal-color .page-banner .title-box .sub {
        font-size: 1.6rem;
    }
    .personal-color .page-banner .title-box .title {
        font-size: 3.2rem;
    }
    .personal-color .page-banner .content .inner {
        padding: 20px 0 35px;
    }
    .personal-color .page-banner .content .banner-title {
        position: absolute;
        left: -2px;
        right: 0;
        top: unset;
        bottom: 0;
    }
}
/* ===================== End-personal-color-page-banner =================== */
.personal-color .furisode-consult {
    padding: 50px 0 0;
}
.personal-color .furisode-consult .container {
    max-width: 990px;
}
.personal-color .furisode-consult .title-box .title{
    font-size: 3.2rem;
    line-height: 1.78;
    letter-spacing: 0.1em;
    font-weight: 400;
}
.personal-color .furisode-consult .content {
    padding-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 35px;
}
.personal-color .furisode-consult .content .img {
    position: relative;
    width: 47%;
}
.personal-color .furisode-consult .content .img::before {
    content: "";
    position: absolute;
    top: -90px;
    left: -90px;
    width: 138px;
    height: 150px;
    background: url('../img/personal-color/ic-furisode-consult-01.png') no-repeat;
    background-size: 100% auto;
    z-index: -1;
}
.personal-color .furisode-consult .content .desc {
    padding-top: 30px;
    flex: 1;
    font-size: 1.6rem;
    line-height: 1.9;
    letter-spacing: 0.01em;
    font-weight: 400;
    font-family: 'NotoSansCJKjp-Regular', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}

@media(max-width: 750px) {
    .personal-color .furisode-consult .content {
        padding-top: 8px;
        flex-direction: column-reverse;
        gap: 30px;
    }
    .personal-color .furisode-consult .content .img {
        width: 100%;
    }
     .personal-color .furisode-consult .content .img {
        max-width: 80%;
        margin: 0 auto;
    }
    .personal-color .furisode-consult .content .desc {
        padding-top: 0;
        flex: auto;
        font-size: 1.4rem;
        line-height: 2;
        letter-spacing: 0.08em;
    }
    .personal-color .furisode-consult .content .img::before {
        top: -40px;
        left: -45px;
        width: 78px;
        height: 85px;
    }
    .personal-color .furisode-consult .title-box .title {
        font-size: 2.8rem;
        line-height: 1.74;
        letter-spacing: 0.05em;
    }
}

@media(max-width: 460px) {
    .personal-color .furisode-consult .content .img {
        max-width: 75%;
    }
}
/* ===================== Begin-furisode-consult ================= */


/* ===================== Begin-furisode-consult ================= */
.personal-color .container {
    max-width: 990px;
}
.personal-qa {
    margin-top: 200px;
    margin-bottom: 125px;
    width: 100%;
    padding-bottom: 120px;
    background: url(../img/reason-page/why-choose-us/bg-why-choose-us-01-main.png);
    background-position: center;
    position: relative;
    z-index: -1;
}

.personal-qa::before {
    content: "";
    position: absolute;
    height: 200px;
    background: url(../img/reason-page/why-choose-us/bg-why-choose-us-01-main.png);
    background-position: center;
    left: 0;
    right: 0;
    top: -108px;
    z-index: -1;
    clip-path: ellipse(57% 100% at 50% 102%);
}

.personal-qa .title-box {
    position: relative;
}
.personal-qa .title-box .title {
    font-size: 3.58rem;
    line-height: 1.1;
    letter-spacing: 0.01em;
    font-weight: 400;
}
.personal-qa .title-box.ic-positon::before {
    content: "";
    position: absolute;
    width: 234px;
    height: 234px;
    background: url(../img/reason-page/why-choose-us/ic-why-choose-us-01.png);
    background-size: cover;
    z-index: -1;
    top: -105px;
    right: min(0px, max(-11%, calc((1266px - 100vw) / 2)));
    z-index: -1;
}
.personal-qa.is-result .title-box.ic-positon::before {
    content: "";
    position: absolute;
    width: 183px;
    height: 197px;
    background: url(../img/personal-color/ic-personal-qa-result.png);
    background-size: cover;
    z-index: -1;
    top: -120px;
    right: min(0px, max(-8%, calc((1266px - 100vw) / 2)));
    z-index: -1;
}
.personal-qa .title-box .sub {
    padding-top: 20px;
    font-size: 1.6rem;
    line-height: 3.05;
    letter-spacing: 0.01em;
    font-weight: 400;
}
.personal-qa .question-box {
    position: relative;
    max-width: 740px;
    margin: 0 auto;
    padding-top: 20px;
}
.personal-qa .question-box .inner {
    position: relative;
    padding: 35px 20px 63px;
    background: url('../img/personal-color/bg-question-box-01.png') no-repeat center / cover;
    background-size: 100% 100%;
    box-shadow: 0 0 6px rgba(197, 145, 215, 0.15);
    border-radius: 30px;
}
.personal-qa .question-box .inner .heading {
    text-align: center;
}
.personal-qa .question-box .inner .heading .title {
    padding-top: 5px ;
    font-size: 3.2rem;
    line-height: 0.96;
    letter-spacing: 0.2em;
    font-weight: 700;
    color: #df809c;
}
.personal-qa .question-box .inner .heading .sub {
    font-size: 1.6rem;
    line-height: 1.9;
    letter-spacing: 0.2em;
    font-weight: 700;
    color: #df809c;
}
.personal-qa .question-box .inner .question .title {
    padding-top: 38px;
    font-size: 2rem;
    line-height: 1.75;
    letter-spacing: 0.096em;
    font-weight: 400;
    color: #857bb7;
}
.answers {
    padding-top: 15px;
    text-align: center;
}
.answers .btn {
    padding: 25px 0;
    text-align: left;
    min-width: 400px;
    padding: 20px;
    color: #000;
    background-color: #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
    font-size: 1.6rem;
    line-height: 1;
}
.answers .btn::before {
    content: unset;
}
.answers .btn::after {
    content: "";
    position: absolute;
    top: 53%;
    right: 20px;
    width: 10px;
    height: 10px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: translateY(-50%) rotate(45deg); 
}

@media(max-width: 750px) {
    .personal-qa {
        margin-top: 150px;
        margin-bottom: 65px;
        padding-bottom: 60px;
    }
    .personal-qa .title-box::before {
        width: 130px;
        height: 130px;
        top: -140px;
        right: 50px;
    }
    .personal-qa .title-box .title {
        font-size: 2.8rem;
        line-height: 1.6;
    }
   
    .personal-qa .title-box .sub {
        font-size: 1.4rem;
        line-height: 2;
    }
    .personal-qa::before {
        top: -50px;
        height: 70px;
    }
    .personal-qa .question-box .inner .heading .title {
        font-size: 3rem;
    }
    .personal-qa .question-box .inner .question .title {
        padding-top: 30px;
        font-size: 1.6rem;
        letter-spacing: 0.096em;
        line-height: 1.75;
    }
    .answers .btn {
        min-width: 290px;
        font-size: 1.5rem;
    }
    .personal-qa {
        margin-top: 120px;
        background: url(../img/personal-color/bg-personal-qa-sp-01.png) repeat center;
    }
    .personal-qa::before {
        background: url(../img/personal-color/bg-personal-qa-sp-01.png) repeat center   ;
    }
    .personal-qa.is-result .title-box.ic-positon::before {
        width: 79px;
        height: 85px;
        top: -80px;
    }
      .personal-qa .question-box .inner {
        background: url('../img/personal-color/bg-question-box-sp-01.png') repeat;
        background-size: contain;
        background-position: top center;
    }
}
@media(max-width: 460px) {
    .personal-qa .title-box .sub,
    .personal-qa .question-box .inner .question .title {
        text-align: left;
    }
    .personal-qa .title-box.ic-positon::before {
        width: 80px;
        height: 80px;
        top: -80px;
    }
   
    .answers .btn {
        min-width: 100%;
    }
}
.personal-qa .result-box {
    padding-top: 50px;
}
.personal-qa .result-box .inner-box {
    width: 100%;
    background: #fff;
    border: 1px solid #df809c;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
    padding-top: 30px;
}
.personal-qa .result-box .inner-box > .title-box .title {
    display: inline-block;
    position: relative;
    font-size: 2.8rem;
    line-height: 2;
    letter-spacing: 0.01em;
    font-weight: 400;
}
.personal-qa .result-box .inner-box > .title-box .title.ic-positon-02::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -30px;
    width: 18px;
    height: 33px;
    background: url('../img/personal-color/ic-title-l.png') no-repeat center / cover;
    background-size: 18px 33px;
}
.personal-qa .result-box .inner-box > .title-box .title.ic-positon-02::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -30px;
    width: 18px;
    height: 33px;
    background: url('../img/personal-color/ic-title-r.png') no-repeat center / cover;
    background-size: 18px 33px;
}
.personal-qa .result-box .inner-box .result-summary .inner {
    display: flex;
    flex-wrap: wrap;
    padding: 50px 45px 20px 84px;
    gap: 87px;
}
.personal-qa .result-box .inner-box .result-summary .inner .img {
    width: 30%;
    z-index: 2;
}
.personal-qa .result-box .inner-box .result-summary .inner .img .img-wrap {
    display: inline-block;
    position: relative;
}
.personal-qa .result-box .inner-box .result-summary .inner .img img {
    position: relative;
    z-index: 2;
}
.personal-qa .result-box .inner-box .result-summary .inner .img .img-wrap::before {
    position: absolute;
    content: "";
    top: -35px;
    left: -35px;
    width: 59px;
    height: 65px;
    background: url('../img/personal-color/ic-result-summary-01.png') no-repeat center / cover;
    z-index: 1;
}
.personal-qa .result-box .inner-box .result-summary .inner .img .img-wrap::after {
    position: absolute;
    content: "";
    right: -58px;
    bottom: -23px;
    width: 113px;
    height: 113px;
    background: url('../img/personal-color/ic-result-summary-02.png') no-repeat center / cover;
    z-index: 1;
}
.personal-qa .result-box .inner-box .result-summary .inner .content {
    flex: 1;
}
.personal-qa .result-box .inner-box .result-summary .inner .content .heading .sub {
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0.096em;
    font-weight: 400;
}
.personal-qa .result-box .inner-box .result-summary .inner .content .heading .title {
    padding-top: 13px;
    text-align: left;
    font-size: 2.9rem;
    line-height: 1;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #df809c;
 }
 .personal-qa .result-box .inner-box .result-summary .inner .content .detail {
    padding-top: 18px;
}
.personal-qa .result-box .inner-box .result-summary .inner .content .detail .title-sub {
    font-size: 1.6rem;
    line-height: 1.9;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #df809c;
}
.personal-qa .result-box .inner-box .result-summary .inner .content .detail .title-sub.sm {
    font-size: 1.5rem;
    letter-spacing: 0;
}
.personal-qa .result-box .inner-box .result-summary .inner .content .detail .desc {
    padding-top: 5px;
    font-size: 1.4rem;
    line-height: 2.28;
    letter-spacing: 0.05em;
    font-weight: 400;
}
.personal-qa .result-box .inner-box .result-summary .inner .content .detail .colors {
    padding-top: 20px;
}
.personal-qa .result-box .inner-box .result-summary .inner .content .detail .colors .list { 
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
    font-weight: 400;
}
.personal-qa .result-box .inner-box .result-summary .inner .content .detail .tags {
    position: relative;
    padding-top: 15px;
}
.personal-qa .result-box .inner-box .result-summary .inner .content .detail .tags::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 0;
    width: 100%;
    border-top: 1px dashed #e78ca5;
}
.personal-qa .result-box .inner-box .result-summary .inner .content .detail .tags .list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.05em;
    font-weight: 400;
    color: #fff;
}
.personal-qa .result-box .inner-box .result-summary .inner .content .detail .tags .list .tag {
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.05em;
    font-weight: 400;
    color: #fff;
    background: #8d8d8d;
    padding: 0 17px;
    border-radius: 14px;
}

@media(max-width: 750px) {
    .personal-qa .result-box {
        padding-top: 12px;
    }
    .personal-qa .result-box .inner-box .result-summary .inner {
        padding: 20px;
        gap: 30px;
    }
    .personal-qa .result-box .inner-box .result-summary .inner .img {
        width: 100%;
        text-align: center;
    }
    .personal-qa .result-box .inner-box .result-summary .inner .img img {
        max-width: 220px;
    }
    .personal-qa .result-box .inner-box .result-summary .inner .content .heading {
        text-align: center;
    }
    .personal-qa .result-box .inner-box .result-summary .inner .content .heading .sub {
        font-size: 1.4rem;
    }

    .personal-qa .result-box .inner-box .result-summary .inner .content .heading .title {
        font-size: 2.4rem;
        text-align: center;
        line-height: 1.5;
    }
    .personal-qa .result-box .inner-box .result-summary .inner .img .img-wrap::before {
        width: 54px;
        height: 59px;
        top: -33px;
        left: -33px;
    }
    .personal-qa .result-box .inner-box .result-summary .inner .img .img-wrap::after {
        right: -50px;
        bottom: -23px;
        width: 103px;
        height: 103px;
    }
}

.personal-qa .traits .heading {
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.77;
    letter-spacing: 0.096em;
    font-weight: 700;
    color: #877abc;
    padding-bottom: 14px;
    padding-top: 36px;
}
.personal-qa .traits ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -5px;
    padding: 0 90px 0 120px;
}
.personal-qa .traits ul li {
    width: 20%;
    padding: 0 5px;
}
.personal-qa .traits ul li .inner {
    background: rgba(131, 123, 179, 0.1);
    padding-top: 20px;
    border-radius: 10px;
}
.personal-qa .traits ul li .inner .img {
    width: 50px;
    height: 52px;
    margin: 0 auto;
    display: flex;
    align-items: center;
}
.personal-qa .traits ul li .inner .desc {
    padding: 10px 3px;
    text-align: center;
    font-size: 1.3rem;
    line-height: 1.69;
    letter-spacing: 0;
    font-weight: 400;
    color: #877abc;
}
@media(max-width: 960px) {
    .personal-qa .traits ul {
        padding: 50px;
    }
}
@media(max-width: 960px) {
    .personal-qa .traits ul {
        padding: 20px;
    }
}

@media(max-width: 750px) {
    .personal-qa .traits ul {
        padding: 0 20px;
        max-width: 400px;
        margin: 0 auto;
    }
    .personal-qa .traits ul li {
        width: 50%;
        padding: 10px 5px;
    }

    .personal-qa .traits .heading {
        padding-top: 30px;
        padding-bottom: 10px;
    }
}


.personal-qa .recommend {
    padding-top: 52px;
}
.personal-qa .recommend .title-box .title {
    font-size: 1.6rem;
    line-height: 1.9;
    letter-spacing: 0.12em;
    font-weight: 700;
}
.personal-qa .txt-box {
    padding-top: 17px;
    text-align: center;
}
.personal-qa .txt-box .btn {
    font-size: 1.7rem;
    line-height: 1.23;
    letter-spacing: 0.08em;
    font-weight: 400;
    color: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background: #e1809e;
    padding: 20px 35px;
}
.personal-qa .txt-box .btn .ic-email {
    width: 23px;
    height: 15px;
    flex-shrink: 0;
    background: url('../img/ic-email-tr.png') no-repeat center / contain;
}
.personal-qa .txt-box .btn .ic-reload {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background: url('../img/ic-reload.png') no-repeat center / contain;
}
@media(max-width: 750px) {
    .personal-qa .recommend {
        padding-top: 30px;
    }
}
.personal-qa .style-point {
    padding-top: 50px;
}
.personal-qa .style-point .title-box .title {
    font-size: 2.4rem;
    line-height: 1.29;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #df809c;
}
.personal-qa .style-point .title-box .sub {
    padding-top: 13px;
    font-size: 1.4rem;
    line-height: 2.28;
    letter-spacing: 0.05em;
    font-weight: 400;
}
.personal-qa .style-point .intro {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    padding: 43px 60px 0 50px;
}
.personal-qa .style-point .intro .img {
    width: 48%;
}
.personal-qa .style-point .intro .content {
    flex: 1;
}
.personal-qa .style-point .intro .content .heading {
    position: relative;
    text-align: center;
}
.personal-qa .style-point .intro .content .style-example .heading img {
    /* width: 50%; */
    width: 180px;
}
.personal-qa .style-point .intro .content .heading .wrap-img {
    position: relative;
    display: inline;
}
.personal-qa .style-point .intro .content .style-example .heading .wrap-img::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translatey(-50%);
    right: -40px;
    width: 26px;
    height: 28px;
    background: url('../img/personal-color/ic-style-point-01.png') no-repeat center / contain;
}
.personal-qa .style-point .intro .content .heading::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 0;
    right: 0;
    height: 6px;
    background: url('../img/personal-color/border-style-point-01.png') no-repeat center / contain;
}
.personal-qa .style-point .intro .content .style-example ul {
    padding-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.personal-qa .style-point .intro .content .style-example ul li {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.03em;
    font-weight: 700;
}
.personal-qa .style-point .intro .content .style-example ul li::before {
    content: "";
    position: relative;
    flex-shrink: 0;
    top: 5px;
    width: 26px;
    height: 23px;
    background: url(../img/pre-photo-page/furisode-shoot/ic-pre-photo-02.png) center center / contain no-repeat;
}
.personal-qa .style-point .intro .content .staff-point {
    padding-top: 43px;
}
.personal-qa .style-point .intro .content .staff-point .heading img {
    /* width: 54.3%; */
    width: 205px;
}
.personal-qa .style-point .intro .content .staff-point .heading .wrap-img::before {
    content: "";
    position: absolute;
    top: 70%;
    transform: translateY(-40%);
    left: -45px;
    width: 35px;
    height: 40px;
    background: url('../img/personal-color/ic-style-point-02.png') no-repeat center / contain;
}
.personal-qa .style-point .intro .content .staff-point .heading::after {
    bottom: -17px;
}
.personal-qa .style-point .intro .content .staff-point .desc {
    padding-top: 33px;
    font-size: 1.4rem;
    line-height: 2.28;
    letter-spacing: 0.05em;
    font-weight: 400;
}
@media(max-width: 860px) {
   .personal-qa .style-point .intro .content .staff-point {
        padding-top: 60px;
   }
}
@media(max-width: 750px) {
    .personal-qa .style-point {
        padding: 70px 20px 0;
    }
    .personal-qa .style-point .intro .img {
        width: 100%;
        text-align: center;
    }
    .personal-qa .style-point .intro .img img {
        max-width: 80%;
    }
    .personal-qa .style-point .intro {
        padding: 20px 0;
        gap: 30px;
    }
    .personal-qa .style-point .intro .content {
        flex: auto;
    }
    .personal-qa .style-point .intro .content .style-example .heading img {
        width: 200px;
    }
}

.personal-qa .furisode-style {
    padding: 75px 55px 0;
}
.personal-qa .furisode-style .title-box .title {
    font-size: 2.9rem;
    line-height: 1;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #df809c;
}
.personal-qa .furisode-style .title-box .sub {
    padding-top: 10px;
    font-size: 1.4rem;
    line-height: 2.28;
    letter-spacing: 0.05em;
    font-weight: 400;
}
.personal-qa .furisode-style ul {
    padding-top: 20px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -8px;
}
.personal-qa .furisode-style ul li{
    width: 25%;
    padding: 0 8px;
}
.personal-qa .furisode-style .txt-box {
    padding-top: 35px;
    text-align: center;
}
.personal-qa .furisode-style .txt-box .btn {
    background: #e1809e;
    font-size: 1.6rem;
}
@media(max-width: 750px) {
    .personal-qa .furisode-style {
        padding: 30px 20px;
    }
    .personal-qa .furisode-style ul {
        padding-top: 10px;
    }
    .personal-qa .furisode-style ul li {
        width: 50%;
        padding: 6px 6px;
    }
    .personal-qa .furisode-style .txt-box {
        padding-top: 25px;
        text-align: center;
    }
     .personal-qa .furisode-style .title-box .title {
        line-height: 1.5;
    }
}
.personal-qa .selection-check {
    padding: 70px 55px 0;
}
.personal-qa .selection-check .title-box .title {
    position: relative;
    display: inline-block;
    font-size: 1.8rem;
    line-height: 1.77;
    letter-spacing: 0.096em;
    font-weight: 700;
}
.personal-qa .selection-check .title-box .title.ic-positon-02::before {
    content: "";
    position: absolute;
    left: -40px;
    bottom: 5px;
    width: 27px;
    height: 48px;
    background: url(../img/personal-color/ic-title-l.png) no-repeat center / cover;
}
.personal-qa .selection-check .title-box .title.ic-positon-02::after {
    content: "";
    position: absolute;
    bottom: 5px;
    width: 27px;
    right: -30px;
    height: 48px;
    background: url(../img/personal-color/ic-title-r.png) no-repeat center / cover;
}
.personal-qa .selection-check ul {
    padding-top: 23px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -7.5px;
}
.personal-qa .selection-check ul li {
    display: flex;
    width: 33.33%;
    padding: 0 7.5px;
}
.personal-qa .selection-check ul li .inner {
    padding: 11px 15px 25px;
    background: rgba(131, 123, 179, 0.1);
}
.personal-qa .selection-check ul li .inner .tit {
    font-size: 1.6rem;
    line-height: 1.9;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #877abc;
    text-align: center;
    padding-bottom: 6px;
}
.personal-qa .selection-check ul li .inner .img {
    text-align: center;
}
.personal-qa .selection-check ul li .inner .img img {
    width: 100%;
    max-width: 197px;
}
.personal-qa .selection-check ul li .inner .desc {
    padding-top: 8px;
    font-size: 1.3rem;
    line-height: 2;
    letter-spacing: 0.05em;
    font-weight: 400;
}
@media(max-width: 750px) {
    .personal-qa .selection-check {
        padding: 0 20px;
    }
    .personal-qa .selection-check ul {
        padding-top: 16px;
        margin: 0;
    }
    .personal-qa .selection-check ul li {
        padding: 6px 0;
        width: 100%;
    }
    .personal-qa .selection-check ul li .inner {
        max-width: 270px;
        margin: 0 auto;
    }
    .personal-qa .selection-check .title-box .title {
        font-size: 1.6rem;
    }
    .personal-qa .selection-check .title-box .title.ic-positon-02::after {
        right: -35px;
    }

    .personal-qa .selection-check .title-box .title.ic-positon-02::before {
        left: -25px;
    }
    .personal-qa .selection-check .title-box .title.ic-positon-02::after {
        right: -15px;
    }
}
.personal-qa .store-consultation {
    padding: 30px 55px 70px;
}
.personal-qa .store-consultation .title-box .title {
    font-size: 1.8rem;
    line-height: 1.77;
    letter-spacing: 0.096em;
    font-weight: 700;
}
.personal-qa .store-consultation .title-box .sub {
    padding-top: 5px;
    font-size: 1.3rem;
    line-height: 2;
    letter-spacing: 0.05em;
    font-weight: 400;
}
.personal-qa .store-consultation .content {
    padding-top: 13px;
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 20px
}
.personal-qa .store-consultation .content .check-list {
    padding-top: 15px;
    flex: 1 
}
.personal-qa .store-consultation .content .check-list li {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    font-size: 1.6rem;
    line-height: 2.6;
    letter-spacing: 0.03em;
    font-weight: 700;
}
.personal-qa .store-consultation .content .check-list li::before {
    content: "";
    position: relative;
    flex-shrink: 0;
    top: 10px;
    width: 26px;
    height: 23px;
    background: url(../img/pre-photo-page/furisode-shoot/ic-pre-photo-02.png) center center / contain no-repeat;
}

.personal-qa .store-consultation .content .img {
    width: 38%;
    position: relative;
    z-index: 2;
}
.personal-qa .store-consultation .content .img .wrap-img {
    position: relative;
    display: inline-block;
}
.personal-qa .store-consultation .content .img .wrap-img::before {
    position: absolute;
    content: "";
    top: -8px;
    right: -30px;
    width: 80px;
    height: 88px;
    background: url(../img/personal-color/ic-store-consultation-01.png) no-repeat center / contain;
    z-index: -1;
}
.personal-qa .store-consultation .content .img .wrap-img::after {
    position: absolute;
    content: "";
    bottom: 5px;
    left: -33px;
    width: 59px;
    height: 65px;
    background: url(../img/personal-color/ic-store-consultation-02.png) no-repeat center / contain;
    z-index: -1;
}

.personal-qa .store-consultation .txt-box {
    padding-top: 40px;
}
@media(max-width: 750px) {
    .personal-qa .store-consultation {
        padding: 30px 20px;
    }
    .personal-qa .store-consultation .content {
        max-width: 330px;
        padding-top: 18px;
    }
    .personal-qa .store-consultation .content .check-list {
        flex: auto;
        padding-top: 0;
    }
    .personal-qa .store-consultation .content .img {
        width: 100%;
        text-align: center;
    }
    .personal-qa .store-consultation .content .img {
        max-width: 224px;
        margin: 0 auto;
    }
}
/*
============================================================    
===================== End-Personal-Color ===================
============================================================
*/

/* 20260916 着付け教室 */
.kitsuke-intro .link-area {
    padding: 5rem 0 2rem;
    text-align: center;
}
.kitsuke-intro .link-text {
    color: #9f7cce;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.kitsuke-intro .link-text a {
    display: inline-block;
    color: #9f7cce;
    border-bottom: 1px solid #9f7cce;
    line-height: 1.2;
    transition: all .3s;
}
.kitsuke-intro .link-text a:hover {
    border-color: #fff;
}
@media(max-width: 750px) {
    .kitsuke-intro .link-area {
        padding: 2rem 0 0;
    }
    .kitsuke-intro .link-text {
        font-size: 1.4rem;
    }
}
/* 20260916 振袖プラン */
.furisode-plan .banner-content {
    padding: 4rem;
}
.furisode-plan .banner-content a {
    display: block;
    max-width: 460px;
    margin: 0 auto;
    transition: all .3s;
}
.furisode-plan .banner-content a img {
    display: block;
    width: 100%;
}
.furisode-plan .banner-content a:hover {
    opacity: .7;
}
@media(max-width: 750px) {
    .furisode-plan .banner-content {
        padding: 2rem 3rem;
    }
}

/* 20260928 */
.campaign-mv {
    max-width: 1000px;
    margin: 0 auto;
}