@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap');
@import url('./custom/margin.css');
@import url('./custom/padding.css');
@import url('./custom/width.css');

/*------------------------------------------------------------------------------------------------------------------
　base style
-------------------------------------------------------------------------------------------------------------------*/
html,body{
    height: 100%;
}

body {	
	color:#272727;
	font-size:16px;
	margin:0;
	height:100%;
	position:relative;
	font-family: 'Noto Sans JP', "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 300;
	line-height:1.6;
    letter-spacing: 0.05em;
}
_::-webkit-full-page-media, _:future, :root body {
    letter-spacing: normal !important;
}

@media screen and (max-width:640px) {
    body {	
        font-size:20px;
    }
}

strong { font-weight:900; }

a {color:#00719f; text-decoration:none; }
a:visited {color:#00719f; text-decoration:underline;}
a:hover { color:#E98718; text-decoration:underline; }

img{
	width: 100%;
	height: auto;
}

p { margin-top: 0; }

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}


/*------------------------------------------------------------------------------------------------------------------
　Expression
-------------------------------------------------------------------------------------------------------------------*/

.fr,.right{ float:right;}
.fl,.left { float:left;}
.cl:after,
.clear:after {
  content:"";
  display:block;
  height:0;
  clear:both;
}

/* rollover */
.ro {
	transition: 0.3s all;
}
.ro:hover {
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}
.btn {
    color: #fff;
    background-color: #008ece;
    font-weight: 700;
    text-decoration: none;
    transition: 0.3s;
}
.btn:hover {
    background-color: #199EDB;
}


/* pcsp切り替え */
.pc { display:inherit; }
.sp { display:none; }

@media screen and (max-width:640px) {
	.pc { display:none; }
	.sp { display:inherit; }
}

.txtNone {
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
}



/*------------------------------------------------------------------------------------------------------------------
　Float Image
-------------------------------------------------------------------------------------------------------------------*/

.photo-l {
	float:left;
	margin-right:20px;
	margin-bottom:20px;
}

.photo-r {
	float:right;
	margin-left:20px;
	margin-bottom:20px;
}

.photo-c {
	text-align:center;
	margin: 0 auto;
}


/*------------------------------------------------------------------------------------------------------------------
　Primary
-------------------------------------------------------------------------------------------------------------------*/

.wrapper {
	width:100%;
    height: auto;
    min-height: 100%;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
    position: relative;
}

.inner {
	width: 1200px;
	margin-left:auto;
	margin-right:auto;
}

@media screen and (max-width:1280px) {
	.inner {
        width: calc(100% - 80px);
		margin-left:40px;
		margin-right:40px;
	}
}


/*------------------------------------------------------------------------------------------------------------------
　header
-------------------------------------------------------------------------------------------------------------------*/

header {
    width:100%;
    height: 100px;
    background-color: #fff;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

header h1 {
    float: left;
    width:250px;
    height:250px;
    margin: 0;
    background-color: #fff;
}
header h1 a {
    display: block;
    width:171px;
    height:163px;
    background-image:url(../image/header/logo.png);
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    margin: 43px auto;
}

/* hd_nav */
#glNav {
    float: right;
    margin-top: 26px;
    margin-right: 20px;
    line-height: 1;
}

.menu {
    position: relative;
    margin: 0 auto;
    display: inline-flex;
    align-items:center;
}

.menu > li {
    list-style: none;
    cursor:pointer;
    margin-right: 2.5em;
    font-size: 112.5%;
    font-weight: bold;
}

.menu > li a {
    display: inline-block;
    padding:　0 1em;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    color: #1b1b1b;
    white-space: nowrap;
    transition: 0.2s;
}

.menu li:last-child {
    margin-right: 0;
    padding-right: 0;
    border-right: 0;
}

.menu > li a:hover,
.menu > li.active a {
    color: #00719f;
}

.menu > li i {
    color: #00719f;
    margin-right: 0.75em;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 4;
}

ul.menu__third-level {
    visibility: hidden;
    opacity: 0;
}

ul.menu__fourth-level {
    visibility: hidden;
    opacity: 0;
}

.menu > li:hover {
    color: #00736d;
    -webkit-transition: all .5s;
    transition: all .5s;
}

.menu__second-level li {
    list-style-type: none;
}

.menu__second-level li a {
    color: #fff !important;
    padding: 0.75em 1em;
    background: #00736d;
}

.menu__second-level li.active a {
    background: #07908B;
}

.menu__second-level li:first-child a {
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}

.menu__second-level li:last-child a {
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
}

.menu__second-level li a:hover {
    color: #fff;
    background: #07908B;
}

/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}

.menu > li.menu__single {
    position: relative;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    top: 30px;
    margin-left: -1em;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__single ul.menu__second-level::before {
	content: "";
	position: absolute;
	top: -20px;
	left: 50%;
 	margin-left: -10px;
	border: 10px solid transparent;
	border-bottom: 10px solid #00719f;
}

li.menu__single:hover ul.menu__second-level {
    top: 40px;
    visibility: visible;
    opacity: 1;
}

.menu li.contactbtn a {
    color: #fff;
    width: 200px;
    height: 46px;
    line-height: 46px;
    border-radius: 23px;
    text-align: center;    
}

@media screen and (max-width:1650px) {
    header h1 {
        width:200px;
        height:200px;
        margin: 0;
        background-color: #fff;
    }
    header h1 a {
		width: 140px;
		height: 133px;
        margin: 30px auto;
    }
}

@media screen and (max-width:1200px) {
    header h1 {
		position: absolute;
        width:150px;
        height:150px;
        margin: 0;
        background-color: #fff;
    }
    header h1 a {
        width:120px;
        height:114px;
        margin: 15px auto;
    }
    
    .menu > li {
        margin-right: 1.5em;
    }    
}

@media screen and (max-width:960px) {
    .menu {
        display: none;
    }
}

/*-----------------------------------------------------------------------------------
  SPnav
-----------------------------------------------------------------------------------*/

html.openNav_on { overflow-y:hidden; }

#openNav-warp {
  width:70px;
  height:70px;
  position:fixed;
  top:-70px;
  right:-70px;
  z-index:100;
  overflow:hidden;
}

#openNav-warp.on {
  width:100%;
  height:100%;
  top:0;
  right:0;
  overflow-y:auto;
  background-color:#fff;
}

.lte-ie8 #openNav-warp {
  display:none !important;
}
.lte-ie8 #openNav-warp.on { min-width:1200px; }


@media screen and (min-width:1141px) {
  #openNav-warp.on {
    min-width:1100px;
  }
}

@media screen and (max-width:1150px) {
  #openNav-warp {
    width:90px;
    height:90px;
    top:-90px;
    right:-90px;
  }
}

#openNav_sw {
  width:100%;
  height:100vh;
  filter:alpha(opacity=0);
  opacity:0;
  -moz-opacity:0;
  transition:opacity 0.2s ease;
}

#openNav-warp.on #openNav_sw {
  filter:alpha(opacity=100);
  opacity:1;
  -moz-opacity:1;
}

#openNav {
  width:100%;
  height:100%;
  display:table;
  background-color:#008ece;
}

#openNav:before {
  content:"";
  width:40%;
  display:table-cell;
	/*
  background:url(../image/openNav_photo.jpg) no-repeat center center;
  background-size:cover;
	*/
}

#openNav nav {
  width:60%;
  display:table-cell;
  box-sizing:border-box;
  padding:50px;
  text-align:left;
}

#openNav a,
#openNav a:visited { color:#fff; text-decoration:none; }

@media screen and (min-width:1141px) {
  #openNav a:hover { color:#191919; text-decoration:underline; }

  #openNav a { transition:opacity 0.1s ease; }
  #openNav a:hover {
    filter:alpha(opacity=60);
    opacity:0.6;
    -moz-opacity:0.6;
  }
  
  #openNav nav ul {
    max-width:1000px;
  }
}

#openNav nav > ul.mnav {
  list-style:none;
  margin-left:-50px;
}

#openNav nav > ul.mnav > li {
  width:33.333333%;
  float:left;
  padding-left:50px;
  box-sizing:border-box;
}

#openNav nav > ul.mnav > li > a {
  display:inline-block;
  font-size:125.0%;
  font-weight:bold;
  padding-top:1.5em;
}

@media screen and (min-width:1141px) {
  #openNav nav > ul.mnav > li ul.child {
    display:block !important;
  }

  #openNav nav > ul.mnav > li.parent > a {
    pointer-events:none;
    cursor:default;
  }
}

#openNav nav > ul.mnav > li ul {
  padding-left:14px;
  list-style:none;
  font-size:93.8%;
}

#openNav nav > ul.mnav > li ul li { line-height:1.4; }

#openNav nav > ul.mnav > li ul li a {
  position:relative;
  display:inline-block;
  padding-top:0.25em;
}

#openNav nav > ul.mnav > li ul li a:before {
  content:"";
  width:6px;
  height:1px;
  background-color:#fff;
  position:absolute;
  left:-12px;
  top:1.25em;
}

#openNav nav ul.snav {
  list-style:none;
  padding-top:1.25em;
}

#openNav nav ul.snav li {
  padding-top:0.25em;
}

@media screen and (max-width:1150px) {
  #openNav:before { display:none; }
  
    #openNav .estbtn {
        width:100%;
        padding:120px 1.5rem 0;
        font-size:120%;
        box-sizing: border-box;
        display: flex;
        justify-content: space-between;
    }

    #openNav .estbtn .fav {
        display: inline-block;
        width: calc(50% - 15px);
        box-sizing: border-box;
        padding: 1em;
        background-color: #f94c24;
        text-align: center;
        color: #fff !important;
        text-decoration: none !important;
        font-weight: 700;
        border-bottom: 4px solid #D43915;
    }
    #openNav .estbtn .fav:hover {
        background-color: #F56E4E;
    }
    #openNav .estbtn .fav:active {
        border-bottom: 1px solid #D43915;
    }
    #openNav .estbtn .fav i {
        display: inline-block;
        width: 25px;
        height: 22px;
        background-image: url("../image/icon/ic_fav.png");
        background-size: contain;
        margin-right: 0.5em;
    }

    #openNav .estbtn .saw {
        display: inline-block;
        width: calc(50% - 15px);
        box-sizing: border-box;
        padding: 1em;
        background-color: #f9892e;
        text-align: center;
        color: #fff !important;
        text-decoration: none !important;
        font-weight: 700;
        border-bottom: 4px solid #C46415;
    }
    #openNav .estbtn .saw:hover {
        background-color: #FFA054;
    }
    #openNav .estbtn .fav:active {
        border-bottom: 1px solid #C46415;
    }
    #openNav .estbtn .saw i {
        display: inline-block;
        width: 25px;
        height: 21px;
        background-image: url("../image/icon/ic_check.png");
        background-size: contain;
        margin-right: 0.5em;
    }
    
    
  #openNav nav {
    width:100%;
    padding: 1rem 1.5rem 2rem;
    font-size:120%;
    display: block;
  }
  
  #openNav nav > ul.mnav > li {
    width:100%;
  }
  
  #openNav nav > ul.mnav > li > a {
    border-bottom:1px solid rgba(255,255,255,0.2);
    padding:0.75rem;
    display:block;
    font-size:118.8%;
    font-weight:normal;
      transition: 0.2s;
  }
  
  #openNav nav > ul.mnav > li:first-child a {
    border-top:1px solid rgba(255,255,255,0.2);
  }
  
  #openNav nav > ul.mnav > li.active > a,
  #openNav nav > ul.mnav > li > a:hover {
    background-color:rgba(255,255,255,0.2);
  }
  
  
  #openNav nav > ul.mnav > li.parent > a {
    position:relative;
    pointer-events:inherit;
    cursor:pointer;
  }
  
  #openNav nav > ul.mnav > li.parent > a:after {
    content:"";
    width:0;
    height:0;
    position:absolute;
    right:0.75rem;
    top:50%;
    margin-top:-4px;
    border-left:8px solid transparent;
    border-right:8px solid transparent;
    border-top:9px solid #fff;
  }
  
  #openNav nav > ul.mnav > li.parent a.active:after {
    margin-top:-4px;
    border-left:8px solid transparent;
    border-right:8px solid transparent;
    border-bottom:9px solid #fff;
    border-top:0;
  }
  
  #openNav nav > ul.mnav > li ul {
    font-size:100%;
  }
  
  #openNav nav > ul.mnav > li ul.child {
    display:none;
    padding-left:2.65rem;
    padding-top:1rem;
    padding-bottom:1rem;
  }
  
  #openNav nav > ul.mnav > li ul.child li a { display:block; padding-top:0.5rem; padding-bottom:0.5rem; }
  #openNav nav > ul.mnav > li ul.child li a:before { top:1.35em; }
  
  #openNav nav ul.snav { padding-top:1.5rem; }
	
  #openNav nav a.sublink {
	  font-size: 87.5%;
	  display: block;
	  margin: 1.5em 0;
  }
  
}


/* language ----------------------------------------*/

.nav_lang { display:none; }

@media screen and (max-width:1150px) {
  .nav_lang,
  .nav_lang li { display:inline-block; }
  
  .nav_lang { margin-bottom:2.5rem; color:#fff; letter-spacing:-0.5em; white-space:nowrap; }
  .nav_lang li { cursor:pointer; letter-spacing:normal; margin-right:0.5rem; }
  
  .nav_lang li a { display:block; padding:0.25em 0.5em; }
  
  .nav_lang li a,
  .nav_lang li a:visited,
  .nav_lang li a:hover { border:1px solid #fff; color:#fff !important; text-decoration:none; }
  
  .nav_lang li.active a,
  .nav_lang li.active a:visited,
  .nav_lang li.active a:hover { background-color:#fff; border-color:#fff; color:#00736d !important; }
}


/* ボタン ----------------------------------------*/

#openNav_btn {
  display: none;
  cursor:pointer;
  width:100px;
  height:100px;
  position:fixed;
  right:0;
  top:-70px;
  text-align:center;
  color:#fff;
  background-color:#008ece;
  z-index:101;
  -webkit-transition:top ease 0.2s;
  -moz-transition:top ease 0.2s;
  -ms-transition:top ease 0.2s;
  -o-transition:top ease 0.2s;
  transition:top ease 0.2s;
}

#openNav_btn:hover {
  background-color:#199EDB;
}

.preload #openNav_btn {
  -webkit-transition:none !important;
  -moz-transition:none !important;
  -ms-transition:none !important;
  -o-transition:none !important;
  transition:none !important;
}

#openNav_btn.fixed { top:0; }
#openNav-warp.on #openNav_btn { position:absolute; }

.lte-ie8 #openNav_btn {
  display:none !important;
}

@media screen and (max-width:960px) {
  #openNav_btn {
    display: block;
    top:0 !important;
    width:100px;
    height:100px;
  }

  #openNav_btn {
    -webkit-transition:none !important;
    -moz-transition:none !important;
    -ms-transition:none !important;
    -o-transition:none !important;
    transition:none !important;
  }
}

.openNav_btn_ic,
.openNav_btn_ic span,
.openNav_btn_ic span:before,
.openNav_btn_ic span:after {
  display:inline-block;
  transition:transform .4s, opacity .4s;
  box-sizing:border-box;
}
.openNav_btn_ic {
  position:relative;
  width:46px;
  height:40px;
  margin-top:30px;
}
  
.openNav_btn_ic span,
.openNav_btn_ic span:nth-of-type(2),
.openNav_btn_ic span:nth-of-type(3) {
  position:absolute;
  left:0;
  width:100%;
  height:2px;
  background-color:#fff;
}
.openNav_btn_ic span:nth-of-type(1) {
  top:0;
}
.openNav_btn_ic span:nth-of-type(2) {
  top:18px;
}
.openNav_btn_ic span:nth-of-type(3) {
  bottom:0;
}
  
#openNav_btn.close .openNav_btn_ic span:nth-of-type(1) {
  -webkit-transform:translateY(20px) rotate(-315deg);
  transform:translateY(20px) rotate(-315deg);
}
#openNav_btn.close .openNav_btn_ic span:nth-of-type(2) {
  opacity:0;
}
#openNav_btn.close .openNav_btn_ic span:nth-of-type(3) {
  -webkit-transform:translateY(-20px) rotate(315deg);
  transform:translateY(-20px) rotate(315deg);
}

.preload .openNav_btn_ic,
.preload .openNav_btn_ic span,
.preload .openNav_btn_ic span:before,
.preload .openNav_btn_ic span:after {
  -webkit-transition:none !important;
  -moz-transition:none !important;
  -ms-transition:none !important;
  -o-transition:none !important;
  transition:none !important;
}

@media print {
  #openNav_btn { display:none !important; }
}


/*------------------------------------------------------------------------------------------------------------------
　footer
-------------------------------------------------------------------------------------------------------------------*/
/* contractee */
#contractee {
    display: flex;
}
#contractee .box01 {
    width: 50%;
    text-align: center;
    background-color: #f0f5f7;
    box-sizing: border-box;
    padding: 60px 0;
}
#contractee .box01 strong {
    display: block;
    font-size: 175%;
    color: #008ece;
    margin-bottom: 1em;
}
#contractee .box01 .btn {
    display: block;
    width: 500px;
    height: 60px;
    line-height: 60px;
    background-color: #008ece;
    color: #fff;
    font-size: 137.5%;    
    font-weight: 700;
    margin: 0 auto;
    text-decoration: none;
    transition: 0.3s;
}
#contractee .box01 .btn:hover {
    opacity: 0.8;
}

#contractee .box02 {
    width: 50%;
    text-align: center;
    background-color: #008ece;
    box-sizing: border-box;
    padding: 60px 0;
}
#contractee .box02 strong {
    display: block;
    font-size: 175%;
    color: #fff;
    margin-bottom: 1em;
}
#contractee .box02 .btn {
    display: block;
    width: 500px;
    height: 60px;
    line-height: 60px;
    background-color: #fff;
    color: #008ece;
    font-size: 137.5%;    
    font-weight: 700;
    margin: 0 auto;
    text-decoration: none;
    transition: 0.3s;
}
#contractee .box02 .btn:hover {
    opacity: 0.8;
}
@media screen and (max-width:1180px) {
    #contractee .box01 strong,
    #contractee .box02 strong {
        font-size: 150%;
    }
    #contractee .box01 .btn,
    #contractee .box02 .btn {
        width: 420px;
        font-size: 125.0%;
    }
}
@media screen and (max-width:960px) {
    #contractee {
        display:block;
    }
    #contractee .box01,
    #contractee .box02 {
        width: 100%;
    }
    #contractee .box01 strong,
    #contractee .box02 strong {
        font-size: 175%;
    }
    #contractee .box01 .btn,
    #contractee .box02 .btn {
        width: 560px;
        font-size: 137.5%;    
    }
}
@media screen and (max-width:640px) {
    #contractee .box01 .btn,
    #contractee .box02 .btn {
        font-size: 125.0%;    
    }
}


/* footer */
footer {
    width: 100%;
}
footer .inner {
    display: flex;
    justify-content:space-between;
    align-items: center;
    padding: 60px 0;
}

footer .comimg {
    display: block;
    width: 250px;
}

footer .comdesc {
    line-height: 1.4;
}
footer .comdesc .logo {
    width: 280px;
    margin-bottom: 16px;
}
footer .comdesc address {
    font-style: normal;
}
footer .comdesc .tel {
    font-size: 100%;
    font-weight: 700;
    border-bottom: 2px solid #008ece;
}
footer .comdesc .tel a {
    font-size: 200.0%;
    color: #008ece;
    margin-left: 0.25em;
    text-decoration: none;
}

footer .calendar {
    width: 560px;
}
footer .calendar .title {
    display: table;
    vertical-align: middle;
    margin-bottom: 1em;
}
footer .calendar .title strong {
    display: table-cell;
    font-size: 150%;
    color: #008ece;
    padding-right: 1em;
    font-weight: 700;
    height: 24px;
    line-height: 24px;
}
footer .calendar .title span {
    display: table-cell;
    padding: 0 0.25em;
    height: 24px;
    line-height: 24px;
}
footer .calendar .title .closebox {
    width: 30px;
    height: 24px;
    box-sizing: border-box;
    background-color: #ffdfdf;
    border:1px solid #888888;
}

footer .calendar .calcont table {
    width:260px;
    text-align: center;
    border: 1px solid #ccc;
    border-collapse:collapse;
}
footer .calendar .calcont table th,
footer .calendar .calcont table td {
    border: 1px solid #ccc;
    padding: 4px 0;
}
footer .calendar .calcont table th {
    background:#efefef;
}
footer .calendar .calcont table td.open {
    background:#ffffff !important;
}
footer .calendar .calcont table td.close {
    background:#ffdfdf !important;
}
footer .calendar .fc-red { color: #ce0013; }
footer .calendar .fc-blue { color: #008ece; }

footer .copyright-wrap  {
    width: 100%;
    padding: 1.5em;
    background-color: #00608b;
    color: #fff;
    box-sizing: border-box;
}
footer .copyright-inner {
    display: flex;
    justify-content: space-between;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
footer .ftnav-wrap {
    width: calc(100% - 240px);
}
footer .ftnav {
    padding-bottom: .5em;
    margin-bottom: 1em;
    border-bottom: 1px solid #fff;
}
footer .ftnav ul {
    margin: .5em 0;
}
footer .ftnav li {
    display: inline-block;
    margin-left: 1.5em;
} 
footer .ftnav li:first-child {
    margin-left: 0;
} 
footer .ftnav a {
    font-weight: 500;
	color: #fff;
}
footer .copyright {
    font-size: 87.5%;
}
@media screen and (max-width:1280px) {
	footer .comdesc .logo {
		width: 260px;
		margin-bottom: 24px;
	}
	footer .comdesc .tel a {
		font-size: 150.0%;
	}
	footer .calendar {
		width: 540px;
	}
	footer .copyinner {
		padding: 0 20px;
	}
}
@media screen and (max-width:1200px) {
    footer .inner {
        display: block;
        width: 620px;
        margin: 0 auto;
    }
    footer .comimg {
        float: left;
    }
    footer .comdesc {
        float: left;
        width: 294px;
        margin-left: 40px;
    }    
    footer .comdesc::after {
        content:"";
        display:block;
        height:0;
        clear:both;
        margin-bottom: 50px;
    }
	footer .comdesc .logo {
		width: 280px;
		margin-bottom: 16px;
	}
	footer .comdesc .tel a {
		font-size: 160.0%;
	}
    footer .calendar {
		width: 586px;
        margin: 0;
    }
    footer .calendar .title {
        width: 400px;
    }
}
@media screen and (max-width:940px) {
    footer .ftnav li {
        display: block;
        margin-left: 0;
    } 
}
@media screen and (max-width:700px) {
    footer .inner {
        width: 586px;
    }
    footer .comdesc::after {
        margin-bottom: 60px;
    }
}
@media screen and (max-width:640px) {
    footer .calendar .title {
        width: 500px;
    }
	footer .comdesc .tel {
		font-size: 80.0%;
		display: inline-block;
	}
    footer .comdesc .tel a {
        font-size: 137.5%;
    }
	footer .copyright .ftnav {
		display: none;
	}
	footer .copyright .fr {
		float: none;
	}
}

.favest {
    position: fixed;
    top:250px;
    right: 0;
    z-index: 99;
    width: 56px;
    padding: 14px;
	line-height: 1.2;
    box-sizing: border-box;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    background-color: #f94c24;
    text-align: center;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    transition: 0.3s;
}
.favest:hover {
    background-color: #F56E4E;
}
.favest i {
    display: inline-block;
    width: 25px;
    height: 22px;
    background-image: url("../image/icon/ic_fav.png");
    background-size: contain;
}

.sawest {
    position: fixed;
    top:450px;
    right: 0;
    z-index: 99;
    width: 56px;
    padding: 14px;
	line-height: 1.2;
    box-sizing: border-box;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    background-color: #f9892e;
    text-align: center;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    transition: 0.3s;
}
.sawest:hover {
    background-color: #FFA054;
}
.sawest i {
    display: inline-block;
    width: 25px;
    height: 21px;
    background-image: url("../image/icon/ic_check.png");
    background-size: contain;
}

@media screen and (max-width:1200px) {
    .favest {
        top:120px;
    }
    .sawest {
        top:330px;
    }
}
@media screen and (max-width:640px) {
    .favest,
    .sawest {
        display: none;
    }
}

.pagetop {
    display: none;
}

/*----------------------------------------------------------------------------
   Home
------------------------------------------------------------------------------*/

/* 共通部分 */
#home h2 {
    position: relative;
    margin: 0 0 1em 0;
    padding: 0;
    font-size: 175.0%;
}
#home h2:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: -moz-linear-gradient(left, #008ece, #00c2ce);
    background: -webkit-linear-gradient(left, #008ece, #00c2ce);
    background: linear-gradient(to right, #008ece, #00c2ce);
}
#home h2 span {
    position: relative;
    padding-right: 0.75em;
    /* background: #fff; */
}

/* start */
#home #start {
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 999;
}

/* mainvisual */
#home #mainvisual {
    position: relative;
    top: -150px;
    z-index: 1;
	min-height: 340px;
}
#home #mainvisual .mvmsg {
    position: absolute;
    left: calc(30% - 260px);
    top: calc(60% - 72px);
    z-index: 99;
    width: 525px;
    height: 143px;
    margin-left: -20px;
}
#home #mainvisual li img {
	min-height: 340px;
}
@media screen and (max-width:1480px) {
    #home #mainvisual .mvmsg {
        top: auto;
        bottom: 70px;
    }
}
@media screen and (max-width:1200px) {
    #home #mainvisual {
        top: 0;
    }
    #home #mainvisual .mvmsg {
        left: 40px;
        width: 394px;
        height: 107px;
        top: calc(50% - 54px);
        bottom: auto;
    }
    #home #mainvisual li img {
        object-fit: cover;
    }
}
/*
@media screen and (max-width:780px) {
    #home #mainvisual {
        width: 100%;
        height: 500px;
    }
    #home #mainvisual li img {
        height: 500px;
        object-fit: cover;
    }
}
*/

.zoom_slider > li[aria-hidden="false"] {
    animation: anime_zoom 4s linear;
}
.zoom_slider > li[aria-hidden="true"] {
    transform: scale(1.2);
}
@keyframes anime_zoom {
    0% {
        transform: scale(1.0);
    }
    100% {
        transform: scale(1.2);
    }
}

#home .contents {
    margin-top: -176px;
}
@media screen and (max-width:1200px) {
	#home .contents {
		margin-top: -10px;
	}
}

/* pickup */
#home #pickup {
    background-color: #f0f5f7;
    position: relative;
    padding: 80px 0;
    background-image: url("../image/home/estpickup_bgimg01.jpg");
    background-position: bottom right;
    background-repeat: no-repeat;
}

#home #pickup h2 span {
    background-color: #f0f5f7
}

#home #pickup #np_pick {
    width: 1200px;
	margin-left:auto;
	margin-right:auto;
    margin-bottom: 60px;
    box-sizing: border-box;
}
#home #pickup #np_pick.notslide {    
	width: 1200px;
	margin-left:auto;
	margin-right:auto;
    box-sizing: border-box;
	overflow: hidden;
}
#home #pickup #np_pick .bx-wrapper {
    position: relative;
}
#home #pickup #np_pick .bx-prev {
    position: absolute;
    top: 0;
    left: -60px;
    width: 31px;
    height: 100%;
    background-image: url("../image/home/estpickup_prev.png");
    background-repeat: no-repeat;
    background-position: center;
    text-indent: 200%;
    overflow: hidden;
    white-space: nowrap;
}
#home #pickup #np_pick .bx-next {
    position: absolute;
    top: 0;
    right: -60px;
    width: 31px;
    height: 100%;
    background-image: url("../image/home/estpickup_next.png");
    background-repeat: no-repeat;
    background-position: center;
    text-indent: 200%;
    overflow: hidden;
    white-space: nowrap;
}
@media screen and (max-width:1340px) {
	#home #pickup #np_pick {
		width: 895px;
	}
	#home #pickup #np_pick .inner {
		width: 100%;
	}
	#home #pickup #np_pick.notslide {    
		width: 895px;
		overflow: inherit;
	}
}
@media screen and (max-width:1280px) {
	#home #pickup #np_pick .inner {
		margin-left:auto;
		margin-right:auto;
	}
}
@media screen and (max-width:1050px) {
	#home #pickup #np_pick,
	#home #pickup #np_pick.notslide {
		width: 590px;
	}
}
@media screen and (max-width:750px) {
	#home #pickup #np_pick,
	#home #pickup #np_pick.notslide {
		width: 510px;
	}
    #home #pickup #np_pick .estlist li {
        width: 245px !important;
        margin-right: 20px;
    }
	#home #pickup #np_pick .bx-prev {
		left: -45px;
	}
	#home #pickup #np_pick .bx-next {
		right: -45px;
	}
}

#home #pickup #p_pick .fl {    
	width: 896px;
    position: relative;
}
#home #pickup #p_pick.notslide .fl {
	overflow: hidden;
}
#home #pickup #p_pick .fr {
    width: 210px;
}
#home #pickup #p_pick .fr .btnlist li {
    padding: 0;
    margin: 0;
    margin-bottom: 16px;
}
#home #pickup #p_pick .fr .btnlist li:last-child {
    margin-bottom: 0;
}
#home #pickup #p_pick .fr .btnlist li a {
    display: block;
	width: 200px;
	height: 100px;
    margin: 0;
    padding: 0;
    transition: 0.3s all;
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
#home #pickup #p_pick .fr .btnlist li:nth-child(1) a { background-image: url("../image/home/estpickup_bnimg01.jpg"); }
#home #pickup #p_pick .fr .btnlist li:nth-child(2) a { background-image: url("../image/home/estpickup_bnimg02.jpg"); }
#home #pickup #p_pick .fr .btnlist li:nth-child(3) a { background-image: url("../image/home/estpickup_bnimg03.jpg"); }
#home #pickup #p_pick .fr .btnlist li a:hover {
    opacity: 0.8;
}
#home #pickup #p_pick .bx-wrapper {
    position: relative;
}
#home #pickup #p_pick .bx-prev {
    position: absolute;
    top: calc(50% - 26px);
    left: -60px;
    width: 31px;
    height: 52px;
    background-image: url("../image/home/estpickup_prev.png");
    background-repeat: no-repeat;
    text-indent: 200%;
    overflow: hidden;
    white-space: nowrap;
}
#home #pickup #p_pick .bx-next {
    position: absolute;
    top: calc(50% - 26px);
    right: -60px;
    width: 31px;
    height: 52px;
    background-image: url("../image/home/estpickup_next.png");
    background-repeat: no-repeat;
    text-indent: 200%;
    overflow: hidden;
    white-space: nowrap;
}
@media screen and (max-width:1800px) {
	#home #pickup {
		padding: 80px 0;
		background-image: url("../image/home/estpickup_bgimg01.jpg");
	}
}
@media screen and (max-width:1340px) {
	#home #pickup #p_pick.notslide .fl {
		overflow: inherit;
	}
	#home #pickup #p_pick .inner {    
        width: 895px;
		margin-left:auto;
		margin-right:auto;
    }
    #home #pickup #p_pick .fl {    
        width: calc(100% - 300px);
    }
}
@media screen and (max-width:1050px) {
	#home #pickup #p_pick .inner {
		width: 590px;
	}
    #home #pickup #p_pick .fl {    
        float: none;
        width: 100%;
        margin-bottom: 40px;
    }
    #home #pickup #p_pick .fr {    
        float: none;
        width: 100%;
    }
    #home #pickup #p_pick .fr .btnlist {
        display: flex;
        justify-content :space-between;
        flex-wrap: wrap;
    }
	#home #pickup #p_pick .fr .btnlist li {
		display: block;
		width: 285px;
		height: 156px;
	}
	#home #pickup #p_pick .fr .btnlist li a {
		width: 285px;
		height: 156px;
	}
	#home #pickup #p_pick .fr .btnlist li:nth-child(1) a { background-image: url("../image/home/estpickup_bnimg01_big.jpg"); }
	#home #pickup #p_pick .fr .btnlist li:nth-child(2) a { background-image: url("../image/home/estpickup_bnimg02_big.jpg"); }
	#home #pickup #p_pick .fr .btnlist li:nth-child(3) a { background-image: url("../image/home/estpickup_bnimg03_big.jpg"); }
}
@media screen and (max-width:750px) {
	#home #pickup #p_pick .inner {
		width: 510px;
	}
    #home #pickup #p_pick .estlist li {
        width: 245px !important;
        margin-right: 20px;
    }
	#home #pickup #p_pick .bx-prev {
		left: -45px;
	}
	#home #pickup #p_pick .bx-next {
		right: -45px;
	}
	#home #pickup #p_pick .fr .btnlist li {
		width: 245px;
		height: 134px;
	}
	#home #pickup #p_pick .fr .btnlist li a {
		width: 245px;
		height: 134px;
	}
}


/* 共通で物件一覧に使うかも */
.estlist li {
    width: 285px !important;
    margin-right: 20px;
}
.estlist li a {
    display: block;
    color: inherit;
    background-color: #fff;
    transition: 0.3s all;
}
.estlist li a:hover {
    text-decoration: none;
    opacity: 0.8;
}
.estlist li .thum-primary {
    position: relative;
    width: 100%;
    height: 215px;
    overflow: hidden;
}
.estlist li .thum-primary img {
    width: 100%;
    height: auto;
    min-height: 215px;
    object-fit: cover;
}
.estlist li .shubetsumei {
    position: absolute;
    bottom: 0;
    left: 0;
    font-weight: 700;
    padding: 0.1em 0.75em;
}
.estlist li .detail {
    padding: 20px;
}
.estlist li .detail .movie {
	display: inline-block;
	color:#ffffff;
	font-weight:700;
	font-size: 87.5%;
	text-align:center;
	background:#FF0000;
	padding:0.25em 0.5em;
	margin: 0 0.5em 0.25em 0;
}
.estlist li .detail .theta {
	display: inline-block;
	color:#ffffff;
	font-weight:700;
	font-size: 87.5%;
	text-align:center;
	background:#36a85b;
	padding:0.25em 0.5em;
	margin: 0 0 0.25em 0;
}
.estlist li .detail .bukkenmei {
    display: block;
    font-size: 125.0%;
}
.estlist li .detail .price,
.estlist li .detail .madori {
    display: inline-block;
    font-size: 112.5%;
}
.estlist li .detail .price {
    margin-right: 0.75em;
}
.estlist li .detail .price span,
.estlist li .detail .madori span {
    display: inline-block;
	color: #fff;
    padding: 0.25em 0.3em 0.35em 0.35em;
    margin-right: 0.5em;
    border-radius: 50%;
    font-size: 80.0%;
    line-height: 1;
    text-align: center;
}
.estlist li .detail .price span {
    background-color: #DC3A3C;	
}
.estlist li .detail .madori span {
    background-color: #EC722B;	
}
.estlist li .detail .shozaichi {
    margin-top: 0.25em;
}

/* shubetsu-color */
.estlist li .shubetsumei.np {
    background-color: #008ece;
    color: #fff;
}
.estlist li .shubetsumei.pd1 {
    background-color: #331a15;
    color: #fff;
}
.estlist li .shubetsumei.pd2 {
    background-color: #174a30;
    color: #fff;
}


/* information */
#home #info {
    padding: 80px 0;
    position: relative;
    background-image: url("../image/home/info_bgimg02.jpg");
    background-position: bottom right;
    background-repeat: no-repeat;
}

#home #info .bgimg01 {
    max-width: 195px;
    position: absolute;
    left: 5%;
    top: 100px;
    z-index: -1;
}

#home #info h2 span {
    background-color: #fff;
}

#home #info .infocont,
#home #info .infobnr {
    width: calc(50% - 20px);
}

#home #info .infocont {
    height: 300px;
}
#home #info .infocont .link {
    color: inherit;
    text-decoration: none;
}
#home #info .infocont .kiji-box {
    width: 100%;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px dotted #ccc;
}
#home #info .infocont .kiji-box .date {
    color: #999;
    margin-bottom: 0;
}
#home #info .infocont .kiji-box .title {
    display: block;
    color: #ce000f;
    font-size: 125.0%;
    margin-bottom: 1em;
}
#home #info .infocont .kiji-box .img {
    max-width: 200px;
    margin-bottom: 1em;
}
#home #info .infocont .kiji-box .kiji img {
    width: auto;
}
#home #info .infocont .kiji-box .fl {
    margin-right: 1em;
}
#home #info .infocont .kiji-box .fr {
    margin-left: 1em;
}

#home #info .panoservice {
    width: 100%;
    max-width: 580px;
    height: 300px;
    background-image: url("../image/home/infoOther_img01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    text-align: center;
    box-sizing: border-box;
    padding: 60px 0;
}
#home #info .panoservice img {
    display: block;
    max-width: 489px;
    padding-bottom: 8px;
    border-bottom: 5px solid #fff;
    margin:0 auto 16px;
}
#home #info .panoservice p {
    color: #fff;
    line-height: 1.8;
    letter-spacing: 0.2em;
}
#home #info .panoservice a {
    display: block;
    width: 320px;
    height: 60px;
    margin: 0 auto;
    color: #fff;
    line-height: 60px;
    font-weight: 700;
    text-decoration: none;
}
@media screen and (max-width:1800px) {
	#home #info {
		background-image: none;
	}
	#home #info .bgimg01 {
		display: none;
	}	
}
@media screen and (max-width:1280px) {
    #home #info .panoservice {
        background-size: contain;
    }
    #home #info .panoservice img {
        max-width: 367px;
    }
}
@media screen and (max-width:1080px) {
    #home #info .infocont,
    #home #info .infobnr {
        width: 100%;
        float: none;
    }
    #home #info .infocont {
        margin-bottom: 60px;
    }
    #home #info .panoservice {
        margin: 0 auto;
    }
    #home #info .panoservice img {
        max-width: 489px;
    }
}
@media screen and (max-width:680px) {
    #home #info .panoservice img {
        max-width: 420px;
    }
}
@media screen and (max-width:680px) {
	#home #info .panoservice a {
		width: 400px;
	}
}


/* pickupsrc */
#home #pickupsrc {
    background-color: #f0f5f7;
    position: relative;
    padding: 80px 0;
    overflow: hidden;
}

#home #pickupsrc .bgimg01 {
    max-width: 240px;
    position: absolute;
    left: 60px;
    top: 380px;
}
#home #pickupsrc .bgimg02 {
    max-width: 196px;
    position: absolute;
    right: 90px;
    top: 290px;
}
#home #pickupsrc .bgimg03 {
    max-width: 178px;
    position: absolute;
    left: 76px;
    top: 900px;
}
#home #pickupsrc .bgimg04 {
    max-width: 230px;
    position: absolute;
    right: 100px;
    top: 790px;
}
@media screen and (max-width:1800px) {
    #home #pickupsrc .bgimg01,
    #home #pickupsrc .bgimg02,
    #home #pickupsrc .bgimg03,
    #home #pickupsrc .bgimg04 {
        display: none;
    }
}
@media screen and (max-width:1080px) {
    #home #pickupsrc .bgimg01 {
		display: inherit;
        left: auto;
        top: 640px;
        right: 80px;
    }
    #home #pickupsrc .bgimg02,
    #home #pickupsrc .bgimg03,
    #home #pickupsrc .bgimg04 {
        display: none;
    }
}
@media screen and (max-width:880px) {
    #home #pickupsrc .bgimg01 {
        top: 700px;
    }
}
@media screen and (max-width:640px) {
    #home #pickupsrc .bgimg01 {
		display: none;
    }
}

#home #pickupsrc .inner {
    position: relative;
}

#home #pickupsrc h2 span {
    background-color: #f0f5f7
}

#home #pickupsrc h3 {
    font-size: 125.0%;
    color: #008ece;
    margin: 0;
    margin-bottom: 0.5em;
}

/* カテゴリ＆フリーワード */
#home #pickupsrc .category {
    margin-bottom: 30px;
}

#home #pickupsrc .fl {
    width: 820px;
}
#home #pickupsrc .btnsrc {
    width: 100%;
    display: flex;
    flex-wrap:wrap;
    justify-content :space-between;
}
#home #pickupsrc .btnsrc li {
    display: block;
    width: 190px;
    margin-bottom: 20px;
    line-height: 1;
}
#home #pickupsrc .btnsrc li a {
    transition: 0.3s;
}
#home #pickupsrc .btnsrc li a:hover {
    opacity: 0.8;
}

#home #pickupsrc #fwsrc {
    position:relative;
    width: 100%;
    height: 40px;
}
#home #pickupsrc #fwsrcinp {
    width: calc(100% - 60px);
    height:40px;
    padding:0 10px; 
    position:absolute; 
    left:0;
    top:0; 
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
    border-bottom: 1px solid #aaa;
    border-right: none;
    border-radius:6px 0px 0px 6px;
    outline:0;
    background:#fff;
    box-sizing: border-box;
    
}
#home #pickupsrc #fwsrcbtn {
    width:60px;	
    height:40px;
    position:absolute; 
    right:0; 
    top:0;
    background:#008ece;
    border:none;
    border-radius:0 6px 6px 0;
    text-align: center;
    box-sizing: border-box;
    padding-top: 6px;
}
#home #pickupsrc #fwsrcbtn img {
    width: 24px;
}

#home #pickupsrc .fr .qr {
    display: block;
    max-width: 340px;
    margin-top: 34px;
}

@media screen and (max-width:1280px) {
    #home #pickupsrc .fl {
        width: calc(100% - 380px);
    }
    #home #pickupsrc .btnsrc li {
        width: calc(25% - 15px);
    }    
    #home #pickupsrc .fr {
        width: 340px;
        margin-left: 40px;
    }
}
@media screen and (max-width:1080px) {
    #home #pickupsrc .btnsrc {
        justify-content :space-around;
    }
    #home #pickupsrc .btnsrc li {
        width: calc(33.33% - 14px);
    }
}
@media screen and (max-width:880px) {
    #home #pickupsrc .fl {
        float: none;
        width: 100%;
        max-width: 820px;
        margin: 0 auto 40px;
    }
    #home #pickupsrc .btnsrc {
        justify-content :space-between;
    }
    #home #pickupsrc .btnsrc li {
        width: calc(25% - 15px);
    }    
    #home #pickupsrc .fr {
        width: 100%;
        margin: 0 auto;
        overflow: hidden;
    }
    #home #pickupsrc .fr .qr {
        margin: 34px auto 0 0;
    }
}
@media screen and (max-width:640px) {
    #home #pickupsrc .fr .qr {
        display: none;
    }
	#home #pickupsrc .btnsrc {
		margin-bottom: -40px;
	}
    #home #pickupsrc .btnsrc li {
        width: calc(50% - 20px);
		margin-bottom: 40px;
    }    
}


/* link */
#home #link {
    padding: 50px 0;
}
#home #link ul {
    display: flex;
    flex-wrap:wrap;
    justify-content:center;
    margin-bottom: -20px;
}
#home #link li {
    display: block;
    width: 380px;
    height: 100px;
    margin-right: 28px;
    margin-bottom: 20px;
}
/*
#home #link li:nth-child(3n),
#home #link li:last-child {
    margin-right: 0;
}
*/
#home #link li a {
    transition: 0.3s;
}
#home #link li a:hover {
    opacity: 0.8;
}
@media screen and (max-width:1280px) {
  #home #link li {
    margin: 0 auto;
  }
}
/*
@media screen and (max-width:1280px) {
    #home #link li {
        width: calc(33.33% - 19px);
        max-width: 380px;
        height: auto;
    }
}
@media screen and (max-width:880px) {
    #home #link li {
        width: calc(50% - 10px);
        margin-right: 20px !important;
    }
    #home #link li:nth-child(even) {
        margin-right: 0 !important;
    }
}
*/


/*----------------------------------------------------------------------------
   subpage-common
------------------------------------------------------------------------------*/

/* subvisual */
.subvisual {
	width: 100%;
	height: 260px;
    background: -moz-linear-gradient(left, #008ece, #00c2ce);
    background: -webkit-linear-gradient(left, #008ece, #00c2ce);
    background: linear-gradient(to right, #008ece, #00c2ce);
}
.subvisual h1 {
	color: #fff;
	font-size: 3rem;
	line-height: 1;
	padding-top: 100px;
	margin: 0 auto;
	vertical-align: baseline;
}
.subvisual h1 span {
	font-size: 1.5rem;
	margin-left: 1em;
	font-weight: 300;
}
@media screen and (max-width:1800px) {
	.subvisual h1.inner {
		width: calc(100% - 290px);
		margin-left: 290px;
	}
}
@media screen and (max-width:1200px) {
	.subvisual h1.inner {
		width: calc(100% - 40px);
		margin-left: 40px;
	}
}

/* subpage h2 */
.subpage h2 {
	font-size: 150.0%;
    margin: 0 0 1em;
    padding: 0 0 0.5em;
    border-bottom: 2px solid #008ece;
}

/* breadcrumbs */
.breadcrumbs {
	padding: 1em 0;
	margin-bottom: 1.5em;
}
.breadcrumbs li {
	display: inline-block;
}
.breadcrumbs li::after {
	content: "/";
	padding: 0 0.5em;
}
.breadcrumbs li:last-child:after {
	content: "";
	padding: 0;
}


/* button */
.button a {
	display:inline-block;
	vertical-align:middle;
	padding: 1em 0;
	color:#008ece;
	text-decoration:none;
	font-weight:bold;
	border:2px solid #008ece;
	transition:0.3s;
}
.button a:hover {
	background-color:#008ece;
	color:#ffffff;
}

/* table */
@media screen and (max-width: 1030px) {
	/* horizontal scroll table mode - example 1030px */
	.table-content.nowrap {
		width:100%;
		overflow-y:hidden;
		overflow-x:scroll;
		margin-bottom:30px;
	}
	/* horizontal scroll table width */
	.table-content.nowrap table {
		width:1200px;
	}
}

.table-content table {
	width:100%;
	border-collapse:collapse;
	text-align:left;
	border:1px solid #d8d8d8;
}

.table-content th {
	text-align:left;
	background-color:#f4f4f4;
	/*width:28%;*/
	padding:13px;
	border-bottom:1px solid #d8d8d8;
	border-right:1px solid #d8d8d8;
	vertical-align:top;
	white-space:nowrap;
	box-sizing: border-box;
}

.table-content th .ic-required {
	float:right;
	margin-left:150px;
}

.table-content td {
	padding:10px;
	border-bottom:1px solid #d8d8d8;
	border-right:1px solid #d8d8d8;
	background-color:#ffffff;
	box-sizing: border-box;
}


/* gmap */
#gmap {
	width:100%;
	height:535px;
	position:relative;
}
#gmap iframe {
	width:100%;
	height:535px;
}


/*----------------------------------------------------------------------------
   npist_db-src
------------------------------------------------------------------------------*/

#npist_db .search,
#npist_db .search_word {
	width: 100%;
	padding: 0 0 80px;
	background-color: #f0f5f7;
}

/* エリア検索 */
.areamap {
    margin-bottom: 30px;
}

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

.areabtn li {
    width: 380px;
    display: block;
    box-sizing: border-box;
    background-color: #fff;
    position: relative;
    border: 1px solid #ccc;
    transition: 200ms;
    margin-bottom: 10px;
}
.areabtn li:hover {
    border: 1px solid #008ece;
}
.areabtn li label {
    width: 100%;
    height: 70px;
    line-height: 70px;
    padding: 0 0.75em;
    box-sizing: border-box;
    display: block;
    font-size: 112.5%;
    text-align: left;
    cursor: pointer;
    position: relative;
    z-index: 2;
    transition: color 200ms ease-in;
    overflow: hidden;
}
.areabtn li:first-child label {
    line-height: 1.6;
    padding: 0.25em 0.75em;
}
.areabtn li label:before {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    content: "";
    background-color: #008ece;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale3d(1, 1, 1);
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    z-index: -1;
}

.areabtn li label b {
    float: left;
    display: block;
	width: 0.75em;
    font-size: 150.0%;
    margin-right: 0.5em;
	text-align: center;
}
.areabtn li:first-child label b {
    margin-top: -0.25em;
}
.areabtn li label[for="area-a"] b { color: #e0122f; }
.areabtn li label[for="area-b"] b { color: #f28a0d; }
.areabtn li label[for="area-c"] b { color: #008768; }
.areabtn li label[for="area-d"] b { color: #29a7a3; }
.areabtn li label[for="area-e"] b { color: #f85a0c; }
.areabtn li label[for="area-f"] b { color: #ff475d; }
.areabtn li label[for="area-g"] b { color: #089e51; }
.areabtn li label[for="area-h"] b { color: #bbde3e; }
.areabtn li label[for="area-i"] b { color: #7bc742; }
.areabtn li label[for="area-j"] b { color: #dac21d; }
.areabtn li label[for="area-k"] b { color: #218a9d; }
.areabtn li label[for="area-l"] b { color: #21669d; }
.areabtn li label[for="area-z"] b { color: #4c4c4c; }

.areabtn li input {
    width: 40px;
    height: 40px;
    order: 1;
    z-index: 2;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    visibility: hidden;
}
.areabtn li input:checked ~ label { color: #fff; }

.areabtn li input:checked ~ label[for="area-a"] b,
.areabtn li input:checked ~ label[for="area-b"] b,
.areabtn li input:checked ~ label[for="area-c"] b,
.areabtn li input:checked ~ label[for="area-d"] b,
.areabtn li input:checked ~ label[for="area-e"] b,
.areabtn li input:checked ~ label[for="area-f"] b,
.areabtn li input:checked ~ label[for="area-g"] b,
.areabtn li input:checked ~ label[for="area-h"] b,
.areabtn li input:checked ~ label[for="area-i"] b,
.areabtn li input:checked ~ label[for="area-j"] b,
.areabtn li input:checked ~ label[for="area-k"] b,
.areabtn li input:checked ~ label[for="area-l"] b,
.areabtn li input:checked ~ label[for="area-z"] b { color: #fff; }

.areabtn li input:checked ~ label:before {
    transform: translate(-50%, -50%) scale3d(56, 56, 1);
    opacity: 1;
}

.areasubmit button {
    display: block;
    width: 100%;
    height: 60px;
    margin-top: 30px;
    background-color: #008ece;
    border: none;
    color: #fff;
    font-size: 125.0%;
    font-weight: 700;
    transition: 0.3s;
}
.areasubmit button:hover {
    background-color: #199EDB;
}
.areasubmit button i {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("../image/icon/ic_src.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 1em;
}
@media screen and (max-width:1280px) {
    .areabtn li {
        width: calc(50% - 10px);
    }
    .areabtn li:first-child label {
        line-height: 70px;
        padding: 0 0.75em;
    }
    .areabtn li:first-child label b {
        margin-top: 0;
    }
    .areabtn li input:checked ~ label:before {
        transform: translate(-50%, -50%) scale3d(60, 60, 1);
    }
}
@media screen and (max-width:960px) {
    .areabtn li:first-child label {
        line-height: 1.6;
        padding: 0.25em 0.75em;
    }
    .areabtn li:first-child label b {
        margin-top: -0.25em;
    }
}
@media screen and (max-width:860px) {
    .areabtn li .vanish {
        display: none;
    }
}
@media screen and (max-width:800px) {
    .areabtn li label {
        line-height: 1.6;
        padding: 0.25em 0.75em;
    }
    .areabtn li label b {
        margin-top: -0.25em;
    }
}
@media screen and (max-width:640px) {
    .areabtn li {
        font-size: 75.0%;
    }
}

/* 詳細入力 */
.detailsrc table {
	width:100%;
	border: 1px solid #aaa;
	border-collapse: collapse;
	margin: 30px auto;
}
.detailsrc table th {
	border: 1px solid #aaa;
	background:#DBF2FC;
	padding: 0.5em 1em;
	min-width: 100px;
}
.detailsrc table td {
	border: 1px solid #aaa;
	background:#E2F6FF;
	background:#fff;
	padding: 0.5em;
	box-sizing: border-box;
}

.detailsrc table td input[type=text],
.detailsrc table td select {
	padding: 0.25em 0.5em;
	border: 1px solid #ccc;
	box-sizing: border-box;
}
.detailsrc table td input[type=text] {
	width: 100%;
}
.detailsrc table td select {
	margin-right: 0.25em;
}
.no-spin::-webkit-inner-spin-button,
.no-spin::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
    -moz-appearance:textfield !important;
}
@media screen and (max-width:640px) {
	.detailsrc table th {
		min-width: 120px;
	}
}

.detailsrc .chkboxlist {
    display: flex;
    flex-wrap:wrap;
    justify-content:flex-start;
	margin-bottom: -12px;
}
.detailsrc .chkboxlist li {
    width: calc(25% - 9px);
	margin-right: 12px;
    display: block;
    box-sizing: border-box;
    background-color: #fff;
    position: relative;
    transition: 200ms;
    margin-bottom: 12px;
}
.detailsrc .chkboxlist li:nth-child(4n) {
	margin-right: 0px;
}
.detailsrc .chkboxlist.maker li {
    width: calc(33.33% - 8px);
}
.detailsrc .chkboxlist.maker li:nth-child(3n) {
	margin-right: 0px;
}
@media screen and (max-width:1100px) {
    .detailsrc .chkboxlist li,
    .detailsrc .chkboxlist.maker li {
   		width: calc(50% - 9px);
	}
	.detailsrc .chkboxlist li:nth-child(even) {
		margin-right: 0px;
	}
}
@media screen and (max-width:640px) {
	.detailsrc .chkboxlist li .changefsize {
		font-size: 82.5%;
	}
    .detailsrc .chkboxlist.option li,
    .detailsrc .chkboxlist.maker li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
	}
}

.detailsrc .chkboxlist li input[type=checkbox] {	
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    height: 20px;
    width: 20px;
    vertical-align: -0.8rem;
    transition:all .15s ease-out 0s;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    margin: .5rem;
    outline: none;
    border-radius: 10%;
	border: 1px solid #aaa;
}
.detailsrc .chkboxlist li input[type=checkbox]:before,
.detailsrc .chkboxlist li input[type=checkbox]:after {
    position: absolute;
    content: "";
    background: #fff;
    transition: all .2s ease-in-out;
}
.detailsrc .chkboxlist li input[type=checkbox]:before {
    left: 2px;
    top: 6px;
    width: 0;
    height: 2px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}
.detailsrc .chkboxlist li input[type=checkbox]:after {
    right: 9px;
    bottom: 3px;
    width: 2px;
    height: 0;
    transform: rotate(40deg);
    -webkit-transform: rotate(40deg);
    -moz-transform: rotate(40deg);
    -ms-transform: rotate(40deg);
    -o-transform: rotate(40deg);
    transition-delay: .2s;
}
.detailsrc .chkboxlist li input[type=checkbox]:checked,
.detailsrc .chkboxlist li input[type=checkbox]:indeterminate {
	background: #008ece;
	border: 1px solid #008ece;
}
.detailsrc .chkboxlist li input[type=checkbox]:checked:before {
    left: 2px;
    top: 11px;
    width: 6px;
    height: 2px;
}
.detailsrc .chkboxlist li input[type=checkbox]:checked:after {
    right: 5px;
    bottom: 1px;
    width: 2px;
    height: 14px;
}
.detailsrc .chkboxlist li input[type=checkbox]:indeterminate:before,input[type=checkbox]:indeterminate:after {
    width: 7px;
    height: 2px;
    transform: rotate(0);
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
}
.detailsrc .chkboxlist li input[type=checkbox]:indeterminate:before {
    left: 1px;
    top: 7px;
}
.detailsrc .chkboxlist li input[type=checkbox]:indeterminate:after {
    right: 1px;
    bottom: 7px;
}
.detailsrc .chkboxlist li label {
    padding-left: 0.5em;
    height: 40px;
    line-height: 36px;
    width: 100%;
    box-sizing: border-box;
    display: block;
    text-align: left;
    cursor: pointer;
    position: relative;
    z-index: 2;
    overflow: hidden;
    transition: color 200ms ease-in;
	border: 1px solid #ccc;
}
.detailsrc .chkboxlist li label:hover {
	border: 1px solid #008ece;
}
.detailsrc .chkboxlist li label input:checked {
	color: #008ece;
	border: 1px solid #008ece;
}
@media screen and (max-width:640px) {
	.detailsrc .chkboxlist li input[type=checkbox] {	
		vertical-align: -0.7rem;
	}
	.detailsrc .chkboxlist li label {
    	height: 70px;
    	line-height: 70px;
	}
}

.detailsrc .chkboxlist.maker li label {
    height: 70px;
    line-height: 70px;
}
.detailsrc .chkboxlist.maker li label span {
    position: absolute;
    top: 0;
    right: 3%;
    display: inline-block;
    width: 77%;
    text-indent: 200%;
    overflow: hidden;
    white-space: nowrap;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.detailsrc .chkboxlist.maker li:nth-child(1) label span { background-image: url(../image/npist_db/maker_btn01.jpg?v=2); }
.detailsrc .chkboxlist.maker li:nth-child(2) label span { background-image: url(../image/npist_db/maker_btn02.jpg); }
.detailsrc .chkboxlist.maker li:nth-child(3) label span { background-image: url(../image/npist_db/maker_btn03.jpg); }

/* srcsubmit */
.srcbtn button {
    display: inline-block;
	width: calc(50% - 11px);
    height: 60px;
    border: none;
    color: #fff;
    font-size: 125.0%;
    font-weight: 700;
    transition: 0.3s;
	box-sizing: border-box;
}

.srcbtn .inpclear {
    background-color: #666666;
	margin-right: 14px;
}
.srcbtn .inpclear:hover {
    background-color: #888888;
}

@media screen and (max-width:640px) {
	.srcbtn button {
    	font-size: 100.0%;
		width: calc(50% - 12px);
		height: 80px;
	}
}
.srcbtn .srcsubmit {
    background-color: #008ece;	
}
.srcbtn .srcsubmit:hover {
    background-color: #199EDB;
}
.srcbtn .srcsubmit i {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("../image/icon/ic_src.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 0.5em;
}

/* 検索ワード表示 */
.search_word .box {
	width: 100%;
	margin: 40px auto 0;
	background-color: #fff;
	box-sizing: border-box;
	padding: 1.5em 2em 0.5em;
	border-radius: 10px;
}
.search_word .box h3 {
	font-size: 1.5rem;
	margin: 0 0 0.5em;
	color: #199EDB;
}
.search_word .box dl {
	width: 100%;
	overflow: hidden;
}
.search_word .box dt {	
	clear: left;
	float: left;
	font-weight: 700;
	width: 6em;
	margin-bottom: 0.5em;
	margin-right: 1em;
}
.search_word .box dd {
	float: left;
	width: calc(100% - 7em);
	margin: 0 0 0.5em;
}

/* research_btn */
.research_btn {
	display:block;
	width:100%;
	max-width: 380px;
	padding:15px;
	margin:40px auto 0;
	color:#fff !important;
	font-size:20px;
	text-align: center;
	text-decoration:none;
	border-radius:3px;
	background-color:#666666;
	box-sizing: border-box;
	-moz-transition:background-color ease-in-out  0.15s;
	-o-transition:background-color ease-in-out  0.15s;
	-webkit-transition:background-color ease-in-out  0.15s;
	transition:background-color ease-in-out  0.15s;
}
.research_btn:hover {
  background-color:#888888;
	text-decoration:none;
}
.research_btn:disabled,
.research_btn:disabled:hover {
  background-color:#888888;
	text-decoration:none;
}


/*----------------------------------------------------------------------------
   npist_list
------------------------------------------------------------------------------*/
#npist_db .list {
	padding: 60px 0;
}
#npist_db .list .count {
	float:left;
	text-align:left;
	margin:1em 0;
}
#npist_db .list .sort {
	float:right;
	margin:1em 0;
}
#npist_db .list .npist_box {
	display:block;
	text-decoration:none;
	box-sizing:border-box;
	border:solid 1px #cccccc;
	padding:1em;
	margin-bottom:2em;
}

#npist_db .list .npist_box .bukkenmei .type {
	display: inline-block;
	color:#ffffff;
	font-size: 87.5%;
	font-weight:700;
	text-align:center;
	background:#008ece;
	padding:0.25em 0.5em;
	margin: 0;
}
#npist_db .list .npist_box .bukkenmei h3 {
	font-size: 125.0%;
	font-weight:700;
	margin: 0.25em 0 1em;
	padding-bottom: 0.5em;
    border-bottom: 1px solid #008ece;
}

#npist_db .list .npist_box .photo {
	position:relative;
	float:left;
	width:calc(25% - 10px);
	margin-right: 20px;
	margin-bottom: 1em;
	text-align:center;
}
#npist_db .list .npist_box .photo img {
	object-fit: cover;
	object-position: center;
}
#npist_db .list .npist_box .photo .stamp {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:200px !important;
	height:63px !important;
	margin:auto;
}
@media screen and (max-width:640px) {
	#npist_db .list .npist_box .photo {
		float:none;
		width:100%;
		margin-right: 0;
	}
}
#npist_db .list .npist_box .pist_inner {
	float:left;
	width:calc(75% - 10px);
	text-align:left;
	margin: 0 0 1em;
	overflow: hidden;
}
#npist_db .list .npist_box .pist_inner dt {
	clear: left;
	float: left;
	width: 3.5em;
	font-weight: 700;
}
#npist_db .list .npist_box .pist_inner dd {
	float: left;
	width: calc(100% - 5em);
	margin: 0;
	padding-left: 1em;
}
#npist_db .list .npist_box .pist_inner dd::before {
	content: "：";
	margin-left: -1em;
}
#npist_db .list .npist_box .pist_inner .shozai {
	font-weight:700;
	font-size: 110%;
	margin-bottom: 0.25em;
}
@media screen and (max-width:640px) {
	#npist_db .list .npist_box .pist_inner {
		float:none;
		width:100%;
	}
}
#npist_db .list .npist_box .line_head table {
	width:100%;
	box-sizing:border-box;
    border-collapse:collapse;
    border-spacing:0;
}
#npist_db .list .npist_box .line_head table th {
	text-align:center;
	vertical-align:middle;
	box-sizing:border-box;
	background:#efefef;
	border:solid 1px #cccccc;
	padding:0.5em;
	empty-cells:show;
}
#npist_db .list .npist_box .line_head table th:nth-of-type(6) {
	padding:0 !important;
}
#npist_db .list .npist_box .line_cover a {
	position:relative;
	display:block;
	text-decoration:none;
	color: inherit;
}
#npist_db .list .npist_box .line_cover a:hover {
	color:#008ece;
	background:#f0f5f7;
}
#npist_db .list .npist_box .line_cover table {
	width:100%;
	box-sizing:border-box;
	background:transparent !important;
    border-collapse:collapse;
    border-spacing:0;
}
#npist_db .list .npist_box .line_cover table td {
	text-align:center;
	vertical-align:middle;
	box-sizing:border-box;
	background:transparent !important;
	border-left:solid 1px #cccccc;
	border-right:solid 1px #cccccc;
	border-bottom:solid 1px #cccccc;
	padding:0.5em;
	empty-cells:show;
}
@media screen and (max-width:640px) {
	#npist_db .list .npist_box .line_cover table td {
		font-size: 85.0%;
	}
}
#npist_db .list .npist_box .line_cover table td:nth-of-type(6) {
	padding:0 !important;
}
#npist_db .list .npist_box .line_cover table td .detail_button {
	position:absolute;
	top:0;
	right:0;
	width:3%;
	height:100%;
	box-sizing:border-box;
	border-right:solid 1px #cccccc;
	border-bottom:solid 1px #cccccc;
}
#npist_db .list .npist_box .line_cover table td.madori {
	color: #35A31A;
}
#npist_db .list .npist_box .line_cover table td.kakaku {
	color: #ff6600;
}
#npist_db .list .npist_box .line_cover .other {
	color:#2e2e2e;
	font-size:80.0%;
	font-weight:normal;
	box-sizing:border-box;
	background:#ffffff;
	border-top:dotted 1px #cccccc;
	border-right:solid 1px #cccccc;
	border-bottom:solid 1px #cccccc;
	border-left:solid 1px #cccccc;
	margin:-1px 0 0 0;
	padding:0.5em;
}
#npist_db .list .npist_box .line_cover .other .movie {
	display: inline-block;
	color:#ffffff;
	font-weight:700;
	text-align:center;
	background:#FF0000;
	padding:0.25em 0.5em;
	margin: 0 0.5em 0.25em 0;
}
#npist_db .list .npist_box .line_cover .other .theta {
	display: inline-block;
	color:#ffffff;
	font-weight:700;
	text-align:center;
	background:#36a85b;
	padding:0.25em 0.5em;
	margin: 0 0 0.25em 0;
}
#npist_db .list .npist_box .line_cover .other .comment {
	margin:0;
}
#npist_db .list .npist_box .line_cover .other .comment span {
	display:block;
	text-align: right;
	color:#008ece;
	font-weight:700;
	text-decoration:underline;
	margin:0;
}
#npist_db .list .npist_box .line_cover a:hover .other {
	background:#f0f5f7;
}
#npist_db .list .npist_box .line_cover .stamp {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:150px !important;
	height:47px !important;
	margin:auto;
}
#npist_db .list .npist_box .line_cover .stamp01 {
	position:absolute;
	top:15px;
	left:-20px;
	display:block;
	color:#ff9327;
	font-weight:bold;
	line-height:25px;
	box-sizing:border-box;
	background:#ffffff;
	border:solid 1px #ff9327;
	padding:1px 10px 0 10px;
}
#npist_db .list .npist_box .line_cover .stamp02 {
	position:absolute;
	top:15px;
	left:-20px;
	display:block;
	color:#ff4d4d;
	font-weight:bold;
	line-height:25px;
	box-sizing:border-box;
	background:#ffffff;
	border:solid 1px #ff4d4d;
	padding:1px 10px 0 10px;
}
#npist_db .list .npist_box .line_cover .stamp03 {
	position:absolute;
	top:15px;
	left:-20px;
	display:block;
	color:#01a3d9;
	font-weight:bold;
	line-height:25px;
	box-sizing:border-box;
	background:#ffffff;
	border:solid 1px #01a3d9;
	padding:1px 10px 0 10px;
}
#npist_db .list .npist_box .line_cover .stamp04 {
	position:absolute;
	top:15px;
	left:-20px;
	display:block;
	color:#92bb1f;
	font-weight:bold;
	line-height:25px;
	box-sizing:border-box;
	background:#ffffff;
	border:solid 1px #92bb1f;
	padding:1px 10px 0 10px;
}

/* fav_list,see_list */
#npist_db .favlist,
#npist_db .seelist {
	padding: 60px 0;
}
#npist_db .favlist .estlist,
#npist_db .seelist .estlist {
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
	margin:0 auto -20px;
}
#npist_db .favlist .estlist li,
#npist_db .seelist .estlist li {
	margin-bottom: 20px;
}
#npist_db .favlist .estlist li:nth-child(4n),
#npist_db .seelist .estlist li:nth-child(4n) {
	margin-right: 0;
}
#npist_db .favlist .estlist li a,
#npist_db .seelist .estlist li a {
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.4);
}
#npist_db .favlist .favdel,
#npist_db .seelist .seedel {
	text-align: center;
	margin-top: 40px;
}
#npist_db .favlist .no_bukken,
#npist_db .seelist .no_bukken {
	font-size: 1.5rem;
	font-weight: 700;
	color: #f94c24;
}
@media screen and (max-width:1300px) {
	#npist_db .favlist .estlist,
	#npist_db .seelist .estlist {
		width: 895px;
	}	
	#npist_db .favlist .estlist li:nth-child(4n),
	#npist_db .seelist .estlist li:nth-child(4n) {
		margin-right: 20px;
	}
	#npist_db .favlist .estlist li:nth-child(3n),
	#npist_db .seelist .estlist li:nth-child(3n) {
		margin-right: 0;
	}
}
@media screen and (max-width:1000px) {
	#npist_db .favlist .estlist,
	#npist_db .seelist .estlist {
		width: 560px;
	}	
	#npist_db .favlist .estlist li,
	#npist_db .seelist .estlist li {
		width:270px !important;
	}
	#npist_db .favlist .estlist li:nth-child(3n),
	#npist_db .seelist .estlist li:nth-child(3n) {
		margin-right: 20px;
	}
	#npist_db .favlist .estlist li:nth-child(even),
	#npist_db .seelist .estlist li:nth-child(even) {
		margin-right: 0;
	}
}


/*----------------------------------------------------------------------------
   pist_list
------------------------------------------------------------------------------*/
#pist_db1 .list,
#pist_db2 .list {
	padding: 0 0 60px;
}
#pist_db1 .list .count,
#pist_db2 .list .count {
	float:left;
	text-align:left;
	margin:1em 0;
}
#pist_db1 .list .listbox,
#pist_db2 .list .listbox {
	display:block;
	text-decoration:none;
	box-sizing:border-box;
	margin-bottom:2em;
}
#pist_db1 .list .listbox a,
#pist_db2 .list .listbox a {
	color: inherit;
	display: block;
	width: 100%;
	padding:1em;
	border: 1px solid #ccc;
	box-sizing:border-box;
	transition: 0.3s all;
}
#pist_db1 .list .listbox a:hover,
#pist_db2 .list .listbox a:hover {
	border: 1px solid #008ece;
	background-color: #f0f5f7;
	text-decoration: none;
}

#pist_db2 .list .listbox .comment .movie {
	display: inline-block;
	color:#ffffff;
    font-size: 87.5%;
	font-weight:700;
	text-align:center;
	background:#FF0000;
	padding:0.25em 0.5em;
    margin: 0;
}
#pist_db2 .list .listbox .comment .theta {
	display: inline-block;
	color:#ffffff;
    font-size: 87.5%;
	font-weight:700;
	text-align:center;
	background:#36a85b;
	padding:0.25em 0.5em;
    margin: 0;
}
#pist_db1 .list .listbox .comment h3,
#pist_db2 .list .listbox .comment h3 {
	font-size: 125.0%;
	font-weight:700;
	margin: 0.25em 0 1em;
	padding-bottom: 0.5em;
    border-bottom: 1px solid #008ece;
}

#pist_db1 .list .listbox .photo,
#pist_db2 .list .listbox .photo {
	position:relative;
	float:left;
	width:calc(25% - 10px);
	margin-right: 20px;
	margin-bottom: 1em;
	text-align:center;
}
#pist_db1 .list .listbox .photo img,
#pist_db2 .list .listbox .photo img {
	object-fit: cover;
	object-position: center;
}
#pist_db1 .list .listbox .photo .stamp,
#pist_db2 .list .listbox .photo .stamp {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:200px !important;
	height:63px !important;
	margin:auto;
}
@media screen and (max-width:640px) {
	#pist_db1 .list .listbox .photo,
	#pist_db2 .list .listbox .photo {
		float:none;
		width:100%;
		margin-right: 0;
	}
}
#pist_db1 .list .listbox .pist_inner,
#pist_db2 .list .listbox .pist_inner {
	float:left;
	width:calc(75% - 10px);
	text-align:left;
	margin: 0 0 1em;
	overflow: hidden;
}
#pist_db1 .list .listbox .pist_inner .price,
#pist_db2 .list .listbox .pist_inner .price {
	display: inline-block;
    color: #DC3A3C;
	font-weight:700;
	font-size: 175.0%;	
	margin-bottom: 0.25em;
	margin-right: 1em;
}
#pist_db1 .list .listbox .pist_inner .price .ic,
#pist_db2 .list .listbox .pist_inner .price .ic {
	color: #fff;
	font-weight: 500;
    display: inline-block;
    padding: 0.25em 0.3em 0.35em 0.35em;
    background-color: #DC3A3C;
    margin-right: 0.5em;
    border-radius: 10px;
    font-size: 80.0%;
    line-height: 1;
    text-align: center;
}
#pist_db1 .list .listbox .pist_inner .space,
#pist_db2 .list .listbox .pist_inner .space {
	display: inline-block;
    color: #EC722B;
	font-weight:700;
	font-size: 175.0%;	
	margin-bottom: 0.25em;
}
#pist_db1 .list .listbox .pist_inner .space .ic,
#pist_db2 .list .listbox .pist_inner .space .ic {
	color: #fff;
	font-weight: 500;
    display: inline-block;
    padding: 0.25em 0.3em 0.35em 0.35em;
    background-color: #EC722B;
    margin-right: 0.5em;
    border-radius: 10px;
    font-size: 80.0%;
    line-height: 1;
    text-align: center;
}
#pist_db1 .list .listbox .pist_inner .shozai,
#pist_db2 .list .listbox .pist_inner .shozai {
	font-weight:700;
	font-size: 110.0%;
	margin-bottom: 0.25em;
}
#pist_db1 .list .listbox .pist_inner .other,
#pist_db2 .list .listbox .pist_inner .other {
	width:100%;
	box-sizing:border-box;
	border:1px solid #ccc;
	border-collapse: collapse;
	margin-top: 1em;
}
#pist_db1 .list .listbox .pist_inner .other th,
#pist_db1 .list .listbox .pist_inner .other td,
#pist_db2 .list .listbox .pist_inner .other th,
#pist_db2 .list .listbox .pist_inner .other td {
	width:25%;
	border:1px solid #ccc;
	text-align:center;
	font-weight:normal;
	box-sizing:border-box;
	padding:0.5em;
}
#pist_db1 .list .listbox .pist_inner .other th,
#pist_db2 .list .listbox .pist_inner .other th {
	background-color: #efefef;
	font-weight: 700;
}
#pist_db1 .list .listbox .pist_inner .other td,
#pist_db2 .list .listbox .pist_inner .other td {
	background-color: #ffffff;
}

@media screen and (max-width:640px) {
	#pist_db1 .list .listbox .pist_inner,
	#pist_db2 .list .listbox .pist_inner {
		float:none;
		width:100%;
	}
	#pist_db1 .list .listbox .pist_inner .other td,
	#pist_db2 .list .listbox .pist_inner .other td {
		font-size: 82.5%;
	}
}


/*----------------------------------------------------------------------------
   estdetail
------------------------------------------------------------------------------*/
.estdetail {
	padding-bottom:50px;
}

/* introduce */
.estdetail .introduce {
	margin-top: 40px;
}

.estdetail .introduce .shubetsu {
	font-weight:700;
	display:inline-block;
	height:40px;
	line-height:40px;
	color: #fff;
	background-color: #008ece;
	padding: 0 0.5em;
	margin-bottom: 0.5em;
}

.estdetail .introduce .updata {
    float:right;
	background-color:#efefef;
	height:40px;
	line-height:40px;
	display:inline-block;
	padding: 0 0.5em;
	margin-bottom: 0.5em;
}

.estdetail .introduce .box {
	margin-bottom: 30px;
}

.estdetail .introduce .price {
	font-weight:700;
	font-size:190.0%;
	display:inline-block;
	padding-right: 1em;
}
.estdetail .introduce .price .ic {
	color: #fff;
	font-weight: 500;
    display: inline-block;
    padding: 0.25em 0.3em 0.35em 0.35em;
    background-color: #DC3A3C;
    margin-right: 0.25em;
    border-radius: 10px;
    font-size: 80.0%;
    line-height: 1;
    text-align: center;
}
.estdetail .introduce .price .tubotanka {
	font-size: 50%;
	font-weight: 300;
}

.estdetail .introduce .hirosa {
	font-weight:700;
	font-size:190.0%;
	display:inline-block;
	padding-right: 1em;
}
.estdetail .introduce .hirosa .ic {
	color: #fff;
	font-weight: 500;
    display: inline-block;
    padding: 0.25em 0.3em 0.35em 0.35em;
    background-color: #EC722B;
    margin-right: 0.25em;
    border-radius: 10px;
    font-size: 80.0%;
    line-height: 1;
    text-align: center;
}

.estdetail .introduce .place {
	font-size: 125.0%;
    display: inline-block;
	margin-top: 0.5em;
}

/* photoarea */
.estdetail {
	width:100%;
	box-sizing:border-box;
}
.estdetail .main-photo {
	width:100%;
	display: flex;
	justify-content:space-between;
	margin-bottom: 20px;
}
.estdetail .main-photo a {
	width: calc(50% - 20px);
	display: block;
}
.estdetail .main-photo a img {
	object-fit: contain;
	object-position: center;
	height: 400px;
}
.estdetail .main-photo .nophoto {
	width: calc(50% - 20px);
	object-fit: contain;
	object-position: center;
	height: 400px;
}

.estdetail .alart {
	background-color:#ffe7e7;
	padding:15px;
	padding-left:18px;
	padding-right:18px;
	color:#b40101;
	font-size:87.5%;
	margin-bottom:25px;
}

.estdetail .sub-photo {
	position:relative;
	background-color:#f2f2f2;
	padding:20px;
	box-sizing: border-box;
}

.estdetail .gallery-button.button a {
    display: none;
	border:none;
	background-color:#008ece;
	text-align:center;
	padding-left:1.5em;
	padding-right:1.5em;
	margin-bottom: 20px;
	color:#ffffff;
}
.estdetail .gallery-button.button a:hover {
	background-color:#2BA7DF;
}

.estdetail .sub-photo-gallery {
	width: 100%;
}
.estdetail .sub-photo-gallery .slick-arrow {
    position: absolute;
    width: 40px;
    height: 40px;
    border:none;
    background-color: #008ece;
    color: #fff;
    font-weight: 700;
    transition: 0.2s;
    overflow: hidden;
    text-indent: 9999px;
    white-space: nowrap;
    box-sizing: border-box;
    text-align: center;
}
.estdetail .sub-photo-gallery .slick-arrow:hover {
    background-color: #199EDB;
}
.estdetail .sub-photo-gallery .slick-prev {
    left: 0;
    top: calc(50% - 20px);
    background-image: url(../image/icon/ic_left.svg);
    background-size:100%;
}
.estdetail .sub-photo-gallery .slick-next {
    right: 0;
    top: calc(50% - 20px);
    background-image: url(../image/icon/ic_right.svg);
    background-size:100%;
}
.estdetail .sub-photo-gallery .slick-disabled {
    display: none !important;
}
.estdetail .sub-photo-gallery .slick-list {
    width: calc(100% - 100px);
    margin: 0 auto;
}
.estdetail .sub-photo-gallery li a {
    display: inline-block;
    box-sizing: border-box;
    margin: 10px;
}
.estdetail .sub-photo-gallery li a img {
    max-height: 200px;
	object-fit: contain;
	object-position: center;
}

/* favbuttons */
.estdetail .detail-button {
	width:100%;
	display: flex;
	justify-content:space-between;
	margin: 30px 0;
}

.estdetail .detail-button .fav {
	width: calc(33.33% - 20px);
}	
.estdetail .detail-button .fav button {
	width: 100%;
	display: block;
	box-sizing:border-box; 
	background-color:#ffffff;
	vertical-align:middle;
	margin: 0;
	padding: 1em 0;
	color:#008ece;
	text-decoration:none;
	font-weight:bold;
	border:2px solid #008ece;
	transition:0.3s;
}
.estdetail .detail-button .fav button:hover {
	background-color:#008ece;
	color:#ffffff;
}

.estdetail .detail-button .button {
	width: calc(33.33% - 20px);
}
#pist_db1 .estdetail .detail-button .button,
#pist_db2 .estdetail .detail-button .button {
	width: calc(50% - 20px);
}
.estdetail .detail-button .button a {
	width: 100%;
	box-sizing:border-box;
	text-align: center;
}

@media screen and (max-width: 800px) {
	.estdetail .detail-button .print-button {
		display:none;
	}
	.estdetail .detail-button .fav,
	.estdetail .detail-button .contact-button {
		width:calc(50% - 20px);
	}
	#pist_db1 .estdetail .detail-button .button,
	#pist_db2 .estdetail .detail-button .button {
		width: 100%;
	}
}

.estdetail .detail-button .print-button a,
.estdetail .detail-button .contact-button a {
	width:100%;
	height:100%;
	box-sizing:border-box;
	display:block;
}
.estdetail .detail-button .print-button a:after,
.estdetail .detail-button .contact-button a:after {
	top:9px;
}


/* detail-desc */
.estdetail .detail-desc h3 {
	font-size:125.0%;
	color: #008ece;
}
.estdetail .detail-desc table {
	width: 100%;
	margin-bottom:40px;
}
.estdetail .detail-desc table th {
	white-space:normal;
	width:150px;
}
.estdetail .detail-desc table td {
	white-space:normal;
	width:450px;
}

@media screen and (max-width: 900px) {
	.estdetail .detail-desc table th { min-width:100px; }
}
@media screen and (max-width: 800px) {
	.estdetail .detail-desc table th {
		display:block;
		clear: left;
		float:left;
		width:30%;
		min-width:70px;
		box-sizing:border-box;
	}
	.estdetail .detail-desc table td {
		display:block;
		float:left;
		width:70%;
		min-height: calc(1em + 26px);
		box-sizing:border-box;
		padding: 13px;
	}
}

/* youtube */
.estdetail .youtube {
  position: relative;
  width: 100%;
  margin-bottom:20px;
  margin-left:auto;
  margin-right:auto;
}
@media screen and (max-width: 640px) {
	.estdetail .youtube {
		margin-top:0;
	}
}
.estdetail .youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	border:none;
}

/* theta */
.estdetail .theta {
  width: 100%;
  margin-bottom:30px;
}
@media screen and (max-width: 640px) {
	.estdetail .theta {
		margin-top:0;
	}
}

/* simulation */
.estdetail .simulation {
	width: 100%;
	margin-bottom: 60px;
	border: 1px solid #55B03B;
	box-sizing: border-box;
}
.estdetail .simulation h3 {
	margin: 0;
	padding: 0.25em 30px;
	background-color: #55B03B;
	color: #fff !important;
	box-sizing: border-box;
}
.estdetail .simulation .contents {
	padding: 20px;
}
.estdetail .simulation table {
	width: 100%;
	margin-bottom: 30px;
}
.estdetail .simulation table th {
	white-space:normal;
	width:150px;
	text-align: center;
	background-color: #D4F3CC;
	border: 1px solid #55B03B;
}
.estdetail .simulation table th span {
	display: inline-block;
}
.estdetail .simulation table td {
	white-space:normal;
	border: 1px solid #55B03B;
}
.estdetail .simulation table .answer th {
	font-size: 125%;
	background-color: #7ACF62;
}
.estdetail .simulation table .answer td {
	font-size: 150%;
	font-weight: bold;
}
@media screen and (max-width:800px) {	
	.estdetail .simulation table {
		border: none;
	}
	.estdetail .simulation table th {
		width: 40%;
		border-collapse: collapse;
	}
	.estdetail .simulation table td {
		width: 60%;
		border-collapse: collapse;
	}
}
.estdetail .simulation table td input[type="number"] {
	width: 5em;
}
.estdetail .simulation button {
	width: 350px;
	display: block;
	box-sizing:border-box; 
	background-color:#ffffff;
	vertical-align:middle;
	margin: 0 auto 20px;
	padding: 1em 0;
	color:#f94c24;
	text-decoration:none;
	font-weight:bold;
	border:2px solid #f94c24;
	transition:0.3s;
}
.estdetail .simulation button:hover {
	background-color:#f94c24;
	color:#ffffff;
}
.estdetail .simulation .cartion {
	font-size: 87.5%;
	color: #b40101;
}

/* list-back */
.estdetail .list-back-button {
	text-align:center;
}
.estdetail .list-back-button .button a {
	padding-left:2em;
	padding-right:2em;
}


/*----------------------------------------------------------------------------
   estpager
------------------------------------------------------------------------------*/

.pager {
	text-align:center;
	margin: 20px auto;
}
.pager span {
	position:relative;
	display:inline-block;
	color:#121212;
	width:2em;
	text-align:center;
	font-weight:bold;
	background:#ededed;
	border:solid 1px #cccccc !important;
	margin-bottom:4px;
	padding:4px 1px 3px 1px;
}
.pager span:hover {
	color:#008ece !important;
	background:#ededed !important;
	border:solid 1px #008ece !important;
}
.pager span.stay {
	color:#ffffff !important;
	background:#008ece !important;
	border:solid 1px #008ece !important;
}

/*----------------------------------------------------------------------------
   estinquiry
------------------------------------------------------------------------------*/
#estinquiry .contents {
	padding: 0 0 60px;
}
#estinquiry .contents table {
	margin-top: 1em;
}


/*----------------------------------------------------------------------------
   company
------------------------------------------------------------------------------*/
#company .contents {
	padding: 0 0 60px;
}
#company .contents .table-content {
	margin-bottom: 20px;
}
#company .comphoto {
	width: 100%;
	max-width: 1020px;
	display: flex;
	flex-wrap: nowrap;
	justify-content:space-between;
	margin: 0 auto 40px;
}
#company .comphoto .cpbox {
	width: 500px;
	margin-right: 20px;	
	line-height: 1;
}
#company .comphoto .cpbox:last-child {
	margin-right: 0;
}
#company .comphoto .cpbox .photo02 {
	display: block;
	margin-bottom: 20px;
}
@media screen and (max-width:860px) {	
	#company .comphoto .cpbox .photo02 {
		margin-bottom: 10px;
	}
}


/*----------------------------------------------------------------------------
   loan
------------------------------------------------------------------------------*/
#loan .contents {
	padding: 0 0 60px;
}

#loan h2 {
	margin-top: 40px;
}
#loan h3 {
	font-size:125.0%;
	margin: 0 0 0.25em;
}
#loan .error {
	color: #E70B0F;
}
#loan .hosoku {
	color: #666;
	font-size: 0.9rem;
	margin-top: 0.5em;
}

/* table-content */
@media screen and (max-width:900px) {
	#loan .table-content .calc th,
	#loan .table-content .calc td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
}

/* submit */
#loan .submit {
	width: 100%;
	box-sizing: border-box;
	margin-top: 40px;
}
#loan .submit button {
    display: inline-block;
	width: calc(50% - 11px);
    height: 60px;
    border: none;
    color: #fff;
    font-size: 125.0%;
    font-weight: 700;
    transition: 0.3s;
	box-sizing: border-box;
}
#loan .submit .clearbtn {
    background-color: #666666;
	margin-right: 14px;
}
#loan .submit .clearbtn:hover {
    background-color: #888888;
}
#loan .submit .calcbtn {
    background-color: #008ece;
}
#loan .submit .calcbtn:hover {
    background-color: #199EDB;
}
@media screen and (max-width:640px) {
	#loan .submit button {
    	font-size: 100.0%;
		width: calc(50% - 12px);
		height: 80px;
	}
}

/* link */
#loan .link {
	width: 50%;
	text-align: left;
}
#loan .link li::before {
	content: "・";
}


/*----------------------------------------------------------------------------
   privacy
------------------------------------------------------------------------------*/
#privacy .contents {
	padding: 0 0 60px;
}
#privacy h3 {
	color: #008ece;
	font-size: 125.0%;
	margin-top: 2em;
	margin-bottom: 0.5em;
}

#privacy ol {
	margin: 0;
}
#privacy ol li {
	margin: 0;
	padding: 0;
}


/*----------------------------------------------------------------------------
   estinquiry・contact・tenant
------------------------------------------------------------------------------*/
#estinquiry .contents,
#contact .contents,
#tenant .contents {
	padding: 0 0 60px;
}
#estinquiry .contents table,
#contact .contents table,
#tenant .contents table {
	margin-top: 1em;
}



