@charset "UTF-8";


/*-----------------------------------------------------------

  =Global Layout

-----------------------------------------------------------*/
html {
  font-family: "Montserrat","Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 62.5%;
  color: #222;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased !important;
}
body{
  background: #fff;
  width: 100%;
  font-size: 1.6rem;
  font-feature-settings: 'palt' 1;
  letter-spacing:.08em;
  line-height: 1.8;
}
/* html * {
  visibility: hidden;
}
html.wf-active *{
  visibility: visible;
} */

@media only screen and ( max-width:1280px) {
  body{
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px){
  body {
    min-width: 320px;
  }
}
/* termina*/
.f-ty01,.link-btn{
  font-family: "Montserrat", sans-serif;
}


/* Frame Format
---------------------------------*/
#wrapper {
  width: 100%;
  position: relative;
  padding-top: 12rem;
}
.inner {
  max-width: 122rem;
  margin: 0px auto;
  padding: 0 2rem;
}
.wrap {
  padding: 12rem 0;
}
.main-header{
  text-align: center;
  padding-top:6rem;
}
.main-body{
  padding: 11rem 0 16rem;
  position: relative;
}
#p-news .content-row,
#p-column .content-row{
  display: flex;
  column-gap: 8rem;
}
#main-column {
  flex-grow: 1;
}
#side-column {
  width: 28rem;
  flex-shrink: 0;
}
#side-column .nav-sticky{
  position: -webkit-sticky;
  position: sticky;
  top: 12rem;
}
#side-column aside:nth-of-type(n+2) {
  margin-top: 6rem;
}
.underlayer-intro{
  padding:0 0 10rem;
}
@media screen and ( max-width:1280px) {
  #wrapper {
    padding-top: 7rem;
  }
  .wrap {
    padding:8rem 0 ;
  }
  #p-news .content-row,
  #p-column .content-row{
    display: block;
  }
  #main-column {
    width: 100%;
    margin-bottom: 10rem;
  }
  #side-column {
    width: 100%;
  }
  .main-header{
    padding-top:3rem;
  }
  .main-body{
    padding: 4rem 0 8rem;
    position: relative;
  }
  .underlayer-intro{
    padding:0 0 4rem;
  }
}



/* Font Format
---------------------------------*/
.sec-heading{
  text-align: center;
  margin-bottom: 4rem;
}
.sec-heading .en {
  color: #3BBFBE;
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  letter-spacing: .04em;
  line-height: 1.11;
}
.sec-heading .jp {
  display: block;
  padding-top:  1rem;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.44;
  letter-spacing: .08em;
}
.sec-subheading{
  text-align: center;
  margin-bottom:6rem;
  position: relative;
}
.sec-subheading:after {
  background: #3ABFBE;
  content: "";
  width: 30px;
  height: 3px;
  position: absolute;
  bottom: -3rem;
  left: 50%;
  transform: translateX(-50%);
}
.sec-subheading .en{
  color: #3BBFBE;
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
}
.sec-subheading .jp {
  display: block;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
  padding-top: 1.2rem;
}
.archive-heading {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom:3rem;
  text-align: center;
  line-height: 1;
}

@media screen and ( max-width:960px) {
  .sec-heading{
    text-align: center;
    margin-bottom: 2.4rem;
  }
  .sec-heading .en {
    font-size: 1.2rem;
  }
  .sec-heading .jp {
    padding-top:  1rem;
    font-size: 2.4rem;
  }
  .sec-subheading{
    margin-bottom:5rem;
  }
  .sec-subheading:after {
    width: 30px;
    height: 3px;
    bottom: -2.5rem;
  }
  .sec-subheading .en{
    font-size: 1.2rem;
  }
  .sec-subheading .jp {
    font-size: 2rem;
  }
  .archive-heading {
    font-size: 2rem;
    margin-bottom:2rem;
  }
}

.ttl-bg{
  border-radius: 0 0 3rem 3rem;
  width: 100%;
  height: 32rem;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-image: url(../img/common/ttl-bg_pc.jpg);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.pege-heading {
  color:#fff;
  text-align: center;
}
.pege-heading .en{
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}
.pege-heading .jp {
  display: block;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  padding-top: 1.4rem;
}
.ttl-reserve{
  padding:4rem 0;
}
.ttl-reserve .pege-heading .en{
  color: #3BBFBE;
}
.ttl-reserve .pege-heading .jp {
  color: #222;
}
@media screen and ( max-width:960px) {
  .ttl-bg{
    border-radius: 0 0 3rem 3rem;
    height: 18rem;
    background-image: url(../img/common/ttl-bg_sp.jpg);
  }
  .pege-heading .en{
    font-size: 1.2rem;
  }
  .pege-heading .jp {
    font-size: 2.6rem;
    padding-top: 1.4rem;
  }
}



#side-column .side-ttl {
  color: #222;
  position: relative;
  border-top: 1px solid #E6E6E6;
  line-height: 1.44;
  font-size: 2.4rem;
  font-weight: 700;
  padding: 3rem 0 2rem;
  position: relative;
}
#side-column .side-ttl:after {
  content: "";
  width: 20px;
  height: 1px;
  position: absolute;
  top: -1px;
  left: 0;
  background: #3ABFBE;
}
.sidebar_category ul {
  border-top: rgba(0, 0, 0, .08) solid 1px;
}
.sidebar_category li {
  border-bottom: rgba(0, 0, 0, .08) solid 1px;
  overflow: hidden;
  letter-spacing: .08em;
  position: relative;
}
.sidebar_category li::before{
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  width: 20px;
  height: 20px;
  background: url(../img/icon/side-arrow.svg) center / cover;
  transform: translateY(-50%);
}
.sidebar_category li a {
  display: block;
  cursor: pointer;
  padding: 2.2rem 1rem;
  overflow: hidden;
  transition: all .3s ease;
  color: #111;
  font-size: 1.4rem;
  font-weight: 700;
}
.sidebar_category li a:hover{
  color:#3BBFBE;
}
@media screen and ( max-width:960px) {
  #side-column .side-ttl {
    font-size: 2rem;
  }
}



/*
====================================================================
= Header
====================================================================
*/
#header{
  background: rgba(255, 255, 255, .8);
  /* backdrop-filter: blur(8px); */
  position: fixed;
  width: 100%;
  top:0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 10;
  height: 120px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#header .logo {
  width: 120px;
  height: auto;
  z-index: 1;
  margin-left:30px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#header-reserve{
  background: rgba(255, 255, 255, .8);
  position: fixed;
  width: 100%;
  top:0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 10;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#header-reserve .logo {
  width: 120px;
  height: auto;
  z-index: 1;
  margin: 0 auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

@media screen and ( min-width:1281px) {
  #header{
    backdrop-filter: blur(8px);
  }
  #header.scroll{
      height: 80px;
  }
  #header.scroll .logo {
    width: 90px;
  }
}
@media screen and ( max-width:1280px) {
  #header{
    height: 70px;
    background: rgba(255, 255, 255, 1);
  }
  #header .logo {
    width: 70px;
    margin-left:20px;
    padding:0;
  }
  #header-reserve{
    height: 70px;
  }
  #header-reserve .logo {
    width: 70px;
  }
}

.header-tel{
  text-align: center;
  position: absolute;
  top:20px;
  right: 20px;
}
.header-tel .ttl{
  font-size:1.4rem;
  font-weight: 700;
}
.header-tel .number{
  font-family: "Montserrat", sans-serif;
  font-size:2.6rem;
  font-weight: 700;
  line-height: 1;
  padding-left:28px;
  margin:5px 0;
  position: relative;
}
.header-tel .number::before{
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 24px;
  height: 24px;
  background: url(../img/icon/header-tel-icon.svg) center / cover;
  transform: translateY(-50%);
}
.header-tel .time{
  font-size:1.2rem;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
}

/* G-nav */
#g-nav ul{
  display: flex;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
}
#g-nav ul li{
  position: relative;
  margin:0px 1.5rem;
}
#g-nav li a{
  display: block;
  text-decoration: none;
  color: #222;
  position: relative;
  overflow: hidden;
  line-height: 1.44;
}
#g-nav ul .g-nav-droplist{
  display: block;
}
@media screen and (min-width: 1281px){
  #g-nav{
    /* margin-right:260px; */
    margin-right:30px;
  }
  #g-nav ul{
    align-items: center;
  }
  #g-nav li .g-nav-link{
    color: inherit;
    position: relative;
    display: block;
    overflow: hidden;
    line-height: 1;
    padding: .2em 0;
  }
  #g-nav li .g-nav-link::before {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 0%;
    width: 100%;
    height: 1px;
    background: rgba(176,176,176,1);
    transition: .3s ease-in-out;
    transform: scale(0, 1);
    transform-origin: left top;
  }
  #g-nav li .g-nav-link:hover::before {
    transform: scale(1, 1);
  }
  #g-nav ul li .g-nav-link:hover{
    /* opacity: 0.4; */
    color:#B0B0AE;
  }
  .g-nav-list .g-nav-link::after {
    position: absolute;
    top: 0;
    left: 0;
    content: attr(data-hover);
    display: block;
    width: 100%;
    padding: .2em 0;
    color:#B0B0AE;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    transform: translateY(-1.4em);
  }
  .g-nav-list .g-nav-link span {
    display: inline-block;
    transition: .2s ease-in-out;
  }
  .g-nav-list .g-nav-link:hover::after,
  .g-nav-list .g-nav-link:focus::after {
    transform: translateY(0em);
  }
  .g-nav-list .g-nav-link:hover span,
  .g-nav-list .g-nav-link:focus span {
    transform: translateY(1.4em);
  }
  #g-nav li.current a{
    opacity: 0.4;
  }
  #gnav-contact {
    text-align: center;
    margin: 0 0 0 1.5rem !important;
  }
  #gnav-contact a {
    background: #3ABFBE;
    border: 2px solid #3ABFBE;
    color: #fff!important;
    display: block;
    padding: 12px 24px;
    border-radius: 4rem;
    transition: 0.5s;
    -webkit-transition: .5s;
    -moz-transition: .5s;
  }
  #gnav-contact a:hover {
    background: #2DDDDB;
    border: 2px solid #2DDDDB;
  }
}

@media screen and (max-width:1280px) {
  #g-nav{
    padding: 0;
    position:fixed;
    z-index: 999;
    top:-400%;
    left:0;
    width:100%;
    height: 100vh;
    height: 100dvh;
    background:rgba(255,255,255,1);
    transition: all 0.6s;
  }
  #g-nav ul{
    display: block;
  }
  #g-nav ul li{
    font-size:1.5rem;
    margin:0px;
  }
  #g-nav ul li a{
    padding:2rem 0;
    color:#222;
  }
  .g-nav-list{
    position: relative;
  }
  .g-nav-list::after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    height: 1px;
    width: 100%;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2), 1px, transparent 1px, transparent 3px);
    background-size: 3px 1px;
    background-repeat: repeat-x;
  }
  .g-nav-list .g-nav-list__item::after{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    height: 1px;
    width: 100%;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2), 1px, transparent 1px, transparent 3px);
    background-size: 3px 1px;
    background-repeat: repeat-x;
  }
  .g-nav-list .g-nav-list__item.active::after{
    content: none;
  }
  #g-navi ul .g-nav-link::after {
    display: none;
  }
  .header-tel{
    display: none;
  }
}

/* G-nav has-child */
#g-nav li.has-child ul{
  position: absolute;
  left: calc(50% - 11.5rem);
  top:4rem;
  z-index: 3;
  background:rgba(255,255,255,1);
  width:23rem;
  border-radius: 8px;
  visibility: hidden;
  opacity: 0;
  transition: all .3s;
  font-size:1.4rem;
  overflow: hidden;
  padding: 1rem 0;
  box-shadow: 0 1rem 1rem 0.5rem rgba(0,0,0,.14);
}
#g-nav li.has-child ul li{
  margin: 0;
}
#g-nav li.has-child:hover > ul,
#g-nav li.has-child ul li:hover > ul,
#g-nav li.has-child:active > ul,
#g-nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}
#g-nav li.has-child ul li a{
  color: #111;
  opacity: 1;
  padding: 1.2rem 3.5rem 1.2rem 2.5rem;
}
#g-nav li.has-child ul li a:hover,
#g-nav li.has-child ul li a:active{
  color:#3ABFBE;
}

@media screen and (max-width:1280px){
  #g-nav li.has-child ul{
    background:rgba(255,255,255,1);
    box-shadow: none;
  }
  #g-nav li.has-child ul li a{
    color: #222;
  }
  #g-nav ul li.has-child .g-nav-link::before,
  #g-nav ul li.has-child .g-nav-link::after {
    content: "";
    background-color: #111;
    position: absolute;
    width: 14px;
    height: 2px;
    top: 35px;
    right: 10px;
    z-index: 2;
}
#g-nav ul li.has-child .g-nav-link::before {
  transform: translateY(-50%) rotate(90deg);
  top: 36px;
  transition: opacity .3s cubic-bezier(.33,1,.68,1);
}
#g-nav ul li.has-child.active .g-nav-link::before {
  transform: rotate(180deg);
  opacity: 0;
}
  #g-nav li a:hover{
    color:#3ABFBE;
  }
  #g-nav li.has-child ul li a::before {
    right: 2rem;
  }
  #g-nav.panelactive{
    top: 0;
  }
  #g-nav.panelactive #nav-wrap{
    position: fixed;
    z-index: 10;
    width: 100%;
    height: 100dvh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  #g-nav ul {
    margin:8rem 2rem 1.2rem;
  }
  #g-nav ul ul{
    width: 100%;
    margin: 0;
  }
  #g-nav ul li.has-child ul{
    position: relative;
    left:0;
    top:0;
    width:100%;
    visibility:visible;
    opacity:1;
    display: none;
    transition:none;
    transform: none;
    padding:2rem 2rem;
    border-radius: 1rem;
    background-color:#f5f5f5 ;
  }
  #g-nav li.has-child ul li a {
    padding: 1rem 0rem;
  }
  #g-nav .g-nav-droplist li a:hover{
    color:#3ABFBE !important;
    opacity: 1!important;
  }
}

@media screen and (min-width: 1281px){
  #g-nav li.has-child {
    padding-right: 14px;
  }
  #g-nav ul li.has-child::before {
    content: "";
    z-index: 2;
    position: absolute;
    width: 0;
    height: 0;
    top: 8px;
    right: 0px;
    border: solid transparent;
    border-top-color: #222;
    border-width: 5px 3px;
  }
}

#g-nav .cv-list{
  display: none;
}
@media screen and (max-width: 1280px) {
  #g-nav .cv-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 1.6rem;
    margin-top:3rem;
    margin-bottom:3rem;
  }
  #g-nav .cta-btn {
    align-items: center;
    border-radius: 8rem;
    display: flex;
    height: 7rem;
    justify-content: center;
    overflow: hidden;
    position: relative;
    transition: .3s;
  }
  #g-nav .cta-btn .txt {
    font-size: 1.6rem;
    letter-spacing: .06em;
    position: relative;
  }
  #g-nav .btn-reserve a{
    background: #F091A7;
    border: 2px solid #F091A7;
    color: #fff;
    padding: 0 3rem 0 3rem;
  }
  #g-nav .btn-reserve a:hover {
    border: 2px solid #FC7796;
    background: #FC7796;
    color: #fff;
    transform: translateY(-8px);
    box-shadow: 0px 4px 2px rgba(0, 0, 0, .16);
  }
  #g-nav .btn-reserve .btn-arw {
    background-color: #fff;
  }
  #g-nav .btn-reserve .btn-arw svg {
    fill: #F091A7;
  }
  #g-nav .btn-reserve .btn-arw:before {
    background:  #FC7796;
  }
  #g-nav .btn-contact a{
    background: #3ABFBE;
    border: 2px solid #3ABFBE;
    color: #fff!important;
    padding: 0 3rem 0 3rem;
  }
  #g-nav .btn-contact a:hover {
    background: #2DDDDB;
    border: 2px solid #2DDDDB;
    transform: translateY(-8px);
    box-shadow: 0px 4px 2px rgba(0, 0, 0, .16);
  }
   #g-nav .btn-contact .btn-arw {
    background-color: #fff;
  }
  #g-nav .btn-contact .btn-arw svg {
    fill: #3ABFBE;
  }
  #gnav-contact{
    display: none;
  }
  #g-nav .btn-line a{
    background: #07B53B;
    border: 2px solid #07B53B;
    color: #fff;
    padding: 0 3rem 0 3rem;
  }
  #g-nav .btn-line a:hover {
    border: 2px solid #08C656;
    background: #08C656;
    color: #fff;
    transform: translateY(-8px);
    box-shadow: 0px 4px 2px rgba(0, 0, 0, .16);
  }
  #g-nav .btn-line .btn-arw {
    background-color: #fff;
  }
  #g-nav .btn-line .btn-arw svg {
    fill: #07B53B;
  }
   #g-nav .btn-line .cta-btn:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 10px;
    width: 58px;
    height: 58px;
    background: url(../img/icon/btn-line-icon.svg) center / cover;
    transform: translateY(-50%);
  }
}

/* G-nav-openbtn */
.g-nav-openbtn{
  display: none;
}
@media screen and (max-width:1280px) {
  .g-nav-openbtn{
    display: block;
    position:fixed;
    z-index: 9999;
    top:10px;
    right: 10px;
    cursor: pointer;
    border-radius: 50%;
    width: 50px;
    height:50px;
    background: rgba(59, 191, 190, 1);
  }
  .g-nav-openbtn .openbtn-area{
    transition: all .4s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
  }
  .g-nav-openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: calc(50% - 9px);
    height: 1px;
    background: #fff;
    width: 18px;
    z-index: 9999;
  }
  .g-nav-openbtn span:nth-of-type(1) {
    top:-6px;
  }
  .g-nav-openbtn span:nth-of-type(2) {
    top:0px;
  }
  .g-nav-openbtn span:nth-of-type(3) {
    top:6px;
  }
  .g-nav-openbtn.active{
    background: rgba(132, 204, 201, 1);
  }
  .g-nav-openbtn.active .openbtn-area{
    transform: rotateY(-360deg);
  }
  .g-nav-openbtn.active span:nth-of-type(1) {
    top: -6px;
    left: -9px;
    transform: translateY(6px) rotate(-135deg);
    width: 18px;
    background: #fff;
  }
  .g-nav-openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  .g-nav-openbtn.active span:nth-of-type(3){
    top: 6px;
    left: -9px;
    transform: translateY(-6px) rotate(135deg);
    width: 18px;
    background: #fff;
  }
}

/*
====================================================================
= Footer
====================================================================
*/
/* Footer Contact
---------------------------------*/
.footer-contact{
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-image: url(../img/common/footer-bg_pc.jpg);
  position: relative;
  border-radius: 3rem 3rem 0 0;
  overflow: hidden;
  padding:8rem 2rem;
}
.footer-contact-box{
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(8px);
  border-radius: 8px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 6rem 3.2rem;
  text-align: center;
  position: relative;
  z-index: 1;
}
.footer-contact-box .sec-heading {
  margin-bottom: 2.4rem;
}
.footer-contact-box .lead-copy{
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom:3.2rem;
}
.footer-contact-box .cv-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 2rem;
}
.footer-contact-box .cta-btn {
  align-items: center;
  border-radius: 8rem;
  display: flex;
  height: 8rem;
  justify-content: center;
  overflow: hidden;
  position: relative;
  transition: .3s;
}
.footer-contact-box .btn-reserve a{
  background: #F091A7;
  border: 2px solid #F091A7;
  color: #fff;
  padding: 0 3rem 0 3rem;
}
.footer-contact-box .btn-reserve a:hover {
  border: 2px solid #FC7796;
  background: #FC7796;
  transform: translateY(-8px);
  box-shadow: 0px 4px 2px rgba(0, 0, 0, .16);
}
.footer-contact-box .btn-arw {
  background-color: #fff;
}
.footer-contact-box .btn-reserve .btn-arw svg {
  fill: #F091A7;
}
.footer-contact-box .btn-reserve .btn-arw:before {
  background:  #FC7796;
}
.footer-contact-box .btn-reserve .txt {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .06em;
  /* padding-left:4rem; */
  position: relative;
}
.footer-contact-box .btn-contact .txt .tx-small,
.footer-contact-box .btn-reserve .txt .tx-small,
.footer-contact-box .btn-line .txt .tx-small{
  font-size: 1.6rem;
}
.footer-contact-box .btn-contact a{
  background: #3ABFBE;
  border: 2px solid #3ABFBE;
  color: #fff;
  padding: 0 3rem 0 3rem;
}
.footer-contact-box .btn-contact .txt {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .06em;
  /* padding-left:4rem; */
  position: relative;
}
.footer-contact-box .btn-contact .btn-arw svg {
  fill: #3ABFBE;
}
.footer-contact-box .btn-contact a:hover {
  background: #2DDDDB;
  border: 2px solid #2DDDDB;
  transform: translateY(-8px);
  box-shadow: 0px 4px 2px rgba(0, 0, 0, .16);
}

.footer-contact-box .btn-line a{
  background: #07B53B;
  border: 2px solid #07B53B;
  color: #fff;
  padding: 0 3rem 0 3rem;
}
.footer-contact-box .btn-line .txt {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .06em;
  position: relative;
}
.footer-contact-box .btn-line .btn-arw svg {
  fill: #07B53B;
}
.footer-contact-box .btn-line a:hover {
  background: #08C656;
  border: 2px solid #08C656;
  transform: translateY(-8px);
  box-shadow: 0px 4px 2px rgba(0, 0, 0, .16);
}
.footer-contact-box .btn-line a:before {
  position: absolute;
  content: "";
  top: 50%;
  left: 5px;
  width: 62px;
  height: 62px;
  background: url(../img/icon/btn-line-icon.svg) center / cover;
  transform: translateY(-50%);
}

@media screen and ( max-width:768px) {
  .footer-contact{
    border-radius: 1.6rem 1.6rem 0 0;
    padding:4rem 2rem;
  }
  .footer-contact-box{
    background: rgba(255, 255, 255, 1);
    backdrop-filter: none;
    padding: 4rem 2rem;
  }
  .footer-contact-box .lead-copy{
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom:2.4rem;
  }
  .footer-contact-box .cv-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 1rem;
  }
  .footer-contact-box .cta-btn {
    height: 7rem;
  }
  .footer-contact-box .btn-reserve .txt,
  .footer-contact-box .btn-contact .txt,
  .footer-contact-box .btn-line .txt  {
    font-size: 1.6rem;
    letter-spacing: .06em;
  }
  .footer-contact-box .btn-reserve .txt::before {
    width: 24px;
    height: 24px;
  }
  .footer-contact-box .btn-contact .txt .tx-small,
  .footer-contact-box .btn-reserve .txt .tx-small,
  .footer-contact-box .btn-line .txt .tx-small{
    font-size: 1.2rem;
  }
  .footer-contact-box .btn-line a:before {
    width: 58px;
    height: 58px;
  }
}
@media (hover: none) {
  .footer-contact-box .cta-btn:active {
    transform: scale(.95);
  }
}


/* Footer Utility
---------------------------------*/
.footer-utility {
  padding: 64px 0;
}
.footer-utility .footer-utility-row{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.footer-utility .company-head{
  width: 20%;
}
.footer-utility .footer-logo {
  max-width: 180px;
  margin-bottom: 20px;
}
.footer-utility .footer-address {
  font-size: 1.4rem;
  line-height: 1.66;
}
.footer-utility .footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top:2rem;
}
.footer-utility .footer-social li a {
  width: 46px;
  height: 46px;
  border-radius: 100%;
  text-align: center;
  border: 1px solid #EAEAEA;
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer-utility .footer-social li a:hover{
  border: 1px solid #111;
}
.footer-utility .footer-social li img {
  width: 22px;
}

.footer-utility .footer-nav{
  width: 60%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 3rem;
  row-gap: 3rem;
}
.footer-utility .footer-nav .footer-nav-head-link {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}
.footer-utility .footer-nav-child {
  margin-top: 1.2rem;
}
.footer-utility .footer-nav-child li:nth-of-type(n+2) {
  margin-top: .4rem;
}
.footer-utility .footer-nav-child li a{
  font-size:1.4rem;
  opacity: 0.9;
  position: relative;
  z-index: 1;
  display: inline-block;
}
.footer-nav-list > li + li {
  margin-top: 2rem;
}
.footer-utility .footer-nav .footer-nav-head-link span{
  background-image: linear-gradient(#222, #222);
  background-position: 100% 100%;
  background-size: 0% 1px;
  background-repeat: no-repeat;
  transition: background-size 0.6s cubic-bezier(0.170, 0.935, 0.305, 1.000);
}
.footer-utility .footer-nav .footer-nav-head-link:hover span{
  background-position: 0% 100%;
  background-size: 100% 1px;
}
.footer-utility .footer-nav-child li span{
  background-image: linear-gradient(#222, #222);
  background-position: 100% 100%;
  background-size: 0% 1px;
  background-repeat: no-repeat;
  transition: background-size 0.6s cubic-bezier(0.170, 0.935, 0.305, 1.000);
}
.footer-utility .footer-nav-child li:hover span{
  background-position: 0% 100%;
  background-size: 100% 1px;
}
@media screen and ( max-width:768px) {
  .footer-utility {
    padding: 40px 0;
  }
  .footer-utility .footer-utility-row{
    justify-content: center;
  }
  .footer-utility .company-head{
    width: 80%;
    text-align: center;
  }
  .footer-utility .footer-logo {
    max-width: 140px;
    margin:0 auto 20px;
  }
  .footer-utility .footer-social {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .footer-utility .footer-nav{
    display: none;
  }
}

/* Footer-Affiliatio
---------------------------------*/
.footer-affiliation{
  border-bottom:1px solid #EFEFEF;
  border-top:1px solid #EFEFEF;
  padding:4rem 0 ;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.footer-affiliation img{
  width: auto;
  height: 60px;
}
.footer-affiliation .txt{
  font-size:1.4rem;
  padding-left:2rem;
}
@media screen and ( max-width:768px) {
  .footer-affiliation{
    padding:3rem 2rem;
    text-align: center;
  }
  .footer-affiliation .txt{
    font-size:1.2rem;
    padding:2rem 0 0;
  }
  .footer-affiliation img{
    width: auto;
    height: 46px;
  }
}


/* Footer Bottom
---------------------------------*/
.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 4rem 0;
  font-size: 1.2rem;
}
.footer-bottom ul{
  align-items: center;
  display: flex;
}
.footer-bottom li{
  position: relative;
  margin-right: 3rem;
}
.footer-bottom li:last-child{
  margin-right: 0;
}
.footer-bottom li a{
  display: block;
  text-decoration: none;
  color: #222;
  transition: .2s ease-in-out;
  position: relative;
  overflow: hidden;
  line-height: 1.4;
}
.footer-bottom li a::before {
  content: '';
  position: absolute;
  bottom: 0px;
  left: 0%;
  width: 100%;
  height: 1px;
  background: rgba(34,34,34,1);
  transition: .4s ease-in-out;
  transform: scale(0, 1);
  transform-origin: left top;
}
.footer-bottom li a:hover::before {
  transform: scale(1, 1);
}
.footer-bottom .blanklink {
  padding-right:1.8rem;
}
.footer-bottom .blanklink::before {
  content: url(../img/icon/icon-blanklink.svg);
  display: inline-block;
  width: 12px;
  height: 12px;
  position: absolute;
  top: -2px;
  right: 0;
}
@media screen and (max-width:768px) {
  .footer-bottom {
    justify-content: center;
  }
  .footer-bottom ul{
    width: 100%;
    flex-wrap: wrap;
    margin-bottom:4rem;
    justify-content: center;
  }
  .footer-bottom li{
    margin:1rem;
  }
  .copyright {
    width: 100%;
    text-align: center;
  }
}


#footer{
    margin-bottom:140px;
}
.footer-reserve{
  margin-bottom: 0 !important;
}
#fix-cta{
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
    position: fixed;
    bottom: -250px;
    left:0px;
    z-index: 2;
    transition: 0.3s ease all;
    text-align: center;
    box-sizing: border-box;
    padding: 20px;
    background: #fff;
    width: 100%;
}
#fix-cta.show {
  bottom: 0px;
}
#fix-cta .ttl{
  display: block;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.22;
  margin-bottom:1.2rem;
}
.fix-content-list{
  max-width: 1160px;
  margin: 6px auto 0;
  display:flex ;
  flex-wrap: wrap;
  justify-content: space-between;
}
.fix-content-list li{
  width: 49%;
  margin-bottom:0;
  position: relative;
}
.fix-content-list li a {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  border-radius: 8rem;
  padding: 16px;
}
.fix-content-list li .btn-txt{
  position: relative;
  font-size: 2rem;
  font-weight: 700;
}
.fix-content-list li a .tx-small{
  font-size: 1.6rem;
}
.fix-content-list li a::after,
.fix-content-list li a::after,
.fix-content-list li a::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 16px;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
}
.fix-content-list .btn-reserve a {
  background: #F091A7;
  border: 2px solid #F091A7;
  color: #fff;
  position: relative;
}
.fix-content-list .btn-reserve a:hover {
  border: 2px solid #FC7796;
  background: #FC7796;
}
.fix-content-list li a::after{
  background: url(../img/icon/fix-btn-arrow.svg) center / cover;
}
.fix-content-list .btn-contact a::after{
  background: url(../img/icon/fix-contact-arrow.svg) center / cover;
}
.fix-content-list .btn-line a::after{
  background: url(../img/icon/fix-line-arrow.svg) center / cover;
}
.fix-content-list .btn-contact a{
  background: #3ABFBE;
  border: 2px solid #3ABFBE;
  color: #fff;
  position: relative;
}
.fix-content-list .btn-contact a:hover {
  background:  #2DDDDB;
  border: 2px solid  #2DDDDB;
}
.fix-content-list .btn-line a{
  background: #07B53B;
  border: 2px solid #07B53B;
  color: #fff;
  position: relative;
}
.fix-content-list .btn-line a:before {
  position: absolute;
  content: "";
  top: 50%;
  left: 5px;
  width: 62px;
  height: 62px;
  background: url(../img/icon/btn-line-icon.svg) center / cover;
  transform: translateY(-50%);
}
.fix-content-list .btn-line a:hover {
  background:  #08C656;
  border: 2px solid  #08C656;
}



.fix-content-list .item-ttl{
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom:.8rem;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  line-height: 1.22;
}
.fix-content-list .item-ttl::before,
.fix-content-list .item-ttl::after {
    content: '';
    width: 2px;
    height: 14px;
    background-color: #222;
}
.fix-content-list .item-ttl::before {
    margin-right: 6px;
    transform: rotate(-30deg);
}
.fix-content-list .item-ttl::after {
    margin-left: 6px;
    transform: rotate(30deg);
}

@media screen and ( max-width:767px) {
  #footer{
    margin-bottom:100px;
  }
  #fix-cta{
    padding:10px 10px 15px;
  }
  #fix-cta .ttl{
    font-size: 1.4rem;
    margin-bottom:1.2rem;
  }
  .fix-content-list li a {
    border-radius: 8px;
    padding: 0 10px;
    height: 5rem;
  }
  .fix-content-list li .btn-txt{
    font-size: 1.2rem;
  }
  .fix-content-list li .btn-txt .tx-small,
  .fix-content-list .btn-contact .btn-txt .tx-small{
    font-size: 1.1rem;
  }
  .fix-content-list .item-ttl{
    display: none;
  }
  .fix-content-list li a::after {
    content:none;
  }
  .fix-content-list .btn-line a:before {
    content: none;
  }
}

@media (hover: none) {
  .fix-content-list li a:active {
    transform: scale(.95);
  }
}



/*
====================================================================
=TOP-PAGE
====================================================================
*/

/* Mv
------------------------------------------------------- */
#p-top-mv{
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: row-reverse;
  overflow: hidden;
}
#p-top-mv::before{
  content: "";
  display: block;
  background: #FFFDF4;
  width: 100%;
  height: 40%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.mv-txt{
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 37.5%;
  padding:0 2rem;
  z-index: 1;
  text-align: center;
}
.mv-txt .mv-crown{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.6rem;
  row-gap: 1.6rem;
  width: 28vw;
  margin:0 auto 5rem;
}
.mv-txt .mv-crown  li img{
  width: 100%;
}
.mv-txt .mv-point{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 20px;
  margin:0 auto 5rem;
  /* max-width: 550px; */
}
.mv-txt .mv-point li{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  gap:10px;
  word-break: keep-all;
}
.mv-txt .mv-point li:nth-of-type(n+2)::after{
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  border-left: rgba(0, 0, 0, .2) solid 1px;
}
.mv-txt .mv-point li:nth-of-type(n+2){
  padding-left:2rem;
}
.mv-txt .mv-point-icon{
  width: 80px;
  height:80px;
  flex-shrink: 0;
}
.mv-txt .mv-point-txt{
  flex-grow: 1;
  position: relative;
}
.mv-txt .mv-point-txt .num{
  font-family: "Montserrat", sans-serif;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.22;
}
.mv-txt .mv-point-txt .num .unit{
  font-size: 1.8rem;
}
.mv-txt .mv-point-txt .caption{
  padding-top:4px;
  font-size: 1.1rem;
  font-weight: 400;
  text-align: right;
  line-height: 1.44;
  letter-spacing: 0;
  font-family: "Montserrat", sans-serif;
}
.mv-ibj{
  background-color: #fff;
  border: 1px solid #777;
  border-radius: 3px;
  font-size:1.2rem;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
  top:-24px;
  left:90px;
  padding: 5px 8px 5px;
}
.mv-ibj::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 50%;
  width: 6px;
  height: 6px;
  background: #fff;
  border-right: 1px solid #777;
  border-bottom: 1px solid #777;
  transform: translate(-50%, 55%) rotate(45deg);
  transform-origin: center center;
}
#p-top-mv .mv-img{
  width: 62.5%;
  height: 100%;
  overflow: hidden;
}
#p-top-mv .mv-img{
  position: relative;
}
#p-top-mv .mv-img-pic{
  border-radius: 3rem 0 0 3rem;
  overflow: hidden;
  width: 100%;
}
#p-top-mv .mv-img img {
  -o-object-fit: cover;
  width: 100%;
  object-fit: cover;
}
#p-top-mv .mv-img .mv-catch{
  position: absolute;
  bottom: 10%;
  left: 50%;
  width: 70%;
  transform: translateX(-50%);
}

.mv-txt .mv-btn:not(:first-of-type){
  margin-top:2.4rem;
}
.mv-txt .mv-btn .link-btn {
  background: #F091A7;
  border: 2px solid #F091A7;
  color: #fff;
  width: 500px;
  height: 8.4rem;
  padding: 1rem 3rem 1rem 3rem;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}
.mv-txt .mv-btn .btn-arw {
  background-color: #fff;
}
.mv-txt .mv-btn .btn-arw svg {
  fill: #F091A7;
}
.mv-txt .mv-btn .btn-arw:before {
  background:  #FC7796;
}
.mv-txt .mv-btn .link-btn:hover {
  border: 2px solid #FC7796;
  background: #FC7796;
}
.mv-txt .mv-btn .link-btn .sub-txt{
  font-size: 1.4rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  line-height: 1.22;
}
.mv-txt .mv-btn .link-btn .sub-txt::before,
.mv-txt .mv-btn .link-btn .sub-txt::after {
    content: '';
    width: 1px;
    height: 14px;
    background-color: #fff;
}
.mv-txt .mv-btn .link-btn .sub-txt::before {
    margin-right: 8px;
    transform: rotate(-30deg);
}
.mv-txt .mv-btn .link-btn .sub-txt::after {
    margin-left: 8px;
    transform: rotate(30deg);
}
.mv-txt .mv-btn .link-btn .txt {
  font-size: 2.4rem;
  letter-spacing: .06em;
  padding-top:.6rem;
}

.mv-txt .mv-btn .link-btn .txt .tx-small{
  font-size: 1.8rem;
}
.mv-txt .mv-btn.btn-line .link-btn {
  background: #07B53B;
  border: 2px solid #07B53B;
}
.mv-txt .mv-btn.btn-line .link-btn:before {
  position: absolute;
  content: "";
  top: 50%;
  left: 5px;
  width: 72px;
  height: 72px;
  background: url(../img/icon/btn-line-icon.svg) center / cover;
  transform: translateY(-50%);
}
.mv-txt .mv-btn.btn-line .btn-arw svg {
  fill: #07B53B;
}
.mv-txt .mv-btn.btn-line .btn-arw:before {
  background:  #07B53B;
}
.mv-txt .mv-btn.btn-line .link-btn:hover {
  border: 2px solid #08C656;
  background: #08C656;
}
.mv-caption-txt{
    margin: 0 auto 0;
    text-align: left;
}
.mv-txt .tx-caption{
    opacity: .8;
}
.mv-txt .paragraph-1{
  opacity: .8;
}
.mv-txt .paragraph-1 li:nth-child(n+2){
  margin-top: .2rem;
}


@media screen and ( max-width:1420px) {
  #p-top-mv .mv-img{
    width: 55%;
  }
  .mv-txt{
    width: 45%;
  }
  .mv-txt .mv-point-txt .num{
    font-size: 2.8rem;
  }
  .mv-txt .mv-point-txt .num .unit{
    font-size: 1.2rem;
  }
  .mv-txt .mv-point-txt .caption{
    padding-top:4px;
    font-size: 1rem;
  }
  .mv-txt .mv-ibj{
    left:49px;
    padding: 5px 6px 4px;
    font-size:1.0rem;
    top: -28px;
  }
  .mv-txt .mv-point{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 10px;
  }
  .mv-txt .mv-point li:nth-of-type(n+2){
    padding-left:1rem;
  }
  .mv-txt .mv-point li {
    gap: 5px;
  }
  .mv-txt .mv-point-icon{
    width: 50px;
    height:50px;
    flex-shrink: 0;
  }
  .mv-txt .mv-btn .link-btn .sub-txt{
    font-size: 1.1rem;
  }
  .mv-txt .mv-btn .link-btn .txt {
    font-size: 2.4rem;

    position: relative;
  }
  .mv-txt .mv-btn .link-btn .txt .tx-small{
    font-size: .6rem;
  }
}
@media screen and ( max-width:1180px) {
  #p-top-mv{
    display: block;
  }
  #p-top-mv::before{
    height: 30%;
  }
  #p-top-mv .mv-img-pic{
    border-radius: 0 0 3rem 3rem;
  }
  #p-top-mv .mv-img{
    width: 100%;
  }
  #p-top-mv .mv-img .mv-catch{
    position: absolute;
    bottom: 5%;
    left: 50%;
    width: 90%;
    transform: translateX(-50%);
  }
  .mv-txt{
    width: 100%;
    padding:0 2rem 1rem;
  }
  .mv-txt .mv-crown{
    width: 85vw;
    margin:2.4rem auto 4rem;
  }
  .mv-txt .mv-point-txt .num{
    font-size: 2.4rem;
  }
  .mv-txt .mv-point-txt .num .unit{
    font-size: 1.2rem;
  }
  .mv-txt .mv-point-txt .caption{
    padding-top:4px;
    font-size: 1rem;
  }
  .mv-txt .mv-ibj{
    left:49px;
    padding: 5px 6px 4px;
    font-size:1.0rem;
    top: -28px;
  }
  .mv-txt .mv-point{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 10px;
    margin-bottom:3rem;
  }
  .mv-txt .mv-point li:nth-of-type(n+2){
    padding-left:1rem;
  }
  .mv-txt .mv-point li {
    gap: 5px;
  }
  .mv-txt .mv-point-icon{
    width: 44px;
    height:44px;
    flex-shrink: 0;
  }
  .mv-txt .mv-btn:not(:first-of-type){
    margin-top:1.6rem;
  }
  .mv-txt .mv-btn .link-btn {
    background: #F091A7;
    border: 2px solid #F091A7;
    color: #fff;
    width: 100%;
    height: 7rem;
    padding: 1rem 3rem 1rem 3rem;
  }
  .mv-txt .mv-btn .link-btn .sub-txt{
    font-size: 1rem;
  }
  .mv-txt .mv-btn .link-btn .txt {
    font-size: 1.7rem;
    letter-spacing: .06em;
    /* padding-left:3rem; */
    position: relative;
  }
  .mv-txt .mv-btn.btn-line .link-btn:before {
    width: 56px;
    height: 56px;
    left: 5px;
  }
}

/* P-top Intro
------------------------------------------------------- */
#p-top-intro{
  background: #FFFDF4;
  text-align: center;
}

#p-top-intro .p-top-intro__recommend{
  background-color: #fff;
  border-radius:9rem;
  margin:5rem auto 9rem;
  padding:5rem 6.4rem;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: center;
}
#p-top-intro .p-top-intro__recommend .pic-row,
#p-top-intro .p-top-intro__recommend .txt-row{
  width: 46%;
}
#p-top-intro .p-top-intro__recommend .pic-row img{
  border-radius: 3.6rem;
}
#p-top-intro .p-top-intro__recommend .check-list .item{
  position: relative;
  padding-left: 30px;
  font-size: 1.8rem;
}
#p-top-intro .p-top-intro__recommend .check-list .item:nth-child(n+2){
  margin-top:.8rem;
}
#p-top-intro .p-top-intro__recommend .check-list .item:before {
  content: '';
  background-image: url(../img/icon/check-mark.svg);
  background-size: contain;
  display: inline-block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 4px;
  left: 0;
}
.p-top-intro__subheading{
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom:3rem;
  line-height: 1.4;
}
.p-top-intro__subheading span{
  background: linear-gradient(#C2EBE4, #C2EBE4) 0 100% / 100% 8px no-repeat;
  display: inline;
}
@media screen and ( max-width:768px) {
  #p-top-intro .p-top-intro__recommend{
    border-radius:4rem;
    margin:3rem auto 6rem;
    padding:2rem 2.4rem;
    gap: 2.4rem;
  }
  #p-top-intro .p-top-intro__recommend .p-top-intro__subheading{
    text-align: center;
  }
  #p-top-intro .p-top-intro__recommend .pic-row,
  #p-top-intro .p-top-intro__recommend .txt-row{
    width: 100%;
  }
  #p-top-intro .p-top-intro__recommend .pic-row img{
    border-radius: 1.6rem;
  }
  #p-top-intro .p-top-intro__recommend .check-list .item{
    position: relative;
    padding-left: 30px;
    font-size: 1.4rem;
  }
  #p-top-intro .p-top-intro__recommend .check-list .item:nth-child(n+2){
    margin-top:.8rem;
  }
  #p-top-intro .p-top-intro__recommend .check-list .item:before {
    width: 20px;
    height:20px;
    top: 2px;
    left: 0;
  }
  .p-top-intro__subheading{
    font-size: 2rem;
    margin-bottom:2.4rem;
  }
  .p-top-intro__subheading span{
    background: linear-gradient(#C2EBE4, #C2EBE4) 0 100% / 100% 4px no-repeat;
  }
}


.intro-voice-list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 5rem;
  row-gap: 3rem;
}
.intro-voice-list .item-pic{
  margin:0 auto 1.6rem;
  width: 100px;
}
.intro-voice-list .item-header{
  margin-bottom:1.8rem;
  font-weight: 700;
}
.intro-voice-list .item-header .age{
  font-size: 1.4rem;
  line-height: 1.22;
}
.intro-voice-list .item-header .ttl{
  background: linear-gradient(#222, #222) 0 100% / 100% 2px no-repeat;
  font-size: 1.8rem;
    line-height: 1.22;
}
.intro-voice-list .item-txt{
  text-align: left;
}
.p-top-intro-btn{
  margin:5rem auto 0;
}
@media screen and ( max-width:768px) {
  #p-top-intro .lead-copy{
    margin-bottom:6rem;
  }
  .intro-voice-list{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 3rem;
  }
  .intro-voice-list .item-header{
    margin-bottom:1rem;
  }
  .intro-voice-list .item-header .age{
  font-size: 1.2rem;
  }
  .intro-voice-list .item-header .ttl{
    background: linear-gradient(#222, #222) 0 100% / 100% 2px no-repeat;
    font-size: 1.5rem;
  }
  .p-top-intro-btn{
    margin:4rem auto 0;
  }
}



/* P-top Plan
------------------------------------------------------- */
#p-top-plan{
  background-image: url(../img/top/bg-plan_pc.jpg);
  background-position: 100% 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.p-top-plan__box{
  background-color:rgba(255, 255, 255, .6);
  backdrop-filter: blur(8px);
  border-radius: .8rem;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
  max-width: 1280px;
  margin: 0 auto;
  padding: 8rem;
  text-align: center;
}
.p-top-plan-list{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 6rem;
  row-gap: 3rem;
  text-align: left;
}
.p-top-plan-list li{
  position: relative;
  cursor: pointer;
}
.p-top-plan-list .item-pic{
  border-radius: .4rem;
  overflow: hidden;
}
.p-top-plan-list .item-txt{
  margin-top:3rem;
}
.p-top-plan-list .item-txt .ttl .en{
  color:#3BBFBE;
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  padding-bottom:1.4rem;
}
.p-top-plan-list .item-txt .ttl .jp{
  font-size: 2.4rem;
  font-weight: 700;
  background-image: linear-gradient(#222, #222);
  background-position: 0% 100%;
  background-size: 100% 1px;
  background-repeat: no-repeat;
  transition: background-size 0.6s cubic-bezier(0.170, 0.935, 0.305, 1.000);
}
.p-top-plan-list a:hover .ttl .jp {
  background-position: 100% 100%;
  background-size: 0% 1px;
}
.p-top-plan-list .item-txt .txt{
  margin-top:3rem;
}
.p-top-plan-list li .item-pic__arrow{
  position: absolute;
  top:60%;
  right:20px;
  z-index: 1;
}
.p-top-plan-list li .circle-arrow{
  opacity: 0;
  transform: scale(0);
}
.p-top-plan-list li a:hover .circle-arrow{
  opacity: 1;
  transform: scale(1);
}
@media screen and ( max-width:768px) {
  #p-top-plan{
    padding:4rem 2rem;
  }
  .p-top-plan__box{
    padding:3rem 3rem;
    background-color:rgba(255, 255, 255, 1);
  }
  .p-top-plan-list{
    grid-template-columns: repeat(1, 1fr);
    row-gap: 4rem;
  }
  .p-top-plan-list .item-txt .ttl .en {
    padding-bottom: 1rem;
  }
  .p-top-plan-list .item-txt .ttl .jp{
    font-size: 1.8rem;
  }
  .p-top-plan-list .item-txt{
    margin-top:2rem;
  }
  .p-top-plan-list .item-txt .txt{
    margin-top:1.2rem;
  }
  .p-top-plan-list li .item-pic__arrow{
    display: none;
  }
}


/* P-top Reason
------------------------------------------------------- */
#p-top-reason{
  background-color: #FFFDF4;
  position: relative;
  overflow: hidden;
}
#p-top-reason:before {
  position: absolute;
  top: 10px;
  right: 0;
  content: "REASON";
  color: #3BBFBE;
  font-size: 18rem;
  font-weight: 700;
  line-height: .6;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: -.02em;
  opacity: .05;
}
.p-top-reason-list .item:not(:first-child){
  margin-top:10rem;
}
.p-top-reason-list .item-row-pic{
  width: 40%;
  border-radius: .4rem;
  box-shadow: 8px 8px 0 #B0E4DF;
  overflow: hidden;
}
.p-top-reason-list .item-row-txt{
  width: 53%;
}
.p-top-reason-list .item-row-txt .num{
  color:#3ABFBE;
  font-size:1.4rem;
  font-weight: 700;
  line-height: 1.22;
  position: relative;
  display: inline-block;
  padding-bottom: 1px;
  letter-spacing: 0;
}
.p-top-reason-list .item-row-txt .num span{
  font-size:2.4rem;
}
.p-top-reason-list .item-row-txt .num::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  content: "";
  background-color: #3ABFBE;
}
.p-top-reason-list .item-row-txt .ttl{
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.44;
  margin:1rem 0 2.4rem;
}
.p-top-reason-list .item-row-txt .ttl sup{
  font-size: 1.4rem;
  vertical-align: super;
}
.p-top-reason__voice{
  margin-top:7rem;
  text-align: center;
}
.p-top-reason__voice .subheading{
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  margin-bottom:3rem;
}
.p-top-reason__voice .subheading span{
  background: linear-gradient(#C2EBE4, #C2EBE4) 0 100% / 100% 8px no-repeat;
  display: inline;
}
.p-top-reason__voice .swiper__area {
  position: relative;
}
.p-top-reason__voice .carousel-slider .swiper-slide {
  width: 275px;
  margin: 0 20px 0;
  padding:0 0 12px 0;
}
.p-top-reason__voice .swiper-button-prev,
.p-top-reason__voice .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.p-top-reason__voice .swiper-button-prev {
  top:0;
  left: -30px;
}
.p-top-reason__voice .swiper-button-next {
  top: 0;
  right: -30px;
}
.p-top-reason__voice-btn{
  margin-top:3rem;
}
.p-top-reason-list .counselor-bnr{
  max-width: 160px;
  margin-top:2rem;
}
@media screen and ( max-width:768px) {
  #p-top-reason:before {
    top: 5px;
    right: 0;
    font-size: 16vw;
  }
  .p-top-reason-list .item:not(:first-child){
    margin-top:6rem;
  }
  .p-top-reason-list .item-row-pic{
    width: 100%;
  }
  .p-top-reason-list .item-row-txt{
    margin-top:3rem;
    width: 100%;
  }
  .p-top-reason-list .item-row-txt .num{
    font-size:1.4rem;
  }
  .p-top-reason-list .item-row-txt .num span{
    font-size:2rem;
  }
  .p-top-reason-list .item-row-txt .ttl{
    font-size: 2rem;
    margin:1rem 0 1.2rem;
  }
  .p-top-reason-list .item-row-txt .ttl sup{
  font-size: 1.1rem;
  vertical-align: super;
}
  .p-top-reason__voice{
   width: 100vw;
    margin: 6rem calc(50% - 50vw) 0;
  }
  .p-top-reason__voice .subheading {
    font-size: 1.8rem;
    margin-bottom: 3rem;
}
  .p-top-reason__voice .swiper__area {
    overflow: visible;
  }
  .p-top-reason__voice .carousel-slider .swiper-slide {
    width: 70% !important;
    margin: 0 15px ;
  }
  .p-top-reason__voice .swiper-button-prev {
    top:0;
    left: 30px;
  }
  .p-top-reason__voice .swiper-button-next {
    top: 0;
    right: 30px;
  }
}

/* P-top Movie
------------------------------------------------------- */
#p-top-movie{
  padding-top:12rem;
  text-align: center;
}
#p-top-movie .movie{
  max-width: 98rem;
  margin:0 auto;
}
@media screen and ( max-width:768px) {
  #p-top-movie{
    padding-top:8rem;
  }
}


/* P-top Flow
------------------------------------------------------- */
#p-top-flow {
  text-align: center;
  overflow: hidden;
}
#p-top-flow .swiper__area{
  position: relative;
  overflow: visible;
}
#p-top-flow .swiper {
  overflow: visible;
}
#p-top-flow .swiper-slide {
  width: 340px !important;
  padding:0 0px 60px;
  margin:0 40px 0 0;
}
.flow-list__item .item-pic {
  overflow: hidden;
  position: relative;
  margin-bottom: 2.4rem;
  border-radius: .4rem;
}
.flow-list__item .item-txt .ttl{
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.44;
  margin-bottom:2rem;
  text-align: left;
}
.flow-list__item .item-txt .txt{
  font-size: 1.4rem;
  text-align: left;
}
#p-top-flow .carousel-slider-progress{
  width: 100%;
  left: 0;
  position: absolute;
}
#p-top-flow .swiper-button-prev,
#p-top-flow .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
#p-top-flow  .swiper-button-prev {
  top:-30%;
  left: -30px;
}
#p-top-flow  .swiper-button-next {
  top:-30%;
  right: -30px;
}
.p-top-flow-btn{
  margin-top:5rem;
}
@media screen and ( max-width:768px) {
  .flow-list__item .item-txt .ttl{
    font-size: 1.8rem;
    margin-bottom:1.2rem;
  }
  #p-top-flow .swiper-slide {
    width: 90% !important;
    padding:0 0px 40px;
    margin:0 20px 0;
  }
  #p-top-flow .swiper-button-prev {
    top:-30%;
    left: 0px;
  }
  #p-top-flow .swiper-button-next {
    top:-30%;
    right: 0px;
  }
}



/* P-top Faq
------------------------------------------------------- */
#p-top-faq{
  padding:2rem 0 12rem;
  text-align: center;
}
.faq-contents{
  text-align: left;
  padding: 3rem;
  background-color: #fff;
  border-radius: .4rem;
  border:2px solid #F4F4F4;
  transition: .3s;
}
.faq-contents:not(:first-child){
  margin-top: 2rem;
}
.faq-contents.selected{
  border:2px solid #3ABFBE;
}
.faq-head {
  position: relative;
  cursor: pointer;
}
.faq-head .ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  position: relative;
  padding-left: 5rem;
}
.faq-head .ttl::before {
  content: "Q";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #3ABFBE;
  font-family: "Montserrat", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -4px;
  left: 0;
}
.faq-head .toggle_icon {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: block;
  width: 20px;
  height: 20px;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
}
.faq-head .toggle_icon:before, .faq-head .toggle_icon:after {
  display: block;
  content: '';
  background-color: #3ABFBE;
  position: absolute;
  width: 15px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.faq-head .toggle_icon:before {
  width: 2px;
  height: 15px;
}
.faq-contents.selected .toggle_icon:before {
  content: normal;
}
.faq-contents dd {
  display: none;
}
.faq-body {
  background-color: #FFFDF4;
  margin-top: 1.6rem;
  border-radius: .4rem;
  padding: 3rem;
}
.faq-body {
  letter-spacing: 1px;
  line-height: 1.8;
}
.faq-body a {
  color: #e71b31;
  text-decoration: underline;
}
.faq-body a:focus, .faq-body a:active, .faq-body a:hover {
  color: #e71b31;
  text-decoration: none;
}
.p-top-faq-btn{
  margin-top:5rem;
}
.faq-body .disc-list{
  background-color: #fff;
  padding:20px;
  border-radius: .4rem;
}
@media screen and ( max-width:768px) {
  #p-top-faq{
    padding:2rem 0 8rem;
  }
  .faq-contents{
    padding: 2rem;
  }
  .faq-head {
    padding: 0 3rem 0 0;
  }
  .faq-head .ttl {
    font-size: 1.5rem;
    padding-left: 3.6rem;
  }
  .faq-head .ttl::before {
    width: 26px;
    height: 26px;
    font-size: 1.4rem;
    top: 50%;
    transform: translateY(-50%);
  }
  .toggle_icon:before, .toggle_icon:after {
    width: 10px;
    height: 2px;
  }
  .toggle_icon:before {
    width: 2px;
    height: 10px;
  }
  .faq-body{
    margin-top:10px;
    padding: 2rem;
  }
}


/* P-top Column
------------------------------------------------------- */
#p-top-column{
  background-color: #FFFDF4;
  position: relative;
  text-align: center;
}
#p-top-column .inner{
  max-width: 1480px;
}
.column-category-list.grid-col-4{
  column-gap: 4rem;
  row-gap: 5rem;
}
.column-category-list .item-pic{
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: .4rem;
}
.column-category-list .ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.66;
  margin-top:2rem;
  text-align: left;
}
.column-category-list .txt{
  font-size:1.4rem;
  margin-top:1.6rem;
  text-align: left;
}

.column-list.grid-col-2,
.column-list.grid-col-3{
  column-gap: 5rem;
  row-gap: 6rem;
}
.column-list .item{
  position: relative;
  overflow: hidden;
  text-align: left;
}
.column-list article > a{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.column-list .column-list__pic{
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: .4rem;
}
.column-list .column-list__pic img{
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.column-list .column-list__body {
  margin-top: 2.4rem;
}
.column-list .column-list__body .meta,
.sigle-article_header .meta {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 1.2rem;
}
.column-list .column-list__body .meta .entry-category-nolink,
.sigle-article_header .meta .entry-category-nolink{
  margin-right: 1rem;
}
.column-list .column-list__body .ttl {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.66;
}
.column-list .column-list__body .entry-taglist{
  margin-top:1.6rem;
}
.p-top-column-btn{
  margin-top:4rem;
}
@media screen and ( max-width:768px) {
  .column-list.grid-col-2,
  .column-list.grid-col-3{
    grid-template-columns: repeat(1, 1fr);
    column-gap: 2rem;
    row-gap: 4rem;
  }
  .column-list .column-list__body {
    margin-top: 2rem;
  }
  .column-list .column-list__body .meta {
    margin-bottom: 1.2rem;
  }
  .column-list .column-list__body .ttl {
    font-size: 1.6rem;
  }
  .column-category-list.grid-col-4{
    grid-template-columns: repeat(1, 1fr);
    row-gap: 3rem;
  }
  .column-category-list .ttl {
    font-size: 1.8rem;
    margin-top:2rem;
  }
  .column-category-list .txt{
    font-size:1.2rem;
  }
}



/* P-top news
------------------------------------------------------- */
#p-top-news{
  text-align: center;
  padding:10rem 0 16rem;
}

#p-top-news .sec-heading{
  width: 22%;
  text-align: left;
}
#p-top-news .new-body{
  width: 73%;
  text-align: left;
}

#p-top-news .sec-heading .en {
  font-size: 1.4rem;
}
#p-top-news .sec-heading .jp {
  font-size: 2.4rem;
}
.news-list {
  border-top: rgba(0, 0, 0, .07) solid 1px;
  text-align: left;
}
.news-list .item {
  width: 100%;
  line-height: 1.4;
  border-bottom: rgba(0, 0, 0, .07) solid 1px;
}
.news-list li a {
  padding: 2.4rem 1rem;
  display: block;
}
.news-list li a:hover{
  background-color: #FFFEFC;
}
.news-list li .title{
  position: relative;
  display: inline;
}
.news-list li a[href*=".pdf"] .title:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 15px;
  margin-left: 10px;
  background: url(../img/icon/icon-pdf.svg) no-repeat 50% 50%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 30px auto;
}
.news-list .meta {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 1.6rem;
}
.news-list .meta .entry-category-nolink{
  margin-right: 1rem;
}
.p-top-news-btn{
  margin-top:5rem;
}
.important-news{
  border:4px solid #DB4D4D;
  border-radius: .4rem;
  margin-bottom:6rem;
  padding:3rem 4rem;
}
.important-news .ttl{
  color:#DB4D4D;
  font-size:1.8rem;
  font-weight: 700;
  margin-bottom:2.4rem;
}
/* .important-news .news-list {
  border-top: rgba(219, 77, 77 .07) solid 1px !important;
}
.important-news .news-list .item {
  border-bottom: rgba(219, 77, 77 .07) solid 1px !important;
}
.important-news .news-list .item a{
  color:#DB4D4D;
} */


@media screen and ( max-width:768px) {
  #p-top-news{
    text-align: center;
    padding:6rem 0 10rem;
  }
  #p-top-news .sec-heading{
    width: 100%;
    text-align: center;
  }
  #p-top-news .new-body{
    width: 100%;
  }
  .news-list .meta {
    margin-bottom: 1.2rem;
  }
  .important-news{
    border:2px solid #DB4D4D;
    border-radius: .4rem;
    margin-bottom:4rem;
    padding:3rem 2rem;
  }
  .important-news .ttl{
    font-size:1.6rem;
  }
}


/*
====================================================================
= よくある質問
====================================================================
*/

#p-faq .underlayer-intro{
  text-align: center;
}
#p-faq .faq-box{
  margin-top:9rem;
  padding: 8rem 4rem;
  background-color: #fff;
  border-radius: .4rem;
  position: relative;
  box-shadow: 0px 0px 10px 0px rgba(239, 234, 216, 0.8);
}
@media screen and ( max-width:768px) {
  #p-faq .faq-box{
    margin-top:4rem;
    padding: 4rem 2rem;
  }
}



/*
====================================================================
= 初めての方へ
====================================================================
*/
#p-readme .readme-list{
  column-gap: 2rem;
  row-gap: 2rem;
}
#p-readme .readme-list .item{
  border:1px solid #D9D9D9;
  border-radius: 1rem;
  padding:2rem 3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 2.4rem;
  text-align: left;
}
#p-readme .readme-list .item .img {
  flex-shrink: 0;
  width: 80px;
}
#p-readme .readme-list .item .txt {
  flex-grow: 1;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.66;
}
.underlayer-intro-summary{
  margin-top:6rem;
  text-align: center;
}
.underlayer-intro-summary .sub-heading{
  font-size:1.6rem;
  font-weight: 700;
  line-height: 1.44;
  margin-bottom:1.2rem;
}
.underlayer-intro-summary .main-heading{
  font-size:2.8rem;
  font-weight: 700;
  line-height: 1.44;
}
.p-readme-reason .p-top-reason-list .p-readme-reason__voice-btn{
  margin-top:3rem;
}
@media screen and ( max-width:768px) {
  #p-readme .readme-list{
    column-gap: 1.4rem;
    row-gap: 1.4rem;
  }
  #p-readme .readme-list .item{
    padding:1.4rem 2rem;
    column-gap: 2rem;
  }
  #p-readme .readme-list .item .img {
    width: 60px;
  }
  #p-readme .readme-list .item .txt {
    font-size: 1.5rem;
  }
  .underlayer-intro-summary{
    margin-top:3rem;
  }
  .underlayer-intro-summary .sub-heading{
    font-size:1.4rem;
    margin-bottom:1.2rem;
  }
  .underlayer-intro-summary .main-heading{
    font-size:2rem;
  }
}


/*
====================================================================
= P!っと縁結びについて
====================================================================
*/

#p-about .underlayer-intro .intro-heading .en{
  color:#3ABFBE;
  font-size: 1.4rem;
}
#p-about .underlayer-intro .intro-heading .jp{
  font-size: 2.8rem;
}
@media screen and ( min-width:769px) {
  #p-about .underlayer-intro .inner{
    display: flex;
    align-items: center;
    gap: 6rem;
  }
  #p-about .underlayer-intro .intro-heading{
    font-weight: 700;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    text-align: left;
    padding:0 6rem;
  }
  #p-about .underlayer-intro .intro-heading .en,
  #p-about .underlayer-intro .intro-heading .jp{
    writing-mode: vertical-rl;
  }
  #p-about .underlayer-intro .intro-heading .en{
    padding-right:1.6rem;
  }
}
#p-about .underlayer-intro .intro-body .intro-subheading{
  margin-bottom:3rem;
}
#p-about .underlayer-intro .intro-body .intro-subheading .en{
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.44;
}
#p-about .underlayer-intro .intro-body .intro-subheading .jp{
  display: block;
  font-size: 1.4rem;
  padding-top:.8rem;
}
@media screen and ( max-width:768px) {
  #p-about .underlayer-intro .intro-heading{
    font-weight: 700;
    margin-bottom:3rem;
    text-align: center;
  }
  #p-about .underlayer-intro .intro-heading .en{
    color:#3ABFBE;
    display: block;
    font-size: 1.2rem;
  }
  #p-about .underlayer-intro .intro-heading .jp{
    display: block;
    font-size: 2.6rem;
    padding-top: 1.2rem;
  }
  #p-about .underlayer-intro .intro-body .intro-subheading{
    margin-bottom:2rem;
  }
  #p-about .underlayer-intro .intro-body .intro-subheading .en{
    font-size: 2.4rem;
  }
  #p-about .underlayer-intro .intro-body .intro-subheading .jp{
    font-size: 1.2rem;
  }
}

.p-about-counselor .sec-heading{
  margin-bottom: 8rem;
}
.counselor-list.grid-col-2{
  column-gap: 4rem;
  row-gap: 8rem;
}
.counselor-list .item{
  background-color: #fff;
  border-radius: .4rem;
  padding:0 4rem 4rem;
}
.counselor-list .counselor-list-header {
  text-align: center;
  position: relative;
  top:-40px;
  margin-bottom:-40px;
}
.counselor-list-header .pic{
  border-radius: 50%;
  height: 180px;
  margin:0 auto 2rem;
  overflow: hidden;
  width: 180px;
}
.counselor-list-header .name .jp{
  font-size: 2.4rem;
  font-weight: 700;
}
.counselor-list-header .name .en{
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  padding-top:1rem;
  letter-spacing: .02em;
}
.counselor-list .counselor-list-txt{
  margin-top:2.4rem;
}
@media screen and ( max-width:768px) {
  .p-about-counselor .sec-heading{
    margin-bottom: 6rem;
  }
  .counselor-list .item{
    padding:0 2.4rem 3rem;
  }
  .counselor-list-header .pic{
    height: 160px;
    width: 160px;
  }
  .counselor-list-header .name .jp{
    font-size: 2rem;
  }
  .counselor-list-header .name .en{
    font-size: 1.2rem;
    padding-top:1rem;
  }
  .counselor-list .counselor-list-txt{
    margin-top:2.4rem;
  }
}

.p-about-counseling{
  padding-top: 12rem;
}
.p-about-counseling .pic-item{
  width:40% ;
}
.p-about-counseling .pic-item img{
  border-radius: .4rem;
  overflow: hidden;
}
.p-about-counseling .txt-item{
  width:55% ;
}
.p-about-counseling-ttl{
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.44;
  margin-bottom:1.2rem;
}
.p-about-counseling-ttl span{
  color: #3ABFBE;
  padding-right: .6rem;
}

@media screen and ( max-width:768px) {
  .p-about-counseling{
    padding-top: 8rem;
  }
  .p-about-counseling .pic-item{
    width:100% ;
    margin-bottom:3rem;
  }
  .p-about-counseling .txt-item{
    width:100% ;
  }
  .p-about-counseling-ttl{
    font-size: 2rem;
  }
}



/*
====================================================================
= 会員データ
====================================================================
*/

#p-data .underlayer-intro{
  text-align: center;
}
#p-data .underlayer-intro .page-tab{
  margin:4rem auto 0;
  max-width: 830px;
}
#p-data .underlayer-intro .page-tab ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 24px;
    row-gap: 24px;
}
#p-data .p-data-content .deta-wrap:not(:first-child){
  margin-top:12rem;
}
#p-data .p-data-content .p-data-list{
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
#p-data .p-data-content .p-data-list .item{
  width: calc((100% - 6.4rem) / 2);
}
#p-data .p-data-content .p-data-list .item.w100{
  width: 100%;
}
#p-data .p-data-content .p-data-list .item.w100 .data-chart{
  max-width:750px ;
  margin:0 auto;
}

#p-data .p-data-list .data-box{
  background-color: #fff;
  border-radius: .4rem;
  padding:4rem;
  text-align: center;
}
#p-data .p-data-list .data-caption{
  font-size: 1.4rem;
  margin-top:1.6rem;
}
#p-data .p-data-list .paragraph-1{
  font-size: 1.2rem;
  margin-top:.6rem;
}
.data-box-heading{
  font-size:2rem;
  font-weight: 700;
  line-height: 1.8;
  margin-bottom:2.4rem;
  text-align: center;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}
.data-box-heading span{
  background: linear-gradient(#222, #222) 0 100% / 100% 3px no-repeat;
  padding-bottom:.2rem;
}
.data-h120 img{
  display: block;
  height: 120px;
  width: auto;
  margin:0 auto;
}
.data-num{
  color:#3ABFBE;
  font-size: 6.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  margin-top:3rem;
}
.data-num span{
  font-size: 2.4rem;
}
.data-num.m-less{
  margin-top:0;
  margin-bottom:3rem;
}

.data-married-person .ttl{
  font-size:2.4rem;
  font-weight: 700;
  line-height: 1.44;
  margin-bottom:6rem;
  position: relative;
  text-align: center;
}
.data-married-person .ttl::after {
  background: #3ABFBE;
  content: "";
  width: 30px;
  height: 3px;
  position: absolute;
  bottom: -3rem;
  left: 50%;
  transform: translateX(-50%);
}

.data-num-sex{
  display: flex;
  gap: 30px;
  justify-content: center;
  align-items: center;
}
.data-num-sex .data-num{
  position: relative;
  padding-left:60px;
}
.data-num-sex .data-num::before {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #3ABFBE;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.data-num-sex .data-num.icon-man::before {
  content: "男性";
}
.data-num-sex .data-num.icon-woman::before {
  content: "女性";
}
.data-box-sunheading{
  border: 2px solid #3ABFBE;
  color:#3ABFBE;
  border-radius: 8rem;
  display: inline-flex;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 1.6rem;
  padding: .8rem 2rem .6rem;
}
.p-data-list.grid-col-1 .data-chart{
  max-width: 760px;
  margin:0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 4rem;
  row-gap: 4rem;
}
#p-data .p-data-content .year-num{
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  margin-bottom:2rem;
}
#p-data .p-data-content .year-num span{
  color:#3ABFBE;
  font-size:4rem;
}
#p-data .data01-box{
  background-color: #D7F2F2;
  border-radius: 4px;
  padding:30px;
  margin-bottom:50px;
}
#p-data .data01-box .box-in{
  background-color: #fff;
  border-radius: 4px;
  padding:30px;
}
#p-data .data01-box .box-in .data-member{
  border-bottom:1px solid #ddd;
  padding-bottom:20px;
  margin-bottom:20px;
  display: flex;
  justify-content: center;
  gap:40px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.22;
}
#p-data .data01-box .box-in .data-member .emphasis{
  color: #3ABFBE;
  font-size: 3.6rem;
}

@media screen and ( max-width:768px) {
  #p-data .underlayer-intro .page-tab{
  margin:2.4rem auto 0;
}
#p-data .underlayer-intro .page-tab ul {
    grid-template-columns: repeat(1, 1fr);
    column-gap: 10px;
    row-gap: 10px;
}
  #p-data .p-data-content .deta-wrap:not(:first-child){
    margin-top:6.4rem;
  }
  #p-data .p-data-content .p-data-list{
    gap: 2.4rem;
  }
  #p-data .p-data-content .p-data-list .item{
    width: 100%;
  }
  #p-data .p-data-list .data-box{
    padding:2rem 1.2rem;
  }
  .data-box-heading{
    font-size:1.8rem;
    margin-bottom:2.4rem;
  }
  .data-h120 img{
    height: 100px;
    width: auto;
  }
  .data-num{
    color:#3ABFBE;
    font-size:3.6rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    margin-top:1.6rem;
  }
  .data-num.m-less{
    margin-top:0;
    margin-bottom:1.6rem;
  }
  .data-num span{
    font-size: 1.4rem;
  }
  .data-married-person{
    margin-top:8rem;
  }
  .data-married-person .ttl{
    font-size:2rem;
  }
  .data-married-person .ttl::after {
    background: #3ABFBE;
    content: "";
    width: 30px;
    height: 3px;
    position: absolute;
    bottom: -3rem;
    left: 50%;
    transform: translateX(-50%);  }

  .data-num-sex{
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
  }
  .data-num-sex .data-num{
    position: relative;
    padding-left:40px;
  }
  .data-num-sex .data-num::before {
    width: 30px;
    height: 30px;
    font-size: 1rem;
  }
  .p-data-list.grid-col-1 .data-chart{
    width: 70%;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 2rem;
    row-gap: 3rem;
  }
  #p-data .p-data-content .year-num{
    font-size: 1.4rem;
    margin-bottom:2rem;
  }
  #p-data .p-data-content .year-num span{
    font-size:2.6rem;
  }
  #p-data .data01-box{
    padding:10px;
    margin-bottom:36px;
  }
  #p-data .data01-box .box-in{
    padding:20px;
  }
  #p-data .data01-box .box-in .data-member{
    padding-bottom:14px;
    margin-bottom:14px;
    flex-wrap: wrap;
    gap:8px;
    font-size: 1.4rem;
  }
  #p-data .data01-box .box-in .data-member .emphasis{
    font-size: 2.4rem;
  }
}
.data-box-detailing {
  max-width: 440px;
  margin: 3rem auto 0;
}
.data-box-detailing .gender-label {
  display: flex;
  -moz-column-gap: 12px;
  column-gap: 12px;
  justify-content: end;
  margin-bottom: 4px;
}
.data-box-detailing .gender-label .man_label_container .man_label,
 .data-box-detailing .gender-label .woman_label_container .woman_label{
  width: 6.4rem;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 100%;
  padding-bottom: 4px;
}
.data-box-detailing .gender-label .man_label_container .man_label{
  color: #039196;
}
.data-box-detailing .gender-label .woman_label_container .woman_label {
  color: #D15974;
}
.data-box-detailing .detai_data_list {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
.data-box-detailing .detai_data_list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* height: 14px */
}
.data-box-detailing .detai_data_list li .label {
  order: 1;
  text-align: left;
  font-size:1.4rem;
  font-weight: 700;
  line-height: 120%;
  white-space: nowrap;
  align-items: center
}
.data-box-detailing .detai_data_list li .num_container {
  order: 3;
  display: flex
}
.data-box-detailing .detai_data_list li .num_container p {
  width: 72px;
  text-align: center
}
.data-box-detailing .detai_data_list li .num_container p.man_num,
.data-box-detailing .detai_data_list li .num_container p.woman_num {
  text-align: right;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  padding-right:8px;
  letter-spacing: 0;
}
.data-box-detailing .detai_data_list li .num_container p.man_num{
  color: #039196;
}
.data-box-detailing .detai_data_list li .num_container p.woman_num {
  color: #D15974;
}
.detai_data_list .num_container .man_num span,
.detai_data_list .num_container .woman_num span{
  position: relative;
  padding-right:1.4rem;
}
.detai_data_list .num_container .man_num span:before,
.detai_data_list .num_container .woman_num span:before {
  content: "%";
  position: absolute;
  right: 0;
  bottom: .2rem;
  font-size: 1.4rem;
  line-height: 100%;
}
@media screen and ( max-width:768px) {
  .data-box-detailing {
    max-width: 440px;
    margin: 2.4rem 0 0;
  }
  /* .data-box-detailing .detai_data_list li {
    min-height: 24px;
    max-height: 24px;
  } */
  .data-box-detailing .gender-label .man_label_container .man_label,
  .data-box-detailing .gender-label .woman_label_container .woman_label{
    font-size: 1.2rem;
  }
  .data-box-detailing .detai_data_list li .label {
    font-size:1.2rem;
  }
  .data-box-detailing .detai_data_list li .num_container p.man_num,
  .data-box-detailing .detai_data_list li .num_container p.woman_num {
    font-size: 1.2rem;
  }
  .detai_data_list .num_container .man_num span,
.detai_data_list .num_container .woman_num span{
  padding-right:1rem;
}
  .detai_data_list .num_container .man_num span:before,
  .detai_data_list .num_container .woman_num span:before {
    font-size: 1rem;
    bottom: 0rem;
  }
}




/*
====================================================================
= プラン・料金
====================================================================
*/

#p-plan .underlayer-intro{
  text-align: center;
}
.price-plan .price-plan-list .item{
  background-color: #fff;
  border-radius: .4rem;
  border:3px solid #F0F0F0;
  /* overflow:hidden; */
  position: relative;
}
.price-plan .price-plan-list .item.plan-basic{
  background-color: #F5FFFF;
  border-color:#3BBFBE;
}
.price-plan .price-plan-list .item .icon-recommend {
    width: 80px;
    height: 80px;
    background: #3BBFBE;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    border-radius: 100%;
    position: absolute;
    left: -15px;
    top: -15px;
}
.price-plan-list__img{
  overflow: hidden;
  aspect-ratio: 564 / 260;
}
.price-plan-list__txt{
  padding: 4rem 3.6rem;
  display: flex;
  flex-direction: column;
}
.price-table{
  background-color: #fff;
  border-top:1px solid #EFEFEF;
  border-left:1px solid #EFEFEF;
  border-right:1px solid #EFEFEF;
  font-size: 1.4rem;
  width: 100%;
  margin-top:2.4rem;
}
.price-table th {
  background-color: #F1F1F5;
  border-bottom: 1px solid #fff;
  letter-spacing: .02em;
  width: 30%;
  padding: 1.4rem 1rem;
  text-align: left;
}
.price-table td {
  border-bottom: 1px solid #EFEFEF;
  padding: 1.4rem 1rem;
  letter-spacing: .02em;
}
.initial-cost{
  display: flex;
  margin-top:.8rem;
  opacity: .6;
}
.initial-cost .initial-cost_item{
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  font-size: 1.2rem;
}
.initial-cost .initial-cost_item .price .price-bl{
  font-size: 1.6rem;
  font-weight: 700;
}
.initial-cost .initial-cost_plus {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: auto 6px;
  font-size: 1.8rem;
}
.price-box01 .emphasis{
  font-size: 2.4rem;
  font-weight: 700;
}
.price-box02 .emphasis{
  font-size: 1.8rem;
  font-weight: 700;
}
.price-table .price-credit{
  display: flex;
  gap: 8px;
}
.price-table .price-credit img{
  height: 30px;
  width: auto;
}
.price-plan-list__txt .tx-caption{
  text-align: right;
  margin-top:1rem;
  letter-spacing: .02em;
}
.price-plan .paragraph-1{
  font-size: 1.2rem;
  margin-top:2rem;
}
.card-txt{
  font-size: 1.2rem;
}
.price-plan .price-table .paragraph-1{
  margin-top:.8rem;
}
.price-table .disc-list{
  margin-top:0;
}
.price-table .disc-list li:before {
  top: 10px;
}
@media screen and ( max-width:768px) {
  .price-plan .price-plan-list .item .icon-recommend {
    width: 68px;
    height: 68px;
    font-size: 1.2rem;
    left: -15px;
    top: -15px;
}
  .price-plan-list__txt{
    padding: 3rem 2.4rem;
  }
  .price-table th {
    display: block;
    width: 100%;
    padding: 1rem 1rem;
    text-align: center;
  }
  .price-table td {
    display: block;
    width: 100%;
    padding: 1rem 1rem;
    letter-spacing: .02em;
  }
  .initial-cost .initial-cost_item .price .price-bl{
    font-size: 1.4rem;
  }
  .price-box01 .emphasis{
    font-size: 2rem;
  }
  .price-box02 .emphasis{
    font-size: 1.6rem;
    font-weight: 700;
  }
  .price-table .price-credit img{
    height: 28px;
    width: auto;
  }
}

.p-plan-content .support-plan{
  margin-top:12rem
}
.support-plan-list.grid-col-3{
  background-color: #F5FBFC;
  border-radius: .4rem;
  display: grid;
  column-gap: 2rem;
  row-gap: 2rem;
  padding:3rem;
}
.support-plan-list .item{
  background-color: #fff;
  border-radius: .4rem;
  padding:1.6rem 2rem;
  display: flex;
  align-items: center;
  gap: 16px;
}
.support-plan-list .item-img{
  width: 66px;
  height: 66px;
  flex-shrink: 0;
}
.support-plan-list .item-txt{
  font-weight: 700;
  line-height: 1.44;
  flex-grow: 1;
}
.support-plan-list .item-txt span{
  font-size: 1.2rem;
}
.support-plan .paragraph-1 {
  font-size: 1.2rem;
  margin-top: 2rem;
}
@media screen and ( max-width:768px) {
  .p-plan-content .support-plan{
    margin-top:8rem;
  }
  .support-plan-list.grid-col-3{
    padding:2rem;
    row-gap: 1rem;
  }
  .support-plan-list .item-img{
    width: 50px;
    height:  50px;
  }
}


#p-plan .support-document{
  margin: 12rem 0;
}
#p-plan .plan-document-box{
  border:3px solid #F0F0F0;
  border-radius: .4rem;
  padding:7rem 6rem;
}
#p-plan .plan-document-box .grid-col-2{
  column-gap: 2rem;
  row-gap: 1rem;
}
#p-plan .plan-document-box .ttl{
  font-size:1.8rem;
  font-weight: 700;
  line-height: 1.44;
  margin:3rem 0 1.2rem;
}
@media screen and ( max-width:768px) {
  #p-plan .support-document{
    margin: 8rem 0;
  }
  #p-plan .plan-document-box{
    border:2px solid #F0F0F0;
    padding:3rem 2rem;
  }
  #p-plan .plan-document-box .ttl{
    font-size:1.4rem;
    margin:3rem 0 1.2rem;
  }
}

/*
====================================================================
= 成功事例
====================================================================
*/
.episode-list__item{
  position: relative;
  text-align: left;
}
.episode-list__item .item-pic {
  border-radius: .4rem;
  border: 1px solid #EFEFEF;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  margin-bottom:2rem;
}
.episode-list__item .item-pic img{
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.episode-list__item .item-txt .entry-profile{
  /* text-align: center; */
  font-size:1.4rem;
  font-weight: 700;
  line-height: 1.44;
  margin-bottom:1rem;
  opacity: .6;
}
.episode-list__item .item-txt .ttl{
  /* text-align: center; */
  font-size:1.6rem;
  font-weight: 700;
  line-height: 1.44;
}
.episode-list.grid-col-3 {
  column-gap: 5rem;
  row-gap: 5rem;
}

#p-episode-single .inner{
  max-width: 860px;
  margin:0 auto;
}
.episode-profile{
  border:2px solid #dbdbdb;
  border-radius: .4rem;
  margin: 25px 0;
  width: 100% !important;
  padding:3rem;
}
.episode-profile .episode-profile__heading{
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom:1.4rem;
}
.episode-profile-row{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 4rem;
  row-gap: 3rem;
  position: relative;
}
.episode-profile-row .item{
  position: relative;
  font-size: 1.4rem;
}
.episode-profile-row:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  height: 100%;
  width: 1px;
  background-color: #D9D9D9;
}
.episode-profile-row .item:nth-child(1){
  padding-right:2rem;
}
.episode-profile-row .item:nth-child(2){
  padding-left:2rem;
}
.episode-profile-row .item .sex-ttl{
  border-radius: 60px;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0;
  padding: .6rem 1.6rem;
  color: #fff;
}
.episode-profile-row .item .sex-ttl.woman{
  background-color: #F091A7;
}
.episode-profile-row .item .sex-ttl.man{
  background-color: #83CCC8;
}
.episode-profile-row .item .txt{
  margin-top:1.4rem;
}


@media screen and ( max-width:768px) {
  .episode-list__item .item-pic {
    margin-bottom:1.6rem;
  }
  .episode-list__item .item-txt .entry-profile{
    font-size:1.2rem;
  }
  .episode-list__item .item-txt .ttl{
    font-size:1.6rem;
  }
  .episode-profile{
    padding:2rem 2rem;
  }
  .episode-profile .episode-profile__heading{
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom:1.4rem;
  }
  .episode-profile-row{
    grid-template-columns: repeat(1, 1fr);
    row-gap: 3rem;
  }
  .episode-profile-row:before {
    top: 50%;
    left: 0;
    height: 1px;
    width: 100%;
  }
  .episode-profile-row .item:nth-child(1){
    padding:0 0 1rem 0;
  }
  .episode-profile-row .item:nth-child(2){
    padding:1rem 0 0 0 ;
  }
}


/*
====================================================================
= ご登録・結婚までの流れ
====================================================================
*/

#p-flow .underlayer-intro{
  text-align: center;
}
.flow-list .item{
  background-color: #fff;
  box-shadow: 0px 0px 10px 0px rgba(239, 234, 216, 0.8);
  border-radius:.4rem;
  padding:6rem;
  position: relative;
}
.flow-list .item:not(:first-child){
  margin-top:7rem;
}
.flow-list .item:before {
  content: "01";
  width: 80px;
  height: 80px;
  background-color: #3ABFBE;
  border-radius: 50%;
  border: 8px solid #FFFDF4;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top:-16px;
  left: -16px;
}
.flow-list .item:nth-child(2):before{
  content: "02";
}
.flow-list .item:nth-child(3):before{
  content: "03";
}
.flow-list .item:nth-child(04):before{
  content: "04";
}
.flow-list .item:nth-child(05):before{
  content: "05";
}
.flow-list .item .pic-item{
  width: 45%;
}
.flow-list .item .pic-item img{
  border-radius: .4rem;
  overflow: hidden;
}
.flow-list .item .txt-item{
  width: 50%;
}
.flow-list .item .txt-item .flow-heading{
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.44;
  margin-bottom:2rem;
}
.p-flow-content-btn{
  margin-top:3rem;
}
.p-flow-content-btn .link-btn{
  background: #F091A7;
  border: 2px solid #F091A7;
  color: #fff;
}
.p-flow-content-btn .link-btn .btn-arw {
  background-color: #fff;
}
.p-flow-content-btn .link-btn .btn-arw svg {
  fill: #F091A7;
}
.p-flow-content-btn .link-btn:hover {
  border: 2px solid #FC7796;
  background: #FC7796;
}
.p-flow-content-btn .link-btn .btn-arw:before {
  background:  #FC7796;
}
@media screen and ( max-width:768px) {
  .flow-list .item{
    padding:3rem 2.4rem;
  }
  .flow-list .item:not(:first-child){
    margin-top:4rem;
  }
  .flow-list .item:before {
    width: 60px;
    height: 60px;
    border: 4px solid #FFFDF4;
    font-size: 1.6rem;
    top:-16px;
    left: -16px;
  }
  .flow-list .item .pic-item{
    width: 100%;
    margin-bottom:3rem
  }
  .flow-list .item .txt-item{
    width: 100%;
  }
  .flow-list .item .txt-item .flow-heading{
    font-size:2rem;
    margin-bottom:1.6rem;
  }
  .p-flow-content-btn{
    margin-top:2rem;
  }
  .p-flow-content-btn .link-btn{
    width: 100%;
  }
}


/*
====================================================================
= イベント・ニュース
====================================================================
*/


/*
====================================================================
= 婚活コラム
====================================================================
*/
.column-search-box{
  background-color: #FFFDF4;
  border-radius: .4rem;
  margin-bottom:8rem;
  padding:4rem;
}
.column-search-box__heading{
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.44;
  margin-bottom:1.6rem;
}
.column-search-box .entry-category li a{
  font-size: 1.4rem;
  padding: 1.6rem 2.4rem 1.4rem 2.4rem;
}

.column-search-box__tag{
  margin-top:4rem;
  padding: 2.5rem 3rem;
  background-color: #fff;
  border:2px solid #E0E0E0;
  border-radius: .4rem;
}
.tag-accordion__heading {
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.tag-accordion__heading .ttl{
  font-size:2.2rem;
  font-weight: 700;
  line-height: 1.4;
}
.tag-accordion__heading .toggle_icon {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: block;
  width: 14px;
  height: 14px;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
}
.tag-accordion__heading .toggle_icon:before,
.tag-accordion__heading .toggle_icon:after {
  display: block;
  content: '';
  background-color: #3BBFBE;
  position: absolute;
  width: 14px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.tag-accordion__heading .toggle_icon:before {
  width: 2px;
  height: 14px;
}
.tag-accordion__heading.selected .toggle_icon:before {
  content: normal;
}
.tag-accordion__body {
  margin-top:2rem;
  display: none;
}
@media screen and (max-width: 768px) {
  .column-search-box{
    margin-bottom:6rem;
    padding:2rem;
  }
  .column-search-box__heading{
    font-size: 1.8rem;
  }
  .column-search-box__tag{
    margin-top:3rem;
    padding: 1.6rem 2rem 1.6rem 2rem;
  }
  .tag-accordion__heading .ttl{
    font-size:1.8rem;
  }
}




.sigle-article_content{
  margin-bottom: 8rem;
  padding-bottom: 8rem;
  border-bottom: rgba(0, 0, 0, .04) solid 2px;
}
.sigle-article_header .entry-profile{
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom:.8rem;
  line-height: 1.44;
  opacity: .6;
}
.sigle-article_header .entry-title {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.44;
  margin-bottom: 2.4rem;
}
.sigle-article_body > *:first-child{
  margin-top: 0;
}
.sigle-article_body > *:last-child{
  margin-bottom: 0;
}
.article-mv {
  text-align: center;
  margin-bottom:3rem;
}
.sigle-article_body > *{
  margin-top: 3rem;
}
.sigle-article_body a{
  color: #222;
  text-decoration: underline;
}
.sigle-article_body a:focus,
.sigle-article_body a:active,
.sigle-article_body a:hover {
  color: #222;
  text-decoration: none;
}
.sigle-article_body h2{
  border-radius: .8rem;
  background-color: #FFFDF4;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.44;
  margin-top: 6.4rem;
  margin-bottom: 2.4rem;
  padding: 2rem 2rem;
}
.sigle-article_body h3{
  border-bottom:2px solid #EFEFEF;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  padding-bottom:1.5rem;
  margin-top: 5rem;
  margin-bottom: 2.4rem;
}
.sigle-article_body h4{
  font-size: 1.8rem;
  line-height: 1.44;
  font-weight: 700;
  padding-left: 1rem;
  border-left: 5px solid #3ABFBE;
  margin-top: 2.4rem;
  margin-bottom: 1.5rem;
}
.sigle-article_body h5{
  color:#3ABFBE;
  font-size:1.6rem;
  font-weight: 700;
  line-height: 1.44;
  margin-top: 2.4rem;
  margin-bottom: 1rem;
}
.sigle-article_body h2 + *,
.sigle-article_body h3 + *,
.sigle-article_body h4 + *,
.sigle-article_body h5 + *,
.sigle-article_body h6 + * {
  margin-top: 0;
}

@media screen and (max-width:768px) {
  .sigle-article_content{
    margin-bottom: 4rem;
    padding-bottom: 4rem;
    border-bottom: rgba(0, 0, 0, .04) solid 2px;
  }
  .sigle-article_header .entry-profile{
    font-size: 1.2rem;
  }
  .sigle-article_header .entry-title{
    font-size: 2.4rem;
  }
  .sigle-article_body h2{
    font-size: 2rem;
  }
  .sigle-article_body h3{
    font-size: 1.8rem;
  }
  .sigle-article_body h4{
    font-size:1.6rem;
  }
  .sigle-article_body h5{
    font-size:1.4rem;
  }
}


.sigle-article_body strong{
  font-weight: bold;
}
.sigle-article_body .wp-block-image{
  margin-top: 3rem;
	margin-bottom:0;
  border-radius: .4rem;
  overflow: hidden;
}
/* Ul list */
.sigle-article_body ul:not(.toc_list) > li  {
  position: relative;
  padding-left: 15px;
  line-height: 1.8;
}
.sigle-article_body ul > li::after {
  content: '';
  display: block;
  position: absolute;
  top: 11px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #3ABFBE;
}
/* Ol list */
.sigle-article_body ol {
  counter-reset: number;
}
.sigle-article_body ol > li {
  position: relative;
  padding-left: 24px;
  line-height: 1.8;
}
.sigle-article_body ol > li::after {
  color:#3ABFBE;
  font-weight: 700;
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number;
  display: inline-block;
  content: counter(number) '.';
  font-family: "Montserrat", sans-serif;
}

/* wp-block-quote */
.sigle-article_body .wp-block-quote,
.sigle-article_body blockquote {
  padding: 30px;
  margin-top: 30px;
  /* margin-bottom: 25px; */
  background: #f5f5f5;
  border-radius: 2px;
  font-size: 1.4rem;
  line-height: 1.44;
  border: none;
}
.sigle-article_body .wp-block-quote cite,
.sigle-article_body blockquote cite{
  opacity: .6;
  font-size: 1.2rem;
}
.sigle-article_body .wp-block-quote > :first-child,
.sigle-article_body blockquote > :first-child {
  margin-top: 0;
}
.sigle-article_body .wp-block-quote > :last-child,
.sigle-article_body blockquote > :last-child {
  margin-bottom: 0;
}

/* wp-element-caption */
.sigle-article_body .wp-element-caption {
  display: block;
  opacity: .6;
  margin-top: 10px;
  font-size: 1.2rem;
  line-height: 1.6;
  text-align: center;
}

/* wp-block-table */
.sigle-article_body .wp-block-table,
.sigle-article_body table {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .sigle-article_body .wp-block-table,
  .sigle-article_body table {
    margin-top: 25px;
    margin-bottom: 25px;
  }
  .sigle-article_body .wp-block-quote,
  .sigle-article_body blockquote {
    padding: 15px;
  }
}
.sigle-article_body table{
  margin-top: 30px;
  width: 100%;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  color:#111;
}
.sigle-article_body  table th,
.sigle-article_body table td{
  vertical-align: middle;
  line-height: 1.6;
  font-size: 1.4rem;
  padding: 15px 10px;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.sigle-article_body table th > *:first-child,
.sigle-article_body table td > *:first-child{
  margin-top: 0;
}
.sigle-article_body table th > *:last-child,
.sigle-article_body table td > *:last-child {
  margin-bottom: 0;
}
.sigle-article_body table th{
  background: #efefef;
  font-weight: bold;
  text-align: left;
}
.sigle-article_body table td {
  background: #fff;
}
.sigle-article_body table thead th {
  background: #efefef;
}
.sigle-article_body table caption {
  text-align: left;
  font-size: 1.2rem;
  line-height: 1.8;
  margin-bottom: 16px;
}

@media screen and (max-width: 768px) {
  .sigle-article_body table th,
  .sigle-article_body table td {
    font-size: 1.2rem;
    padding: 15px 10px;
  }
}


/* Side
-----------------------------------------------------*/
.side-entry-list li {
  position: relative;
}
.side-entry-list li a {
  display: block;
  cursor: pointer;
  overflow: hidden;
  color:#111;
  padding: 15px 0;
}
.side-entry-list .side-entry-list-row{
  display: flex;
}
.side-entry-list .side-entry-list-row .archive-thumb {
  width: 100px;
  flex-shrink: 0;
}
.side-entry-list .side-entry-list-row .archive-thumb .thumb{
  overflow: hidden;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: .4rem;
}
.side-entry-list .side-entry-list-row .archive-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.side-entry-list .side-entry-list-row .archive-body {
  padding: 0 0 0 2rem;
  flex-grow: 1;
  line-height: 1.6;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
}
.side-entry-list .side-entry-list-row .archive-body .entry-date {
  color: #666;
  margin-bottom: .4rem;
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1;
}
.side-entry-list .side-entry-list-row .archive-body .entry-ttl {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.44;
  overflow: hidden;
  color: #222;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.single-related{
  background-color:#FFFDF4 ;
  margin-top:10rem;
  padding:6rem 0;
}
@media screen and (max-width: 768px) {
  .single-related{
    margin-top:8rem;
    padding:4rem 0;
  }
}



/*
====================================================================
= プライバシーポリシー
====================================================================
*/

#p-privacy .inner{
  max-width: 1040px;
  margin:0 auto;
}
.privacy-enactment{
  font-size: 1.4rem;
  margin-top:1.6rem;
  text-align: right;
}
.privacy-heading {
  border-radius: .8rem;
  background-color: #FFFDF4;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.44;
  margin-bottom: 2.4rem;
  padding: 2rem 2rem;
}
.p-privacy-section{
  margin-top: 6.4rem;
}
.privacy-middleheading{
  border-bottom: 2px solid #EFEFEF;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  padding-bottom: 1.5rem;
  margin-top: 4rem;
  margin-bottom: 2.4rem;
}
.privacy-smallheading{
  color:#3BBFBE;
  font-weight: 700;
  padding-bottom: 1.5rem;
  margin-top: 2rem;
}
.p-privacy-section h2 + *,
.p-privacy-section h3 + *,
.p-privacy-section h4 + *,
.p-privacy-section h5 + *,
.p-privacy-section h6 + * {
  margin-top: 0;
}
@media screen and (max-width:768px) {
  .privacy-heading{
    font-size: 1.8rem;
  }
  .privacy-middleheading{
    font-size: 1.6rem;
  }
  .p-privacy-section{
    margin-top: 5rem;
  }
}


/*
====================================================================
= 特定商取引法に基づく表示
====================================================================
*/

#p-terms .inner{
  max-width: 1040px;
  margin:0 auto;
}
#p-terms table{
  border-top: 1px solid #EFEFEF;
  font-size: 1.4rem;
  width: 100%;
}
#p-terms table th {
  background-color: #F1F1F5;
  border-bottom: 1px solid #fff;
  letter-spacing: .02em;
  width: 24%;
  padding: 2.4rem 2rem;
  text-align: left;
}
#p-terms table td {
  border-bottom: 1px solid #EFEFEF;
  padding: 2.4rem 2rem;
  letter-spacing: .02em;
}
#p-terms table .ttl{
  font-size:1.6rem;
  font-weight: 700;
  margin:1.4rem 0 0;
}
#p-terms table a{
  color: #222;
  text-decoration: underline;
}
#p-terms table a:focus,
#p-terms table a:active,
#p-terms table a:hover {
  color: #222;
  text-decoration: none;
}
@media screen and (max-width:768px) {
  #p-terms table th {
    display: block;
    width: 100%;
    padding: 2rem 0;
    text-align: center;
  }
  #p-terms table td {
    display: block;
    padding: 2rem 0;
  }
}


/*
====================================================================
= 無料相談
====================================================================
*/

#p-reserve .inner,
#p-contact .inner{
  max-width: 1040px;
  margin:0 auto;
}
#p-reserve .lead-copy{
  margin-bottom: 6rem;
  text-align: center;
}
#p-reserve .form-item{
  width: 100%;
  text-align: left;
  margin-bottom: 5.6rem;
}
#p-reserve .form-item dt {
  text-align: left;
  font-weight: 700;
  width: 100%;
  position: relative;
  margin-bottom: 1.5rem;
}
#p-reserve .form-item dt:after {
  border:1px solid #FF3E3E;
  border-radius: .3rem;
  content: "必須";
  font-size: 12px;
  font-weight: 400;
  color: #FF3E3E;
  padding: 2px 3px;
  margin-left: 1rem;
}
#p-reserve .form-item dd{
  width: 100%;
}

#p-reserve form select option {
  font-size: 16px;
}
#p-reserve form dl input:focus,
#p-reserve form dl input:focus,
#p-reserve form dl textarea:focus{
  outline: none;
  background: #fff;
  border : 1px solid #3BBFBE;
}
#p-reserve .form-row{
  display: flex;
  flex-wrap: wrap;
  grid-gap: 16px;
}
#p-reserve .form-row .mwform-radio-field label,
#p-reserve .form-row .mwform-checkbox-field label {
  display: block;
  border: 1px solid #DEDEDE;
  background: #F5F8FA;
  color: #111;
  padding: 1.4rem 2.2rem;
  line-height: 1;
  cursor: pointer;
  max-width: 100%;
  border-radius: .4rem;
}
#p-reserve .form-row .mwform-radio-field label:hover,
#p-reserve .form-row .mwform-checkbox-field label:hover {
  border-color: #3BBFBE;
}

@media screen and (max-width:768px) {
  #p-reserve .form-row .mwform-radio-field label,
  #p-reserve .form-row .mwform-checkbox-field label {
    padding: 1.4rem 1.6rem;
  }
}



/* チェックボック・ラジオボタン */
#p-reserve form label{
  display: inline-block;
}
#p-reserve .mwform-checkbox-field, .mwform-radio-field {
  print-color-adjust: exact;
  /* display: block; */
  z-index: 1;
  position: relative;
  /* min-height: 1.5rem; */
}
#p-reserve .mwform-checkbox-field input,
#p-reserve.mwform-radio-field input {
  margin-right: 5px;
}
#p-reserve input[type=checkbox],
#p-reserve input[type=radio] {
  display: none;
}
#p-reserve button,
#p-reserve input[type=button],
#p-reserve input[type=submit],
#p-reserve label,
#p-reserve select {
  cursor: pointer;
}
#p-reserve select::-ms-expand {
  display: none;
}
#p-reserve .mwform-radio-field label input[type=radio]+span {
  display: block;
  position: relative;
  cursor: pointer;
  padding-left: 2.5rem;
  line-height: 2;
}
@media screen and (max-width:768px) {
  #p-reserve .mwform-radio-field label input[type=radio]+span {
    font-size: 1.4rem;
  }
  #p-reserve .form-item__birthday .item .select {
    width: 8rem;
  }
  #p-reserve .contact-form-box .select select{
    padding:1.7rem 1rem;
  }
}
#p-reserve .mwform-radio-field label input[type=radio]+span:after {
  position: absolute;
  content: "";
  width: 18px;
  height: 18px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border: 1px solid #999;
  border-radius: 50%;
  background-color: transparent;
}
#p-reserve .mwform-radio-field label input[type=radio]+span:before {
  position: absolute;
  content: "";
  width: 18px;
  height: 18px;
  top: 50%;
  left: 0;
  border: 4px solid #fff;
  border-radius: 50%;
  background-color: #3BBFBE;
  transform: translateY(-50%) scale(0);
  transition: transform .3s;
  opacity: 0
}
#p-reserve .mwform-radio-field label input[type=radio]:checked+span:before {
  opacity: 1;
  transform: translateY(-50%) scale(1.1)
}
#p-reserve .mwform-checkbox-field label input[type=checkbox]+span {
  position: relative;
  display: inline-block;
  cursor: pointer;
  line-height: 2;
  padding-left: 2.8rem;
}
#p-reserve .mwform-checkbox-field label input[type=checkbox]+span:before {
  position: absolute;
  content: "";
  width: 18px;
  height: 18px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #fff;
  border: 1px solid #999;
  border-radius: .2rem;
}
#p-reserve .mwform-checkbox-field label input[type=checkbox]+span:after {
  position: absolute;
  content: "";
  width: 6px;
  height: 10px;
  top: calc(50% - 2px);
  left: 6px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg) scale(0);
  opacity: 0;
  transition: transform .3s;
}
#p-reserve .mwform-checkbox-field label input[type=checkbox]:checked+span:before {
  border: 1px solid #3BBFBE;;
  background-color: #3BBFBE;;
}
#p-reserve .mwform-checkbox-field label input[type=checkbox]:checked+span:after {
  opacity: 1;
  transform: translateY(-50%) rotate(45deg) scale(1.1);
}



#p-reserve .form-item .age{
  display: flex;
  align-items: center;
}
#p-reserve .form-item .age input {
  width: 10rem;
}
#p-reserve .form-item .age .txt{
  padding-left: 1rem;
}
#p-reserve .form-item dd .form-txt{
  margin-bottom:1rem;
  font-size:1.6rem;
}
#p-reserve .reserve-privacy{
  text-align: center;
}
#p-reserve .reserve-privacy p{
  margin-bottom:2rem;
}
#p-reserve .reserve-privacy a{
  color:#222;
  text-decoration: underline;
}
#p-reserve .reserve-privacy a:hover{
  color:#222;
  text-decoration: none;
}


/* 送信ボタン */
#p-reserve .entry-btn {
  margin:5rem auto 0;
  overflow:hidden;
  text-align:center;
}
#p-reserve .entry-btn input {
  cursor:pointer;
  background:#3ABFBE;
  color:#fff;
  border:none;
  border-radius: 8rem;
  font-weight:bold;
  font-size:1.6rem;
  padding:3rem 0;
  width:30rem;
  margin: 0 .5rem .5rem;
}
#p-reserve .entry-btn .btn-back{
  background: #888;
}
#p-reserve .entry-btn input:hover {
  background: #666;
}
@media screen and (max-width: 768px) {
  #p-reserve .entry-btn {
    margin:3rem auto 0;
  }
  #p-reserve .entry-btn input {
    display: block;
    padding:2.8rem 0;
    margin: 0 auto 1rem;
  }
}
#p-reserve .iframe-wrapper,
#p-contact .iframe-wrapper {
  position: relative;
  padding-top: 100%;
  height: 0;
  overflow: hidden;
}
#p-reserve .iframe-wrapper iframe,
#p-contact  .iframe-wrapper iframe  {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border: none;
}
#p-reserve .zoneDisp,
#p-contact .zoneDisp {
  background: #3BBFBE;
}


#p-reserve.main-body{
  padding: 0 0 16rem;
}
.reserve-box{
  position: relative;
  margin-bottom:4rem;
}
.reserve-box:before{
  content: '';
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  height: 100%;
  width: calc(100% + 180px);
  background-color: #E2F5F5;
  border-radius: 8px;
}
.reserve-box::after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 60px 0 60px;
  border-color: #E2F5F5 transparent transparent transparent;
}
.reserve-box-inner{
  position: relative;
  padding:5rem 0;
}
.reserve-box__heading{
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  margin-bottom:3.6rem;
  line-height: 1.44;
}
.reserve-box__heading .sub-ttl{
  background: linear-gradient(#222, #222) 0 100% / 100% 4px no-repeat;
  padding-bottom: .5rem;
}
.reserve-box__heading em{
  font-size: 3.6rem;
}
@media screen and (max-width: 768px) {
  #p-reserve.main-body{
    padding: 0 0 8rem;
  }
  .reserve-box-inner{
    position: relative;
    padding:2.4rem 0;
}
  .reserve-box:before{
    width: calc(100% + 40px);
  }
  .reserve-box__heading{
    font-size: 1.4rem;
    margin-bottom:2rem;
  }
  .reserve-box__heading .sub-ttl{
    background: linear-gradient(#222, #222) 0 100% / 100% 2px no-repeat;
    padding-bottom: .5rem;
  }
  .reserve-box__heading em{
    font-size: 2.4rem;
  }
}

#p-reserve .reserve-point-list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 4rem;
  row-gap: 4rem;
  padding-bottom:3rem;
}
#p-reserve .reserve-point-list .item{
  position: relative;
}
#p-reserve .reserve-point-list .item .num{
  width: 5.6rem;
  height: 5.6rem;
  background: #3ABFBE;
  border: 4px solid #E2F5F5;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 100%;
  position: absolute;
  left: -2rem;
  top: -2rem;
}
#p-reserve .reserve-point-list .item .img{
  border-radius: 4px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
#p-reserve .reserve-point-list .item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#p-reserve .reserve-point-list .item .ttl{
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
  margin-top:2.4rem;
}
#p-reserve .reserve-point-list .item .ttl span{
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  #p-reserve .reserve-point-list{
  column-gap: 2rem;
  row-gap: 2rem;
  padding-bottom:1.6rem;
}
  #p-reserve .reserve-point-list .item .num{
    width: 3.2rem;
    height:3.2rem;
    border: 2px solid #E2F5F5;
    font-size: 1rem;
    left: -1rem;
    top: -1rem;
}
  /* #p-reserve .reserve-point-list{
    grid-template-columns: repeat(1, 1fr);
    row-gap: 2.4rem;
    padding-bottom:2rem;
  } */
  #p-reserve .reserve-point-list .item .ttl{
    font-size: 1rem;
    margin-top:1rem;
  }
  #p-reserve .reserve-point-list .item .ttl span{
  font-size: 1.4rem;
}
}

.reserve-box__subheading{
  margin-top:4.8rem;
  text-align: center;
  font-size: 4rem;
  font-weight: 700;
  color:#3ABFBE;
  line-height: 1.44;
}
.reserve-box__subheading .num{
  font-size:6.4rem;
}
.reserve-box__subheading .round-ttl{
  background: #3ABFBE;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  padding: 1rem 2.4rem;
  display: inline-block;
  border-radius: 40px;
   margin-bottom: -4rem;
}
.reserve-ttl-caption{
  font-size:1.4rem;
  font-weight: 700;;
  text-align: center;
  margin-top:1.6rem;
}

@media screen and (max-width: 768px) {
  .reserve-box__subheading{
    margin-top:1.8rem;
    font-size: 2.4rem;
  }
  .reserve-box__subheading .num{
    font-size:3.2rem;
  }
  .reserve-box__subheading .round-ttl{
    font-size: 1.3rem;
    padding: .6rem 1.6rem;
  }
  .reserve-ttl-caption{
    font-size:1.2rem;
    margin-top:1.6rem;
  }
}
