@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 {
	font-size:11px;
	background-color:#e6e6e6;
}
th, td, tr {
	padding:4px;
	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:80px;
    position:relative;
    z-index:1;
}
header h1 {
    width:190px;
    height:51px;
    position:absolute;
    top:15px;
    left:15px;
    background-image:url("../images/logo.png");
    background-position:left top;
    background-repeat:no-repeat;
    background-size:contain;
    text-indent:-9999px;
    z-index: 1;
}
header .s_menu {
	display:block;
	width:50px;
	height:30px;
	position:fixed;
	top:25px;
	right:20px;
	cursor:pointer;
	z-index:1;
}
header .s_menu:before {
    content:"";
    width:100%;
    height:11px;
    position:absolute;
    top:0px;
    left:0px;
    border-top:2px solid #00c381;
    border-bottom:2px solid #00c381;
    box-sizing:border-box;
}
header .s_menu span {
    display:inline-block;
    float:left;
    width:100%;
    height:100%;
    position:relative;
    text-align:center;
}
header .s_menu span:before {
    content:"MENU";
    width:100%;
    position:absolute;
    bottom:0px;
    left:0px;
    color:#00c381;
    font-size:10px;
    font-family:lato, sans-serif;
    font-weight:900;
    font-style:normal;
    line-height:1em;
}
header .s_menu.select {
    background-image:url("../images/s_menu_on.png");
    background-position:center top;
    background-repeat:no-repeat;
    background-size:43px 19px;
}
header .s_menu.select:before {
    display:none;
}
header .s_menu.select span:before {
    content:"CLOSE";
    color:#00c381;
}
header #mainnavi {
    width:100%;
    height:100%;
    position:fixed;
    top:0px;
    left:0px;
    background-color:#FFF;
    display:none;
}
header #mainnavi .navi01 {
    float:left;
    width:100%;
    position:relative;
    margin-top:100px;
}
header #mainnavi .navi01 li {
    float:left;
    width:100%;
    text-align:center;
    margin-bottom:22px;
}
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;
}
header #mainnavi .taxi {
    float:right;
    width:480px;
    position:relative;
    display:none;
}
header #mainnavi .taxi .tel {
    float:left;
    width:273px;
    position:relative;
    padding-left:30px;
    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:24px;
}
header #mainnavi .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;
}
header #mainnavi .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;
}
/******************** バナー ********************/
#banner {
    float:left;
    width:100%;
    position:relative;
    background-color:#e3e5e7;
    padding-top:40px;
    padding-bottom:25px;
    box-sizing:border-box;
}
#banner .banner_list {
    float:left;
    width:100%;
    position:relative;
    text-align:center;
    padding-left:20px;
    padding-right:20px;
    box-sizing:border-box;
}
#banner .banner_list li {
    float:left;
    width:48%;
    position:relative;
    margin-bottom:15px;
}
#banner .banner_list li:nth-child(2n) {
    float:right;
}
#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: 120px;
}
#banner .banner_list li a .image01 img {
    width: 100%;
    height: 120px;
    object-fit: cover;
}
#banner .banner_list li a h4 {
    float: left;
    width: 100%;
    position: relative;
    color: #444444;
    font-size: 14px;
    font-weight: normal;
    text-align: left;
    background-image: url("../images/icon_arrow02.png");
    background-position: left 15px center;
    background-repeat: no-repeat;
    background-size: 18px auto;
    padding-left: 40px;
    padding-top: 30px;
    padding-bottom: 30px;
    box-sizing: border-box;
    line-height: 1em;
}
/******************** フッター ********************/
footer {
    float:left;
    width:100%;
    position:relative;
    padding-top:40px;
    padding-bottom:90px;
    box-sizing:border-box;
}
footer .footer_info {
    float:left;
    width:100%;
    position:relative;
    margin-bottom:25px;
}
footer h1 {
    float:left;
    width:140px;
    height:74px;
    position:relative;
    left:50%;
    margin-left:-70px;
    background-image:url("../images/footer_logo.png");
    background-position:left top;
    background-repeat:no-repeat;
    background-size:contain;
    text-indent:-9999px;
    margin-bottom:25px;
}
footer #subnavi {
    float:left;
    width:100%;
    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;
    display:none;
}
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;
}
footer #subnavi .taxi {
    float:left;
    width:100%;
    position:relative;
    text-align:center;
}
footer #subnavi .taxi .tel {
    float:left;
    width:100%;
    position:relative;
    margin-bottom:15px;
}
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 {
    display:inline-block;
    width:206px;
    height:52px;
    position:relative;
    text-align:left;
    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;
}
footer .navi02 {
    float:left;
    width:100%;
    position:relative;
    text-align:center;
    line-height:1.4em;
}
footer .navi02 li {
    display:inline-block;
    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:left;
    width:100%;
    position:relative;
    text-align:center;
    color:#000000;
    font-size:10px;
    letter-spacing:0.25em;
}
/******************** レスポンシブ ********************/
.sp_foot {
    width:100%;
    height:65px;
    position:fixed;
    bottom:0px;
    left:0px;
    background-image:url("../images/green_back.png");
    background-position:center center;
    background-repeat:no-repeat;
    background-size:cover;
    box-shadow:0px 0px 10px 0px hsl(0deg 0% 0% / 10%);
    -webkit-box-shadow:0px 0px 10px 0px hsl(0deg 0% 0% / 10%);
    -moz-box-shadow:0px 0px 10px 0px hsl(0deg 0% 0% / 10%);
    padding-top:10px;
    box-sizing:border-box;
    z-index:1;
}
.sp_foot .tel01 {
    float:left;
    width:54%;
    height:100%;
    position:relative;
    color:#FFF;
    padding-top:3px;
    box-sizing:border-box;
}
.sp_foot .tel01 dt {
    float:left;
    width:100%;
    font-size:12px;
    line-height:1em;
}
.sp_foot .tel01 dd {
    float:left;
    width:100%;
}
.sp_foot .tel01 dd a {
    float:left;
    color:#FFF;
    font-size:18px;
    letter-spacing:0.15em;
}
.sp_foot .app {
    float:right;
    width:46%;
    height:45px;
    text-align:center;
    color:#FFF;
    font-size:14px;
    background-color:#ff5578;
    border-radius:3px;
    -webkit-border-radius:3px;
    -moz-border-radius:3px;
    padding-top:6px;
    box-sizing:border-box;
    background-image:url("../images/icon_arrow01_pink.png");
    background-position:left 10px center;
    background-repeat:no-repeat;
    background-size:14px auto;
}
.sp_foot .app span {
    display:inline-block;
    position:relative;
    padding-left:20px;
    box-sizing:border-box;
}
.pc {
    display:none;
}
/******************** 言語選択 ********************/
.gt_selector {
    display: inline-block;
    width: 175px;
    height: 52px;
    position: relative;
    left: 50%;
    margin-left: -88px;
    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;
    background-color: #ededed;
    border: none;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}