@charset "utf-8";
/*
Theme Name: okanokaze-themes-solution
Theme URI: http://www.solution-sy.com/
Author: solution.STC
Author URI: http://www.crossdesign-company.co.jp  
Description: This is a default wordpress themes
Version: 1.0
License: GNU General Public License v2 or later
License URI: LICENSE
*/
@font-face {
  font-family: 'UDDigiKyokashoN';
  src: url('font/UDDigiKyokashoN-B.ttc') format('truetype');
}
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  background: 0 0;
  box-sizing: border-box;
}

:after, :before {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  overflow-x: hidden;
}

body {
  font-size: 18px;
  color: #333333;
  width: 100%;
  overflow-x: hidden;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --themecolor:#99b537;
}

@media screen and (max-width: 1320px) {
  body {font-size: 16px;}
}
@media screen and (max-width: 1080px) {
  body {font-size: 14px;}
}

address, caption, code, figcaption, pre, th {
  font-size: 1em;
  font-weight: normal;
  font-style: normal;
}

blockquote, q {
  quotes: none;
}

blockquote:after, blockquote:before, q:after, q:before {
  content: '';
  content: none;
}

fieldset, iframe, img {
  border: 0;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

caption, th {
  text-align: left;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
  display: block;
}

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

button {
  background: 0 0;
  border: 0;
  box-sizing: content-box;
  color: inherit;
  cursor: pointer;
  font: inherit;
  line-height: inherit;
  overflow: visible;
  vertical-align: inherit;
}

button:disabled {
  cursor: default;
}

audio:not([controls]) {
  display: none;
}

:focus[data-focus-method=mouse]:not(input):not(textarea):not(select), :focus[data-focus-method=touch]:not(input):not(textarea):not(select) {
  outline: 0;
}

::-moz-focus-inner {
  border: 0;
  padding: 0;
}

a, a:link, a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:active {
  text-decoration: none;
}

ul {
  list-style: none;
}

em {
  font-style: normal;
}

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

:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #ccc;
  opacity: 1;
}

::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}

input:-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}

input::-webkit-input-placeholder {
  color: #ccc;
  opacity: 1;
}

::-webkit-scrollbar {
  width: 10px;
  height: 15px;
  background-color: #f3f3f3;
  border-left: 1px solid #dddddd; 
}

::-webkit-scrollbar:hover {
  background-color: transparent;
}

::-webkit-scrollbar-thumb {
  cursor: pointer;
  border-radius: 15px;
  background-color: var(--themecolor)
}

::-webkit-scrollbar-thumb:hover {
  background-color: #333;
}

::-webkit-scrollbar-button:start:decrement, ::-webkit-scrollbar-button:end:increment {
  display: none;
}
/*hasbg*/
.hasbg{background-repeat:no-repeat;background-size:cover;background-position:center center;}
.hasbg:after{display:block;content:"";padding-top:100%;}
.hasbg>img{display:none;}

.ftfminchao{font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "MS Mincho", "MS 明朝", "Meiryo", serif;}
.ftfPGothic{font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
.ftfMeiryo{font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
.ftUDDigiKyokashoN{font-family: "UDDigiKyokashoN","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
@font-face {
  font-family: 'iconfont';
  src: url('iconfont/iconfont.woff2?t=1786187417653') format('woff2'),
       url('iconfont/iconfont.woff?t=1786187417653') format('woff'),
       url('iconfont/iconfont.ttf?t=1786187417653') format('truetype'),
       url('iconfont/iconfont.svg?t=1786187417653#iconfont') format('svg');
}

.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/*sp mobile-btn*/
/* sp mobile-btn and nav css */

.spscreen {
  display: none; }
.mobilebtn{display:none;}
@media screen and (max-width: 768px) {
  .logged-in .mobilebtn{
    top:60px;
  }
  .mobilebtn {
    position: fixed;
    z-index: 110;
    top: 20px;
    right: 20px;
    display: block; }

  .mobilebtn div {
    width: 30px;
    height: 20px;
    background: none;
    cursor: pointer;
    display: block;
    position: relative;
    right: 0;
    top: 0;
    transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1); }

  .mobilebtn div span {
    width: 30px;
    height: 2px;
    top: 9px;
    background: var(--themecolor);
    display: block;
    position: absolute;
    z-index: 5;
    left: 50%;
    margin: 0 0 0 -15px;
    transform-origin: center;
    -webkit-transform-origin: center;
    -moz-transform-origin: center;
    -o-transform-origin: center;
    -ms-transform-origin: center;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    -ms-transition: all 0.4s; }

  .mobilebtn div span:nth-child(1) {
    -moz-transform: translateY(-9px);
    -webkit-transform: translateY(-9px);
    -o-transform: translateY(-9px);
    -ms-transform: translateY(-9px);
    transform: translateY(-9px); }

  .mobilebtn div span:nth-child(3) {
    -moz-transform: translateY(9px);
    -webkit-transform: translateY(9px);
    -o-transform: translateY(9px);
    -ms-transform: translateY(9px);
    transform: translateY(9px); }

  .mobilebtn .active {
    transform:translateX(-200px) rotate(180deg); /* */}

  .mobilebtn .active span:nth-child(1) {
    transform: rotate3d(0, 0, 1, -45deg) !important;
    transform-origin: center center !important;/*0.71429px*/
    width: 30px !important; }

  .mobilebtn .active span:nth-child(2) {
    transform: rotate3d(0, 1, 0, -90deg) !important;
    width: 0!important;
  }

  .mobilebtn .active span:nth-child(3) {
    transform: rotate3d(0, 0, 1, 45deg) !important;
    transform-origin: center center !important;/*0.71429px */
    width: 30px !important; }

  .sp-wrapper-move {
    transform: translateX(0px) !important; }

  .spscreen {
    width: 200px;
    height: 100vh;
    position: fixed;
    z-index: 100;
    background: #333;
    right: 0;
    top: 0;
    transform: translateX(200px);
    transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);
    display: block; }

  .spscreen .sp-heading {
    width: 100%;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 24px;
    text-transform: uppercase;
    color: #fff; }

  .spscreen nav ul {
    padding: 0 15px; }

  .spscreen nav ul li:first-child {
    border-top: 1px solid #5d5d5d; }

  .spscreen nav ul li {
    border-bottom: 1px solid #5d5d5d; }

  .spscreen nav ul li a {
    color: #fff;
    display: block;
    text-align: center;
    text-decoration: none;
    padding: 10px 0;
    text-transform: uppercase;
    transition: .3s; }

  .spscreen nav ul li a:hover {
    background: #f2f2f2;
    color: #000; }

  .spscreen nav ul li ul{
    display:none;
  }
  .spscreen nav ul li a.current{position:relative;}
  .spscreen nav ul li a.current:after{content:"";border-top:5px solid #fff;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;top:50%;right:0;transform:translateY(-50%);transform-origin:center;}
  .spscreen nav ul li a.current.active:after{transform:rotate(180deg);}
  .spscreen nav ul li a:hover{background:#f2f2f2;color:#000;}
  .spscreen nav ul li ul{display:none;padding:0;}
  .spscreen nav ul li ul li a{font-size:12px;}
}

.spscreenmask{position:fixed;top:0;right:0;z-index:99;background:rgba(0,0,0,0.6);width:0%;height:100%;transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);}
.spscreenmask.spscreenmaskmove{width:100%;}


/*headerfixed*/
.headerfixed{position:fixed;top:0;left:0;z-index:90;width:100%;padding:10px 40px;background:#fff;box-shadow: 0 0 5px 5px rgba(0,0,0,0.3);-webkit-animation: headeranimation .5s linear  0s 1;animation: headeranimation .5s linear  0s 1; }
.logged-in .headerfixed{top:32px;}
@keyframes headeranimation {
  0% {
    transform:translateY(-100%);
    opacity:0;
  }
  100% {
    transform:translateY(0);
    opacity:1;
  }
}
@-webkit-keyframes headeranimation {
  0% {
    transform:translateY(-100%);
    opacity:0;
  }
  100% {
    transform:translateY(0);
    opacity:1;
  }
}


/* header css */
header{position:fixed;z-index:90;left:0;top:0; width:100%;display:flex;justify-content:space-between;padding:60px 50px;transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);}


.sitelogo{width:300px;display:flex;align-items:center; }

.headmain{width:calc(100% - 300px); display:flex; justify-content:flex-end;}


.mainnavigation{display:flex;}
.mainnavigation ul{display:flex;align-items:center;}
.mainnavigation ul li{position:relative;padding:20px 32px;}
.mainnavigation ul li a{width:100%;font-size:20px;color:#2c2c2c;font-weight:bolder;display:flex;text-decoration:none;position:relative;z-index:1;transition:.4s ease-in-out;}
.mainnavigation ul li a:hover{color:var(--themecolor);}
.mainnavigation ul li > a:after{content: "";position: absolute;left:0%;bottom: -5px;width: 100%;transform: scale(0) ;height: 2px;background: var(--themecolor);opacity: 0;visibility: hidden;transition: .4s ease-in-out;}
.mainnavigation ul li > a:hover:after{opacity: 1;visibility: visible;transform:scale(1);}
.mainnavigation ul li ul{display:none;position:absolute;left:50%;transform:translateX(-50%);background:var(--grey);}
.mainnavigation ul li:hover ul{display:block;}
.mainnavigation ul li ul li a{text-align:center;padding:5px 10px;}
.mainnavigation ul li ul li a:after{display:none;}

.speciallinks{}
.speciallinks ul{display:flex;align-items:center;}
.speciallinks ul li{width:calc(50% - 20px);margin-left:20px;}
.speciallinks ul li a{width:100%;padding:20px;border-radius:15px;font-size:20px;color:#fff;white-space:nowrap;display:flex;justify-content:center;align-items:center;text-decoration:none;position:relative;overflow:hidden;}
.speciallinks ul li a:hover{color:#000;}
.speciallinks ul li a i{margin-right:20px;font-size:22px;position:relative;z-index:10;}
.speciallinks ul li a span{position:relative;z-index:1;}
.speciallinks ul li a:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;transform:translateY(-101%);background:var(--yellow);transition:.3s;}
.speciallinks ul li a:hover:after{transform:translateY(0);}
@media screen and (max-width: 1520px) {
  header{padding:30px 40px;}
  .sitelogo{width:200px;}
  .headmain{width:calc(100% - 200px);}
  .mainnavigation ul li{padding:15px ;}
  .mainnavigation ul li a{font-size:16px;}
  .speciallinks ul li{width:calc(50% - 15px);margin-left:15px;}
  .speciallinks ul li a{padding:15px;font-size:16px;}
  .speciallinks ul li a i{font-size:18px;margin-right:10px;}

}
@media screen and (max-width: 1080px) {
  header{padding:10px 20px;}
  .sitelogo{width:160px;}
  .headmain{width:calc(100% - 160px);}
  .mainnavigation ul li{padding:10px;}
  .mainnavigation ul li a{font-size:14px;}
  .speciallinks ul li{width:calc(50% - 10px);}
  .speciallinks ul li a{padding:10px;font-size:14px;border-radius:5px;}
  .speciallinks ul li a i{margin-right:0;}
  .speciallinks ul li a span{display:none;}

}
@media screen and (max-width: 768px) {
  .headmain{margin-right:50px;}
  .mainnavigation{display:none;}

}
/* /header css */
/*banner*/
.banner{position:relative;}
.banner:after{content:"";display:block;width:100%;height:20%;position:absolute;left:0;bottom:-1px;z-index:10;background:url(img/bannerbg.png) no-repeat;background-size:100% 100%;background-position:center top;}

.banner .bannermain{}
.banner .bannermain li{overflow:hidden;}
.banner .bannermain figure{width:100%;height:99vh;position:relative;-webkit-animation: picmove1 50s linear infinite 0s;
      -moz-animation: picmove1 50s linear infinite 0s;
      -ms-animation: picmove1 50s linear infinite 0s;
      -o-animation: picmove1 50s linear infinite 0s;
      animation: picmove1 50s linear infinite 0s;}
.banner .bannermain figure:after{content:"";width:100%;height:100%;padding-top:0;position:absolute;top:0;left:0;width:100%; }
.banner .bannertext{position:absolute;left:50%;top:60%;z-index:20;width:100%;max-width:1320px;color:#4a4a4a;padding:80px 60px;transform:translate(-50%,-50%);display:flex;flex-direction:column;font-weight:bolder;}
.banner .bannertext h1{font-size:65px;line-height:1.2;letter-spacing:0.1em;margin-bottom:30px;align-self:flex-start;text-align:left;display:inline-block;background-image:linear-gradient(rgba(255, 255, 255, 0) 70%, #ffe34d 30%);}
.banner .bannertext h2{font-size:65px;line-height:1.2;letter-spacing:0.1em;align-self:flex-end;text-align:right;display:inline-block;background-image:linear-gradient(rgba(255, 255, 255, 0) 70%, #ffe34d 30%);}

@keyframes picmove1 {
 0% {
 -webkit-transform:scale(1, 1);
transform:scale(1, 1);
}
 50% {
 -webkit-transform:scale(1.2, 1.2);
transform:scale(1.2, 1.2);
}
 100% {
 -webkit-transform:scale(1, 1);
transform:scale(1, 1);
}
}
@media screen and (max-width: 1520px) {
  .banner:after{bottom:-2px;height:15%;}
  .banner .bannertext{max-width:900px;padding:60px 40px;}
  .banner .bannertext h1{font-size:50px;}
  .banner .bannertext h2{font-size:50px;}
}
@media screen and (max-width: 1080px) {
  .banner:after{height:10%;}
  .banner .bannermain figure{height:90vh;}
  .banner .bannertext{max-width:650px;padding:20px;}
  .banner .bannertext h1{font-size:38px;margin-bottom:15px;}
  .banner .bannertext h2{font-size:38px;}
}
@media screen and (max-width: 768px) {
  .banner{overflow:hidden;}
  .banner .bannermain figure{height:380px;}
  .banner .bannertext{width:80%;max-width:100%;}
  .banner .bannertext h1{font-size:28px;margin-bottom:10px;}
  .banner .bannertext h2{font-size:28px;}
}
@media screen and (max-width: 528px) {
  .banner .bannermain figure{height:300px;}
  .banner .bannertext{padding:10px;width:100%;}
  .banner .bannertext h1{font-size:20px;letter-spacing:1px;margin-bottom:5px;}
  .banner .bannertext h2{font-size:20px;letter-spacing:1px;}
}


.pagebanner{position:relative;}
.pagebanner:after{content:"";display:block;width:100%;height:15%;position:absolute;left:0;bottom:-1px;z-index:10;background:url(img/bannerbg.png) no-repeat;background-size:100% 100%;background-position:center top;}
.pagebanner figure{width:100%;height:60vh;}
.pagebanner figure:after{padding-top:0;}
.pagebannertext{position:absolute;z-index:1;left:0;top:50%;padding:0px 20px 0px 10vw;width:50%;}
.pagebannertext h1{font-size:38px;letter-spacing:0.1em;font-weight:bolder;display:inline-block;}
@media screen and (max-width: 1520px) {
  .pagebanner figure{height:50vh;}
  .pagebannertext{padding:0 20px 0 40px;top:45%;}
  .pagebannertext h1{font-size:30px;}
}
@media screen and (max-width: 1080px) {
  .pagebanner figure{height:360px;}
  .pagebannertext{padding:0 20px;}
  .pagebannertext h1{font-size:24px;}
}
@media screen and (max-width: 768px) {
  .pagebanner figure{height:300px;}
  .pagebannertext h1{font-size:20px;}
}
@media screen and (max-width: 568px) {
  .pagebanner figure{height:280px;}
  .pagebannertext{width:100%;}
}


.linebggorange{background-image:linear-gradient(rgba(255, 255, 255, 0) 70%, #edbf4e 20%);}
.linebggyellow{background-image:linear-gradient(rgba(255, 255, 255, 0) 70%, #88c23e 20%);}
.linebgggreen{background-image:linear-gradient(rgba(255, 255, 255, 0) 70%, #88c23e 20%);}
.linebggwhite{background-image:linear-gradient(rgba(255, 255, 255, 0) 70%, #FFFFFF 20%);}

/*/banner*/
.homegreeting{position:relative;}
.homegreeting.leavesbg:after{top:10%;}
.homegreetingmain{position:relative;z-index:10;}
.homegreetingmain .t2{margin-bottom:50px;}
.homegreetingmain .wide{margin-bottom:50px;}
.homegreetingmain .wide p{font-size:24px;margin-bottom:10px;}
.greetingpiclist{justify-content:center;margin-bottom:80px;}
.greetingpiclist .avcol3{}
.greetingpiclist .avcol3:nth-of-type(1){transform-origin:right bottom;transform:translateX(50px) rotate(-10deg);}
.greetingpiclist .avcol3:nth-of-type(2){position:relative;z-index:10;}
.greetingpiclist .avcol3:nth-of-type(3){transform-origin:left bottom;transform:translateX(-50px) rotate(10deg);}
@media screen and (max-width: 1520px) {
  .homegreetingmain .t2{margin-bottom:30px;}
  .homegreetingmain .wide{margin-bottom:30px;}
  .homegreetingmain .wide p{font-size:20px;}
}
@media screen and (max-width: 1080px) {
  .homegreetingmain .t2{margin-bottom:20px;}
  .homegreetingmain .wide{margin-bottom:20px;}
  .homegreetingmain .wide p{font-size:16px;}
  .greetingpiclist .avcol3:nth-of-type(1){ transform:translateX(90px) rotate(-15deg);} 
  .greetingpiclist .avcol3:nth-of-type(3){ transform:translateX(-90px) rotate(15deg);}
}
@media screen and (max-width: 768px) {
  .greetingpiclist .avcol3:nth-of-type(1){ transform:translateX(30px) rotate(-10deg);} 
  .greetingpiclist .avcol3:nth-of-type(3){ transform:translateX(-30px) rotate(10deg);}
}
@media screen and (max-width: 568px) {
  .greetingpiclist{margin-bottom:0px;}
  .greetingpiclist .avcol3{width:100%;margin-bottom:20px;}
  .greetingpiclist .avcol3:nth-of-type(1){transform:translateX(0px) rotate(0deg);}
  .greetingpiclist .avcol3:nth-of-type(3){ transform:translateX(0px) rotate(0deg);}
  .greetingpiclist .avcol3 .greetingpic{max-width:360px;margin:0 auto;}
}



.homefacility{margin:120px auto 80px;}
.homefacility .pic{width:770px;position:relative;}
.homefacility .pic .homefacilitytext{position:absolute;padding:38px 25px;background:#FFF;border-radius:14px 0 15px 0;}
.homefacility .pic .homefacilitytext h3{line-height:1.1;width:30px;font-weight:bolder;}
.homefacility .pic .homefacilitytext h3 span{transform:rotate(90deg);transform-origin:center center;display:inline-block;}
.homefacility .pic figure{border-radius:15px;overflow:hidden;}
.homefacility .pic figure:after{padding-top:70%;}
.homefacility .text{width:calc(100% - 800px);}
.homefacility .text p{font-size:22px;line-height:1.8;letter-spacing:1px;margin-bottom:50px;font-weight:bolder;}
.homefacility .text .button{padding:15px;border-radius:5px;font-size:22px;width:100%;display:flex;align-items:center;justify-content:center;letter-spacing:0.1em;}
.homefacility .text .button i{font-size:24px;}
@media screen and (max-width: 1520px) {
  .homefacility{margin:100px auto 60px;}
  .homefacility .pic{width:550px;}
  .homefacility .pic .homefacilitytext{padding:30px 20px;}
  .homefacility .text{width:calc(100% - 600px);}
  .homefacility .text p{font-size:18px;margin-bottom:30px;}
  .homefacility .text .button{font-size:18px;}
}
@media screen and (max-width: 1080px) {
  .homefacility .pic{width:500px;}
  .homefacility .pic .homefacilitytext{padding:20px 15px;}
  .homefacility .text{width:calc(100% - 520px);}
  .homefacility .text p{font-size:16px;}
}
@media screen and (max-width: 768px) {
  .homefacility{margin:30px auto;}
  .homefacility .pic{width:100%;max-width:500px;margin:0 auto 20px;}
  .homefacility .pic .homefacilitytext{padding:15px 10px;}
  .homefacility .text{width:100%;max-width:500px;margin:0 auto;}
  .homefacility .text .button{padding:10px;}
}


.facilitylist{}
.facilitylist .layout{margin-right:-70px;margin-bottom:-70px;}
.facilitylist .layout .avcol3{padding-right:70px;margin-bottom:70px;}
.facilitylist .layout .avcol3 figure{width:100%;border-radius:15px;overflow:hidden;}
.facilitylist .layout .avcol3 figure:after{padding-top:70%;}
@media screen and (max-width: 1520px) {
  .facilitylist .layout{margin-right:-50px;margin-bottom:-50px;}
  .facilitylist .layout .avcol3{padding-right:50px;margin-bottom:50px;}
}
@media screen and (max-width: 1080px) {
  .facilitylist .layout{margin-right:-20px;margin-bottom:-20px;}
  .facilitylist .layout .avcol3{padding-right:20px;margin-bottom:20px;}
  .facilitylist .layout .avcol3 figure{border-radius:10px;}
}
@media screen and (max-width: 768px) {
  .facilitylist .layout{margin-right:-10px;margin-bottom:-10px;}
  .facilitylist .layout .avcol3{width:50%;padding-right:10px;margin-bottom:10px;}
}
@media screen and (max-width: 568px) {
  .facilitylist .layout .avcol3{width:100%;}
  .facilitylist .layout .avcol3 figure{max-width:360px;margin:0 auto;}
}



.homeguide{}
.homeguide .layout{margin-right:-100px;margin-bottom:-60px;}
.homeguide .layout .avcol2{padding-right:100px;margin-bottom:60px;}
@media screen and (max-width: 1520px) {
  .homeguide .layout{margin-right:-50px;margin-bottom:-50px;}
  .homeguide .layout .avcol2{padding-right:50px;margin-bottom:50px;}
}
@media screen and (max-width: 1080px) {
  .homeguide .layout{margin-right:-20px;margin-bottom:-20px;}
  .homeguide .layout .avcol2{padding-right:20px;margin-bottom:20px;}
}
@media screen and (max-width: 768px) {
  .homeguide .layout{margin-right:-15px;margin-bottom:-15px;}
  .homeguide .layout .avcol2{width:100%;padding-right:15px;margin-bottom:15px;}
  .homeguide .layout .avcol2 .thumbnail{max-width:360px;margin:0 auto;}
}



.tabmenu{display:flex;align-items:flex-end;padding-left:20px;}
.tabmenuitem{border:3px solid var(--themecolor);border-radius:15px 15px 0 0;margin-right:30px;color:#FFF;display:flex;align-items:flex-end;}
.tabmenuitem span,.tabmenuitem a{cursor:pointer; background:var(--themecolor);width:100%;height:100%;display:flex;justify-content:center;align-items:center;font-weight:bolder;font-size:25px;line-height:1.1;padding:10px 20px;border:2px solid #FFF;border-radius:15px 15px 0 0;text-decoration:none;transition:.3s;}
.tabmenuitem.active{border:3px solid var(--orange);}
.tabmenuitem.active span,.tabmenuitem.active a{background:var(--orange);padding: 20px ;}
.tabcontent{border:3px solid #eed28e;border-radius:15px;padding:60px 50px;visibility:hidden;height:0;opacity:0;display:none;transition:.3s;}
.tabcontent.show{visibility:visible;height:100%;opacity:1;display:block;}
.tabcontent .button{margin-top:20px;padding:15px 70px;font-size:22px;font-weight:bolder;border-radius:3px;}
.tabcontent .button i{font-size:24px;margin-right:10px;}
@media screen and (max-width: 1520px) {
  .tabmenu{padding-left:15px;}
  .tabmenuitem{border-radius:10px 10px 0 0;margin-right:20px;}
  .tabmenuitem span,.tabmenuitem a{font-size:20px;padding:10px 15px;border-radius:10px 10px 0 0;}
  .tabmenuitem.active span,.tabmenuitem.active a{padding:15px;}
  .tabcontent{padding:50px 30px;}
  .tabcontent .button{margin-top:15px;padding:15px 60px;font-size:18px;}
  .tabcontent .button i{font-size:18px;}
}
@media screen and (max-width: 1080px) {
  .tabmenu{padding-left:10px;}
  .tabmenuitem{border-radius:7px 7px 0 0;margin-right:15px;}
  .tabmenuitem span,.tabmenuitem a{font-size:16px;padding:10px;border-radius:7px 7px 0 0;}
  .tabmenuitem.active{border:2px solid var(--orange);}
  .tabmenuitem.active span,.tabmenuitem.active a{padding:15px 10px;}
  .tabcontent{border-radius:10px;border:2px solid #eed28e;}
  .tabcontent{padding:30px 20px;}
  .tabcontent .button{margin-top:10px;padding:10px 50px;font-size:16px;}
  .tabcontent .button i{font-size:16px;}
}
@media screen and (max-width: 768px) {
  .tabmenu{padding-left:5px;}
  .tabmenuitem{margin-right:10px;}
  .tabmenuitem span,.tabmenuitem a{padding:5px;font-size:14px;line-height:1.2;}
  .tabmenuitem.active span,.tabmenuitem.active a{padding:10px 5px;}

}



.publiccontect{padding:130px 0;}
.publiccontectmain{position:relative;border-radius:20px;display:flex;justify-content:space-between;flex-wrap:wrap;padding:80px 60px 80px 360px;}
.publiccontectperson{position:absolute;left:50px;bottom:0;width:100%;max-width:280px;height:110%;}
.publiccontectperson img{width:100%;height:100%;}
.publiccontecttext{width:430px;}
.publiccontecttext hgroup{margin-bottom:30px;display:inline-flex;align-items:baseline;}
.publiccontecttext hgroup h2{font-weight:bolder;margin-right:10px;font-size:50px;}
.publiccontecttext hgroup h3{font-weight:bolder;font-size:25px;letter-spacing:0.1em;}
.publiccontecttext p{font-size:22px;color:#333;margin-bottom:20px;}
.publiccontecttext .telphone{display:block;margin-bottom:15px;font-size:50px;font-weight:bolder;color:#866636;text-decoration:none;transition:.3s;}
.publiccontecttext .telphone:hover{color:var(--themecolor);}
.publiccontecttext .button{padding:15px 20px;border-radius:5px;font-size:22px;}
.publiccontecttext .button i{font-size:24px;margin-right:10px;}
.publiccontectpic{position:relative;right:60px;width:calc(100% - 500px);}
.publiccontectpic1{position:absolute;top:-150px;right:-80px;overflow:hidden;border-radius:50px;width:100%;max-width:560px;}
.publiccontectpic1:after{padding-top:70%;}
.publiccontectpic2{position:absolute;bottom:-130px;left:0px;overflow:hidden;border-radius:50px;width:100%;max-width:450px;}
.publiccontectpic2:after{padding-top:70%;}
@media screen and (max-width: 1520px) {
  .publiccontect{padding:60px 0;}
  .publiccontectmain{ max-width:1000px;border-radius:15px;padding:50px 30px 50px 260px;}
  .publiccontectperson{left:30px;max-width:200px;}
  .publiccontecttext{width:360px;}
  .publiccontecttext hgroup{margin-bottom:20px;}
  .publiccontecttext hgroup h2{font-size:36px;margin-right:5px;}
  .publiccontecttext hgroup h3{font-size:20px;letter-spacing:2px;}
  .publiccontecttext p{font-size:18px;margin-bottom:15px;}
  .publiccontecttext .telphone{margin-bottom:10px;font-size:36px;}
  .publiccontecttext .button{padding:15px 10px;border-radius:3px;font-size:18px;}
  .publiccontecttext .button i{font-size:20px;margin-right:5px;}
  .publiccontectpic{right:30px;width:calc(100% - 420px);}
  .publiccontectpic1{top:-60px;right:-30px;border-radius:30px;max-width:450px;}
  .publiccontectpic2{bottom:-60px;border-radius:30px;max-width:360px;}
}
@media screen and (max-width: 1080px) {
  .publiccontect{padding:50px 0;}
  .publiccontectmain{ max-width:700px;border-radius:10px;padding:20px 20px 20px 180px;}
  .publiccontectperson{left:20px;max-width:150px;} 
  .publiccontecttext{width:300px;}
  .publiccontecttext hgroup{margin-bottom:15px;}
  .publiccontecttext hgroup h2{font-size:28px;margin-right:3px;}
  .publiccontecttext hgroup h3{font-size:16px;letter-spacing:1px;}
  .publiccontecttext p{font-size:16px;margin-bottom:10px;}
  .publiccontecttext .telphone{font-size:28px;}
  .publiccontecttext .button{padding:10px 5px;font-size:14px;}
  .publiccontecttext .button i{font-size:16px;margin-right:3px;}
  .publiccontectpic{right:20px;width:calc(100% - 320px);}
  .publiccontectpic1{top:-25px;right:-20px;border-radius:20px;max-width:320px;}
  .publiccontectpic2{bottom:-25px;border-radius:20px;max-width:280px;}
}
@media screen and (max-width: 768px) {
  .publiccontect{padding:30px 20px;}
  .publiccontectmain{max-width:500px;padding:15px;}
  .publiccontectperson{position:relative;left:auto;bottom:auto;}
  .publiccontectpic{width:100%;position:relative;right:auto;display:flex;justify-content:space-between;}
  .publiccontectpic1{width:calc(50% - 10px);max-width:100%;position:relative;right:auto;top:auto;}
  .publiccontectpic2{width:calc(50% - 10px);max-width:100%;position:relative;left:auto;bottom:auto;}
}
@media screen and (max-width: 568px) {
  .publiccontectmain{overflow:hidden;}
  .publiccontectperson{height:100%;max-width:150px;margin:20px auto -20px;order:2;}
  .publiccontecttext{width:100%;max-width:260px;margin:0 auto 20px;}
}

/* footer css */
.footer{background:var(--themecolor);}
.footmain{width:100%;max-width:1400px;margin:0 auto;padding:50px 40px;}

.footlogo{width:100%;max-width:130px;margin:0 auto 20px;display:flex;justify-content:center;transition:.3s;}
.footlogo:hover{opacity:0.7;}
.footinfo{color:#FFF;font-size:20px;line-height:1.8;text-align:center;margin-bottom:30px;}
.footinfo a{color:var(--white);transition:.3s;}
.footinfo a:hover{color:var(--brown);text-decoration:none;}
.footmenu{}
.footmenu ul{display:flex;justify-content:space-around;flex-wrap:wrap;}
.footmenu ul li{}
.footmenu ul li a{padding:0 20px;color:#FFF;font-size:18px;letter-spacing:1px;text-align:center;font-weight:bolder;display:flex;text-decoration:none;transition:.3s;}
.footmenu ul li a:hover{color:var(--brown);}
.footbot{background:var(--greendark);padding:50px 40px;}
.footbotmain{width:100%;max-width:1320px;margin:0 auto;display:flex;justify-content:center;}
.footbotmain li{}
.footbotmain li a{padding:0 20px;color:#FFF;font-size:18px;letter-spacing:1px;text-align:center;font-weight:bolder;display:flex;text-decoration:none;transition:.3s;}
.footbotmain li a:hover{color:var(--brown);text-decoration:none;}

.copyright{background:var(--brown);width:100%;}
.copyright p{width:100%;max-width:1400px;margin:0 auto;padding:10px 40px;font-size:14px;text-align:center;color:#fff;}

@media screen and (max-width: 1520px) {
  .footlogo{max-width:120px;}
  .footinfo{font-size:16px;margin-bottom:20px;}
  .footmenu ul li a{padding:0 15px;font-size:16px;}
  .footbot{padding:30px 40px;}
  .footbotmain li a{padding:0 15px;font-size:16px;}
}
@media screen and (max-width: 1080px) {
  .footmain{padding:30px 20px;}
  .footlogo{max-width:90px;}
  .footinfo{font-size:14px;margin-bottom:15px;}
  .footmenu ul{justify-content:flex-start;}
  .footmenu ul li{width:25%;}
  .footmenu ul li a{padding:5px 10px;font-size:14px;}
  .footbot{padding:10px 20px;}
  .footbotmain li a{padding:5px 10px;font-size:14px;}
  .copyright p{padding:10px 20px;font-size:12px;}
}
@media screen and (max-width: 768px) {
  .footlogo{max-width:80px;}
  .footinfo{font-size:13px;}
  .footmenu ul li{width:33.333333%;}
  .copyright p{padding:5px 10px;}
}
@media screen and (max-width: 568px) {
  .footmenu ul li{width:50%;}
  /*.footbotmain li{width:50%;}*/

}
/* /footer css */


/*page facility*/
.facilityideamain{}
.facilityideamain hgroup{margin-bottom:50px;}
.facilityideamain hgroup .t2{margin-bottom:38px;}
.facilityideamain div{}
.facilityideamain div p{font-size:22px;line-height:1.8;margin-bottom:20px;font-weight:bolder;}
@media screen and (max-width: 1520px) {
  .facilityideamain hgroup{margin-bottom:38px;}
  .facilityideamain hgroup .t2{margin-bottom:30px;}
  .facilityideamain div p{font-size:18px;}
}
@media screen and (max-width: 1080px) {
  .facilityideamain hgroup{margin-bottom:30px;}
  .facilityideamain hgroup .t2{margin-bottom:20px;}
  .facilityideamain div p{font-size:16px;}
}
@media screen and (max-width: 768px) {
  .facilityideamain div p{text-align:left;}
}

.facilitysummary{}
.facilitysummary.leavesbg:after{top:50px;z-index:10;height:100%;}
.facilitysummarymain{position:relative;z-index:20;}

.facility .tablebox table tbody tr th{width:300px;}
.facility .t2{margin:50px auto;}
.midpic{display:flex;justify-content:center;}
@media screen and (max-width: 1520px) {
  .facility .tablebox table tbody tr th{width:200px;}
}
@media screen and (max-width: 1080px) {
  .facility .tablebox table tbody tr th{width:150px;}
  .facility .t2{margin:30px auto;}

}
@media screen and (max-width: 768px) {
  .facility .tablebox table tbody tr th{width:120px;}
.facility .t2{margin:20px auto;}
}

/*page price*/
.pricefeemain{position:relative;z-index:20;}
.pricefee.leavesbg:after{top:-150px;z-index:10;}
.price .t2{margin:50px auto;}
.price .tablebox table thead tr th{font-size:24px;}
.price .tablebox table tbody tr th:first-child,.price .tablebox table thead tr th:first-child{width:300px;}
.price .tablebox table tbody tr th:not(:first-child){width:25.7%;}
.price .tablebox table tbody tr th h3:first-child{margin-bottom:80px;}
.price .tablebox table tbody tr th div{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;flex-direction:column;}
.price .tablebox table tbody tr td p{margin-bottom:20px;}
.price .tablebox table tbody tr td strong{font-weight:bolder;}

.pricecount p{font-size:24px;font-weight:bolder;margin-bottom:60px;}
.pricecost .tablenotice{margin-top:-60px;transform:translateY(-100%);}
@media screen and (max-width: 1520px) {
  .price .tablebox table thead tr th{font-size:20px;}
  .price .tablebox table tbody tr th:first-child,.price .tablebox table thead tr th:first-child{width:260px;}
  .price .tablebox table tbody tr th:not(:first-child){width:24.7%;}
  .price .tablebox table tbody tr th h3:first-child{margin-bottom:50px;}
  .price .tablebox table tbody tr td p{margin-bottom:15px;}
  .pricecount p{font-size:20px;margin-bottom:30px;}
  .pricecost .tablenotice{margin-top:-30px; }
}
@media screen and (max-width: 1080px) {
  .price .t2{margin:30px auto;}
  .price .tablebox table thead tr th{font-size:16px;}
  .price .tablebox table tbody tr th:first-child,.price .tablebox table thead tr th:first-child{width:200px;}
  .price .tablebox table tbody tr th:not(:first-child){width: 25.3%;}
  .price .tablebox table tbody tr th h3:first-child{margin-bottom:30px;}
  .price .tablebox table tbody tr td p{margin-bottom:10px;}
  .pricecount p{font-size:16px;margin-bottom:20px;}
  .pricecost .tablenotice{margin-top:-20px; }
}
@media screen and (max-width: 768px) {
  .price .tablebox table tbody tr th:first-child,.price .tablebox table thead tr th:first-child{width:25%;}
  .price .tablebox table tbody tr th:not(:first-child){width: 25%;}
  .price .tablebox table tbody tr th{font-size:14px;}
  .price .tablebox table tbody tr td{font-size:12px;}
  .pricecount p{text-align:left;}
  .pricecost .tablenotice{margin-top:10px; }
}

.pricelist{}
.pricelist .layout{margin-right:-100px;margin-bottom:-50px;}
.pricelist .layout .avcol3{padding-right:100px;margin-bottom:50px;position:relative;}
.pricelist .layout .avcol3:not(:last-child):after{content:"+";position:absolute;right:70px;top:50%;transform:translate(100%,-50%);color:var(--themecolor);font-weight:bolder;font-size:50px;}
@media screen and (max-width: 1520px) {
  .pricelist .layout{margin-right:-70px;margin-bottom:-30px;}
  .pricelist .layout .avcol3{padding-right:70px;margin-bottom:30px;}
  .pricelist .layout .avcol3:not(:last-child):after{font-size:38px;right:45px;}
}
@media screen and (max-width: 1080px) {
  .pricelist .layout{margin-right:-50px;margin-bottom:-20px;}
  .pricelist .layout .avcol3{padding-right:50px;margin-bottom:20px;}
  .pricelist .layout .avcol3:not(:last-child):after{font-size:28px;right:33px;}
}
@media screen and (max-width: 768px) {
  .pricelist .layout{margin-right:-30px;margin-bottom:-15px;}
  .pricelist .layout .avcol3{padding-right:30px;margin-bottom:15px;}
  .pricelist .layout .avcol3:not(:last-child):after{font-size:18px;right:20px;}
}
@media screen and (max-width: 568px) {
  .pricelist .layout{margin-bottom:-30px;}
  .pricelist .layout .avcol3{width:100%;margin-bottom:30px;}
  .pricelist .layout .avcol3:not(:last-child):after{bottom:0px;top:auto;right:auto;left:45%;transform:translate(-50%,100%);}
}




/*public*/
.mainbg{background:url(img/mainbg.png) repeat;}
.mainlightbg{background:url(img/mainlightbg.jpg) repeat;position:relative;z-index:10;}
.mainlightbg:after{content:"";width:100%;height:80px;position:absolute;left:0;bottom:-80px;background:url(img/mainlightbg.png) no-repeat;background-size:100% 100%;background-position:center bottom;}
.maintubg{background:url(img/mainbg.png) repeat;position:relative;z-index:10;}
.maintubg:after{content:"";width:100%;height:80px;position:absolute;left:0;bottom:-80px;background:url(img/maintubg.png) no-repeat;background-size:100% 100%;background-position:center bottom;}
.mainaobg{background:url(img/mainbg.png) repeat;position:relative;}
.mainaobg:before{content:"";width:100%;height:80px;position:absolute;left:0;top:0px;background:url(img/mainaobg.png) no-repeat;background-size:100% 100%;background-position:center bottom;}
.mainaobg:after{content:"";width:100%;height:80px;position:absolute;left:0;bottom:-80px;background:url(img/maintubg.png) no-repeat;background-size:100% 100%;background-position:center bottom;}

.leavesbg{position:relative;}
.leavesbg:after{content:"";position:absolute;left:0;top:50%;z-index:1;width:100%;height:50%;background-image:url(img/leavesbg.png);background-repeat:no-repeat;background-size:100% auto;background-position:center;}

/*.icontalk{background:url(img/icontalk.png) no-repeat;background-size:contain;background-position:center;}
.iconepost{background:url(img/iconepost.png) no-repeat;background-size:contain;background-position:center;}
.icondetail{background:url(img/icondetail.png) no-repeat;background-size:contain;background-position:center;}
.iconemail{background:url(img/iconemail.png) no-repeat;background-size:contain;background-position:center;}*/
.iconadd{display:flex;justify-content:center;align-items:center;width:50px;height:50px;margin:20px auto;position:relative;}
.iconadd:before{content:"";width:50px;height:10px;background:var(--themecolor);}
.iconadd:after{content:"";position:absolute; width:50px;height:10px;background:var(--themecolor);transform:translateX(0%) rotate(90deg);}
@media screen and (max-width: 1520px) {
  .mainlightbg:after{height:60px;bottom:-60px;}
  .maintubg:after{height:60px;bottom:-60px;}
  .mainaobg:before{height:60px;}
  .mainaobg:after{height:60px;bottom:-60px;}
  .iconadd{width:38px;height:38px;}
  .iconadd:before{width:38px;height:7px;}
  .iconadd:after{width:38px;height:7px;}
}
@media screen and (max-width: 1080px) {
  .mainlightbg:after{height:30px;bottom:-30px;}
  .maintubg:after{height:30px;bottom:-30px;}
  .mainaobg:before{height:30px;}
  .mainaobg:after{height:30px;bottom:-30px;}
  .iconadd{width:25px;height:25px;margin:10px auto;}
  .iconadd:before{width:25px;height:5px;}
  .iconadd:after{width:25px;height:5px;}
}



.greetingpic{border:10px solid #FFF;border-radius: 10px;box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15),inset 0px 0px 0px 10px rgba(0, 0, 0, 0.004);}
.greetingpic figure{width:100%;}
.greetingpic figure:after{padding-top:120%;}
@media screen and (max-width: 1520px) {
.greetingpic{border:7px solid #FFF;border-radius: 7px;box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15),inset 0px 0px 0px 7px rgba(0, 0, 0, 0.004);}
}
@media screen and (max-width: 1080px) {
  .greetingpic{border:5px solid #FFF;border-radius: 5px;box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15),inset 0px 0px 0px 5px rgba(0, 0, 0, 0.004);}
}


.thumbnail{display:flex;flex-direction:column;justify-content:space-between; width:100%;height:100%;border:3px solid var(--themecolor);border-radius:10px;overflow:hidden;background:#FFF;}
.thumbnailpic{width:100%;}
.thumbnailpic figure{width:100%;}
.thumbnailpic figure:after{padding-top:70%;}
.thumbnailtext{padding:20px;min-height:190px;}
.thumbnailtext hgroup{display:flex;flex-wrap:wrap;align-items:baseline;margin-bottom:20px;}
.thumbnailtext p{}
.thumbnailtitle{font-weight:bolder;margin-right:20px;}
.thumbnailentitle{font-size:16px;font-weight:bolder;}
.thumbnaillink{align-self:flex-end;width:100%;}
.thumbnaillink .button{width:100%;padding:15px;font-size:22px;letter-spacing:0.1em;font-weight:bolder;}
.thumbnaillink .button i{font-size:24px;margin-right:10px;}
@media screen and (max-width: 1520px) {
  .thumbnailtext{padding:15px;min-height:160px;}
  .thumbnailtext hgroup{margin-bottom:15px;}
  .thumbnailtitle{margin-right:15px;}
  .thumbnailentitle{font-size:14px;}
  .thumbnaillink .button{font-size:18px;letter-spacing:2px;}
  .thumbnaillink .button i{font-size:20px;}
}
@media screen and (max-width: 1080px) {
  .thumbnail{border-width:2px;}
  .thumbnailtext{padding:10px;min-height:150px;}
  .thumbnailtext hgroup{margin-bottom:10px;}
  .thumbnailtitle{margin-right:10px;}
  .thumbnailentitle{font-size:12px;}
  .thumbnaillink .button{padding:10px;font-size:16px;letter-spacing:1px;}
  .thumbnaillink .button i{font-size:16px;}
}

.newslist{margin-bottom:50px;}
.newsitem{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;text-decoration:none;padding:30px 10px;border-bottom:1px dotted #000;transition:.3s;}
.newsitem:hover{text-decoration:none;background:#99b53733;}
.newsitem > .time{width:200px;}
.newsitem > div{width:calc(100% - 200px);padding-left:80px;border-left:1px solid #aeaeae;}
.newsitem > div > p{font-size:18px;}
.newstitle{font-size:22px;font-weight:bolder;margin-bottom:15px;}
@media screen and (max-width: 1520px) {
  .newslist{margin-bottom:30px;}
  .newsitem{padding:20px 10px;}
  .newsitem > .time{width:160px;}
  .newsitem > div{width:calc(100% - 160px);padding-left:50px;}
  .newsitem > div > p{font-size:16px;}
  .newstitle{font-size:18px;margin-bottom:10px;}
}
@media screen and (max-width: 1080px) {
  .newslist{margin-bottom:20px;}
  .newsitem{padding:15px 10px;}
  .newsitem > .time{width:120px;}
  .newsitem > div{width:calc(100% - 120px);padding-left:30px;}
  .newsitem > div > p{font-size:14px;}
  .newstitle{font-size:16px;}
}
@media screen and (max-width: 768px) {
  .newsitem{padding:10px;}
  .newsitem > .time{width:100px;}
  .newsitem > div{width:calc(100% - 100px);padding-left:15px;}
}
@media screen and (max-width: 568px) {
  .newsitem > .time{width:100%;}
  .newsitem > div{width:100%;padding-top:5px;padding-left:0;border-left:0;}
  .newstitle{margin-bottom:5px;}
}


.pricecard{border:2px dashed var(--themecolor);border-radius:20px;background:#FFF;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 30px;}
.pricecardpic{display:flex;justify-content:center;width:100%;max-width:120px;margin:0 auto 20px;}
.pricecardtitle{display:block;font-size:24px;line-height:1.8;text-align:center;font-weight:bolder;}
@media screen and (max-width: 1520px) {
  .pricecard{padding:38px 20px;}
  .pricecardpic{max-width:100px;}
  .pricecardtitle{font-size:20px;}
}
@media screen and (max-width: 1080px) {
  .pricecard{padding:30px 15px;}
  .pricecardpic{max-width:80px;margin:0 auto 15px;}
  .pricecardtitle{font-size:16px;}
}
@media screen and (max-width: 768px) {
  .pricecard{padding:20px 10px;}
  .pricecardpic{max-width:60px;margin:0 auto 10px;}
  .pricecardtitle{font-size:14px;}
}

/*/public*/

/* ==================================================
   page information
   入居のご案内
================================================== */

.information {
  padding-top: 100px;
  padding-bottom: 120px;
}

.informationmain {
  position: relative;
  z-index: 20;
}


/* -------------------------------
   intro
-------------------------------- */

.informationlead {
  margin-bottom: 55px;
}

.informationlead p {
  font-size: 22px;
  line-height: 2;
  letter-spacing: .08em;
  font-weight: bolder;
}


/* -------------------------------
   title
-------------------------------- */

.informationtitle {
  margin: 0 auto 35px;
  color: var(--themecolor);
  font-size: 34px;
  line-height: 1.4;
  text-align: center;
  letter-spacing: .12em;
  font-weight: bolder;
}

.informationtitle span {
  display: inline-block;
  position: relative;
  padding: 0 45px;
}

.informationtitle span:before,
.informationtitle span:after {
  content: "◆";
  position: absolute;
  top: 50%;
  color: #a8ca63;
  font-size: 16px;
}

.informationtitle span:before {
  left: 8px;
  transform: translateY(-50%) rotate(-25deg);
}

.informationtitle span:after {
  right: 8px;
  transform: translateY(-50%) rotate(25deg);
}

/* ==================================================
   利用できる方
================================================== */

.informationeligibility {
  position: relative;
}

.informationeligibility.leavesbg:after {
  top: 0;
  height: 100%;
  z-index: -1;
}

.informationinner {
  position: relative;
  z-index: 10;
}


/* 利用できる方 全体カード */
.eligibilitylist {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 30px;
  background: #fff;
  border: 1px solid #c9c9c9;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .04);
}


/* 01 / 02 / 03 各行 */
.eligibilityitem {
  display: grid;
  grid-template-columns: 80px 130px 1fr;
  align-items: center;
  min-height: 170px;
  padding: 25px 35px;
}

.eligibilityitem + .eligibilityitem {
  border-top: 1px solid #ccc;
}


/* 01 / 02 / 03 */
.eligibilitynumber {
  align-self: start;
  padding-top: 5px;
}

.eligibilitynumber span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 62px;
  height: 62px;
  border-radius: 50% 50% 50% 10px;
  background: var(--themecolor);
  color: #fff;
  font-size: 25px;
  line-height: 1;
  font-weight: bolder;
}


/* アイコン */
.eligibilityicon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 120px;

  /* 画像自体に丸枠があるのでCSS側の枠は付けない */
  border: none;
  border-radius: 0;
  background: transparent;
}

.eligibilityicon img {
  display: block;
  width: 110px;
  height: 110px;
  object-fit: contain;
}


/* テキスト */
.eligibilitytext {
  padding-left: 15px;
}

.eligibilitytext h3 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.5;
  font-weight: bolder;
  letter-spacing: .03em;
}

.eligibilitytext p {
  margin: 0;
  font-size: 17px;
  line-height: 1.8;
  font-weight: bolder;
}


/* ==================================================
   ご入居条件に満たない場合
================================================== */

.informationconsult {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 45px;
  padding: 25px 60px 30px;
  border: 3px solid #79bd55;
  border-radius: 18px;
  background: rgba(255, 255, 255, .92);
}

.informationconsult h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;

  margin: 0 0 15px;
  color: #70ad48;
  font-size: 27px;
  line-height: 1.4;
  font-weight: bolder;
  letter-spacing: .08em;
}


/* ご入居条件アイコン */
.consulticon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  margin: 0;
}

.consulticon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.informationconsult p {
  max-width: 880px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.9;
  font-weight: bolder;
}


/* ==================================================
   1080px以下
================================================== */

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

  .eligibilityitem {
    grid-template-columns: 65px 100px 1fr;
    min-height: 150px;
    padding: 20px 25px;
  }

  .eligibilitynumber span {
    width: 50px;
    height: 50px;
    font-size: 20px;
  }

  .eligibilityicon {
    width: 90px;
    height: 90px;
  }

  .eligibilityicon img {
    width: 85px;
    height: 85px;
  }

  .eligibilitytext h3 {
    font-size: 19px;
  }

  .eligibilitytext p {
    font-size: 14px;
  }

  .informationconsult {
    padding: 25px 35px;
  }

  .informationconsult h3 {
    font-size: 21px;
  }

  .informationconsult p {
    font-size: 15px;
  }
}


/* ==================================================
   スマホ
================================================== */

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

  .eligibilitylist {
    border-radius: 10px;
  }

  .eligibilityitem {
    grid-template-columns: 50px 75px 1fr;
    align-items: start;
    min-height: 0;
    padding: 20px 15px;
  }

  .eligibilitynumber {
    padding-top: 0;
  }

  .eligibilitynumber span {
    width: 42px;
    height: 42px;
    font-size: 16px;
  }

  .eligibilityicon {
    width: 68px;
    height: 68px;
  }

  .eligibilityicon img {
    width: 64px;
    height: 64px;
  }

  .eligibilitytext {
    padding-left: 8px;
  }

  .eligibilitytext h3 {
    margin-bottom: 7px;
    font-size: 15px;
  }

  .eligibilitytext p {
    font-size: 13px;
    line-height: 1.7;
  }

  .informationconsult {
    padding: 22px 20px;
    border-width: 2px;
    border-radius: 12px;
  }

  .informationconsult h3 {
    gap: 8px;
    font-size: 18px;
  }

  .consulticon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
  }

  .informationconsult p {
    font-size: 13px;
  }
}


/* ==================================================
   568px以下
================================================== */

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

  .eligibilityitem {
    grid-template-columns: 48px 68px 1fr;
    padding: 18px 12px;
  }

  .eligibilityicon {
    width: 60px;
    height: 60px;
  }

  .eligibilityicon img {
    width: 58px;
    height: 58px;
  }

  .eligibilitytext h3 {
    font-size: 14px;
  }

  .eligibilitytext p {
    font-size: 12px;
  }
}


/* -------------------------------
   条件に満たない場合
-------------------------------- */

.informationconsult {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 45px;
  padding: 25px 60px 30px;
  border: 3px solid #79bd55;
  border-radius: 18px;
  background: rgba(255, 255, 255, .92);
}

.informationconsult h3 {
  margin-bottom: 15px;
  color: #70ad48;
  font-size: 27px;
  line-height: 1.4;
  text-align: center;
  font-weight: bolder;
  letter-spacing: .08em;
}

.consulticon {
  display: inline-block;
  margin-right: 10px;
  font-size: 32px;
  vertical-align: -2px;
}

.informationconsult p {
  max-width: 880px;
  margin: auto;
  font-size: 18px;
  line-height: 1.9;
  font-weight: bolder;
}


/* -------------------------------
   ご入居までの流れ
-------------------------------- */

.informationflow {
  margin-top: 30px;
}

.informationflow .informationtitle {
  margin-bottom: 15px;
}

.informationflowlead {
  margin-bottom: 35px;
}

.informationflowlead p {
  font-size: 18px;
  line-height: 1.8;
  font-weight: bolder;
}

.flowlist {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 25px;
  width: 100%;
  max-width: 1220px;
  margin: auto;
  padding: 0;
  list-style: none;
}

.flowitem {
  position: relative;
  min-height: 200px;
  padding: 15px 10px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid #d7dfc2;
  border-radius: 60px 60px 18px 18px;
  text-align: center;
}

.flowitem:not(:last-child):after {
  content: "";
  position: absolute;
  top: 50%;
  right: -20px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid var(--themecolor);
  transform: translateY(-50%);
}

.flownumber {
  margin-bottom: 10px;
  color: #648f36;
  font-size: 23px;
  line-height: 1;
  font-weight: bolder;
}

.flowicon {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 85px;
  margin-bottom: 10px;
}

.flowicon img {
  width: 70px;
  max-height: 70px;
  object-fit: contain;
}

.flowitem p {
  font-size: 17px;
  line-height: 1.4;
  font-weight: bolder;
}


/* ==================================================
   1520px
================================================== */

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

  .information {
    padding-top: 80px;
    padding-bottom: 90px;
  }

  .informationlead p {
    font-size: 18px;
  }

  .informationtitle {
    font-size: 28px;
  }

  .eligibilitylist,
  .informationconsult {
    max-width: 1000px;
  }

  .eligibilityitem {
    grid-template-columns: 70px 95px 1fr;
    padding: 20px 30px;
  }

  .eligibilitynumber span {
    width: 54px;
    height: 54px;
    font-size: 21px;
  }

  .eligibilityicon {
    width: 78px;
    height: 78px;
  }

  .eligibilityicon img {
    width: 50px;
    height: 50px;
  }

  .eligibilitytext h3 {
    font-size: 20px;
  }

  .eligibilitytext p {
    font-size: 15px;
  }

  .informationconsult h3 {
    font-size: 23px;
  }

  .informationconsult p,
  .informationflowlead p {
    font-size: 16px;
  }

  .flowlist {
    max-width: 1080px;
    gap: 20px;
  }

  .flowitem p {
    font-size: 15px;
  }
}


/* ==================================================
   1080px
================================================== */

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

  .information {
    padding-top: 60px;
    padding-bottom: 70px;
  }

  .informationlead {
    margin-bottom: 40px;
  }

  .informationlead p {
    font-size: 16px;
  }

  .informationtitle {
    margin-bottom: 25px;
    font-size: 24px;
  }

  .eligibilityitem {
    grid-template-columns: 60px 80px 1fr;
    padding: 18px 20px;
  }

  .eligibilitynumber span {
    width: 48px;
    height: 48px;
    font-size: 18px;
  }

  .eligibilityicon {
    width: 66px;
    height: 66px;
  }

  .eligibilityicon img {
    width: 42px;
    height: 42px;
  }

  .eligibilitytext h3 {
    font-size: 17px;
  }

  .eligibilitytext p {
    font-size: 14px;
  }

  .informationconsult {
    padding: 25px 35px;
  }

  .informationconsult h3 {
    font-size: 20px;
  }

  .informationconsult p {
    font-size: 14px;
  }

  .flowlist {
    gap: 14px;
  }

  .flowitem {
    min-height: 175px;
    border-radius: 45px 45px 15px 15px;
  }

  .flowitem:not(:last-child):after {
    right: -12px;
  }

  .flownumber {
    font-size: 19px;
  }

  .flowicon {
    height: 65px;
  }

  .flowicon img {
    width: 55px;
    max-height: 55px;
  }

  .flowitem p {
    font-size: 13px;
  }
}


/* ==================================================
   SP
================================================== */

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

  .information {
    padding: 45px 20px 60px;
  }

  .informationlead {
    margin-bottom: 35px;
  }

  .informationlead p {
    font-size: 14px;
    line-height: 1.9;
  }

  .informationlead br,
  .informationconsult br,
  .informationflowlead br {
    display: none;
  }

  .informationtitle {
    font-size: 22px;
  }

  .informationtitle span {
    padding: 0 30px;
  }


  /* 利用条件 */

  .eligibilitylist {
    border-radius: 10px;
  }

  .eligibilityitem {
    display: grid;
    grid-template-columns: 50px 65px 1fr;
    align-items: start;
    padding: 20px 15px;
  }

  .eligibilitynumber span {
    width: 42px;
    height: 42px;
    font-size: 16px;
  }

  .eligibilityicon {
    width: 54px;
    height: 54px;
  }

  .eligibilityicon img {
    width: 34px;
    height: 34px;
  }

  .eligibilitytext {
    padding-left: 10px;
  }

  .eligibilitytext h3 {
    margin-bottom: 8px;
    font-size: 15px;
  }

  .eligibilitytext p {
    font-size: 13px;
  }


  /* ご相談 */

  .informationconsult {
    margin-bottom: 40px;
    padding: 22px 20px;
    border-width: 2px;
    border-radius: 12px;
  }

  .informationconsult h3 {
    font-size: 18px;
  }

  .consulticon {
    font-size: 24px;
  }

  .informationconsult p {
    font-size: 13px;
  }


  /* フロー */

  .informationflowlead {
    margin-bottom: 25px;
  }

  .informationflowlead p {
    font-size: 13px;
  }

  .flowlist {
    grid-template-columns: repeat(3, 1fr);
    gap: 28px 15px;
    max-width: 580px;
  }

  .flowitem {
    min-height: 165px;
  }

  .flowitem:nth-child(3):after {
    display: none;
  }

  .flowitem:not(:last-child):after {
    right: -13px;
  }
}


/* ==================================================
   568px
================================================== */

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

  .information {
    padding-left: 15px;
    padding-right: 15px;
  }

  .informationtitle {
    font-size: 20px;
  }

  .eligibilityitem {
    grid-template-columns: 45px 1fr;
  }

  .eligibilitynumber {
    grid-column: 1;
    grid-row: 1;
  }

  .eligibilityicon {
    grid-column: 1;
    grid-row: 2;
    margin-top: 8px;
  }

  .eligibilitytext {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .eligibilitytext h3 {
    font-size: 14px;
  }

  .eligibilitytext p {
    font-size: 12px;
  }

  .informationconsult h3 {
    font-size: 17px;
  }

  .flowlist {
    grid-template-columns: repeat(2, 1fr);
    max-width: 360px;
    gap: 30px 20px;
  }

  .flowitem {
    min-height: 155px;
  }

  .flowitem:nth-child(2):after,
  .flowitem:nth-child(4):after {
    display: none;
  }

  .flowitem:nth-child(3):after {
    display: block;
  }

  .flowitem p {
    font-size: 13px;
  }
}

.informationconsult h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

.consulticon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin: 0;
}

.consulticon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .consulticon {
    width: 36px;
    height: 36px;
  }
}

.informationconsult h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
  color: #70ad48;
  font-size: 27px;
  line-height: 1.4;
  font-weight: bolder;
  letter-spacing: .08em;
}

.consulticon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
}

.consulticon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .informationconsult h3 {
    gap: 10px;
    font-size: 18px;
  }

  .consulticon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
  }
}

/* ==================================================
   CONTACT PAGE
================================================== */

.contactpage {
  padding: 80px 20px 120px;
}

.contactpage-main {
  position: relative;
  z-index: 20;
}


/* ==================================================
   LEAD
================================================== */

.contactpage-lead {
  margin-bottom: 60px;
}

.contactpage-lead p {
  margin: 0;
  font-size: 21px;
  line-height: 1.9;
  font-weight: bolder;
  letter-spacing: .05em;
}


/* ==================================================
   MAIN LAYOUT
================================================== */

.contactpage-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 30px;
  align-items: start;

  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}


/* ==================================================
   FORM
================================================== */

.contactpage-form {
  width: 100%;
  min-width: 0;

  padding: 25px 30px 30px;

  border: 1px solid #c8c8c8;
  border-radius: 18px;

  background: rgba(255, 255, 255, .95);
}

.okanokaze-form {
  width: 100%;
}


/* -------------------------------
   FORM ROW
-------------------------------- */

.formrow {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);

  width: 100%;

  border-bottom: 1px dotted #c7c7c7;
}


/* 左側ラベル */
.formlabel {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 5px;

  min-width: 0;

  padding: 24px 18px;

  background: #f5f8df;

  font-size: 16px;
  line-height: 1.5;
  font-weight: bolder;
}


/* ラベル文字 */
.formlabel-text {
  display: inline-block;
}


/* 必須マーク */
.required,
.formlabel .required {
  display: inline-block;

  flex: 0 0 auto;

  margin: 0;

  color: #e98d7e;

  font-size: 14px;
  line-height: 1;

  vertical-align: middle;
}


/* 右側入力エリア */
.formfield {
  display: flex;
  flex-wrap: wrap;
  align-items: center;

  gap: 12px 28px;

  min-width: 0;

  padding: 18px 25px;
}


/* ==================================================
   CF7 INPUT
================================================== */

.formfield .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  min-width: 0;
}

.formfield input[type="text"],
.formfield input[type="email"],
.formfield input[type="tel"],
.formfield textarea {
  display: block;

  width: 100%;

  padding: 13px 15px;

  border: 1px solid #d6d6d6;
  border-radius: 3px;

  background: #fff;
  color: #333;

  font-size: 15px;
  line-height: 1.5;

  box-sizing: border-box;
}


/* 通常の入力欄 */
.formfield input[type="text"],
.formfield input[type="email"],
.formfield input[type="tel"] {
  max-width: 350px;
}


/* プレースホルダー */
.formfield input::placeholder,
.formfield textarea::placeholder {
  color: #a7abb2;
}


/* テキストエリア */
.formfield textarea {
  width: 100%;
  max-width: 100%;
  min-height: 140px;

  resize: vertical;
}


/* ==================================================
   RADIO
================================================== */

.formfield .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  align-items: center;

  gap: 14px 28px;

  width: 100%;
}

.formfield .wpcf7-list-item {
  margin: 0;
}

.formfield .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;

  gap: 7px;

  white-space: nowrap;
  cursor: pointer;
}

.formfield input[type="radio"] {
  flex: 0 0 auto;

  width: 18px;
  height: 18px;

  margin: 0;

  accent-color: var(--themecolor);
}


/* ==================================================
   ADDRESS
================================================== */

.formrow-address .formfield {
  display: block;
}


/* 郵便番号 */
.formpostal {
  display: flex;
  align-items: center;

  gap: 10px;

  width: 100%;
  margin-bottom: 12px;
}

.formpostal > span:first-child {
  flex: 0 0 auto;

  font-size: 16px;
  line-height: 1;
  font-weight: bolder;
}

.formpostal .wpcf7-form-control-wrap {
  width: auto;
}

.formpostal input {
  width: 220px !important;
  max-width: 220px !important;
}


/* 住所欄 */
.formrow-address .formfield > .wpcf7-form-control-wrap {
  width: 100%;
}

.formrow-address .formfield input[type="text"] {
  width: 100%;
  max-width: 100%;
}


/* ==================================================
   PRIVACY
================================================== */

.formprivacy {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;

  gap: 6px;

  padding: 20px 15px 10px;

  font-size: 14px;
  line-height: 1.6;
}

.formprivacy .wpcf7-list-item {
  margin: 0;
}

.formprivacy label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.formprivacy input[type="checkbox"] {
  width: 18px;
  height: 18px;

  margin: 0;

  accent-color: var(--themecolor);
}


/* ==================================================
   SUBMIT
================================================== */

.formsubmit {
  display: flex;
  justify-content: center;

  margin-top: 10px;
}

.formsubmit .wpcf7-submit {
  display: block;

  width: 100%;
  max-width: 420px;

  padding: 15px 30px;

  border: none;
  border-radius: 30px;

  background: var(--themecolor);
  color: #fff;

  font-size: 18px;
  line-height: 1.4;
  font-weight: bolder;
  letter-spacing: .1em;

  cursor: pointer;

  transition: opacity .3s;
}

.formsubmit .wpcf7-submit:hover {
  opacity: .8;
}


/* -------------------------------
   個人情報注記
-------------------------------- */

.formnotice {
  margin: 22px 0 0;

  font-size: 13px;
  line-height: 1.8;
  text-align: center;
}


/* ==================================================
   SIDE
================================================== */

.contactpage-side {
  display: flex;
  flex-direction: column;

  width: 100%;

  gap: 28px;
}


/* -------------------------------
   SIDE CARD
-------------------------------- */

.contactside-card {
  position: relative;

  width: 100%;

  padding: 35px 22px;

  border: 2px solid #91b93e;
  border-radius: 18px;

  background: rgba(255, 255, 255, .8);

  text-align: center;

  overflow: hidden;
}

.contactside-card h2 {
  margin: 0;

  color: #76a735;

  font-size: 22px;
  line-height: 1.5;
  font-weight: bolder;
  letter-spacing: .03em;
}


/* ==================================================
   TEL
================================================== */

/* PCでは1行 */
.contactside-tel h2 {
  font-size: 21px;
  letter-spacing: .01em;
  white-space: nowrap;
}

.contactside-number {
  display: flex;
  justify-content: center;
  align-items: center;

  gap: 8px;

  margin: 30px 0;

  color: #75a936;

  font-size: 28px;
  line-height: 1;
  font-weight: bolder;

  white-space: nowrap;

  text-decoration: none;
}

.contactside-number:hover {
  color: #75a936;
  text-decoration: none;
  opacity: .7;
}

.contactside-number span {
  flex: 0 0 auto;
  font-size: 25px;
}


/* -------------------------------
   受付時間
-------------------------------- */

.contactside-time {
  margin-bottom: 30px;
}

.contactside-time strong {
  display: block;

  margin-bottom: 8px;

  font-size: 16px;
  line-height: 1.5;
}

.contactside-time p {
  margin: 0 0 5px;

  font-size: 24px;
  line-height: 1.3;
  font-weight: bolder;
}

.contactside-time span {
  font-size: 15px;
  line-height: 1.5;
  font-weight: bolder;
}


/* -------------------------------
   TEL 補足
-------------------------------- */

.contactside-note {
  margin: 0;

  font-size: 14px;
  line-height: 1.9;
  font-weight: bolder;
}


/* -------------------------------
   建物画像
-------------------------------- */

.contactside-house {
  width: 100%;
  max-width: 220px;

  margin: 40px auto 0;
}

.contactside-house img {
  display: block;

  width: 100%;
  height: auto;
}


/* ==================================================
   見学・資料請求
================================================== */

.contactside-guide {
  padding-top: 35px;
  padding-bottom: 35px;
}

.contactside-guideicon {
  width: 75px;

  margin: 0 auto 25px;
}

.contactside-guideicon img {
  display: block;

  width: 100%;
  height: auto;
}

.contactside-guide h2 {
  margin: 0 0 20px;

  font-size: 22px;
  line-height: 1.55;
}

.contactside-guide p {
  margin: 0;

  font-size: 15px;
  line-height: 1.8;
  font-weight: bolder;
}


/* ==================================================
   1080px
================================================== */

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

  .contactpage {
    padding: 60px 20px 80px;
  }

  .contactpage-lead {
    margin-bottom: 45px;
  }

  .contactpage-lead p {
    font-size: 17px;
  }


  /* 右カラムを260pxまで狭くしない */
  .contactpage-layout {
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 20px;
  }


  .contactpage-form {
    padding: 20px;
  }

  .formrow {
    grid-template-columns: 155px minmax(0, 1fr);
  }

  .formlabel {
    padding: 20px 14px;
    font-size: 14px;
  }

  .formfield {
    gap: 12px 18px;
    padding: 15px 18px;
  }


  /* SIDE */
  .contactside-card {
    padding: 28px 16px;
  }

  .contactside-card h2 {
    font-size: 19px;
  }

  .contactside-tel h2 {
    font-size: 17px;
    white-space: nowrap;
  }

  .contactside-number {
    font-size: 22px;
  }

  .contactside-number span {
    font-size: 20px;
  }

  .contactside-time p {
    font-size: 21px;
  }

}


/* ==================================================
   TABLET / SP
================================================== */

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

  .contactpage {
    padding: 45px 15px 60px;
  }

  .contactpage-lead {
    margin-bottom: 35px;
  }

  .contactpage-lead p {
    font-size: 14px;
  }

  .contactpage-lead br {
    display: none;
  }


  /* 全体を縦1列 */
  .contactpage-layout {
    display: flex;
    flex-direction: column;

    width: 100%;

    gap: 25px;
  }


  /* -------------------------------
     FORM
  -------------------------------- */

  .contactpage-form {
    width: 100%;

    padding: 15px;

    border-radius: 12px;
  }

  .formrow {
    display: block;

    width: 100%;
  }

  .formlabel {
    width: 100%;

    padding: 12px 15px;

    font-size: 14px;
  }

  .formfield {
    width: 100%;

    padding: 15px;
  }


  .formfield input[type="text"],
  .formfield input[type="email"],
  .formfield input[type="tel"] {
    width: 100%;
    max-width: 100%;
  }


  /* 郵便番号だけ短く */
  .formpostal input {
    width: 200px !important;
    max-width: 200px !important;
  }


  /* -------------------------------
     SIDE
  -------------------------------- */

  .contactpage-side {
    display: flex;
    flex-direction: column;

    width: 100%;

    gap: 20px;
  }

  .contactside-card {
    width: 100%;

    border-radius: 12px;
  }

  .contactside-tel h2 {
    font-size: 20px;
    white-space: nowrap;
  }

}


/* ==================================================
   568px
================================================== */

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

  .contactpage-form {
    padding: 10px;
  }


  /* ラジオを縦並び */
  .formfield .wpcf7-radio {
    flex-direction: column;
    align-items: flex-start;

    gap: 10px;
  }


  .formprivacy {
    justify-content: flex-start;
    padding-left: 5px;
    padding-right: 5px;
  }


  .formsubmit .wpcf7-submit {
    padding: 13px 20px;

    font-size: 15px;
  }


  .contactside-card {
    padding: 28px 15px;
  }

  .contactside-tel h2 {
    font-size: 18px;
  }

  .contactside-number {
    font-size: 23px;
  }

  .contactside-time p {
    font-size: 22px;
  }

  .contactside-guide h2 {
    font-size: 19px;
  }

}


/* ==================================================
   400px
================================================== */

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

  .contactside-tel h2 {
    font-size: 16px;
    letter-spacing: 0;
  }

  .contactside-number {
    font-size: 20px;
  }

  .formpostal input {
    width: 165px !important;
    max-width: 165px !important;
  }

}

/* ==================================================
   RECRUIT PAGE
================================================== */

.recruitPage {
  width: 100%;
}


/* ==================================================
   募集中 / 募集停止 切り替え
================================================== */

.recruitPage.is-recruiting .recruit-open {
  display: block;
}

.recruitPage.is-recruiting .recruit-closed {
  display: none;
}

.recruitPage.is-closed .recruit-open {
  display: none;
}

.recruitPage.is-closed .recruit-closed {
  display: block;
}


/* ==================================================
   INTRO
================================================== */

.recruitIntro {
  padding: 70px 20px 100px;
}

.recruitIntro__heading {
  margin-bottom: 30px;
}

.recruitIntro__label {
  display: inline-block;

  margin-bottom: 12px;
  padding: 7px 35px;

  background: var(--themecolor);
  color: #fff;

  font-size: 18px;
  font-weight: bolder;
  letter-spacing: .1em;
}

.recruitIntro__heading h2 {
  margin: 0;

  color: #333;

  font-size: 54px;
  line-height: 1.2;
  letter-spacing: .1em;
}

.recruitIntro__heading h2 strong {
  color: #69a832;
  font-size: 1.25em;
}

.recruitIntro__lead {
  margin-bottom: 45px;

  text-align: center;
}

.recruitIntro__lead p {
  font-size: 20px;
  line-height: 1.8;
  font-weight: bolder;
}


/* 3ポイント */
.recruitFeatures {
  display: flex;
  justify-content: center;

  gap: 40px;

  max-width: 900px;
  margin: 0 auto;
}

.recruitFeature {
  width: 230px;

  text-align: center;
}

.recruitFeature__icon {
  display: flex;
  justify-content: center;
  align-items: center;

  width: 78px;
  height: 78px;

  margin: 0 auto 15px;

  border: 2px solid #a6c85b;
  border-radius: 50%;
}

.recruitFeature__icon span {
  color: #79a93a;

  font-size: 20px;
  font-weight: bolder;
}

.recruitFeature h3 {
  margin-bottom: 10px;

  color: #6f9e32;

  font-size: 18px;
  line-height: 1.6;
}

.recruitFeature p {
  font-size: 14px;
  line-height: 1.7;
  font-weight: bolder;
}


/* ==================================================
   MESSAGE
================================================== */

.recruitMessage {
  padding: 70px 20px;
}

.recruitMessage__box {
  position: relative;
  z-index: 10;

  max-width: 1100px;
  margin: 0 auto;

  padding: 45px 55px;

  border-radius: 18px;

  background: rgba(255,255,255,.93);
}

.recruitMessage__text {
  max-width: 850px;
}

.recruitMessage__text h2 {
  margin-bottom: 25px;

  color: #6f9f34;

  font-size: 26px;
  line-height: 1.7;
}

.recruitMessage__text p {
  margin-bottom: 13px;

  font-size: 16px;
  line-height: 1.9;
  font-weight: bolder;
}


/* ==================================================
   SECTION TITLE
================================================== */

.recruitSectionTitle {
  margin: 0 auto 35px;

  color: #648e33;

  font-size: 34px;
  line-height: 1.4;

  text-align: center;
  letter-spacing: .12em;
}

.recruitSectionTitle:before,
.recruitSectionTitle:after {
  content: "◆";

  margin: 0 18px;

  color: #b0ce69;

  font-size: 13px;
  vertical-align: middle;
}


/* ==================================================
   募集内容 TABLE
================================================== */

.recruitDetail {
  padding: 80px 20px;
}

.recruitTable {
  width: 100%;
  max-width: 1100px;

  margin: 0 auto;

  border: 1px solid #a9bf72;
  border-radius: 10px;

  overflow: hidden;

  background: #fff;
}

.recruitTable table {
  width: 100%;
}

.recruitTable th,
.recruitTable td {
  padding: 18px 25px;

  border-bottom: 1px solid #cbd8a8;

  vertical-align: top;
}

.recruitTable tr:last-child th,
.recruitTable tr:last-child td {
  border-bottom: none;
}

.recruitTable th {
  width: 230px;

  border-right: 1px solid #cbd8a8;

  background: #f7f9eb;
  color: #669334;

  font-size: 16px;
  line-height: 1.7;
  font-weight: bolder;
}

.recruitTable td {
  font-size: 15px;
  line-height: 1.8;
  font-weight: bolder;
}

.recruitTable td p {
  margin: 0 0 5px;
}

.recruitTable td ul {
  margin: 0;
  padding: 0;

  list-style: none;
}

.recruitTable td li {
  position: relative;

  padding-left: 1em;
}

.recruitTable td li:before {
  content: "・";

  position: absolute;
  left: 0;
}

.recruitSalary strong {
  color: #e98423;

  font-size: 24px;
}

.recruitTable__note {
  margin-top: 15px;
  padding: 10px 15px;

  background: #f5f8e8;

  font-size: 13px;
}

.recruitTable__small {
  margin-top: 10px !important;

  font-size: 12px;
}

.recruitTable__subheading {
  margin-top: 12px !important;

  font-weight: bolder;
}


/* ==================================================
   選考プロセス
================================================== */

.recruitProcess {
  padding: 60px 20px 80px;
}

.recruitProcess__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);

  gap: 15px;

  width: 100%;
  max-width: 1100px;

  margin: 0 auto;
  padding: 0;

  list-style: none;
}

.recruitProcess__list li {
  position: relative;

  min-height: 190px;

  padding: 25px 15px;

  border: 1px solid #e1e1d6;
  border-radius: 12px;

  background: #fff;

  text-align: center;
}

.recruitProcess__list li:not(:last-child):after {
  content: "";

  position: absolute;
  top: 50%;
  right: -20px;

  z-index: 5;

  width: 0;
  height: 0;

  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 13px solid #b6d47a;

  transform: translateY(-50%);
}

.recruitProcess__number {
  display: flex;
  justify-content: center;
  align-items: center;

  width: 38px;
  height: 38px;

  margin: 0 auto 15px;

  border-radius: 50%;

  background: #77a832;
  color: #fff;

  font-weight: bolder;
}

.recruitProcess__list h3 {
  margin-bottom: 8px;

  color: #649130;

  font-size: 18px;
}

.recruitProcess__list p {
  font-size: 13px;
  line-height: 1.6;
  font-weight: bolder;
}

.recruitProcess__note {
  margin-top: 25px;

  text-align: center;
}

.recruitProcess__note p {
  margin-bottom: 4px;

  font-size: 13px;
}


/* ==================================================
   ENTRY FORM
================================================== */

.recruitEntry {
  padding: 70px 20px 100px;
}

.recruitEntry__lead {
  margin-bottom: 30px;

  text-align: center;

  font-size: 16px;
}

.recruitEntry__form {
  position: relative;
  z-index: 10;

  width: 100%;
  max-width: 1100px;

  margin: 0 auto;

  padding: 30px 35px;

  border: 1px solid #c7c7c7;
  border-radius: 18px;

  background: rgba(255,255,255,.95);
}


/* FORM ROW */
.recruitForm__row {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);

  border-bottom: 1px dotted #ccc;
}

.recruitForm__label {
  display: flex;
  align-items: center;
  gap: 5px;

  padding: 20px;

  background: #f5f8df;

  font-size: 15px;
  font-weight: bolder;
}

.recruitForm__field {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 10px 25px;

  padding: 15px 20px;
}

.recruitForm__field .wpcf7-form-control-wrap {
  width: 100%;
}

.recruitForm__field input[type="text"],
.recruitForm__field input[type="tel"],
.recruitForm__field input[type="email"] {
  width: 100%;
  max-width: 460px;

  padding: 12px 14px;

  border: 1px solid #d7d7d7;
  border-radius: 3px;

  background: #fff;

  font-size: 14px;
}


/* RADIO */
.recruitForm__field .wpcf7-radio {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 12px 25px;
}

.recruitForm__field .wpcf7-list-item {
  margin: 0;
}

.recruitForm__field label {
  display: inline-flex;
  align-items: center;

  gap: 6px;
}

.recruitForm__field input[type="radio"] {
  width: 17px;
  height: 17px;

  margin: 0;

  accent-color: var(--themecolor);
}


/* PRIVACY */
.recruitForm__privacy {
  display: flex;
  justify-content: center;

  margin-top: 25px;

  font-size: 14px;
}


/* SUBMIT */
.recruitForm__submit {
  display: flex;
  justify-content: center;

  margin-top: 20px;
}

.recruitForm__submit .wpcf7-submit {
  width: 100%;
  max-width: 420px;

  padding: 14px 25px;

  border: none;
  border-radius: 30px;

  background: var(--themecolor);
  color: #fff;

  font-size: 17px;
  font-weight: bolder;
  letter-spacing: .1em;

  cursor: pointer;
}


/* ==================================================
   募集終了
================================================== */

.recruitClosed {
  min-height: 600px;

  padding: 130px 20px;
}

.recruitClosed__box {
  max-width: 900px;

  margin: 0 auto;

  padding: 80px 40px;

  border: 2px solid #9fbd57;
  border-radius: 18px;

  background: rgba(255,255,255,.94);

  text-align: center;
}

.recruitClosed__en {
  display: block;

  margin-bottom: 15px;

  color: #8bad45;

  font-size: 14px;
  font-weight: bolder;
  letter-spacing: .2em;
}

.recruitClosed__box h2 {
  margin-bottom: 30px;

  color: #659132;

  font-size: 32px;
}

.recruitClosed__box p {
  margin-bottom: 10px;

  font-size: 16px;
  line-height: 2;
  font-weight: bolder;
}


/* ==================================================
   TABLET
================================================== */

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

  .recruitIntro__heading h2 {
    font-size: 42px;
  }

  .recruitTable th {
    width: 180px;
  }

  .recruitProcess__list {
    gap: 10px;
  }

  .recruitProcess__list li {
    padding: 20px 10px;
  }

}


/* ==================================================
   SP
================================================== */

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

  .recruitIntro {
    padding: 45px 15px 60px;
  }

  .recruitIntro__heading h2 {
    font-size: 32px;
  }

  .recruitIntro__label {
    font-size: 14px;
  }

  .recruitIntro__lead p {
    font-size: 15px;
  }


  /* 特徴 */
  .recruitFeatures {
    flex-direction: column;

    gap: 25px;
  }

  .recruitFeature {
    width: 100%;
  }


  /* メッセージ */
  .recruitMessage {
    padding: 40px 15px;
  }

  .recruitMessage__box {
    padding: 30px 20px;
  }

  .recruitMessage__text h2 {
    font-size: 20px;
  }

  .recruitMessage__text p {
    font-size: 14px;
  }


  /* タイトル */
  .recruitSectionTitle {
    font-size: 24px;
  }


  /* TABLE */
  .recruitDetail {
    padding: 50px 15px;
  }

  .recruitTable th,
  .recruitTable td {
    padding: 15px;
  }

  .recruitTable th {
    width: 120px;

    font-size: 13px;
  }

  .recruitTable td {
    font-size: 13px;
  }


  /* PROCESS */
  .recruitProcess__list {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .recruitProcess__list li {
    min-height: 0;
  }

  .recruitProcess__list li:not(:last-child):after {
    top: auto;
    right: auto;
    bottom: -17px;
    left: 50%;

    border-top: 12px solid #b6d47a;
    border-right: 9px solid transparent;
    border-bottom: 0;
    border-left: 9px solid transparent;

    transform: translateX(-50%);
  }


  /* ENTRY */
  .recruitEntry {
    padding: 50px 15px 70px;
  }

  .recruitEntry__form {
    padding: 15px;
  }

  .recruitForm__row {
    display: block;
  }

  .recruitForm__label {
    padding: 12px 15px;
  }

  .recruitForm__field {
    padding: 15px;
  }

  .recruitForm__field input[type="text"],
  .recruitForm__field input[type="tel"],
  .recruitForm__field input[type="email"] {
    max-width: 100%;
  }


  /* 募集停止 */
  .recruitClosed {
    min-height: 400px;

    padding: 70px 15px;
  }

  .recruitClosed__box {
    padding: 50px 20px;
  }

  .recruitClosed__box h2 {
    font-size: 23px;
  }

  .recruitClosed__box p {
    font-size: 14px;
  }

}


/* ==================================================
   568px
================================================== */

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

  .recruitTable {
    overflow-x: auto;
  }

  .recruitTable table {
    min-width: 560px;
  }

  .recruitForm__field .wpcf7-radio {
    flex-direction: column;
    align-items: flex-start;
  }

}


.care-addition-link {
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

.care-addition-link:hover,
.care-addition-link:focus,
.care-addition-link:visited {
  text-decoration: underline !important;
}


.price-center {
  text-align: center !important;
  vertical-align: middle !important;
}


.recruitProcess__list p {
  font-size: 15px !important;
}


.recruitProcess__note p {
  font-size: 15px !important;
}



/* ==================================================
   CONTACT PRIVACY POLICY
================================================== */

.privacy-scroll {
  width: 100%;
  max-width: 760px;
  height: 220px;
  margin: 20px auto 25px;
  padding: 22px 25px;

  overflow-y: auto;

  border: 1px solid #d0d0d0;
  background: #fff;

  color: #333;
  font-size: 13px;
  line-height: 1.8;

  text-align: left;
  box-sizing: border-box;
}


/* 見出し */
.privacy-scroll h3 {
  margin: 18px 0 5px;

  color: #333;
  font-size: 14px;
  line-height: 1.6;
  font-weight: bold;
}

.privacy-scroll h3:first-child {
  margin-top: 0;
}


/* 本文 */
.privacy-scroll p {
  margin: 0 0 12px;
}


/* リスト */
.privacy-scroll ul {
  margin: 5px 0 15px;
  padding-left: 1.5em;
  list-style: disc;
}

.privacy-scroll li {
  margin-bottom: 3px;
}


/* スクロールバー */
.privacy-scroll::-webkit-scrollbar {
  width: 8px;
}

.privacy-scroll::-webkit-scrollbar-track {
  background: #eeeeee;
}

.privacy-scroll::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 4px;
}

.privacy-scroll::-webkit-scrollbar-thumb:hover {
  background: #777;
}


/* スマホ */
@media screen and (max-width: 768px) {

  .privacy-scroll {
    height: 200px;
    margin: 15px auto 20px;
    padding: 15px;

    font-size: 12px;
    line-height: 1.7;
  }

  .privacy-scroll h3 {
    margin-top: 15px;
    font-size: 13px;
  }

}


/* 個人情報保護方針 スクロールエリア */
.privacy-scroll {
  width: 100%;
  max-width: 850px;
  height: 220px;
  margin: 20px auto 25px;
  padding: 22px 25px;

  overflow-y: auto;

  border: 1px solid #d0d0d0;
  background: #fff;

  color: #333;
  font-size: 13px;
  line-height: 1.8;

  text-align: left;
  box-sizing: border-box;
}

.privacy-scroll h3 {
  margin: 18px 0 5px;
  color: #333;
  font-size: 14px;
  line-height: 1.6;
  font-weight: bold;
}

.privacy-scroll p {
  margin: 0 0 12px;
}

.privacy-scroll ul {
  margin: 5px 0 15px;
  padding-left: 1.5em;
  list-style: disc;
}

.privacy-scroll li {
  margin-bottom: 3px;
}

.privacy-scroll::-webkit-scrollbar {
  width: 8px;
}

.privacy-scroll::-webkit-scrollbar-track {
  background: #eee;
}

.privacy-scroll::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 4px;
}

@media screen and (max-width: 768px) {
  .privacy-scroll {
    height: 200px;
    margin: 15px auto 20px;
    padding: 15px;
    font-size: 12px;
    line-height: 1.7;
  }

  .privacy-scroll h3 {
    font-size: 13px;
  }
}




.homegreetingmain .wide {
  width: 100%;
  max-width: 850px;
  margin-left: auto;
  margin-right: auto;
  text-align: left !important;
}



.facilityideamain > div {
  width: 100%;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  text-align: left !important;
}


.informationflowlead {
  width: 100%;
  max-width: 850px;
  margin-left: auto;
  margin-right: auto;
  text-align: left !important;
}