@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text&display=swap');


/* common
==========================================================*/

body { font-size: 15px; line-height: 2; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; font-weight: 500;
margin:0; padding: 0; letter-spacing:1px; color:#000; -webkit-text-size-adjust: 100%; }
@media screen and (max-width: 1000px) {
    body { font-size: 14px;}
}
@media screen and (max-width: 800px) {
    body { font-size: 13px; line-height: 1.8;}
}

a { text-decoration: none; color: #000; outline: none; -webkit-transition: all .3s; transition: all .3s;}
a *,
a:after,
.trans03{-webkit-transition: all .3s; transition: all .3s; }
a:hover { text-decoration: none; -webkit-transition: all .3s; transition: all .3s;}
.hoverbig:hover { transform: scale(1.1);}
@media screen and (max-width: 800px){
    .hoverbig:hover { transform: scale(1);}
}
img { -ms-interpolation-mode: bicubic; max-width: 100%; height: auto; max-width: 100%; height: auto; vertical-align: bottom;}
:focus { outline: 0; }
* { box-sizing: border-box}

.tellink { pointer-events: none;}
@media screen and (max-width: 800px){
    .tellink { pointer-events: auto;}
}  
    
.flex { display: flex; flex-wrap: wrap; }
.flex-nowrap { display: flex; }
.flex-jcs {display: flex; justify-content: space-between; flex-wrap: wrap; }
.flex-jca { display: flex; justify-content: space-around; flex-wrap: wrap; }
.flex-center {display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
.flex-aic { display: flex; align-items: center; flex-wrap: wrap; }
.flex-jcc { display: flex; justify-content: center; flex-wrap: wrap; }
.flex-fdc { display: flex; flex-direction: column;}

.centerposi { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); /* Safari用 */ transform: translate(-50%, -50%); }
.centertate { position: absolute; top: 50%; -webkit-transform: translateY(-50%); /* Safari用 */ transform: translateY(-50%); } 
.centeryoko { position: absolute; left: 50%; -webkit-transform: translateX(-50%); /* Safari用 */ transform: translateX(-50%); } 

.inner{width: calc(100% - 80px); margin: 0 auto;}
.inner650 {max-width: 650px; margin: 0 auto; }
.inner750 {max-width: 750px; margin: 0 auto; }
.inner750max {max-width: 750px; margin: 0 auto; }
.inner800 { max-width: 800px; width: calc(100% - 80px); margin: 0 auto;}
.inner860 { max-width: 860px; width: calc(100% - 80px); margin: 0 auto;}
.inner900 { max-width: 900px; width: calc(100% - 80px); margin: 0 auto;}
.inner900max { max-width: 900px; margin: 0 auto;}
.inner980 { max-width: 980px; width: calc(100% - 80px); margin: 0 auto;}
.inner1020{ max-width: 1020px; width: calc(100% - 80px); margin: 0 auto;}
.inner1040{ max-width: 1040px; width: calc(100% - 80px); margin: 0 auto;}
.inner1100{ max-width: 1100px; width: calc(100% - 80px); margin: 0 auto;}
.inner1400max{ max-width: 1400px; width: 100%; margin: 0 auto;}
@media screen and (max-width: 800px){
    .inner,
    .inner650,
    .inner750,
    .inner800,
    .inner860,
    .inner860,
    .inner900,
    .inner980,
    .inner1020,
    .inner1040,
    .inner1100{ width: calc(100% - 40px);}
}

.fs10{ font-size: calc(10em / 15);}
.fs11{ font-size: calc(11em / 15);}
.fs12{ font-size: calc(12em / 15);}
.fs13{ font-size: calc(13em / 15);}
.fs14{ font-size: calc(14em / 15);}
.fs15{ font-size: calc(15em / 15);}
.fs16{ font-size: calc(16em / 15);}
.fs18{ font-size: calc(18em / 15);}
.fs20{ font-size: calc(20em / 15);}
.fs21{ font-size: calc(21em / 15);}
.fs22{ font-size: calc(22em / 15);}
.fs23{ font-size: calc(23em / 15);}
.fs24{ font-size: calc(24em / 15);}
.fs25{ font-size: calc(25em / 15);}
.fs26{ font-size: calc(26em / 15);}
.fs30{ font-size: calc(30em / 15);}
.fs32{ font-size: calc(32em / 15);}
.fs35{ font-size: calc(35em / 15);}
.fs40{ font-size: calc(40em / 15);}
.fs48{ font-size: calc(48em / 15);}
.fs50{ font-size: calc(50em / 15);}
.fs55{ font-size: calc(55em / 15);}
.fs80{ font-size: calc(80em / 15);}
.fs100{ font-size: calc(100em / 15);}

.fs-mincho{ font-family: 'Noto Serif JP', serif; }
.noto {font-family: 'Noto Sans JP', sans-serif;}
.roboto{ font-family: 'Roboto', sans-serif; }
.robocon {font-family: 'Roboto Condensed', sans-serif;}
.Cormorant{ font-family: 'Cormorant Garamond', serif; }
.Crimson {font-family: 'Crimson Text', serif;}

.fc-g,
.fc-g a { color: #4F5342; }
.fc-w,
.fc-w a { color: #fff; }
.fc-lg,
.fc-lg a { color: #95988E; }
.fc-b,
.fc-b a { color: #000; }
.fc-r { color: #EB6A31; }

.bg-or{ background: #E67955; }
.bg-bl{ background: #83A6B6;}
.bg-br { background: #9F7670;}
.bg-y { background: #FBD486;}
.bg-be{ background: #EFECD3;}
.bg-lb{ background: #A3D4CE;}
.bg-w{ background: #fff;}
.bg-lg{ background: #EEF1EB;}
.bg-g{ background: #727568; }
.bg-g2{ background: #A7A9A0; }

#wrapper { overflow: hidden;}

.after,
.before{ position: relative;} 
.after:after,
.before:before { content: ""; position: absolute; }

.lh-1 { line-height: 1;}
.ls-0 { letter-spacing: 0;}

.sp-show,
.show-500 { display: none;}
@media screen and (max-width: 800px){
    .sp-show { display: block;}
    .sp-hide { display: none;}
    .sp-br-none br { display: none;}
}
@media screen and (max-width: 500px){
    .show-500 { display: block;}
}

.delighter { top: 50px; position: relative; animation:delighter2 1s forwards;}
.delighter.started { animation:delighter 1s forwards; }
@keyframes delighter {
    0% { top: 50px; opacity: 0;}
    100% { top: 0; opacity: 1;}
}
@keyframes delighter2 {
    0% { top: 0; opacity: 1;}
    100% { top: 50px; opacity: 0; }
}




/* header
==========================================================*/

.navInner { width: 70px; height: 70px; top: 0; right: 0; z-index: 9999; cursor: pointer; position: absolute;}
.menu-trigger { width: 100%; height: 100%; line-height: inherit; cursor: pointer; position: relative; display: inline-block; transition: all .3s; background: #A3D4CE; }
.menu-trigger.active { background: none;}
.menu-trigger .menutxt  { text-align: center; position: absolute; bottom: 8px; left: 0; width: 100%;}
.menutxt.active { display: none;}
.menu-trigger.active .menutxt.active { display: block;}
.menu-trigger.active .menutxt { display: none; }
.menu-trigger span { width: 30px; height: 1px; left: 20px; display: inline-block; transition: all .3s; position: absolute; background: #fff;  }
.menu-trigger span:nth-of-type(1) { top: 16px; }
.menu-trigger span:nth-of-type(2) { top: 24px; }
.menu-trigger span:nth-of-type(3) { top: 32px; }
.menu-trigger:not(.active):hover span:nth-of-type(1) { top: 18px; }
.menu-trigger:not(.active):hover span:nth-of-type(3) { top: 30px; }
.menu-trigger.active span {}
.menu-trigger.active span:nth-of-type(1) { transform: translateY(8px) rotate(-45deg); }
.menu-trigger.active span:nth-of-type(2) { display: none; }
.menu-trigger.active span:nth-of-type(3) { transform: translateY(-8px) rotate(45deg); }
@media screen and (max-width: 1300px){
    .navInner { top: 50px;}  
}
@media screen and (max-width: 800px){
    .navInner.sp-show { display: block !important; }
    .menu-trigger { position: fixed; top: 0; right: 0;}
    .menu-trigger.active { top: 0;} 
    .navInner {}
    .menu-trigger {width: 60px; height: 60px;}
    .menu-trigger .menutxt  { bottom: 6px; }
    .menu-trigger span {left: 15px; }
    .menu-trigger span:nth-of-type(1) { top: 14px; }
    .menu-trigger span:nth-of-type(2) { top: 22px; }
    .menu-trigger span:nth-of-type(3) { top: 30px; }
    .menu-trigger:not(.active):hover span:nth-of-type(1) { top: 16px; }
    .menu-trigger:not(.active):hover span:nth-of-type(3) { top: 28px; }
} 

.headwrap.flex{}
.head-l{ width: 275px; padding-right: 25px; justify-content: flex-end;}
.head-l .fs11 span { letter-spacing: 0;}
.headlogo.poab{ width: 120px; left: 15px; top: 15px; z-index: 2;}
.head-l p {}
.head-c.flex{ width: calc(100% - 275px - 120px - 70px);}
.head-c li{ width: calc(100% / 6); border-right: 1px solid #DBDBD8; }
.head-c li:nth-child(n+4) {  border-right: none;}
.head-c li a.flex-center{ height: 70px; }
.head-r.flex-center{ width: 120px; }
.headsnsul{ margin-left: -20px;}
.headsnsul li{ width: 20px; margin-left: 20px;}
.headsnsul li a{}
@media screen and (max-width: 1300px){
    .head-l{ width: 100%; padding-left: 105px; justify-content: flex-start;}
    .head-l p { line-height: 50px;}
    .head-l p br { display: none;}
    .headlogo.poab{ width: 80px; left: 10px; top: 10px; }
    .head-c.flex{ padding-left: 105px; width: calc(100% - 70px);}
    .head-c li:first-child{ letter-spacing: 0; border-left: 1px solid #DBDBD8; }
    .head-r.flex-center { height: 40px; right: 20px; width: auto;position: absolute;}
}

@media screen and (max-width: 800px){
    .sp-headwrap { height: 40px;}
    .headlogo-sp { width: 70px; top: 10px; left: 10px; z-index: 9;}
    .headmid {}
    .headmid br { display: none;}
    
    .headwrap.flex{}
    .head-l{ padding: 20px 0; display: block; width: 100%; padding-right: 0;}
    .head-l .fs11 span { letter-spacing: 0;}
    .headlogo.poab{ width: 100px; margin: 0 auto 15px; left: 0; top: 0; z-index: 2; position: inherit;}
    .head-l p { text-align: center;}
    .head-l p br { display: none;}
    .head-c.flex{ width: 100%; background: #fff;}
    .head-c li{ width: calc(100% / 2); border-top: 1px solid #DBDBD8; }
    .head-c li:nth-child(2n) {  border-right: none;}
    .head-c li:first-child { display: block; }
    .head-c li a {}
    .head-r.flex-center{ width: 100%; }
    .headsnsul{ margin-top: 40px; margin-left: -10px;}
    .headsnsul li{ width: 50px; margin-left: 10px;}
    .headsnsul li a{ display: block; padding: 10px;} 
}   
@media screen and (max-width: 400px){
    .headmid { font-size: 10px;}
} 

#menu { width: 100%; height: 100%; right: 0; top: 0; display: none; position: fixed; background: rgba(163,212,206,0.96); -webkit-overflow-scrolling: touch; overflow-scrolling: touch; z-index: 9901 !important; overflow: scroll !important; }
#menu .inner800{ padding: 80px 0;}
.headinlogo{ width: 120px; margin: 0 auto 60px;}
.headinmenuwrap{ margin-bottom: 60px;}
.headinul{ margin-left: -40px;}
.headinul > li { margin-left: 40px;}
.headinul > li:nth-child(1){ width: 240px;}
.headinul > li:nth-child(2){ width: 150px;}
.headinul > li:nth-child(3){ width: 150px;}
.headindl{}
.headindl dt { width: 100%; padding-bottom: 5px; margin-bottom: 20px; font-size: calc(16em / 14); border-bottom: 1px solid #000; font-weight: bold;}
.headindl dd { margin-bottom: 10px; position: relative; padding-left: 1em; }
.headindl.flex dd { width: 50%;}
.headindl dd:after,
.headinul2 li:after{ content: "-"; position: absolute; top: 0; left: 0;}
.headinul2{}
.headinul2 li{  position: relative; padding-left: 1em; margin-bottom: 10px; }
.headinul2 li a{}
#menu .fixbtnul{ margin-bottom: 20px; }
.muenuline{ margin-top: 10px;}
.headintime{ margin-top: 20px; padding: 10px; border: 1px solid #000;}
.headintime p { margin-left: 20px;}
.headintime p:first-child { margin-left: 0;}
@media screen and (max-width: 800px){
    #menu .inner800{ padding: 40px 0;}
    .headinlogo{ width: 100px; margin: 0 auto 40px;}
    .headinmenuwrap{ display: block; margin-bottom: 30px;}
    .headinul{ margin-left: 0;}
    .headinul a { display: block;}
    .headinmenuwrap .headinul > li { margin: 0; width: 100%;}
    .headindl{}
    .headindl dt { width: 100%; padding-bottom: 5px; margin-bottom: 20px; font-size: calc(16em / 14);font-weight: normal;}
    .headindl dd { display: none; }
    .headindl.flex dd {}
    .headinul2 li:after{ display: none;}
    .headinul2 li{padding-left: 0; padding-bottom: 5px; margin-bottom: 20px; font-size: calc(16em / 14); border-bottom: 1px solid #000; }
    #menu .fixbtnul li{width: calc(100% / 3 - 10px); }
}
@media screen and (max-width: 500px){
    .headintime { display: block; text-align: center;}
    .headintime p { margin-left: 0;}
}


/* footer
==========================================================*/

footer{ padding-bottom: 100px;}
.pagetop.poab{ width: 40px; left: calc(50% - 20px); top: -60px; z-index: 2;}
.pagetop a{}
.page-ind footer .bg-be{ background: #EEF1EB;}
footer .inner860{ padding: 40px 0;}
.footlogo{ width: 112px; margin: 0 auto 30px;}
.footopen { margin-top: 40px; margin-left: -20px; margin-bottom: 30px }
.footopen p { margin-left: 20px; }
.footmenuulwrap { padding: 25px 15px; border-top: 1px solid #4F5342; border-bottom: 1px solid #4F5342;}
.footfixwrap{ width: 100%; padding: 20px; bottom: 0; left: 0; z-index: 2; position: fixed;}
.foot-bul.flex-jcc{ margin-left: -10px; letter-spacing: 0; text-align: center;}
.foot-bul li{ margin-left: 10px;}
.foot-bul li a{ width: 260px; height: 60px; border-radius: 5px; line-height: 1.3;}
.foot-bul li a br { display: none;}
.foot-bul li a.roboto { font-weight: 100;}
.foot-bul li a.roboto span { font-size: 0.8em;}
@media screen and (max-width: 1000px){
    .foot-bul li a{ width: 240px;}
    .foot-bul li a br { display: inline;}
}
@media screen and (max-width: 800px){
    .pagetop.poab{ width: 40px; top: -40px;}
    footer .inner860{ padding: 30px 0;}
    .footlogo{ width: 100px; margin: 0 auto 20px;}
    .footmenuulwrap { padding: 15px 5px;}
    .footmenuul { padding: 0; margin-left: -20px; margin-bottom: -10px; justify-content: center;}
    .footmenuul li{ margin-left: 20px; margin-bottom: 10px;}
    .footmenuul li a{}
    footer .bg-lb{ padding: 10px;}
    .foot-bul.flex-jcc{ margin-left: -5px; letter-spacing: 0; text-align: center;}
    .foot-bul li{ width: calc(100% / 3 - 5px); margin-left: 5px;}
    .foot-bul li a{ width: 100%; height: 60px;}
}
@media screen and (max-width: 550px){
    .foot-bul li .fs24 { font-size: 3.5vw; }
    .foot-bul li .fs18 {font-size: 3.2vw; }
} 





/* index
==========================================================*/

.indmainwrap.flex{  }
.indmain-l.flex-center{ padding: 100px 0 80px; width: calc(600 / 1400 * 100%); }
.indmain-linner { width: 410px; }
.mainttl{ margin-bottom: 45px;}
.maintxt{ margin-bottom: 55px;}
.mainill{ width: 220px; margin-bottom: 50px; }
.indbtnul { width: 100%;}
.indbtnul li { width: calc(50% - 5px);}
a.indbtn { width: 240px; height: 60px; border-radius: 5px; text-align: center; line-height: 1.3; letter-spacing: 0;}
.indbtnul li a.indbtn { width: 100%;}
.headline { margin-top: 10px; width: 100%; height: 70px; background: #00B300; border-radius: 5px;}
.headline p { width: 280px;}
.indmain-r{ width: calc(800 / 1400 * 100%); }
#mainslide{ width: 100%; height: 100%; padding-bottom: 50px;} 
#mainslide .swiper-slide{ border-radius: 0 0 0 80px; background-size: cover !important;}
#mainslide .swiper-slide.mainimg01 { background: url(../images/index/mainimg01.jpg) no-repeat center; }
#mainslide .swiper-slide.mainimg02 { background: url(../images/index/mainimg02.jpg) no-repeat center; }
#mainslide .swiper-slide.mainimg03 { background: url(../images/index/mainimg03.jpg) no-repeat center; }
#mainslide .swiper-slide.mainimg04 { background: url(../images/index/mainimg04.jpg) no-repeat center; }
#mainslide .swiper-pagination { bottom: 20px; margin: 0; margin-left: 8px; left: inherit; right: 25px; width: 100%; justify-content: flex-end; }
#mainslide .swiper-pagination-bullet { width: 8px; height: 8px; opacity: 1; background: #E7E4CB;}
#mainslide .swiper-pagination-bullet-active { background: #4F5342;}
@media screen and (max-width: 1300px){
    .indmain-l.flex-center{ padding: 60px 0 50px; width: 500px; }
    .indmain-linner { width: 300px; }
    .maintxt{ margin-bottom: 45px;}
    .mainill{ width: 200px; margin-bottom: 40px; }
    a.indbtn { height: 50px; }
    .indbtnul li a.indbtn { font-size: 12px;}
    .headline {height: 60px; }
    .headline p { width: 240px;}
    .indmain-r{ width: calc(100% - 500px);}
}
@media screen and (max-width: 1000px){
    .indmain-l.flex-center{ width:400px; }
    .indmain-r{ width: calc(100% - 400px);}
}
@media screen and (max-width: 800px){
    .indmainwrap{ flex-direction: column-reverse; position: relative; }
    .indmain-l.flex-center{ width: 100%; padding: 40px 0;}
    .indmain-linner { max-width: 410px; width: calc(100% - 40px); margin: 0 auto; }
    .mainttl{ width: 200px; margin-bottom: 30px;}
    .maintxt{ margin-bottom: 30px;}
    .mainill{ display: none; }
    .indmain-r{ width: 100%; height: 50vw; position: relative;}
    .indmainlogo-sp { z-index: 2; left:15px; top: -20px; width: 100px; }
    #mainslide{ padding-bottom:0;} 
    #mainslide .swiper-slide{ border-radius: 0; }
    #mainslide .swiper-pagination { bottom: 15px; right: 15px; }
}  
    
.indnowrap{ padding: 100px 0; }
.indnowrap .inner1020{}
.indttlen{}
.indnoul{ margin-top: 80px; margin-left: -40px}
.indnoul li{ max-width: 380px; width: calc(50% - 40px); margin-left: 40px; }
.indnoul li a{ padding: calc(30px - 25px) 20px 30px; display: block; }
.indnoulmid{ height: 50px; top: -30px; position: relative;}
.indnoulmid:after,
.newslistsubwrap:after{ top: 100%; left: calc(50% - 3.5px); width: 0; height: 0; border-style: solid; border-width: 3.5px 3.5px 0 3.5px; border-color: #9F7670 transparent transparent transparent; }
.indnoulmid.bg-y:after { border-color: #FBD486 transparent transparent transparent; }
.indnoimg{ width: calc(100% - 40px); margin: 0 auto 10px; position: relative;}
.indnoimg > div { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 2;}
p.indnotxt{}
@media screen and (max-width: 800px){
    .indnowrap{ padding: 50px 0; }
    .indnoul{ margin-top: 60px; display: block; margin-left:0; margin-bottom: -60px;}
    .indnoul li{ max-width: 450px; width:100%; margin:0 auto 60px; }
}  

.indnewswrap,
.indplanwrap,
.indworkswrap,
.indblogwrap,
.indcontactwrap{ padding-top: 100px;}
.indnewswrap .inner1020{}
.indttlen{ margin-bottom: 30px; text-align: center; line-height: 1;}
.indttlslash { width: 55px; height: 55px; margin: 0 5px; background: url(../images/index/slash.png) no-repeat center; background-size: cover;}
.indmid{ margin-bottom: 60px; text-align: center;}
.newslistul{ margin-left: -40px; margin-bottom: -100px; }
.newslistul li{ width: calc(100% / 3 - 40px); margin-left: 40px; margin-bottom: 100px;}
.newslistul li a{}
.newslistsubwrap { padding: 0 10px; margin-bottom: 15px; height: calc(3em * 1.5); display: flex; align-items: center; justify-content: center;}
.event-before .newslistsubwrap { background: #FBD486;}
.event-now .newslistsubwrap { background: #F0B8C3;}
.event-after .newslistsubwrap { background: #bbb;}
.event-before .newslistsubwrap:after { border-color: #FBD486 transparent transparent transparent; }
.event-now .newslistsubwrap:after  { border-color: #F0B8C3 transparent transparent transparent; }
.event-after .newslistsubwrap:after  { border-color: #bbb transparent transparent transparent; }
.newslistsub{letter-spacing: 0; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; position: relative; }
.newslistcat { margin-bottom: 15px;}
.event-before .newslistcat { color: #FABC57;}
.event-now .newslistcat { color: #E999A4;}
.event-after .newslistcat { color: #bbb;}
.newslistimg { width: 100%; margin-bottom: 25px; position: relative;}
.newslistimg:after { content:""; display: block; padding-top: 100%;}
.newslistimg > div { position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
.newslistimg > div img { position: absolute; width: auto; height: auto; top: 50%; left: 50%; max-width: 100%; max-height: 100%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
.newslistttl{ margin-bottom: 5px; line-height: 1.5}
.indbtnwrapflame { padding: 0 10px 10px; }
.indbtnwrap.flex-center{ margin-top: 80px; padding: 40px 0;}
.indbtnwrap a.indbtn.flex-center{}
@media screen and (max-width: 800px){
    .indnewswrap,
    .indplanwrap,
    .indworkswrap,
    .indblogwrap,
    .indcontactwrap{ padding-top: 50px;}
    .indttlen{ font-size: 60px; margin-bottom: 20px;}
    .indmid{ margin-bottom: 40px;}
    .indttlslash { width: 40px; height: 40px;}
    .newslistul{ margin-left: -20px; margin-bottom: -50px;  }
    .newslistul li{ width: calc(100% / 2 - 20px); margin-left: 20px; margin-bottom: 50px;}
    .indnewswrap .newslistul li:last-child { display: none;}
    .indbtnwrapflame { padding: 0 5px 5px; }
    .indbtnwrap.flex-center{ margin-top: 40px; padding: 20px 0;}
}


.indsoudanwrap{ padding: 100px 0;}
.indsoudanwrap .inner800{}
.indsoudanttl{ line-height: 1.5;}
.indsoudanulwrap.flex-jcc{ margin: 60px 0; margin-left: -40px;}
.indsoudanul{ margin-bottom: -20px; margin-left: 40px; }
.indsoudanul li{ margin-bottom: 20px; padding-left: 30px; position: relative;}
.indsoudanul li:after { width: 20px; height: 20px; top: calc(50% - 10px); left: 0; content: ""; position: absolute;background: url(../images/common/check.jpg) no-repeat center; background-size: cover;}
a.indsoudanbnr.flex-center{ height: 200px; flex-direction: column; background: url(../images/index/soudanbg.jpg) no-repeat center; }
.indsoudanmid { margin-bottom: 30px; line-height: 1.5;}
.indsoudanbtn.flex-center{ width: 120px; height: 40px; border-radius: 5px; }
@media screen and (max-width: 800px){
    .indsoudanwrap{ padding: 50px 0;}
    .indsoudanulwrap.flex-jcc{ margin: 30px 0; display: block;}
    .indsoudanul{ margin-bottom: 0; margin: 0; }
    a.indsoudanbnr.flex-center{ height: 180px; }
    .indsoudanmid { margin-bottom: 20px;}
}

.indotegorowrap{ padding: 100px 0 0;}
.indotegorowrap .inner1040.flex-jcs{}
.indotegoro-l{}
.indotegoromid { margin-bottom: 40px; line-height: 1.5; letter-spacing: 0.1em;}
.indotegorotxt{}
.indotegoro-r{ width: 450px;}
@media screen and (max-width: 1100px){
    .indotegoro-l{ width: calc(100% - 380px);}
    .indotegoromid { font-size: calc(35em / 15);}
    .indotegoromid br{ display: none;}
    .indotegoro-r{ width: 350px;}
    .indotegorotxt br{ display: none;}
}
@media screen and (max-width: 800px){
    .indotegorowrap{ padding: 50px 0 0;}
    .indotegoro-l{width: 100%; text-align: center;}
    .indotegoromid { margin-bottom: 30px;}
    .indotegoro-r{ width: 250px; margin: 40px auto 0;} 
}    

.indplanwrap {}
.indplanwrap .inner{}
#planslide{} 
#planslide .swiper-wrapper{} 
#planslide .swiper-slide{}
#planslide .swiper-slide a{ pointer-events: none;}
#planslide .swiper-slide-active a{ pointer-events: auto;}
.indplanimg{ margin-bottom: 30px; background: #fff;}
.indplanimg img { width: 100%; opacity: 0.2}
#planslide .swiper-slide-active .indplanimg img { opacity: 1;}
.indplantxtwrap{ line-height: 1; opacity: 0;}
#planslide .swiper-slide-active .indplantxtwrap { opacity: 1;}
.indplantxt-l.flex-center{ width: 75px; height: 70px; border-radius: 3px; margin-right: 15px;}
.indplantxt-l p { letter-spacing: 0;}
.indplantxt-l p:nth-child(1){ margin-bottom: 8px;}
.indplantxt-r {}
.indplantxt-r .fc-g { display: flex; align-items: baseline;}
.indplantxt-r div p.fs50 {}
.indplantxt-r div p.fs50 span { font-size: 0.5em; }
.indplantxt-r div p.fs21 {}
.indplantxt-r p:last-child { margin-top: 5px; line-height: 1.5;}
@media screen and (max-width: 800px){
    .indplanimg{ margin-bottom: 15px;}
    .indplantxt-l.flex-center{ width: 65px; height: 55px; margin-right: 15px;}
    .indplantxt-l p { letter-spacing: 0;}
    .indplantxt-l p:nth-child(1){ margin-bottom: 6px;}
}
#planslide .swiper-button-prev,
#planslide .swiper-button-next{ width: 18px; height: 32px; top: calc(45% - 32px); margin: 0;}
#planslide .swiper-button-prev{ left: 30%; background: url(../images/common/arrow-prev.png) no-repeat center; background-size: cover;}
#planslide .swiper-button-next{ right:30%; background: url(../images/common/arrow-next.png) no-repeat center; background-size: cover;}
@media screen and (max-width: 1750px){
    #planslide .swiper-button-prev{ left: 25%; }
    #planslide .swiper-button-next{ right:18px;}
}
@media screen and (max-width: 1450px){
    #planslide .swiper-button-prev{ left: 20%; }
    #planslide .swiper-button-next{ right:20%;}
}
@media screen and (max-width: 1200px){
    #planslide .swiper-button-prev{ left: 10%; }
    #planslide .swiper-button-next{ right:10%;}
}
@media screen and (max-width: 800px){
    #planslide .swiper-button-prev{ left: 10px; }
    #planslide .swiper-button-next{ right:10px;}
}

.indinstawrap { padding: 100px 0;}
.indinstawrap .inner1020{}
.indinstawrap .inner1020 > div { width: calc(50% - 40px);}
.indinstamid{ margin-bottom: 40px; border-bottom: 1px solid #000; line-height: 1;}
.indinstamid a { padding-bottom: 20px; display: block; }
.indinstamid a:after { width: 8px; height: 16px; top: calc(50% - 10px); right: 10px; background: url(../images/common/arrow-next.png) no-repeat center; background-size: cover;}
.indinstamid a:hover:after { right: 0;}
.indinstamid p {}
.indinstaimg{ position: relative; width: 100%; }
.indinstaimg:before { content:""; display: block; padding-top: calc(261 / 464 * 100%);}
.indinstaimg img,
.indinstaimg iframe { position: absolute; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; }
@media screen and (max-width: 1200px){
    .indinstawrap .inner1020 > div { width: calc(50% - 25px);}
}  
@media screen and (max-width: 800px){
    .indinstawrap { padding: 50px 0;}
    .indinstawrap .inner1020 { max-width: 464px; margin: 0 auto -40px;}
    .indinstawrap .inner1020 > div { width: 100%; margin-bottom: 40px;}
    .indinstamid{ margin-bottom: 20px;}
    .indinstamid a { padding-bottom: 10px; }
    .indinstamid a:after { width: 5px; height: 10px; top: calc(50% - 10px); right: 5px;}
}

.indblogwrap{}
.indblogwrap .inner1040{}
.indblogul.flex-jcs{ margin-bottom: -20px;}
.indblogul li{ width:  calc(50% - 25px); margin-bottom: 20px;}
.indblogul li a.flex{}
.indblogimg{ width: 225px; margin-right: 20px;}
.indblogtxtwrap.flex-aic{ width: calc(100% - 225px - 30px);}
.indblogtxtwrap .fs18{ margin-bottom: 10px; line-height: 1.5;}
.indblogtxtwrap .fs13{ display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.indblogtxtwrap .fs12{ margin-top: 10px;}
@media screen and (max-width: 1000px){
    .indblogul { max-width: 750px; margin: 0 auto;}
    .indblogul li{ width: 100%; }
}
@media screen and (max-width: 800px){
    .indblogimg{ width: 150px;}
    .indblogtxtwrap.flex-aic{ width: calc(100% - 150px - 20px);}
}   

.indloanwrap{ padding-bottom: 100px;}
.inner1040{}
.indsoudanttl{ line-height: 1.5;}
.indloanmid{ margin: 60px 0 40px; padding: 10px; text-align: center; }
.indloanmid:after { top: 100%; left: calc(50% - 5px); width: 0; height: 0; border-style: solid; border-width: 5px 5px 0 5px; border-color: #9F7670 transparent transparent transparent;}
.indloanul{ margin-bottom: -20px;}
.indloanul li{ padding: 40px; width: calc(50% - 10px); margin-bottom: 20px; background: #fff;}
.indloanimg{ width: 240px; margin: 0 auto;}
p.indloanulmid{ margin: 20px 0;}
.indloanulfigwrap.flex-jcs{margin-bottom: 30px;}
.indloanfig-l.flex-center{ width: 160px;}
.indloanfig-l p.fs13{ margin-bottom: 10px;}
.indloanfig-l .fc-g span.fs26{ font-weight: 600;}
.indloanfig-l .fc-g span.fs13{}
.indloanfig-r{ width: calc(100% - 160px - 30px);}
.indloanfig-rdlwrap{  border-top: 1px solid #4F5342; border-bottom: 1px solid #4F5342;}
.indloanfig-rdl{ line-height: 1;}
.indloanfig-rdl dt,
.indloanfig-rdl dd { padding: 10px 0; border-bottom: 1px dotted #4F5342;}
.indloanfig-rdl dt{ width: 80px;}
.indloanfig-rdl dd{ width: calc(100% - 80px); padding-left: 1em; position: relative;}
.indloanfig-rdl dd:after { content: "："; position: absolute; top: calc(50% - 0.5em); left: 0;}
.indloanfig-rdlwrap p.fs12{ padding: 5px 0;}
.indloanultxt{}
@media screen and (max-width: 1000px){
    .indloanul li{ padding: 30px 20px; }
    .indloanfig-l.flex-center{ width: 120px;} 
    .indloanfig-r{ width: calc(100% - 120px - 20px);}
    .indloanfig-rdl dt{ width: 70px;}
    .indloanfig-rdl dd{ width: calc(100% - 70px);}
}
@media screen and (max-width: 800px){
    .indloanwrap{ padding-bottom: 50px;}
    .indloanwrap .inner1040{ max-width: 510px;}
    .indloanmid{ margin: 30px 0 20px; padding: 10px;}
    .indloanul{ margin-bottom: -10px;}
    .indloanul li{ padding: 30px 20px; width: 100%; margin-bottom: 10px;}
    .indloanimg{ width: 200px; margin: 0 auto;}
    p.indloanulmid{ margin: 10px 0;}
    .indloanulfigwrap.flex-jcs{margin-bottom: 20px;}
    .indloanfig-rdl dt,
    .indloanfig-rdl dd { padding: 10px 0; border-bottom: 1px dotted #4F5342;}
    .indloanfig-rdl dt{ width: 65px;}
    .indloanfig-rdl dd{ width: calc(100% - 65px);}
}
    
.indposiwrap{}
.indposiwrap .inner1040{ padding: 100px 0;}
.indposiul{ margin-top: 60px; margin-bottom: -4px;}
.indposiul li { padding: 30px; margin-bottom: 4px; width: calc(100% / 3 - 2px); background: #fff;}
.indposiimg{ width: 60px; margin: 0 auto 10px; }
.indposimid{ margin-bottom: 20px; text-align: center;}
.indpositxt{ text-align: justify;}
.indpositxtsub { letter-spacing: 0;}
@media screen and (max-width: 800px){
    .indposiwrap{}
    .indposiwrap .inner1040{ padding: 50px 0; }
    .indposiul{ margin-top: 30px;}
    .indposiul li { padding: 20px; width: calc(100% / 2 - 2px); }
    .indposimid{ margin-bottom: 10px;} 
}
@media screen and (max-width: 550px){
    .indposiul li { width: 100%; }
}

.indcontactwrap{ padding: 100px 0; }
.indcontactwrap .inner800{}
.indcontactbtnwrap{ margin-bottom: -10px;}
.indcontactbtnwrap > div{ margin-bottom: 10px;}
.indcontactbtnwrap a,
.indlinebtn{ border-radius: 5px; }
a.indcontacttel.flex{ height: 80px; padding: 0 30px;}
a.indcontacttel > div:nth-child(1){ padding-right: 30px; margin-right: 30px;}
a.indcontacttel > div:nth-child(1):after { width: 1px; height: 50px; top: calc(50% - 25px); right: 0; background: #CECECA;}
a.indcontacttel > div:nth-child(2){ font-weight: 100;}
a.indcontacttel > div:nth-child(2) span { font-size: 0.8em;}
.indcontactbtnul.flex-jcs { margin-left: -10px;}
.indcontactbtnul li { width: calc(100% / 3 - 10px); margin-left: 10px;}
.indcontactbtnul li a { height: 70px; width: 100%;}
a.indcatbtn.flex{ height: 160px; line-height: 1; }
.indlinebtn{ background: #00B300;}
.indlinebtn p { width: 280px}
.indcatbtn-l.flex-center{ width: 50%;}
.indcatbtn-l .fs50{ margin-bottom: 20px;}
.indcatbtn-l .fs13{}
.indcatbtn-r{ width: 50%; background: url(../images/index/katalogbg.jpg) no-repeat center; background-size: cover;}
@media screen and (max-width: 800px){
    .indcontactwrap{ padding: 50px 0; }
    .indcontactbtnwrap{ margin-bottom: -5px;}
    .indcontactbtnwrap > div{ margin-bottom: 5px;}
    a.indcontacttel.flex{ height: 60px; padding: 0 20px;}
    a.indcontacttel > div:nth-child(1){ padding-right: 15px; margin-right: 15px;}
    a.indcontacttel > div:nth-child(1):after { height: 30px; top: calc(50% - 15px); }
    .indcontactbtnul.flex-jcs { margin-left: -5px; letter-spacing: 0; }
    .indcontactbtnul li { width: calc(100% / 3 - 5px); margin-left: 5px;}
    .indcontactbtnul li a { height: 60px; width: 100%;}
    a.indcatbtn.flex{ height: 120px; }
    .indlinebtn p { width: 240px}
    .indcatbtn-l .fs50{ margin-bottom: 10px; }
}
@media screen and (max-width: 650px){
    .indcontactbtnul li a { height: 50px;}
    a.indcontacttel.flex{ height: 80px; flex-direction: column; align-items: center; justify-content: center; line-height: 1;}
    a.indcontacttel > div:nth-child(1){ font-size: 12px; margin-bottom: 10px; padding-right:0; margin-right: 0; display: block;}
    a.indcontacttel > div:nth-child(1):after { display: none}
    a.indcontacttel > div:nth-child(2){ font-size: 30px; font-weight: 100;}
    a.indcontacttel > div:nth-child(2) span { font-size: 0.8em;}
    .indcontactbtnul { margin-bottom: -5px; font-size: 14px;}
    .indcontactbtnul li { width: 100%; margin-bottom: 5px;}
}
@media screen and (max-width: 550px){
    .indcatbtn-l .fs50 { font-size: 30px;}
}

    
.indrecruitwrap{ padding: 60px 0 100px;}
.indrecruitwrap .inner800{}
a.indrecruitbnr.flex-center { width: 100%; height: 240px; line-height: 1; background: url(../images/index/recruitbg.jpg) no-repeat 40% 50%; background-size: cover;}
a.indrecruitbnr .fs50{ margin-bottom: 20px;}
a.indrecruitbnr .fs13{}
@media screen and (max-width: 800px){
    .indrecruitwrap{ padding: 30px 0 50px;}
    a.indrecruitbnr.flex-center {  height: 200px;}
}





/* plan
==========================================================*/

.ttlwrap{ padding: 100px 20px; line-height: 1;}
.ttlen{ margin-bottom: 40px;}
.ttlnoen { line-height: 1.4}
.ttlslash { width: 65px; height: 65px; margin-right: 5px; background: url(../images/index/slash.png) no-repeat center; background-size: cover;}
.ttljp {}
@media screen and (max-width: 1000px){
    .ttlwrap{ padding: 60px 20px;}
    .ttlen{ margin-bottom: 20px}
}
@media screen and (max-width: 800px){
    .ttlwrap{ padding: 40px 20px;}
    .ttlen{ font-size: calc(80em / 15);margin-bottom: 10px}
    .ttlslash { width: 50px; height: 50px; }
    .ttljp {font-size: calc(18em / 15);}
}
@media screen and (max-width: 500px){
    .ttlen{ font-size: 13vw;}
}  
    
.planconceptwrap{ padding: 80px 0;}
.planconceptwrap p:nth-child(1) { line-height: 2.8; margin-bottom: 30px; }
.plansectionwrap{}
.plansection { padding: 100px 0; }
.planname { height: 40px; line-height: 40px; padding: 0 10px; top: 0; left: 0;}
.planlrwrap{ padding-left: 150px }
.plan-l{ width: 400px; margin-right: 60px;}
.plan-r{}
.planmid{ margin-bottom: 40px; line-height: 1.6;}
.plan-rlrwrap{}
.plan-r-l{ margin-right: 40px;}
.plan-r-ldl { margin-bottom: 20px; border-top: 1px solid #4F5342; border-bottom: 1px solid #4F5342; display: flex;}
.plan-r-ldl dt,
.plan-r-ldl dd { padding: 5px 10px;}
.planpricewrap{ margin-bottom: 10px;}
.planprice-l{ padding: 6px; line-height: 1;}
.planprice-l div{}
.planprice-l div p:nth-child(1){ margin-bottom: 4px;}
.planprice-l div p:nth-child(2){}
.planprice-r{ margin-left: 10px; align-items: baseline; line-height: 0.8; letter-spacing: 0;}
.planprice-r .roboto{ font-weight: 700;}
.planprice-r .roboto span{ font-size: 0.5em; }
.planprice-r .noto{ font-weight: 900;}
.planpricetxt {}
@media screen and (max-width: 1350px){
    .planlrwrap{ padding-left: 50px; }
    .plan-l{ width: 300px;}
}
@media screen and (max-width: 1100px){
    .planlrwrap{ padding: 0 50px; }
    .plan-r{ width: calc(100% - 300px - 60px); }
    .planmid br{ display: none}
    .plan-rlrwrap{ display: block;}
    .plan-r-l { margin-right: 0;}
    .plan-r-r { margin-top: 20px}
}
@media screen and (max-width: 800px){
    .planconceptwrap{ padding: 40px 20px; line-height: 2;}
    .planconceptwrap br { display: none;}
    .plansection { padding: 50px 0; }
    .planname { height: 30px; line-height: 30px; }
    .planlrwrap{ padding: 0 50px; }
    .plan-l{ margin-bottom: 25px; width: 100%; margin-right:0;}
    .plan-r{width: 100%;}
    .planmid{ margin-bottom: 20px; line-height: 1.6;}
}  
@media screen and (max-width: 500px){ 
    .planlrwrap{ padding: 0 20px; }
}


.lity {}
.planlitywrap{ padding: 100px 0; max-width: 900px; width: calc(100vw - 40px); align-items: center; overflow: scroll; background: #fff; }
.lity-close { display: none;}
.planlitywrap .lity-close,
.planlitywrap .lity-close:hover { display: block; top: 40px; right: 40px; width: 50px; height: 50px; background: url(../images/common/close.png) no-repeat; background-size: cover;}
.planlityplan{ max-width: 470px; width: calc(100% - 40px); margin: 0 auto -40px; }
.planlityplan div { margin-bottom: 40px; }
@media screen and (max-width: 800px){ 
    .planlitywrap{ padding: 50px 0; }
    .planlitywrap .lity-close,
    .planlitywrap .lity-close:hover { top: 15px; right: 10px; width: 30px; height: 30px; }
    .planlityplan{ max-width: 350px; width: calc(100% - 60px); margin: 0 auto -20px; }
    .planlityplan div { margin-bottom: 20px; }
}

.planspecwrap{ padding: 100px 0 150px;}
.planspecwrap .inner1100{}
.planspecdl{ padding-bottom: 100px; }
.planspecdl dt{ width: 200px;}
.planspecdl dt .fs24{}
.planspecdl dt .fs12{}
.planspecdl dd{}
.planspecdl dd.flex { margin-left: -40px; }
.planspecul{ margin-left: 40px;}
.planspecul li{ padding-left: 1em; position: relative; }
.planspecul li:after { content: "-"; position: absolute; top: 0; left: 0;}

@media screen and (max-width: 1100px){
    .planspecdl dt{ width: 100%; margin-bottom: 20px;}
}
@media screen and (max-width: 800px){
    .planspecwrap{ padding: 50px 0 75px;}
    .planspecdl{ padding-bottom: 50px;}
    .planspecdl dd.flex { margin-left: -20px; }
    .planspecdl dd br{ display: none;}
    .planspecul{ margin-left: 20px;}
}

.about02ulwrap { border-bottom: 2px dotted #4F5342; margin-bottom: 60px; }
.about02ul{ margin-left: -100px; }
.about02ul li{ width: calc(100% / 4 - 100px); margin-left: 100px; margin-bottom: 60px;}

.about02ul li p{ line-height: 1.5;}
.aboutwide02{}
@media screen and (max-width: 1240px){
    .about02ul{ margin-left: -60px; margin-bottom: 30px;}
    .about02ul li{ width: calc(100% / 4 - 60px); margin-left: 60px; margin-bottom: 30px;}
}
@media screen and (max-width: 800px){
    .about02ulwrap { margin-bottom: 30px; }
    .about02ul{ margin-left: -20px; }
    .about02ul li{ width: calc(100% / 4 - 20px); margin-left: 20px;}
}
@media screen and (max-width: 500px){
    .about02ul li{ width: calc(100% / 3 - 20px);}
}


/* works/event
==========================================================*/

.workslistwrap{ padding: 100px 0 150px; }
.workslistul{ margin-bottom: -40px; margin-left: -40px;}
.workslistul li{ margin-bottom: 40px; max-width: 300px; width: calc(100% / 3 - 40px); margin-left: 40px; }
.workslistul li a{ display: block;}
.workslistimg{ margin-bottom: 15px; background-size: cover !important;}
.workslistul li a p{}
@media screen and (max-width: 800px){
    .workslistwrap{ padding: 50px 20px 75px; }
    .workslistul { margin-bottom: -40px; margin-left: -40px;}
    .workslistul li{ margin-bottom: 40px; max-width: inherit; width: calc(100% / 2 - 40px); margin-left: 40px; }
}
@media screen and (max-width: 550px){
    
} 

.paginationwrap{ margin-top: 100px;}
.pagination{ margin-left: -15px;}
.pagination span,
.pagination a { margin-left: 15px; display: inline-block;}
.pagination span.current{ position: relative;}
.pagination span.current:after { content: ""; width: 100%; height: 1px; background: #4F5342; position: absolute; bottom: 0; left: 0;}
.pagination a.inactive{}
@media screen and (max-width: 800px){
    .paginationwrap{ margin-top: 50px;}
}   

.workspostwrap{ padding: 80px 0 150px;}
.worksttlwrap { margin-bottom: 60px; padding: 50px 0; border-top: 1px solid #4F5342; border-bottom: 1px solid #4F5342;}
.worksttl { margin-bottom: 20px; line-height: 1.5;}
.worksttlsub {}
.workspostimgwrap {}
.workspostimg-l{ width: calc(830 / 1100 * 100%); }
.workspostimg-r{ width: calc(210 / 1100 * 100%); }
.workspostimg-rul{ margin-bottom: -10px;}
.workspostimg-rul li{ margin-bottom: 10px; width: calc(50% - 5px); }

.works-d-frame { }
#MainPhoto{ margin-bottom: 30px; position: relative;}
#MainPhoto:before { content:""; display: block; padding-top: calc(913 / 1369 * 100%);}
#MainPhoto div { position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: #FBFAF4; }
#MainPhoto div img { height: 100%; width: auto; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); /* Safari用 */ transform: translate(-50%, -50%); }
#MainPhoto .slick-arrow{ width: 18px; height: 32px; position: absolute; top: calc(505 - 16px); }
#MainPhoto .slick-arrow:before { display: none;}
#MainPhoto .slick-next { right: -50px; background: url(../images/common/arrow-next.png) no-repeat center; background-size: cover;}
#MainPhoto .slick-prev{ left: -50px; background: url(../images/common/arrow-prev.png) no-repeat center; background-size: cover;}
@media screen and (max-width: 900px){
    #MainPhoto .slick-next { right: -30px;}
    #MainPhoto .slick-prev{ left: -30px;} 
}   
    
.works-d-frame-r{ margin-left: -15px; margin-bottom: -15px; }
.w-d-box { margin-bottom: 15px; width: calc(10% - 15px); margin-left: 15px; position: relative; overflow: hidden; float: left; }
.w-d-box:after { content: ""; display: block; padding-top: calc(80 / 130 * 100%); }
.w-d-box div { position: absolute; display: block; top: 0; left: 0; bottom: 0; right: 0; overflow: hidden;  }
.w-d-box div img { display: block; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); /* Safari用 */ transform: translate(-50%, -50%); }
@media screen and (max-width: 800px){
    .workspostwrap{ padding: 40px 0 75px; }
    .worksttlwrap { margin-bottom: 30px; padding: 25px 0; }
    .worksttl { margin-bottom: 10px; }
    .w-d-box { width: calc(20% - 15px); }
}

.workspostwrap .inner750max{}
.workspostwrap .inner750max h3{ padding-left: 1em; position: relative; font-size: calc(18em / 15); font-family: 'Noto Serif JP', serif;}
.workspostwrap .inner750max h3:after { content: "-"; position: absolute; top: 0; left: 0;}
.workspostwrap .inner750max p{ margin-bottom: 30px;}
.newsmapwrap{ position: relative; width: 100%; }
.newsmapwrap:after { content:""; display: block; padding-top: calc(360 / 750 * 100%);}
.newsmapwrap > div { position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
.newsmapwrap iframe{ width: 100%; height: 100%; }
.newsbtnwrap { margin-top: 40px; }
.newscontactwrap { padding: 40px 0; border-top: 1px solid #4F5342;border-bottom: 1px solid #4F5342; margin-top: 60px;}
.newscontactmid { margin-bottom: 30px;}
a.newscontacttel { font-weight: 300; line-height: 1;}
a.newscontacttel span { font-size: 0.8em;}
a.newscontactbtn { margin-left: 40px; width: 260px; height: 60px; border-radius: 5px; }
@media screen and (max-width: 800px){
    .workspostwrap .inner750max p{ margin-bottom: 20px;}
    .newsbtnwrap { margin-top: 20px; }
    .newscontactwrap { padding: 30px 0;margin-top: 30px; }
    .newscontactmid { margin-bottom: 30px;}
    a.newscontacttel { width: 100%; text-align: center;}
    a.newscontactbtn { margin-left: 0;height: 50px; margin-top: 20px;}
}


/* blog
==========================================================*/

.bloglistwrap{ padding: 100px 0 150px;}
.bloglistul{ border-top: 1px solid #4F5342;}
.bloglistul li{border-bottom: 1px solid #4F5342;}
.bloglistul li a { padding: 40px 0;  }
.bloglistimg{ width: 225px;}
.bloglist-r{ width: calc(100% - 225px - 80px); margin-left: 40px;}
.bloglistttl{ margin-bottom: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.bloglisttxt {  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bloglistdate{ margin-top: 10px;}
.blogcommonwrap{ padding-top: 60px; margin-top: 60px; border-top: 1px solid #4F5342;}
@media screen and (max-width: 800px){
    .bloglistwrap{ padding: 50px 0 75px;}
    .bloglistul li a { padding: 30px 0;  }
    .bloglistimg{ width: 160px;}
    .bloglist-r{ width: calc(100% - 180px - 20px); margin-left: 20px;}
    .blogcommonwrap{ padding-top: 30px; margin-top: 30px;}
}




/* company
==========================================================*/

.compapnywrap{ padding: 100px 0 150px; }
.compapnydl{ border-top: 1px solid #4F5342;}
.compapnydl dt,
.compapnydl dd{ padding: 40px 0; border-bottom: 1px dotted #4F5342;}
.compapnydl dt:nth-last-child(2),
.compapnydl dd:last-child{ border-bottom: none;}
.compapnydl dt{ width: 120px;}
.compapnydl dd{ width: calc(100% - 120px); }
.shinwabtn { width: 50%; padding: 20px 0; margin-top: 20px; display: flex; justify-content: center; align-items: center; background: #E9F4F6;}
.shinwabtn p { width: 60px;}
.mapwrap{ padding-bottom: 40px; border-bottom: 1px solid #4F5342; }
.mapwrap iframe{ width: 100%; height: 290px;}
@media screen and (max-width: 800px){
    .compapnywrap{ padding: 50px 0 75px; }
    .compapnydl dt { padding: 20px 0 0; width: 100%; border: none; }
    .compapnydl dd{ padding: 0 0 20px; width: 100%; }
    .mapwrap{ padding-bottom: 20px;}
    .mapwrap iframe{ width: 100%; height: 50vw;}
}



/* reservation
==========================================================*/

.benewrap{ padding: 80px 0 100px;}
.beneul{ margin-bottom: 80px;}
.beneul li{ width: 350px; border-left: 1px dotted #A7A9A0; flex-direction: column;}
.beneul.col1 { margin-bottom: 0 !important; }
.beneul.col1 li { width: 100%;}
.beneul li:first-child { border: none; }
.beneulmid{ margin-bottom: 30px; width: 70px; height: 40px; font-weight: bold; line-height: 1; position: relative;}
.beneulmid:after { top: 100%; left: calc(50% - 4px); position: absolute; content: ""; width: 0; height: 0; border-style: solid; border-width: 4px 4px 0 4px; border-color: #EB6A31 transparent transparent transparent; }
.beneulimg{ margin-bottom: 20px; width: 55px;}
.beneulmid{}
.beneultxt{ line-height: 1.5;}
.beneulsub { margin-top: 10px; }
.benetel{ padding: 0 50px; height: 100px;}
.benetel p { line-height: 70px; }
.benetel p:nth-child(1){}
.benetel p:nth-child(2){ padding-left: 40px; margin-left: 40px; border-left: 1px dotted #4F5342; font-weight: 300;}
.benetel p:nth-child(2) span{ font-size: 0.8em;}
@media screen and (max-width: 1150px){
    .beneul li{ width: 280px;}
    .beneultxt{font-size: calc(20em / 15);}
}
@media screen and (max-width: 1000px){
    .beneul li{ width: 250px;} 
}  
@media screen and (max-width: 800px){
    .benewrap{ padding: 40px 0 60px;}
    .beneul{ margin-bottom: 40px;}
    .beneul li{ width: calc(100% / 3);}
    .beneulmid{ margin-bottom: 20px; width: 60px; height: 30px;}
    .beneulimg{ margin-bottom: 10px; width: 45px;}
    .beneulmid{}
    .beneultxt{ font-size: calc(20em / 15);}
    .beneulsub { margin-top: 10px; letter-spacing: 0; }
    .benetel{ padding: 0 25px; height: 70px;}
    .benetel p { line-height: 40px; }
    .benetel p:nth-child(1){ font-size: 13px;}
    .benetel p:nth-child(2){ font-size: 30px; padding-left: 20px; margin-left: 20px;}
}
@media screen and (max-width: 500px){
    .beneulimg{ width: 35px;}
    .beneultxt{font-size: 13px;}
    .benetel{ padding: 25px 0 20px; height: auto; flex-direction: column;}
    .benetel p { line-height: 1; }
    .benetel p:nth-child(1){ margin-bottom: 15px; font-size: 13px;}
    .benetel p:nth-child(2){ font-size: 30px; padding-left: 0; margin-left: 0; border: none;}
}

.reserve01wrap{ padding: 50px 0;}
.quomidwrap{}
.quowrap .quomidwrap{ width: 100%;}
.quomid{ padding: 20px 20px 10px; margin-bottom: 20px; line-height: 1.6; background: #FFB90D; width: 100%; }
.quomid:after { top: 100%; left: calc(50% - 5px); width: 0; height: 0; border-style: solid;border-width: 5px 5px 0 5px;border-color: #FFB90D transparent transparent transparent;}
.quomid p{}
.quomid p:nth-child(2){ font-weight: bold;}
.quomid p span{ font-size: 1.5em;}

.reservewrap{ padding: 100px 0 150px;}
.reservewrap .inner650{}
.midwrap{ text-align: center;}
.miden{ margin-bottom: 30px; line-height: 1;}
.midjp{ line-height: 1;}
@media screen and (max-width: 800px){
    .reservewrap{ padding: 50px 0 75px;}
    .miden{ font-size: calc(60em / 15); margin-bottom: 20px;} 
}  
    
.contactformmid { padding-bottom: 20px; margin-top: 50px; border-bottom: 1px solid #4F5342; }
.contactformmid span { color: #EB6A31; }
input[type="submit"] { -webkit-appearance: none; border-radius: 0; }
.contactform{ margin-top: 20px;}
.contactdl{}
.contactdl dt,
.contactdl dd { padding: 20px 0; border-bottom: 1px dotted #D2D3CB;}
.contactdl dt:nth-last-child(2),
.contactdl dd:last-child { padding-bottom: 40px; border: none;}
.contactdl dt{ width: 170px;}
.contactdl dt span { padding-left: 10px; display: inline-block; color: #EB6A31; }
.contactdl dd{  width: calc(100% - 170px); }
.contactdl dd .fs12 { margin-top: 5px;}
.contactdl dd input,
#contactdl02 input{ height: 40px; padding: 10px; background: #fff; border: none; width: 100%;}
.contactdl dd input.w50 { width: 50%;}
::placeholder { color: #ccc;}
.contactdl dd textarea { height: 240px; border: none; width: 100%; padding: 10px;}
.radioul,
.checkul{ margin-bottom: -15px; margin-right: 20px; }
.radioul li { margin-bottom: 15px; position: relative; display: flex; align-items: center; }
.radioul li label { width: 100%; line-height: 1.2; box-sizing: border-box; display: block;}
.error_box { padding: 30px; margin-bottom: 30px; line-height: 2; display: none; color: #f00; border: 1px solid #f00;}
.checkboxwrap { margin: 40px 0; padding: 25px 10px;}
.submitwrap { text-align: center;}
input[type="submit"] { -webkit-appearance: none; border-radius: 0; }
.submitbtn { width: 250px; height: 60px; line-height: 60px; cursor: pointer; display: inline-block font-weight: bold; border: none; text-align: center; font-weight: bold; border-radius: 5px;} 
@media screen and (max-width: 800px){
    .contactformmid { padding-bottom: 10px; margin-top: 40px; }
    .contactform{ margin-top: 10px;}
    .contactdl{ display: block;}
    .contactdl dt { border-bottom: none; padding-bottom: 0;}
    .contactdl dt br { display: none;}
    .contactdl dd { padding: 10px 0 20px;}
    .contactdl dt:nth-last-child(2){ padding-bottom: 10px; border-bottom: none; }
    .contactdl dd:last-child { padding-bottom: 30px; }
    .contactdl dt{ width: 100%;}
    .contactdl dd{  width: 100%; }
}
     
/* ラジオボタン03 */
input[type=radio],
input[type=checkbox]{ display: none; }
.radio03 { padding-left: 25px; box-sizing: border-box; cursor: pointer; display: inline-block; position: relative; width: auto; }
.radio03::before {width: 20px; height:20px; border: 1px solid #4F5342; left: 0; background: #fff; border-radius: 50%;content: '';display: block; position: absolute; top: calc(50% - 10px); }
.radio03::after { width: 10px; height: 10px; left: 6px; background: #A7A9A0; border-radius: 50%; content: ''; display: block; opacity: 0; position: absolute; top: calc(50% - 4px); transform: scale3d(.3,.3,1); transition: transform .2s ease-in-out, opacity .2s ease-in-out; }
input[type=radio]:checked + .radio03::after { opacity: 1; transform: scale3d(1,1,1); }

/* チェックボックス03 */
.checkbox03,
.panful li p{ padding-left: 30px; box-sizing: border-box; cursor: pointer; display: inline-block; position: relative; width: auto; }
.checkbox03::before { background: #fff; border: 1px solid #4F5342; content: ''; display: block; height: 20px; left: 0; position: absolute; top: calc(50% - 10px); width: 20px; }
.checkbox03::after { border-right: 3px solid #4F5342; border-bottom: 3px solid #4F5342; content: ''; display: block; height: 9px; left: 7px; margin-top: -3px; opacity: 0; position: absolute; top: calc(50% - 3.5px); transform: rotate(45deg); width: 5px; transition: transform .2s ease-in-out, opacity .2s ease-in-out; }
input[type=checkbox]:checked + .checkbox03::before { border-color: #666; }
input[type=checkbox]:checked + .checkbox03::after { opacity: 1; transform: rotate(45deg) scale3d(1,1,1); }

/* セレクトボックス */
.selectwrap { overflow: hidden; width: 100px; height: 40px; margin: 0 !important; }
.selectwrap select { width: 100%; padding-right: 1em; cursor: pointer; text-indent: 0.01px; text-overflow: ellipsis; border: none;outline: none;background: transparent;background-image: none;box-shadow: none;-webkit-appearance: none;appearance: none; }
.selectwrap select::-ms-expand { display: none; }
.selectwrap { position: relative;background: #fff; }
.selectwrap:after { right: 10px; top: calc(50% - 2px);width: 4px;height: 4px;border-bottom: 1px solid #7a0;border-right: 1px solid #7a0;-webkit-transform: rotate(45deg); transform: rotate(45deg);}
.selectwrap select { width: 100%; height: 100%; padding: 0 5px; }

.radioquo{ width: calc(50% - 5px); padding: 20px; text-align: center; cursor: pointer; background: #fff; border-radius: 3px; border: 1px solid #4F5342; }
.radioquo:hover { opacity: 0.6 }
input[type=checkbox]:checked + .radioquo { background: #4F5342; color: #fff;}
input[type=checkbox]:checked + .radioquo:hover {opacity: 1 }
#contactdl02{ margin-top: 20px; display: none; width: 100%;}
#anke:checked ~ #contactdl02 {display: block;}
.quobikou { padding: 15px; margin-bottom: 20px;}
#contactdl02 dt{ font-size: 1.2em; margin-bottom: 15px;}
#contactdl02 dd{ padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px dotted #D2D3CB;}
#contactdl02 dd div { margin-bottom: 10px;}

.radioul.flex,
.checkul.flex{ margin-left: -20px; margin-bottom: -10px;}
.radioul.flex li,
.checkul.flex li{ margin-left: 20px; margin-bottom: 10px; }
#contactdl02 textarea {height: 200px; border: none; width: 100%; padding: 10px;}
.w100 { width: 100%;}
#contactdl02 input{ width: auto;}
#contactdl02 .inputmin { width: 100px;}
@media screen and (max-width: 650px){ 
    #contactdl02 input{ width:100%;}
    #contactdl02 .inputmin { width: 100px;}
}
@media screen and (max-width: 400px){ 
    #contactdl02 .pr20 { width: 100%;}
}


.panful { margin-left: -10px; }
.panful li { margin-left: 10px; }
.panful .checkbox03 { padding-left: 0;}
.panful .checkbox03::before {  top: calc(100% - (2em * 1.4));  }
.panful .checkbox03::after { top: calc(100% - (2em * 1.4) + 7px);  }
.panful li div { margin-bottom: 15px; }
.panful li p { line-height: 1.4; height: calc(2em * 1.4);}

.thankswrap { padding: 100px 0 150px; text-align: center;}
.thanksmid { margin-bottom: 40px;}
.thankstxt { line-height: 2.4; margin-bottom: 20px;}




/* corona
==========================================================*/

.coronawrap{ padding: 80px 0 150px;}
.coronamid{ padding: 60px 0; text-align: center; }
.coronadl{ margin-bottom: 60px; border-top: 1px solid #4F5342;}
.coronadl > dt{ padding: 50px 0 30px;}
.coronadl > dd{ padding-bottom: 60px; border-bottom: 1px solid #4F5342;}
.colonalistul{}
.colonalistul li{ padding-left: 1em; position: relative;}
.colonalistul li:after { content: "・"; position: absolute; top: 0; left: 0;}
.coronaindl{}
.coronaindt{ margin-bottom: 10px; padding: 2px 15px; display: inline-block; background: #A3D4CE;}
.coronaindl > dd{ margin-bottom: 40px;}
.coronaillul { margin-left: -10px; margin-bottom: -10px;}
.coronaillul li { height: 120px; margin-left: 10px; margin-bottom: 10px; border: 5px solid #F1F9F8; }
.coronaillul.flex{}
.coronaillul.flex li{ height: 150px; width: calc(50% - 10px); }
.coronaill{ width: 73px; margin-left: 20px; margin-right: 30px;}
.coronaillul li p { line-height: 1.5;}
.coronaillul li p span { font-size: 0.8em;}

@media screen and (max-width: 800px){
.coronawrap{ padding: 40px 0 75px;}
    .coronamid{ padding: 30px 0; }
    .coronadl{ margin-bottom: 30px;}
    .coronadl > dt{ padding: 25px 0 15px;}
    .coronadl > dd{ padding-bottom: 30px;}
    .coronaindl > dd{ margin-bottom: 20px;}
    .coronaillul li { height: 100px; }
    .coronaillul.flex li{ height: 120px; width: calc(50% - 10px); }
    .coronaill{ width: 50px; margin-left: 10px; margin-right: 15px;}
    .coronaillul li p { width: calc(100% - 50px - 10px - 15px - 10px);}
    .coronaillul li p br { display: none;}
}
@media screen and (max-width: 550px){ 
    .coronaillul.flex li{ height: 100px; width: 100%; }

}




/* about
==========================================================*/

.aboutwide01{}
.aboutconwrap{ padding: 120px 0 150px;}
.aboutcomul{ margin-bottom: -50px;}
.aboutcomul li{ margin-bottom: 50px;}
.aboutconimg{ width: 220px; top: 0; left: -50px; position: absolute;}
.show-900 { display: none;}
@media screen and (max-width: 1200px){
    .aboutconimg{ width: 160px; left: -40px;}
}
@media screen and (max-width: 900px){
    .show-900 { display: block;}
} 
@media screen and (max-width: 800px){
    .aboutconwrap{ padding: 60px 0 75px;}
    .aboutcomul{ margin-bottom: -25px;}
    .aboutcomul li{ margin-bottom: 25px;}
    .aboutconimg{ margin: 75px auto 0; left: 0; position: inherit;}
    .show-900 { display: none;}
} 


.about01wrap{ padding: 100px 0;}
.about01wrap .inner1100{}
.about01ul{ margin-left: -100px; margin-bottom: -80px; }
.about01ul li{ width: calc(100% / 3 - 100px); margin-left: 100px; margin-bottom: 80px;}
.about01img{ margin-bottom: 10px; }
@media screen and (max-width: 1240px){
    .about01ul{ margin-left: -60px; margin-bottom: -40px; }
    .about01ul li{ width: calc(100% / 3 - 60px); margin-left: 60px; margin-bottom: 40px;}
}
@media screen and (max-width: 800px){
    .about01wrap{ padding: 50px 0;}
    .about01ul{ margin-left: -20px; margin-bottom: -20px; }
    .about01ul li{ width: calc(100% / 3 - 20px); margin-left: 20px; margin-bottom: 20px;}
}
@media screen and (max-width: 500px){
    .about01ul li{ width: calc(100% / 2 - 20px); }
}

.aboutpricewrap{ padding: 100px 0;}
.aboutpricewrap .inner900{}
.aboutpriceul{ margin-bottom: 50px;}
.aboutpriceul li{ width: 150px;}
.aboutpriceul li a{}
.aboutpricetxt{ padding: 20px}
.about02img{ margin-bottom: 15px;}
@media screen and (max-width: 800px){
    .aboutpricewrap{ padding: 50px 0;}
    .aboutpriceul{ max-width: 350px; width: 100%; margin: 0 auto 20px;}
    .aboutpriceul li{ max-width: 150px; width: calc(50% - 10px); margin-bottom: 30px;}
}




