@charset "utf-8";

/* Define
--------------------------------------*/
:root {
  --maincolor: #841691;
  --lighter: #fef5ff;
  --textcolor: #3b3b3b;
}


/* .gradation {
  linear-gradient(140deg, #841691, #980da9 30%, #cb88d3)
} */

/* Reset
--------------------------------------*/
html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;*font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}


/* ----------------------------------------------------------------------------
  COMMON
----------------------------------------------------------------------------*/

html {
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
  position: relative;
}

body {
  color: var(--textcolor);
	font-family: 'Noto Sans JP', 'Avenir', 'Helvetica Neue', 'Helvetica','Arial', sans-serif;
	font-size: 16px;
  position: relative;
}

body.active {
  overflow-y: hidden;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
}

a {
  text-decoration: none;
  color: #000;
  transition: all ease .4s;
}

p {
  word-break: break-all;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

th {
  display: table-cell;
  vertical-align: inherit;
  font-weight: bold;
  text-align: -internal-center;
}

td {
  display: table-cell;
  vertical-align: inherit;
}

strong {
  font-weight: bold;
}

.inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.inner2 {
  width: 74%;
  margin: 0 auto;
}

.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

.onlySp {
  display: none !important;
}

.none {
  display: none !important;
}

.hr {
  margin: 40px auto;
  border-bottom: 1px solid #000;
}

.fade_up {
	transform:translateY(30px);
  transition: all ease .4s;
	opacity: 0;
  -webkit-transform:translateY(30px);
  -webkit-transition: all ease .4s;
  perspective: 1000;
}

.fade_up.scrolled {
	opacity: 1;
  transform:translateY(0px);
	-webkit-transform:translateY(0px);
}

.fade_left {
  transform:translateX(-30px);
  transition: all ease .4s;
  -webkit-transform:translateX(-30px);
  -webkit-transition: all ease .4s;
  opacity: 0;
}

.fade_left.scrolled {
  opacity: 1;
  transform:translateX(0px);
  -webkit-transform:translateX(0px);
}

.arrow {
  display: inline-block;
  vertical-align: middle;
  font-size: .4rem;
  margin-right: 8px;
  line-height: 1;
  width: 1em;
  height: 1em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
}

.arrow1 {
  position: relative;
  display: inline-block;
  padding: 0 30px;
  color: #333;
  text-decoration: none;
  outline: none;
  margin-left: 10px;
}

.arrow1::before{
  content: '';
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #333;
  transition: all .3s;
}

.arrow1::after{
  content: '';
    position: absolute;
    bottom: 5px;
    right: 0px;
    width: 15px;
    height: 1px;
    background: #333;
    transform: rotate(35deg);
    transition: all .3s;
}

.list1 {
  margin-bottom: 20px;
}

.list1 li {
  list-style-position: outside;
  margin-left: 40px;
  line-height: 1.6;
  letter-spacing: .05em;
  margin-bottom: 5px;
}

.list1 li::before {
  position: relative;
  top: -2px;
  left: -22px;
  display: inline-block;
  content: '・';
  background: none;
  width: 0px;
}

.marker {
  padding-bottom: 6px;
  background: linear-gradient(transparent 80%, #FFFE6F 80%);
}

.hidden {
  display: none;
}

.video {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 60%;
}

.video iframe{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 46.25%;
  position: relative;
  width: 80%;
  margin: 0 auto 60px;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

/* common */
.c__ttl {
  color: #000;
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: .1em;
  text-align: center;
}

.c__en {
  color: var(--maincolor);
  font-size: .9rem;
  font-weight: bold;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 60px;
}

/* navigation */
.header__spmenu__nav {
  align-items: center;
}

.header__spmenu__ul {
  margin-bottom: 40px;
}

.header__spmenu__ul li {
  width: 50%;
  text-align: center;
}

.header__spmenu__ul li a {
  font-size: 1.4rem;
  color: #000;
  display: block;
  padding: 24px 8px;
  box-sizing: border-box;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
  position: relative;
}

.header__spmenu__nav li a::after {
  content: '';
  width: 0%;
  height: 2px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
}



.header__spmenu__nav li a span {
  display: block;
  font-size: .7rem;
  text-align: center;
  letter-spacing: .2em;
}

.header__spmenu__btn ul li {
  width: 90% !important;
  margin: 0 auto;
  margin-bottom: 14px !important;
}

.header__spmenu__btn ul li a {
  color: #fff !important;
  font-size: 1.4rem;
  display: block;
  background: var(--maincolor);
  border-radius: 6px;
  padding: 8px 0px;
  letter-spacing: .06em;
  box-sizing: border-box;
  text-align: center;
}

.header__spmenu__btn ul li a .minitel {
  display: inline-block;
  padding-left: 20px;
  background: url(../img/tel_w.png) no-repeat;
  background-position: 0 80%;
  background-size: 14px;
}

.header__spmenu__btn ul li a .minimail {
  display: inline-block;
  padding-left: 28px;
  background: url(../img/mailW.png) no-repeat;
  background-position: 0 center;
  background-size: 18px;
}

.header__spmenu__btn ul li a small {
  font-size: .7rem;
  letter-spacing: .03em;
  display: block;
}

.header__bar {
  background: var(--maincolor);
  position: fixed;
  top: 20px;
  right: 0px;
  z-index: 1000;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
  cursor: pointer;
  padding: 14px 12px;
  box-sizing: border-box;
}

.header__toggle {
  display: block;
  position: relative;
  width: 1.75rem;
  height: 1.5rem;
}

.header__toggle i {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
}

.header__toggle i {
  background-color: #fff;
}

.header__toggle i:nth-child(1) {
  top: 0;
}

.header__toggle i:nth-child(2) {
  top: 0;
  bottom: 0;
  margin: auto;
}

.header__toggle i:nth-child(3) {
  bottom: 0;
}

.show .header__toggle i:nth-child(1) {
  transform: translateY(10px) rotate(-45deg);
  -webkit-transform: translateY(10px) rotate(-45deg);
}

.show .header__toggle i:nth-child(2) {
  opacity: 0;
}

.show .header__toggle i:nth-child(3) {
  transform: translateY(-12px) rotate(45deg);
  -webkit-transform: translateY(-12px) rotate(45deg);
}

.header__spmenu {
  position: fixed;
  z-index: -100;
  display: block;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
  opacity: 0;
  visibility: hidden;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.show .header__spmenu {
  opacity: 1;
  visibility: visible;
  z-index: 900;
  background: #fff;
  /* background: -moz-linear-gradient(-45deg, #000000,#054497 60%,#2c558c);
  background: -webkit-linear-gradient(-45deg, #000000,#054497 60%,#2c558c);
  background: linear-gradient(-45deg, #000000,#054497 60%,#2c558c); */
}

#header .header__contain {
  height: 0%;
}

#header.show .header__contain {
  position: relative;
  height: 100%;
}

.header__spmenu__nav {
  position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

/* .show .header__spmenu__nav {
  position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
} */

/* .header #spMenu ul {
  display: none;
} */

.header__spmenu__ul {
  width: 60%;
  margin: 0 auto 40px;
  box-sizing: border-box;
}

.header__spmenu__logo a {
  display: block;
  color: #fff;
  font-size: 2.8rem;
  font-weight: bold;
  padding: .6% 0;
  letter-spacing: .07em;
  display: block;
  margin-bottom: .4%;
}

.header__spmenu ul#snsNavSp {
  align-items: flex-start;
  display: flex;
  justify-content: flex-start;
}

#snsNavSp li {
  width: 8%;
  padding-right: 20px;
}

.header__logo {
  display: flex;
  align-items: center;
}

.header__logo img {
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
}

/* footer__btn */
.footer__btn.show {
  opacity: 1;
  transform: translateY(0px);
  -webkit-transform: translateY(0px);
}

.footer__btn {
  opacity: 0;
  transform: translateY(20px);
  -webkit-transform: translateY(20px);
  position: fixed;
  z-index: 100;
  right: 1.5%;
  bottom: 30px;
  padding: 2px;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
}

.footer__btn a {
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: url(../img/arrow1w.png) no-repeat, var(--maincolor);
  background-size: 10px;
  background-position: center;
  box-sizing: border-box;
  transform: rotate(-90deg);
  transition: all ease .4s;
  -webkit-transform: rotate(-90deg);
  -webkit-transition: all ease .4s;
  border: 2px solid #fff;
}

.footer__btn2.show {
  opacity: 1;
  transform: translateY(0px);
  -webkit-transform: translateY(0px);
}

.footer__btn2 {
  opacity: 0;
  transform: translateY(20px);
  -webkit-transform: translateY(20px);
  position: fixed;
  z-index: 100;
  right: 0;
  left: 0;
  bottom: -0;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
}

.footer__btn2 li {
  width: 50%;
}

.footer__btn2 li a {
  display: block;
  color: #fff;
  background: var(--maincolor);
  text-align: center;
  padding: 10px 0;
  box-sizing: border-box;
}

.footer__btn2 li:last-child a {
  background: #ac48b8;
}

.footer__btn2 li a:first-child {
  border-right: 1px solid #fff;
}

.footer__btn2__li {
  font-size: 1rem;
  font-weight: bold;
}

.footer__btn2__li small {
  display: block;
  font-size: .7rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: .04em;
  box-sizing: border-box;
  border-radius: 3px;
}

.footer__btn2__li.tel span {
  padding-left: 20px;
  background: url(../img/tel_w.png) no-repeat;
  background-size: 15px;
  background-position: left 80%;
}

.footer__btn2__li.mail span {
  padding-left: 24px;
  background: url(../img/mailW.png) no-repeat;
  background-size: 20px;
  background-position: left 60%;
}

/* popup */
.lum-lightbox-image-wrapper img {
	width: 70% !important;
  max-height: 70vh !important;
  object-fit: contain;
  margin: 0 auto;
}

.lum-gallery-button {
	display: none !important;
}

/* slick */
.slick-dots li button:before {
  font-size: 40px !important;
}

.slick-dots {
  bottom: 25px !important;
}

.slick-dots li button:before {
  color: #fff !important;
}

.slick-dots li.slick-active button:before {
  color: #fff !important;
}

.slick-dotted.slick-slider {
  margin-bottom: 0 !important;
}


/* ----------------------------------------------------------------------------
  ORIGINAL
----------------------------------------------------------------------------*/

/* HEADER
--------------------------------------*/

.header {
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  border-bottom: 1px solid #e8e8e8;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
}

.header__box {
  position: relative;
  width: 96%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 10px 0;
  transition: all ease .4s;
  -webkit-transition: all ease .4s;
}

.header__logo {
  width: 18%;
}

.header__logo a {
      font-size: 1.2rem;
    letter-spacing: .05em;
}

.header__catch {
  background: var(--maincolor);
}

.header__txt {
  font-size: .9rem;
  letter-spacing: .014em;
  color: #fff;
  width: 96%;
  max-width: 1400px;
  margin: 0 auto;
}

.header__nav {
  width: 47%;
}

.header__nav__ul {
  height: 100%;
  align-items: center;
}

.header__nav__ul a {
  letter-spacing: .04em;
}

.header__nav__ul span {
  display: block;
  color: #666;
  font-size: .6rem;
  text-align: center;
  letter-spacing: .1em;
}

.header__btn {
  width: 32%;
  max-width: 340px;
}

.header__btn__ul {
  height: 100%;
  align-items: center;
}

.header__btn__ul li {
  width: 46%;
  text-align: center;
}

.header__btn__ul li a {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

.header__btn__ul li.btn1 a {
  font-size: 1.18rem;
  color: var(--textcolor);
  font-weight: bold;
  line-height: 1.3;
  box-sizing: border-box;
}

.header__btn__ul li.btn1 a span {
  display: inline-block;
  padding-left: 20px;
  box-sizing: border-box;
  background: url(../img/tel_p.png) no-repeat;
  background-size: 14px;
  background-position: 2px 60%;
}

.header__btn__ul li.btn1 a small {
  display: block;
  color: #fff;
  background: var(--maincolor);
  font-size: .7rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: .04em;
  padding: 4px 0;
  box-sizing: border-box;
  border-radius: 3px;
}

.header__btn__ul li.btn2 a {
  font-size: .71rem;
  font-weight: bold;
  line-height: 1.3;
  color: #fff;
  background: url(../img/mail_w.png) no-repeat, var(--maincolor);
  background-size: 26px;
  background-position: 20px center;
  text-align: left;
  border-radius: 40px;
  letter-spacing: .04em;
  padding: 7px 0;
  padding-left: 56px;
  box-sizing: border-box;
}


/* slider
--------------------------------------*/
#slider {
  position: relative;
}

#slider img {
  display: block;
  width: 100%;
  height: calc(100vh - 93px);
  object-fit: cover;
}

#slider .main {
  width: 100%;
  display: block;
}

.slider__li {
  position: relative;
}

.slider__txt {
  position: absolute;
  color: #fff;
  top: 50%;
  transform: translateY(-50%);
  left: 8%;
  padding-right: 8%;
  z-index: 3;
}

.slider__catch {
      font-family: "Calibri", sans-serif;
    font-size: 3.4rem;
    font-weight: bold;
    letter-spacing: .01em;
    line-height: 140%;
    margin-bottom: 12px;
    word-break: break-word;
}

.slider__desc {
  width: 100%;
  font-size: .9rem;
  letter-spacing: .1em;
  line-height: 2;
}

.slider__li {
  position: relative;
}

.slider__li::after {
  content: '';
  width: 100%;
  height: 100%;
  background: #4c1a6b;
  opacity: .8;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  display: block;
  z-index: 2;
}


/* S0
--------------------------------------*/
.s0 {
  text-align: center;
  padding: 300px 0;
}

/* S1
--------------------------------------*/
.s1 {
  margin-top: 73px;
}

/* S2
--------------------------------------*/
.s2 {
  padding: 80px 0 60px;
}

.s2__l {
  width: 20%;
}

.s2__r {
  width: 80%;
  margin-bottom: 30px;
}

.s2__ttl {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .1em;
}

.s2__en {
  font-size: .9rem;
  font-weight: bold;
  letter-spacing: .1em;
  color: #7a7a7a;
  padding: 0 4px;
}

.s2__dl {
  padding: 16px 8px;
  border-bottom: 1px solid #000;
  box-sizing: border-box;
}

.s2__dl:first-child {
  padding-top: 0;
}

.s2__date {
  width: auto;
  font-size: 1rem;
  padding: 2px 0px;
  word-break: keep-all;
}

.s2__cat {
  width: auto;
  font-size: .9rem;
  color: #fff;
  background: var(--maincolor);
  text-align: center;
  padding: 2px 4%;
  box-sizing: border-box;
}

.s2__name {
  width: 60%;
  font-size: 1rem;
  padding: 2px 0px;
}

.s2__btn {
  text-align: right;
}

.s2__link {
  font-size: 1rem;
  letter-spacing: .1em;
}

/* S3
--------------------------------------*/
.s3 {
  background: var(--lighter);
  padding: 60px 0;
}

.s3__ttl {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 40px;
}

.s3__ttl span {
  color: var(--maincolor);
}

.s3__li {
  width: 30%;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 20px;
  border-radius: 8px;
  padding: 20px 0 20px 20px;
  box-sizing: border-box;
}

.s3__li:nth-child(1) {
  background: url(../img/user.svg) no-repeat, var(--maincolor);
  background-size: 36px auto;
  background-position: 20px center;
}

.s3__li:nth-child(2) {
  background: url(../img/document.svg) no-repeat, var(--maincolor);
  background-size: 26px auto;
  background-position: 20px center;
}

.s3__li:nth-child(3) {
  background: url(../img/paper.svg) no-repeat, var(--maincolor);
  background-size: 26px auto;
  background-position: 20px center;
}

.s3__li:nth-child(3n+2) {
  transition-delay: .3s;
}

.s3__li:nth-child(3n) {
  transition-delay: .6s;
}


/* S4
--------------------------------------*/
.s4 {
  padding: 60px 0;
}


/* S5
--------------------------------------*/
.s5 {
  background: var(--lighter);
  padding: 80px 0;
}

.s5__li {
  width: 31%;
}

.s5__li img {
  aspect-ratio: 5 / 4;
  border-radius: 10px;
  object-fit: cover;
}

.s5__li:nth-child(3n+2) {
  transition-delay: .3s;
}

.s5__li:nth-child(3n) {
  transition-delay: .6s;
}

.s5__sub {
  padding: 12px 0;
  margin-bottom: 4px;
}

.s5__sub__en {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: .05em;
  text-align: center;
}

.s5__sub__ttl {
  color: #616161;
  font-size: .7rem;
  font-weight: 400;
  letter-spacing: .05em;
  text-align: center;
}

.s5__desc {
  font-size: .76rem;
  font-weight: lighter;
  letter-spacing: .03em;
  line-height: 1.5;
}


/* S6
--------------------------------------*/
.s6 {
  padding: 80px 0;
}

.s6__ul {
  margin-bottom: 20px;
}

.s6__li {
  width: 50%;
  padding: 0 20px;
  box-sizing: border-box;
  margin-bottom: 40px;
}

.s6__li:nth-child(2n) {
  transition-delay: .3s;
}

.s6__li__box {
  align-items: center;
}

.s6__li__l {
  width: 50%;
}

.s6__li__r {
  width: 50%;
}

.s6__plan {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .13em;
  padding-left: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #000;
}

.s6__price {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: .03em;
  padding-left: 10px;
  box-sizing: border-box;
}

.s6__price span {
  font-size: 1.2rem;
}

.s6__price small {
  font-size: .7rem;
  font-weight: bold;
  letter-spacing: .13em;
}

.s6__btn {
  text-align: center;
}

.s6__btn a {
  display: inline-block;
  color: #fff;
  background: var(--maincolor);
  letter-spacing: .1em;
  width: 26%;
  margin: 0 auto;
  padding: 12px 20px;
  border-radius: 40px;
  text-align: center;
  box-shadow: 1px 1px 10px #ccc;
}


/* S7
--------------------------------------*/
.s7 {
  padding: 80px 0;
}

.s7__name {
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: .02em;
  margin-bottom: 30px;
  color: var(--maincolor);
  background: var(--lighter);
  padding: 8px 14px;
  box-sizing: border-box;
  border-left: 6px solid var(--maincolor);
}

.s7__name small {
  font-size: .8rem;
  font-weight: lighter;
  margin-left: 8px;
  color: #b89bbb;
  letter-spacing: .03em;
}

.s7__ul {
  padding: 0 20px;
  margin-bottom: 20px;
  position: relative;
  box-sizing: border-box;
}

.s7__ul::before {
  content: '';
  display: block;
  width: 23%;
  order:1;
}

.s7__ul::after {
  content: '';
  display: block;
  width: 23%;
}

.s7__li {
  width: 23%;
  box-sizing: border-box;
  margin-bottom: 40px;
}

.s7__li img {
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  object-fit: cover;
}

.s7__li:nth-child(4n+2) {
  transition-delay: .3s;
}

.s7__li:nth-child(4n+3) {
  transition-delay: .6s;
}

.s7__li:nth-child(4n) {
  transition-delay: .9s;
}

.s7__sub {
  font-size: .9rem;
  letter-spacing: .02em;
  text-align: center;
  padding: 8px 0;
  font-weight: bold;
}


/* S8
--------------------------------------*/
.s8 {
  padding: 80px 0;
  background: #fff;
}

.s8__sub {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: .06em;
  margin-bottom: 10px;
  text-align: center;
}

.s8__ul {
  background: var(--maincolor);
  padding: 40px;
  box-sizing: border-box;
  margin-bottom: 30px;
  align-items: center;
}

.s8__li {
  width: 18%;
  min-height: 54px;
  text-align: center;
  border: 2px solid #fff;
  border-radius: 40px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  text-align: center;
}

.s8__li span {
  display: block;
  width: 100%;
  text-align: center;
  font-size: .9rem;
  font-weight: bold;
  letter-spacing: .06em;
  line-height: 1.3;
  color: #fff;
}

.s8__li small {
  display: block;
  font-size: .7rem;
}

.s8__info {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: .1em;
  margin-bottom: 40px;
  text-align: center;
}

.s8__btn {
  text-align: center;
}

.s8__btn a {
  display: inline-block;
  color: #fff;
  background: var(--maincolor);
  letter-spacing: .1em;
  width: 26%;
  margin: 0 auto;
  padding: 12px 20px;
  border-radius: 40px;
  text-align: center;
  box-shadow: 1px 1px 10px #ccc;
}



/* S9
--------------------------------------*/
.s9 {
  padding: 80px 0;
  background: var(--lighter);
}

.s9__ul {
  position: relative;
  margin-bottom: 40px;
}

.s9__ul::before {
  content: '';
  width: 60px;
  height: 100%;
  background: #c99bce;
  position: absolute;
  left: 16%;
  top: 0;
}

.s9__li {
  position: relative;
  background: #fff;
  padding: 40px;
  margin-left: 40px;
  box-sizing: border-box;
  margin-bottom: 80px;
}

.s9__step {
  position: absolute;
  left: -40px;
  top: 50%;
  transform: translateY(-50%);
  width: 80px;
  height: 80px;
  background: var(--maincolor);
  border-radius: 50%;
  display: flex;
  align-items: center;
}

.s9__step__p {
  display: inline-block;
  color: #fff;
  width: 100%;
  font-size: .7rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}

.s9__step span {
  display: block;
  font-size: 2.4rem;
  font-weight: bold;
}

.s9__dl {
  align-items: center;
}

.s9__dt {
  width: 30%;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: .14em;
}

.s9__dd {
  width: 66%;
  font-size: .9rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2;
}



/* S10
--------------------------------------*/
.s10 {
  padding: 80px 0;
}

.s10__li {
  color: #fff;
  font-size: 1rem;
  letter-spacing: .06em;
  line-height: 1.6;
  background: linear-gradient(120deg, #d2a6d7 0%, #d2a6d7 16%, var(--maincolor) 16%, var(--maincolor) 100%);
  box-sizing: border-box;
  padding: 40px 40px 40px 150px;
  position: relative;
  margin-bottom: 30px;
}

/* .s10__li::before {
  content: '';
  width: 120px;
  height: 200%;
  background: #ccc;
  position: absolute;
  left: -30px;
  top: -80px;
  transform: rotate(35deg);
} */

.s10__li::after {
  content: '';
  width: 100px;
  height: 100px;
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.s10__li:nth-child(1):after {
  background: url(../img/star1.png) no-repeat;
  background-position: center;
  background-size: contain;
}

.s10__li:nth-child(2):after {
  background: url(../img/star2.png) no-repeat;
  background-position: center;
  background-size: contain;
}

.s10__li:nth-child(3):after {
  background: url(../img/star3.png) no-repeat;
  background-position: center;
  background-size: contain;
}

/* S11
--------------------------------------*/
.s11 {
  padding: 80px 0;
  background: #F8F8F8;
}

.s11__single {
  padding-bottom: 80px;
}

.s11__box {
  align-items: center;
  margin-bottom: 30px;
}

.s11__before {
  width: 46%;
}

.s11__arrow {
  width: 8%;
  text-align: center;
  padding-bottom: 40px;
}

.s11__arrow img {
  width: 30%;
  margin: 0 auto;
}

.s11__after {
  width: 46%;
}

.s11__txt {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: .1em;
  text-align: center;
  padding: 8px 0;
}

.s11__dl {
  padding: 12px 40px;
  box-sizing: border-box;
  background: #fff;
}

.s11__dt {
  width: 12%;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.8;
}

.s11__dd {
  width: 80%;
  font-size: 1rem;
  letter-spacing: .1em;
  line-height: 1.8;
}

.s11__btn {
  text-align: center;
  margin-bottom: 20px;
}

.s11__btn a {
  display: inline-block;
  color: #fff;
  background: #000;
  letter-spacing: .1em;
  width: 26%;
  margin: 0 auto;
  padding: 16px 20px;
  border-radius: 40px;
  text-align: center;
  box-shadow: 1px 1px 10px #ccc;
}

/* S12
--------------------------------------*/
.s12 {
  padding: 80px 0;
  background: var(--lighter);
}

.s12__single {
  margin-bottom: 40px;
}

.s12__l {
  width: 20%;
}

.s12__r {
  width: 76%;
}

.s12__name {
  font-size: 1.1rem;
  font-weight: bold;
  letter-spacing: .06em;
  margin-bottom: 10px;
}

.s12__comment {
  background: #fff;
  padding: 20px;
  box-sizing: border-box;
  border-radius: 10px;
}

.s12__comment__p {
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.8;
}


/* BREAD
--------------------------------------*/

.bread {
  padding: 4px 0;
  background: #f7f7f7;
}

.bread ul {
  overflow: hidden;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.bread ul li {
  float: left;
  padding-right: 4px;
}

.bread ul li a {
  font-weight: lighter;
}

.bread ul li:not(:first-child)::before {
  border-color: var(--_color-text, #333);
  border-style: solid;
  border-width: 1px 1px 0 0;
  content: "";
  display: inline-block;
  height: .4em;
  margin: .45em .65em .15em .15em;
  transform: rotate(45deg);
  width: .4em;
}

/* .bread ul li::after {
  content: '>';
  margin-left: 10px;
}

.bread ul li:last-child::after {
  display: none;
} */



/* FOOTER
--------------------------------------*/
.footer {
  border-top: 1px solid #e8e8e8;
}

.footer__box {
  width: 86%;
  margin: 0 auto;
  padding: 120px 0 140px;
}

.footer__box__l {
  width: 30%;
}

.footer .fLogo {
  font-size: 1.2rem;
  letter-spacing: .04em;
  margin-bottom: 16px;
}

.footer .desc {
  font-size: .9rem;
  letter-spacing: .1em;
  line-height: 1.8;
  margin-bottom: 20px;
}

.footer__box__r {
  width: 50%;
}

.footer__box__nav {
  width: 100%;
}

.footer__box__nav li {
  width: 50%;
  margin-bottom: 4px;
}

.footer__box__nav li a {
  letter-spacing: .1em;
  line-height: 2;
  padding-left: 16px;
  background: url(../img/arrow1.png) no-repeat;
  background-size: 4px;
  background-position: 0 center;
}

.footer__copyright {
  background: var(--maincolor);
}

.footer__copyright__txt {
  color: #fff;
  font-size: .75rem;
  letter-spacing: .12em;
  text-align: center;
  font-weight: lighter;
  padding: 2px;
}


/* P1 */
.p1 .ttl {
  color: #fff;
  padding: 180px 0;
  font-size: 2rem;
  text-align: center;
  margin-top: 89px;
  background: url(../img/page_bg.png) no-repeat;
  background-size: cover;
  background-position: center center;
}

/* P2 */
.p2 {
  padding: 80px 0;
}

.p2 .ttl {
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center;
}

.p2 .en {
  color: #666;
  font-size: .9rem;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 60px;
}

/* TOPICS */
.topics {
  padding: 60px 0 140px;
  background: var(--lighter);
}

.topics__box {
  background: #fff;
  padding: 40px;
  box-sizing: border-box;
  border-radius: 10px;
  padding-bottom: 80px;
}

.topics__li {
  border-bottom: 1px solid #000;
  margin-bottom: 18px;
}

.topics__date {
  padding: 2px 0;
  margin-right: 8px;
  box-sizing: border-box;
  letter-spacing: .06em;
}

.topics__cat {
  font-size: .9rem;
  color: #fff;
  background: var(--maincolor);
  padding: 2px 10px;
  box-sizing: border-box;
  letter-spacing: .1em;
}

.topics__ttl {
  padding: 8px 0px;
  box-sizing: border-box;
  letter-spacing: .1em;
}

.single .topics__ttl {
  font-size: 1.5rem;
  padding-top: 4px;
  margin-bottom: 30px;
}

.topics__l {
  width: 76%;
}

.topics__r {
  width: 20%;
}

.widget ul {
  margin-bottom: 20px;
}

.widget__ttl {
  font-size: 1.1rem;
  font-weight: bold;
  letter-spacing: .01em;
  margin-bottom: 2px;
}

.widget li {
  letter-spacing: .05em;
  font-size: .9rem;
  font-weight: lighter;
  padding: 10px;
  box-sizing: border-box;
  position: relative;
  padding-left: 16px;
}

.widget li::before {
  content: '・';
  position: absolute;
  left: 0;
}


.table1 {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  background-color: transparent;
  border-collapse: collapse;
}

.table1 tr:nth-child(2n+1) {
  background: var(--lighter);
}

.table1 thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
}

.table1 td, .table1 th {
  padding: .75rem;
  letter-spacing: .03em;
  vertical-align: top;
  border-top: 1px solid #f4f4f4;
  text-align: left;
}

.table1 th {
  min-width: 100px;
}

.table1 td {
  font-weight: 300;
    letter-spacing: .06em;
    line-height: 130%;
}

.p2__table {
  width: 80%;
  margin: 0 auto 40px;
  padding: 40px 0;
}

.page__contact {
  background: #f8ecff;
}

.page__contactform {
  background: #fff;
  padding: 60px;
  box-sizing: border-box;
  width: 80%;
  margin: 0 auto;
  border-radius: 30px;
}

.page__contactform textarea {
  width: 100%;
  border: none;
  border-bottom: 1px solid #ccc;
  padding: 20px;
  box-sizing: border-box;
  margin-bottom: 20px;
}

.page__contactform input {
  width: 100%;
  border: none;
  border-bottom: 1px solid #ccc;
  padding: 20px;
  box-sizing: border-box;
  margin-top: 4px;
}

.checkArea .formList {
  padding: 20px;
}

.checkArea .form-check {
  display: none;
}

.mw_wp_form .error {
  padding: 0 20px;
}

input:focus {
  outline: 3px solid rgb(217 179 221);
  border-radius: 4px;
}

input.submit {
  display: block;
  border: none;
  width: 40%;
  margin: 30px auto;
  background: #8a2196;
  color: #fff;
  border-radius: 50px;
  padding: 16px;
  cursor: pointer;
  transition: all ease .4s;
}

input#exampleCheck1-1 {
  display: inline-block;
  width: auto;
  color: var(--textcolor);
}

.page__service__box {
  margin-bottom: 40px;
}

.page__service__name {
  font-size: 1.5rem;
  font-weight: 400;
  border-left: 6px solid var(--maincolor);
  padding: 4px 0;
  padding-left: 1.4%;
  letter-spacing: .06em;
  margin-bottom: 4%;
  background: var(--lighter);
}

.page__service__name small {
  display: block;
  font-size: .8rem;
  font-weight: lighter;
  margin-left: 2px;
  color: #b89bbb;
  letter-spacing: .03em;
}

.page__service__single {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #f6f6f6;
}

.page__service__single:last-child {
  border-bottom: none;
}

.page__service__l {
  width: 20%;
}

.page__service__l img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 8px;
}

.page__service__r {
  width: 78%;
  padding: 40px;
  box-sizing: border-box;
  background: #fff;
  display: flex;
  align-items: center;
}

.page__service__ttl {
  width: 100%;
  font-size: 1.5rem;
  font-weight: 400;
  margin-bottom: 18px;
  margin-top: -30px;
}

.page__service__desc {
  width: 100%;
  font-size: .9rem;
  font-weight: lighter;
  letter-spacing: .04em;
  line-height: 1.8;
}

.page__service__btn {
  margin-top: 60px;
  text-align: right;
}

.page__service__btn a {
  font-size: 1rem;
  display: inline-block;
  width: auto;
  padding: 9px 50px;
  color: #fff;
  text-align: center;
  background-color: var(--maincolor);
}

.center {
  width: 100%;
}

.s4__bnr {
  max-width: 600px;
  margin: 0 auto;
}

.single__box p {
  letter-spacing: .07em;
  font-size: .9rem;
  font-weight: lighter;
  padding: 6px 0;
  box-sizing: border-box;
  position: relative;
  line-height: 1.7;
}

.single__box a {
  color: var(--maincolor);
  text-decoration: underline;
}

.pager-contents {
	text-align: left;
	width: 90%;
	margin: 40px auto 2%;
	padding: 1% 0;
}

.wp-pagenavi {
  text-align: center;
}

.wp-pagenavi .pages {
    margin-right: 2%;
    border: 1px solid #666;
    padding: 0 6px;
}

.wp-pagenavi .page {
    margin: 0 1%;
}

.wp-pagenavi .current {
    border-bottom: 1px solid #666;
}

.wp-pagenavi a, .wp-pagenavi span {
  border: none !important;
}

.mwform-checkbox-field label, .mwform-radio-field label {
  font-size: .9rem !important;
}