@charset "utf-8";

/*　共通要素 */
html {
  font-family: "游ゴシック", YuGothic , "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-size:62.5%;
  letter-spacing: 1px;
  color:#000000;
}

.ten {
font-family: ten-mincho, serif;
font-weight: 400;
font-style: normal;
}
.futura {
font-family: futura-pt, sans-serif;
font-weight: 400;
font-style: normal;
font-variant-ligatures:none;
}
.clear {clear:both;}
.tate {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.sp-on {display:block !important;}
.tab-on{display:none !important;}
.pc-on {display:none !important;}
.caption {font-size:1rem !important;letter-spacing:1px !important;line-height:150% !important;}

.line_bk {
  width:40px;
  height:1px;
  background-color: #000000;
  margin-top:0px;
  margin-bottom:20px;
}
.line_ttl {
  width:60px;
  height:2px;
  background-color: #000000;
  margin-top:0px;
  margin-bottom:20px;
}
.marker {
  background:rgba(0, 0, 0, 0)
  linear-gradient(transparent 50%, #FFFF00 0%)
  repeat scroll 0 0;
}
.markerY {
  background:rgba(0, 0, 0, 0)
  linear-gradient(transparent 50%, #FDF8E7 0%)
  repeat scroll 0 0;
}
.markerB {
  background:rgba(0, 0, 0, 0)
  linear-gradient(transparent 50%, #E7F1F4 0%)
  repeat scroll 0 0;
}
.markerP {
  background:rgba(0, 0, 0, 0)
  linear-gradient(transparent 50%, #FFF6EF 0%)
  repeat scroll 0 0;
}
#loading{
  position: absolute;
  left: 50%;
  top: 50vh;
  transform:translate(-50%, -50%);
}
#loading img {
  width:180px;
}

#loader-bg {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0px;
  left: 0px;
  background: linear-gradient(141deg, #f7f5ed, #e7f1f4, #fff6ef, #fdf8e7);
  background-size: 800% 800%;
  -webkit-animation: loading_bg 24s ease infinite;
  -moz-animation: loading_bg 24s ease infinite;
  animation: loading_bg 24s ease infinite;
  z-index: 9999;
}

@-webkit-keyframes loading_bg {
    0%{background-position:0% 2%}
    50%{background-position:100% 99%}
    100%{background-position:0% 2%}
}
@-moz-keyframes loading_bg {
    0%{background-position:0% 2%}
    50%{background-position:100% 99%}
    100%{background-position:0% 2%}
}
@keyframes loading_bg {
    0%{background-position:0% 2%}
    50%{background-position:100% 99%}
    100%{background-position:0% 2%}
}


.revCont {
    opacity: 0;
}

.revAct .revCont {
    -webkit-transition-delay: .3s;
         -o-transition-delay: .3s;
            transition-delay: .3s;
    opacity: 1;
}

.rev {
    display: block;
    position: absolute;
    overflow: hidden;
}

.rev.revAct::before {
    -webkit-animation: hideFromLeft .4s forwards, showFromLeft .4s forwards .4s;
            animation: hideFromLeft .4s forwards, showFromLeft .4s forwards .4s;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #F7F5ED;
    margin: 1px;
}

@-webkit-keyframes hideFromLeft {
    0% {transform: translateX(-100%);}
    100% {transform: translateX(0%);}
}
@keyframes hideFromLeft {
    0% {transform: translateX(-100%);}
    100% {transform: translateX(0%);}
}

@-webkit-keyframes showFromLeft {
    0% {-webkit-transform: translateX(0%);
                transform: translateX(0%);}
    100% {-webkit-transform: translateX(100%);
                transform: translateX(100%);}
}

@keyframes showFromLeft {
    0% {-webkit-transform: translateX(0%);
                transform: translateX(0%);}
    100% {-webkit-transform: translateX(100%);
                transform: translateX(100%);}
}

@-webkit-keyframes swipeLeft {
    0% {-webkit-transform: translateX(0%);
                transform: translateX(0%);}
    100% {-webkit-transform: translateX(100%);
                transform: translateX(100%);}
}

@keyframes swipeLeft {
    0% {-webkit-transform: translateX(0%);
                transform: translateX(0%);}
    100% {-webkit-transform: translateX(100%);
                transform: translateX(100%);}
}
@-webkit-keyframes swipeRight {
    0% {-webkit-transform: translateX(0%);
                transform: translateX(0%);}
    100% {-webkit-transform: translateX(-100%);
                transform: translateX(-100%);}
}

@keyframes swipeRight {
    0% {-webkit-transform: translateX(0%);
                transform: translateX(0%);}
    100% {-webkit-transform: translateX(-100%);
                transform: translateX(-100%);}
}


.revlImg {
    -o-object-fit: cover;
       object-fit: cover;
    vertical-align: bottom;
}
.fadein {
  visibility: visible !important;
    transform : translate(0, 40px);
    transition : all 0.4s;
    -webkit-animation-duration:1s;
    -ms-animation-duration:1s;
    animation-duration:1s;
}

.fadein.scrollin {
  visibility: visible !important;
    transform : translate(0, 0);
    transition : all 1000ms;
}
.fadeup {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:2s;
 -ms-animation-duration:2s;
 animation-duration:2s;
 -webkit-animation-name: fadeup;
 -ms-animation-name: fadeup;
 animation-name: fadeup;
 visibility: visible !important;
}

@-webkit-keyframes fadeup {
 0% { opacity: 0; -webkit-transform: translateY(20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeup {
 0% { opacity: 0; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}
.fade {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:2s;
 -ms-animation-duration:2s;
 animation-duration:1.5s;
 -webkit-animation-name: fade;
 -ms-animation-name: fade;
 animation-name: fade;
 visibility: visible !important;
}

@-webkit-keyframes fade {
 0% { opacity: 0; }
 100% { opacity: 1;}
}
@keyframes fade {
 0% { opacity: 0;}
 100% { opacity: 1;}
}
.swipeL,
.swipeR {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 animation-timing-function: ease-in;
 transition-timing-function:ease-in;
 -webkit-transition-delay: 1s;
      -o-transition-delay: 1s;
         transition-delay: 1s;
 visibility: visible !important;
 overflow-x: hidden;
 z-index:-1
}
.swipeL::before {
  -webkit-animation: swipeLeft .6s forwards .6s;
          animation: swipeLeft .6s forwards .6s;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    margin: 0px;;
}
.swipeR::before {
  -webkit-animation: swipeRight .6s forwards .6s;
          animation: swipeRight .6s forwards .6s;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    margin: 0px;;
}
.dely2 {
  -webkit-animation-delay:2s;
  -ms-animation-delay:2s;
  animation-delay:2s;
}
.dely1 {
  -webkit-animation-delay:1s;
  -ms-animation-delay:1s;
  animation-delay:1s;
}


body {
  position:relative;
  margin:0;
  padding:0;
  box-sizing: border-box;
  overflow-x: hidden !important;
}


/*menu*/
#navi {
  position:relative;
}
.menu{
    height: 20px;
    position: fixed;
    left: 20px;
    top: 20px;
    width: 30px;
    z-index: 99;
}
.menu__line{
    background: #000000;
    display: block;
    height: 2px;
    position: absolute;
    transition:0.4s;
    transition-timing-function:ease-out;
    width: 100%;
}
.menu__line--center{
    top: 9px;
}
.menu__line--bottom{
    bottom: 0;
}
.menu__line--top.active{
    top: 8px;
    transform: rotate(-135deg);
}
.menu__line--center.active{
    transform:scaleX(0);
}
.menu__line--bottom.active{
    bottom: 10px;
    transform: rotate(135deg);
}
/*gnav*/
.gnav{
    background: rgba(255,255,255,0.9);
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 98;
}
.gnav__wrap{
    align-items:center;
    display: flex;
    height: 100%;
    position: absolute;
    width: 100%;
}
.gnav__menu{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 170px;
    margin:0;
}

.gnav__wrap ul{
  padding:0;
}
.gnav__menu li{
  list-style: none;
}
.gnav__menu li img{
  height:24px;
  float:left;
  margin-right:20px;
}
.gnav__menu__item{
    margin: 0px 0 40px 50px;
    opacity: 0;
}
.gnav__menu__item a{
    color: #000000;
    font-size: 1.8rem;
    letter-spacing:4px;
    font-weight: bold;
    text-decoration: none;
    transition: .4s;
    transition-timing-function:ease-out;
    display: block;
}
.gnav__menu__item a:hover{
    opacity:0.5;
    transition: .5s;
}


.header_wrap {
  position:relative;
  width:100%;
  height:140px;
  margin-bottom:-24px;
}
.header_wrap_top {
  position:relative;
  width:100%;
  height:140px;
  margin-bottom:-24px;
}
.hd_logo {
  position:absolute;
  width:140px;
  top:24px;
  right:20px;
}
.hd_logo img {
  width:100%;
}
.hd_logo p {
  font-size:1rem;
  line-height:150%;
}
.hd_logo_top {
  position:absolute;
  width:140px;
  top:24px;
  right:20px;
}
.hd_logo_top img {
  width:100%;
}
.hd_logo_top p {
  font-size:1rem;
  line-height:150%;
}
.main_tokuten {
  position:absolute;
  width:120px;
  height:120px;
  top:540px;
  right:20px;
  z-index:10;
  display:block;
}
.main_tokuten img {
  width:120px;
  height:120px;
}

.main_ttl {
  position:relative;
  width:80%;
  left:20%;
  top:-20px;
  z-index:3;
  transform:translateX(-10%);
}
.main_ttl h1 {
  font-size:2.4rem;
  letter-spacing: 4px;
  margin:0;
}
.main_img {
  margin: 0;
    display: block;
    position: relative;
    width: 220%;
    height: 100%;
    left: -110%;
    top: -120px;
    margin-bottom: -120px;
    z-index: 2;
    overflow: hidden !important;
    padding-top: 120%;
}
.main_img .main_img_slide {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.main_img img {
  width:100%;
 margin-left: 25%;
}
.main_img ul {
 margin: 0;
 padding: 0;
}
.main_img ul li {
 width: auto !important; 
}
.main_img_bk {
  position:absolute;
  background-color: #F7F5ED;
  width:80%;
  top:140px;
  margin-left:20%;
  height:calc(100vh - 140px);
  max-height:500px;
}

.top_about {
  position:relative;
  width:100%;
  margin:0;
  padding:0;
  margin-top:40px;
  padding-bottom:40px;
  box-sizing: border-box;
}
.top_about_img {
  position:relative;
  width:90%;
}
.top_about_img img {
  width:100%;
}
.top_about_ttl {
  width:100%;
  right:0%;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
}
.top_about_ttl h3 {
  margin:0;
  font-size:1.6rem;
  letter-spacing:3px;
  background-color:#ffffff;
  padding:10px 2px;
}
.top_about_txt {
  width:80%;
  margin:0 auto;
  position:relative;
  margin-top:20px;
}
.top_about_txt h2 {
  font-size:1.7rem;
  letter-spacing:2px;
  line-height:180%;
  margin:0;
  margin-bottom:20px;
}
.top_about_txt p {
  font-size:1.3rem;
  letter-spacing:2px;
  line-height:180%;
  margin:0;
}
.top_about_btn {
  position:relative;
  width:80%;
  left:10%;
  margin-top:20px;
}
.top_plan {
  position:relative;
  width:100%;
  margin:0;
  padding:0;
  margin-top:40px;
  padding-bottom:60px;
  box-sizing: border-box;
}
.top_plan_img {
  position:relative;
  width:90%;
  left:10%;
}
.top_plan_img img {
  width:100%;
}
.top_plan_ttl {
  width:100%;
  left:-100%;
  position:absolute;
  top:50%;
  transform:translate(20px,-50%);
}
.top_plan_ttl h3 {
  margin:0;
  font-size:1.6rem;
  letter-spacing:3px;
  background-color:#ffffff;
  padding:10px 2px;
}
.top_plan_txt {
  width:80%;
  margin:0 auto;
  position:relative;
  margin-top:20px;
}
.top_plan_txt h2 {
  font-size:1.7rem;
  letter-spacing:2px;
  line-height:180%;
  margin:0;
  margin-bottom:20px;
}
.top_plan_txt p {
  font-size:1.3rem;
  letter-spacing:2px;
  line-height:180%;
  margin:0;
}
.top_plan_btn {
  position:relative;
  width:80%;
  left:10%;
  margin-top:20px;
}

.btn {
  display: inline-block;
  width: 100%;
  text-align: center;
  text-decoration: none;
  outline: none;
  position: relative;
  z-index: 2;
  color: #000000;
  overflow: hidden;
  height: 60px;
  font-size:1.3rem;
  padding-left:10px;
  line-height: 60px;
  background-color: #ffffff;
  border:1px solid #f1f1f1;
  box-shadow:4px 4px 4px #cccccc;
}
.btn2 {
  height: 46px !important;
  line-height: 46px !important;
  font-size:1rem !important;
  border:1px solid #000000 !important;
  box-shadow:none !important;
}
.btn3 {
  box-shadow:none !important;
}
.btn4,
.btn5,
.btn6 {
  height: 46px !important;
  line-height: 46px !important;
  box-shadow:none !important;
  border:1px solid #cccccc !important;
}


.btn::before,
.btn::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}

.btn,
.btn::before,
.btn::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.btn:hover {
  color: #000000;
}
.btn2:hover {
  color: #ffffff !important;
}

.btn::after {
  top: 0%;
  left: -100%;
  width: 100%;
  height: 100%;
}

.btn:hover::after {
  top: 0;
  left: 0;
  background-color: #9FB19E;
}
.btn2:hover::after {
  background-color: #000000 !important;
}
.btn3:hover::after {
  background-color: #F2DE70 !important;
}
.btn4:hover::after {
  background-color: #FFF6EF !important;
}
.btn5:hover::after {
  background-color: #FDF8E7!important;
}
.btn6:hover::after {
  background-color: #E7F1F4 !important;
}
.btn img {
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:30px !important;
}

.btn:hover img {
  left:15px !important;
  -webkit-transition: all .3s !important;
  transition: all .3s !important;
}
.top_movie {
  position:relative;
  width:100%;
  margin:0 auto;
}
.top_info {
  position:relative;
  width:80%;
  margin:0 auto;
  margin-top:40px;
  box-sizing: border-box;
  display:block;
}
.top_info h3,
.topics h3 {
  font-size:1.8rem;
  letter-spacing:4px;
 text-align: left;
}

.topics {
  width:80%;
  display:block;
  box-sizing:border-box;
 margin: 0 auto;
 position: relative;
}
.facebook {
  width:100%;
  display:block;
  box-sizing:border-box;
  margin-top:30px;
  margin-bottom:60px;
 text-align: center;
}

.insta {
  width:100%;
  display:block;
  box-sizing:border-box;
  margin-top:30px;
  margin-bottom:60px;
}

.time {
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size:1.3rem;
  letter-spacing:2px;
  color:#000000;
  margin-top:20px;
  margin-bottom:5px;
}
.inner p {
  margin:0;
}
.inner a,
.inner a:visited {
  color:#768E75;
  text-decoration: underline;
}
.inner a:hover {
  opacity:0.6;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.text {
  font-size:1.3rem;
  color:#000000;
  letter-spacing:2px;
  line-height:180%;
  margin:0;
  padding-bottom:20px;
  border-bottom:1px solid #f1f1f1;
  box-sizing:border-box;
  margin-bottom:20px;
}
.info_btn {
  position:relative;
  width:100%;
  margin-top:20px;
 text-align: left;
}

#access {
  position:relative;
  width:100%;
  margin-top:40px;
}
.maps {
  margin: 0 auto;
  position: relative;
  width: 100%;
  height:320px;
  overflow:hidden !important;
}
.maps iframe {
  top: 0%;
  left: 0%;
  width: 200% !important;
  height: 200% !important;
  transform: translate(-25%,-25%);
}
.no-link {
  pointer-events:none !important;
}
.access_box {
  position:relative;
  width:80%;
  top:-80px;
  margin:0 auto;
  background-color: #ffffff;
  padding:20px;
  margin-bottom:-80px;
  box-sizing: border-box;
  display:block;
}
.access_box h3 {
  font-size:1.8rem;
  letter-spacing:4px;
  text-align:center;
}
.line_bk_center {
  width:40px;
  height:1px;
  background-color: #000000;
  margin:0 auto;
  margin-top:0px;
  margin-bottom:20px;
}
.access_info {
  width:100%;
  margin:0 auto;
  display:block;
}
.address {
  display:block;
  width:100%;
}
.address p {
  font-size:1.2rem;
  text-align:center;
  line-height:180%;
  letter-spacing:1px;
}
.kotsu {
  display:block;
  width:100%;
}
.kotsu p {
  font-size:1.2rem;
  text-align:center;
  line-height:180%;
  letter-spacing:1px;
}

.contact {
  position:relative;
  width:100%;
  background-color:#768E75;
  margin-top:80px;
  padding-top:40px;
  padding-bottom:60px;
  box-sizing: border-box;
}
.contact_home {
  display:block;
  width:80%;
  margin:0 auto;
  margin-top:20px;
}
.contact_media {
  display:block;
  width:80%;
  margin:0 auto;
  margin-top:20px;
}
.contact h3 {
  font-size:2.4rem;
  letter-spacing:4px;
  text-align:center;
  color:#ffffff;
  margin:0;
}
.line_wh_center {
  width:40px;
  height:1px;
  background-color: #ffffff;
  margin:0 auto;
  margin-top:10px;
  margin-bottom:20px;
}

.cont_ttl {
  width:80%;
  margin:0 auto;
  margin-top:10px;
  position:relative;
}
.cont_ttl h1 {
  font-size:1.8rem;
  margin:0;
  letter-spacing: 6px;
}
.concept {
  position:relative;
  width:80%;
  margin:0 auto;
  margin-top:60px;
}
.concept h2 {
  font-size:2rem;
  line-height:180%;
  letter-spacing: 2px;
  margin-top:0;
  margin-bottom:15px;
}
.concept p {
  font-size:1.4rem;
  line-height:200%;
  letter-spacing: 1px;
  margin-top:0;
  margin-bottom:30px;
}
.concept_img {
  position:relative;
  width:115%;
  transform:translateX(-13%);
  margin-top:0;
  margin-bottom:20px;
}
.concept_img img {
  width:100%;
}
.concept_wrap {
  display:block;
  width:100%;
  margin:0;
  padding:0;
  box-sizing: border-box;
}
.concept_ttl,
.concept_txt1,
.concept_txt2 {
  display:block;
  width:100%;
  margin:0;
  padding:0;
  box-sizing: border-box;
}
.point {
  position:relative;
  width:80%;
  margin:0 auto;
  padding:0;
  margin-top:120px;
  box-sizing: border-box;
  display:block;
}
.point h3 {
  font-size:1.8rem;
  text-align:center;
  letter-spacing: 3px;
  margin:0;
  margin-bottom:10px;
}
.point p {
  font-size:1.3rem;
  line-height:180%;
}
.pt_img1 {
  width:220px;
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  top:-20px;
  z-index:3;
}
.pt_img2 {
  width:240px;
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  top:-35px;
  z-index:3;
}
.pt_img3 {
  width:170px;
  position:absolute;
  left:50%;
  transform: translateX(-55%);
  top:-30px;
  z-index:3;
}
.pt_img4 {
  width:190px;
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  top:-30px;
  z-index:3;
}
.pt_img1 img,
.pt_img2 img,
.pt_img3 img,
.pt_img4 img {
  width:100%;
}
.pt_img_bk {
  position:relative;
  width:100%;
  height:160px;
  border-radius: 20px;
  background-color: #F7F5ED;
}
.pt_ttl {
  position:absolute;
  font-size:1.2rem;
  background-color: #ffffff;
  padding:8px 5px;
  margin-top:-10px;
  left:-10px;
}
.pt_num {
  position:relative;
  width:60px;
  height:60px;
  margin:0 auto;
  margin-top:-30px;
  background-color: #ffffff;
  border-radius: 30px;
  padding-top:10px;
  padding-left:4px;
  box-sizing: border-box;
  margin-bottom:5px;
  z-index:4;
  display:block;
}
.pt_num_sub p {
  font-size:1rem;
  margin:0;
  text-align:center;
}
.pt_num_main p {
  font-size:2.4rem;
  margin:0;
  margin-top:-15px;
  color: #000000;
  text-align:center;
}
.pt01,
.pt02,
.pt03,
.pt04 {
  position:relative;
  margin-bottom:80px;
  display:block;
  box-sizing: border-box;
}
.bld_img_bk {
  position:relative;
  width:90%;
  left:10%;
  height:240px;
  background-color: #F7F5ED;
}
.bld_img {
  position:relative;
  width:100%;
  top:-220px;
  margin-bottom:-140px;
  overflow-x: hidden;
}
.bld_img img {
  width:105%;
}
.about_slide {
  width: 80%;
  margin: 0 auto 60px auto;
}
#slider {
 margin: 0;
 padding: 0;
}
#thumbnail_slider{
  width: 100%;
  display: flex;
 margin: 20px 0 0 0;
 padding: 0;
}
#thumbnail_slider .slick-list {
 width: calc(100% - 11%);
 margin: 0 auto;
}
.slide-item img {
  width: 100%; 
}
#thumbnail_slider .slick-slide {
margin: 0 3px;
border: 2px solid #FFF;
 line-height: 0.5;
}
#thumbnail_slider .slick-slide.slick-current {
 border: 2px solid #000;
}
.thumbnail-item img{
 width: 100%;
}
.slick-prev {
 text-indent: -9999px;
 background: url("../img/left.png") no-repeat left center !important;
 background-size: 100% auto;
 width: 7%;
 height: 100%;
 border: none;
 outline: none;
 left: 0;
}
.slick-next {
 text-indent: -9999px;
 background: url("../img/right.png") no-repeat right center !important;
 background-size: 100% auto;
 width: 7%;
 height: 100%;
 border: none;
 outline: none;
 right: 0;
}
.plan_bnr {
  position:relative;
  width:80%;
  padding-bottom:40px;
  left:10%;
  background-color: #ffffff;
  box-shadow:0px 0px 4px #cccccc;
  box-sizing: border-box;
}
.plan_bnr_img {
  width:100%;
  position:relative;
}
.plan_bnr_img img {
  width:100%;
  margin-bottom:20px;
}
.plan_bnr_txt {
  width:80%;
  position:relative;
  left:10%;
  top:-40px;
  margin-bottom:-40px;
}
.plan_bnr h3 {
  text-align:center;
  font-size:2.2rem;
  letter-spacing:8px;
  margin:0;
  margin-bottom:10px;
}
.plan_bnr_btn {
  position:relative;
  width:80%;
  left:10%;
  margin-top:20px;
}
.plan_bnr_btn img {
  width:40px;
}

.plan_main {
  width:80%;
  left:10%;
  position:relative;
  margin-top:60px;
}
.plan_main_ttl {
  width:100%;
  position:relative;
  margin-bottom:20px;
}
.plan_main_ttl h2 {
  font-size:2rem;
  letter-spacing:4px;
  margin:0;

}
.plan_main_txt {
  width:100%;
  position:relative;
}
.plan_main_txt p {
  font-size:1.4rem;
  line-height:180%;
  margin:0;
}
.plan_main_img {
  width:112%;
  margin-bottom:20px;
}
.plan_main_img img {
  width:100%;
}
.plan_category {
  position:relative;
  width:80%;
  left:10%;
  box-sizing:border-box;
  margin-top:60px;
  display:block;
}
.plan_no {
  position:absolute;
  top:-20px;
  width:120px;
  height:40px;
  background-color: #ffffff;
  display:block;
  left:50%;
  transform:translateX(-50%);
  margin:0;
  padding-top:5px;
  padding-left:4px;
  border:1px solid #cccccc;
  border-bottom:none !important;
  box-sizing: border-box;
}
.plan_no p {
  font-size:1rem !important;
  margin:0;
  text-align: center;
}
.plan_no h5 {
  font-size:2.4rem;
  margin:0;
  margin-top:-5px;
  text-align: center;
}
.plan_category_txt {
  position:relative;
  margin-top:20px;
  width:100%;
}
.plan_category h3 {
  margin:0;
  margin-bottom:10px;
  letter-spacing:4px;
  font-size:2.2rem;
  line-height:120%;
  text-align:center;
}
.plan_category h4 {
  margin:0;
  letter-spacing:4px;
  font-size:1.4rem;
  text-align:center;
}
.plan_category p {
  font-size:1.2rem;
  letter-spacing:1px;
  line-height:180%;
}
.plan_01,
.plan_02,
.plan_03 {
  position:relative;
  width:100%;
  border:1px solid #cccccc;
  border-top:4px double #cccccc !important;
  padding:30px;
  box-sizing: border-box;
  display:block;
  margin-bottom:40px;
}

.tri_line {
  width:100%;
  height:11px;
  margin-top:20px;
  margin-bottom:20px;
  padding-top:5px;
  padding-bottom:6px;
  box-sizing: border-box;
  border-top:1px solid #cccccc;
  border-bottom:1px solid #cccccc;
  box-sizing: border-box;
}
.tri_line hr {
  margin:0;
  height:1px;
  border:none;
  border-top:1px solid #cccccc;
}
.detail {
  position:relative;
  width:100%;
  padding-top:40px;
  padding-bottom:60px;
  background-color: #f9f9f9;
  margin-bottom:-80px;
  box-sizing: border-box;
}
.detail_ttl {
  width:80%;
  margin:0 auto;
}
.detail_ttl h2 {
  font-size:2rem;
  letter-spacing:4px;
  text-align:center;
  margin:0;
  margin-bottom:20px;
}
.detail_list {
  position:relative;
  width:80%;
  margin:0 auto;
  margin-top:20px;
  font-size:1.2rem;
}
.detail_list div {
  display: flex;
  margin-bottom:10px;
}
.detail_list dt {
  width:30%;
}
.detail_list dd {
  width:70%;
  margin-left:10px;
}
.detail_zumen {
  position:relative;
  width:80%;
  margin:0 auto;
  margin-top:60px;
}
.detail_zumen img {
  width:100%;
  height:100%;
  margin-bottom:40px;
}
.plan_single,
.plan_family {
  position:relative;
  width:80%;
  margin:0 auto;
  padding:0;
  border-top:1px solid #cccccc;
  margin-top:40px;
  padding-top:10px;
  padding-bottom:20px;
}
.plan_single h2,
.plan_family h2 {
  font-size:1.8rem;
  letter-spacing:4px;
  margin:0;
  margin-bottom:20px;
}
.plan_single_wrap,
.plan_family_wrap {
  width:100%;
  display:block;
  box-sizing: border-box;
}
.plan_index {
  width:100%;
  margin-bottom:40px;
  display: block;
}
.plan_index_no {
  width:60px;
  margin:0 auto;
  position:relative;
  transform: translateY(15px);
}
.plan_index_no img {
  width:60px;
}
.plan_index_no h4 {
  margin:0;
  text-align:center;
  font-size:1.8rem;
  margin-top:-20px;
}
.plan_index img {
  width:100%;
  border-radius: 12px;
}
.plan_index dl div {
  display:flex;
  margin-bottom:5px;
  font-size:1.2rem;
}
.plan_index dt {
  width:70px;
  margin:0;
}
.plan_index dd {
  width:calc(100% - 70px);
  margin:0;
  padding-left:10px;
  box-sizing: border-box;
}
.plan_index_btn {
  margin-top:20px;
}
.facil {
  position:relative;
  width:80%;
  margin:0 auto;
  border:4px double #cccccc;
  padding:30px;
  padding-bottom:40px;
  box-sizing: border-box;
}
.facil h3 {
  font-size:1.8rem;
  text-align:center;
  margin-top:0;
  margin-bottom:10px;
}
.facil p {
  font-size:1.2rem;
  margin:0;
  line-height:180%;
}
.plan_detail {
  position:relative;
  width:100%;
  margin-top:60px;
  padding-bottom:120px;
}
.plan_detail_img {
  position:relative;
  width:80%;
  margin:0 auto 50px auto;
}
.plan_home_bk {
  position:absolute;
  width:100%;
  height:100%;
  top:100px;
  background-color: #FFF6EF;
  z-index:-1;
}
.bkY {
  background-color: #FDF8E7 !important;
}
.bkB {
  background-color: #E7F1F4 !important;
}
.plan_detail_wrap {
  position:relative;
  width:80%;
  margin:0 auto;
  padding:0;
  display:block;
  box-sizing: border-box;
}
.plan_detail_txt,
.plan_detail_list {
  position:relative;
  width:100%;
  display:block;
  margin:0;
  padding:0;
  box-sizing: border-box;
  margin-bottom:40px;
}
.plan_detail_txt p {
  font-size:1.4rem ;
  line-height:200%;
  margin:0;
  padding:0;
  margin-bottom:2rem;
}
.plan_detail_tokuten {
  margin-top:40px;
  padding-top:20px;
  padding-bottom:20px;
  border-top:1px solid #cccccc;
  border-bottom:1px solid #cccccc;
}
.plan_detail_tokuten h4 {
  margin:0;
  font-size:1.8rem;
  letter-spacing:2px;
  margin-bottom:10px;
}
.plan_detail_tokuten h5 {
  margin:0;
  font-size:1.6rem;
  letter-spacing:2px;
  margin-bottom:5px;
}
.plan_detail_list div {
  display:flex;
  box-sizing: border-box;
  font-size:1.4rem;
  margin-bottom:10px;
}
.plan_detail_list dl {
  margin-top:3px;
}
.plan_detail_list dt {
  width:80px;
}
.plan_detail_list dd {
  width:calc(100% - 80px);
  margin:0;
  padding-left:10px;
}
.plan_detail_btn {
  width:80%;
  margin:0 auto;
  margin-top:80px;
}
.prev_page {
  position:relative;
  width:80%;
  margin:0 auto;
  padding:0;
  margin-top:60px;
  padding-top:20px;
  border-top:1px solid #cccccc;
}
.prev_page span {
  font-size:1.2rem;
  padding-left:10px;
  color:#000000;
  vertical-align: middle;
}
.prev_page a,
.prev_page a:visited,
.prev_page a:active {
  text-decoration: none;
  color:#000000;
}
.prev_page a:hover {
  opacity:0.6;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.prev_page img {
  margin-left:10px;
  width:40px;
  transform:scale(-1, 1);
}
.contact_index_wrap {
  position:relative;
  width:100%;
  margin:0 auto;
  display:block;
  margin-top:60px;
  padding-top:40px;
  padding-bottom:80px;
  background-color: #f9f9f9;
}
.contact_index_txt {
  width:80%;
  margin:0 auto;
  padding:0;
  box-sizing: border-box;
  display:block;
  margin-bottom:40px;
}
.contact_index_txt h2 {
  font-size:2.4rem;
  line-height:180%;
  letter-spacing: 4px;
  text-align:center;
  margin:0;
  margin-bottom:20px;
}
.contact_index_txt p {
  font-size:1.4rem;
  line-height:200%;
  margin:0;
}
.contact_index_btn {
  width:80%;
  margin:0 auto;
  padding:0;
  box-sizing: border-box;
  display:block;
  margin-bottom:40px;
}
.contact_index_btn1,
.contact_index_btn2 {
  margin-top:10px;
  margin-bottom:10px;
}
.contact_wrap {
  position:relative;
  width:100%;
  margin:0 auto;
  display:block;
  margin-top:60px;
  padding-top:60px;
  padding-bottom:80px;
  background-color: #f9f9f9;
}
.contact_lead {
  margin-bottom:40px;
}
.contact_lead,
.formBox {
  width:100%;
  color:#000000;
}
.contact_lead_after,
.contact_form {
  width:80%;
  margin:0 auto;
}
.contact_tokuten {
  width:100%;
  border:1px solid #cccccc;
  padding:15px;
  box-sizing: border-box;
  margin-bottom:40px;
}
.contact_tokuten h5 {
  text-align:center;
  font-size:1.6rem;
  margin-top:0;
  margin-bottom:10px;
}
.contact_tokuten p {
  font-size:1.4rem;
  line-height:180%;
  margin-top:0;
}
.bk_btn {
  width:100%;
  margin:0 auto;
  margin-top:40px;
}
.contact_lead_after h2,
.contact_lead h2 {
  font-size:2rem;
  margin:0;
  margin-bottom:20px;
  letter-spacing: 4px;
}
.contact_lead_after h4,
.contact_lead h4 {
  font-size:1.4rem;
  margin:0;
  margin-bottom:20px;
  letter-spacing: 2px;
  line-height:180%;
}
input {
  width:100%;
  background-color: #ffffff;
  border:none;
}
input[type="submit"] {
  -webkit-appearance: none;
}
.form_text {
  display:flex;
  font-size:1.3rem;
  margin-bottom:15px;
}
.form_text label {
  width:80px;
}
.form_text input {
  width:calc(100% - 80px);
  height:36px;
  font-size:1.3rem;
}
.form_textarea {
  display:flex;
  font-size:1.2rem;
  margin-bottom:15px;
}
.form_textarea label {
  width:80px;
}
.form_textarea p {
  width:calc(100% - 80px);
  margin:0;
}
.form_textarea textarea {
  width:calc(100% - 80px);
  background-color: #ffffff;
  height:200px;
  border:none;
  font-size:1.2rem;
  resize: vertical;
}
.form_text p {
  width:calc(100% - 80px);
  margin:0;
}
.form_radio {
  font-size:1.2rem;
  margin-bottom:15px;
}
.form_radioL {
  width:100px;
  float:left;
}
.form_radioR {
  width:calc(100% - 100px);
  margin-left:100px;
}
.form_radioR label {
  width:100%;
  display:block;
  margin-bottom:5px;
}
.form_radio input {
  width:12px;
  height:12px;
}
.form_radio input:hover,label:hover {
  cursor:pointer;
  opacity:0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
}
.policy {
  border-top:1px solid #cccccc;
  margin-top:40px;
}
.policy h3 {
  font-size:1.6rem;
  text-align:center;
}
.policyBox {
  height:200px;
  border:none;
  background-color: #ffffff;
  font-size: 1.2rem;
  padding:10px;
  overflow-y: scroll;
  box-sizing: border-box;
}
.policyBox h5 {
  font-size:1.4rem;
  margin-top:0;
  margin-bottom:10px;
}
.policyBox p {
  margin-top:0;
  margin-bottom:40px;
  line-height:160%;
}
.form_check {
  display:flex;
  align-content: center;
  height:40px;
  margin-top:20px;
  margin-bottom:40px;
  font-size:1.4rem;
}
.form_check label {
  display:flex;
  align-content: center;
  height:20px;
}
.form_check input {
  width:20px;
  height:20px;
  margin:0;
  margin-right:10px;
}
.form_submit input {
  height:60px;
  border:1px solid #cccccc;
  background-color: #ffffff;
}
.form_submit input:hover {
  background-color: #F2DE70;
}
.form_submitY input {
  height:60px;
  border:1px solid #cccccc;
  background-color: #F2DE70;
}
.form_submitY input:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
}
.form_submitG input {
  height:60px;
  color:#ffffff;
  border:1px solid #cccccc;
  background-color: #bbbbbb;
  margin-top:60px;
  margin-bottom:20px;
}
.form_submitG input:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  }

 .error_list {
	padding:2px 0px 10px 0px;
	color: #cc0000 !important;
	font-size: 1.2rem !important;
	text-align: left;
}
.require {
  font-size:1rem !important;
  color: #cc0000 !important;
}


footer {
  width:100%;
  background-color: #ffffff;
  position:relative;
  margin:0;
  padding:0;
  box-sizing: border-box;
}
.back_to_top {
  width:60px;
  position:absolute;
  top:-30px;
  left:calc(50% - 30px);
  z-index:999;
}
.back_to_top img {
  width:60px;
  height:60px;
}
.back_to_top img:hover {
  transform:translateY(-5px);
  -webkit-transition: all .3s;
  transition: all .3s;
}
.ft_wrapper {
  width:80%;
  margin:0 auto;
  padding-top:60px;
  padding-bottom:60px;
  box-sizing: border-box;
}
.ft_menu {
  width:100%;
  display:block;
  font-size:1.6rem;
  border-top:1px solid #f1f1f1;
  padding-top:20px;
}
.ft_menu ul {
  margin:0;
  padding:0;
  display:flex;
  flex-wrap: wrap;
}
.ft_menu li {
  width:50%;
  list-style:none;
  margin-bottom:20px;
  letter-spacing:2px;
}
.ft_menu li a,
.ft_menu li:visited {
  text-decoration: none;
  color:#000000;
}
.ft_menu li:hover {
  opacity:0.6;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.credit {
  width:100%;
  display:block;
  font-size:1rem;
  padding-top:20px;
}
.credit dt {
  border-top:1px solid #f1f1f1;
  clear:both;
  padding-top:10px;
  margin-bottom:5px;
}
.credit dd {
  margin:0;
  font-size:1.2rem;
}
.col1 {
  width:100%;
}
.col2 {
  width:50%;
  float:left;
  padding-right:10px;
  box-sizing:border-box;
}
.credit_logo1,
.credit_logo2 {
  float:left;
}
.credit_logo1 img {
  margin-top:15px;
  width:100px;
  height:22px;
  margin-right:20px;
}
.credit_logo2 img {
  width:46px;
  height:56px;
}
.credit_logo1 a:hover,
.credit_logo2 a:hover {
  opacity:0.6;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.ft_logo {
  position:relative;
  width:100%;
  margin:0;
  padding:0;
  box-sizing: border-box;
  margin-top:60px;
}
.ft_logo img {
  width:200px;
  margin-bottom:10px;
}
.copyright {
  font-size:1rem;
  margin-top:20px;
}


/*　tablet設定 */

@media screen and (min-width:640px) and ( max-width:1100px) {
  .sp-on {display:none !important;}
  .pc-on {display:block !important;}

  .hd_logo_top {
    position:absolute;
    width:180px;
    top:50px;
    right:50px;
  }
  .main_tokuten {
    width:160px;
    height:160px;
    top:230px;
    right:40px;
  }
  .main_tokuten img {
    width:160px;
    height:160px;
  }

  .main_ttl {
    position:relative;
    width:85%;
    left:15%;
    top:20px;
    transform:none;
  }
  .main_ttl h1 {
    font-size:2.6rem;
  }
  .main_img_bk {
    position:absolute;
    background-color: #F7F5ED;
    width:80%;
    top:200px;
    margin-left:20%;
    height:700px;
    max-height:700px;
    margin-bottom:120px;
  }
  .main_img {
   margin-bottom:-80px;
   margin-left:33%;
   width:67%;
   height:100%;
   left:0;
   padding-top: 50.22%;
  }
  .main_img img {
    width:100%;
    margin-left:5%;
  }
  .top_about {
    margin-top:20px;
    padding-bottom:80px;
  }
  .top_about_img {
    width:60%;
  }
  .top_about_ttl {
    top:0;
    transform:none;
  }
  .top_about_txt {
    width:40%;
    margin:0 auto;
    position:absolute;
    top:0px;
    left:60%;
    padding-left:20px;
    padding-right:10%;
    margin-top:0px;
    box-sizing: border-box;
  }
  .top_about_txt h2 {
    font-size:1.7rem;
    margin-bottom:15px;
  }
  .top_about_txt p {
    font-size:1.2rem;
    line-height:160%;
  }
  .top_about_btn {
    position:absolute;
    top:55%;
    width:38%;
    left:52%;
  }
  .top_plan {
    margin-top:40px;
    padding-bottom:140px;
    overflow-x: hidden !important;
  }
  .top_plan_img {
    position:relative;
    width:60%;
    left:40%;
    margin-right:-40%;
  }
  .top_plan_img img {
    width:100%;
  }
  .top_plan_ttl {
    position:absolute;
    top:32px;
    transform:translate(20px,-50%);
  }
  .top_plan_txt {
    width:40%;
    position:absolute;
    top:0;
    padding-left:10%;
    padding-right:20px;
    margin-top:0px;
    box-sizing:border-box;
  }
  .top_plan_txt h2 {
    font-size:1.7rem;
    margin-bottom:15px;
  }
  .top_plan_txt p {
    font-size:1.3rem;
    line-height:160%;
  }
  .top_plan_btn {
    position:absolute;
    width:38%;
    left:10%;
    top:50%;
    margin-top:20px;
  }
  .top_movie {
    width:80%;
    margin-top:0px;
    margin-bottom:80px;
  }
  .btn2 {
    display: inline-block;
    width: 320px !important;
    height: 46px !important;
    font-size:1rem !important;
    line-height: 46px !important;
    left:calc(50% - 160px) !important;
  }
  #access {
    margin-top:100px;
  }
  .maps {
    height:360px;
  }
  .access_info {
    width:90%;
    margin:0 auto;
    display:flex;
  }
  .address {
    width:50%;
    margin-top:20px;
    box-sizing: border-box;
    padding-right:20px;
    border-right:1px solid #cccccc;
  }
  .address p {
    font-size:1.2rem;
    text-align:left;
  }
  .kotsu {
    width:50%;
    margin-top:20px;
    padding-left:20px;
    box-sizing: border-box;
  }
  .kotsu p {
    font-size:1.2rem;
    text-align:left;
  }
  .contact {
    margin-top:120px;
    padding-top:60px;
    padding-bottom:80px;
  }
  .contact_btn {
    width:80%;
    display:flex;
    margin:0 auto;
  }
  .contact_home {
    display:block;
    width:50%;
    margin:0 auto;
    margin-top:10px;
    box-sizing: border-box;
    padding-right:10px;
  }
  .contact_media {
    display:block;
    width:50%;
    margin:0 auto;
    margin-top:10px;
    padding-left:10px;
    box-sizing: border-box;
  }
  .contact h3 {
    font-size:3rem;
  }
  .btn3 {
    height: 80px !important;
    font-size:1.4rem !important;
    line-height: 80px !important;
  }
  .ft_wrapper {
    width:80%;
    height:460px;
    margin:0 auto;
    padding-top:60px;
    padding-bottom:60px;
    overflow: hidden;
  }
  .ft_menu {
    position:absolute;
    width:38%;
    left:10%;
    display:block;
    font-size:1.4rem;
    border-top:1px solid #f1f1f1;
    padding-top:20px;
  }
  .credit {
    position:absolute;
    width:38%;
    left:52%;
    top:30px;
    display:block;
    font-size:1rem;
    padding-top:20px;
  }
  .col1 {
    width:100%;
    float:left;
    padding-right:10px;
    box-sizing:border-box;
  }
  .col2 {
    width:100%;
  }
  .credit dd {
    font-size:1.4rem;
  }
  .ft_logo {
    position:absolute;
    top:220px;
    width:40%;
    margin:0;
    padding:0;
    box-sizing: border-box;
    margin-top:10px;
    margin-bottom:0px;
  }
  .ft_logo img {
    width:200px;
    margin-bottom:10px;
  }
  .copyright {
    font-size:1rem;
    margin-top:20px;
  }
  .header_wrap {
    height:180px;
  }
  .hd_logo {
    width:180px;
    top:40px;
    right:40px;
  }
  .cont_ttl h1 {
    font-size:2.4rem;
  }
  .concept {
    position:relative;
    width:80%;
    margin:0 auto;
    margin-top:60px;
  }
  .concept h2 {
    font-size:2.2rem;
    line-height:210%;
    letter-spacing: 2px;
    margin-top:0;
    margin-bottom:15px;
  }
  .concept p {
    font-size:1.4rem;
    line-height:200%;
    letter-spacing: 1px;
    margin-top:0;
    margin-bottom:30px;
  }
  .concept_wrap {
    margin-bottom:60px;
  }
  .concept_ttl {
    display:block;
    width:40%;
    float:left;
  }
  .concept_txt1 {
    width:60%;
    float:left;
    padding-left:10px;
  }
  .concept_txt2 {
    width:60%;
    float:right;
    padding-left:10px;
  }
  .point {
    display:flex;
    flex-wrap: wrap;
  }
  .point p {
    font-size:1.4rem;
  }
  .pt_img1 {
    width:240px;
    left:50%;
    transform:translateX(-50%);
    top:-10px;
  }
  .pt_img2 {
    width:280px;
    left:50%;
    transform:translateX(-50%);
    top:-25px;
  }
  .pt_img3 {
    width:200px;
    left:50%;
    transform:translateX(-55%);
    top:-20px;
  }
  .pt_img4 {
    width:210px;
    left:50%;
    transform:translateX(-40%);
    top:-20px;
  }
  .pt_img1 img,
  .pt_img2 img,
  .pt_img3 img,
  .pt_img4 img {
    width:100%;
  }
  .pt_img_bk {
    height:200px;
  }
  .pt_num_sub p {
    font-size:1rem;
  }
  .pt_num_main p {
    font-size:2.4rem;
  }
  .pt01,
  .pt03 {
    position:relative;
    width:50%;
    margin-bottom:80px;
    display:block;
    box-sizing: border-box;
    padding-right:15px;
  }
  .pt02,
  .pt04 {
    position:relative;
    width:50%;
    margin-bottom:80px;
    display:block;
    box-sizing: border-box;
    padding-left:15px;
  }
  .bld_img_bk {
    height:400px;
  }
  .bld_img {
    top:-400px;
    margin-bottom:-280px;
  }
  .bld_img img {
    width:90%;
    margin-left:5%;
  }
  .plan_bnr {
    padding-bottom:0px;
  }
  .plan_bnr_img {
    width:50%;
    position:relative;
    left:50%;
    margin-right:-50%;
  }
  .plan_bnr_img img {
    width:100%;
    margin:0;
    padding:0;
    margin-bottom:0px;
    vertical-align: middle;
  }
  .plan_bnr_txt {
    width:50%;
    position:absolute;
    left:0%;
    top:50%;
    transform: translateY(-100%);
    margin-bottom:-40px;
  }
  .plan_bnr h3 {
    text-align:center;
    font-size:2rem;
    letter-spacing:8px;
    margin:0;
    margin-bottom:10px;
  }
  .plan_bnr_btn {
    position:absolute;
    top:50%;
    width:40%;
    left:5%;
    margin-top:0px;
  }
  .plan_bnr_btn img {
    width:40px;
  }
  .plan_main {
    margin-top:60px;
  }
  .plan_main_ttl {
    display:block;
    z-index:4;
  }
  .plan_main_ttl h2 {
    font-size:2.6rem;
    line-height:180%;
  }
  .plan_main_txt {
    width:40%;
    position:relative;
  }
  .plan_main_wrap {
    position:relative;
    top:20px;
    display:block;
    z-index:4;
  }
  .plan_main_img {
    position:relative;
    width:97.5%;
    top:-320px;
    left:15%;
    margin-bottom:-240px;
  }
  .plan_category {
    display:flex;
  }
  .plan_no {
    width:80px;
  }
  .plan_category_txt {
    margin-top:40px;
  }
  .plan_category h3 {
    letter-spacing:2px;
    font-size:2rem;
  }
  .plan_category h4 {
    letter-spacing:2px;
    font-size:1.2rem;
  }
  .plan_01,
  .plan_02,
  .plan_03 {
    padding:15px;
    margin-bottom:80px;
    margin-right:10px;
    margin-left:10px;
  }
  .plan_category_btn img {
    width:20px !important;
    height:4px !important;
  }
  .detail {
    padding-top:60px;
    padding-bottom:80px;
    margin-bottom:-120px;
  }
  .detail_ttl h2 {
    font-size:2.2rem;
  }
  .detail_list {
    margin-top:30px;
  }
  .detail_list dt {
    width:20%;
  }
  .detail_list dd {
    width:80%;
    margin-left:10px;
  }
  .plan_single_wrap,
  .plan_family_wrap {
    display:flex;
    flex-wrap: wrap;
  }
  .plan_index {
    width:calc(50% - 20px );
    margin-bottom:40px;
    margin-left: 10px;
    margin-right: 10px;
  }
  .btn4,
  .btn5,
  .btn6 {
    height: 54px !important;
    line-height: 54px !important;
  }
  .plan_detail {
    padding-bottom:140px;
  }
  .plan_home_bk {
    top:170px;
  }
  .plan_detail_wrap {
    display:flex;
    flex-wrap: wrap;
    box-sizing: border-box;
  }
  .plan_detail_txt,
  .plan_detail_list {
    width:50%;
    margin-top:20px;
  }
  .plan_detail_txt {
    padding-right:15px;
  }
  .plan_detail_list {
    padding-left:15px;
  }
  .plan_detail_list dt {
    width:80px;
  }
  .plan_detail_list dd {
    width:calc(100% - 80px);
  }
  .plan_detail_btn {
    width:50%;
    margin:0 auto;
    margin-top:60px;
  }
  .contact_index_wrap {
    display:block;
    padding-top:80px;
    padding-bottom:120px;
  }
  .contact_index_txt {
    margin-bottom:60px;
  }
  .contact_index_txt h2 {
    font-size:3rem;
  }
  .contact_index_txt p {
    font-size:1.6rem;
  }
  .contact_index_btn1,
  .contact_index_btn2 {
    margin-top:20px;
    margin-bottom:20px;
  }
  .contact_wrap {
    padding-bottom:160px;
  }
  .contact_lead_after h2,
  .contact_lead h2 {
    font-size:2.4rem;
    line-height:200%;
  }
  .contact_lead_after h4,
  .contact_lead h4 {
    margin-bottom:20px;
  }
  .contact_lead {
    margin-bottom:60px;
  }
  .contact_tokuten {
    padding:20px;
    margin-bottom:60px;
  }
  .bk_btn {
    width:60%;
  }
  .form_text {
    font-size:1.4rem;
    margin-bottom:20px;
  }
  .form_text label {
    width:160px;
  }
  .form_text input {
    width:calc(100% - 160px);
    height:36px;
    font-size:1.4rem;
  }
  .form_text p {
    width:calc(100% - 160px);
    margin:0;
  }
  .form_textarea {
    display:flex;
    font-size:1.4rem;
    margin-bottom:15px;
  }
  .form_textarea label {
    width:160px;
  }
  .form_textarea textarea {
    width:calc(100% - 160px);
    font-size:1.3rem;
  }
  .form_radio {
    font-size:1.3rem;
    margin-bottom:15px;
  }
  .form_radioL {
    width:160px;
  }
  .form_radioR {
    width:calc(100% - 160px);
    margin-left:160px;
  }
  .form_radio input {
    width:16px;
    height:16px;
  }
  .policy {
    margin-top:80px;
  }
  .policy h3 {
    font-size:1.6rem;
    text-align:center;
  }
  .policyBox {
    height:200px;
    font-size: 1.2rem;
    padding:20px;
  }
  .policyBox h5 {
    font-size:1.4rem;
    margin-top:0;
    margin-bottom:10px;
  }
  .form_check {
    display:flex;
    align-content: center;
    height:40px;
    margin-top:20px;
    margin-bottom:40px;
    font-size:1.4rem;
  }
  .form_check label {
    display:flex;
    align-content: center;
    height:20px;
  }
  .form_check input {
    width:20px;
    height:20px;
    margin:0;
    margin-right:10px;
  }
  .form_submit input {
    height:80px;
  }
  .form_submitY input {
    height:60px;
  }
  .form_submitG input {
    height:60px;
    margin-top:60px;
    margin-bottom:20px;
  }

}

/*　laptop設定 */

@media screen and (min-width:1100px) {
  .sp-on {display:none !important;}
  .pc-on {display:block !important;}

  .hd_logo_top {
    position:absolute;
    width:15%;
    top:440px;
    left:10% !important;
  }
  .hd_logo_top p {
    font-size:1.1rem;
    line-height:180%;
    margin-top:20px;
  }
  .main_tokuten {
    width:160px;
    height:160px;
    top:40px;
    right:40px;
  }
  .main_tokuten img {
    width:160px;
    height:160px;
  }
  .main_ttl {
    position:relative;
    width:86%;
    left:14%;
    top:20px;
    z-index:3;
    transform:none;
  }
  .main_ttl h1 {
    font-size:2.8rem;
  }
  .main_img_bk {
    position:absolute;
    background-color: #F7F5ED;
    width:65%;
    top:0px;
    margin-left:35%;
    height:720px;
    max-height:720px;
    margin-bottom:80px;
  }
  .main_img {
   top:-320px;
   margin-bottom:-280px;
   margin-left:33%;
   width:67%;
   height:100%;
   left:0;
   padding-top: 50.22%;
  }
  .main_img img {
    width:100%;
   margin: 0;
  }
  .top_about_img {
    width:60%;
  }
  .top_about_ttl {
    top:0;
    transform:none;
  }
  .top_about_txt {
    width:40%;
    margin:0 auto;
    position:absolute;
    top:40px;
    left:60%;
    padding-left:60px;
    padding-right:10%;
    margin-top:0px;
    box-sizing: border-box;
  }
  .top_about_txt h2 {
    font-size:2.4rem;
    margin-bottom:20px;
  }
  .top_about_txt p {
    font-size:1.4rem;
    line-height:200%;
  }
  .top_about_btn {
    position:absolute;
    top:60%;
    width:32%;
    left:58%;
  }
  .top_plan {
    margin-top:80px;
    padding-bottom:80px;
    overflow-x: hidden !important;
  }
  .top_plan_img {
    position:relative;
    width:60%;
    left:40%;
    margin-right:-40%;
  }
  .top_plan_img img {
    width:100%;
  }
  .top_plan_ttl {
    position:absolute;
    top:32px;
    transform:translate(20px,-50%);
  }
  .top_plan_txt {
    width:40%;
    position:absolute;
    top:40px;
    padding-left:10%;
    padding-right:60px;
    margin-top:0px;
    box-sizing:border-box;
  }
  .top_plan_txt h2 {
    font-size:2.4rem;
    margin-bottom:20px;
  }
  .top_plan_txt p {
    font-size:1.4rem;
    line-height:200%;
  }
  .top_plan_btn {
    position:absolute;
    width:32%;
    left:10%;
    top:60%;
    margin-top:0px;
  }
  .btn {
    height: 80px !important;
    font-size:1.5rem !important;
    line-height: 80px !important;
  }
  .top_movie {
    width:80%;
    margin-top:60px;
  }

  .top_info {
    position:relative;
    width:80%;
    margin:0 auto;
    margin-top:120px;
    margin-bottom:120px;
    box-sizing: border-box;
    display:flex;
  }
  .top_info h3 {
    font-size:1.8rem;
    margin-bottom:40px;
  }
  .facebook {
    width:50%;
    padding-right:30px;
    border-right: solid 1px #cccccc;
    margin-top:0px;
    padding-bottom:10px;
    margin-bottom:0px;
  }

  .insta {
    width:50%;
    padding-left:30px;
    margin-top:0px;
    padding-bottom:10px;
    margin-bottom:0px;
  }
  .info_btn {
    position:absolute;
    width:50%;
    margin-top:0px;
    top:10px;
  }
  .btn2 {
    display: inline-block;
    width: 140px !important;
    height: 36px !important;
    font-size:1rem !important;
    line-height: 36px !important;
    left:calc(100% - 170px) !important;
  }
  .maps {
    height:560px;
  }
  .access_box {
    width:80%;
    top:-100px;
    margin-bottom:-100px;
  }
  .access_info {
    width:80%;
    margin:0 auto;
    display:flex;
  }
  .address {
    width:50%;
    margin-top:20px;
    box-sizing: border-box;
    padding-right:40px;
    border-right:1px solid #cccccc;
  }
  .address p {
    font-size:1.4rem;
    text-align:left;
  }
  .kotsu {
    width:50%;
    margin-top:20px;
    padding-left:40px;
    box-sizing: border-box;
  }
  .kotsu p {
    font-size:1.4rem;
    text-align:left;
  }
  .contact {
    margin-top:180px;
    padding-top:120px;
    padding-bottom:120px;
  }
  .contact_btn {
    width:80%;
    display:flex;
    margin:0 auto;
  }
  .contact_home {
    display:block;
    width:50%;
    margin:0 auto;
    margin-top:20px;
    box-sizing: border-box;
    padding-right:20px;
  }
  .contact_media {
    display:block;
    width:50%;
    margin:0 auto;
    margin-top:20px;
    padding-left:20px;
    box-sizing: border-box;
  }
  .contact h3 {
    font-size:3rem;
  }
  .btn3 {
    height: 100px !important;
    font-size:1.8rem !important;
    line-height: 100px !important;
  }

  .back_to_top {
    left:calc(90% - 30px);
  }
  .ft_wrapper {
    width:80%;
    height:360px;
    margin:0 auto;
    padding-top:100px;
    padding-bottom:100px;
    overflow: hidden;
  }
  .ft_menu {
    position:absolute;
    width:20%;
    left:35%;
    display:block;
    font-size:1.4rem;
    border-top:1px solid #f1f1f1;
    padding-top:20px;
  }
  .credit {
    position:absolute;
    width:34%;
    left:56%;
    top:70px;
    display:block;
    font-size:1rem;
    padding-top:20px;
  }
  .col1 {
    width:50%;
    float:left;
    padding-right:10px;
    box-sizing:border-box;
  }
  .ft_logo {
    position:absolute;
    width:25%;
    margin:0;
    padding:0;
    box-sizing: border-box;
    margin-top:10px;
    margin-bottom:0px;
  }
  .ft_logo img {
    width:200px;
    margin-bottom:10px;
  }
  .copyright {
    font-size:1rem;
    margin-top:20px;
  }
  .header_wrap {
    height:240px;
  }
  .hd_logo {
    width:240px;
    top:60px;
    right:10%;
  }
  .cont_ttl {
  margin-top:-140px;
  margin-bottom:90px;
}
  .cont_ttl h1 {
    font-size:2.4rem;
  }
  .concept {
    position:relative;
    width:80%;
    margin:0 auto;
    margin-top:80px;
  }
  .concept h2 {
    font-size:2.4rem;
    line-height:210%;
    letter-spacing: 2px;
    margin-top:0;
    margin-bottom:15px;
  }
  .concept p {
    font-size:1.4rem;
    line-height:200%;
    letter-spacing: 1px;
    margin-top:0;
    margin-bottom:30px;
  }
  .concept_wrap {
    display:flex;
    flex-wrap:wrap;
    margin-bottom:60px;
  }
  .concept_ttl {
    display:block;
    width:30%;
    float:none;
  }
  .concept_txt1 {
    width:35%;
    float:none;
    padding-left:20px;
  }
  .concept_txt2 {
    width:35%;
    float:none;
    padding-left:20px;
  }
  .point {
    display:flex;
    flex-wrap: wrap;
  }
  .point p {
    font-size:1.4rem;
  }
  .pt_img1 {
    width:380px;
    left:50%;
    transform:translateX(-50%);
    top:-10px;
  }
  .pt_img2 {
    width:420px;
    left:50%;
    transform:translateX(-50%);
    top:-25px;
  }
  .pt_img3 {
    width:340px;
    left:50%;
    transform:translateX(-55%);
    top:-40px;
  }
  .pt_img4 {
    width:360px;
    left:50%;
    transform:translateX(-40%);
    top:-40px;
  }
  .pt_img1 img,
  .pt_img2 img,
  .pt_img3 img,
  .pt_img4 img {
    width:100%;
  }
  .pt_img_bk {
    height:320px;
  }
  .pt_num_sub p {
    font-size:1rem;
  }
  .pt_num_main p {
    font-size:2.4rem;
  }
  .pt01,
  .pt03 {
    position:relative;
    width:50%;
    margin-bottom:120px;
    display:block;
    box-sizing: border-box;
    padding-right:20px;
  }
  .pt02,
  .pt04 {
    position:relative;
    width:50%;
    margin-bottom:120px;
    display:block;
    box-sizing: border-box;
    padding-left:20px;
  }
  .bld_img_bk {
    height:460px;
  }
  .bld_img {
    top:-400px;
    margin-bottom:-280px;
  }
  .bld_img img {
    width:70%;
    margin-left:15%;
  }
  .about_slide {
    width: 60%;
    margin: 0 auto 60px auto;
  }
  #slider {
   margin: 0;
   padding: 0;
  }
  #thumbnail_slider{
    width: 100%;
    display: flex;
   margin: 20px 0 0 0;
   padding: 0;
  }
  .slide-item img {
    width: 100%; 
  }
  #thumbnail_slider .slick-slide {
  margin: 0 3px;
  border: 2px solid #FFF;
   line-height: 0.5;
  }
  #thumbnail_slider .slick-slide.slick-current {
   border: 2px solid #000;
  }
  .thumbnail-item img{
   width: 100%;
  }

  .plan_bnr {
    position:relative;
    padding-bottom:0px;
  }
  .plan_bnr_img {
    width:50%;
    position:relative;
    left:50%;
    margin-right:-50%;
  }
  .plan_bnr_img img {
    width:100%;
    margin:0;
    padding:0;
    margin-bottom:0px;
    vertical-align: middle;
  }
  .plan_bnr_txt {
    width:50%;
    position:absolute;
    left:0%;
    top:50%;
    transform: translateY(-120%);
    margin-bottom:-40px;
  }
  .plan_bnr h3 {
    text-align:center;
    font-size:2.8rem;
    letter-spacing:12px;
    margin:0;
    margin-bottom:10px;
  }
  .plan_bnr_btn {
    position:absolute;
    top:50%;
    width:40%;
    left:5%;
    margin-top:0px;
  }
  .plan_bnr_btn img {
    width:40px;
  }
  .plan_main {
    margin-top:0px;
    height:640px;
  }

  .plan_main_ttl {
    display:block;
    z-index:4;
  }
  .plan_main_ttl h2 {
    font-size:2.4rem;
    line-height:210%;
    margin-bottom:30px;
  }
  .plan_main_txt {
    width:25%;
  }
  .plan_main_txt p {
    font-size:1.4rem;
    line-height:220%;
  }
  .plan_main_wrap {
    position:relative;
    top:0;
    transform: translateY(5%);
    display:block;
    z-index:4;
  }
  .plan_main_img {
    position:relative;
    width:82.4%;
    top:-400px;
    left:30%;
    margin-bottom:-300px;
  }
  .plan_category {
    display:flex;
  }
  .plan_category p {
    font-size:1.4rem;
  }
  .plan_no {
    width:120px;
  }
  .plan_category_txt {
    margin-top:40px;
  }
  .plan_category h3 {
    letter-spacing:4px;
    font-size:2.8rem;
  }
  .plan_category h4 {
    letter-spacing:4px;
    font-size:1.6rem;
  }
  .plan_01,
  .plan_02,
  .plan_03 {
    padding:40px;
    margin-bottom:160px;
    margin-right:10px;
    margin-left:10px;
  }
  .plan_category_btn {
    margin-top:30px;
  }
  .plan_category_btn img {
    width:40px !important;
    height:8px !important;
  }
  .detail {
    padding-top:80px;
    padding-bottom:120px;
    margin-bottom:-180px;
  }
  .detail_ttl h2 {
    font-size:2.2rem;
  }
  .detail_list {
    font-size:1.3rem;
    margin-top:30px;
  }
  .detail_list dt {
    width:15%;
  }
  .detail_list dd {
    width:85%;
    margin-left:10px;
  }
  .plan_single,
  .plan_family {
    padding-top:30px;
    padding-bottom:40px;
  }
  .plan_single h2,
  .plan_family h2 {
    font-size:2.4rem;
    letter-spacing:4px;
    margin-bottom:40px;
  }
  .plan_single_wrap,
  .plan_family_wrap {
    display:flex;
    flex-wrap: wrap;
  }
  .plan_index {
    width:calc(33% - 20px );
    margin-bottom:40px;
    margin-left: 10px;
    margin-right: 10px;
  }
  .btn4,
  .btn5,
  .btn6 {
    height: 52px !important;
    line-height: 52px !important;
  }
  .plan_detail {
    padding-bottom:180px;
  }
  .plan_detail_img {
    width: 60%;
  }
  .plan_home_bk {
    top:280px;
  }
  .plan_detail_wrap {
    display:flex;
    flex-wrap: wrap;
    box-sizing: border-box;
  }
  .plan_detail_txt,
  .plan_detail_list {
    width:50%;
    margin-top:20px;
  }
  .plan_detail_txt {
    padding-right:20px;
  }
  .plan_detail_list {
    padding-left:20px;
  }
  .plan_detail_list dt {
    width:80px;
  }
  .plan_detail_list dd {
    width:calc(100% - 80px);
  }
  .plan_detail_btn {
    width:35%;
    margin:0 auto;
    margin-top:60px;
  }
  .contact_index_wrap {
    display:block;
    padding-top:120px;
    padding-bottom:120px;
  }
  .contact_index_txt {
    margin-bottom:60px;
  }
  .contact_index_txt h2 {
    font-size:2.4rem;
  }
  .contact_index_txt p {
    font-size:1.4rem;
    letter-spacing: 2px;
    text-align:center;
  }
 .contact_index_btn {
   display:flex;
 }
  .contact_index_btn1,
  .contact_index_btn2 {
    width:50%;
    margin-top:20px;
    margin-bottom:20px;
    display:block;
    padding:0 20px;
  }
  .contact_wrap {
    padding-bottom:160px;
  }
  .contact_form {
    display:flex;
  }
  .contact_lead {
    width:40%;
    margin-bottom:60px;
  }
  .contact_lead_after h2,
  .contact_lead h2 {
    font-size:2.4rem;
    line-height:200%;
  }
  .contact_lead_after h2{
    text-align:center;
  }
  .contact_lead_after h4,
  .contact_lead h4 {
    margin-bottom:20px;
  }
  .contact_lead_after h4 {
    text-align:center;
  }

  .contact_tokuten {
    padding:25px;
    margin-bottom:60px;
  }
  .bk_btn {
    width:50%;
  }
  .formBox {
    width:55%;
    margin-left:5%;
    box-sizing: border-box;
  }
  .form_text {
    font-size:1.4rem;
    margin-bottom:20px;
  }
  .form_text label {
    width:160px;
  }
  .form_text input {
    width:calc(100% - 160px);
    height:36px;
    font-size:1.4rem;
  }
  .form_text p {
    width:calc(100% - 160px);
    margin:0;
  }
  .form_textarea {
    display:flex;
    font-size:1.4rem;
    margin-bottom:15px;
  }
  .form_textarea p {
    width:calc(100% - 160px);
    margin:0;
  }
  .form_textarea label {
    width:160px;
  }
  .form_textarea textarea {
    width:calc(100% - 160px);
    font-size:1.3rem;
  }
  .form_radio {
    font-size:1.3rem;
    margin-bottom:15px;
  }
  .form_radioL {
    width:160px;
  }
  .form_radioR {
    width:calc(100% - 160px);
    margin-left:160px;
  }
  .form_radio input {
    width:16px;
    height:16px;
  }
  .policy {
    margin-top:80px;
  }
  .policy h3 {
    font-size:1.6rem;
    text-align:center;
  }
  .policyBox {
    height:200px;
    font-size: 1.2rem;
    padding:20px;
  }
  .policyBox h5 {
    font-size:1.4rem;
    margin-top:0;
    margin-bottom:10px;
  }
  .form_check {
    display:flex;
    align-content: center;
    height:40px;
    margin-top:20px;
    margin-bottom:40px;
    font-size:1.4rem;
  }
  .form_check label {
    display:flex;
    align-content: center;
    height:20px;
  }
  .form_check input {
    width:20px;
    height:20px;
    margin:0;
    margin-right:10px;
  }
  .form_submit input {
    height:80px;
  }
  .form_submitY input {
    height:60px;
  }
  .form_submitG input {
    height:60px;
    margin-top:60px;
    margin-bottom:20px;
  }
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .gnav__menu {
    top:30%;
  }
  *::-ms-backdrop, .main_img {
    position:absolute;
    top:0px!important;
  }
}
@media all and (max-width:1100px) {
  *::-ms-backdrop, .main_img {
    position:absolute;
    top:165px!important;
  }
}
@media screen and (max-width:640px) {
  *::-ms-backdrop, .main_ttl {
    height:750px;
  }
}

/*　desktop設定 */

@media screen and (min-width:1760px) {
  .sp-on {display:none !important;}
  .pc-on {display:block !important;}

  .hd_logo_top {
    width:20%;
    top:720px;
  }
  .main_ttl {
    width: 82%;
    left: 18%;
    top: 80px;
    z-index: 3;
    transform: none;
  }
  .main_ttl h1 {
    font-size: 3.6rem;
  }
  .main_img {
    top: -380px;
    margin-bottom: -300px;
  }
  .main_img_bk {
    width:55%;
    margin-left:45%;
    height:800px;
    max-height:800px;
  }
  .main_img img {
    max-width:1600px;
  }
  .main_tokuten {
    width: 180px;
    height: 180px;
    top: 40px;
    right: 40px;
  }
  .maps {
    height: 640px;
  }
  .contact {
    padding-top: 80px;
    padding-bottom: 120px;
  }
  .concept_img {
    width: 100%;
    transform:none;
  }
  .plan_main_img {
    position: relative;
    width: 75%;
    top: -340px;
    left: 25%;
  }
}
