@charset "UTF-8";
/* CSS Document */
@font-face {
	font-family:CONDENSEicon;
	src:url("CONDENSEicon.eot");
}
@font-face {
    font-family:'CONDENSEicon';
    src:url('CONDENSEicon.woff') format('woff'),
        url('CONDENSEicon.otf') format('opentype');
}
body{
	color:#333333;
	font-family:source-han-sans-japanese, sans-serif;
    font-style:normal;
    font-weight:500;
	font-size:16px;
	line-height:2em;
	letter-spacing:0.05em;
	overflow-x:hidden;
    background-color:#FFF;
}
img{
	border:none;
	vertical-align:bottom;
}
a{
	color:#333333;
	text-decoration:none;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
a:hover {
	text-decoration:none;
}
ul{
	list-style-type:none;
}
hr{
	display:none;
	clear:both;
}
.left {
	float:left!important;
}
.clear_both {
	float:none!important;
}
.right {
	float:right!important;
}
table {
	background-color:#e6e6e6;
}
th, td, tr {
	padding:8px;
	text-align:center;
	background-color:#FFFFFF;
}
table .bg01 {
	background-color:#eceef0;
}
/******************** LOADING ********************/
#loading {
	height:100%;
	width:100%;
	position:fixed;
	z-index:200;
	left:0px;
	top:0px;
	background-color:#00c381;
}
#loading div {
	position:absolute;
	left:50%;
	top:50%;
	height:64px;
	width:64px;
	margin-top:-50px;
	margin-left:-50px;
	text-align:center;
}
#loading .ball-clip-rotate>div {
    border-radius:100%;
    margin:2px;
    border:2px solid #fff;
    border-bottom-color:transparent;
    height:26px;
    width:26px;
    background:0 0!important;
    display:inline-block;
    -webkit-animation:rotate .75s 0s linear infinite;
    animation:rotate .75s 0s linear infinite;
}
@keyframes rotate{
    0%{-webkit-transform:rotate(0);transform:rotate(0)}
    50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}
    100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}
}
/******************** ヘッダー ********************/
header {
    float:left;
    width:100%;
    height:124px;
    position:relative;
    z-index:1;
}
header h1 {
    width:251px;
    height:67px;
    position:absolute;
    top:35px;
    left:53px;
    background-image:url("../images/logo.png");
    background-position:left top;
    background-repeat:no-repeat;
    background-size:contain;
    text-indent:-9999px;
}
header #mainnavi {
    width: 1115px;
    position:absolute;
    top:37px;
    right: 30px;
}
header #mainnavi .navi01 {
    float:left;
    width: 520px;
    position:relative;
    border-right:1px solid #d2d2d2;
    padding-top:12px;
    padding-bottom:12px;
    box-sizing:border-box;
}
header #mainnavi .navi01 li {
    float:left;
    margin-right: 20px;
}
header #mainnavi .navi01 li:last-child {
    margin-right:0px;
}
header #mainnavi .navi01 li a {
    position:relative;
    color:#000000;
    padding-bottom:8px;
    box-sizing:border-box;
}
header #mainnavi .navi01 li a:before {
    content:"";
    width:0px;
    height:2px;
    position:absolute;
    bottom:0px;
    left:0px;
    background-color:#000000;
    transition:all 0.8s ease;
    -webkit-transition:all 0.8s ease;
}
header #mainnavi .navi01 li a:hover:before {
    width:100%;
}
header #mainnavi .taxi {
    float: left;
    width: 400px;
    position:relative;
}
header #mainnavi .taxi .tel {
    float:left;
    width: 220px;
    position:relative;
    padding-left: 20px;
    box-sizing:border-box;
}
header #mainnavi .taxi .tel dt {
    float:left;
    width:100%;
    color:#000000;
    font-size:13px;
    line-height:1.8em;
}
header #mainnavi .taxi .tel dd {
    float:left;
    width:100%;
}
header #mainnavi .taxi .tel dd a {
    float:left;
    width:100%;
    color:#ff5578;
    font-size: 22px;
}
header #mainnavi .taxi .taxi_btn {
    float: right;
    width: 170px;
    height:52px;
    position:relative;
    color:#FFF;
    font-size:17px;
    background-image:url("../images/green_back.png");
    background-position:left top;
    background-repeat:no-repeat;
    background-size:cover;
    border-radius:6px;
    -webkit-border-radius:6px;
    -moz-border-radius:6px;
    padding-top:10px;
    padding-left: 35px;
    box-sizing:border-box;
}
header #mainnavi .taxi .taxi_btn:before {
	content:"";
	width:18px;
	height:18px;
	position:absolute;
	top:18px;
	left: 10px;
	background-image:url("../images/icon_arrow01.png");
	background-position:left center;
	background-repeat:no-repeat;
	background-size:contain;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
header #mainnavi .taxi .taxi_btn:hover:before {
    left:15px;
}
/******************** バナー ********************/
#banner {
    float:left;
    width:100%;
    position:relative;
    background-color:#e3e5e7;
    padding-top: 100px;
    padding-bottom:100px;
    box-sizing:border-box;
}
#banner .banner_list {
    float:left;
    width:100%;
    position:relative;
    text-align:center;
}
#banner .banner_list li {
    display:inline-block;
    width:23%;
    max-width:276px;
    position:relative;
    margin-right:2%;
}
#banner .banner_list li:nth-child(4n) {
    margin-right:0px;
}
#banner .banner_list li a {
    float:left;
    width:100%;
    position: relative;
    background-color: #FFF;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    box-shadow: 0px 0px 10px rgb(0 0 0 / 8%);
    -webkit-box-shadow: 0px 0px 10px rgb(0 0 0 / 8%);
    -moz-box-shadow: 0px 0px 10px rgb(0 0 0 / 8%);
    overflow: hidden;
}
#banner .banner_list li a:hover {
    opacity: 0.5;
}
#banner .banner_list li a .image01 {
    float: left;
    width: 100%;
    height: 172px;
}
#banner .banner_list li a .image01 img {
    width: 100%;
    height: 172px;
    object-fit: cover;
}
#banner .banner_list li a h4 {
    float: left;
    width: 100%;
    position: relative;
    font-size: 18px;
    font-weight: normal;
    text-align: left;
    background-image: url("../images/icon_arrow02.png");
    background-position: left 30px center;
    background-repeat: no-repeat;
    background-size: 18px auto;
    padding-left: 60px;
    padding-top: 35px;
    padding-bottom: 35px;
    box-sizing: border-box;
    line-height: 1em;
}
/******************** フッター ********************/
footer {
    float:left;
    width:100%;
    position:relative;
    padding-top:80px;
    padding-bottom:80px;
    box-sizing:border-box;
}
footer .footer_info {
    float:left;
    width:100%;
    position:relative;
    margin-bottom:60px;
}
footer h1 {
    float:left;
    width:172px;
    height:91px;
    position:relative;
    background-image:url("../images/footer_logo.png");
    background-position:left top;
    background-repeat:no-repeat;
    background-size:contain;
    text-indent:-9999px;
}
footer #subnavi {
    float:right;
    width:944px;
    position:relative;
}
footer #subnavi .navi01 {
    float:left;
    width:460px;
    position:relative;
    border-right:1px solid #d2d2d2;
    padding-top:12px;
    padding-bottom:12px;
    box-sizing:border-box;
}
footer #subnavi .navi01 li {
    float:left;
    margin-right:30px;
}
footer #subnavi .navi01 li:last-child {
    margin-right:0px;
}
footer #subnavi .navi01 li a {
    position:relative;
    color:#000000;
    padding-bottom:8px;
    box-sizing:border-box;
}
footer #subnavi .navi01 li a:before {
    content:"";
    width:0px;
    height:2px;
    position:absolute;
    bottom:0px;
    left:0px;
    background-color:#000000;
    transition:all 0.8s ease;
    -webkit-transition:all 0.8s ease;
}
footer #subnavi .navi01 li a:hover:before {
    width:100%;
}
footer #subnavi .taxi {
    float:right;
    width:480px;
    position:relative;
}
footer #subnavi .taxi .tel {
    float:left;
    width:273px;
    position:relative;
    padding-left:30px;
    box-sizing:border-box;
}
footer #subnavi .taxi .tel dt {
    float:left;
    width:100%;
    color:#000000;
    font-size:13px;
    line-height:1.8em;
}
footer #subnavi .taxi .tel dd {
    float:left;
    width:100%;
}
footer #subnavi .taxi .tel dd a {
    float:left;
    width:100%;
    color:#ff5578;
    font-size:24px;
}
footer #subnavi .taxi .taxi_btn {
    float:left;
    width:206px;
    height:52px;
    position:relative;
    color:#FFF;
    font-size:17px;
    background-image:url("../images/green_back.png");
    background-position:left top;
    background-repeat:no-repeat;
    background-size:cover;
    border-radius:6px;
    -webkit-border-radius:6px;
    -moz-border-radius:6px;
    padding-top:10px;
    padding-left:50px;
    box-sizing:border-box;
}
footer #subnavi .taxi .taxi_btn:before {
	content:"";
	width:18px;
	height:18px;
	position:absolute;
	top:18px;
	left:20px;
	background-image:url("../images/icon_arrow01.png");
	background-position:left center;
	background-repeat:no-repeat;
	background-size:contain;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
footer #subnavi .taxi .taxi_btn:hover:before {
	left:25px;
}
footer .navi02 {
    float:left;
    position:relative;
}
footer .navi02 li {
    float:left;
    position:relative;
}
footer .navi02 li a {
	float:left;
	position:relative;
	color:#000000;
	font-size:13px;
	padding-right:15px;
	box-sizing:border-box;
}
footer .navi02 li:first-child a:before {
    content:"｜";
    position:absolute;
    top:0px;
    right:0px;
}
footer .copyright {
    float:right;
    position:relative;
    color:#000000;
    font-size:10px;
    letter-spacing:0.25em;
}
/******************** 言語選択 ********************/
.gt_selector {
    float: right;
    width: 175px;
    height: 52px;
    position: relative;
    color: #444444;
    font-size: 15px;
    font-family: lato, sans-serif;
    font-weight:900;
    font-style:normal;
    letter-spacing: 0.05em;
    padding-left: 8px;
    box-sizing: border-box;
    border: none;
    background-color: #ededed;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}
/******************** レスポンシブ ********************/
@media screen and (min-width:1260px) and ( max-width:1449px) {
header h1 {
    top:25px;
    left:25px;
}
header #mainnavi {
    width: 1020px;
    right:25px;
}
header #mainnavi .navi01 {
    width: 470px;
}
header #mainnavi .navi01 li {
    margin-right: 15px;
    font-size: 15px;
}
header #mainnavi .taxi {
    width: 370px;
}
header #mainnavi .taxi .tel {
    width:210px;
    padding-left:20px;
}
header #mainnavi .taxi .tel dt {
    font-size:12px;
}
header #mainnavi .taxi .tel dd a {
    font-size:20px;
}
header #mainnavi .taxi .taxi_btn {
    width: 155px;
    font-size:15px;
}
#gtranslate_selector {
    width: 160px;
}
}
@media screen and (min-width:751px) and ( max-width:1259px) {
header h1 {
    width: 190px;
    height: 51px;
    top: 32px;
    left:25px;
}
header #mainnavi {
    width: 920px;
    right:25px;
}
header #mainnavi .navi01 {
    width: 445px;
}
header #mainnavi .navi01 li {
    margin-right: 15px;
}
header #mainnavi .navi01 li a {
    font-size:14px;
}
header #mainnavi .taxi {
    width: 330px;
}
header #mainnavi .taxi .tel {
    width: 180px;
    padding-left: 15px;
}
header #mainnavi .taxi .tel dt {
    font-size:12px;
}
header #mainnavi .taxi .tel dd a {
    font-size: 18px;
}
header #mainnavi .taxi .taxi_btn {
    width: 145px;
    font-size: 13px;
    padding-left: 35px;
}
header #mainnavi .taxi .taxi_btn:before {
	left:10px;
}
#gtranslate_selector {
    width: 125px;
    font-size: 12px;
    padding-left: 5px;
}
}
@media screen and (min-width:751px) and ( max-width:1259px) {
footer #subnavi {
    width:780px;
}
footer #subnavi .navi01 {
    width:375px;
}
footer #subnavi .navi01 li {
    margin-right:20px;
}
footer #subnavi .navi01 li a {
    font-size:14px;
}
footer #subnavi .taxi {
    width:405px;
}
footer #subnavi .taxi .tel {
    width:210px;
    padding-left:20px;
}
footer #subnavi .taxi .tel dt {
    font-size:12px;
}
footer #subnavi .taxi .tel dd a {
    font-size:20px;
}
footer #subnavi .taxi .taxi_btn {
    width:195px;
    font-size:15px;
}
}
.sp_foot {
    display:none;
}
.sp {
    display:none;
}